diff --git a/schema.json b/schema.json index e80ebcd552e57a0760241298b9fcad14dd8e7cf0..ab51ceb92213134ae1f420903812be584b3772b8 100644 --- a/schema.json +++ b/schema.json @@ -18,7 +18,10 @@ }, "serialisation": { "description": "How the parameters and results are serialised", - "enum": ["xml", "json-in-xml"], + "enum": [ + "xml", + "json-in-xml" + ], "type": "string" }, "software-type": { @@ -44,7 +47,10 @@ }, "serialisation": { "description": "How the parameters and results are serialised, if different from global setting, required if global setting is not provided", - "enum": ["xml", "json-in-xml"], + "enum": [ + "xml", + "json-in-xml" + ], "type": "string" }, "request": { @@ -55,11 +61,11 @@ "description": "URL, relative to Software Release base path, of a json schema for values published by instance of current software type", "type": "string" }, - "software-type" : { + "software-type": { "description": "Value to be used as software type instead of the software type id (in order to use multiple diferent forms for the same software type).", "type": "string" }, - "shared" : { + "shared": { "description": "Define if the request will request a Slave or Software Instance.", "default": "false", "type": "boolean" @@ -78,4 +84,3 @@ }, "type": "object" } - diff --git a/sla.schema.json b/sla.schema.json index 849f5f8bde4913c69e49a00d91deb0a25941a921..626c39f0ce6f9920a79833720447ccb59ae6b078 100644 --- a/sla.schema.json +++ b/sla.schema.json @@ -12,4 +12,4 @@ "type": "string" } } -} \ No newline at end of file +} diff --git a/slapos/test/metaschema.json b/slapos/test/metaschema.json index 85eb502a680ed053f5c1c86ebbf1ae78e452455d..d13c1cf292b41ab29113606f91df571a254176a3 100644 --- a/slapos/test/metaschema.json +++ b/slapos/test/metaschema.json @@ -1,150 +1,221 @@ { - "id": "http://json-schema.org/draft-04/schema#", - "$schema": "http://json-schema.org/draft-04/schema#", - "description": "Core schema meta-schema", - "definitions": { - "schemaArray": { - "type": "array", - "minItems": 1, - "items": { "$ref": "#" } + "id": "http://json-schema.org/draft-04/schema#", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Core schema meta-schema", + "definitions": { + "schemaArray": { + "type": "array", + "minItems": 1, + "items": { + "$ref": "#" + } + }, + "positiveInteger": { + "type": "integer", + "minimum": 0 + }, + "positiveIntegerDefault0": { + "allOf": [ + { + "$ref": "#/definitions/positiveInteger" }, - "positiveInteger": { - "type": "integer", - "minimum": 0 + { + "default": 0 + } + ] + }, + "simpleTypes": { + "enum": [ + "array", + "boolean", + "integer", + "null", + "number", + "object", + "string" + ] + }, + "stringArray": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1, + "uniqueItems": true + } + }, + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uri" + }, + "$schema": { + "type": "string", + "format": "uri" + }, + "title": { + "type": "string" + }, + "description": { + "type": "string" + }, + "default": {}, + "multipleOf": { + "type": "number", + "minimum": 0, + "exclusiveMinimum": true + }, + "maximum": { + "type": "number" + }, + "exclusiveMaximum": { + "type": "boolean", + "default": false + }, + "minimum": { + "type": "number" + }, + "exclusiveMinimum": { + "type": "boolean", + "default": false + }, + "maxLength": { + "$ref": "#/definitions/positiveInteger" + }, + "minLength": { + "$ref": "#/definitions/positiveIntegerDefault0" + }, + "pattern": { + "type": "string", + "format": "regex" + }, + "additionalItems": { + "anyOf": [ + { + "type": "boolean" }, - "positiveIntegerDefault0": { - "allOf": [ { "$ref": "#/definitions/positiveInteger" }, { "default": 0 } ] + { + "$ref": "#" + } + ], + "default": {} + }, + "items": { + "anyOf": [ + { + "$ref": "#" }, - "simpleTypes": { - "enum": [ "array", "boolean", "integer", "null", "number", "object", "string" ] + { + "$ref": "#/definitions/schemaArray" + } + ], + "default": {} + }, + "maxItems": { + "$ref": "#/definitions/positiveInteger" + }, + "minItems": { + "$ref": "#/definitions/positiveIntegerDefault0" + }, + "uniqueItems": { + "type": "boolean", + "default": false + }, + "maxProperties": { + "$ref": "#/definitions/positiveInteger" + }, + "minProperties": { + "$ref": "#/definitions/positiveIntegerDefault0" + }, + "required": { + "$ref": "#/definitions/stringArray" + }, + "additionalProperties": { + "anyOf": [ + { + "type": "boolean" }, - "stringArray": { - "type": "array", - "items": { "type": "string" }, - "minItems": 1, - "uniqueItems": true + { + "$ref": "#" } + ], + "default": {} + }, + "definitions": { + "type": "object", + "additionalProperties": { + "$ref": "#" + }, + "default": {} }, - "type": "object", "properties": { - "id": { - "type": "string", - "format": "uri" - }, - "$schema": { - "type": "string", - "format": "uri" - }, - "title": { - "type": "string" - }, - "description": { - "type": "string" - }, - "default": {}, - "multipleOf": { - "type": "number", - "minimum": 0, - "exclusiveMinimum": true - }, - "maximum": { - "type": "number" - }, - "exclusiveMaximum": { - "type": "boolean", - "default": false - }, - "minimum": { - "type": "number" - }, - "exclusiveMinimum": { - "type": "boolean", - "default": false - }, - "maxLength": { "$ref": "#/definitions/positiveInteger" }, - "minLength": { "$ref": "#/definitions/positiveIntegerDefault0" }, - "pattern": { - "type": "string", - "format": "regex" - }, - "additionalItems": { - "anyOf": [ - { "type": "boolean" }, - { "$ref": "#" } - ], - "default": {} - }, - "items": { - "anyOf": [ - { "$ref": "#" }, - { "$ref": "#/definitions/schemaArray" } - ], - "default": {} - }, - "maxItems": { "$ref": "#/definitions/positiveInteger" }, - "minItems": { "$ref": "#/definitions/positiveIntegerDefault0" }, - "uniqueItems": { - "type": "boolean", - "default": false - }, - "maxProperties": { "$ref": "#/definitions/positiveInteger" }, - "minProperties": { "$ref": "#/definitions/positiveIntegerDefault0" }, - "required": { "$ref": "#/definitions/stringArray" }, - "additionalProperties": { - "anyOf": [ - { "type": "boolean" }, - { "$ref": "#" } - ], - "default": {} - }, - "definitions": { - "type": "object", - "additionalProperties": { "$ref": "#" }, - "default": {} - }, - "properties": { - "type": "object", - "additionalProperties": { "$ref": "#" }, - "default": {} - }, - "patternProperties": { - "type": "object", - "additionalProperties": { "$ref": "#" }, - "default": {} - }, - "dependencies": { - "type": "object", - "additionalProperties": { - "anyOf": [ - { "$ref": "#" }, - { "$ref": "#/definitions/stringArray" } - ] - } - }, - "enum": { - "type": "array", - "minItems": 1, - "uniqueItems": true - }, - "type": { - "anyOf": [ - { "$ref": "#/definitions/simpleTypes" }, - { - "type": "array", - "items": { "$ref": "#/definitions/simpleTypes" }, - "minItems": 1, - "uniqueItems": true - } - ] - }, - "allOf": { "$ref": "#/definitions/schemaArray" }, - "anyOf": { "$ref": "#/definitions/schemaArray" }, - "oneOf": { "$ref": "#/definitions/schemaArray" }, - "not": { "$ref": "#" } + "type": "object", + "additionalProperties": { + "$ref": "#" + }, + "default": {} + }, + "patternProperties": { + "type": "object", + "additionalProperties": { + "$ref": "#" + }, + "default": {} }, "dependencies": { - "exclusiveMaximum": [ "maximum" ], - "exclusiveMinimum": [ "minimum" ] + "type": "object", + "additionalProperties": { + "anyOf": [ + { + "$ref": "#" + }, + { + "$ref": "#/definitions/stringArray" + } + ] + } + }, + "enum": { + "type": "array", + "minItems": 1, + "uniqueItems": true + }, + "type": { + "anyOf": [ + { + "$ref": "#/definitions/simpleTypes" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/simpleTypes" + }, + "minItems": 1, + "uniqueItems": true + } + ] + }, + "allOf": { + "$ref": "#/definitions/schemaArray" + }, + "anyOf": { + "$ref": "#/definitions/schemaArray" + }, + "oneOf": { + "$ref": "#/definitions/schemaArray" }, - "default": {} + "not": { + "$ref": "#" + } + }, + "dependencies": { + "exclusiveMaximum": [ + "maximum" + ], + "exclusiveMinimum": [ + "minimum" + ] + }, + "default": {} } diff --git a/slapos/test/schema.json b/slapos/test/schema.json index 27d2610fb7e57384ec8461e5c185c6d69a7a4c38..91cf5d2c17fbd20972b91d54b3eb7e1d9f10b2ed 100644 --- a/slapos/test/schema.json +++ b/slapos/test/schema.json @@ -14,7 +14,10 @@ "serialisation": { "description": "How the parameters and results are serialised", "require": true, - "enum": ["xml", "json-in-xml"], + "enum": [ + "xml", + "json-in-xml" + ], "type": "string" }, "software-type": { @@ -35,7 +38,10 @@ }, "serialisation": { "description": "How the parameters and results are serialised, if different from global setting", - "enum": ["xml", "json-in-xml"], + "enum": [ + "xml", + "json-in-xml" + ], "type": "string" }, "request": { @@ -48,11 +54,11 @@ "description": "URL, relative to Software Release base path, of a json schema for values published by instance of current software type", "type": "string" }, - "software-type" : { + "software-type": { "description": "Value to be used as software type instead of the software type id (in order to use multiple diferent forms for the same software type).", "type": "string" }, - "shared" : { + "shared": { "description": "Define if the request will request a Slave or Software Instance.", "type": "boolean" }, @@ -69,4 +75,3 @@ }, "type": "object" } - diff --git a/software/apache-frontend/instance-apache-input-schema.json b/software/apache-frontend/instance-apache-input-schema.json index b0e3694bd8c1465b2f1e8b9c8eef5f9c21d90ff8..8ac71aa24f0ae98c2470126e2463ec7ce59c62d9 100644 --- a/software/apache-frontend/instance-apache-input-schema.json +++ b/software/apache-frontend/instance-apache-input-schema.json @@ -1,101 +1,103 @@ { - "type": "object", - "$schema": "http://json-schema.org/draft-04/schema", - - "title": "Input Parameters", - "properties": { - "public-ipv4": { - "title": "Public IPv4", - "description": "Public ipv4 of the frontend (the one Apache will be indirectly listening to).", - "type": "string" - }, - "ip-read-limit": { - "title": "IPReadLimit", - "description": "Value used to set IPReadLimit Parameter for antiloris.", - "type": "integer", - "default": 10 - }, - "mpm-server-limit": { - "title": "ServerLimit", - "description": "Value used to set ServerLimit on apache configuration.", - "type": "integer", - "default": 16 - }, - "mpm-max-clients": { - "title": "MaxClients", - "description": "Value used to set MaxClients on apache configuration.", - "type": "integer", - "default": 400 - }, - "mpm-start-servers": { - "title": "StartServers", - "description": "Value used to set StartServers on apache configuration.", - "type": "integer", - "default": 3 - }, - "mpm-thread-per-child": { - "title": "ThreadsPerChild", - "description": "Value used to set ThreadsPerChild on apache configuration.", - "type": "integer", - "default": 25 - }, - "mpm-graceful-shutdown-timeout": { - "title": "ThreadsPerChild", - "description": "Value used to set ThreadsPerChild on apache configuration.", - "type": "integer", - "default": 5 - }, - "enable-http2-by-default": { - "title": "Enable HTTP2 by Default", - "description": "Use HTTP2 as default Protocol", - "type": "string", - "default": "true", - "enum": ["true", "false"] - }, - "re6st-verification-url": { - "title": "Test Verification URL", - "description": "Url to verify if the internet and/or re6stnet is working.", - "type": "string" - }, - "-frontend-authorized-slave-string": { - "title": "Authorized Slave String", - "description": "List of SOFTINST-XXX of Slaves, separated by space which is allowed to use custom configuration.", - "type": "string" - }, - "apache-key": { - "title": "Apache Key", - "description": "Apache Key", - "textarea": true, - "type": "string" - }, - "apache-certificate": { - "title": "Apache Certificate", - "description": "Apache Certificate", - "textarea": true, - "type": "string" - }, - "apache-ca-certificate": { - "title": "Apache CA Certificate", - "description": "Apache CA Certificate", - "textarea": true, - "type": "string" - }, - "domain": { - "title": "Domain", - "description": "Base Domain for create subdomains (ie.: example.com).", - "type": "string", - "pattern": "^([a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,6}$" - }, - "nginx-domain": { - "title": "Nginx Domain", - "description": "Base Domain for create subdomains (ie.: example2.com) for websocket, notebook and eventsource.", - "type": "string", - "pattern": "^([a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,6}$" - }, - "-frontend-quantity": { - "title": "Frontend Replication Quantity", - "description": "Quantity of Frontends Replicate.", - "type": "integer" - } - } + "type": "object", + "$schema": "http://json-schema.org/draft-04/schema", + "title": "Input Parameters", + "properties": { + "public-ipv4": { + "title": "Public IPv4", + "description": "Public ipv4 of the frontend (the one Apache will be indirectly listening to).", + "type": "string" + }, + "ip-read-limit": { + "title": "IPReadLimit", + "description": "Value used to set IPReadLimit Parameter for antiloris.", + "type": "integer", + "default": 10 + }, + "mpm-server-limit": { + "title": "ServerLimit", + "description": "Value used to set ServerLimit on apache configuration.", + "type": "integer", + "default": 16 + }, + "mpm-max-clients": { + "title": "MaxClients", + "description": "Value used to set MaxClients on apache configuration.", + "type": "integer", + "default": 400 + }, + "mpm-start-servers": { + "title": "StartServers", + "description": "Value used to set StartServers on apache configuration.", + "type": "integer", + "default": 3 + }, + "mpm-thread-per-child": { + "title": "ThreadsPerChild", + "description": "Value used to set ThreadsPerChild on apache configuration.", + "type": "integer", + "default": 25 + }, + "mpm-graceful-shutdown-timeout": { + "title": "ThreadsPerChild", + "description": "Value used to set ThreadsPerChild on apache configuration.", + "type": "integer", + "default": 5 + }, + "enable-http2-by-default": { + "title": "Enable HTTP2 by Default", + "description": "Use HTTP2 as default Protocol", + "type": "string", + "default": "true", + "enum": [ + "true", + "false" + ] + }, + "re6st-verification-url": { + "title": "Test Verification URL", + "description": "Url to verify if the internet and/or re6stnet is working.", + "type": "string" + }, + "-frontend-authorized-slave-string": { + "title": "Authorized Slave String", + "description": "List of SOFTINST-XXX of Slaves, separated by space which is allowed to use custom configuration.", + "type": "string" + }, + "apache-key": { + "title": "Apache Key", + "description": "Apache Key", + "textarea": true, + "type": "string" + }, + "apache-certificate": { + "title": "Apache Certificate", + "description": "Apache Certificate", + "textarea": true, + "type": "string" + }, + "apache-ca-certificate": { + "title": "Apache CA Certificate", + "description": "Apache CA Certificate", + "textarea": true, + "type": "string" + }, + "domain": { + "title": "Domain", + "description": "Base Domain for create subdomains (ie.: example.com).", + "type": "string", + "pattern": "^([a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,6}$" + }, + "nginx-domain": { + "title": "Nginx Domain", + "description": "Base Domain for create subdomains (ie.: example2.com) for websocket, notebook and eventsource.", + "type": "string", + "pattern": "^([a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,6}$" + }, + "-frontend-quantity": { + "title": "Frontend Replication Quantity", + "description": "Quantity of Frontends Replicate.", + "type": "integer" + } + } } diff --git a/software/apache-frontend/instance-output-schema.json b/software/apache-frontend/instance-output-schema.json index a1b5901a79109038914287da44a6b30da5f2026b..4aae7f7077b5b9f467eb491ce510c74c2103a291 100644 --- a/software/apache-frontend/instance-output-schema.json +++ b/software/apache-frontend/instance-output-schema.json @@ -6,31 +6,31 @@ "description": "Amount of Slaves allocated to the Instance which are deployed", "type": "integer" }, - "slave-amount": { + "slave-amount": { "description": "Total amount of Slaves allocated to the Instance (include blocked ones)", "type": "integer" }, - "reject-slave-amount": { + "reject-slave-amount": { "description": "Rejected Amount of Slaves allocated to the Instance which are not deployed", "type": "integer" }, - "rejected-slave-list": { + "rejected-slave-list": { "description": "List of slave instances references which are rejected", "type": "array" }, - "domain": { + "domain": { "description": "Base domain used by the instance", "type": "string" }, - "monitor-base-url": { + "monitor-base-url": { "description": "Base url for monitor", "type": "string" }, - "monitor-url": { + "monitor-url": { "description": "Url of Monitor (opml)", "type": "string" }, - "monitor-password": { + "monitor-password": { "description": "Password to access the monitor", "type": "string" }, diff --git a/software/apache-frontend/instance-slave-apache-input-schema.json b/software/apache-frontend/instance-slave-apache-input-schema.json index 3c50336adefcd67dc4ee9740b7e0ca2ae6267a99..44a1fef00cdb6f244334aa459345fbd684379ec5 100644 --- a/software/apache-frontend/instance-slave-apache-input-schema.json +++ b/software/apache-frontend/instance-slave-apache-input-schema.json @@ -1,7 +1,6 @@ { "type": "object", "$schema": "http://json-schema.org/draft-04/schema", - "title": "Input Parameters", "properties": { "url": { @@ -22,7 +21,6 @@ "type": "string", "pattern": "^([a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,6}$" }, - "server-alias": { "title": "Server Alias", "description": "Server Alias List separated by space", @@ -34,23 +32,26 @@ "description": "Type of slave. If redirect, the slave will redirect to the given url. If zope, the rewrite rules will be compatible with Virtual Host Monster", "type": "string", "default": "", - "enum": ["", "zope", "redirect", "notebook", "eventsource"] + "enum": [ + "", + "zope", + "redirect", + "notebook", + "eventsource" + ] }, - "path": { "title": "Backend Path", "description": "Path to proxy to in the backend", "type": "string", "default": "" }, - "default-path": { "title": "Default Path", "description": "Provide default path to redirect user to when user access / (the site root)", "type": "string", "default": "" }, - "ssl_crt": { "title": "SSL Certificate", "description": "Content of the SSL Certificate file", @@ -65,7 +66,6 @@ "textarea": true, "default": "" }, - "ssl_ca_crt": { "title": "SSL Certificate Authority's Certificate", "description": "Content of the CA certificate file", @@ -78,90 +78,101 @@ "description": "If set to true, http requests will be redirected to https", "type": "string", "default": "false", - "enum": ["false", "true"] + "enum": [ + "false", + "true" + ] }, - "ssl-proxy-verify": { "title": "Verify Backend Certificates", "description": "If set to true, Backend SSL Certificates will be checked and frontend will refuse to proxy if certificate is invalid", "type": "string", "default": "false", - "enum": ["false", "true"] + "enum": [ + "false", + "true" + ] }, - "ssl_proxy_ca_crt": { "title": "SSL Backend Authority's Certificate", "description": "Content of the SSL Certificate Authority file of the backend (to be used with ssl-proxy-verify)", "type": "string", "default": "" }, - "monitor-ipv6-test": { "title": "IPv6 Address to Monitor Packet Lost", "description": "IPv6 Address for the frontend keep monitoring with ping6 (without brackets)", "type": "string", "default": "" }, - "monitor-ipv4-test": { "title": "IPv4 Address to Monitor Packet Lost", "description": "IPv4 Address for the frontend keep monitoring with ping", "type": "string", "default": "" }, - "re6st-optimal-test": { "title": "IPv6 and IPv4 Address to test Re6st", "description": "IPv6 and IPv6 Address for the frontend test if re6st is on the optimal status (use ipv6,ipv4)", "type": "string", "default": "" }, - "enable_cache": { "title": "Enable Cache", "description": "If set to true, http caching server (Apache Traffic Server) will be used between frontend apache and backend", "type": "string", "default": "false", - "enum": ["false", "true"] + "enum": [ + "false", + "true" + ] }, - "disable-no-cache-request": { "title": "Disable 'no-cache' requests", "description": "If set to true, Cache-Control and Pragma requests headers will not be sent to cache and backend servers. This prevents clients from bypassing cache when enable_cache is true", "type": "string", "default": "false", - "enum": ["false", "true"] + "enum": [ + "false", + "true" + ] }, - "disable-via-header": { "title": "Disable 'Via' headers from cache", "description": "If set to true, Via response headers will not be sent to client", "type": "string", "default": "false", - "enum": ["false", "true"] + "enum": [ + "false", + "true" + ] }, "enable-http2": { "title": "Enable HTTP2 Protocol", "description": "Use HTTP2 Protocol for the site", "type": "string", "default": "true", - "enum": ["true", "false"] + "enum": [ + "true", + "false" + ] }, "prefer-gzip-encoding-to-backend": { "title": "Prefer gzip Encoding for Backend", "description": "If set to true, frontend will rewrite Accept-Encoding request header to simply 'gzip' for all variants of Accept-Encoding containing 'gzip', in order to maximize cache hits for resources cached with Vary: Accept-Encoding when enable_cache is used", "type": "string", "default": "false", - "enum": ["false", "true"] + "enum": [ + "false", + "true" + ] }, - "disabled-cookie-list": { "title": "Disabled Cookies", "description": "List of Cookies separated by space that will not be sent to cache and backend servers. This is especially useful to discard analytics tracking cookies when using Vary: Cookie cache headers", "type": "string", "default": "" }, - "apache_custom_http": { "title": "HTTP configuration", "description": "Raw http configuration in python template format. Your site will be rejected if you use it without notification and approval of frontend administrators", diff --git a/software/apache-frontend/instance-slave-output-schema.json b/software/apache-frontend/instance-slave-output-schema.json index ec26555895a807c7cdd39cda791444cf65fffa73..a93d867e2ea1518c4731f1165e7c5143541f427a 100644 --- a/software/apache-frontend/instance-slave-output-schema.json +++ b/software/apache-frontend/instance-slave-output-schema.json @@ -6,19 +6,19 @@ "description": "Number of nodes the slave is replicated", "type": "integer" }, - "domain": { + "domain": { "description": "Base domain used by the instance", "type": "string" }, - "url": { + "url": { "description": "Default URL provided", "type": "string" }, - "site_url": { + "site_url": { "description": "URL for HTTP access", "type": "string" }, - "secure_access": { + "secure_access": { "description": "URL for HTTP access", "type": "string" }, diff --git a/software/apache-frontend/software.cfg.json b/software/apache-frontend/software.cfg.json index 1d85e79434d738df9126f32170536ea0123f2f9a..30c118de36c4951c8a6e3a26413bebc19b4fab79 100644 --- a/software/apache-frontend/software.cfg.json +++ b/software/apache-frontend/software.cfg.json @@ -1,40 +1,40 @@ { - "name": "Apache Frontend", - "description": "Apache Frontend", - "serialisation": "xml", - "software-type": { - "custom-personal-slave": { - "title": "Custom Personal (Slave)", - "description": "Custom Personal", - "request": "instance-slave-apache-input-schema.json", - "response": "instance-output-schema.json", - "index": 1, - "software-type": "custom-personal", - "shared": true - }, - "custom-personal": { - "title": "Custom Personal", - "description": "", - "request": "instance-apache-input-schema.json", - "response": "instance-output-schema.json", - "index": 2 - }, - "default": { - "title": "Default", - "software-type": "default", - "description": "Default", - "request": "instance-apache-input-schema.json", - "response": "instance-output-schema.json", - "index": 3 - }, - "default-slave": { - "title": "Default (slave)", - "software-type": "default", - "description": "Default", - "request": "instance-slave-apache-input-schema.json", - "response": "instance-output-schema.json", - "index": 4, - "shared": true - } - } + "name": "Apache Frontend", + "description": "Apache Frontend", + "serialisation": "xml", + "software-type": { + "custom-personal-slave": { + "title": "Custom Personal (Slave)", + "description": "Custom Personal", + "request": "instance-slave-apache-input-schema.json", + "response": "instance-output-schema.json", + "index": 1, + "software-type": "custom-personal", + "shared": true + }, + "custom-personal": { + "title": "Custom Personal", + "description": "", + "request": "instance-apache-input-schema.json", + "response": "instance-output-schema.json", + "index": 2 + }, + "default": { + "title": "Default", + "software-type": "default", + "description": "Default", + "request": "instance-apache-input-schema.json", + "response": "instance-output-schema.json", + "index": 3 + }, + "default-slave": { + "title": "Default (slave)", + "software-type": "default", + "description": "Default", + "request": "instance-slave-apache-input-schema.json", + "response": "instance-output-schema.json", + "index": 4, + "shared": true + } + } } diff --git a/software/build-rina/instance-build-rina-input-schema.json b/software/build-rina/instance-build-rina-input-schema.json index aaf8181cfdb0937410fb7c2c7670616aea84d773..f2383c91e1f05d477257af0e71d0cea7f58ca751 100644 --- a/software/build-rina/instance-build-rina-input-schema.json +++ b/software/build-rina/instance-build-rina-input-schema.json @@ -7,7 +7,11 @@ "publish": { "description": "Upload built packages automatically to a Debian repository when successful.", "type": "object", - "required": ["suite", "host", "key"], + "required": [ + "suite", + "host", + "key" + ], "properties": { "suite": { "type": "string" diff --git a/software/caddy-frontend/instance-caddy-input-schema.json b/software/caddy-frontend/instance-caddy-input-schema.json index 172fd83da9c07e2fda8deaefd0816fa36eb1b5ab..5cc5015b7a262750acf2c5ee9dfc1b5687f06321 100644 --- a/software/caddy-frontend/instance-caddy-input-schema.json +++ b/software/caddy-frontend/instance-caddy-input-schema.json @@ -1,83 +1,83 @@ { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "-frontend-authorized-slave-string": { - "description": "List of SOFTINST-XXX of Slaves, separated by space which is allowed to use custom configuration.", - "title": "Authorized Slave String", - "type": "string" - }, - "-frontend-quantity": { - "description": "Quantity of Frontends Replicate.", - "title": "Frontend Replication Quantity", - "type": "integer" - }, - "apache-ca-certificate": { - "description": "[NOT IMPLEMENTED] SSL CA Certificate used by the server.", - "textarea": true, - "title": "[NOT IMPLEMENTED] SSL CA Certificate", - "type": "string" - }, - "apache-certificate": { - "description": "SSL Certificate used by the server.", - "textarea": true, - "title": "SSL Certificate", - "type": "string" - }, - "apache-key": { - "description": "SSL Key used by the server.", - "textarea": true, - "title": "SSL Key", - "type": "string" - }, - "domain": { - "description": "Base Domain for create subdomains (ie.: example.com).", - "pattern": "^([a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,6}$", - "title": "Domain", - "type": "string" - }, - "enable-http2-by-default": { - "default": "true", - "description": "Use HTTP2 as default Protocol", - "enum": [ - "true", - "false" - ], - "title": "Enable HTTP2 by Default", - "type": "string" - }, - "mpm-graceful-shutdown-timeout": { - "default": 5, - "description": "Value passed to -grace parameter of Caddy, see https://caddyserver.com/docs/cli .", - "title": "Duration of the graceful shutdown period", - "type": "integer" - }, - "nginx-domain": { - "description": "Base Domain for create subdomains (ie.: example2.com) for websocket, notebook and eventsource.", - "pattern": "^([a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,6}$", - "title": "Nginx Domain", - "type": "string" - }, - "public-ipv4": { - "description": "Public ipv4 of the frontend (the one Caddy will be indirectly listening to).", - "title": "Public IPv4", - "type": "string" - }, - "re6st-verification-url": { - "description": "Url to verify if the internet and/or re6stnet is working.", - "title": "Test Verification URL", - "type": "string" - }, - "enable-quic": { - "default": "false", - "description": "Enables QUIC - Quick UDP Internet Connections. Note that this is experimental feature, thus can result in undefined behaviour.", - "enum": [ - "true", - "false" - ], - "title": "Enable QUIC", - "type": "string" - } + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "-frontend-authorized-slave-string": { + "description": "List of SOFTINST-XXX of Slaves, separated by space which is allowed to use custom configuration.", + "title": "Authorized Slave String", + "type": "string" }, - "title": "Input Parameters", - "type": "object" + "-frontend-quantity": { + "description": "Quantity of Frontends Replicate.", + "title": "Frontend Replication Quantity", + "type": "integer" + }, + "apache-ca-certificate": { + "description": "[NOT IMPLEMENTED] SSL CA Certificate used by the server.", + "textarea": true, + "title": "[NOT IMPLEMENTED] SSL CA Certificate", + "type": "string" + }, + "apache-certificate": { + "description": "SSL Certificate used by the server.", + "textarea": true, + "title": "SSL Certificate", + "type": "string" + }, + "apache-key": { + "description": "SSL Key used by the server.", + "textarea": true, + "title": "SSL Key", + "type": "string" + }, + "domain": { + "description": "Base Domain for create subdomains (ie.: example.com).", + "pattern": "^([a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,6}$", + "title": "Domain", + "type": "string" + }, + "enable-http2-by-default": { + "default": "true", + "description": "Use HTTP2 as default Protocol", + "enum": [ + "true", + "false" + ], + "title": "Enable HTTP2 by Default", + "type": "string" + }, + "mpm-graceful-shutdown-timeout": { + "default": 5, + "description": "Value passed to -grace parameter of Caddy, see https://caddyserver.com/docs/cli .", + "title": "Duration of the graceful shutdown period", + "type": "integer" + }, + "nginx-domain": { + "description": "Base Domain for create subdomains (ie.: example2.com) for websocket, notebook and eventsource.", + "pattern": "^([a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,6}$", + "title": "Nginx Domain", + "type": "string" + }, + "public-ipv4": { + "description": "Public ipv4 of the frontend (the one Caddy will be indirectly listening to).", + "title": "Public IPv4", + "type": "string" + }, + "re6st-verification-url": { + "description": "Url to verify if the internet and/or re6stnet is working.", + "title": "Test Verification URL", + "type": "string" + }, + "enable-quic": { + "default": "false", + "description": "Enables QUIC - Quick UDP Internet Connections. Note that this is experimental feature, thus can result in undefined behaviour.", + "enum": [ + "true", + "false" + ], + "title": "Enable QUIC", + "type": "string" + } + }, + "title": "Input Parameters", + "type": "object" } diff --git a/software/caddy-frontend/instance-output-schema.json b/software/caddy-frontend/instance-output-schema.json index c7e950fcd37079a670af861e659f017b70780f71..cbad7214cd0c1e684683d373da2f59e2f5d6bafd 100644 --- a/software/caddy-frontend/instance-output-schema.json +++ b/software/caddy-frontend/instance-output-schema.json @@ -1,43 +1,43 @@ { - "$schema": "http://json-schema.org/draft-04/schema#", - "description": "Values returned by Caddy Frontend instanciation", - "properties": { - "accepted-slave-amount": { - "description": "Amount of Slaves allocated to the Instance which are deployed", - "type": "integer" - }, - "domain": { - "description": "Base domain used by the instance", - "type": "string" - }, - "monitor-base-url": { - "description": "Base url for monitor", - "type": "string" - }, - "monitor-password": { - "description": "Password to access the monitor", - "type": "string" - }, - "monitor-url": { - "description": "Url of Monitor (opml)", - "type": "string" - }, - "monitor-user": { - "description": "User to access the monitor", - "type": "string" - }, - "reject-slave-amount": { - "description": "Rejected Amount of Slaves allocated to the Instance which are not deployed", - "type": "integer" - }, - "rejected-slave-list": { - "description": "List of slave instances references which are rejected", - "type": "array" - }, - "slave-amount": { - "description": "Total amount of Slaves allocated to the Instance (include blocked ones)", - "type": "integer" - } - }, - "type": "object" + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Values returned by Caddy Frontend instanciation", + "properties": { + "accepted-slave-amount": { + "description": "Amount of Slaves allocated to the Instance which are deployed", + "type": "integer" + }, + "domain": { + "description": "Base domain used by the instance", + "type": "string" + }, + "monitor-base-url": { + "description": "Base url for monitor", + "type": "string" + }, + "monitor-password": { + "description": "Password to access the monitor", + "type": "string" + }, + "monitor-url": { + "description": "Url of Monitor (opml)", + "type": "string" + }, + "monitor-user": { + "description": "User to access the monitor", + "type": "string" + }, + "reject-slave-amount": { + "description": "Rejected Amount of Slaves allocated to the Instance which are not deployed", + "type": "integer" + }, + "rejected-slave-list": { + "description": "List of slave instances references which are rejected", + "type": "array" + }, + "slave-amount": { + "description": "Total amount of Slaves allocated to the Instance (include blocked ones)", + "type": "integer" + } + }, + "type": "object" } diff --git a/software/caddy-frontend/instance-slave-caddy-input-schema.json b/software/caddy-frontend/instance-slave-caddy-input-schema.json index 4aba81cb3872689a965bc8720ca7ef1b799d7fc5..fccb0b9436898355b0a7e2f891267acebdb11d0d 100644 --- a/software/caddy-frontend/instance-slave-caddy-input-schema.json +++ b/software/caddy-frontend/instance-slave-caddy-input-schema.json @@ -1,203 +1,203 @@ { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "caddy_custom_http": { - "default": "", - "description": "Raw http configuration in python template format. Your site will be rejected if you use it without notification and approval of frontend administrators", - "textarea": true, - "title": "HTTP configuration", - "type": "string" - }, - "caddy_custom_https": { - "default": "", - "description": "Raw https configuration in python template format. Your site will be rejected if you use it without notification and approval of frontend administrators", - "textarea": true, - "title": "HTTPS configuration", - "type": "string" - }, - "custom_domain": { - "description": "Custom Domain to use for the website", - "pattern": "^([a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,6}$", - "title": "Custom Domain", - "type": "string" - }, - "default-path": { - "default": "", - "description": "Provide default path to redirect user to when user access / (the site root)", - "title": "type:zope Default Path", - "type": "string" - }, - "disable-no-cache-request": { - "default": "false", - "description": "If set to true, Cache-Control and Pragma requests headers will not be sent to cache and backend servers. This prevents clients from bypassing cache when enable_cache is true", - "enum": [ - "false", - "true" - ], - "title": "enable_cache: Disable 'no-cache' requests", - "type": "string" - }, - "disable-via-header": { - "default": "false", - "description": "If set to true, Via response headers will not be sent to client", - "enum": [ - "false", - "true" - ], - "title": "enable_cache: Disable 'Via' headers from cache", - "type": "string" - }, - "disabled-cookie-list": { - "default": "", - "description": "[NOT Implemented] List of Cookies separated by space that will not be sent to cache and backend servers. This is especially useful to discard analytics tracking cookies when using Vary: Cookie cache headers", - "title": "[NOT Implemented] Disabled Cookies", - "type": "string" - }, - "enable-http2": { - "default": "true", - "description": "Use HTTP2 Protocol for the site", - "enum": [ - "true", - "false" - ], - "title": "Enable HTTP2 Protocol", - "type": "string" - }, - "enable_cache": { - "default": "false", - "description": "If set to true, http caching server (Apache Traffic Server) will be used between frontend Caddy and backend", - "enum": [ - "false", - "true" - ], - "title": "Enable Cache", - "type": "string" - }, - "https-only": { - "default": "false", - "description": "If set to true, http requests will be redirected to https", - "enum": [ - "false", - "true" - ], - "title": "HTTPS Only", - "type": "string" - }, - "https-url": { - "description": "HTTPS Url of the backend if it is diferent from url parameter", - "pattern": "^(http|https|ftp)://", - "title": "HTTPS Backend URL", - "type": "string" - }, - "monitor-ipv4-test": { - "default": "", - "description": "IPv4 Address for the frontend keep monitoring with ping", - "title": "IPv4 Address to Monitor Packet Lost", - "type": "string" - }, - "monitor-ipv6-test": { - "default": "", - "description": "IPv6 Address for the frontend keep monitoring with ping6 (without brackets)", - "title": "IPv6 Address to Monitor Packet Lost", - "type": "string" - }, - "path": { - "default": "", - "description": "Path to proxy to in the backend", - "title": "type:zope Backend Path", - "type": "string" - }, - "prefer-gzip-encoding-to-backend": { - "default": "false", - "description": "[NOT Implemented] If set to true, frontend will rewrite Accept-Encoding request header to simply 'gzip' for all variants of Accept-Encoding containing 'gzip', in order to maximize cache hits for resources cached with Vary: Accept-Encoding when enable_cache is used", - "enum": [ - "false", - "true" - ], - "title": "[NOT Implemented] Prefer gzip Encoding for Backend", - "type": "string" - }, - "re6st-optimal-test": { - "default": "", - "description": "IPv6 and IPv6 Address for the frontend test if re6st is on the optimal status (use ipv6,ipv4)", - "title": "IPv6 and IPv4 Address to test Re6st", - "type": "string" - }, - "server-alias": { - "default": "", - "description": "Server Alias List separated by space", - "title": "Server Alias", - "type": "string" - }, - "ssl-proxy-verify": { - "default": "false", - "description": "[NOT Implemented] If set to true, Backend SSL Certificates will be checked and frontend will refuse to proxy if certificate is invalid", - "enum": [ - "false", - "true" - ], - "title": "[NOT Implemented] Verify Backend Certificates", - "type": "string" - }, - "ssl_ca_crt": { - "default": "", - "description": "[NOT Implemented] Content of the CA certificate file", - "textarea": true, - "title": "[NOT Implemented] SSL Certificate Authority's Certificate", - "type": "string" - }, - "ssl_crt": { - "default": "", - "description": "Content of the SSL Certificate file", - "textarea": true, - "title": "SSL Certificate", - "type": "string" - }, - "ssl_key": { - "default": "", - "description": "Content of the SSL Key file", - "textarea": true, - "title": "SSL Key", - "type": "string" - }, - "ssl_proxy_ca_crt": { - "default": "", - "description": "[NOT Implemented] Content of the SSL Certificate Authority file of the backend (to be used with ssl-proxy-verify)", - "title": "[NOT Implemented] SSL Backend Authority's Certificate", - "type": "string" - }, - "type": { - "default": "", - "description": "Type of slave. If redirect, the slave will redirect to the given url. If zope, the rewrite rules will be compatible with Virtual Host Monster. Implemented are default, zope and redirect, not implemneted are notebook and eventsource.", - "enum": [ - "", - "zope", - "redirect", - "notebook", - "eventsource" - ], - "title": "Backend Type", - "type": "string" - }, - "url": { - "description": "Url of the backend", - "pattern": "^(http|https|ftp)://", - "title": "Backend URL", - "type": "string" - }, - "virtualhostroot-http-port": { - "default": 80, - "description": "Port where http requests to frontend will be redirected.", - "title": "type:zope virtualhostroot-http-port", - "type": "integer" - }, - "virtualhostroot-https-port": { - "default": 443, - "description": "Port where https requests to frontend will be redirected.", - "title": "type:zope virtualhostroot-https-port", - "type": "integer" - } - }, - "title": "Input Parameters", - "type": "object" + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "caddy_custom_http": { + "default": "", + "description": "Raw http configuration in python template format. Your site will be rejected if you use it without notification and approval of frontend administrators", + "textarea": true, + "title": "HTTP configuration", + "type": "string" + }, + "caddy_custom_https": { + "default": "", + "description": "Raw https configuration in python template format. Your site will be rejected if you use it without notification and approval of frontend administrators", + "textarea": true, + "title": "HTTPS configuration", + "type": "string" + }, + "custom_domain": { + "description": "Custom Domain to use for the website", + "pattern": "^([a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,6}$", + "title": "Custom Domain", + "type": "string" + }, + "default-path": { + "default": "", + "description": "Provide default path to redirect user to when user access / (the site root)", + "title": "type:zope Default Path", + "type": "string" + }, + "disable-no-cache-request": { + "default": "false", + "description": "If set to true, Cache-Control and Pragma requests headers will not be sent to cache and backend servers. This prevents clients from bypassing cache when enable_cache is true", + "enum": [ + "false", + "true" + ], + "title": "enable_cache: Disable 'no-cache' requests", + "type": "string" + }, + "disable-via-header": { + "default": "false", + "description": "If set to true, Via response headers will not be sent to client", + "enum": [ + "false", + "true" + ], + "title": "enable_cache: Disable 'Via' headers from cache", + "type": "string" + }, + "disabled-cookie-list": { + "default": "", + "description": "[NOT Implemented] List of Cookies separated by space that will not be sent to cache and backend servers. This is especially useful to discard analytics tracking cookies when using Vary: Cookie cache headers", + "title": "[NOT Implemented] Disabled Cookies", + "type": "string" + }, + "enable-http2": { + "default": "true", + "description": "Use HTTP2 Protocol for the site", + "enum": [ + "true", + "false" + ], + "title": "Enable HTTP2 Protocol", + "type": "string" + }, + "enable_cache": { + "default": "false", + "description": "If set to true, http caching server (Apache Traffic Server) will be used between frontend Caddy and backend", + "enum": [ + "false", + "true" + ], + "title": "Enable Cache", + "type": "string" + }, + "https-only": { + "default": "false", + "description": "If set to true, http requests will be redirected to https", + "enum": [ + "false", + "true" + ], + "title": "HTTPS Only", + "type": "string" + }, + "https-url": { + "description": "HTTPS Url of the backend if it is diferent from url parameter", + "pattern": "^(http|https|ftp)://", + "title": "HTTPS Backend URL", + "type": "string" + }, + "monitor-ipv4-test": { + "default": "", + "description": "IPv4 Address for the frontend keep monitoring with ping", + "title": "IPv4 Address to Monitor Packet Lost", + "type": "string" + }, + "monitor-ipv6-test": { + "default": "", + "description": "IPv6 Address for the frontend keep monitoring with ping6 (without brackets)", + "title": "IPv6 Address to Monitor Packet Lost", + "type": "string" + }, + "path": { + "default": "", + "description": "Path to proxy to in the backend", + "title": "type:zope Backend Path", + "type": "string" + }, + "prefer-gzip-encoding-to-backend": { + "default": "false", + "description": "[NOT Implemented] If set to true, frontend will rewrite Accept-Encoding request header to simply 'gzip' for all variants of Accept-Encoding containing 'gzip', in order to maximize cache hits for resources cached with Vary: Accept-Encoding when enable_cache is used", + "enum": [ + "false", + "true" + ], + "title": "[NOT Implemented] Prefer gzip Encoding for Backend", + "type": "string" + }, + "re6st-optimal-test": { + "default": "", + "description": "IPv6 and IPv6 Address for the frontend test if re6st is on the optimal status (use ipv6,ipv4)", + "title": "IPv6 and IPv4 Address to test Re6st", + "type": "string" + }, + "server-alias": { + "default": "", + "description": "Server Alias List separated by space", + "title": "Server Alias", + "type": "string" + }, + "ssl-proxy-verify": { + "default": "false", + "description": "[NOT Implemented] If set to true, Backend SSL Certificates will be checked and frontend will refuse to proxy if certificate is invalid", + "enum": [ + "false", + "true" + ], + "title": "[NOT Implemented] Verify Backend Certificates", + "type": "string" + }, + "ssl_ca_crt": { + "default": "", + "description": "[NOT Implemented] Content of the CA certificate file", + "textarea": true, + "title": "[NOT Implemented] SSL Certificate Authority's Certificate", + "type": "string" + }, + "ssl_crt": { + "default": "", + "description": "Content of the SSL Certificate file", + "textarea": true, + "title": "SSL Certificate", + "type": "string" + }, + "ssl_key": { + "default": "", + "description": "Content of the SSL Key file", + "textarea": true, + "title": "SSL Key", + "type": "string" + }, + "ssl_proxy_ca_crt": { + "default": "", + "description": "[NOT Implemented] Content of the SSL Certificate Authority file of the backend (to be used with ssl-proxy-verify)", + "title": "[NOT Implemented] SSL Backend Authority's Certificate", + "type": "string" + }, + "type": { + "default": "", + "description": "Type of slave. If redirect, the slave will redirect to the given url. If zope, the rewrite rules will be compatible with Virtual Host Monster. Implemented are default, zope and redirect, not implemneted are notebook and eventsource.", + "enum": [ + "", + "zope", + "redirect", + "notebook", + "eventsource" + ], + "title": "Backend Type", + "type": "string" + }, + "url": { + "description": "Url of the backend", + "pattern": "^(http|https|ftp)://", + "title": "Backend URL", + "type": "string" + }, + "virtualhostroot-http-port": { + "default": 80, + "description": "Port where http requests to frontend will be redirected.", + "title": "type:zope virtualhostroot-http-port", + "type": "integer" + }, + "virtualhostroot-https-port": { + "default": 443, + "description": "Port where https requests to frontend will be redirected.", + "title": "type:zope virtualhostroot-https-port", + "type": "integer" + } + }, + "title": "Input Parameters", + "type": "object" } diff --git a/software/caddy-frontend/instance-slave-output-schema.json b/software/caddy-frontend/instance-slave-output-schema.json index 3423d59463264477bf9d222e967642ab1a3959b2..32a324f80487692b32cd20628e9568aba2eb4fc9 100644 --- a/software/caddy-frontend/instance-slave-output-schema.json +++ b/software/caddy-frontend/instance-slave-output-schema.json @@ -1,35 +1,35 @@ { - "$schema": "http://json-schema.org/draft-04/schema#", - "description": "Values returned by Caddy Frontend instanciation", - "properties": { - "domain": { - "description": "Base domain used by the instance", - "type": "string" - }, - "log-access-url": { - "description": "List of URLs to access logs", - "type": "array" - }, - "public-ipv4": { - "description": "Public IPv4 to be included on DNS", - "type": "string" - }, - "replication_number": { - "description": "Number of nodes the slave is replicated", - "type": "integer" - }, - "secure_access": { - "description": "URL for HTTP access", - "type": "string" - }, - "site_url": { - "description": "URL for HTTP access", - "type": "string" - }, - "url": { - "description": "Default URL provided", - "type": "string" - } + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Values returned by Caddy Frontend instanciation", + "properties": { + "domain": { + "description": "Base domain used by the instance", + "type": "string" }, - "type": "object" + "log-access-url": { + "description": "List of URLs to access logs", + "type": "array" + }, + "public-ipv4": { + "description": "Public IPv4 to be included on DNS", + "type": "string" + }, + "replication_number": { + "description": "Number of nodes the slave is replicated", + "type": "integer" + }, + "secure_access": { + "description": "URL for HTTP access", + "type": "string" + }, + "site_url": { + "description": "URL for HTTP access", + "type": "string" + }, + "url": { + "description": "Default URL provided", + "type": "string" + } + }, + "type": "object" } diff --git a/software/caddy-frontend/software.cfg.json b/software/caddy-frontend/software.cfg.json index c34099b8a0fd2ab8b934f5dfa7e9e3181ebd3087..350fd46e33673df6a6548307af0a0d673b891234 100644 --- a/software/caddy-frontend/software.cfg.json +++ b/software/caddy-frontend/software.cfg.json @@ -1,40 +1,40 @@ { - "description": "Caddy Frontend", - "name": "Caddy Frontend", - "serialisation": "xml", - "software-type": { - "custom-personal": { - "description": "", - "index": 2, - "request": "instance-caddy-input-schema.json", - "response": "instance-output-schema.json", - "title": "Custom Personal" - }, - "custom-personal-slave": { - "description": "Custom Personal", - "index": 1, - "request": "instance-slave-caddy-input-schema.json", - "response": "instance-output-schema.json", - "shared": true, - "software-type": "custom-personal", - "title": "Custom Personal (Slave)" - }, - "default": { - "description": "Default", - "index": 3, - "request": "instance-caddy-input-schema.json", - "response": "instance-output-schema.json", - "software-type": "default", - "title": "Default" - }, - "default-slave": { - "description": "Default", - "index": 4, - "request": "instance-slave-caddy-input-schema.json", - "response": "instance-output-schema.json", - "shared": true, - "software-type": "default", - "title": "Default (slave)" - } + "description": "Caddy Frontend", + "name": "Caddy Frontend", + "serialisation": "xml", + "software-type": { + "custom-personal": { + "description": "", + "index": 2, + "request": "instance-caddy-input-schema.json", + "response": "instance-output-schema.json", + "title": "Custom Personal" + }, + "custom-personal-slave": { + "description": "Custom Personal", + "index": 1, + "request": "instance-slave-caddy-input-schema.json", + "response": "instance-output-schema.json", + "shared": true, + "software-type": "custom-personal", + "title": "Custom Personal (Slave)" + }, + "default": { + "description": "Default", + "index": 3, + "request": "instance-caddy-input-schema.json", + "response": "instance-output-schema.json", + "software-type": "default", + "title": "Default" + }, + "default-slave": { + "description": "Default", + "index": 4, + "request": "instance-slave-caddy-input-schema.json", + "response": "instance-output-schema.json", + "shared": true, + "software-type": "default", + "title": "Default (slave)" } + } } diff --git a/software/caucase/instance-caucase-input-schema.json b/software/caucase/instance-caucase-input-schema.json index 3ed2984dda3de9e9817397673e146ed140871cb6..309639180f1ad1beb762579e653b0e0f5809e7de 100644 --- a/software/caucase/instance-caucase-input-schema.json +++ b/software/caucase/instance-caucase-input-schema.json @@ -5,22 +5,28 @@ "title": "Input Parameters", "properties": { "server-port": { - "allOf": [{ - "$ref": "#/definitions/tcpv4port" - }, { - "title": "http port to use", - "description": "Caucase http port to use.", - "default": 8009 - }] + "allOf": [ + { + "$ref": "#/definitions/tcpv4port" + }, + { + "title": "http port to use", + "description": "Caucase http port to use.", + "default": 8009 + } + ] }, "server-https-port": { - "allOf": [{ - "$ref": "#/definitions/tcpv4port" - }, { - "title": "https port to use", - "description": "Caucase port to use for https connexion.", - "default": 8010 - }] + "allOf": [ + { + "$ref": "#/definitions/tcpv4port" + }, + { + "title": "https port to use", + "description": "Caucase port to use for https connexion.", + "default": 8010 + } + ] }, "external-url": { "title": "External http url", @@ -73,4 +79,4 @@ "type": "integer" } } -} \ No newline at end of file +} diff --git a/software/caucase/software.cfg.json b/software/caucase/software.cfg.json index 44c4af1de0f0613c2271d11def68692a074fe3b8..77f33667a37282d887dd7ae979fa6ea7074361fd 100644 --- a/software/caucase/software.cfg.json +++ b/software/caucase/software.cfg.json @@ -1,14 +1,14 @@ { - "name": "Caucase", - "description": "Caucase certificate authority", - "serialisation": "json-in-xml", - "software-type": { - "default": { - "title": "Default", - "description": "Single caucase instance", - "request": "instance-caucase-input-schema.json", - "response": "instance-caucase-output-schema.json", - "index": 0 - } + "name": "Caucase", + "description": "Caucase certificate authority", + "serialisation": "json-in-xml", + "software-type": { + "default": { + "title": "Default", + "description": "Single caucase instance", + "request": "instance-caucase-input-schema.json", + "response": "instance-caucase-output-schema.json", + "index": 0 } -} \ No newline at end of file + } +} diff --git a/software/cdn-me/instance-cdn-me-input-schema.json b/software/cdn-me/instance-cdn-me-input-schema.json index b593e6f079aa8441ace0a378c662bb736350ddc4..64f6c8166412489dc8859d10010370ed88e33ca6 100644 --- a/software/cdn-me/instance-cdn-me-input-schema.json +++ b/software/cdn-me/instance-cdn-me-input-schema.json @@ -1,7 +1,6 @@ { "type": "object", "$schema": "http://json-schema.org/draft-04/schema", - "title": "Input Parameters", "properties": { "port": { @@ -16,36 +15,35 @@ "type": "string", "pattern": "^([a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,6}$" }, - "frontend-server-alias": { "title": "Server Alias", "description": "Server Alias List separated by space", "type": "string", "default": "" }, - "frontend-type": { "title": "Backend Type", "description": "Type of slave. If redirect, the slave will redirect to the given url. If zope, the rewrite rules will be compatible with Virtual Host Monster", "type": "string", "default": "", - "enum": ["", "zope", "redirect"] + "enum": [ + "", + "zope", + "redirect" + ] }, - "frontend-path": { "title": "Backend Path", "description": "Path to proxy to in the backend", "type": "string", "default": "" }, - "frontend-default-path": { "title": "Default Path", "description": "Provide default path to redirect user to", "type": "string", "default": "" }, - "frontend-ssl_crt": { "title": "SSL Certificate", "description": "SSL Certificate", @@ -60,7 +58,6 @@ "textarea": true, "default": "" }, - "frontend-ssl_ca_crt": { "title": "SSL Certificate Authority's Certificate", "description": "SSL Key", @@ -74,14 +71,12 @@ "type": "boolean", "default": false }, - "frontend-ssl-proxy-verify": { "title": "Verify Backend Certificates", "description": "If set to true, Backend Certificates are checked", "type": "boolean", "default": false }, - "frontend-ssl_proxy_ca_crt": { "title": "SSL Backend Authority's Certificate", "description": "SSL Certificate Authority of the backen (to be used with ssl-proxy-verify)", @@ -89,35 +84,30 @@ "textarea": true, "default": "" }, - "frontend-enable_cache": { "title": "Enable Cache", "description": "If set to true, the cache is used", "type": "boolean", "default": false }, - "frontend-disable-no-cache-request": { "title": "Disable 'no-cache' requests", "description": "If set to true, no-cache control headers will be disabled", "type": "boolean", "default": false }, - "frontend-disable-via-header": { "title": "Disable 'Via' headers from cache", "description": "If set to true, via headers will be disabled", "type": "boolean", "default": false }, - "frontend-prefer-gzip-encoding-to-backend": { "title": "Prefer gzip Encoding for Backend", "description": "If set to true, if a request is made with accept encoding 'gzip', only that one will be transferred to the backend", "type": "boolean", "default": false }, - "frontend-disabled-cookie-list": { "title": "Disabled Cookies", "description": "List of Cookies separated by space that will not be sent to the backend", diff --git a/software/cdn-me/instance-cdn-me-simplified-input-schema.json b/software/cdn-me/instance-cdn-me-simplified-input-schema.json index b2afd163643533206a4ed66e7889ed2c47e90374..22aa3163c9ef6bd6dd6c1177a20dd506cf833dfc 100644 --- a/software/cdn-me/instance-cdn-me-simplified-input-schema.json +++ b/software/cdn-me/instance-cdn-me-simplified-input-schema.json @@ -1,7 +1,6 @@ { "type": "object", "$schema": "http://json-schema.org/draft-04/schema", - "title": "Input Parameters", "properties": { "port": { @@ -16,43 +15,41 @@ "type": "string", "pattern": "^([a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,6}$" }, - "frontend-server-alias": { "title": "Server Alias", "description": "Server Alias List separated by space", "type": "string", "default": "" }, - "frontend-type": { "title": "Backend Type", "description": "Type of slave. If redirect, the slave will redirect to the given url. If zope, the rewrite rules will be compatible with Virtual Host Monster", "type": "string", "default": "", - "enum": ["", "zope", "redirect"] + "enum": [ + "", + "zope", + "redirect" + ] }, - "frontend-path": { "title": "Backend Path", "description": "Path to proxy to in the backend", "type": "string", "default": "" }, - "frontend-default-path": { "title": "Default Path", "description": "Provide default path to redirect user to", "type": "string", "default": "" }, - "frontend-https-only": { "title": "HTTPS Only", "description": "If set to true, http request are redirect to https", "type": "boolean", "default": false }, - "frontend-enable_cache": { "title": "Enable Cache", "description": "If set to true, the cache is used", diff --git a/software/cdn-me/software.cfg.json b/software/cdn-me/software.cfg.json index 766a2a6bf841f7a1608923232d71e0df1f5226d0..c9fb363e8c031635579ae1f538178a17502f2541 100644 --- a/software/cdn-me/software.cfg.json +++ b/software/cdn-me/software.cfg.json @@ -1,22 +1,22 @@ { - "name": "CDN ME", - "description": "CDN ME", - "serialisation": "xml", - "software-type": { - "default": { - "title": "Default", - "description": "Re6st registry", - "request": "instance-cdn-me-simplified-input-schema.json", - "response": "instance-cdn-me-output-schema.json", - "index": 0 - }, - "default-advanced": { - "title": "Default (Advanced Form)", - "software-type": "default", - "description": "Re6st registry", - "request": "instance-cdn-me-input-schema.json", - "response": "instance-cdn-me-output-schema.json", - "index": 1 - } - } + "name": "CDN ME", + "description": "CDN ME", + "serialisation": "xml", + "software-type": { + "default": { + "title": "Default", + "description": "Re6st registry", + "request": "instance-cdn-me-simplified-input-schema.json", + "response": "instance-cdn-me-output-schema.json", + "index": 0 + }, + "default-advanced": { + "title": "Default (Advanced Form)", + "software-type": "default", + "description": "Re6st registry", + "request": "instance-cdn-me-input-schema.json", + "response": "instance-cdn-me-output-schema.json", + "index": 1 + } + } } diff --git a/software/cloudooo/instance-cloudooo-input-schema.json b/software/cloudooo/instance-cloudooo-input-schema.json index e5daf23aac0e6f8615245efa4035c0e0b0e6902e..f463a934fe38234019d44546dc066d8cce203d5c 100644 --- a/software/cloudooo/instance-cloudooo-input-schema.json +++ b/software/cloudooo/instance-cloudooo-input-schema.json @@ -3,12 +3,15 @@ "extends": "./schema-definitions.json#", "properties": { "tcpv4-port": { - "allOf": [{ - "$ref": "#/definitions/tcpv4port" - }, { - "description": "Start allocating ports at this value, going upward", - "default": 23000 - }] + "allOf": [ + { + "$ref": "#/definitions/tcpv4port" + }, + { + "description": "Start allocating ports at this value, going upward", + "default": 23000 + } + ] }, "backend-count": { "description": "Number of backend cloudooo instances", diff --git a/software/cloudooo/software.cfg.json b/software/cloudooo/software.cfg.json index 218f53bbefa51e60017483fcfba89b875953a6c6..0198e034f6d53aaa83060458ad8695fb0f61a7f4 100644 --- a/software/cloudooo/software.cfg.json +++ b/software/cloudooo/software.cfg.json @@ -1,14 +1,14 @@ { - "name": "cloudooo", - "description": "Clusterised cloudooo", - "serialisation": "xml", - "software-type": { - "default": { - "title": "Default", - "description": "Cloudooo", - "request": "instance-cloudooo-input-schema.json", - "response": "instance-cloudooo-output-schema.json", - "index": 0 - } + "name": "cloudooo", + "description": "Clusterised cloudooo", + "serialisation": "xml", + "software-type": { + "default": { + "title": "Default", + "description": "Cloudooo", + "request": "instance-cloudooo-input-schema.json", + "response": "instance-cloudooo-output-schema.json", + "index": 0 } + } } diff --git a/software/erp5/instance-erp5-input-schema.json b/software/erp5/instance-erp5-input-schema.json index de6f9ccb5e5d3019340fb5e45891b57920a5f23f..ffccb44000fb02a5ed27988dfb6b7b067d48f0d1 100644 --- a/software/erp5/instance-erp5-input-schema.json +++ b/software/erp5/instance-erp5-input-schema.json @@ -7,7 +7,9 @@ "description": "Where to request instances. Each key is a query string for criterions (e.g. \"computer_guid=foo\"), and each value is a list of partition references (note: Zope partitions reference must be prefixed with \"zope-\").", "additionalProperties": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "uniqueItems": true }, "type": "object" @@ -89,22 +91,24 @@ "default": "RootSoftwareInstance", "type": "object" }, - "virtualhostroot-http-port": { - "description": "Front-end slave http port. Port where http requests to frontend will be redirected.", - "default": 80, - "type": "integer" - }, - "virtualhostroot-https-port": { - "description": "Front-end slave https port. Port where https requests to frontend will be redirected.", - "default": 443, - "type": "integer" - } + "virtualhostroot-http-port": { + "description": "Front-end slave http port. Port where http requests to frontend will be redirected.", + "default": 80, + "type": "integer" + }, + "virtualhostroot-https-port": { + "description": "Front-end slave https port. Port where https requests to frontend will be redirected.", + "default": 443, + "type": "integer" + } }, "type": "object" }, "zope-partition-dict": { "description": "Zope layout definition", - "default": {"1": {}}, + "default": { + "1": {} + }, "patternProperties": { ".*": { "additionalProperties": false, @@ -160,12 +164,15 @@ "type": "string" }, "port-base": { - "allOf": [{ - "$ref": "#/definitions/tcpv4port" - }, { - "description": "Start allocating ports at this value. Useful if one needs to make several partitions share the same port range (ie, several partitions bound to a single address)", - "default": 2200 - }] + "allOf": [ + { + "$ref": "#/definitions/tcpv4port" + }, + { + "description": "Start allocating ports at this value. Useful if one needs to make several partitions share the same port range (ie, several partitions bound to a single address)", + "default": 2200 + } + ] } }, "type": "object" @@ -215,11 +222,14 @@ "description": "Common settings ZEO servers", "properties": { "tcpv4-port": { - "allOf": [{ - "$ref": "#/definitions/tcpv4port" - }, { - "description": "Start allocating ports at this value, going upward" - }] + "allOf": [ + { + "$ref": "#/definitions/tcpv4port" + }, + { + "description": "Start allocating ports at this value, going upward" + } + ] }, "backup-periodicity": { "description": "When to backup, specified in the same format as for systemd.time(7) calendar events (years & seconds not supported, DoW & DoM can not be combined). Enter 'never' to disable backups.", @@ -237,7 +247,9 @@ "zodb": { "description": "Zope Object DataBase mountpoints. See https://github.com/zopefoundation/ZODB/blob/3.10/src/ZODB/component.xml for extra options.", "items": { - "required": ["type"], + "required": [ + "type" + ], "properties": { "name": { "description": "Database name", @@ -251,14 +263,21 @@ }, "type": { "description": "Storage type", - "enum": ["zeo", "neo"], + "enum": [ + "zeo", + "neo" + ], "type": "string" }, "server": { "description": "Instantiate a server. If missing, 'storage-dict' must contain the necessary properties to mount the ZODB. For ZEO, the partition reference is 'zodb'. For NEO, they are 'neo-0', 'neo-1', ...", "anyOf": [ - {"$ref": "./instance-zeo-schema.json"}, - {"$ref": "../neoppod/instance-neo-input-schema.json"} + { + "$ref": "./instance-zeo-schema.json" + }, + { + "$ref": "../neoppod/instance-neo-input-schema.json" + } ] }, "storage-dict": { @@ -270,11 +289,15 @@ "type": "boolean" } }, - "additionalProperties": {"type": "string"}, + "additionalProperties": { + "type": "string" + }, "type": "object" } }, - "additionalProperties": {"type": "string"}, + "additionalProperties": { + "type": "string" + }, "type": "object" }, "type": "array" @@ -311,10 +334,10 @@ "format": "uri" }, "crl-update-periodicity": { - "title": "Periodicity of CRL update", - "description": "Periodicity of CRL update, in cron format. The CRL will be downloaded from caucase URL and the new content will be saved if there was a change. Everytime a new CRL is writen, Apache reload will be called.", - "type": "string", - "default": "0 0 * * *" + "title": "Periodicity of CRL update", + "description": "Periodicity of CRL update, in cron format. The CRL will be downloaded from caucase URL and the new content will be saved if there was a change. Everytime a new CRL is writen, Apache reload will be called.", + "type": "string", + "default": "0 0 * * *" } }, "additionalProperties": { diff --git a/software/erp5/instance-erp5-output-schema.json b/software/erp5/instance-erp5-output-schema.json index 316d2db21b807aabafa39fe984b7e09cf21ee3aa..d8758c4aaf6c69766bdc247df973973ecfcffbcd 100644 --- a/software/erp5/instance-erp5-output-schema.json +++ b/software/erp5/instance-erp5-output-schema.json @@ -51,7 +51,7 @@ "mariadb-test-database-list": { "description": "Relational database access information", "items": { - "pattern": "^mysql://", + "pattern": "^mysql://", "type": "string" }, "uniqueItems": true, diff --git a/software/erp5/instance-kumofs-schema.json b/software/erp5/instance-kumofs-schema.json index 2f2653b5f907d99e913815f54e7746a46e35350b..12c1f70c37b73d0f874cf6f197f85c978535b731 100644 --- a/software/erp5/instance-kumofs-schema.json +++ b/software/erp5/instance-kumofs-schema.json @@ -1,13 +1,18 @@ { "$schema": "http://json-schema.org/draft-04/schema#", - "required": ["tcpv4-port"], + "required": [ + "tcpv4-port" + ], "properties": { "tcpv4-port": { - "allOf": [{ - "$ref": "#/definitions/tcpv4port" - }, { - "description": "Start allocating ports at this value, going upward" - }] + "allOf": [ + { + "$ref": "#/definitions/tcpv4port" + }, + { + "description": "Start allocating ports at this value, going upward" + } + ] }, "ram-storage-size": { "description": "If 0 use disk storage, otherwise use ram and limit data size to this many megabytes", diff --git a/software/erp5/instance-mariadb-schema.json b/software/erp5/instance-mariadb-schema.json index 51f12f774db3e67a32872f711a072307b3e935c4..c1fb3d36d613192af1ba0718d93975e9de5fc8b4 100644 --- a/software/erp5/instance-mariadb-schema.json +++ b/software/erp5/instance-mariadb-schema.json @@ -1,24 +1,35 @@ { "$schema": "http://json-schema.org/draft-04/schema#", - "required": ["tcpv4-port"], + "required": [ + "tcpv4-port" + ], "properties": { "tcpv4-port": { - "allOf": [{ - "$ref": "#/definitions/tcpv4port" - }, { - "description": "Start allocating ports at this value, going downward" - }] + "allOf": [ + { + "$ref": "#/definitions/tcpv4port" + }, + { + "description": "Start allocating ports at this value, going downward" + } + ] }, "database-list": { "description": "Databases to create and respective user credentials getting all privileges on it", - "default": [{ - "name": "erp5", - "user": "user", - "password": "insecure" - }], + "default": [ + { + "name": "erp5", + "user": "user", + "password": "insecure" + } + ], "minItems": 1, "items": { - "required": ["name", "user", "password"], + "required": [ + "name", + "user", + "password" + ], "properties": { "name": { "description": "Database name", @@ -135,6 +146,5 @@ }, "type": "array" } - } } diff --git a/software/erp5/instance-smtp-schema.json b/software/erp5/instance-smtp-schema.json index ee3af6f764884bf68cf56c823e4e24b411e3daae..b41582a60c5dc0e809f19c79118d8cd00e0274e2 100644 --- a/software/erp5/instance-smtp-schema.json +++ b/software/erp5/instance-smtp-schema.json @@ -1,14 +1,19 @@ { "$schema": "http://json-schema.org/draft-04/schema#", "extends": "./schema-definitions.json#", - "required": ["tcpv4-port"], + "required": [ + "tcpv4-port" + ], "properties": { "tcpv4-port": { - "allOf": [{ - "$ref": "#/definitions/tcpv4port" - }, { - "description": "Start allocating ports at this value, going upward" - }] + "allOf": [ + { + "$ref": "#/definitions/tcpv4port" + }, + { + "description": "Start allocating ports at this value, going upward" + } + ] }, "postmaster": { "description": "Mail address to send technical mails to. Non-empty value required for smptd relay service to be deployed. Values will be put in alias-dict as 'postmaster' key (alias-dict takes precedence)", @@ -29,7 +34,9 @@ "relay": { "description": "Forward outgoing mails to a specific relay. If enabled, relay must support TLS-encrypted SASL authentication.", "dependencies": { - "host": ["sasl-credential"] + "host": [ + "sasl-credential" + ] }, "properties": { "host": { diff --git a/software/erp5testnode/instance-erp5testnode-input-schema.json b/software/erp5testnode/instance-erp5testnode-input-schema.json index 60251b48ec94635257a41f41c22fc0f98b5307c6..005fe7aec45bdf9a33002b4c8418d1677b1b78ea 100644 --- a/software/erp5testnode/instance-erp5testnode-input-schema.json +++ b/software/erp5testnode/instance-erp5testnode-input-schema.json @@ -1,7 +1,6 @@ { "type": "object", "$schema": "http://json-schema.org/draft-04/schema", - "title": "Input Parameters", "properties": { "test-node-title": { diff --git a/software/erp5testnode/instance-output-schema.json b/software/erp5testnode/instance-output-schema.json index 402f2849fa30adc822008c898b809b73ea0905f5..ecdcf75e386f020cb78af0738873fde2609c87d2 100644 --- a/software/erp5testnode/instance-output-schema.json +++ b/software/erp5testnode/instance-output-schema.json @@ -6,7 +6,7 @@ "description": "Password to access shellinabox.", "type": "string" }, - "url": { + "url": { "description": "IPv6 URL to access the shell in a box.", "type": "string" } diff --git a/software/erp5testnode/software.cfg.json b/software/erp5testnode/software.cfg.json index 58de3203a428583211891bc2c77961815a2d9ebe..6faf1274d48364113a3a2430fdc82efe126b4731 100644 --- a/software/erp5testnode/software.cfg.json +++ b/software/erp5testnode/software.cfg.json @@ -1,13 +1,13 @@ { - "name": "ERP5 Test Node", - "description": "ERP5 Test Node Runner", - "serialisation": "xml", - "software-type": { - "default": { - "title": "Default", + "name": "ERP5 Test Node", + "description": "ERP5 Test Node Runner", + "serialisation": "xml", + "software-type": { + "default": { + "title": "Default", "description": "Default setup for ERP5TestNode Instance.", - "request": "instance-erp5testnode-input-schema.json", - "response": "instance-output-schema.json" - } - } + "request": "instance-erp5testnode-input-schema.json", + "response": "instance-output-schema.json" + } + } } diff --git a/software/erp5testnode/testsuite/deploy-test/instance-input-schema.json b/software/erp5testnode/testsuite/deploy-test/instance-input-schema.json index 9aa7911048c95902266ed424c256835d8d9951c3..12226d0ecbc4958acf34af8fc09cc8306f660d4a 100644 --- a/software/erp5testnode/testsuite/deploy-test/instance-input-schema.json +++ b/software/erp5testnode/testsuite/deploy-test/instance-input-schema.json @@ -1,7 +1,6 @@ { "type": "object", "$schema": "http://json-schema.org/draft-04/schema", - "title": "Input Parameters", "properties": { "image-to-test-url": { @@ -23,7 +22,10 @@ "title": "Type of the test.", "type": "string", "default": "script-from-url", - "enum" : ["script-from-url", "cloned-playbook"] + "enum": [ + "script-from-url", + "cloned-playbook" + ] }, "script-to-test-url": { "title": "Optional URL of script to test, used for test-type=script-from-url.", @@ -36,5 +38,9 @@ "type": "string" } }, - "required": ["image-to-test-url", "image-to-test-md5sum", "test-type"] + "required": [ + "image-to-test-url", + "image-to-test-md5sum", + "test-type" + ] } diff --git a/software/erp5testnode/testsuite/deploy-test/software.cfg.json b/software/erp5testnode/testsuite/deploy-test/software.cfg.json index d49211cc47d07c6972ebf1c65a0bd68fac7326d9..778ae4b187349c953a85f9cb10c5516767ea0c25 100644 --- a/software/erp5testnode/testsuite/deploy-test/software.cfg.json +++ b/software/erp5testnode/testsuite/deploy-test/software.cfg.json @@ -1,13 +1,13 @@ { - "name": "Deploy Test", - "description": "Deploy Testing software release", - "serialisation": "xml", - "software-type": { - "default": { - "title": "Default", - "description": "Standard ERP5TestNode hooked", - "request": "instance-input-schema.json", - "index": 0 - } + "name": "Deploy Test", + "description": "Deploy Testing software release", + "serialisation": "xml", + "software-type": { + "default": { + "title": "Default", + "description": "Standard ERP5TestNode hooked", + "request": "instance-input-schema.json", + "index": 0 } + } } diff --git a/software/grafana/instance-input-schema.json b/software/grafana/instance-input-schema.json index e9868338dde85bb5bfeefb7ea484bd49660fddf4..357a6f53218ceda6b2ceee7546b9eb1dcb68596a 100644 --- a/software/grafana/instance-input-schema.json +++ b/software/grafana/instance-input-schema.json @@ -8,11 +8,11 @@ "type": "string" }, "smtp-username": { - "description": "Username to connect to SMTP server", + "description": "Username to connect to SMTP server", "type": "string" }, "smtp-password": { - "description": "Password to connect to SMTP server", + "description": "Password to connect to SMTP server", "type": "string" }, "smtp-verify-ssl": { diff --git a/software/kvm/instance-kvm-cluster-input-schema.json b/software/kvm/instance-kvm-cluster-input-schema.json index 76bc1631a534371ff6e4a4d33392abcecc0fd287..a83e1150cf5b79373c1c564d92801a6eafe64bec 100644 --- a/software/kvm/instance-kvm-cluster-input-schema.json +++ b/software/kvm/instance-kvm-cluster-input-schema.json @@ -110,14 +110,17 @@ "title": "Scheme of HTTP service into the VM (require: kvm-name).", "description": "Say If HTTP service to run/or running into the Virtual Machine will use http or https. Possible values: http, https.", "type": "string", - "enum": ["http", "https"], + "enum": [ + "http", + "https" + ], "default": "http" } }, "type": "object" } }, - "type": "object" + "type": "object" } }, "type": "object" @@ -126,20 +129,23 @@ "title": "Restrict all access to VM with firewall.", "description": "When Firewall is enabled, this parameter define if only vm of this cluster and authorized sources ip should have access to cluster.", "type": "string", - "enum": ["on", "off"], + "enum": [ + "on", + "off" + ], "default": "off" }, "fw-authorized-sources": { - "title": "List of IP/Network address authorized to cluster.", - "description": "When Firewall is enabled, this contain the list of IP address to authorize for access to all VM of this cluster.", - "type": "array", - "optional": true + "title": "List of IP/Network address authorized to cluster.", + "description": "When Firewall is enabled, this contain the list of IP address to authorize for access to all VM of this cluster.", + "type": "array", + "optional": true }, "fw-reject-sources": { - "title": "List of IP/Network address rejected, if 'Restrict all access' is off.", - "description": "When Firewall is enabled, this contain the list of IP address which should not access to all VM of this cluster.", - "type": "array", - "optional": true + "title": "List of IP/Network address rejected, if 'Restrict all access' is off.", + "description": "When Firewall is enabled, this contain the list of IP address which should not access to all VM of this cluster.", + "type": "array", + "optional": true }, "authorized-keys": { "title": "Public keys for virtual machines.", @@ -158,17 +164,17 @@ "type": "string" }, "monitor-interface-url": { - "title": "Monitor Web Interface URL", - "description": "Give Url of HTML web interface that will be used to render this monitor instance.", - "type": "string", - "format": "uri", - "default": "https://monitor.app.officejs.com" + "title": "Monitor Web Interface URL", + "description": "Give Url of HTML web interface that will be used to render this monitor instance.", + "type": "string", + "format": "uri", + "default": "https://monitor.app.officejs.com" }, "monitor-cors-domains": { - "title": "Monitor CORS domains", - "description": "List of cors domains separated with space. Needed for ajax query on this monitor instance from a different domain.", - "type": "string", - "default": "monitor.app.officejs.com" + "title": "Monitor CORS domains", + "description": "List of cors domains separated with space. Needed for ajax query on this monitor instance from a different domain.", + "type": "string", + "default": "monitor.app.officejs.com" }, "kvm-partition-dict": { "title": "kvm instances definition", @@ -187,7 +193,10 @@ "description": "Define if SlapOS should start or stop this VM.", "type": "string", "default": "started", - "enum": ["started", "stopped"] + "enum": [ + "started", + "stopped" + ] }, "enable-device-hotplug": { "title": "Enable device hotplug mode", @@ -237,7 +246,14 @@ "description": "Type of QEMU disk drive, to create.", "type": "string", "default": "qcow2", - "enum": ["qcow2", "raw", "vdi", "vmdk", "cloop", "qed"] + "enum": [ + "qcow2", + "raw", + "vdi", + "vmdk", + "cloop", + "qed" + ] }, "disk-type": { "title": "Disk type", @@ -259,14 +275,23 @@ "description": "Disk cache controls how the host cache is used to access block data.", "type": "string", "default": "writeback", - "enum": ["none", "writeback", "unsafe", "directsync", "writethrough"] + "enum": [ + "none", + "writeback", + "unsafe", + "directsync", + "writethrough" + ] }, "disk-aio": { "title": "Disk aio to use.", "description": "Selects between pthread based disk I/O and native Linux AIO.", "type": "string", "default": "threads", - "enum": ["threads", "native"] + "enum": [ + "threads", + "native" + ] }, "cpu-count": { "title": "CPU count", @@ -302,7 +327,41 @@ "title": "Use keyboard layout language", "description": "Use keyboard layout language (for example fr for French). Can be usefull with VNC display", "type": "string", - "enum": ["ar", "da", "de", "de-ch", "en-gb", "en-us", "es", "et", "fi", "fo", "fr", "fr-be", "fr-ca", "fr-ch", "hr", "hu", "is", "it", "ja", "lt", "lv", "mk", "nl", "nl-be", "no", "pl", "pt", "pt-br", "ru", "sl", "sv", "th", "tr"], + "enum": [ + "ar", + "da", + "de", + "de-ch", + "en-gb", + "en-us", + "es", + "et", + "fi", + "fo", + "fr", + "fr-be", + "fr-ca", + "fr-ch", + "hr", + "hu", + "is", + "it", + "ja", + "lt", + "lv", + "mk", + "nl", + "nl-be", + "no", + "pl", + "pt", + "pt-br", + "ru", + "sl", + "sv", + "th", + "tr" + ], "default": "fr" }, "nbd-host": { @@ -366,7 +425,14 @@ "description": "Type of QEMU disk drive, to create.", "type": "string", "default": "qcow2", - "enum": ["qcow2", "raw", "vdi", "vmdk", "cloop", "qed"] + "enum": [ + "qcow2", + "raw", + "vdi", + "vmdk", + "cloop", + "qed" + ] }, "wipe-disk-ondestroy": { "title": "Wipe disks when destroy the VM", diff --git a/software/kvm/instance-kvm-input-schema.json b/software/kvm/instance-kvm-input-schema.json index 9aa6bbc56c982496608e483fca8b852256aca1bd..5290b021af14d7f54eea7d82e21de29a368d3925 100644 --- a/software/kvm/instance-kvm-input-schema.json +++ b/software/kvm/instance-kvm-input-schema.json @@ -1,7 +1,6 @@ { "type": "object", "$schema": "http://json-schema.org/draft-04/schema", - "title": "Input Parameters", "properties": { "enable-device-hotplug": { @@ -53,31 +52,53 @@ "description": "Type of QEMU disk drive.", "type": "string", "default": "virtio", - "enum": ["ide", "scsi", "sd", "mtd", "floppy", "pflash", "virtio"] + "enum": [ + "ide", + "scsi", + "sd", + "mtd", + "floppy", + "pflash", + "virtio" + ] }, "disk-format": { "title": "Type of disk drive to create by QEMU.", "description": "Type of QEMU disk drive, to create.", "type": "string", "default": "qcow2", - "enum": ["qcow2", "raw", "vdi", "vmdk", "cloop", "qed"] + "enum": [ + "qcow2", + "raw", + "vdi", + "vmdk", + "cloop", + "qed" + ] }, - "disk-cache": { "title": "Cache option to use with Disk.", "description": "Disk cache controls how the host cache is used to access block data.", "type": "string", "default": "writeback", - "enum": ["none", "writeback", "unsafe", "directsync", "writethrough"] + "enum": [ + "none", + "writeback", + "unsafe", + "directsync", + "writethrough" + ] }, "disk-aio": { "title": "Disk aio to use.", "description": "Selects between pthread based disk I/O and native Linux AIO.", "type": "string", "default": "threads", - "enum": ["threads", "native"] + "enum": [ + "threads", + "native" + ] }, - "cpu-count": { "title": "CPU count", "description": "Number of CPU cores.", @@ -107,19 +128,55 @@ "description": "Select the emulated CPU model. Ex: SandyBridge,+erms,+smep,+smx,+vmx", "type": "string" }, - "keyboard-layout-language": { "title": "Use keyboard layout language", "description": "Use keyboard layout language (for example fr for French). Can be usefull with VNC display", "type": "string", - "enum": ["ar", "da", "de", "de-ch", "en-gb", "en-us", "es", "et", "fi", "fo", "fr", "fr-be", "fr-ca", "fr-ch", "hr", "hu", "is", "it", "ja", "lt", "lv", "mk", "nl", "nl-be", "no", "pl", "pt", "pt-br", "ru", "sl", "sv", "th", "tr"] + "enum": [ + "ar", + "da", + "de", + "de-ch", + "en-gb", + "en-us", + "es", + "et", + "fi", + "fo", + "fr", + "fr-be", + "fr-ca", + "fr-ch", + "hr", + "hu", + "is", + "it", + "ja", + "lt", + "lv", + "mk", + "nl", + "nl-be", + "no", + "pl", + "pt", + "pt-br", + "ru", + "sl", + "sv", + "th", + "tr" + ] }, - "nbd-host": { "title": "NBD hostname", "description": "hostname (or IP) of the NBD server containing the boot image.", "type": "string", - "format": ["host-name", "ip-address", "ipv6"], + "format": [ + "host-name", + "ip-address", + "ipv6" + ], "default": "debian.nbd.vifib.net" }, "nbd-port": { @@ -130,12 +187,15 @@ "minimum": 1, "maximum": 65535 }, - "nbd2-host": { "title": "Second NBD hostname", "description": "hostname (or IP) of the second NBD server (containing drivers for example).", "type": "string", - "format": ["host-name", "ip-address", "ipv6"] + "format": [ + "host-name", + "ip-address", + "ipv6" + ] }, "nbd2-port": { "title": "Second NBD port", @@ -144,7 +204,6 @@ "minimum": 1, "maximum": 65535 }, - "virtual-hard-drive-url": { "title": "Existing disk image URL", "description": "If specified, will download an existing disk image (qcow2, raw, ...), and will use it as main virtual hard drive. Can be used to download and use an already installed and customized virtual hard drive.", @@ -168,7 +227,6 @@ "type": "boolean", "default": true }, - "external-disk-number": { "title": "Number of additional disk to create for virtual machine", "description": "Specify the number of additional disk to create for virtual machine in data folder of SlapOS Node. Requires instance_storage_home to be configured on SlapOS Node.", @@ -189,9 +247,15 @@ "description": "Type of QEMU disk drive, to create.", "type": "string", "default": "qcow2", - "enum": ["qcow2", "raw", "vdi", "vmdk", "cloop", "qed"] + "enum": [ + "qcow2", + "raw", + "vdi", + "vmdk", + "cloop", + "qed" + ] }, - "wipe-disk-ondestroy": { "title": "Wipe disks when destroy the VM", "description": "Say if disks should be wiped by writing new data over every single bit before delete them. This option is used to securely delete VM disks", @@ -206,7 +270,6 @@ "minimum": 1, "maximum": 5 }, - "use-tap": { "title": "Use QEMU TAP network interface", "description": "Use QEMU TAP network interface, might require a bridge on SlapOS Node.", @@ -237,17 +300,17 @@ "default": false }, "monitor-interface-url": { - "title": "Monitor Web Interface URL", - "description": "Give Url of HTML web interface that will be used to render this monitor instance.", - "type": "string", - "format": "uri", - "default": "https://monitor.app.officejs.com" + "title": "Monitor Web Interface URL", + "description": "Give Url of HTML web interface that will be used to render this monitor instance.", + "type": "string", + "format": "uri", + "default": "https://monitor.app.officejs.com" }, "monitor-cors-domains": { - "title": "Monitor CORS domains", - "description": "List of cors domains separated with space. Needed for ajax query on this monitor instance from a different domain.", - "type": "string", - "default": "monitor.app.officejs.com" + "title": "Monitor CORS domains", + "description": "List of cors domains separated with space. Needed for ajax query on this monitor instance from a different domain.", + "type": "string", + "default": "monitor.app.officejs.com" }, "enable-http-server": { "title": "Enable local http server", diff --git a/software/kvm/instance-kvm-output-schema.json b/software/kvm/instance-kvm-output-schema.json index 731ad094dd47ce131b54ba8716079f35a1e10732..a7703bae5c1830b964972d132bcd5037cf98db80 100644 --- a/software/kvm/instance-kvm-output-schema.json +++ b/software/kvm/instance-kvm-output-schema.json @@ -8,7 +8,6 @@ "format": "uri", "require": true }, - "url": { "title": "URL", "description": "URL used to connect to the service.", diff --git a/software/kvm/instance-kvm-resilient-input-schema.json b/software/kvm/instance-kvm-resilient-input-schema.json index 9d947f644fbae076c33af24f03c0e370e52af5b9..1615273c63303591c210db4949c7c6d991227ed6 100644 --- a/software/kvm/instance-kvm-resilient-input-schema.json +++ b/software/kvm/instance-kvm-resilient-input-schema.json @@ -1,70 +1,70 @@ { - "type": "object", - "$schema": "http://json-schema.org/draft-04/schema", - "allOf": [ - { - "$ref": "instance-kvm-input-schema.json#/" + "type": "object", + "$schema": "http://json-schema.org/draft-04/schema", + "allOf": [ + { + "$ref": "instance-kvm-input-schema.json#/" + }, + { + "properties": { + "resilient-clone-number": { + "title": "Amount of backup(s) to create", + "description": "Amount of backup(s) to create. Each backup consists of a Pull Backup Server and a clone.", + "type": "integer", + "default": 1, + "optional": true }, - { - "properties": { - "resilient-clone-number": { - "title": "Amount of backup(s) to create", - "description": "Amount of backup(s) to create. Each backup consists of a Pull Backup Server and a clone.", - "type": "integer", - "default": 1, - "optional": true - }, - "-sla-0-computer_guid": { - "title": "Target computer for main instance", - "description": "Target computer GUID for main instance.", - "type": "string", - "optional": true - }, - "-sla-1-computer_guid": { - "title": "Target computer for first clone", - "description": "Target computer for first clone and PBS.", - "type": "string", - "optional": true - }, - "-sla-pbs1-computer_guid": { - "title": "Target computer for first PBS", - "description": "Target computer for first PBS instance.", - "type": "string", - "optional": true - }, - "-sla-2-computer_guid": { - "title": "Target computer for second clone", - "description": "Target computer for second clone and PBS.", - "type": "string", - "optional": true - }, - "-sla-pbs2-computer_guid": { - "title": "Target computer for second PBS", - "description": "Target computer for second PBS instance.", - "type": "string", - "optional": true - }, - "resiliency-backup-periodicity": { - "title": "Periodicity of backup", - "description": "Periodicity of backup, in cron format.", - "type": "string", - "optional": true - }, - "remove-backup-older-than": { - "title": "Remove backups older than...", - "description": "Remove all the backups in PBS that are older than specified value. It should be rdiff-backup-compatible.", - "type": "string", - "default": "2W", - "optional": true - }, - "ignore-known-hosts-file": { - "title": "Ignore known_hosts file", - "description": "Set either to fill known_hosts file for ssh or not. Useful if main instance and PBS are using the same IP (slapos proxy, webrunner).", - "type": "boolean", - "default": false, - "optional": true - } - } + "-sla-0-computer_guid": { + "title": "Target computer for main instance", + "description": "Target computer GUID for main instance.", + "type": "string", + "optional": true + }, + "-sla-1-computer_guid": { + "title": "Target computer for first clone", + "description": "Target computer for first clone and PBS.", + "type": "string", + "optional": true + }, + "-sla-pbs1-computer_guid": { + "title": "Target computer for first PBS", + "description": "Target computer for first PBS instance.", + "type": "string", + "optional": true + }, + "-sla-2-computer_guid": { + "title": "Target computer for second clone", + "description": "Target computer for second clone and PBS.", + "type": "string", + "optional": true + }, + "-sla-pbs2-computer_guid": { + "title": "Target computer for second PBS", + "description": "Target computer for second PBS instance.", + "type": "string", + "optional": true + }, + "resiliency-backup-periodicity": { + "title": "Periodicity of backup", + "description": "Periodicity of backup, in cron format.", + "type": "string", + "optional": true + }, + "remove-backup-older-than": { + "title": "Remove backups older than...", + "description": "Remove all the backups in PBS that are older than specified value. It should be rdiff-backup-compatible.", + "type": "string", + "default": "2W", + "optional": true + }, + "ignore-known-hosts-file": { + "title": "Ignore known_hosts file", + "description": "Set either to fill known_hosts file for ssh or not. Useful if main instance and PBS are using the same IP (slapos proxy, webrunner).", + "type": "boolean", + "default": false, + "optional": true } - ] + } + } + ] } diff --git a/software/kvm/software.cfg.json b/software/kvm/software.cfg.json index 4f4e7d172e4e1ed0928081a2a639a2a48f725a53..07f62378b228dc5f8c4bbeb18d3332478a24fa2b 100644 --- a/software/kvm/software.cfg.json +++ b/software/kvm/software.cfg.json @@ -1,29 +1,29 @@ { - "name": "KVM", - "description": "KVM", - "serialisation": "xml", - "software-type": { - "default": { - "title": "Default", - "description": "Standalone KVM", - "request": "instance-kvm-input-schema.json", - "response": "instance-kvm-output-schema.json", - "index": 0 - }, - "kvm-resilient": { - "title": "Resilient", - "description": "Resilient KVM", - "request": "instance-kvm-resilient-input-schema.json", - "response": "instance-kvm-output-schema.json", - "index": 1 - }, - "kvm-cluster": { - "title": "Cluster", - "description": "Cluster KVM", - "serialisation": "json-in-xml", - "request": "instance-kvm-cluster-input-schema.json", - "response": "instance-kvm-output-schema.json", - "index": 2 - } + "name": "KVM", + "description": "KVM", + "serialisation": "xml", + "software-type": { + "default": { + "title": "Default", + "description": "Standalone KVM", + "request": "instance-kvm-input-schema.json", + "response": "instance-kvm-output-schema.json", + "index": 0 + }, + "kvm-resilient": { + "title": "Resilient", + "description": "Resilient KVM", + "request": "instance-kvm-resilient-input-schema.json", + "response": "instance-kvm-output-schema.json", + "index": 1 + }, + "kvm-cluster": { + "title": "Cluster", + "description": "Cluster KVM", + "serialisation": "json-in-xml", + "request": "instance-kvm-cluster-input-schema.json", + "response": "instance-kvm-output-schema.json", + "index": 2 } + } } diff --git a/software/neoppod/instance-neo-input-schema.json b/software/neoppod/instance-neo-input-schema.json index 1e5446ff6b503c3e1f96b900a5022923e6ab505c..9b0d64579c08b1cbca8efe24d1ab7370c0416792 100644 --- a/software/neoppod/instance-neo-input-schema.json +++ b/software/neoppod/instance-neo-input-schema.json @@ -2,7 +2,9 @@ "$schema": "http://json-schema.org/draft-04/schema#", "description": "Parameters to instantiate a NEO cluster. See https://lab.nexedi.com/nexedi/neoppod/blob/master/neo.conf for more information.", "additionalProperties": false, - "require": ["cluster"], + "require": [ + "cluster" + ], "properties": { "cluster": { "description": "Cluster unique identifier. Your last line of defense against mixing up NEO clusters and corrupting your data. Choose a unique value for each of your cluster.", @@ -30,7 +32,9 @@ "description": "[NEO SR only] Where to request instances. Each key is a query string for criterions (e.g. \"computer_guid=foo\"), and each value is a list of partition references ('node-0', 'node-1', ...). The prefix 'node-' is mandatory and the number must start from 0. The total number of nodes here must be equal to the length of node-list.", "additionalProperties": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "uniqueItems": true }, "type": "object" @@ -71,14 +75,14 @@ "type": "integer" }, "data-deduplication": { - "description": "Set the --dedup option for storage nodes.", - "default": false, - "type": "boolean" + "description": "Set the --dedup option for storage nodes.", + "default": false, + "type": "boolean" }, "disable-drop-partitions": { - "description": "Set the --disable-drop-partitions option for storage nodes.", - "default": false, - "type": "boolean" + "description": "Set the --disable-drop-partitions option for storage nodes.", + "default": false, + "type": "boolean" }, "mysql": { "description": "Dictionary containing parameters for MySQL.", diff --git a/software/powerdns/instance-powerdns-input-schema.json b/software/powerdns/instance-powerdns-input-schema.json index 7de5660c661367a58b0c6464f48a0da550df018c..1e2dac69eff97c8c8e8a8641ba8a1b6ac9ad3b3e 100644 --- a/software/powerdns/instance-powerdns-input-schema.json +++ b/software/powerdns/instance-powerdns-input-schema.json @@ -1,45 +1,38 @@ { "type": "object", "$schema": "http://json-schema.org/draft-04/schema", - "title": "Input Parameters", "properties": { - "-dns-type": { "title": "DNS Software type", "description": "Software type of DNS nodes", "default": "single-default", "type": "string" }, - "-dns-software-release-url": { "title": "DNS Software Release", "description": "Url of the software release to be used for the nodes", "default": "", "type": "string" }, - "-dns-quantity": { "title": "DNS Quantity", "description": "DNS Nodes Quantity", "default": 1, "type": "integer" }, - "-dns-i-state": { "title": "Requested state of node i", "description": "Requested State of node i of the replication. i must inferior or equal to '-dns-quantity'", "default": "started", "type": "string" }, - "-sla-i-sla_parameter": { "title": "sla_parameter used to request node i", "description": "Parameter used to provide sla parameter to request dns nodes", "default": "", "type": "string" }, - "zone": { "title": "Zone", "description": "Zone to be handled by the DNS cluster", @@ -47,33 +40,30 @@ "default": "domain.com", "pattern": "^([a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,6}$" }, - "server-admin": { "title": "Zone Administrator Email", "description": "Email of the zone administrator, it is used to generate SOA value", "type": "string", "default": "admin@domain.com" }, - "dns-name-template-string": { "title": "DNS domains template string", "description": "Template used to generate DNS domain name", "type": "string", "default": "ns%s. + zone" }, - "monitor-interface-url": { - "title": "Monitor Web Interface URL", - "description": "Give Url of HTML web interface that will be used to render this monitor instance.", - "type": "string", - "format": "uri", - "default": "https://monitor.app.officejs.com" + "title": "Monitor Web Interface URL", + "description": "Give Url of HTML web interface that will be used to render this monitor instance.", + "type": "string", + "format": "uri", + "default": "https://monitor.app.officejs.com" }, "monitor-cors-domains": { - "title": "Monitor CORS domains", - "description": "List of cors domains separated with space. Needed for ajax query on this monitor instance from a different domain.", - "type": "string", - "default": "monitor.app.officejs.com" + "title": "Monitor CORS domains", + "description": "List of cors domains separated with space. Needed for ajax query on this monitor instance from a different domain.", + "type": "string", + "default": "monitor.app.officejs.com" } } } diff --git a/software/powerdns/slave-instance-powerdns-input-schema.json b/software/powerdns/slave-instance-powerdns-input-schema.json index f3b8a7817b307de3135117396554ccd0866e78e7..650c9e8cecda2b1ce8cf0abc11b95d7c744d3d77 100644 --- a/software/powerdns/slave-instance-powerdns-input-schema.json +++ b/software/powerdns/slave-instance-powerdns-input-schema.json @@ -1,91 +1,77 @@ { "type": "object", "$schema": "http://json-schema.org/draft-04/schema", - "title": "Input Parameters", "properties": { - "record": { "title": "Record", "description": "Record for the configuration", "type": "string" }, - "origin": { "title": "Origin", "description": "Used to qualify RR in the configuration. i.e.: if your origin is a.example.com and the RR for Europe is 'eu' the european clients will use eu.a.exmple.com", "type": "string" }, - "default": { "title": "Default RR", "description": "Defautl record to use when the ip is not regognized", "type": "string" }, - "europe": { "title": "Europe RR", "description": "Records to use for Europe", "default": "eu", "type": "string" }, - "africa": { "title": "Africa RR", "description": "Records to use for Africa", "default": "af", "type": "string" }, - "south-america": { "title": "South America RR", "description": "Records to use for South America", "default": "sa", "type": "string" }, - "north-america": { "title": "North America RR", "description": "Records to use for North America", "default": "na", "type": "string" }, - "china": { "title": "China RR", "description": "Records to use for China", "default": "cn", "type": "string" }, - "japan": { "title": "Japan RR", "description": "Records to use for Japan", "default": "jp", "type": "string" }, - "hong-kong": { "title": "Honk Kong RR", "description": "Records to use for Hong Kong", "default": "hk", "type": "string" }, - "east-asia": { "title": "East Asia RR", "description": "Records to use for East Asia", "default": "as", "type": "string" }, - "west-asia": { "title": "West Asia RR", "description": "Records to use for West Asia", "default": "eu", "type": "string" }, - "oceania": { "title": "Oceania RR", "description": "Records to use for Oceania", diff --git a/software/re6stnet/instance-re6stnet-input-schema.json b/software/re6stnet/instance-re6stnet-input-schema.json index f86eae38acf96877f9f2ebf84cae25abce753bd7..4bf2823eba8227312a2835a10136886dd056aae8 100644 --- a/software/re6stnet/instance-re6stnet-input-schema.json +++ b/software/re6stnet/instance-re6stnet-input-schema.json @@ -1,83 +1,83 @@ { - "$schema": "http://json-schema.org/draft-04/schema#", - "properties": { - "ipv6-prefix": { - "title": "Ipv6 prefix to use to setup the new re6st network", - "description": "Prefix ipv6 used by re6st to setup network. It is something like 2001:db8:42::/48", - "type": "string" - }, - "key-size": { - "title": "Number of bit to use for certificate generation", - "description": "Specify the size of certificate generated by re6st. by default, generate 2048-bit key length", - "type": "integer", - "minimum": 1024, - "default": 2048 - }, - "prefix-length": { - "title": "Default length of allocated prefixes.", - "description": "Default length of allocated prefixes.", - "type": "integer", - "default": 16 - }, - "anonymous-prefix-length": { - "title": "Length of allocated anonymous prefixes.", - "description": "Length of allocated anonymous prefixes. 0 is unset.", - "type": "integer", - "default": 0 - }, - "mailhost": { - "title": "SMTP host to send confirmation emails.", - "description": "SMTP host to send confirmation emails. Not needed if when token is requested from slave instances.", - "type": "string", - "default": "127.0.0.1" - }, - "ipv4-net": { - "title": "Enable ipv4 (ip/NET P_LENGTH).", - "description": "Enable ipv4 (ip/NET P_LENGTH). Each node is assigned a subnet of length PLEN, inside network IP/N. Ex: 10.42.0.0/16 8", - "type": "string", - "default": "" - }, - "client-count": { - "title": "Number of client tunnels to set up.", - "description": "Number of client tunnels to set up.", - "type": "integer", - "default": 10 - }, - "tunnel-refresh": { - "title": "Interval in seconds between two tunnel refresh.", - "description": "Interval in seconds between two tunnel refresh: the worst tunnel is closed if the number of client tunnels has reached its maximum number (client-count).", - "type": "integer", - "default": 300 - }, - "max-clients": { - "title": "Maximum number of accepted clients per OpenVPN server.", - "description": "Maximum number of accepted clients per OpenVPN server. (if unset or 0: client-count * 2, which actually represents the average number of tunnels to other peers)", - "type": "integer", - "default": 0 - }, - "hello": { - "title": "Hello interval in seconds, for both wired and wireless connections.", - "description": "Hello interval in seconds, for both wired and wireless connections. OpenVPN ping-exit option is set to 4 times the hello interval. It takes between 3 and 4 times the hello interval for Babel to re-establish connection with a node for which the direct connection has been cut.", - "type": "integer", - "default": 15 - }, - "min-protocol": { - "title": "Reject nodes that are too old.", - "description": "Reject nodes that are too old. Default is unset.", - "type": "integer", - "default": -1 - }, - "encrypt": { - "title": "Specify that tunnels should be encrypted.", - "description": "Specify that tunnels should be encrypted.", - "type": "boolean", - "default": false - }, - "same-country": { - "title": "Same Country", - "description": "Prevent tunnelling accross borders of listed countries", - "type": "string", - "default": "" - } + "$schema": "http://json-schema.org/draft-04/schema#", + "properties": { + "ipv6-prefix": { + "title": "Ipv6 prefix to use to setup the new re6st network", + "description": "Prefix ipv6 used by re6st to setup network. It is something like 2001:db8:42::/48", + "type": "string" + }, + "key-size": { + "title": "Number of bit to use for certificate generation", + "description": "Specify the size of certificate generated by re6st. by default, generate 2048-bit key length", + "type": "integer", + "minimum": 1024, + "default": 2048 + }, + "prefix-length": { + "title": "Default length of allocated prefixes.", + "description": "Default length of allocated prefixes.", + "type": "integer", + "default": 16 + }, + "anonymous-prefix-length": { + "title": "Length of allocated anonymous prefixes.", + "description": "Length of allocated anonymous prefixes. 0 is unset.", + "type": "integer", + "default": 0 + }, + "mailhost": { + "title": "SMTP host to send confirmation emails.", + "description": "SMTP host to send confirmation emails. Not needed if when token is requested from slave instances.", + "type": "string", + "default": "127.0.0.1" + }, + "ipv4-net": { + "title": "Enable ipv4 (ip/NET P_LENGTH).", + "description": "Enable ipv4 (ip/NET P_LENGTH). Each node is assigned a subnet of length PLEN, inside network IP/N. Ex: 10.42.0.0/16 8", + "type": "string", + "default": "" + }, + "client-count": { + "title": "Number of client tunnels to set up.", + "description": "Number of client tunnels to set up.", + "type": "integer", + "default": 10 + }, + "tunnel-refresh": { + "title": "Interval in seconds between two tunnel refresh.", + "description": "Interval in seconds between two tunnel refresh: the worst tunnel is closed if the number of client tunnels has reached its maximum number (client-count).", + "type": "integer", + "default": 300 + }, + "max-clients": { + "title": "Maximum number of accepted clients per OpenVPN server.", + "description": "Maximum number of accepted clients per OpenVPN server. (if unset or 0: client-count * 2, which actually represents the average number of tunnels to other peers)", + "type": "integer", + "default": 0 + }, + "hello": { + "title": "Hello interval in seconds, for both wired and wireless connections.", + "description": "Hello interval in seconds, for both wired and wireless connections. OpenVPN ping-exit option is set to 4 times the hello interval. It takes between 3 and 4 times the hello interval for Babel to re-establish connection with a node for which the direct connection has been cut.", + "type": "integer", + "default": 15 + }, + "min-protocol": { + "title": "Reject nodes that are too old.", + "description": "Reject nodes that are too old. Default is unset.", + "type": "integer", + "default": -1 + }, + "encrypt": { + "title": "Specify that tunnels should be encrypted.", + "description": "Specify that tunnels should be encrypted.", + "type": "boolean", + "default": false + }, + "same-country": { + "title": "Same Country", + "description": "Prevent tunnelling accross borders of listed countries", + "type": "string", + "default": "" } -} \ No newline at end of file + } +} diff --git a/software/re6stnet/instance-re6stnet-output-schema.json b/software/re6stnet/instance-re6stnet-output-schema.json index 2ab4d6e2c56e8d689cf8d28e00cf580e4297d21d..e4e21def82b59437bd2a0c1660479a4f8de6b27a 100644 --- a/software/re6stnet/instance-re6stnet-output-schema.json +++ b/software/re6stnet/instance-re6stnet-output-schema.json @@ -8,4 +8,4 @@ } }, "type": "object" -} \ No newline at end of file +} diff --git a/software/re6stnet/instance-re6stnet-slave-input-schema.json b/software/re6stnet/instance-re6stnet-slave-input-schema.json index 8d1e2625aea1d6de13ab6687b57c3b53349236f9..6437b5a616d77f171ef06e15d9f96ed551fe7b18 100644 --- a/software/re6stnet/instance-re6stnet-slave-input-schema.json +++ b/software/re6stnet/instance-re6stnet-slave-input-schema.json @@ -1,5 +1,4 @@ { - "$schema": "http://json-schema.org/draft-04/schema#", - "properties": { - } + "$schema": "http://json-schema.org/draft-04/schema#", + "properties": {} } diff --git a/software/re6stnet/software.cfg.json b/software/re6stnet/software.cfg.json index 96b20aca86b07a22ba1d715444eab46ed793e5c4..c0e71820a63a0327ae6d9a6aa79bd9634b3775e4 100644 --- a/software/re6stnet/software.cfg.json +++ b/software/re6stnet/software.cfg.json @@ -1,23 +1,23 @@ { - "name": "RE6STNET", - "description": "Master instance of re6st (Resilient, Scalable, IPv6 Network application)", - "serialisation": "xml", - "software-type": { - "default": { - "title": "Default", - "description": "Re6st registry", - "request": "instance-re6stnet-input-schema.json", - "response": "instance-re6stnet-output-schema.json", - "index": 0 - }, - "default-slave": { - "title": "Re6st Token", - "description": "Re6st registry", - "software-type": "default", - "request": "instance-re6stnet-slave-input-schema.json", - "response": "instance-re6stnet-output-schema.json", - "shared": true, - "index": 1 - } + "name": "RE6STNET", + "description": "Master instance of re6st (Resilient, Scalable, IPv6 Network application)", + "serialisation": "xml", + "software-type": { + "default": { + "title": "Default", + "description": "Re6st registry", + "request": "instance-re6stnet-input-schema.json", + "response": "instance-re6stnet-output-schema.json", + "index": 0 + }, + "default-slave": { + "title": "Re6st Token", + "description": "Re6st registry", + "software-type": "default", + "request": "instance-re6stnet-slave-input-schema.json", + "response": "instance-re6stnet-output-schema.json", + "shared": true, + "index": 1 } + } } diff --git a/software/slaprunner/instance-runner-input-schema.json b/software/slaprunner/instance-runner-input-schema.json index 0ac0b9124471db804419aae021bd56780a1d9445..869e28d2be8bd9ac1dbd17bafe03a63fc1bacbde 100644 --- a/software/slaprunner/instance-runner-input-schema.json +++ b/software/slaprunner/instance-runner-input-schema.json @@ -1,133 +1,144 @@ { - "$schema": "http://json-schema.org/draft-04/schema#", - "properties": { - "user-authorized-key": { - "title": "User Authorized Key", - "description": "SSH public key in order to connect to the SSH server of this runner instance.", - "textarea": true, - "type": "string" - }, - "instance-amount": { - "title": "Partition Amount", - "description": "Number of slappart to deploy inside the runner (default is 10). Needs instance to be restarted.", - "type": "integer", - "minimum": 1, - "maximum": 40 - }, - "slapos-software": { - "title": "Pre-selected Software Release", - "description": "a relative path from the slapos git repo to a folder containing a software release, which will be automaticaly deployed while the runner instanciation, and only if the parameter auto-deploy is set to 'true'. For example: 'software/helloworld", - "type": "string" - }, - "auto-deploy": { - "title": "Automatically Deploy Software", - "description": "Authorizes the software declared with 'slapos-software' to be automatically deployed, or not. Needs instance to be restarted. (default is false)", - "type": "boolean" - }, - "slapos-repository": { - "title": "SlapOS Git Repository URL", - "description": "url of the default git repository that will be download by the runner while its instanciation. Will be cloned in a directory named 'slapos' (default is https://lab.nexedi.com/nexedi/slapos.git)", - "type": "string", - "format": "uri", - "pattern": "^(http|https|ftp)://" - }, - "slapos-reference": { - "title": "SlapOS Git Branch Name", - "description": "Branch or hash on which the default repository will checkout (default is master)", - "type": "string" - }, - "auto-deploy-instance": { - "title": "Automatically Deploy Instances", - "description": "Prevent the runner from deploying and starting instances. Needs instance to be restarted. It is set to false for instances of type 'import' in resiliency in any case (default is false)", - "type": "boolean" - }, - "autorun": { - "title": "Automatically Run Sofware/Instance", - "description": "Let automaticaly build and run a declared software with 'slapos-software'. Only works if 'slapos-software' is set, and 'auto-deploy' is true. Needs instance to be restarted. (default is false)", - "type": "boolean" - }, - "slapos-software-type": { - "title": "Deployed Instance Software Type" , - "description": "Software type of your instance inside the runner", - "type": "string" - }, - "cpu-usage-ratio": { - "title": "CPU Usage Ratio", - "description": "Ratio of the CPU use for compilation, if value is set to n, compilation will use number-of-cpu/n of cpus (need instance restart)", - "type": "integer", - "default" : 4 - }, - "no-ipv4-frontend": { - "title": "No IPv4 frontend", - "description": "Prevent the slaprunner to order an IPv4 frontend for itself", - "enum": ["true", "false"], - "default": "false" - }, - "custom-frontend-backend-url": { - "title": "Custom Frontend Backend URL", - "description": "return an ipv4 frontend of the given ipv6(+optional port)", - "type": "string", - "format": "uri" - }, - "custom-frontend-backend-type": { - "title": "Custom Frontend Backend Type", - "description": "The type of the frontend slave instance to ask", - "type": "string", - "enum": ["zope"] - }, - "custom-frontend-basic-auth": { - "title": "Custom Frontend Basic Auth", - "description": "if the ip given with 'custom-frontend-backend-url' is secure, set it to true for the promise do not fail", - "type": "boolean" - }, - "custom-frontend-instance-guid": { - "title": "Custom Frontend Instance GUID", - "description": "Instance guid of the frontend you whish to use", - "type": "string" - }, - "custom-frontend-software-type": { - "title": "Custom Frontend Software Type", - "description": "SoftwareType of the frontend you request (default is RootSoftwareInstance)", - "type": "string", - "enum": ["RootSoftwareInstance", "default"] - }, - "custom-frontend-software-url": { - "title": "Custom Frontend Software URL", - "description": "Software Url of the frontend you request (ie.: http://git.erp5.org/gitweb/slapos.git/blob_plain/HEAD:/software/apache-frontend/software.cfg)", - "type": "string", - "format": "uri" - }, - "check-custom-frontend-promise": { - "title": "Check Custom Frontend Promise", - "description": "Enable a promise to check that HTTP frontend created from custom-frontend-backend-url is available", - "type": "string", - "enum": ["true", "false"], - "default": "false" - }, - "monitor-port": { - "title": "Monitor Port", - "description": "Allow to manually change the port on wich the apache server running monitoring interface is listening. The default value for the webrunner is different from the default value of the standalone stack-monitor server (default 9684)", - "type": "integer", - "minimum": 9683, - "exclusiveMinimum": true - }, - "monitor-interface-url": { - "title": "Monitor Web Interface URL", - "description": "Give Url of HTML web interface that will be used to render this monitor instance.", - "type": "string", - "format": "uri", - "default": "https://monitor.app.officejs.com" - }, - "monitor-cors-domains": { - "title": "Monitor CORS domains", - "description": "List of cors domains separated with space. Needed for ajax query on this monitor instance from a different domain.", - "type": "string", - "default": "monitor.app.officejs.com" - }, - "instance-name": { - "title": "Instance Name", - "description": "Name of the instance, to show in the window title", - "type": "string" - } + "$schema": "http://json-schema.org/draft-04/schema#", + "properties": { + "user-authorized-key": { + "title": "User Authorized Key", + "description": "SSH public key in order to connect to the SSH server of this runner instance.", + "textarea": true, + "type": "string" + }, + "instance-amount": { + "title": "Partition Amount", + "description": "Number of slappart to deploy inside the runner (default is 10). Needs instance to be restarted.", + "type": "integer", + "minimum": 1, + "maximum": 40 + }, + "slapos-software": { + "title": "Pre-selected Software Release", + "description": "a relative path from the slapos git repo to a folder containing a software release, which will be automaticaly deployed while the runner instanciation, and only if the parameter auto-deploy is set to 'true'. For example: 'software/helloworld", + "type": "string" + }, + "auto-deploy": { + "title": "Automatically Deploy Software", + "description": "Authorizes the software declared with 'slapos-software' to be automatically deployed, or not. Needs instance to be restarted. (default is false)", + "type": "boolean" + }, + "slapos-repository": { + "title": "SlapOS Git Repository URL", + "description": "url of the default git repository that will be download by the runner while its instanciation. Will be cloned in a directory named 'slapos' (default is https://lab.nexedi.com/nexedi/slapos.git)", + "type": "string", + "format": "uri", + "pattern": "^(http|https|ftp)://" + }, + "slapos-reference": { + "title": "SlapOS Git Branch Name", + "description": "Branch or hash on which the default repository will checkout (default is master)", + "type": "string" + }, + "auto-deploy-instance": { + "title": "Automatically Deploy Instances", + "description": "Prevent the runner from deploying and starting instances. Needs instance to be restarted. It is set to false for instances of type 'import' in resiliency in any case (default is false)", + "type": "boolean" + }, + "autorun": { + "title": "Automatically Run Sofware/Instance", + "description": "Let automaticaly build and run a declared software with 'slapos-software'. Only works if 'slapos-software' is set, and 'auto-deploy' is true. Needs instance to be restarted. (default is false)", + "type": "boolean" + }, + "slapos-software-type": { + "title": "Deployed Instance Software Type", + "description": "Software type of your instance inside the runner", + "type": "string" + }, + "cpu-usage-ratio": { + "title": "CPU Usage Ratio", + "description": "Ratio of the CPU use for compilation, if value is set to n, compilation will use number-of-cpu/n of cpus (need instance restart)", + "type": "integer", + "default": 4 + }, + "no-ipv4-frontend": { + "title": "No IPv4 frontend", + "description": "Prevent the slaprunner to order an IPv4 frontend for itself", + "enum": [ + "true", + "false" + ], + "default": "false" + }, + "custom-frontend-backend-url": { + "title": "Custom Frontend Backend URL", + "description": "return an ipv4 frontend of the given ipv6(+optional port)", + "type": "string", + "format": "uri" + }, + "custom-frontend-backend-type": { + "title": "Custom Frontend Backend Type", + "description": "The type of the frontend slave instance to ask", + "type": "string", + "enum": [ + "zope" + ] + }, + "custom-frontend-basic-auth": { + "title": "Custom Frontend Basic Auth", + "description": "if the ip given with 'custom-frontend-backend-url' is secure, set it to true for the promise do not fail", + "type": "boolean" + }, + "custom-frontend-instance-guid": { + "title": "Custom Frontend Instance GUID", + "description": "Instance guid of the frontend you whish to use", + "type": "string" + }, + "custom-frontend-software-type": { + "title": "Custom Frontend Software Type", + "description": "SoftwareType of the frontend you request (default is RootSoftwareInstance)", + "type": "string", + "enum": [ + "RootSoftwareInstance", + "default" + ] + }, + "custom-frontend-software-url": { + "title": "Custom Frontend Software URL", + "description": "Software Url of the frontend you request (ie.: http://git.erp5.org/gitweb/slapos.git/blob_plain/HEAD:/software/apache-frontend/software.cfg)", + "type": "string", + "format": "uri" + }, + "check-custom-frontend-promise": { + "title": "Check Custom Frontend Promise", + "description": "Enable a promise to check that HTTP frontend created from custom-frontend-backend-url is available", + "type": "string", + "enum": [ + "true", + "false" + ], + "default": "false" + }, + "monitor-port": { + "title": "Monitor Port", + "description": "Allow to manually change the port on wich the apache server running monitoring interface is listening. The default value for the webrunner is different from the default value of the standalone stack-monitor server (default 9684)", + "type": "integer", + "minimum": 9683, + "exclusiveMinimum": true + }, + "monitor-interface-url": { + "title": "Monitor Web Interface URL", + "description": "Give Url of HTML web interface that will be used to render this monitor instance.", + "type": "string", + "format": "uri", + "default": "https://monitor.app.officejs.com" + }, + "monitor-cors-domains": { + "title": "Monitor CORS domains", + "description": "List of cors domains separated with space. Needed for ajax query on this monitor instance from a different domain.", + "type": "string", + "default": "monitor.app.officejs.com" + }, + "instance-name": { + "title": "Instance Name", + "description": "Name of the instance, to show in the window title", + "type": "string" } + } } diff --git a/software/slaprunner/instance-runner-output-schema.json b/software/slaprunner/instance-runner-output-schema.json index 288e0fa31ff0b9ab8d28683a42481434a9932186..3cf2c63b5f378677a4b4001305b0f6f34460de62 100644 --- a/software/slaprunner/instance-runner-output-schema.json +++ b/software/slaprunner/instance-runner-output-schema.json @@ -40,4 +40,4 @@ } }, "type": "object" -} \ No newline at end of file +} diff --git a/software/slaprunner/instance-runner-resilient-input-schema.json b/software/slaprunner/instance-runner-resilient-input-schema.json index 0b9a907234d33d6ddbe85d38b37c4ea275ae8123..d87582e509be1e9daff02bb0b0e377999c4ebbe8 100644 --- a/software/slaprunner/instance-runner-resilient-input-schema.json +++ b/software/slaprunner/instance-runner-resilient-input-schema.json @@ -1,72 +1,72 @@ { - "type": "object", - "$schema": "http://json-schema.org/draft-04/schema", - "allOf": [ - { - "$ref": "instance-runner-input-schema.json#/" + "type": "object", + "$schema": "http://json-schema.org/draft-04/schema", + "allOf": [ + { + "$ref": "instance-runner-input-schema.json#/" + }, + { + "properties": { + "resilient-clone-number": { + "title": "Amount of backup(s) to create", + "description": "Amount of backup(s) to create. Each backup consists of a Pull Backup Server and a clone.", + "type": "integer", + "default": 1, + "minimum": 0, + "maximum": 2, + "optional": true }, - { - "properties": { - "resilient-clone-number": { - "title": "Amount of backup(s) to create", - "description": "Amount of backup(s) to create. Each backup consists of a Pull Backup Server and a clone.", - "type": "integer", - "default": 1, - "minimum": 0, - "maximum": 2, - "optional": true - }, - "-sla-runner0-computer_guid": { - "title": "Target computer for main instance", - "description": "Target computer GUID for main instance.", - "type": "string", - "optional": true - }, - "-sla-runner1-computer_guid": { - "title": "Target computer for first clone", - "description": "Target computer for first clone instance.", - "type": "string", - "optional": true - }, - "-sla-pbs1-computer_guid": { - "title": "Target computer for first PBS", - "description": "Target computer for first PBS instance.", - "type": "string", - "optional": true - }, - "-sla-runner2-computer_guid": { - "title": "Target computer for second clone", - "description": "Target computer for second clone instance.", - "type": "string", - "optional": true - }, - "-sla-pbs2-computer_guid": { - "title": "Target computer for second PBS", - "description": "Target computer for second PBS instance.", - "type": "string", - "optional": true - }, - "resiliency-backup-periodicity": { - "title": "Periodicity of backup", - "description": "Periodicity of backup, in cron format.", - "type": "string", - "optional": true - }, - "remove-backup-older-than": { - "title": "Remove backups older than...", - "description": "Remove all the backups in PBS that are older than specified value. It should be rdiff-backup-compatible.", - "type": "string", - "default": "2W", - "optional": true - }, - "ignore-known-hosts-file": { - "title": "Ignore known_hosts file", - "description": "Set either to fill known_hosts file for ssh or not. Useful if main instance and PBS are using the same IP (slapos proxy, webrunner).", - "type": "boolean", - "default": false, - "optional": true - } - } + "-sla-runner0-computer_guid": { + "title": "Target computer for main instance", + "description": "Target computer GUID for main instance.", + "type": "string", + "optional": true + }, + "-sla-runner1-computer_guid": { + "title": "Target computer for first clone", + "description": "Target computer for first clone instance.", + "type": "string", + "optional": true + }, + "-sla-pbs1-computer_guid": { + "title": "Target computer for first PBS", + "description": "Target computer for first PBS instance.", + "type": "string", + "optional": true + }, + "-sla-runner2-computer_guid": { + "title": "Target computer for second clone", + "description": "Target computer for second clone instance.", + "type": "string", + "optional": true + }, + "-sla-pbs2-computer_guid": { + "title": "Target computer for second PBS", + "description": "Target computer for second PBS instance.", + "type": "string", + "optional": true + }, + "resiliency-backup-periodicity": { + "title": "Periodicity of backup", + "description": "Periodicity of backup, in cron format.", + "type": "string", + "optional": true + }, + "remove-backup-older-than": { + "title": "Remove backups older than...", + "description": "Remove all the backups in PBS that are older than specified value. It should be rdiff-backup-compatible.", + "type": "string", + "default": "2W", + "optional": true + }, + "ignore-known-hosts-file": { + "title": "Ignore known_hosts file", + "description": "Set either to fill known_hosts file for ssh or not. Useful if main instance and PBS are using the same IP (slapos proxy, webrunner).", + "type": "boolean", + "default": false, + "optional": true } - ] -} \ No newline at end of file + } + } + ] +} diff --git a/software/slaprunner/software.cfg.json b/software/slaprunner/software.cfg.json index 227852aad9c31825afc4da885247f32aa53c5f88..729305866103812ba524b97f718ba6fa48ccd052 100644 --- a/software/slaprunner/software.cfg.json +++ b/software/slaprunner/software.cfg.json @@ -11,7 +11,7 @@ "index": 0 }, "resilient": { - "title": "Resilient", + "title": "Resilient", "description": "Resilient Runner", "request": "instance-runner-resilient-input-schema.json", "response": "instance-runner-output-schema.json", diff --git a/software/varnish/instance-varnish-input-schema.json b/software/varnish/instance-varnish-input-schema.json index 7ceec53195e31dc80e4e2a37ab0e2b24a45b1a02..1366dfe370deaa1406bf14922f775e9130e25e78 100644 --- a/software/varnish/instance-varnish-input-schema.json +++ b/software/varnish/instance-varnish-input-schema.json @@ -3,12 +3,15 @@ "extends": "./schema-definitions.json#", "properties": { "tcpv4-port": { - "allOf": [{ - "$ref": "#/definitions/tcpv4port" - }, { - "description": "Start allocating ports at this value, going upward", - "default": 6001 - }] + "allOf": [ + { + "$ref": "#/definitions/tcpv4port" + }, + { + "description": "Start allocating ports at this value, going upward", + "default": 6001 + } + ] }, "backend-url": { "description": "The backend url that varnish will cache", diff --git a/stack/resilient/parameter-schema.json b/stack/resilient/parameter-schema.json index a7cd9353fe9e99c143c521c384f85e945f0c413a..7a318ef171492eb65517cbfef818c10192af9537 100644 --- a/stack/resilient/parameter-schema.json +++ b/stack/resilient/parameter-schema.json @@ -3,7 +3,6 @@ "title": "Resiliency Parameters", "description": "List of possible parameters used in the resilient stack", "type": "object", - "properties": { "-sla-0-computer_guid": { "title": "Target computer for main instance",