# 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":"[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",
"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":{
...
...
@@ -109,12 +109,12 @@
},
"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",
"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":"[NOT Implemented] Prefer gzip Encoding for Backend",
"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"
...
...
@@ -104,7 +106,9 @@
},
"zope-partition-dict":{
"description":"Zope layout definition",
"default":{"1":{}},
"default":{
"1":{}
},
"patternProperties":{
".*":{
"additionalProperties":false,
...
...
@@ -160,12 +164,15 @@
"type":"string"
},
"port-base":{
"allOf":[{
"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":[{
"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":"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.",
"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.",
"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",