# The default installed firefox version when installing firefox-wrapper.
# Note that users must install ${firefox-wrapper:} to have a usable firefox
# installed in ${buildout:bin-directory}.
# Installing ${firefox:} is not enough, because wrapper setting $LD_LIBRARY_PATH
# would not be created.
<= firefox-52
[firefox-52]
<= firefox-download
version = 52.9.0esr
i686-md5sum = 9aa18888b7812670208490609d75c9bc
x86_64-md5sum = 9336d70f45070c743d08e5473b783a7a
[firefox-51]
<= firefox-download
version = 51.0.1
i686-md5sum = 9a5b67e9d759a1e4df004294a24b2b43
x86_64-md5sum = bd93f2652d1d90d59ae462439a93c85f
x86 = http://download-installer.cdn.mozilla.net/pub/firefox/releases/${:version}/linux-i686/en-US/firefox-${:version}.tar.bz2 9a5b67e9d759a1e4df004294a24b2b43
x86 = http://download-installer.cdn.mozilla.net/pub/firefox/releases/${:version}/linux-i686/en-US/firefox-${:version}.tar.bz2 3756c8d06d6f915a3dff1dae643ee74b
"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.",
"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.",
"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",
"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",
@@ -13,11 +13,6 @@ Generally things to be done with ``caddy-frontend``:
* **Jérome Perrin**: *For event source, if I understand https://github.com/mholt/caddy/issues/1355 correctly, we could use caddy as a proxy in front of nginx-push-stream . If we have a "central shared" caddy instance, can it handle keeping connections opens for many clients ?*
* ``ssl_ca_crt``
* ``disabled-cookie-list`` (requires writing middleware plugin for Caddy)::
* there is already `MR <https://github.com/mholt/caddy/pull/2144>`_ which will allow regexp modification of headers, thus cookies
* ``ssl_proxy_ca_crt`` for ``ssl_proxy_verify``, this is related to bug `#1550 <https://github.com/mholt/caddy/issues/1550>`_, proposed solution `just adding your CA to the system's trust store`
* ``check-error-on-caddy-log`` like ``check-error-on-apache-log``
* cover test suite like resilient tests for KVM and prove it works the same way as Caddy
"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",
"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",
"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",
"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.",
"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",
"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",
"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":"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":"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":"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":"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",
"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.",
"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",
"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",
"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', ...",
"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.",
"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.",
"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.",
...
...
@@ -221,7 +284,7 @@
},
"nat-rules":{
"title":"List of rules for NAT of QEMU user mode network stack.",
"description":"List of rules for NAT of QEMU user mode network stack, as comma-separated list of ports. For each port specified, it will redirect port x of the VM (example: 80) to the port x + 10000 of the public IPv6 (example: 10080). Defaults to \"22 80 443\". Ignored if \"use-tap\" parameter is enabled.",
"description":"List of rules for NAT of QEMU user mode network stack, as comma-separated list of ports (with optional protocol). For each port specified, it will redirect port x of the VM (example: 80, udp:53) to the port x + 10000 of the public IPv6 (example: 10080, udp:10053). Defaults to \"22 80 443\". Ignored if \"use-tap\" parameter is enabled.",
"type":"string"
},
"nat-restrict-mode":{
...
...
@@ -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.",
"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.",
"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",
"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",
"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",
"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",
"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",