diff options
Diffstat (limited to 'interface')
-rw-r--r-- | interface/README.md | 39 | ||||
-rw-r--r-- | interface/deploy.json | 117 | ||||
-rw-r--r-- | interface/deploy.json.license | 3 |
3 files changed, 0 insertions, 159 deletions
diff --git a/interface/README.md b/interface/README.md deleted file mode 100644 index f61a69f..0000000 --- a/interface/README.md +++ /dev/null @@ -1,39 +0,0 @@ -<!-- -SPDX-FileCopyrightText: 2020 Serokell <https://serokell.io/> - -SPDX-License-Identifier: MPL-2.0 ---> - -A flake must have a `deploy` output with the following structure: - -``` -deploy -├── <generic args> -└── nodes - ├── <NODE> - │ ├── <generic args> - │ ├── hostname - │ ├── profilesOrder - │ └── profiles - │ ├── <PROFILE> - │ │ ├── <generic args> - │ │ ├── bootstrap - │ │ ├── profilePath - │ │ └── path - │ └── <PROFILE>... - └── <NODE>... -``` - -Where `<generic args>` are all optional and can be one or multiple of: - -- `sshUser` -- user to connect as -- `user` -- user to install and activate profiles with -- `sshOpts` -- options passed to `nix copy` and `ssh` -- `fastConnection` -- whether the connection from this host to the target one is fast (if it is, don't substitute on target and copy the entire closure) [default: `false`] -- `autoRollback` -- whether to roll back when the deployment fails [default: `false`] - -A formal definition for the structure can be found in [the JSON schema](./deploy.json) - -For every profile of every node, arguments are merged with `<PROFILE>` taking precedence over `<NODE>` and `<NODE>` taking precedence over top-level. - -Certain read values can be overridden by supplying flags to the deploy binary, for example `deploy --auto-rollback true .` will enable automatic rollback for all nodes being deployed to, regardless of settings.
\ No newline at end of file diff --git a/interface/deploy.json b/interface/deploy.json deleted file mode 100644 index fa45e50..0000000 --- a/interface/deploy.json +++ /dev/null @@ -1,117 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft/2019-09/schema#", - "title": "Deploy", - "description": "Matches a correct deploy attribute of a flake", - "definitions": { - "generic_settings": { - "type": "object", - "properties": { - "sshUser": { - "type": "string" - }, - "user": { - "type": "string" - }, - "sshOpts": { - "type": "array", - "items": { - "type": "string" - } - }, - "fastConnection": { - "type": "boolean" - }, - "autoRollback": { - "type": "boolean" - }, - "magicRollback": { - "type": "boolean" - }, - "confirmTimeout": { - "type": "integer" - }, - "tempPath": { - "type": "string" - } - } - }, - "node_settings": { - "type": "object", - "properties": { - "hostname": { - "type": "string" - }, - "profilesOrder": { - "type": "array", - "items": { - "type": "string" - }, - "uniqueItems": true - }, - "profiles": { - "type": "object", - "patternProperties": { - "[A-z][A-z0-9_-]*": { - "allOf": [ - { - "$ref": "#/definitions/generic_settings" - }, - { - "$ref": "#/definitions/profile_settings" - } - ] - } - }, - "additionalProperties": false - } - }, - "required": [ - "hostname" - ] - }, - "profile_settings": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "bootstrap": { - "type": "string" - }, - "profilePath": { - "type": "string" - } - }, - "required": [ - "path" - ] - } - }, - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/generic_settings" - }, - { - "type": "object", - "properties": { - "nodes": { - "type": "object", - "patternProperties": { - "[A-z][A-z0-9_-]*": { - "allOf": [ - { - "$ref": "#/definitions/generic_settings" - }, - { - "$ref": "#/definitions/node_settings" - } - ] - } - }, - "additionalProperties": false - } - } - } - ] -}
\ No newline at end of file diff --git a/interface/deploy.json.license b/interface/deploy.json.license deleted file mode 100644 index 9e9897d..0000000 --- a/interface/deploy.json.license +++ /dev/null @@ -1,3 +0,0 @@ -SPDX-FileCopyrightText: 2020 Serokell <https://serokell.io/> - -SPDX-License-Identifier: MPL-2.0
\ No newline at end of file |