Merge remote-tracking branch 'upstream/master' into zammad

This commit is contained in:
André Bauer
2017-09-13 22:19:23 +02:00
409 changed files with 19401 additions and 249 deletions
+2
View File
@@ -15,6 +15,8 @@ mongo-cluster:
volumes_from:
- mongo-datavolume
- mongo-base
ports:
- 27017:27017/tcp
mongo-base:
restart: always
net: none
+18
View File
@@ -0,0 +1,18 @@
# MongoDB
### Info:
This template creates MongoDB replica set on top of Rancher. Replica set size starts with 3 MongoDB instances, the replica set has the ability to scale up automatically when adding new instances.
### Usage:
Select MongoDB from catalog.
Enter the name of the replica set.
Click deploy.
MongoDB can now be accessed over the Rancher network.
+45
View File
@@ -0,0 +1,45 @@
version: '2'
services:
mongo-cluster:
restart: always
environment:
MONGO_SERVICE_NAME: mongo-cluster
CATTLE_SCRIPT_DEBUG: ${debug}
entrypoint: /opt/rancher/bin/entrypoint.sh
command:
- --replSet
- "${replset_name}"
image: mongo:3.4
labels:
io.rancher.scheduler.affinity:container_label_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
io.rancher.scheduler.affinity:host_label: ${host_label}
io.rancher.container.hostname_override: container_name
io.rancher.sidekicks: mongo-base, mongo-datavolume
volumes_from:
- mongo-datavolume
- mongo-base
ports:
- 27017:27017/tcp
mongo-base:
restart: always
labels:
io.rancher.scheduler.affinity:container_label_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
io.rancher.scheduler.affinity:host_label: ${host_label}
io.rancher.container.hostname_override: container_name
io.rancher.container.start_once: true
image: rancher/mongodb-conf:v0.1.1
stdin_open: true
entrypoint: /bin/true
mongo-datavolume:
labels:
io.rancher.scheduler.affinity:container_label_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
io.rancher.scheduler.affinity:host_label: ${host_label}
io.rancher.container.hostname_override: container_name
io.rancher.container.start_once: true
volumes:
- mongodata:/data/db
entrypoint: /bin/true
image: busybox
volumes:
mongodata:
driver: ${VOLUME_DRIVER}
+52
View File
@@ -0,0 +1,52 @@
version: '2'
catalog:
name: "MongoDB"
version: "3.4-rancher1"
description: "MongoDB Replica Set"
uuid: mongodb-1
minimum_rancher_version: v0.46.0
questions:
- variable: replset_name
description: "Name of the MongoDB replicaSet"
label: "ReplicaSet Name"
type: "string"
required: true
default: "rs0"
- variable: host_label
label: "Host Label to MongoDB Tags"
description: |
Host label to use as MongoDB 'value' tag.
Example: 'database'
required: false
type: "string"
- variable: debug
description: "Enable Debug log for Mongo containers"
label: "Debug"
type: "string"
required: false
default: ""
- variable: "VOLUME_DRIVER"
description: "The VOLUME driver to associate with this server"
label: "VOLUME Driver"
required: true
default: "local"
type: enum
options:
- local
- rancher-nfs
- rancher-efs
- rancher-ebs
- variable: mongo_scale
description: "How many containers the MongoDB will scale to?"
label: "mongo scale"
type: "int"
required: true
default: "3"
services:
mongo-cluster:
scale: ${mongo_scale}
retain_ip: true
metadata:
mongo:
yml:
replset.name: "${replset_name}"
+1 -1
View File
@@ -1,5 +1,5 @@
name: MongoDB
description: |
MongoDB Replica Set.
version: 3.2-rancher2
version: "3.4-rancher1"
category: Databases
+26
View File
@@ -0,0 +1,26 @@
# Prometheus
### Info:
This template deploys a collection of monitoring services based upon the technologies listed below, once deployed you should have a monitoring platform capable of querying a wide variety of metrics that represent your environment, also included are somehandy pre-configured dashboards to get you started.
In this catalog item, the following technologies are utilised to make this as useful as possible;
* [Prometheus](https://github.com/prometheus/prometheus) - Used to scrape and store metrics from our data sources.
* [Prometheus Node Exporter](https://github.com/prometheus/node_exporter) - Gets host level metrics and exposes them to Prometheus.
* [cAdvisor](https://github.com/google/cadvisor) - Deploys and Exposes the cadvsior stats used by Rancher's agent container, to Prometheus.
* [Grafana](https://github.com/grafana/grafana/) - Used to visualise the data from Prometheus and InfluxDB.
* [Prometheus Rancher Exporter](https://github.com/infinityworksltd/prometheus-rancher-exporter/) - Allows Prometheus to access the Rancher API and return the status of any stack or service in the rancher environment associated with the API key used.
The full compliment of metrics from the Rancher server itsself are now available for graphing directly in Prometheus, this is easily enabled with an environment variable. For those interested, I've documented the steps [here].(https://github.com/infinityworksltd/Guide_Rancher_Monitoring)
All components in this stack are open source tools available in the community. All this template does is to bound them together in an easy to use package. I expect most people who find this useful will make use of this as a starting point and develop it further around their own needs.
## Deployment:
1. Select Prometheus from the community catalog.
2. Enter the IP Address of your Rancher server (used for accessing Ranchers own metrics, optional)
3. Click deploy.
## Usage
* Grafana will now be available on, running on port 3000. I've added a number of dashboards to help get you started. Authentication is with the default `admin/admin`.
* Prometheus will now be available, running on port 9090. Have a play around with some of the data. For more information on Prometheus, check out their [documentation](https://prometheus.io/docs/introduction/overview/).
+72
View File
@@ -0,0 +1,72 @@
cadvisor:
labels:
io.rancher.scheduler.global: 'true'
tty: true
image: google/cadvisor:latest
stdin_open: true
volumes:
- "/:/rootfs:ro"
- "/var/run:/var/run:rw"
- "/sys:/sys:ro"
- "/var/lib/docker/:/var/lib/docker:ro"
node-exporter:
labels:
io.rancher.scheduler.global: 'true'
tty: true
image: prom/node-exporter:latest
stdin_open: true
prom-conf:
tty: true
image: infinityworks/prom-conf:19
volumes:
- /etc/prom-conf/
net: none
prometheus:
tty: true
image: prom/prometheus:v1.6.0
command: -alertmanager.url=http://alertmanager:9093 -config.file=/etc/prom-conf/prometheus.yml -storage.local.path=/prometheus -web.console.libraries=/etc/prometheus/console_libraries -web.console.templates=/etc/prometheus/consoles
ports:
- 9090:9090
labels:
io.rancher.sidekicks: prom-conf
volumes_from:
- prom-conf
volumes:
- prometheus-data:/prometheus
links:
- cadvisor:cadvisor
- node-exporter:node-exporter
- prometheus-rancher-exporter:prometheus-rancher-exporter
extra_hosts:
- "rancher-server:${RANCHER_SERVER}"
graf-db:
tty: true
image: infinityworks/graf-db:11
command: cat
volumes:
- /var/lib/grafana/
net: none
grafana:
tty: true
image: grafana/grafana:4.2.0
ports:
- 3000:3000
labels:
io.rancher.sidekicks: graf-db
volumes_from:
- graf-db
links:
- prometheus:prometheus
- prometheus-rancher-exporter:prometheus-rancher-exporter
prometheus-rancher-exporter:
tty: true
labels:
io.rancher.container.create_agent: true
io.rancher.container.agent.role: environment
image: infinityworks/prometheus-rancher-exporter:v0.22.52
@@ -0,0 +1,43 @@
.catalog:
name: "Prometheus"
version: "3.0.0"
description: "Prometheus Monitoring Solution"
uuid: prometheus-2
minimum_rancher_version: v1.5.5
questions:
- variable: "RANCHER_SERVER"
label: "Rancher Server"
description: "IP Address of the rancher server, no HTTP or slashes. This is only required for users that have enabled metrics to be exported by Rancher"
default: "0.0.0.0"
required: false
type: "string"
prometheus:
scale: 1
health_check:
port: 9090
interval: 5000
unhealthy_threshold: 3
request_line: ''
healthy_threshold: 2
response_timeout: 5000
grafana:
scale: 1
health_check:
port: 3000
interval: 5000
unhealthy_threshold: 3
request_line: ''
healthy_threshold: 2
response_timeout: 5000
prometheus-rancher-exporter:
scale: 1
health_check:
port: 9173
interval: 5000
unhealthy_threshold: 3
request_line: ''
healthy_threshold: 2
response_timeout: 5000
+1 -1
View File
@@ -1,5 +1,5 @@
name: Prometheus
description: |
Prometheus and friends, auto-discovering monitoring solution for Rancher deployments.
version: 2.1.0
version: 3.0.0
category: Monitoring
+41
View File
@@ -0,0 +1,41 @@
# Artifactory
[Artifactory][artifactory] is a universal Binary Repository Manager for use by build tools (like Maven and Gradle),
dependency management tools (like Ivy and NuGet) and build servers (like Jenkins, Hudson, TeamCity and Bamboo).
Repository managers serve two purposes: they act as highly configurable proxies between your organization and
external repositories and they also provide build servers with a deployment destination for your internally
generated artifacts.
### Usage:
- Select Artifactory from catalog.
- Select artifactory version.
- Select artifactory release, OSS or PRO.
- Set the params and select certificate.
Click "Launch".
### Notes:
- To use the PRO version, you need to get a free trial.
- You need a certificate imported in rancher enviroment before deploy this package.
- If you use self signed certificates, you should implement [self-signed-certificates][using-self-signed-certificates] in your hosts.
- If you use http schema, you should implement [insecure-registry][insecure-registry] in your hosts.
- KNOWN LIMITATION: "SSL certificate" is required for http and https publish schema.
### More info:
- [Resources][artifactory-resources]
- [Free-trial][artifactory-trial]
- [Self-signed-certificates][using-self-signed-certificates]
- [Insecure-registry][insecure-registry]
[artifactory]: https://www.jfrog.com/artifactory/
[artifactory-resources]: https://www.jfrog.com/support-service/resources/
[artifactory-trial]: https://www.jfrog.com/artifactory/free-trial/
[using-self-signed-certificates]: https://docs.docker.com/registry/insecure/#using-self-signed-certificates
[insecure-registry]: https://docs.docker.com/registry/insecure/# Artifactory
@@ -0,0 +1,59 @@
version: '2'
services:
artifactory:
{{- if eq .Values.ARTIFACTORY_VERSION "OSS"}}
image: docker.bintray.io/jfrog/artifactory-oss:5.4.5
{{- else}}
image: docker.bintray.io/jfrog/artifactory-pro:5.4.5
{{- end}}
volumes:
- artifactory-data:/var/opt/jfrog/artifactory
environment:
- EXTRA_JAVA_OPTIONS=${EXTRA_JAVA_OPTIONS}
artifactory-rp:
image: rawmind/alpine-nginx:1.12.1-3
external_links:
- artifactory:artifactory
environment:
NGINX_SERVER_NAME: artifactory
NGINX_SERVER_CONF: |
server {
listen ${PUBLISH_PORT};
server_name ~(?<repo>.+)\.${PUBLISH_NAME} ${PUBLISH_NAME};
set $$http_x_forwarded_proto ${PUBLISH_SCHEMA};
## Application specific logs
## access_log /var/log/nginx/oss.local-access.log timing;
## error_log /var/log/nginx/oss.local-error.log;
chunked_transfer_encoding on;
client_max_body_size 0;
proxy_read_timeout 900;
proxy_pass_header Server;
proxy_cookie_path ~*^/.* /;
location /v2 {
proxy_pass http://artifactory:8081/artifactory/api/docker/$$repo/v2/;
}
location / {
proxy_pass http://artifactory:8081/artifactory/;
}
proxy_set_header X-Artifactory-Override-Base-Url $$http_x_forwarded_proto://$$host:$$server_port;
proxy_set_header X-Forwarded-Port $$server_port;
proxy_set_header X-Forwarded-Proto $$http_x_forwarded_proto;
proxy_set_header Host $$http_host;
proxy_set_header X-Forwarded-For $$proxy_add_x_forwarded_for;
}
{{- if (.Values.PUBLISH_PORT)}}
artifactory-lb:
image: rancher/lb-service-haproxy:v0.6.4
ports:
- ${PUBLISH_PORT}:${PUBLISH_PORT}
{{- end}}
volumes:
artifactory-data:
driver: ${VOLUME_DRIVER}
@@ -0,0 +1,93 @@
version: '2'
catalog:
name: "Artifactory"
version: "5.4.5"
description: "Artifactory is a universal Binary Repository Manager"
questions:
- variable: "ARTIFACTORY_VERSION"
label: "Version"
description: |
Select the Artifactory server version. OSS or PRO
required: true
default: "OSS"
type: enum
options:
- OSS
- PRO
- variable: "PUBLISH_SCHEMA"
description: "Publish schema"
label: "Publish schema:"
required: true
default: "https"
type: "enum"
options:
- http
- https
- variable: "PUBLISH_NAME"
label: "Publish name"
description: |
Set publish fqdn for Artifactory server.
required: true
type: "string"
default: "artifactory.local"
- variable: "PUBLISH_PORT"
label: "Publish port"
description: |
Set port if you want publish external port for Artifactory server.
required: true
type: "int"
default: 8081
- variable: "SSL_CERT"
description: "Select SSL certificate."
label: "SSL certificate:"
required: true
default: ""
type: "certificate"
- variable: "EXTRA_JAVA_OPTIONS"
label: "Extra Java options"
description: |
type: "string"
default: ""
- variable: "VOLUME_DRIVER"
type: "string"
label: "Volume driver for Artifactory data"
description: |
Specifiy docker volume driver to use
default: "local"
required: true
services:
artifactory-lb:
scale: 1
lb_config:
certs: []
default_cert: ${SSL_CERT}
port_rules:
- protocol: ${PUBLISH_SCHEMA}
service: artifactory-rp
source_port: ${PUBLISH_PORT}
target_port: ${PUBLISH_PORT}
health_check:
response_timeout: 2000
healthy_threshold: 2
port: 42
unhealthy_threshold: 3
artifactory-rp:
scale: 1
retain_ip: true
health_check:
port: ${PUBLISH_PORT}
interval: 5000
unhealthy_threshold: 3
request_line: 'GET / HTTP/1.0'
healthy_threshold: 2
response_timeout: 5000
artifactory:
scale: 1
retain_ip: true
health_check:
port: 8081
interval: 5000
unhealthy_threshold: 3
request_line: 'GET / HTTP/1.0'
healthy_threshold: 2
response_timeout: 5000
+9
View File
@@ -0,0 +1,9 @@
# Artifactory
Artifactory is a universal Binary Repository Manager for use by build tools (like Maven and Gradle),
dependency management tools (like Ivy and NuGet) and build servers (like Jenkins, Hudson, TeamCity and Bamboo).
Repository managers serve two purposes: they act as highly configurable proxies between your organization and
external repositories and they also provide build servers with a deployment destination for your internally
generated artifacts.
@@ -0,0 +1,634 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 1012 302"
height="302"
width="1012"
id="svg3734"
version="1.1">
<defs
id="defs3738" />
<image
y="0"
x="0"
id="image3742"
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA/QAAAEuCAYAAAAgH1kCAAAABHNCSVQICAgIfAhkiAAAIABJREFU
eJzs3XecZFWZPvDnec+tnsQwZBDJkkSWUSZ19RDdNaHowi4j02G6e1zMu4ZV/C2GDbrBtCqmdRWm
u6e7GgbDurAYVhcDM91DUIK6BjCtCiIocaC77j3v74/qHib2dFXd6jA83w8DTPW9577VVXXrvvec
8x5ARERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERE
RERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERE
RERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERmHE53
AJKPjlLz2UDIAN/X3I81ME60fYRnsPhjImTRs4f6WjffMVWxioiIiIiISP2U0M8Cr7x2yfyRR5ND
6MkJcD+d9OPd8UwQhxM0Bwj4fBLuzoTw+QB9oja98s9jAEAyBTAKhwNI4f5jEL+Ojpsd/tMyy7f9
ZmSfR7/Z/c0npuL5ioiIiIiIyJ4poZ9huvqb/4hmK5x4Nh2LHP5MACc1zU328ehwB9zH0vFtU/Zt
/jJhJr8Nbvt/27wTyLGHjCABj0Bazu4ncSec97r7zxz2A1i6sXf15p/X8XRFRERERESkRkroZ4A1
/c0X0OxCcywDsdCB/ZOCzXN3eATgvn3yPg1IgobKWIAIuPsjcH8Q4EPR8W0S1/W0brp+eqMUERER
ERF56lBCP8Uu2nDKPgvSRW0ET3NHiwU8OxQMMRtL3vFkD/xMVunFr7x9zAgGIh1JRwAMO3iLe/xu
b9vwwLQGKSIiIiIishdTQj9F1vQ3XxBoa0E/BeDhoWBzK0n8DM/cq8CxYfogEDN/xN3vAXALGS9f
t3rz5umOT0REREREZG+ihL6BOkvFN5I4lc41yRwrxHT7OfB7s/EefBpggSiPZPeC+I/o+FZf69Dg
dMcnIiIiIiIy2ymhb4DOgeJHjTwHwCmhYBbTOO1z4KcbrZLcZ2l8FMBP3b2nt234Q9Mdl4iIiIiI
yGylhD4PDnaWmteSbA8FO4dgZU78U6AnvlrjPfchIcqjEQT6wey6das3Xz3dsYmIiIiIiMwmSujr
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
"
preserveAspectRatio="none"
height="302"
width="1012" />
</svg>

After

Width:  |  Height:  |  Size: 46 KiB

+6
View File
@@ -0,0 +1,6 @@
name: Artifactory
description: |
Artifactory is a universal Binary Repository Manager
version: 5.4.5
category: Repository
+11
View File
@@ -0,0 +1,11 @@
# Autospotting
### Info
This service builds upon the open source autospotting at [https://github.com/cristim/autospotting](https://github.com/cristim/autospotting)
This has been turned into a Rancher catalog entry with a couple of minor tweaks and the removal of the requirement to run it as a lambda function, it now runs as a docker container.
Autospotting works by taking a tag that you specify and adding it to an AWS Auto-Scaling Group with a value of true.
The container will then run and check for on-demand instances and replace them with cheap spot instances. This is a gradual process and will only replace one host in an ASG at a time.
@@ -0,0 +1,13 @@
aws-spot-instance-helper:
image: chrisurwin/autospotting:v0.1.0
tty: true
labels:
io.rancher.container.pull_image: always
environment:
AWS_ACCESS_KEY_ID: "${AWS_ACCESS_KEY_ID}"
AWS_SECRET_ACCESS_KEY: "${AWS_SECRET_ACCESS_KEY}"
regions: "${regions}"
min_on_demand_number: "${min_on_demand_number}"
min_on_demand_percentage: "${min_on_demand_percentage}"
allowed_instance_types: "${allowed_instance_types}"
tag_name: "${tag_name}"
@@ -0,0 +1,51 @@
.catalog:
name: "Autospotting"
version: "v0.1.0"
description: "Autospotting"
minimum_rancher_version: v1.0.0
questions:
- variable: "AWS_ACCESS_KEY_ID"
description: "AWS Access Key"
label: "AWS Access Key"
required: true
type: "string"
- variable: "AWS_SECRET_ACCESS_KEY"
description: "AWS Secret Key"
label: "Access Secret"
required: true
type: "string"
- variable: "regions"
description: "Regions where it should be activated (comma or whitespace separated list, also supports globs), by default it runs on all regions. Example: 'eu-*,us-east-1"
label: "AWS Regions"
required: false
type: "string"
- variable: "min_on_demand_number"
description: "On-demand capacity (as absolute number) ensured to be running in each of your groups"
label: "Minimum on demand number"
required: false
type: "string"
- variable: "min_on_demand_percentage"
description: "On-demand capacity (percentage of the total number of instances in the group) ensured to be running in each of your groups. Defaults to 0"
label: "Minimum on demand percentage"
required: false
type: "string"
- variable: "allowed_instance_types"
description: "If specified, the spot instances will have a specific instance type"
label: "Allowed instance types"
required: false
type: "string"
- variable: "tag_name"
description: "If specified you can tag instances with a specific tag to process, default is spot-enabled"
label: "Tag name"
required: false
type: "string"
aws-spot-instance-helper:
health_check:
port: 9777
interval: 2000
unhealthy_threshold: 3
strategy: recreate
response_timeout: 2000
request_line: GET /ping HTTP/1.0
healthy_threshold: 2
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 29 KiB

+5
View File
@@ -0,0 +1,5 @@
name: AutoSpotting
description: |
Replaces AWS On-Demand instances with cheaper Spot-Instances where possible
version: v0.1.0
category: Infrastructure Services
+32
View File
@@ -0,0 +1,32 @@
Avi Vantage Platform Load Balancer Provider
========
## About Avi Vantage Platform
The [Avi Vantage Platform](https://avinetworks.com/software-load-balancer-for-any-cloud/) is built on software-defined architectural principles to create a centrally managed pool of distributed load balancers to deliver application services close to the applications.
## About this provider
This provider load balances Rancher services using Avi Vantage Platform Load Balancer. It uses REST API to update the Avi controller which enables the Avi Service Engines to load balance the Rancher Services.
## Usage
1. Deploy the stack for this provider from Rancher Community Catalog.
While deploying, you need to give the username, password (optional,
read below), Avi Controller IP address, Avi Controller Port, the
Cloud name where Virtual Services and Pools are created.
2. Create Virtual Services using Avi Controller console. Make sure you
create VS in given cloud in Avi. Leave the Virtual Service pool as
empty. Configure any policies or rules for Virtual Service.
3. Create services in Rancher with public host port mapping and adding
label `io.rancher.service.external_lb.endpoint` with value as Virtual
Service name created in previous step. You can scale out/in the
service or stop the service and the changes will get reflected on Avi
Controller and Service Engine.
### Using Rancher Secrets for Avi Password
Optionally, you can use the Rancher Secrets to pass the Avi controller
password instead of using environment variable.
1. Run the Rancher Secrets service before deploying this provider stack.
2. Create a secret named "avi-creds".
3. While deploying the Avi provider stack, use the "avi-creds" secret
for Avi Provider service.
+16
View File
@@ -0,0 +1,16 @@
avi:
image: rancher/external-lb:v0.3.2
command: -provider=Avi
expose:
- 1000
environment:
AVI_USER: ${AVI_USER}
AVI_PASSWORD: ${AVI_PASSWORD}
AVI_CONTROLLER_ADDR: ${AVI_CONTROLLER_ADDR}
AVI_CONTROLLER_PORT: ${AVI_CONTROLLER_PORT}
AVI_SSL_VERIFY: ${AVI_SSL_VERIFY}
AVI_CLOUD_NAME: ${AVI_CLOUD_NAME}
LB_TARGET_RANCHER_SUFFIX: ${LB_TARGET_RANCHER_SUFFIX}
labels:
io.rancher.container.create_agent: "true"
io.rancher.container.agent.role: "external-lb"
+52
View File
@@ -0,0 +1,52 @@
.catalog:
name: Avi Vantange Platform Load Balancer
version: "v0.3.2-rancher1"
description: "External LB service powered by Avi Vantage Platform"
minimum_rancher_version: v1.1.0
questions:
- variable: "AVI_USER"
label: "Avi account username"
description: "User name for your account on Avi Controller"
type: "string"
required: true
- variable: "AVI_PASSWORD"
label: "Avi user account password"
description: "Password for your account on Avi Controller"
type: "string"
required: false
- variable: "AVI_CONTROLLER_ADDR"
label: "Avi Controller IP Address"
description: "IP Address of the Avi Controller"
type: "string"
required: true
- variable: "AVI_CONTROLLER_PORT"
label: "Avi Controller Port (Optional)"
description: "Port on which Avi Controller is listening for API requests"
type: "string"
required: false
- variable: "AVI_CLOUD_NAME"
label: "Avi Cloud Name (Optional)"
description: "Name of Avi Cloud in which Virtual Services are created"
required: false
type: "string"
- variable: "AVI_SSL_VERIFY"
label: "Avi SSL Verify (Optional)"
description: "SSL certificate validation while connecting to Avi Controller"
required: false
type: "boolean"
default: false
- variable: "LB_TARGET_RANCHER_SUFFIX"
label: "Avi pool name suffix"
description: "Pool names in Avi created/updated by Rancher will have this suffix"
type: "string"
required: true
default: rancher.internal
avi:
health_check:
port: 1000
interval: 5000
unhealthy_threshold: 2
request_line: GET / HTTP/1.0
healthy_threshold: 2
response_timeout: 2000
Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

+5
View File
@@ -0,0 +1,5 @@
name: Avi Vantage Platform
description: |
External LB service powered by Avi Vantage Platform
version: v0.3.2-rancher1
category: Load Balancing
+15
View File
@@ -0,0 +1,15 @@
AWS ELB Classic External LB Service
==========
#### About ELB Classic Load Balancers
The [Classic Load Balancer](https://aws.amazon.com/elasticloadbalancing/classicloadbalancer/) option in AWS routes traffic based on application or network level information and is ideal for simple load balancing of traffic across multiple EC2 instances.
#### About this service
Load balance Rancher services using Elastic Load Balancing.
This service keeps existing ELB Classic load balancers updated with the EC2 instances on which Rancher services that have one or more exposed ports and the label `io.rancher.service.external_lb.endpoint` are running on.
#### Usage
1. Deploy this stack
2. Using the AWS Console create a Classic ELB load balancer with one or more listeners and configure it according to your applications requirements. Configure the listener(s) with an instance protocol and port matching that of the Rancher service that you want to forward traffic to.
3. Create or update your service to expose host ports that match the configuration of the ELB listener(s). Add the service label `io.rancher.service.external_lb.endpoint` using as value the name of the ELB load balancer you created.
+14
View File
@@ -0,0 +1,14 @@
elbv1:
image: rancher/external-lb:v0.3.0
command: -provider=elbv1
expose:
- 1000
environment:
ELBV1_AWS_ACCESS_KEY: ${ELBV1_AWS_ACCESS_KEY}
ELBV1_AWS_SECRET_KEY: ${ELBV1_AWS_SECRET_KEY}
ELBV1_AWS_REGION: ${ELBV1_AWS_REGION}
ELBV1_AWS_VPCID: ${ELBV1_AWS_VPCID}
ELBV1_USE_PRIVATE_IP: ${ELBV1_USE_PRIVATE_IP}
labels:
io.rancher.container.create_agent: "true"
io.rancher.container.agent.role: "external-dns"
+41
View File
@@ -0,0 +1,41 @@
.catalog:
name: ELB Classic Load Balancer
version: "v0.3.0-rancher1"
description: "External LB service powered by AWS Elastic Load Balancing"
minimum_rancher_version: v1.1.0
questions:
- variable: "ELBV1_AWS_ACCESS_KEY"
label: "AWS Access Key ID"
description: "Access key ID for your AWS account"
type: "string"
required: false
- variable: "ELBV1_AWS_SECRET_KEY"
label: "AWS Secret Access Key"
description: "Secret access key for your AWS account"
type: "string"
required: false
- variable: "ELBV1_AWS_REGION"
label: "AWS Region (Optional)"
description: "The region for load balancers and EC2 instances in this Rancher environment. Defaults to the region of the instance the service will be running on."
type: "string"
required: false
- variable: "ELBV1_AWS_VPCID"
label: "AWS VPC ID (Optional)"
description: "The VPC for the load balancers and EC2 instances in this Rancher environment. Defaults to the VPC of the instance the service will be running on."
type: "string"
required: false
- variable: "ELBV1_USE_PRIVATE_IP"
label: "EC2 Private IP Lookup"
description: "If your EC2 instances are registered in Rancher with their private IP addresses, then this must be set to true."
required: true
type: "boolean"
default: false
elbv1:
health_check:
port: 1000
interval: 5000
unhealthy_threshold: 2
request_line: GET / HTTP/1.0
healthy_threshold: 2
response_timeout: 2000
+1 -1
View File
@@ -1,5 +1,5 @@
name: ELB Classic Load Balancer
description: |
External LB service powered by AWS Elastic Load Balancing
version: v0.2.1-rancher1
version: v0.3.0-rancher1
category: Load Balancing
+24
View File
@@ -0,0 +1,24 @@
version: '2'
services:
bitbucket:
image: atlassian/bitbucket-server:5.1
volumes_from:
- bitbucket-data
ports:
- ${BITBUCKET_PORT}:7990
labels:
io.rancher.sidekicks: bitbucket-data
io.rancher.container.hostname_override: container_name
bitbucket-data:
image: atlassian/bitbucket-server:5.1
entrypoint:
- /bin/true
volumes:
- /var/atlassian/application-data/bitbucket
labels:
io.rancher.container.start_once: 'true'
io.rancher.container.hostname_override: container_name
+24
View File
@@ -0,0 +1,24 @@
version: '2'
catalog:
name: bitbucket
version: 0.0.1
description: Git Server
questions:
- variable: BITBUCKET_PORT
label: Port
default: 80
required: true
type: int
services:
bitbucket:
scale: 1
start_on_create: true
bitbucket-data:
scale: 1
start_on_create: true
+4
View File
@@ -0,0 +1,4 @@
# Bitbucket
Read more in the official Bitbucket Docker [Documentation](https://bitbucket.org/atlassian/docker-atlassian-bitbucket-server).
@@ -0,0 +1,104 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 138 35" enable-background="new 0 0 138 35" xml:space="preserve">
<g>
<g>
<g>
<g>
<path fill="#205081" d="M45.6,12.9h-3.1c-0.3,0-0.5,0.2-0.5,0.5v2.7c0,0.3,0.2,0.5,0.5,0.5h3.1c0.3,0,0.5-0.2,0.5-0.5v-2.7
C46.1,13.2,45.9,12.9,45.6,12.9z"/>
</g>
</g>
</g>
<g>
<g>
<path fill="#205081" d="M30.4,0.3c0-0.1-0.1-0.1-0.2-0.1h-1.8c-0.1,0-0.2,0.1-0.2,0.1l-2.3,7.3c0,0.1,0,0.1,0,0.2
c0,0.1,0.1,0.1,0.2,0.1h1.3c0.1,0,0.2-0.1,0.2-0.1l1.6-5.4c0,0,0-0.1,0.2-0.1c0.1,0,0.2,0.1,0.2,0.1l0.7,2.5h-1
c-0.1,0-0.2,0.1-0.2,0.1l-0.3,1c0,0.1,0,0.1,0,0.2c0,0,0.1,0.1,0.2,0.1h1.7l0.4,1.4c0,0.1,0.1,0.1,0.2,0.1h1.3
c0.1,0,0.1,0,0.2-0.1c0,0,0-0.1,0-0.2L30.4,0.3z"/>
<path fill="#205081" d="M35.9,6.7c0-0.1,0-0.1-0.1-0.1c0,0-0.1,0-0.2,0c-0.2,0.1-0.4,0.1-0.6,0.1c-0.3,0-0.4-0.1-0.4-0.4V3.4h1.1
c0.1,0,0.2-0.1,0.2-0.2V2.4c0-0.1-0.1-0.2-0.2-0.2h-1.1V0.8c0-0.1,0-0.1-0.1-0.1c0,0-0.1-0.1-0.2,0l-1.2,0.2
c-0.1,0-0.2,0.1-0.2,0.2v1.2h-0.6c-0.1,0-0.2,0.1-0.2,0.2v0.9c0,0.1,0.1,0.2,0.2,0.2h0.6v3c0,1,0.5,1.5,1.6,1.5
c0.3,0,0.8-0.1,1.1-0.2C36,7.7,36,7.7,36,7.6L35.9,6.7z"/>
<path fill="#205081" d="M38,0h-1.2c-0.1,0-0.2,0.1-0.2,0.2v7.5c0,0.1,0.1,0.2,0.2,0.2H38c0.1,0,0.2-0.1,0.2-0.2V0.2
C38.2,0.1,38.1,0,38,0z"/>
<path fill="#205081" d="M41,2.1c-0.6,0-1.3,0.1-1.8,0.2c-0.1,0-0.2,0.1-0.1,0.2l0.1,0.8c0,0.1,0,0.1,0.1,0.1c0,0,0.1,0,0.1,0
c0.5-0.1,1-0.1,1.4-0.1c0.8,0,1,0.2,1,0.7v0.5h-1.2c-1.2,0-1.7,0.5-1.7,1.6c0,1.1,0.6,1.7,1.5,1.7c0.6,0,1.1-0.2,1.6-0.4l0,0.2
c0,0.1,0.1,0.1,0.2,0.1h0.9c0.1,0,0.2-0.1,0.2-0.2V4.1C43.3,2.6,42.7,2.1,41,2.1z M41.7,5.8v0.7c-0.2,0.1-0.5,0.2-1,0.2
c-0.4,0-0.5-0.1-0.5-0.5c0-0.3,0.1-0.5,0.5-0.5H41.7z"/>
<path fill="#205081" d="M46.2,4.3c-0.7-0.2-0.7-0.2-0.7-0.6c0-0.3,0-0.4,0.6-0.4c0.4,0,1,0.1,1.4,0.1c0.1,0,0.1,0,0.1,0
c0,0,0.1-0.1,0.1-0.1l0.1-0.9c0-0.1-0.1-0.2-0.2-0.2c-0.4-0.1-1.1-0.2-1.6-0.2c-1.8,0-2.1,0.7-2.1,1.7c0,1.1,0.2,1.5,1.6,1.8
c0.9,0.2,0.9,0.4,0.9,0.6c0,0.3,0,0.5-0.6,0.5c-0.5,0-1-0.1-1.5-0.2c-0.1,0-0.1,0-0.2,0c0,0-0.1,0.1-0.1,0.1l-0.2,0.8
c0,0.1,0,0.2,0.1,0.2C44.6,7.8,45.3,8,45.9,8c1.7,0,2.1-0.7,2.1-1.8C47.9,5,47.7,4.7,46.2,4.3z"/>
<path fill="#205081" d="M50.7,4.3c-0.7-0.2-0.7-0.2-0.7-0.6c0-0.3,0-0.4,0.6-0.4c0.4,0,1,0.1,1.4,0.1c0.1,0,0.1,0,0.2,0
c0,0,0.1-0.1,0.1-0.1l0.1-0.9c0-0.1-0.1-0.2-0.1-0.2c-0.4-0.1-1.1-0.2-1.6-0.2c-1.8,0-2.1,0.7-2.1,1.7c0,1.1,0.2,1.5,1.6,1.8
c0.9,0.2,0.9,0.4,0.9,0.6c0,0.3,0,0.5-0.6,0.5c-0.5,0-1-0.1-1.5-0.2c-0.1,0-0.1,0-0.2,0c0,0-0.1,0.1-0.1,0.1l-0.2,0.8
c0,0.1,0,0.2,0.1,0.2C49,7.8,49.8,8,50.3,8c1.7,0,2.1-0.7,2.1-1.8C52.4,5,52.2,4.7,50.7,4.3z"/>
<path fill="#205081" d="M54.4,0h-1.2C53.1,0,53,0.1,53,0.2v1c0,0.1,0.1,0.2,0.2,0.2h1.2c0.1,0,0.2-0.1,0.2-0.2v-1
C54.6,0.1,54.5,0,54.4,0z"/>
<path fill="#205081" d="M54.4,2.2h-1.2c-0.1,0-0.2,0.1-0.2,0.2v5.3c0,0.1,0.1,0.2,0.2,0.2h1.2c0.1,0,0.2-0.1,0.2-0.2V2.4
C54.6,2.3,54.5,2.2,54.4,2.2z"/>
<path fill="#205081" d="M57.4,2.1c-0.6,0-1.3,0.1-1.8,0.2c-0.1,0-0.2,0.1-0.1,0.2l0.1,0.8c0,0.1,0,0.1,0.1,0.1c0,0,0.1,0,0.1,0
c0.5-0.1,1-0.1,1.4-0.1c0.8,0,1,0.2,1,0.7v0.5h-1.2c-1.2,0-1.7,0.5-1.7,1.6c0,1.1,0.6,1.7,1.5,1.7c0.6,0,1.1-0.2,1.6-0.4l0.1,0.2
c0,0.1,0.1,0.1,0.2,0.1h0.9c0.1,0,0.2-0.1,0.2-0.2V4.1C59.7,2.6,59.1,2.1,57.4,2.1z M58.2,5.8v0.7c-0.2,0.1-0.5,0.2-1,0.2
c-0.4,0-0.5-0.1-0.5-0.5c0-0.3,0.1-0.5,0.5-0.5H58.2z"/>
<path fill="#205081" d="M64,2.1c-0.6,0-1.4,0.2-2.2,0.5l-0.1-0.3c0-0.1-0.1-0.1-0.2-0.1h-0.9c-0.1,0-0.2,0.1-0.2,0.2v5.3
c0,0.1,0.1,0.2,0.2,0.2h1.2c0.1,0,0.2-0.1,0.2-0.2V4c0.4-0.2,1-0.4,1.4-0.4c0.3,0,0.4,0.1,0.4,0.4v3.7c0,0.1,0.1,0.2,0.2,0.2h1.2
c0.1,0,0.2-0.1,0.2-0.2V3.8C65.3,2.6,64.9,2.1,64,2.1z"/>
</g>
</g>
</g>
<g>
<g>
<g>
<g>
<path fill="#205081" d="M67.3,18.4c-1.5,0-3.1,0.4-4.1,0.8v-5.7c0-0.3-0.2-0.5-0.5-0.5h-3.1c-0.3,0-0.5,0.2-0.5,0.5v19.8
c0,0.3,0.2,0.5,0.4,0.5c1.9,0.3,4.2,0.5,5.5,0.5c5.8,0,7-2.5,7-6.2v-4.3C72,20.2,70.4,18.4,67.3,18.4z M65.2,30.6
c-0.8,0-1.4,0-2-0.1v-7.7c0.9-0.4,2.1-0.8,3-0.8c1.2,0,1.7,0.5,1.7,1.6v4.5C67.9,29.8,67.5,30.6,65.2,30.6z"/>
<path fill="#205081" d="M86.3,18.7h-3.1c-0.3,0-0.5,0.2-0.5,0.5V29c-1.1,0.6-2.7,1.2-3.6,1.2c-0.7,0-1-0.3-1-1v-10
c0-0.3-0.2-0.5-0.5-0.5h-3.1c-0.3,0-0.5,0.2-0.5,0.5v10.4c0,3,1.2,4.6,3.6,4.6c1.6,0,3.9-0.6,5.8-1.5l0.2,0.8
c0.1,0.2,0.3,0.4,0.5,0.4l2.3,0c0.3,0,0.5-0.2,0.5-0.5V19.2C86.8,19,86.6,18.7,86.3,18.7z"/>
<path fill="#205081" d="M98.7,30.7c0-0.1-0.1-0.3-0.2-0.4c-0.1-0.1-0.3-0.1-0.4-0.1c-0.9,0.2-1.8,0.3-2.7,0.3
c-2,0-2.5-0.5-2.5-2.2v-4.1c0-1.7,0.6-2.2,2.5-2.2c0.5,0,1.6,0.1,2.7,0.3c0.1,0,0.3,0,0.4-0.1c0.1-0.1,0.2-0.2,0.2-0.4l0.4-2.4
c0-0.3-0.1-0.5-0.4-0.6c-1.2-0.4-2.6-0.5-3.4-0.5c-4.7,0-6.6,1.7-6.6,5.9v4c0,4.2,1.9,5.9,6.6,5.9c1.1,0,2.4-0.2,3.4-0.5
c0.3-0.1,0.4-0.3,0.4-0.6L98.7,30.7z"/>
<path fill="#205081" d="M120.1,18.4c-4.2,0-6.3,2.1-6.3,6v3.9c0,4,2.1,5.9,6.5,5.9c1.8,0,3.7-0.3,5.3-0.9
c0.2-0.1,0.4-0.3,0.3-0.6l-0.5-2.2c0-0.1-0.1-0.3-0.2-0.3c-0.1-0.1-0.3-0.1-0.4-0.1c-1.4,0.4-2.8,0.6-4.1,0.6
c-2.3,0-2.7-0.7-2.7-2.3v-0.5h7.7c0.3,0,0.5-0.2,0.5-0.5v-2.8C126.1,20.4,124.2,18.4,120.1,18.4z M117.9,24.5V24
c0-1.5,0.7-2.1,2.2-2.1c1.7,0,2,0.8,2,2.1v0.5H117.9z"/>
<path fill="#205081" d="M45.6,18.7h-3.1c-0.3,0-0.5,0.2-0.5,0.5v14.2c0,0.3,0.2,0.5,0.5,0.5h3.1c0.3,0,0.5-0.2,0.5-0.5V19.2
C46.1,18.9,45.9,18.7,45.6,18.7z"/>
<path fill="#205081" d="M45.6,12.9h-3.1c-0.3,0-0.5,0.2-0.5,0.5v2.7c0,0.3,0.2,0.5,0.5,0.5h3.1c0.3,0,0.5-0.2,0.5-0.5v-2.7
C46.1,13.2,45.9,12.9,45.6,12.9z"/>
<g>
<path fill="#205081" d="M37.8,23.1c1.3-0.7,1.8-1.7,1.8-3.2v-2.1c0-3-1.8-4.5-5.6-4.5h-7.6c-0.3,0-0.5,0.2-0.5,0.5v19.6
c0,0.3,0.2,0.5,0.5,0.5h8.2c3.6,0,5.7-1.8,5.7-4.9v-2.1C40.3,25.1,39.4,23.7,37.8,23.1z M30.1,16.9h3.4c1.6,0,1.8,0.7,1.8,1.4
v1.8c0,1.2-0.5,1.7-1.8,1.7h-0.7c-0.3,0-0.5,0.2-0.5,0.5v2.5c0,0.3,0.2,0.5,0.5,0.5h1.3c1.4,0,1.9,0.5,1.9,1.8v1.5
c0,1.3-0.6,1.7-2.2,1.7h-3.7V16.9z"/>
</g>
<path fill="#205081" d="M57.2,30.9c0-0.1-0.1-0.3-0.2-0.4c-0.1-0.1-0.3-0.1-0.4-0.1c-0.5,0.1-1.1,0.2-1.5,0.2
c-0.8,0-1.1-0.3-1.1-1.1v-7.5h3c0.3,0,0.5-0.2,0.5-0.5v-2.3c0-0.3-0.2-0.5-0.5-0.5h-3v-3.6c0-0.2-0.1-0.3-0.2-0.4
c-0.1-0.1-0.3-0.1-0.4-0.1L50.3,15c-0.3,0-0.5,0.3-0.5,0.5v3.2h-1.7c-0.3,0-0.5,0.2-0.5,0.5v2.3c0,0.3,0.2,0.5,0.5,0.5h1.7v8
c0,2.7,1.4,4.1,4.3,4.1c0.8,0,2.2-0.2,3.1-0.5c0.2-0.1,0.4-0.3,0.3-0.6L57.2,30.9z"/>
<path fill="#205081" d="M136.3,30.9c0-0.1-0.1-0.3-0.2-0.4c-0.1-0.1-0.3-0.1-0.4-0.1c-0.6,0.1-1.1,0.2-1.5,0.2
c-0.8,0-1.1-0.3-1.1-1.1v-7.5h3c0.3,0,0.5-0.2,0.5-0.5v-2.3c0-0.3-0.2-0.5-0.5-0.5h-3v-3.6c0-0.2-0.1-0.3-0.2-0.4
c-0.1-0.1-0.3-0.1-0.4-0.1l-3.1,0.4c-0.3,0-0.5,0.3-0.5,0.5v3.2h-1.7c-0.3,0-0.5,0.2-0.5,0.5v2.3c0,0.3,0.2,0.5,0.5,0.5h1.7v8
c0,2.7,1.4,4.1,4.3,4.1c0.8,0,2.2-0.2,3.1-0.5c0.2-0.1,0.4-0.3,0.3-0.6L136.3,30.9z"/>
</g>
</g>
</g>
</g>
<path fill="#205081" d="M113.2,33l-4.1-6.8l4-6.7c0.1-0.2,0.1-0.4,0-0.5c-0.1-0.2-0.3-0.3-0.5-0.3h-3.4c-0.2,0-0.4,0.1-0.5,0.3
l-3.8,6.6V13.4c0-0.3-0.2-0.5-0.5-0.5h-3.1c-0.3,0-0.5,0.2-0.5,0.5v19.9c0,0.3,0.2,0.5,0.5,0.5h3.1c0.3,0,0.5-0.2,0.5-0.5v-6.5
l4,6.8c0.1,0.2,0.3,0.3,0.4,0.3h3.4c0,0,0,0,0,0c0.3,0,0.5-0.2,0.5-0.5C113.3,33.2,113.3,33.1,113.2,33z"/>
<path fill="#205081" d="M10.2,11.5L10.2,11.5L10.2,11.5C4.6,11.5,0,13,0,14.9c0,0.5,1.2,7.6,1.7,10.4c0.2,1.3,3.5,3.1,8.5,3.1l0,0v0
c5,0,8.2-1.8,8.5-3.1c0.5-2.8,1.7-9.9,1.7-10.4C20.3,13,15.8,11.5,10.2,11.5z M10.2,26.1c-1.8,0-3.2-1.4-3.2-3.2
c0-1.8,1.4-3.2,3.2-3.2c1.8,0,3.2,1.4,3.2,3.2C13.4,24.6,12,26.1,10.2,26.1z M10.2,15.9c-3.6,0-6.5-0.6-6.5-1.4
c0-0.8,2.9-1.4,6.5-1.4c3.6,0,6.5,0.6,6.5,1.4C16.7,15.3,13.8,15.9,10.2,15.9z"/>
<path fill="#205081" d="M17.5,28c-0.2,0-0.3,0.1-0.3,0.1s-2.5,2-7,2c-4.5,0-7-2-7-2S3,28,2.9,28c-0.2,0-0.4,0.1-0.4,0.4
c0,0,0,0.1,0,0.1c0.4,2.1,0.7,3.6,0.7,3.8c0.3,1.5,3.3,2.7,6.9,2.7l0,0h0h0l0,0c3.6,0,6.6-1.2,6.9-2.7c0-0.2,0.3-1.7,0.7-3.8
c0,0,0-0.1,0-0.1C17.8,28.2,17.7,28,17.5,28z"/>
<circle fill="#205081" cx="10.2" cy="22.8" r="1.6"/>
</svg>

After

Width:  |  Height:  |  Size: 8.2 KiB

+6
View File
@@ -0,0 +1,6 @@
name: bitbucket
description: Git Server
version: 0.0.1
category: Versioning
projectURL: https://github.com/ellerbrock/rancher-collection
@@ -44,7 +44,7 @@ consul:
- -client=0.0.0.0
environment:
CONSUL_LOCAL_CONFIG: "{\"leave_on_terminate\": true, \"datacenter\": \"${consul_datacenter}\"}"
CONSUL_BIND_INTERFACE: eth0
CONSUL_BIND_INTERFACE: ${consul_bind_interface}
volumes_from:
- consul-data
log_opt: {}
@@ -13,3 +13,8 @@
type: "string"
required: true
default: "dc1"
- variable: consul_bind_interface
label: "Consul Bind Interface"
type: "string"
required: true
default: "eth0"
+32
View File
@@ -0,0 +1,32 @@
# Consul Cluster
### Info:
This template creates 3 Consul nodes that uses RPC encryption with TLS and gossip encryption to secure connection between consul cluster nodes, configuration is generated with confd from Rancher metadata.
TLS is used to verify the authenticity of the servers and the clients using the verify_incoming and verify_outgoing options.
The variables used in this template include:
- Certificates and keys for Consul nodes.
- CA certificate.
- 16-bytes, Base64 encoded gossip encryption key.
- Web UI option.
- ACL options.
The templates uses two Docker images one as the main image and the other one is the sidekick:
- consul.
- [consul-config](https://github.com/galal-hussein/consul-config).
### Usage:
Select Consul from catalog.
Enter the certificates and keys for consul nodes, ca certificates, and the encryption key.
Click deploy.
The consul nodes will be bound to the Rancher managed network IPs.
+41
View File
@@ -0,0 +1,41 @@
consul-base:
image: consul:0.8.1
entrypoint:
- /opt/rancher/bin/start_consul.sh
net: "container:consul"
labels:
io.rancher.container.hostname_override: container_name
volumes_from:
- consul-data
consul-data:
image: alpine:latest
entrypoint:
- /bin/true
labels:
io.rancher.container.hostname_override: container_name
io.rancher.container.start_once: true
volumes:
- /var/consul
- /opt/rancher/bin
- /opt/rancher/ssl
- /opt/rancher/config
net: none
consul:
image: husseingalal/consul-config:0.1.2
labels:
io.rancher.container.hostname_override: container_name
io.rancher.sidekicks: consul-base,consul-data
volumes_from:
- consul-data
{{- if eq .Values.ui "true"}}
consul-lb:
ports:
- 8500:8500/tcp
expose:
- 8500:8500/tcp
tty: true
image: rancher/load-balancer-service
links:
- consul:consul-base
stdin_open: true
{{- end }}
+93
View File
@@ -0,0 +1,93 @@
.catalog:
name: "Consul"
description: "Secure Consul cluster"
version: "0.8-rancher1"
upgrade_from: 0.0.0-rancher1
uuid: consul-0
questions:
- variable: ca_crt
label: "CA certificate"
type: "multiline"
required: true
- variable: consul1_key
label: "First consul key"
type: "multiline"
required: true
- variable: consul1_crt
label: "First consul certificate"
type: "multiline"
required: true
- variable: consul2_key
label: "Second consul key"
type: "multiline"
required: true
- variable: consul2_crt
label: "Second consul certificate"
type: "multiline"
required: true
- variable: consul3_key
label: "Third consul key"
type: "multiline"
required: true
- variable: consul3_crt
label: "Third consul certificate"
type: "multiline"
required: true
- variable: gossip_key
label: "Communication gossip key"
type: "multiline"
required: true
- variable: enable_acl
label: "ACL Access"
type: "boolean"
required: true
default: false
- variable: acl_default_policy
label: "ACL Default Policy"
type: "enum"
options:
- "allow"
- "deny"
default: "allow"
required: true
- variable: acl_down_policy
label: "ACL Down Policy"
type: "enum"
options:
- "allow"
- "deny"
default: "allow"
required: true
- variable: acl_master_token
label: "ACL Master Token"
type: "string"
default: ""
required: false
- variable: ui
label: "Enable UI"
type: "boolean"
default: false
required: true
consul:
scale: 3
metadata:
ca.crt: |
${ca_crt}
consul1.crt: |
${consul1_crt}
consul1.key: |
${consul1_key}
consul2.crt: |
${consul2_crt}
consul2.key: |
${consul2_key}
consul3.crt: |
${consul3_crt}
consul3.key: |
${consul3_key}
enc.key: "${gossip_key}"
acl.enabled: "${enable_acl}"
acl.default_policy: "${acl_default_policy}"
acl.down_policy: "${acl_down_policy}"
acl.master_token: "${acl_master_token}"
ui.enabled: ${ui}
+1 -1
View File
@@ -1,5 +1,5 @@
name: Consul Cluster
description: |
Consul cluster
version: 0.6-rancher1
version: 0.8-rancher1
category: Clustering
+1 -1
View File
@@ -8,7 +8,7 @@ datadog-init:
io.rancher.container.start_once: 'true'
io.rancher.container.pull_image: always
datadog-agent:
image: datadog/docker-dd-agent:11.0.5110
image: datadog/docker-dd-agent:11.0.5123
entrypoint: /opt/rancher/entrypoint-wrapper.py
command:
- supervisord
+1 -1
View File
@@ -1,6 +1,6 @@
.catalog:
name: "Datadog"
version: "1.1.0-11.0.5110"
version: "1.1.0-11.0.5123"
description: "Real-time performance tracking and visualization of your container-based application deployment"
minimum_rancher_version: v1.2.0
questions:
+1 -1
View File
@@ -1,7 +1,7 @@
name: Datadog
description: |
Real-time performance tracking and visualization of your container-based application deployment
version: 1.1.0-11.0.5110
version: 1.1.0-11.0.5123
category: Monitoring
maintainer: "Jan Bruder <jan@rancher.com>"
license: The MIT License
+2 -2
View File
@@ -18,7 +18,7 @@
type: "password"
required: true
label: "Remote Config"
description: "Must be the full connection string. see http://readme.drone.io/setup/overview/ for more info"
description: "Must be the full connection string. See http://readme.drone.io/admin/ for more info"
- variable: "public_port"
type: "int"
required: true
@@ -38,7 +38,7 @@
label: "Database Config"
type: "password"
required: true
description: "Must be full db string. The hostname for the DB will be 'database'. See http://readme.drone.io/setup/overview/ for more info"
description: "Must be full db string. The hostname for the DB will be 'database'. See http://docs.drone.io/databases.html for more info"
- variable: "database_service"
type: "service"
label: "Database Service"
+19
View File
@@ -0,0 +1,19 @@
# Drone
### Info:
This template creates an instance of Drone CI server 0.5 along with selectable number of agents to perform the builds.
### Usage:
Select the Drone template from the catalog. Provide the following information:
1. Publish port
2. Agents scale
3. Drone secret
4. Run mode. debug | release
3. Remote driver and config. (Ie. GitHub)
4. Database driver and config. (Ie. sqlite)
See [Drone documentation](http://readme.drone.io/admin) for complete information.
+79
View File
@@ -0,0 +1,79 @@
version: '2'
services:
agent:
image: drone/drone:0.5
environment:
DRONE_SERVER: ws://drone:8000/ws/broker
DRONE_SECRET: ${drone_secret}
volumes:
- /var/run/docker.sock:/var/run/docker.sock
links:
- server:drone
command:
- agent
labels:
io.rancher.scheduler.affinity:container_label_soft_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
io.rancher.container.hostname_override: container_name
server:
image: drone/drone:0.5
environment:
GIN_MODE: ${gin_mode}
DRONE_SECRET: ${drone_secret}
DRONE_OPEN: ${drone_open}
{{- if (.Values.drone_admin)}}
DRONE_ADMIN: ${drone_admin}
{{- end}}
{{- if (.Values.drone_orgs)}}
DRONE_ORGS: ${drone_orgs}
{{- end}}
{{- if eq .Values.drone_driver "github"}}
DRONE_GITHUB: true
DRONE_GITHUB_CLIENT: ${drone_driver_client}
DRONE_GITHUB_SECRET: ${drone_driver_secret}
{{- end}}
{{- if eq .Values.drone_driver "bitbucket"}}
DRONE_BITBUCKET: true
DRONE_BITBUCKET_CLIENT: ${drone_driver_client}
DRONE_BITBUCKET_SECRET: ${drone_driver_secret}
{{- end}}
{{- if eq .Values.drone_driver "gitlab"}}
DRONE_GITLAB: true
DRONE_GITLAB_CLIENT: ${drone_driver_secret}
DRONE_GITLAB_SECRET: ${drone_driver_secret}
DRONE_GITLAB_URL: ${drone_driver_url}
{{- end}}
{{- if eq .Values.drone_driver "gogs"}}
DRONE_GOGS: true
DRONE_GOGS_URL: ${drone_driver_url}
{{- end}}
{{- if ne .Values.database_driver "sqlite"}}
DRONE_DATABASE_DRIVER: ${database_driver}
DRONE_DATABASE_DATASOURCE: ${database_source}
{{- end}}
labels:
io.rancher.scheduler.affinity:container_label_soft_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
io.rancher.container.hostname_override: container_name
{{- if eq .Values.database_driver "sqlite"}}
io.rancher.sidekicks: server-volume
volumes_from:
- server-volume
server-volume:
image: rawmind/alpine-volume:0.0.2-1
environment:
SERVICE_GID: '0'
SERVICE_UID: '0'
SERVICE_VOLUME: /var/lib/drone
network_mode: none
volumes:
- /var/lib/drone
labels:
io.rancher.container.start_once: 'true'
io.rancher.scheduler.affinity:container_label_soft_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
io.rancher.container.hostname_override: container_name
{{- end}}
lb:
image: rancher/load-balancer-service
ports:
- ${host_port}:8000/tcp
links:
- server:server
+123
View File
@@ -0,0 +1,123 @@
version: 2
catalog:
name: Drone
version: 0.5-rancher1
upgrade_from: 0.5-rancher1
description: |
Drone CI Server ref http://readme.drone.io/admin/installation-guide/
questions:
- variable: host_port
label: Drone server Host Port
description: |
Port that will be exposed on service creation
required: true
default: 8000
type: int
- variable: agent_scale
label: Drone agent scale
description: Drone agent scale to deploy
required: true
default: 1
type: int
- variable: drone_secret
label: Server and agents sercret.
description: Server and agents secret to be communicate. http://readme.drone.io/admin/user-registration/
type: password
required: true
- variable: gin_mode
label: Run mode
description: "Drone run mode, GIN_MODE"
type: enum
default: "release"
options:
- "release"
- "debug"
required: true
- variable: drone_open
label: Open registration
description: |
Users self register. http://readme.drone.io/admin/user-registration/
required: true
default: true
type: enum
options:
- true
- false
- variable: drone_admin
label: Drone Admin
description: List of admins for drone coma seperated. http://readme.drone.io/admin/user-admins/
type: string
required: false
- variable: drone_orgs
label: Organizations
description: Comman seperated list of org that can access drone. http://readme.drone.io/admin/user-registration/
type: string
required: false
- variable: "drone_driver"
type: "enum"
required: true
label: "Remote Driver"
default: "github"
description: "Remote Git and Auth scheme. ref http://readme.drone.io/admin"
options:
- github
- bitbucket
- gitlab
- gogs
- variable: drone_driver_client
label: Remote Driver client
description: "Client key from remote driver. Required for github, bitbucket and gitlab."
type: string
required: false
- variable: drone_driver_secret
label: Remote Driver secret
description: "Secret key from remote driver. Required for github, bitbucket and gitlab."
type: string
required: false
- variable: drone_driver_url
label: Remote Driver url
description: "Remote Driver server url. Required for gitlab and gogs, http://readme.drone.io/admin"
type: string
required: false
- variable: database_driver
label: Database Driver
description: "Database driver. If sqlite, additional volume would be mounted at /var/lib/drone."
type: enum
default: "sqlite"
options:
- "sqlite"
- "mysql"
- "postgres"
required: true
- variable: "database_source"
type: "string"
label: "Database source"
description: "Database datasource. Required if database driver is mysql or postgres, http://readme.drone.io/admin/database-engines/"
required: false
services:
agent:
scale: ${agent_scale}
start_on_create: true
server:
scale: 1
start_on_create: true
health_check:
port: 8000
interval: 2000
unhealthy_threshold: 3
strategy: recreate
request_line: GET / HTTP/1.0
healthy_threshold: 2
response_timeout: 2000
lb:
scale: 1
start_on_create: true
load_balancer_config:
haproxy_config: {}
health_check:
healthy_threshold: 2
response_timeout: 2000
port: 42
unhealthy_threshold: 3
interval: 2000
strategy: recreate
+19
View File
@@ -0,0 +1,19 @@
# Drone
### Info:
This template creates an instance of Drone CI server 0.6 along with selectable number of agents to perform the builds.
### Usage:
Select the Drone template from the catalog. Provide the following information:
1. Publish port
2. Agents scale
3. Drone secret
4. Run mode. debug | release
3. Remote driver and config. (Ie. GitHub)
4. Database driver and config. (Ie. sqlite)
See [Drone documentation](http://readme.drone.io/admin) for complete information.
+79
View File
@@ -0,0 +1,79 @@
version: '2'
services:
agent:
image: drone/drone:0.7.1
environment:
DRONE_SERVER: ws://drone:8000/ws/broker
DRONE_SECRET: ${drone_secret}
volumes:
- /var/run/docker.sock:/var/run/docker.sock
links:
- server:drone
command:
- agent
labels:
io.rancher.scheduler.affinity:container_label_soft_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
io.rancher.container.hostname_override: container_name
server:
image: drone/drone:0.7.1
environment:
GIN_MODE: ${gin_mode}
DRONE_SECRET: ${drone_secret}
DRONE_OPEN: ${drone_open}
{{- if (.Values.drone_admin)}}
DRONE_ADMIN: ${drone_admin}
{{- end}}
{{- if (.Values.drone_orgs)}}
DRONE_ORGS: ${drone_orgs}
{{- end}}
{{- if eq .Values.drone_driver "github"}}
DRONE_GITHUB: true
DRONE_GITHUB_CLIENT: ${drone_driver_client}
DRONE_GITHUB_SECRET: ${drone_driver_secret}
{{- end}}
{{- if eq .Values.drone_driver "bitbucket"}}
DRONE_BITBUCKET: true
DRONE_BITBUCKET_CLIENT: ${drone_driver_client}
DRONE_BITBUCKET_SECRET: ${drone_driver_secret}
{{- end}}
{{- if eq .Values.drone_driver "gitlab"}}
DRONE_GITLAB: true
DRONE_GITLAB_CLIENT: ${drone_driver_secret}
DRONE_GITLAB_SECRET: ${drone_driver_secret}
DRONE_GITLAB_URL: ${drone_driver_url}
{{- end}}
{{- if eq .Values.drone_driver "gogs"}}
DRONE_GOGS: true
DRONE_GOGS_URL: ${drone_driver_url}
{{- end}}
{{- if ne .Values.database_driver "sqlite"}}
DRONE_DATABASE_DRIVER: ${database_driver}
DRONE_DATABASE_DATASOURCE: ${database_source}
{{- end}}
labels:
io.rancher.scheduler.affinity:container_label_soft_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
io.rancher.container.hostname_override: container_name
{{- if eq .Values.database_driver "sqlite"}}
io.rancher.sidekicks: server-volume
volumes_from:
- server-volume
server-volume:
image: rawmind/alpine-volume:0.0.2-1
environment:
SERVICE_GID: '0'
SERVICE_UID: '0'
SERVICE_VOLUME: /var/lib/drone
network_mode: none
volumes:
- /var/lib/drone
labels:
io.rancher.container.start_once: 'true'
io.rancher.scheduler.affinity:container_label_soft_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
io.rancher.container.hostname_override: container_name
{{- end}}
lb:
image: rancher/load-balancer-service
ports:
- ${host_port}:8000/tcp
links:
- server:server
+129
View File
@@ -0,0 +1,129 @@
version: 2
catalog:
name: Drone
version: 0.7.1-rancher1
upgrade_from: 0.5-rancher1
description: |
Drone CI Server ref http://readme.drone.io/admin/installation-guide/
questions:
- variable: host_port
label: Drone server Host Port
description: |
Port that will be exposed on service creation
required: true
default: 8000
type: int
- variable: agent_scale
label: Drone agent scale
description: Drone agent scale to deploy
required: true
default: 1
type: int
- variable: drone_secret
label: Server and agents sercret.
description: Server and agents secret to be communicate. http://readme.drone.io/admin/user-registration/
type: password
required: true
- variable: gin_mode
label: Run mode
description: "Drone run mode, GIN_MODE"
type: enum
default: "release"
options:
- "release"
- "debug"
required: true
- variable: drone_open
label: Open registration
description: |
Users self register. http://readme.drone.io/admin/user-registration/
required: true
default: true
type: enum
options:
- true
- false
- variable: drone_admin
label: Drone Admin
description: List of admins for drone coma seperated. http://readme.drone.io/admin/user-admins/
type: string
required: false
- variable: drone_orgs
label: Organizations
description: Comman seperated list of org that can access drone. http://readme.drone.io/admin/user-registration/
type: string
required: false
- variable: "drone_driver"
type: "enum"
required: true
label: "Remote Driver"
default: "github"
description: "Remote Git and Auth scheme. ref http://readme.drone.io/admin"
options:
- github
- bitbucket
- gitlab
- gogs
- variable: drone_driver_client
label: Remote Driver client
description: "Client key from remote driver. Required for github, bitbucket and gitlab."
type: string
required: false
- variable: drone_driver_secret
label: Remote Driver secret
description: "Secret key from remote driver. Required for github, bitbucket and gitlab."
type: string
required: false
- variable: drone_driver_url
label: Remote Driver url
description: "Remote Driver server url. Required for gitlab and gogs, http://readme.drone.io/admin"
type: string
required: false
- variable: database_driver
label: Database Driver
description: "Database driver. If sqlite, additional volume would be mounted at /var/lib/drone."
type: enum
default: "sqlite"
options:
- "sqlite"
- "mysql"
- "postgres"
required: true
- variable: "database_source"
type: "string"
label: "Database source"
description: "Database datasource. Required if database driver is mysql or postgres, http://readme.drone.io/admin/database-engines/"
required: false
services:
agent:
scale: ${agent_scale}
start_on_create: true
server:
scale: 1
start_on_create: true
health_check:
port: 8000
interval: 2000
unhealthy_threshold: 3
strategy: recreate
request_line: GET / HTTP/1.0
healthy_threshold: 2
response_timeout: 2000
lb:
scale: 1
start_on_create: true
lb_config:
certs: []
port_rules:
- priority: 1
protocol: http
service: server
source_port: ${host_port}
target_port: 8000
health_check:
healthy_threshold: 2
response_timeout: 2000
port: 42
unhealthy_threshold: 3
interval: 2000
strategy: recreate
+19
View File
@@ -0,0 +1,19 @@
# Drone
### Info:
This template creates an instance of Drone CI server 0.8 along with selectable number of agents to perform the builds.
### Usage:
Select the Drone template from the catalog. Provide the following information:
1. Publish port
2. Agents scale
3. Drone secret
4. Run mode. debug | release
3. Remote driver and config. (Ie. GitHub)
4. Database driver and config. (Ie. sqlite)
See [Drone documentation](http://readme.drone.io/admin) for complete information.
+116
View File
@@ -0,0 +1,116 @@
version: '2'
services:
agent:
image: drone/agent:${drone_version}
environment:
DRONE_SERVER: ${drone_server}
DRONE_SECRET: ${drone_secret}
{{- if (.Values.http_proxy)}}
HTTP_PROXY: ${http_proxy}
http_proxy: ${http_proxy}
{{- end}}
{{- if (.Values.https_proxy)}}
HTTPS_PROXY: ${https_proxy}
https_proxy: ${https_proxy}
{{- end}}
{{- if (.Values.no_proxy)}}
NO_PROXY: ${no_proxy}
no_proxy: ${no_proxy}
{{- end}}
volumes:
- /var/run/docker.sock:/var/run/docker.sock
links:
- server:drone
command:
- agent
labels:
io.rancher.scheduler.affinity:container_label_soft_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
io.rancher.container.hostname_override: container_name
server:
image: drone/drone:${drone_version}
environment:
DRONE_HOST: ${drone_host}
GIN_MODE: ${gin_mode}
{{- if (.Values.drone_debug)}}
DRONE_DEBUG: '${drone_debug}'
{{- end}}
DRONE_SECRET: ${drone_secret}
DRONE_OPEN: ${drone_open}
{{- if (.Values.drone_admin)}}
DRONE_ADMIN: ${drone_admin}
{{- end}}
{{- if (.Values.drone_orgs)}}
DRONE_ORGS: ${drone_orgs}
{{- end}}
{{- if eq .Values.drone_driver "GitHub"}}
DRONE_GITHUB: true
DRONE_GITHUB_CLIENT: ${drone_driver_client}
DRONE_GITHUB_SECRET: ${drone_driver_secret}
{{- end}}
{{- if eq .Values.drone_driver "Bitbucket Cloud"}}
DRONE_BITBUCKET: true
DRONE_BITBUCKET_CLIENT: ${drone_driver_client}
DRONE_BITBUCKET_SECRET: ${drone_driver_secret}
{{- end}}
{{- if eq .Values.drone_driver "Bitbucket Server"}}
DRONE_STASH: true
DRONE_STASH_GIT_USERNAME: ${drone_driver_user}
DRONE_STASH_GIT_PASSWORD: ${drone_driver_password}
DRONE_STASH_CONSUMER_KEY: ${drone_driver_client}
DRONE_STASH_CONSUMER_RSA_STRING: ${drone_driver_secret}
DRONE_STASH_URL: ${drone_driver_url}
{{- end}}
{{- if eq .Values.drone_driver "GitLab"}}
DRONE_GITLAB: true
DRONE_GITLAB_CLIENT: ${drone_driver_secret}
DRONE_GITLAB_SECRET: ${drone_driver_secret}
DRONE_GITLAB_URL: ${drone_driver_url}
{{- end}}
{{- if eq .Values.drone_driver "Gogs"}}
DRONE_GOGS: true
DRONE_GOGS_URL: ${drone_driver_url}
{{- end}}
{{- if ne .Values.database_driver "sqlite"}}
DRONE_DATABASE_DRIVER: ${database_driver}
DRONE_DATABASE_DATASOURCE: ${database_source}
{{- end}}
{{- if (.Values.http_proxy)}}
HTTP_PROXY: ${http_proxy}
http_proxy: ${http_proxy}
{{- end}}
{{- if (.Values.https_proxy)}}
HTTPS_PROXY: ${https_proxy}
https_proxy: ${https_proxy}
{{- end}}
{{- if (.Values.no_proxy)}}
NO_PROXY: ${no_proxy}
no_proxy: ${no_proxy}
{{- end}}
labels:
io.rancher.scheduler.affinity:container_label_soft_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
io.rancher.container.hostname_override: container_name
{{- if eq .Values.database_driver "sqlite"}}
io.rancher.sidekicks: server-volume
volumes_from:
- server-volume
server-volume:
image: rawmind/alpine-volume:0.0.2-1
environment:
SERVICE_GID: '0'
SERVICE_UID: '0'
SERVICE_VOLUME: /var/lib/drone
network_mode: none
volumes:
- /var/lib/drone
labels:
io.rancher.container.start_once: 'true'
io.rancher.scheduler.affinity:container_label_soft_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
io.rancher.container.hostname_override: container_name
{{- end}}
lb:
image: rancher/lb-service-haproxy:v0.6.4
ports:
- ${host_port}:${host_port}
labels:
io.rancher.scheduler.global: 'true'
io.rancher.scheduler.affinity:host_label_soft: ${drone_lb_host_label}
+188
View File
@@ -0,0 +1,188 @@
version: 2
catalog:
name: Drone
version: 0.8.0-rc.1-rancher1
upgrade_from: 0.5-rancher1
description: |
Drone CI Server ref http://readme.drone.io/admin/installation-guide/
questions:
- variable: drone_host
label: Drone Host URL
description: Intended URL Drone will be hosted on, e.g. http://drone.mycompany.com.
required: true
type: string
- variable: host_port
label: Drone Server Host Port
description: Public port that will be exposed on service creation.
required: true
default: 8000
type: int
- variable: agent_scale
label: Drone Agent Scale
description: Drone agent scale to deploy
required: true
default: 1
type: int
- variable: drone_secret
label: Server and Agents Secret
description: Server and agents secret to be communicate. http://readme.drone.io/admin/user-registration/
type: password
required: true
- variable: gin_mode
label: Run mode
description: "Drone run mode, GIN_MODE"
type: enum
default: "release"
options:
- "release"
- "debug"
required: true
- variable: drone_open
label: Open Registration
description: |
Users self register. http://readme.drone.io/admin/user-registration/
required: true
default: true
type: enum
options:
- true
- false
- variable: drone_admin
label: Drone Admin
description: List of admins for drone comma seperated. http://readme.drone.io/admin/user-admins/
type: string
required: false
- variable: drone_orgs
label: Organizations
description: Comman seperated list of org that can access drone. http://readme.drone.io/admin/user-registration/
type: string
required: false
- variable: "drone_driver"
type: "enum"
required: true
label: "Remote Driver"
default: "GitHub"
description: "Remote Git and Auth scheme. ref http://readme.drone.io/admin"
options:
- GitHub
- GitLab
- Gogs
- Bitbucket Cloud
- Bitbucket Server
- variable: drone_driver_client
label: Remote Driver Client
description: "Client key from remote driver. Required for GitHub, Bitbucket Cloud, Bitbucket Server and GitLab."
type: string
required: false
- variable: drone_driver_secret
label: Remote Driver Secret
description: "Secret key from remote driver. Required for GitHub, Bitbucket Cloud, Bitbucket Server and GitLab."
type: multiline
required: false
- variable: drone_driver_url
label: Remote Driver URL
description: "Remote Driver server url. Required for GitLab, Gogs and Bitbucket Server; see http://readme.drone.io/admin."
type: string
required: false
- variable: drone_driver_user
label: Remote Driver Username
description: "Remote Driver username. Required for BitBucket Server; see http://docs.drone.io/install-for-bitbucket-server/."
type: string
required: false
- variable: drone_driver_password
label: Remote Driver Password
description: "Remote Driver password. Required for BitBucket Server, http://docs.drone.io/install-for-bitbucket-server/."
type: password
required: false
- variable: drone_server
label: Drone Server
description: "Drone sever identifier. Used by the agent to connect to the server (does not require change)."
type: string
default: "drone:9000"
- variable: drone_version
label: Drone Version
description: "Drone version/Docker tag used for the Drone container images."
type: enum
default: "0.8.0-rc.1"
options:
- 0.8.0-rc.1
- 0.8.0
- '0.8'
- latest
- variable: database_driver
label: Database Driver
description: "Database driver. If sqlite, additional volume would be mounted at /var/lib/drone."
type: enum
default: "sqlite"
options:
- "sqlite"
- "mysql"
- "postgres"
required: true
- variable: "database_source"
type: "string"
label: "Database source"
description: "Database datasource. Required if database driver is mysql or postgres, http://readme.drone.io/admin/database-engines/"
required: false
- variable: "http_proxy"
type: string
label: HTTP Proxy
description: "Optional: HTTP forward proxy URL."
required: false
- variable: "https_proxy"
type: string
label: HTTPS Proxy
description: "Optional: HTTPS forward proxy URL."
required: false
- variable: "no_proxy"
type: string
label: No Proxy
description: "Optional: No proxy hosts (comma-separated hostnames/IPs)."
required: false
default: "drone"
- variable: "drone_debug"
label: Drone Debug
description: "Enable debug output with the Drone server."
type: enum
options:
- 'true'
- 'false'
default: 'false'
- variable: drone_lb_host_label
label: Drone LB Host Label
description: Host label (soft affinity) for scheduling of the load balancer service.
required: true
default: "drone_lb=true"
type: string
services:
agent:
scale: ${agent_scale}
start_on_create: true
server:
scale: 1
start_on_create: true
health_check:
port: 8000
interval: 2000
unhealthy_threshold: 3
strategy: recreate
request_line: GET / HTTP/1.0
healthy_threshold: 2
response_timeout: 2000
lb:
start_on_create: true
lb_config:
certs: []
port_rules:
- priority: 1
protocol: http
service: server
source_port: ${host_port}
target_port: 8000
health_check:
healthy_threshold: 2
response_timeout: 2000
port: 42
unhealthy_threshold: 3
interval: 2000
strategy: recreate
+1 -1
View File
@@ -1,5 +1,5 @@
name: Drone
description: |
Drone CI Server
version: 0.4-rancher2
version: 0.8.0-rc.1-rancher1
category: Continuous Integration
+15
View File
@@ -0,0 +1,15 @@
version: '2'
services:
web:
image: drupal
ports:
- ${public_port}:80
depends_on:
- db
db:
image: mysql
environment:
MYSQL_DATABASE: ${database}
MYSQL_ROOT_PASSWORD: ${mysql_root_password}
MYSQL_USER: ${mysql_newusr}
MYSQL_PASSWORD: ${mysql_newusr_password}
+40
View File
@@ -0,0 +1,40 @@
.catalog:
name: "Drupal"
version: "v0.1"
description: "Drupal is an open source CMS powering millions of websites and applications."
uuid: Drupal-0
minimum_rancher_version: v0.51.0
questions:
- variable: public_port
description: "public port to access the drupal site"
label: "Public Port"
required: true
default: "80"
type: "int"
- variable: database
description: "database name"
label: "MYSQL_DATABASE"
required: true
type: "string"
- variable: mysql_root_password
description: "password for root user"
label: "MYSQL_ROOT_PASSWORD"
required: true
type: "string"
- variable: mysql_newusr
description: "new user name"
label: "MYSQL_USER"
required: false
type: "string"
- variable: mysql_newusr_password
description: "new user password"
label: "MYSQL_USER_PASSWORD"
required: false
type: "string"
drupal:
retain_ip: true
+59
View File
@@ -0,0 +1,59 @@
version: '2'
services:
drupal:
image: drupal:8.3.5-apache
labels:
io.rancher.container.hostname_override: container_name
links:
- db:db
volumes:
- drupal-modules:/var/www/html/modules
- drupal-profiles:/var/www/html/profiles
- drupal-themes:/var/www/html/themes
- drupal-sites:/var/www/html/sites
restart: always
drupal-lb:
image: rancher/lb-service-haproxy:v0.6.4
ports:
- ${PUBLIC_PORT}:${PUBLIC_PORT}
db:
labels:
io.rancher.container.hostname_override: container_name
{{- if eq .Values.DB_TYPE "postgres"}}
image: postgres:9.6.3-alpine
environment:
POSTGRES_USER: ${DB_USER}
POSTGRES_PASSWORD: ${DB_PASS}
POSTGRES_DB: ${DB_NAME}
{{- end}}
{{- if eq .Values.DB_TYPE "mysql"}}
image: mysql:5.7.18
environment:
MYSQL_DATABASE: ${DB_NAME}
MYSQL_ROOT_PASSWORD: ${DB_PASS}
MYSQL_USER: ${DB_USER}
MYSQL_PASSWORD: ${DB_PASS}
{{- end}}
volumes:
{{- if eq .Values.DB_TYPE "postgres"}}
- db-data:/var/lib/postgresql
{{- end}}
{{- if eq .Values.DB_TYPE "mysql"}}
- db-data:/var/lib/mysql
{{- end}}
restart: always
volumes:
drupal-modules:
driver: local
drupal-profiles:
driver: local
drupal-themes:
driver: local
drupal-sites:
driver: local
db-data:
driver: local
+76
View File
@@ -0,0 +1,76 @@
version: '2'
catalog:
name: "Drupal"
version: "8.3.5-rancher1"
description: "Blog tool, publishing platform and CMS"
uuid: Drupal-0
minimum_rancher_version: v0.51.0
questions:
- variable: "PUBLIC_PORT"
description: "public port to access the drupal site"
label: "Public Port"
required: true
default: "15080"
type: "int"
- variable: "DB_TYPE"
description: "public port to access the drupal site"
label: "DB type"
required: true
default: "postgres"
type: "enum"
options:
- "mysql"
- "postgres"
- variable: "DB_NAME"
description: "Database Name to use for the server"
label: "DB Name"
required: true
default: "drupal"
type: "string"
- variable: "DB_USER"
description: "Database User to use for the server"
label: "DB User"
required: true
default: "drupal"
type: "string"
- variable: "DB_PASS"
description: "Database Password to use for the server"
label: "DB Password"
required: true
default: ""
type: "password"
services:
drupal:
retain_ip: true
scale: 1
health_check:
healthy_threshold: 2
response_timeout: 5000
port: 80
unhealthy_threshold: 3
interval: 5000
strategy: recreate
request_line: GET / # HTTP/1.0
drupal-lb:
scale: 1
start_on_create: true
lb_config:
certs: []
port_rules:
- priority: 1
protocol: http
service: drupal
source_port: ${PUBLIC_PORT}
target_port: 80
health_check:
response_timeout: 2000
healthy_threshold: 2
port: 42
unhealthy_threshold: 3
initializing_timeout: 60000
interval: 2000
reinitializing_timeout: 60000
+967
View File
@@ -0,0 +1,967 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 17.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Original" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="128px" height="128px" viewBox="0 0 128 128" enable-background="new 0 0 128 128" xml:space="preserve">
<pattern y="128" width="69" height="69" patternUnits="userSpaceOnUse" id="Polka_Dot_Pattern" viewBox="2.125 -70.896 69 69" overflow="visible">
<g>
<polygon fill="none" points="71.125,-1.896 2.125,-1.896 2.125,-70.896 71.125,-70.896 "/>
<polygon fill="#F7BC60" points="71.125,-1.896 2.125,-1.896 2.125,-70.896 71.125,-70.896 "/>
<g>
<path fill="#FFFFFF" d="M61.772-71.653c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.065-0.187c-0.022-0.114,0.002-0.224,0.001-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.002,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.022-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M54.105-71.653c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.002,0.115,0.005,0.051,0.012,0.169
c-0.02,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M46.439-71.653c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.002,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.022-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M38.772-71.653c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.002,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.022-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M31.105-71.653c0.017,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.04,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M23.439-71.653c0.017,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.04,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.065-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M15.773-71.653c0.017,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.04,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.065-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.002,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M8.105-71.653c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.105-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M0.439-71.653c0.018,0.072,0.008,0.127-0.026,0.19C0.361-71.362,0.3-71.4,0.248-71.335
c-0.051,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.07,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.051-0.12-0.064-0.187c-0.021-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.215,0.124-0.215,0.224c0.002,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
</g>
<g>
<path fill="#FFFFFF" d="M69.439-71.653c0.017,0.072,0.008,0.127-0.026,0.19c-0.052,0.101-0.113,0.062-0.165,0.128
c-0.051,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.07,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.051-0.12-0.064-0.187c-0.021-0.114,0.002-0.224,0.001-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.215,0.124-0.215,0.224c0.002,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
</g>
<path fill="#FFFFFF" d="M0.495-71.653c0.018,0.072,0.008,0.127-0.026,0.19c-0.052,0.101-0.113,0.062-0.165,0.128
c-0.051,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.07,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.051-0.12-0.064-0.187c-0.021-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.215,0.124-0.215,0.224C0.5-71.68,0.503-71.744,0.51-71.626
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<g>
<g>
<path fill="#FFFFFF" d="M69.439-64.001c0.017,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.102,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0.001-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M61.778-64.001c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.102,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M54.118-64.001c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.038-0.102,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M46.458-64.001c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.003,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.102,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M38.797-64.001c0.017,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.102,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.065-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M31.137-64.001c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.003,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.102,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M23.477-64.001c0.017,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.038-0.102,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.065-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.002,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M15.816-64.001c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.128-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.102,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.002,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M8.156-64.001c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.038-0.102,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M0.495-64.001c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143C2-61.45,2.217-61.397,2.391-61.46c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.102,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
</g>
<g>
<path fill="#FFFFFF" d="M69.439-56.348c0.017,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.106-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0.001-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M61.778-56.348c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.106-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M54.118-56.348c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.106-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M46.458-56.348c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.003,0.05-0.041,0.106-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M38.797-56.348c0.017,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.106-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.065-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M31.137-56.348c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.003,0.05-0.041,0.106-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M23.477-56.348c0.017,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.106-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.065-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.002,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M15.816-56.348c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.106-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.128-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.002,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M8.156-56.348c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.106-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M0.495-56.348c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.106-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224C0.5-56.374,0.503-56.438,0.51-56.32
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
</g>
<g>
<path fill="#FFFFFF" d="M69.439-48.695c0.017,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.226-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0.001-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M61.778-48.695c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.226-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M54.118-48.695c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.226-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M46.458-48.695c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.226-0.015,0.35c-0.003,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M38.797-48.695c0.017,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.226-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.065-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M31.137-48.695c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.226-0.015,0.35c-0.003,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M23.477-48.695c0.017,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.226-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.065-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.002,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M15.816-48.695c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.226-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.128-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.002,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M8.156-48.695c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.226-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M0.495-48.695c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.226-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
</g>
<g>
<path fill="#FFFFFF" d="M69.439-41.042c0.017,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0.001-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M61.778-41.042c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M54.118-41.042c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M46.458-41.042c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.003,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M38.797-41.042c0.017,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.065-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M31.137-41.042c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.003,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M23.477-41.042c0.017,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.065-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.002,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M15.816-41.042c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.128-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.002,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M8.156-41.042c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
C8.15-41.004,8.149-41.02,8.14-41.04"/>
<path fill="#FFFFFF" d="M0.495-41.042c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
</g>
<g>
<path fill="#FFFFFF" d="M69.439-33.39c0.017,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.106-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.149,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.144,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0.001-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M61.778-33.39c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.106-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.149,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.144,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M54.118-33.39c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.106-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.149,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.144,0.039-0.221
c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M46.458-33.39c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.003,0.05-0.041,0.106-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.149,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.144,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M38.797-33.39c0.017,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.106-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.149,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.144,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.065-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M31.137-33.39c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.003,0.05-0.041,0.106-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.149,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.144,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M23.477-33.39c0.017,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.106-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.149,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.144,0.039-0.221
c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.065-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.002,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M15.816-33.39c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.106-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.149,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.128-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.144,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.002,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M8.156-33.39c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.106-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.149,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.144,0.039-0.221
c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M0.495-33.39c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.106-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.149,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.144,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224C0.5-33.416,0.503-33.48,0.51-33.362
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
</g>
<g>
<path fill="#FFFFFF" d="M69.439-25.736c0.017,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.106-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.102,0.111-0.16,0.09-0.293c-0.01-0.061-0.052-0.12-0.064-0.186c-0.022-0.114,0.002-0.224,0.001-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M61.778-25.736c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.106-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.102,0.111-0.16,0.09-0.293c-0.01-0.061-0.052-0.12-0.064-0.186c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M54.118-25.736c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.106-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.038-0.102,0.111-0.16,0.09-0.293c-0.01-0.061-0.052-0.12-0.064-0.186c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M46.458-25.736c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.003,0.05-0.041,0.106-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.102,0.111-0.16,0.09-0.293c-0.01-0.061-0.052-0.12-0.064-0.186c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M38.797-25.736c0.017,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.106-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.102,0.111-0.16,0.09-0.293c-0.01-0.061-0.052-0.12-0.065-0.186c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M31.137-25.736c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.003,0.05-0.041,0.106-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.102,0.111-0.16,0.09-0.293c-0.01-0.061-0.052-0.12-0.064-0.186c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M23.477-25.736c0.017,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.106-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.038-0.102,0.111-0.16,0.09-0.293c-0.01-0.061-0.052-0.12-0.065-0.186c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.002,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M15.816-25.736c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.106-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.128-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.102,0.111-0.16,0.09-0.293c-0.01-0.061-0.052-0.12-0.064-0.186c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.002,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M8.156-25.736c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.106-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.038-0.102,0.111-0.16,0.09-0.293c-0.01-0.061-0.052-0.12-0.064-0.186c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M0.495-25.736c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.106-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.102,0.111-0.16,0.09-0.293c-0.01-0.061-0.052-0.12-0.064-0.186c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
</g>
<g>
<path fill="#FFFFFF" d="M69.439-18.084c0.017,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.226-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.142c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.144,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0.001-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M61.778-18.084c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.226-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.142c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.144,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M54.118-18.084c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.226-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.142c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.144,0.039-0.221
c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M46.458-18.084c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.226-0.015,0.35c-0.003,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.142c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.144,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M38.797-18.084c0.017,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.226-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.142c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.144,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.065-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M31.137-18.084c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.226-0.015,0.35c-0.003,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.142c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.144,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M23.477-18.084c0.017,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.226-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.142c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.144,0.039-0.221
c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.065-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.002,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M15.816-18.084c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.226-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.142c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.128-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.144,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.002,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M8.156-18.084c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.226-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.142c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.144,0.039-0.221
c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M0.495-18.084c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.226-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.142c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.144,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224C0.5-18.11,0.503-18.175,0.51-18.057
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
</g>
<g>
<path fill="#FFFFFF" d="M69.439-10.431c0.017,0.072,0.007,0.127-0.026,0.191c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362C69-9.692,69.159-9.523,69.154-9.4c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0.001-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M61.778-10.431c0.018,0.072,0.007,0.127-0.026,0.191c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M54.118-10.431c0.018,0.072,0.007,0.127-0.026,0.191c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M46.458-10.431c0.018,0.072,0.007,0.127-0.026,0.191c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.003,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M38.797-10.431c0.017,0.072,0.007,0.127-0.026,0.191c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.065-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M31.137-10.431c0.018,0.072,0.007,0.127-0.026,0.191c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.003,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M23.477-10.431c0.017,0.072,0.007,0.127-0.026,0.191c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.065-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.002,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M15.816-10.431c0.018,0.072,0.007,0.127-0.026,0.191c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053C17.933-7.969,17.839-8.227,18-8.34
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.002,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M8.156-10.431c0.018,0.072,0.007,0.127-0.026,0.191c-0.053,0.101-0.112,0.062-0.165,0.128
C7.915-10.05,7.866-9.836,7.886-9.75C7.717-9.692,7.876-9.523,7.871-9.4C7.868-9.351,7.83-9.295,7.826-9.239
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
C9.114-7.652,9.321-7.799,9.48-7.837c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M0.495-10.431c0.018,0.072,0.007,0.127-0.026,0.191c-0.053,0.101-0.112,0.062-0.165,0.128
C0.254-10.05,0.205-9.836,0.225-9.75C0.056-9.692,0.215-9.523,0.21-9.4c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37C0.33-8.671,0.501-8.456,0.668-8.325c0.19,0.148,0.365,0.572,0.608,0.631
C1.454-7.652,1.66-7.799,1.819-7.837C2-7.88,2.217-7.827,2.391-7.89c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46C3.477-8.933,3.471-8.995,3.5-9.071
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
</g>
</g>
<g>
<path fill="#FFFFFF" d="M69.439-2.778c0.017,0.072,0.008,0.127-0.026,0.19C69.361-2.487,69.3-2.525,69.248-2.46
c-0.051,0.062-0.099,0.276-0.079,0.362C69-2.04,69.159-1.871,69.154-1.748c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
C70.397,0,70.604-0.146,70.763-0.185c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.07,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.051-0.12-0.064-0.187c-0.021-0.114,0.002-0.224,0.001-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.215,0.124-0.215,0.224c0.002,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M61.778-2.778c0.018,0.072,0.007,0.127-0.026,0.19C61.7-2.487,61.64-2.525,61.587-2.46
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
C62.737,0,62.943-0.146,63.103-0.185c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224C61.915-3.117,61.78-3.02,61.781-2.92c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M54.118-2.778c0.018,0.072,0.007,0.127-0.026,0.19C54.04-2.487,53.98-2.525,53.927-2.46
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
C55.077,0,55.283-0.146,55.442-0.185c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224C54.255-3.117,54.12-3.02,54.121-2.92c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M46.458-2.778c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.003,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
C47.416,0,47.623-0.146,47.782-0.185c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224C46.594-3.117,46.459-3.02,46.46-2.92c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M38.797-2.778c0.017,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
C39.756,0,39.962-0.146,40.122-0.185c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.065-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224C38.934-3.117,38.799-3.02,38.8-2.92c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M31.137-2.778c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.003,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
C32.095,0,32.302-0.146,32.461-0.185c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224C31.273-3.117,31.139-3.02,31.14-2.92c0.001,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M23.477-2.778c0.017,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
C24.435,0,24.642-0.146,24.801-0.185c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.065-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.002,0.115,0.005,0.051,0.012,0.169
c-0.021,0.011-0.021-0.005-0.03-0.025"/>
<path fill="#FFFFFF" d="M15.816-2.778c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
C16.774,0,16.981-0.146,17.14-0.185c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.128-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207
c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.002,0.115,0.005,0.051,0.012,0.169
C15.81-2.74,15.809-2.756,15.8-2.776"/>
<path fill="#FFFFFF" d="M8.156-2.778c0.018,0.072,0.007,0.127-0.026,0.19C8.077-2.487,8.018-2.525,7.965-2.46
c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35C7.868-1.698,7.83-1.643,7.826-1.587
c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631
C9.114,0,9.321-0.146,9.48-0.185c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221
c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789C8.954-3.54,8.847-3.448,8.692-3.367
c-0.17,0.088-0.139,0.166-0.318,0.224C8.292-3.117,8.158-3.02,8.159-2.92C8.16-2.805,8.164-2.869,8.17-2.751
C8.15-2.74,8.149-2.756,8.14-2.776"/>
<path fill="#FFFFFF" d="M0.495-2.778c0.018,0.072,0.008,0.127-0.026,0.19C0.417-2.487,0.356-2.525,0.304-2.46
C0.253-2.397,0.205-2.184,0.225-2.098C0.056-2.04,0.215-1.871,0.21-1.748c-0.002,0.05-0.041,0.105-0.045,0.161
c-0.01,0.119,0.017,0.266,0.068,0.37C0.33-1.019,0.501-0.804,0.668-0.673c0.19,0.148,0.365,0.572,0.608,0.631
C1.454,0,1.66-0.146,1.819-0.185C2-0.228,2.217-0.175,2.391-0.237c0.222-0.079,0.127-0.337,0.288-0.45
c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.07,0.339-0.263,0.376-0.46C3.477-1.28,3.471-1.343,3.5-1.419
c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.051-0.12-0.064-0.187c-0.021-0.114,0.002-0.224,0-0.337
c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789C1.293-3.54,1.187-3.448,1.031-3.367
c-0.17,0.088-0.139,0.166-0.318,0.224C0.632-3.117,0.498-3.02,0.498-2.92C0.5-2.805,0.503-2.869,0.51-2.751
C0.489-2.74,0.488-2.756,0.479-2.776"/>
</g>
</g>
</pattern>
<g>
<path fill="#005A8F" d="M91.877,23.811c-6.534-4.069-12.699-5.672-18.863-9.741c-3.822-2.588-9.123-8.754-13.562-14.057
C58.589,8.522,56,11.974,53.042,14.44c-6.288,4.932-10.233,6.412-15.658,9.371C32.822,26.154,8.041,40.95,8.041,72.761
C8.041,104.572,34.794,128,64.506,128c29.713,0,55.48-21.578,55.48-54.252C119.986,41.073,95.822,26.277,91.877,23.811z
M17.167,48.5c0,0-2.198-1.969,2.167-8c0,0,1.667-2.125,2.135-2.656c0,0,1.312-1.406,1.625-1.656c0,0,2.719-2.75,3.5-3.469
c0,0,3-2.719,7.125-5.562c0,0,2.594-1.688,4.531-2.812c0,0,2.719-1.469,4.281-2.25c0,0,2.375-1.125,5.219-2.906
c0,0,4.094-2.625,5.188-3.5c0,0,2.875-2.094,4.125-4.125c0,0,1.312-1.719,2.188-5.188c0,0,0.719-2.875,0.781-4
c0,0,1,3.156,1.156,4.281c0,0,0.594,3.219,0.25,5.312c0,0-0.328,2.906-2.156,4.5c0,0-1.031,0.812-1.203,1.062
c0,0-0.359,0.406-0.203,0.688c0,0,0.25,0.312,0.531,0.594c0,0,0.75,0.547,0.469,1.75c0,0-0.062,1.812-2.375,4.719
c0,0-4.531,5.531-7.344,7.781c0,0-4.594,3.875-6.812,5.281c0,0-7.344,4.969-8.875,5.562c0,0-6.344,3.531-8.594,4.25
C24.875,48.156,19.208,50.531,17.167,48.5z M92.588,116.396c-0.614,0.616-6.287,4.561-12.944,5.178
c-6.657,0.616-15.657,0.986-21.082-3.945c-0.863-0.863-0.616-2.096,0-2.59c0.616-0.492,1.109-0.862,1.85-0.862
c0.739,0,0.616,0,0.986,0.247c2.466,1.973,6.164,3.575,14.055,3.575c7.891,0,13.438-2.219,15.904-4.069
c1.11-0.863,1.602-0.123,1.726,0.37C93.205,114.794,93.451,115.533,92.588,116.396z M71.013,105.176
c1.357-1.233,3.576-3.206,5.672-4.069c2.097-0.862,3.206-0.739,5.179-0.739c1.973,0,4.067,0.123,5.548,1.108
c1.479,0.986,2.343,3.207,2.835,4.441c0.493,1.231,0,1.972-0.985,2.464c-0.864,0.493-0.986,0.248-1.85-1.355
c-0.863-1.603-1.603-3.206-5.918-3.206c-4.314,0-5.672,1.48-7.768,3.206c-2.096,1.727-2.835,2.342-3.575,1.355
C69.411,107.396,69.658,106.409,71.013,105.176z M103.685,106.162c-4.438-0.369-13.314-14.18-18.986-14.426
c-7.15-0.247-22.684,14.919-34.89,14.919c-7.397,0-9.616-1.109-12.083-2.713c-3.698-2.591-5.547-6.534-5.424-11.96
c0.124-9.617,9.122-18.617,20.465-18.742c14.425-0.122,24.412,14.304,31.685,14.181c6.163-0.124,18-12.207,23.794-12.207
c6.165,0,7.891,6.412,7.891,10.233c0,3.823-1.232,10.727-4.19,15.043C108.986,104.806,107.137,106.409,103.685,106.162z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 97 KiB

+5
View File
@@ -0,0 +1,5 @@
name: Drupal
description: |
Drupal is an open source CMS powering millions of websites and applications.
version: "8.3.5-rancher1"
category: CMS
+1
View File
@@ -3,6 +3,7 @@
version: "v1.0.0"
description: "Updates credentials for ECR in Rancher"
uuid: ecr-1
maximum_rancher_version: "v1.4.99"
questions:
- variable: "aws_access_key_id"
label: "AWS Access Key ID"
+1
View File
@@ -3,6 +3,7 @@
version: "v1.0.1"
description: "Updates credentials for ECR in Rancher"
uuid: ecr-2
maximum_rancher_version: "v1.4.99"
questions:
- variable: "aws_access_key_id"
label: "AWS Access Key ID"
+1
View File
@@ -3,6 +3,7 @@
version: "v1.1.0"
description: "Updates credentials for ECR in Rancher"
uuid: ecr-3
maximum_rancher_version: "v1.4.99"
questions:
- variable: "aws_access_key_id"
label: "AWS Access Key ID"
+5
View File
@@ -0,0 +1,5 @@
# Elasticsearch Cluster
A scalable Elasticsearch cluster
WARN: To avoid vm.max_map_count errors you could set "Update host sysctl" to true. Then param vm.max_map_count will be update to 262144 if it's less in your hosts.
@@ -0,0 +1,131 @@
version: '2'
services:
es-master:
labels:
io.rancher.scheduler.affinity:container_label_soft_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
io.rancher.container.hostname_override: container_name
io.rancher.sidekicks: es-storage
{{- if eq .Values.UPDATE_SYSCTL "true" -}}
,es-sysctl
{{- end}}
image: docker.elastic.co/elasticsearch/elasticsearch:5.4.0
environment:
- "cluster.name=${cluster_name}"
- "node.name=$${HOSTNAME}"
- "bootstrap.memory_lock=true"
- "xpack.security.enabled=false"
- "ES_JAVA_OPTS=-Xms${master_heap_size} -Xmx${master_heap_size}"
- "discovery.zen.ping.unicast.hosts=es-master"
- "discovery.zen.minimum_master_nodes=${minimum_master_nodes}"
- "node.master=true"
- "node.data=false"
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
mem_limit: ${master_mem_limit}
mem_swappiness: 0
cap_add:
- IPC_LOCK
volumes_from:
- es-storage
es-data:
labels:
io.rancher.scheduler.affinity:container_label_soft_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
io.rancher.container.hostname_override: container_name
io.rancher.sidekicks: es-storage
{{- if eq .Values.UPDATE_SYSCTL "true" -}}
,es-sysctl
{{- end}}
image: docker.elastic.co/elasticsearch/elasticsearch:5.4.0
environment:
- "cluster.name=${cluster_name}"
- "node.name=$${HOSTNAME}"
- "bootstrap.memory_lock=true"
- "xpack.security.enabled=false"
- "discovery.zen.ping.unicast.hosts=es-master"
- "ES_JAVA_OPTS=-Xms${data_heap_size} -Xmx${data_heap_size}"
- "node.master=false"
- "node.data=true"
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
mem_limit: ${data_mem_limit}
mem_swappiness: 0
cap_add:
- IPC_LOCK
volumes_from:
- es-storage
depends_on:
- es-master
es-client:
labels:
io.rancher.scheduler.affinity:container_label_soft_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
io.rancher.container.hostname_override: container_name
io.rancher.sidekicks: es-storage
{{- if eq .Values.UPDATE_SYSCTL "true" -}}
,es-sysctl
{{- end}}
image: docker.elastic.co/elasticsearch/elasticsearch:5.4.0
environment:
- "cluster.name=${cluster_name}"
- "node.name=$${HOSTNAME}"
- "bootstrap.memory_lock=true"
- "xpack.security.enabled=false"
- "discovery.zen.ping.unicast.hosts=es-master"
- "ES_JAVA_OPTS=-Xms${client_heap_size} -Xmx${client_heap_size}"
- "node.master=false"
- "node.data=false"
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
mem_limit: ${client_mem_limit}
mem_swappiness: 0
cap_add:
- IPC_LOCK
volumes_from:
- es-storage
depends_on:
- es-master
es-storage:
labels:
io.rancher.container.start_once: true
network_mode: none
image: rawmind/alpine-volume:0.0.2-1
environment:
- SERVICE_UID=1000
- SERVICE_GID=1000
- SERVICE_VOLUME=/usr/share/elasticsearch/data
volumes:
- es-storage-volume:/usr/share/elasticsearch/data
{{- if eq .Values.UPDATE_SYSCTL "true" }}
es-sysctl:
labels:
io.rancher.container.start_once: true
network_mode: none
image: rawmind/alpine-sysctl:0.1
privileged: true
environment:
- "SYSCTL_KEY=vm.max_map_count"
- "SYSCTL_VALUE=262144"
{{- end}}
volumes:
es-storage-volume:
driver: local
per_container: true
@@ -0,0 +1,97 @@
.catalog:
name: Elasticsearch Cluster
version: 5.4.0-rancher1
description: Scalable Elasticsearch Cluster
questions:
- variable: "cluster_name"
type: "string"
required: true
label: "Cluster name"
description: "Name of the Elasticsearch Cluster"
default: "es-cluster"
- variable: "UPDATE_SYSCTL"
label: "Update host sysctl:"
description: |
Set true to avoid vm.max_map_count errors.
WARN: If set true, host param vm.max_map_count will be update to 262144.
default: false
required: true
type: enum
options:
- false
- true
- variable: "master_heap_size"
type: "string"
required: true
label: "Heap size (master nodes)"
description: "Heap size to be allocated for Java (mater nodes)"
default: "512m"
- variable: "master_mem_limit"
type: "int"
required: true
label: "Memory limit in byte (master nodes)"
description: "Memory limit in Byte per elasticsearch container. AT LEAST double the heap size! (master nodes)"
default: 1073741824
- variable: "data_heap_size"
type: "string"
required: true
label: "Heap size (data nodes)"
description: "Heap size to be allocated for Java (mater nodes)"
default: "512m"
- variable: "data_mem_limit"
type: "int"
required: true
label: "Memory limit in byte (data nodes)"
description: "Memory limit in Byte per elasticsearch container. AT LEAST double the heap size! (data nodes)"
default: 1073741824
- variable: "client_heap_size"
type: "string"
required: true
label: "Heap size (client nodes)"
description: "Heap size to be allocated for Java (mater nodes)"
default: "512m"
- variable: "client_mem_limit"
type: "int"
required: true
label: "Memory limit in byte (client nodes)"
description: "Memory limit in Byte per elasticsearch container. AT LEAST double the heap size! (client nodes)"
default: 1073741824
- variable: "minimum_master_nodes"
type: "int"
required: true
label: "# of minimum Master Nodes"
description: "Set the number of required master nodes to reach quorum. Sets initial scale to this value as well"
default: 3
- variable: "initial_data_nodes"
type: "int"
required: true
label: "# of initial data nodes"
description: "Set the initial number of data nodes"
default: 2
- variable: "initial_client_nodes"
type: "int"
required: true
label: "# of initial client nodes"
description: "Set the initial number of client nodes"
default: 1
es-master:
scale: ${minimum_master_nodes}
es-data:
scale: ${initial_data_nodes}
es-client:
scale: ${initial_client_nodes}
+5
View File
@@ -0,0 +1,5 @@
# Elasticsearch Cluster
A scalable Elasticsearch cluster
WARN: To avoid vm.max_map_count errors you could set "Update host sysctl" to true. Then param vm.max_map_count will be update to 262144 if it's less in your hosts.
@@ -0,0 +1,131 @@
version: '2'
services:
es-master:
labels:
io.rancher.scheduler.affinity:container_label_soft_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
io.rancher.container.hostname_override: container_name
io.rancher.sidekicks: es-storage
{{- if eq .Values.UPDATE_SYSCTL "true" -}}
,es-sysctl
{{- end}}
image: docker.elastic.co/elasticsearch/elasticsearch:5.4.2
environment:
- "cluster.name=${cluster_name}"
- "node.name=$${HOSTNAME}"
- "bootstrap.memory_lock=true"
- "xpack.security.enabled=false"
- "ES_JAVA_OPTS=-Xms${master_heap_size} -Xmx${master_heap_size}"
- "discovery.zen.ping.unicast.hosts=es-master"
- "discovery.zen.minimum_master_nodes=${minimum_master_nodes}"
- "node.master=true"
- "node.data=false"
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
mem_limit: ${master_mem_limit}
mem_swappiness: 0
cap_add:
- IPC_LOCK
volumes_from:
- es-storage
es-data:
labels:
io.rancher.scheduler.affinity:container_label_soft_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
io.rancher.container.hostname_override: container_name
io.rancher.sidekicks: es-storage
{{- if eq .Values.UPDATE_SYSCTL "true" -}}
,es-sysctl
{{- end}}
image: docker.elastic.co/elasticsearch/elasticsearch:5.4.2
environment:
- "cluster.name=${cluster_name}"
- "node.name=$${HOSTNAME}"
- "bootstrap.memory_lock=true"
- "xpack.security.enabled=false"
- "discovery.zen.ping.unicast.hosts=es-master"
- "ES_JAVA_OPTS=-Xms${data_heap_size} -Xmx${data_heap_size}"
- "node.master=false"
- "node.data=true"
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
mem_limit: ${data_mem_limit}
mem_swappiness: 0
cap_add:
- IPC_LOCK
volumes_from:
- es-storage
depends_on:
- es-master
es-client:
labels:
io.rancher.scheduler.affinity:container_label_soft_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
io.rancher.container.hostname_override: container_name
io.rancher.sidekicks: es-storage
{{- if eq .Values.UPDATE_SYSCTL "true" -}}
,es-sysctl
{{- end}}
image: docker.elastic.co/elasticsearch/elasticsearch:5.4.2
environment:
- "cluster.name=${cluster_name}"
- "node.name=$${HOSTNAME}"
- "bootstrap.memory_lock=true"
- "xpack.security.enabled=false"
- "discovery.zen.ping.unicast.hosts=es-master"
- "ES_JAVA_OPTS=-Xms${client_heap_size} -Xmx${client_heap_size}"
- "node.master=false"
- "node.data=false"
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
mem_limit: ${client_mem_limit}
mem_swappiness: 0
cap_add:
- IPC_LOCK
volumes_from:
- es-storage
depends_on:
- es-master
es-storage:
labels:
io.rancher.container.start_once: true
network_mode: none
image: rawmind/alpine-volume:0.0.2-1
environment:
- SERVICE_UID=1000
- SERVICE_GID=1000
- SERVICE_VOLUME=/usr/share/elasticsearch/data
volumes:
- es-storage-volume:/usr/share/elasticsearch/data
{{- if eq .Values.UPDATE_SYSCTL "true" }}
es-sysctl:
labels:
io.rancher.container.start_once: true
network_mode: none
image: rawmind/alpine-sysctl:0.1
privileged: true
environment:
- "SYSCTL_KEY=vm.max_map_count"
- "SYSCTL_VALUE=262144"
{{- end}}
volumes:
es-storage-volume:
driver: local
per_container: true
@@ -0,0 +1,97 @@
.catalog:
name: Elasticsearch Cluster
version: 5.4.2-rancher1
description: Scalable Elasticsearch Cluster
questions:
- variable: "cluster_name"
type: "string"
required: true
label: "Cluster name"
description: "Name of the Elasticsearch Cluster"
default: "es-cluster"
- variable: "UPDATE_SYSCTL"
label: "Update host sysctl:"
description: |
Set true to avoid vm.max_map_count errors.
WARN: If set true, host param vm.max_map_count will be update to 262144.
default: false
required: true
type: enum
options:
- false
- true
- variable: "master_heap_size"
type: "string"
required: true
label: "Heap size (master nodes)"
description: "Heap size to be allocated for Java (mater nodes)"
default: "512m"
- variable: "master_mem_limit"
type: "int"
required: true
label: "Memory limit in byte (master nodes)"
description: "Memory limit in Byte per elasticsearch container. AT LEAST double the heap size! (master nodes)"
default: 1073741824
- variable: "data_heap_size"
type: "string"
required: true
label: "Heap size (data nodes)"
description: "Heap size to be allocated for Java (mater nodes)"
default: "512m"
- variable: "data_mem_limit"
type: "int"
required: true
label: "Memory limit in byte (data nodes)"
description: "Memory limit in Byte per elasticsearch container. AT LEAST double the heap size! (data nodes)"
default: 1073741824
- variable: "client_heap_size"
type: "string"
required: true
label: "Heap size (client nodes)"
description: "Heap size to be allocated for Java (mater nodes)"
default: "512m"
- variable: "client_mem_limit"
type: "int"
required: true
label: "Memory limit in byte (client nodes)"
description: "Memory limit in Byte per elasticsearch container. AT LEAST double the heap size! (client nodes)"
default: 1073741824
- variable: "minimum_master_nodes"
type: "int"
required: true
label: "# of minimum Master Nodes"
description: "Set the number of required master nodes to reach quorum. Sets initial scale to this value as well"
default: 3
- variable: "initial_data_nodes"
type: "int"
required: true
label: "# of initial data nodes"
description: "Set the initial number of data nodes"
default: 2
- variable: "initial_client_nodes"
type: "int"
required: true
label: "# of initial client nodes"
description: "Set the initial number of client nodes"
default: 1
es-master:
scale: ${minimum_master_nodes}
es-data:
scale: ${initial_data_nodes}
es-client:
scale: ${initial_client_nodes}
+5
View File
@@ -0,0 +1,5 @@
# Elasticsearch Cluster
A scalable Elasticsearch cluster
WARN: To avoid vm.max_map_count errors you could set "Update host sysctl" to true. Then param vm.max_map_count will be update to 262144 if it's less in your hosts.
@@ -0,0 +1,131 @@
version: '2'
services:
es-master:
labels:
io.rancher.scheduler.affinity:container_label_soft_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
io.rancher.container.hostname_override: container_name
io.rancher.sidekicks: es-storage
{{- if eq .Values.UPDATE_SYSCTL "true" -}}
,es-sysctl
{{- end}}
image: docker.elastic.co/elasticsearch/elasticsearch:5.4.2
environment:
- "cluster.name=${cluster_name}"
- "node.name=$${HOSTNAME}"
- "bootstrap.memory_lock=true"
- "xpack.security.enabled=false"
- "ES_JAVA_OPTS=-Xms${master_heap_size} -Xmx${master_heap_size}"
- "discovery.zen.ping.unicast.hosts=es-master"
- "discovery.zen.minimum_master_nodes=${minimum_master_nodes}"
- "node.master=true"
- "node.data=false"
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
mem_limit: ${master_mem_limit}
mem_swappiness: 0
cap_add:
- IPC_LOCK
volumes_from:
- es-storage
es-data:
labels:
io.rancher.scheduler.affinity:container_label_soft_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
io.rancher.container.hostname_override: container_name
io.rancher.sidekicks: es-storage
{{- if eq .Values.UPDATE_SYSCTL "true" -}}
,es-sysctl
{{- end}}
image: docker.elastic.co/elasticsearch/elasticsearch:5.4.2
environment:
- "cluster.name=${cluster_name}"
- "node.name=$${HOSTNAME}"
- "bootstrap.memory_lock=true"
- "xpack.security.enabled=false"
- "discovery.zen.ping.unicast.hosts=es-master"
- "ES_JAVA_OPTS=-Xms${data_heap_size} -Xmx${data_heap_size}"
- "node.master=false"
- "node.data=true"
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
mem_limit: ${data_mem_limit}
mem_swappiness: 0
cap_add:
- IPC_LOCK
volumes_from:
- es-storage
depends_on:
- es-master
es-client:
labels:
io.rancher.scheduler.affinity:container_label_soft_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
io.rancher.container.hostname_override: container_name
io.rancher.sidekicks: es-storage
{{- if eq .Values.UPDATE_SYSCTL "true" -}}
,es-sysctl
{{- end}}
image: docker.elastic.co/elasticsearch/elasticsearch:5.4.2
environment:
- "cluster.name=${cluster_name}"
- "node.name=$${HOSTNAME}"
- "bootstrap.memory_lock=true"
- "xpack.security.enabled=false"
- "discovery.zen.ping.unicast.hosts=es-master"
- "ES_JAVA_OPTS=-Xms${client_heap_size} -Xmx${client_heap_size}"
- "node.master=false"
- "node.data=false"
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
mem_limit: ${client_mem_limit}
mem_swappiness: 0
cap_add:
- IPC_LOCK
volumes_from:
- es-storage
depends_on:
- es-master
es-storage:
labels:
io.rancher.container.start_once: true
network_mode: none
image: rawmind/alpine-volume:0.0.2-1
environment:
- SERVICE_UID=1000
- SERVICE_GID=1000
- SERVICE_VOLUME=/usr/share/elasticsearch/data
volumes:
- es-storage-volume:/usr/share/elasticsearch/data
{{- if eq .Values.UPDATE_SYSCTL "true" }}
es-sysctl:
labels:
io.rancher.container.start_once: true
network_mode: none
image: rawmind/alpine-sysctl:0.1
privileged: true
environment:
- "SYSCTL_KEY=vm.max_map_count"
- "SYSCTL_VALUE=262144"
{{- end}}
volumes:
es-storage-volume:
driver: ${VOLUME_DRIVER}
per_container: true
+111
View File
@@ -0,0 +1,111 @@
version: '2'
catalog:
name: Elasticsearch Cluster
version: 5.4.2-rancher2
description: Scalable Elasticsearch Cluster
questions:
- variable: "cluster_name"
type: "string"
required: true
label: "Cluster name"
description: "Name of the Elasticsearch Cluster"
default: "es-cluster"
- variable: "UPDATE_SYSCTL"
label: "Update host sysctl:"
description: |
Set true to avoid vm.max_map_count errors.
WARN: If set true, host param vm.max_map_count will be update to 262144.
default: false
required: true
type: enum
options:
- false
- true
- variable: "master_heap_size"
type: "string"
required: true
label: "Heap size (master nodes)"
description: "Heap size to be allocated for Java (mater nodes)"
default: "512m"
- variable: "master_mem_limit"
type: "int"
required: true
label: "Memory limit in byte (master nodes)"
description: "Memory limit in Byte per elasticsearch container. AT LEAST double the heap size! (master nodes)"
default: 1073741824
- variable: "data_heap_size"
type: "string"
required: true
label: "Heap size (data nodes)"
description: "Heap size to be allocated for Java (mater nodes)"
default: "512m"
- variable: "data_mem_limit"
type: "int"
required: true
label: "Memory limit in byte (data nodes)"
description: "Memory limit in Byte per elasticsearch container. AT LEAST double the heap size! (data nodes)"
default: 1073741824
- variable: "client_heap_size"
type: "string"
required: true
label: "Heap size (client nodes)"
description: "Heap size to be allocated for Java (mater nodes)"
default: "512m"
- variable: "client_mem_limit"
type: "int"
required: true
label: "Memory limit in byte (client nodes)"
description: "Memory limit in Byte per elasticsearch container. AT LEAST double the heap size! (client nodes)"
default: 1073741824
- variable: "minimum_master_nodes"
type: "int"
required: true
label: "# of minimum Master Nodes"
description: "Set the number of required master nodes to reach quorum. Sets initial scale to this value as well"
default: 3
- variable: "initial_data_nodes"
type: "int"
required: true
label: "# of initial data nodes"
description: "Set the initial number of data nodes"
default: 2
- variable: "initial_client_nodes"
type: "int"
required: true
label: "# of initial client nodes"
description: "Set the initial number of client nodes"
default: 1
- variable: "VOLUME_DRIVER"
description: "The VOLUME driver to associate with this server"
label: "VOLUME Driver"
required: true
default: "local"
type: enum
options:
- local
- rancher-nfs
- rancher-efs
- rancher-ebs
services:
es-master:
scale: ${minimum_master_nodes}
es-data:
scale: ${initial_data_nodes}
es-client:
scale: ${initial_client_nodes}
+5
View File
@@ -0,0 +1,5 @@
# Elasticsearch Cluster
A scalable Elasticsearch cluster
WARN: To avoid vm.max_map_count errors you could set "Update host sysctl" to true. Then param vm.max_map_count will be update to 262144 if it's less in your hosts.
@@ -0,0 +1,131 @@
version: '2'
services:
es-master:
labels:
io.rancher.scheduler.affinity:container_label_soft_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
io.rancher.container.hostname_override: container_name
io.rancher.sidekicks: es-storage
{{- if eq .Values.UPDATE_SYSCTL "true" -}}
,es-sysctl
{{- end}}
image: docker.elastic.co/elasticsearch/elasticsearch:5.5.1
environment:
- "cluster.name=${cluster_name}"
- "node.name=$${HOSTNAME}"
- "bootstrap.memory_lock=true"
- "xpack.security.enabled=false"
- "ES_JAVA_OPTS=-Xms${master_heap_size} -Xmx${master_heap_size}"
- "discovery.zen.ping.unicast.hosts=es-master"
- "discovery.zen.minimum_master_nodes=${minimum_master_nodes}"
- "node.master=true"
- "node.data=false"
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
mem_limit: ${master_mem_limit}
mem_swappiness: 0
cap_add:
- IPC_LOCK
volumes_from:
- es-storage
es-data:
labels:
io.rancher.scheduler.affinity:container_label_soft_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
io.rancher.container.hostname_override: container_name
io.rancher.sidekicks: es-storage
{{- if eq .Values.UPDATE_SYSCTL "true" -}}
,es-sysctl
{{- end}}
image: docker.elastic.co/elasticsearch/elasticsearch:5.5.1
environment:
- "cluster.name=${cluster_name}"
- "node.name=$${HOSTNAME}"
- "bootstrap.memory_lock=true"
- "xpack.security.enabled=false"
- "discovery.zen.ping.unicast.hosts=es-master"
- "ES_JAVA_OPTS=-Xms${data_heap_size} -Xmx${data_heap_size}"
- "node.master=false"
- "node.data=true"
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
mem_limit: ${data_mem_limit}
mem_swappiness: 0
cap_add:
- IPC_LOCK
volumes_from:
- es-storage
depends_on:
- es-master
es-client:
labels:
io.rancher.scheduler.affinity:container_label_soft_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
io.rancher.container.hostname_override: container_name
io.rancher.sidekicks: es-storage
{{- if eq .Values.UPDATE_SYSCTL "true" -}}
,es-sysctl
{{- end}}
image: docker.elastic.co/elasticsearch/elasticsearch:5.5.1
environment:
- "cluster.name=${cluster_name}"
- "node.name=$${HOSTNAME}"
- "bootstrap.memory_lock=true"
- "xpack.security.enabled=false"
- "discovery.zen.ping.unicast.hosts=es-master"
- "ES_JAVA_OPTS=-Xms${client_heap_size} -Xmx${client_heap_size}"
- "node.master=false"
- "node.data=false"
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
mem_limit: ${client_mem_limit}
mem_swappiness: 0
cap_add:
- IPC_LOCK
volumes_from:
- es-storage
depends_on:
- es-master
es-storage:
labels:
io.rancher.container.start_once: true
network_mode: none
image: rawmind/alpine-volume:0.0.2-1
environment:
- SERVICE_UID=1000
- SERVICE_GID=1000
- SERVICE_VOLUME=/usr/share/elasticsearch/data
volumes:
- es-storage-volume:/usr/share/elasticsearch/data
{{- if eq .Values.UPDATE_SYSCTL "true" }}
es-sysctl:
labels:
io.rancher.container.start_once: true
network_mode: none
image: rawmind/alpine-sysctl:0.1
privileged: true
environment:
- "SYSCTL_KEY=vm.max_map_count"
- "SYSCTL_VALUE=262144"
{{- end}}
volumes:
es-storage-volume:
driver: ${VOLUME_DRIVER}
per_container: true
+111
View File
@@ -0,0 +1,111 @@
version: '2'
catalog:
name: Elasticsearch Cluster
version: 5.5.1-rancher1
description: Scalable Elasticsearch Cluster
questions:
- variable: "cluster_name"
type: "string"
required: true
label: "Cluster name"
description: "Name of the Elasticsearch Cluster"
default: "es-cluster"
- variable: "UPDATE_SYSCTL"
label: "Update host sysctl:"
description: |
Set true to avoid vm.max_map_count errors.
WARN: If set true, host param vm.max_map_count will be update to 262144.
default: false
required: true
type: enum
options:
- false
- true
- variable: "master_heap_size"
type: "string"
required: true
label: "Heap size (master nodes)"
description: "Heap size to be allocated for Java (master nodes)"
default: "512m"
- variable: "master_mem_limit"
type: "int"
required: true
label: "Memory limit in byte (master nodes)"
description: "Memory limit in Byte per elasticsearch container. AT LEAST double the heap size! (master nodes)"
default: 1073741824
- variable: "data_heap_size"
type: "string"
required: true
label: "Heap size (data nodes)"
description: "Heap size to be allocated for Java (data nodes)"
default: "512m"
- variable: "data_mem_limit"
type: "int"
required: true
label: "Memory limit in byte (data nodes)"
description: "Memory limit in Byte per elasticsearch container. AT LEAST double the heap size! (data nodes)"
default: 1073741824
- variable: "client_heap_size"
type: "string"
required: true
label: "Heap size (client nodes)"
description: "Heap size to be allocated for Java (client nodes)"
default: "512m"
- variable: "client_mem_limit"
type: "int"
required: true
label: "Memory limit in byte (client nodes)"
description: "Memory limit in Byte per elasticsearch container. AT LEAST double the heap size! (client nodes)"
default: 1073741824
- variable: "minimum_master_nodes"
type: "int"
required: true
label: "# of minimum Master Nodes"
description: "Set the number of required master nodes to reach quorum. Sets initial scale to this value as well"
default: 3
- variable: "initial_data_nodes"
type: "int"
required: true
label: "# of initial data nodes"
description: "Set the initial number of data nodes"
default: 2
- variable: "initial_client_nodes"
type: "int"
required: true
label: "# of initial client nodes"
description: "Set the initial number of client nodes"
default: 1
- variable: "VOLUME_DRIVER"
description: "The VOLUME driver to associate with this server"
label: "VOLUME Driver"
required: true
default: "local"
type: enum
options:
- local
- rancher-nfs
- rancher-efs
- rancher-ebs
services:
es-master:
scale: ${minimum_master_nodes}
es-data:
scale: ${initial_data_nodes}
es-client:
scale: ${initial_client_nodes}
@@ -0,0 +1,67 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 20.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 80 80" style="enable-background:new 0 0 80 80;" xml:space="preserve">
<style type="text/css">
.st0{clip-path:url(#SVGID_2_);fill:#F0BF1A;}
.st1{clip-path:url(#SVGID_4_);fill:#3EBEB0;}
.st2{clip-path:url(#SVGID_6_);fill:#07A5DE;}
.st3{clip-path:url(#SVGID_8_);fill:#231F20;}
.st4{fill:#D7A229;}
.st5{fill:#019B8F;}
.st6{fill:none;}
</style>
<g>
<g>
<g>
<g>
<g>
<defs>
<circle id="SVGID_1_" cx="40" cy="40" r="32"/>
</defs>
<clipPath id="SVGID_2_">
<use xlink:href="#SVGID_1_" style="overflow:visible;"/>
</clipPath>
<path class="st0" d="M53.7,26H10c-1.1,0-2-0.9-2-2V10c0-1.1,0.9-2,2-2h57c1.1,0,2,0.9,2,2v0.7C68.9,19.1,62.1,26,53.7,26z"/>
</g>
</g>
<g>
<g>
<defs>
<circle id="SVGID_3_" cx="40" cy="40" r="32"/>
</defs>
<clipPath id="SVGID_4_">
<use xlink:href="#SVGID_3_" style="overflow:visible;"/>
</clipPath>
<path class="st1" d="M69.1,72H8.2l0,0V54l0,0h45.7c8.4,0,15.2,6.8,15.2,15.2V72L69.1,72z"/>
</g>
</g>
<g>
<g>
<defs>
<circle id="SVGID_5_" cx="40" cy="40" r="32"/>
</defs>
<clipPath id="SVGID_6_">
<use xlink:href="#SVGID_5_" style="overflow:visible;"/>
</clipPath>
<path class="st2" d="M50.1,49H4.8V31h45.3c5,0,9,4,9,9l0,0C59.1,45,55,49,50.1,49z"/>
</g>
</g>
<g>
<g>
<defs>
<circle id="SVGID_7_" cx="40" cy="40" r="32"/>
</defs>
<clipPath id="SVGID_8_">
<use xlink:href="#SVGID_7_" style="overflow:visible;"/>
</clipPath>
<path class="st3" d="M36,31H6.4v18H36c0.7-2.7,1.1-5.7,1.1-9S36.7,33.7,36,31z"/>
</g>
</g>
</g>
<path class="st4" d="M23.9,12.3c-5.4,3.2-9.9,8-12.7,13.7h23.6C32.4,20.5,28.6,15.9,23.9,12.3z"/>
<path class="st5" d="M24.9,68.2c4.6-3.7,8.3-8.6,10.6-14.2H11.2C14.2,60,19,65,24.9,68.2z"/>
</g>
</g>
<rect class="st6" width="80" height="80"/>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

+5
View File
@@ -0,0 +1,5 @@
name: Elasticsearch Cluster 5.5.1
description: |
Elasticsearch, you know for search!
version: 5.5.1-rancher1
category: ELK
@@ -0,0 +1,46 @@
version: '2'
services:
gitlab-runner-config:
image: gitlab/gitlab-runner:alpine-v9.3.0
stdin_open: true
volumes:
- /etc/gitlab-runner/
tty: true
command:
- register
- -n
- --url
- ${GITLAB_URL}
- --registration-token
- ${GITLAB_TOKEN}
- --tag-list
- ${GITLAB_TAGS}
- --executor
- docker
- --description
- Rancher Docker Runner
- --docker-image
- docker:latest
- --docker-volumes
- /var/run/docker.sock:/var/run/docker.sock
- --docker-privileged
labels:
io.rancher.container.pull_image: always
io.rancher.container.start_once: 'true'
gitlab-runner:
image: gitlab/gitlab-runner:alpine-v9.3.0
stdin_open: true
volumes:
- /var/run/docker.sock:/var/run/docker.sock
tty: true
volumes_from:
- gitlab-runner-config
command:
- run
labels:
io.rancher.sidekicks: gitlab-runner-config
io.rancher.container.pull_image: always
io.rancher.scheduler.global: 'true'
@@ -0,0 +1,37 @@
version: '2'
catalog:
name: "gitlab-multi-runner"
version: "9.3.0"
description: "a Gitlab pipelines multi-runner, that will spawn privates runners in your infra."
minimum_rancher_version: v1.5.0
# maximum_rancher_version:
# upgrade_from: # The previous versions that this template can be upgraded from
questions:
- variable: "GITLAB_URL"
label: "Gitlab Url"
description: "Url to your Gitlab CI endpoint"
type: "string"
default: "https://gitlab.com/ci"
required: true
- variable: "GITLAB_TOKEN"
label: "Gitlab Token"
description: "Token provided in you project settings"
type: "string"
default: "xxxxxxxxxxxxxxxxxxxx"
required: true
- variable: "GITLAB_TAGS"
label: "Gitlab Tags"
description: "Tags to apply"
type: "string"
default: "dev"
required: false
services:
gitlab-runner-config:
scale: 1
start_on_create: true
gitlab-runner:
start_on_create: true
@@ -0,0 +1,47 @@
version: '2'
services:
gitlab-runner-config:
image: gitlab/gitlab-runner:alpine-v9.4.1
stdin_open: true
volumes:
- /etc/gitlab-runner/
tty: true
command:
- register
- -n
- --url
- ${GITLAB_URL}
- --registration-token
- ${GITLAB_TOKEN}
- --tag-list
- ${GITLAB_TAGS}
- --executor
- docker
- --description
- Rancher Docker Runner
- --docker-image
- docker:latest
- --docker-volumes
- /var/run/docker.sock:/var/run/docker.sock
- --docker-privileged
labels:
io.rancher.container.start_once: 'true'
gitlab-runner:
image: gitlab/gitlab-runner:alpine-v9.4.1
stdin_open: true
volumes:
- /var/run/docker.sock:/var/run/docker.sock
tty: true
volumes_from:
- gitlab-runner-config
command:
- run
labels:
io.rancher.sidekicks: gitlab-runner-config
io.rancher.scheduler.global: 'true'
{{- if ne .Values.host_label ""}}
io.rancher.scheduler.affinity:host_label: ${host_label}
{{- end}}
@@ -0,0 +1,45 @@
version: '2'
catalog:
name: "gitlab-multi-runner"
version: "9.4.1"
description: "a Gitlab pipelines multi-runner, that will spawn privates runners in your infra."
minimum_rancher_version: v1.5.0
# maximum_rancher_version:
# upgrade_from: # The previous versions that this template can be upgraded from
questions:
- variable: "GITLAB_URL"
label: "Gitlab Url"
description: "Url to your Gitlab CI endpoint"
type: "string"
default: "https://gitlab.com/ci"
required: true
- variable: "GITLAB_TOKEN"
label: "Gitlab Token"
description: "Token provided in you project settings"
type: "string"
default: "xxxxxxxxxxxxxxxxxxxx"
required: true
- variable: "GITLAB_TAGS"
label: "Gitlab Tags"
description: "Tags to apply"
type: "string"
default: "dev"
required: false
- variable: "host_label"
label: "Host with Label to deploy gitlab-runner on"
description: |
Host label to use as gitlab-runner 'value' tag.
Example: 'gitlab-runner=true'
type: "string"
default: ""
required: false
services:
gitlab-runner-config:
start_on_create: true
gitlab-runner:
start_on_create: true
@@ -0,0 +1,47 @@
version: '2'
services:
gitlab-runner-config:
image: gitlab/gitlab-runner:alpine-v9.4.2
stdin_open: true
volumes:
- /etc/gitlab-runner/
tty: true
command:
- register
- -n
- --url
- ${GITLAB_URL}
- --registration-token
- ${GITLAB_TOKEN}
- --tag-list
- ${GITLAB_TAGS}
- --executor
- docker
- --description
- Rancher Docker Runner
- --docker-image
- docker:latest
- --docker-volumes
- /var/run/docker.sock:/var/run/docker.sock
- --docker-privileged
labels:
io.rancher.container.start_once: 'true'
gitlab-runner:
image: gitlab/gitlab-runner:alpine-v9.4.2
stdin_open: true
volumes:
- /var/run/docker.sock:/var/run/docker.sock
tty: true
volumes_from:
- gitlab-runner-config
command:
- run
labels:
io.rancher.sidekicks: gitlab-runner-config
io.rancher.scheduler.global: 'true'
{{- if ne .Values.host_label ""}}
io.rancher.scheduler.affinity:host_label: ${host_label}
{{- end}}
@@ -0,0 +1,45 @@
version: '2'
catalog:
name: "gitlab-multi-runner"
version: "9.4.2"
description: "a Gitlab pipelines multi-runner, that will spawn privates runners in your infra."
minimum_rancher_version: v1.5.0
# maximum_rancher_version:
# upgrade_from: # The previous versions that this template can be upgraded from
questions:
- variable: "GITLAB_URL"
label: "Gitlab Url"
description: "Url to your Gitlab CI endpoint"
type: "string"
default: "https://gitlab.com/ci"
required: true
- variable: "GITLAB_TOKEN"
label: "Gitlab Token"
description: "Token provided in you project settings"
type: "string"
default: "xxxxxxxxxxxxxxxxxxxx"
required: true
- variable: "GITLAB_TAGS"
label: "Gitlab Tags"
description: "Tags to apply"
type: "string"
default: "dev"
required: false
- variable: "host_label"
label: "Host with Label to deploy gitlab-runner on"
description: |
Host label to use as gitlab-runner 'value' tag.
Example: 'gitlab-runner=true'
type: "string"
default: ""
required: false
services:
gitlab-runner-config:
start_on_create: true
gitlab-runner:
start_on_create: true
Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

+5
View File
@@ -0,0 +1,5 @@
name: gitlab-multi-runner
description: |
a Gitlab pipelines multi-runner, that will spawn privates runners in your infra.
version: 9.4.2
category: Continuous Integration
+25 -26
View File
@@ -1,27 +1,26 @@
gitlab-server:
ports:
- ${ssh_port}:22/tcp
- ${http_port}:80/tcp
- ${https_port}:443/tcp
labels:
io.rancher.sidekicks: gitlab-data
hostname: ${gitlab_hostname}
image: gitlab/gitlab-ce:latest
volumes_from:
- gitlab-data
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url '${gitlab_omnipus_prefix}${gitlab_hostname}'
gitlab-data:
labels:
io.rancher.container.start_once: 'true'
entrypoint:
- /bin/true
hostname: gitdata
image: gitlab/gitlab-ce:latest
volumes:
- /etc/gitlab
- /var/log/gitlab
- /var/opt/gitlab
version: '2'
volumes:
gitlab-app-data:
driver: ${volumedriver}
gitlab-log-data:
driver: ${volumedriver}
gitlab-conf-files:
driver: ${volumedriver}
services:
gitlab-server:
ports:
- ${ssh_port}:22/tcp
- ${http_port}:80/tcp
- ${https_port}:443/tcp
labels:
io.rancher.container.hostname_override: container_name
image: gitlab/gitlab-ce:9.3.3-ce.0
volumes:
- gitlab-app-data:/var/opt/gitlab
- gitlab-log-data:/var/log/gitlab
- gitlab-conf-files:/etc/gitlab
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url '${gitlab_omnipus_prefix}${gitlab_hostname}'
registry_external_url '${gitlab_omnipus_prefix}${registry_gitlab_hostname}'
+22 -12
View File
@@ -1,6 +1,6 @@
.catalog:
name: Gitlab Community
version: latest
version: 9.3.3-ce.0
description: |
Gitlab CE is a free GitHub alternative
minimum_rancher_version: v0.56.0
@@ -13,34 +13,49 @@
required: true
default: "git.example.com"
type: "string"
- variable: "registry_gitlab_hostname"
description: "Registry Gitlab hostname (without uri scheme http:// or https://)"
label: "Registry hostname:"
required: true
default: "registry.example.com"
type: "string"
- variable: "gitlab_omnipus_prefix"
label: "Gitlab external_url prefix:"
description: |
This is needed for the docker-compose file to set the correct external_url
default: 'https://'
default: 'http://'
required: true
type: "string"
type: "enum"
options:
- 'https://'
- 'http://'
- 'https://'
- variable: "http_port"
description: "HTTP port to expose on host. Will be used to bind TCP"
label: "HTTP port:"
required: true
default: 80
type: "string"
type: "int"
- variable: "https_port"
description: "HTTPS port to expose on host. Will be used to bind TCP"
label: "HTTPS port:"
required: true
default: 443
type: "string"
type: "int"
- variable: "ssh_port"
description: "SSH port to expose on host. Will be used to bind TCP"
label: "SSH port:"
required: true
default: 22
type: "string"
type: "int"
- variable: "volumedriver"
description: "Choose the Volume Driver being used.(Option: local or rancher-nfs)"
label: "Volume Driver:"
required: true
default: local
type: "enum"
options:
- local
- rancher-nfs
gitlab-server:
scale: 1
@@ -52,8 +67,3 @@ gitlab-server:
strategy: recreate
response_timeout: 2000
healthy_threshold: 2
gitlab-data:
scale: 1
retain_ip: true
+9
View File
@@ -0,0 +1,9 @@
# GitLab CE
GitLab CE is a free alternative to GitHub
Stack based on official GitLab version: latest
https://hub.docker.com/r/gitlab/gitlab-ce/
+26
View File
@@ -0,0 +1,26 @@
version: '2'
volumes:
gitlab-app-data:
driver: ${volumedriver}
gitlab-log-data:
driver: ${volumedriver}
gitlab-conf-files:
driver: ${volumedriver}
services:
gitlab-server:
ports:
- ${ssh_port}:22/tcp
- ${http_port}:80/tcp
- ${https_port}:443/tcp
labels:
io.rancher.container.hostname_override: container_name
image: gitlab/gitlab-ce:9.4.2-ce.0
volumes:
- gitlab-app-data:/var/opt/gitlab
- gitlab-log-data:/var/log/gitlab
- gitlab-conf-files:/etc/gitlab
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url '${gitlab_omnipus_prefix}${gitlab_hostname}'
registry_external_url '${gitlab_omnipus_prefix}${registry_gitlab_hostname}'
+69
View File
@@ -0,0 +1,69 @@
.catalog:
name: Gitlab Community
version: 9.4.2-ce.0
description: |
Gitlab CE is a free GitHub alternative
minimum_rancher_version: v0.56.0
maintainer: "Alexis Ducastel <alexis@ducastel.net>"
uuid: gitlab-0
questions:
- variable: "gitlab_hostname"
description: "Gitlab hostname (without uri scheme http:// or https://)"
label: "Hostname:"
required: true
default: "git.example.com"
type: "string"
- variable: "registry_gitlab_hostname"
description: "Registry Gitlab hostname (without uri scheme http:// or https://)"
label: "Registry hostname:"
required: true
default: "registry.example.com"
type: "string"
- variable: "gitlab_omnipus_prefix"
label: "Gitlab external_url prefix:"
description: |
This is needed for the docker-compose file to set the correct external_url
default: 'http://'
required: true
type: "enum"
options:
- 'http://'
- 'https://'
- variable: "http_port"
description: "HTTP port to expose on host. Will be used to bind TCP"
label: "HTTP port:"
required: true
default: 80
type: "int"
- variable: "https_port"
description: "HTTPS port to expose on host. Will be used to bind TCP"
label: "HTTPS port:"
required: true
default: 443
type: "int"
- variable: "ssh_port"
description: "SSH port to expose on host. Will be used to bind TCP"
label: "SSH port:"
required: true
default: 22
type: "int"
- variable: "volumedriver"
description: "Choose the Volume Driver being used.(Option: local or rancher-nfs)"
label: "Volume Driver:"
required: true
default: local
type: "enum"
options:
- local
- rancher-nfs
gitlab-server:
scale: 1
retain_ip: true
health_check:
port: 80
interval: 30000
unhealthy_threshold: 3
strategy: recreate
response_timeout: 2000
healthy_threshold: 2
+9
View File
@@ -0,0 +1,9 @@
# GitLab CE
GitLab CE is a free alternative to GitHub
Stack based on official GitLab version: latest
https://hub.docker.com/r/gitlab/gitlab-ce/
+26
View File
@@ -0,0 +1,26 @@
version: '2'
volumes:
gitlab-app-data:
driver: ${volumedriver}
gitlab-log-data:
driver: ${volumedriver}
gitlab-conf-files:
driver: ${volumedriver}
services:
gitlab-server:
ports:
- ${ssh_port}:22/tcp
- ${http_port}:80/tcp
- ${https_port}:443/tcp
labels:
io.rancher.container.hostname_override: container_name
image: gitlab/gitlab-ce:9.4.5-ce.0
volumes:
- gitlab-app-data:/var/opt/gitlab
- gitlab-log-data:/var/log/gitlab
- gitlab-conf-files:/etc/gitlab
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url '${gitlab_omnipus_prefix}${gitlab_hostname}'
registry_external_url '${gitlab_omnipus_prefix}${registry_gitlab_hostname}'
+69
View File
@@ -0,0 +1,69 @@
.catalog:
name: Gitlab Community
version: 9.4.5-ce.0
description: |
Gitlab CE is a free GitHub alternative
minimum_rancher_version: v0.56.0
maintainer: "Alexis Ducastel <alexis@ducastel.net>"
uuid: gitlab-0
questions:
- variable: "gitlab_hostname"
description: "Gitlab hostname (without uri scheme http:// or https://)"
label: "Hostname:"
required: true
default: "git.example.com"
type: "string"
- variable: "registry_gitlab_hostname"
description: "Registry Gitlab hostname (without uri scheme http:// or https://)"
label: "Registry hostname:"
required: true
default: "registry.example.com"
type: "string"
- variable: "gitlab_omnipus_prefix"
label: "Gitlab external_url prefix:"
description: |
This is needed for the docker-compose file to set the correct external_url
default: 'http://'
required: true
type: "enum"
options:
- 'http://'
- 'https://'
- variable: "http_port"
description: "HTTP port to expose on host. Will be used to bind TCP"
label: "HTTP port:"
required: true
default: 80
type: "int"
- variable: "https_port"
description: "HTTPS port to expose on host. Will be used to bind TCP"
label: "HTTPS port:"
required: true
default: 443
type: "int"
- variable: "ssh_port"
description: "SSH port to expose on host. Will be used to bind TCP"
label: "SSH port:"
required: true
default: 22
type: "int"
- variable: "volumedriver"
description: "Choose the Volume Driver being used.(Option: local or rancher-nfs)"
label: "Volume Driver:"
required: true
default: local
type: "enum"
options:
- local
- rancher-nfs
gitlab-server:
scale: 1
retain_ip: true
health_check:
port: 80
interval: 30000
unhealthy_threshold: 3
strategy: recreate
response_timeout: 3000
healthy_threshold: 2
+9
View File
@@ -0,0 +1,9 @@
# GitLab CE
GitLab CE is a free alternative to GitHub
Stack based on official GitLab version: latest
https://hub.docker.com/r/gitlab/gitlab-ce/
+27
View File
@@ -0,0 +1,27 @@
version: '2'
volumes:
gitlab-app-data:
driver: ${volumedriver}
gitlab-log-data:
driver: ${volumedriver}
gitlab-conf-files:
driver: ${volumedriver}
services:
gitlab-server:
ports:
- ${ssh_port}:22/tcp
- ${http_port}:80/tcp
- ${https_port}:443/tcp
labels:
io.rancher.container.hostname_override: container_name
image: gitlab/gitlab-ce:9.5.1-ce.0
volumes:
- gitlab-app-data:/var/opt/gitlab
- gitlab-log-data:/var/log/gitlab
- gitlab-conf-files:/etc/gitlab
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url '${gitlab_omnipus_prefix}${gitlab_hostname}'
registry_external_url '${gitlab_omnipus_prefix}${registry_gitlab_hostname}'
gitlab_rails['gitlab_shell_ssh_port'] = ${ssh_port}
+69
View File
@@ -0,0 +1,69 @@
.catalog:
name: Gitlab Community
version: 9.5.1-ce.0
description: |
Gitlab CE is a free GitHub alternative
minimum_rancher_version: v0.56.0
maintainer: "Alexis Ducastel <alexis@ducastel.net>"
uuid: gitlab-0
questions:
- variable: "gitlab_hostname"
description: "Gitlab hostname (without uri scheme http:// or https://)"
label: "Hostname:"
required: true
default: "git.example.com"
type: "string"
- variable: "registry_gitlab_hostname"
description: "Registry Gitlab hostname (without uri scheme http:// or https://)"
label: "Registry hostname:"
required: true
default: "registry.example.com"
type: "string"
- variable: "gitlab_omnipus_prefix"
label: "Gitlab external_url prefix:"
description: |
This is needed for the docker-compose file to set the correct external_url
default: 'http://'
required: true
type: "enum"
options:
- 'http://'
- 'https://'
- variable: "http_port"
description: "HTTP port to expose on host. Will be used to bind TCP"
label: "HTTP port:"
required: true
default: 80
type: "int"
- variable: "https_port"
description: "HTTPS port to expose on host. Will be used to bind TCP"
label: "HTTPS port:"
required: true
default: 443
type: "int"
- variable: "ssh_port"
description: "SSH port to expose on host. Will be used to bind TCP"
label: "SSH port:"
required: true
default: 22
type: "int"
- variable: "volumedriver"
description: "Choose the Volume Driver being used.(Option: local or rancher-nfs)"
label: "Volume Driver:"
required: true
default: local
type: "enum"
options:
- local
- rancher-nfs
gitlab-server:
scale: 1
retain_ip: true
health_check:
port: 80
interval: 30000
unhealthy_threshold: 3
strategy: recreate
response_timeout: 3000
healthy_threshold: 2
+1 -1
View File
@@ -1,5 +1,5 @@
name: Gitlab Community
description: |
Gitlab CE is a free GitHub alternative
version: latest
version: 9.5.1-ce.0
category: Versioning
+35
View File
@@ -0,0 +1,35 @@
# GoCD.io
### Info:
This template creates one GoCD server and scale out the number of GoCD agent you need.
The GoCD agent is link with docker engine container as sidekick, so the idea is to not create GoCD agent per language but use docker container to build and test your stuff.
You can use on GoCD agent:
- docker cli
- docker-compose cli
- rancher-compose cli
- make
### Usage:
Select GoCD from catalog.
Choose if you should deploy GoCD Server, or GoCD Agent or the two.
Enter the number of GoCD agent you need.
Choose the key to autoregister GoCD agent.
Click deploy.
GoCD server can now be accessed over the Rancher network on port `8153` (http://IP_CONTAINER:8153). To access from external Rancher network, you need to set load balancer or expose the port 8153.
### Source, bugs and enhances
If you found bugs or need enhance, you can open ticket on github:
- [GoCD official core project](https://github.com/gocd/gocd)
- [GoCD Server docker image](https://github.com/disaster37/alpine-gocd-server)
- [GoCD Agent docker image](https://github.com/disaster37/alpine-gocd-agent)
- [Rancher Cattle metadata docker image](https://github.com/disaster37/rancher-cattle-metadata)
+125
View File
@@ -0,0 +1,125 @@
version: '2'
services:
{{- if eq .Values.DEPLOY_SERVER "true"}}
gocd-server:
tty: true
image: webcenter/alpine-gocd-server:17.3.0-1
volumes:
{{- if eq (printf "%.1s" .Values.VOLUME_DRIVER_SERVER) "/" }}
- ${VOLUME_DRIVER_SERVER}:/data
{{- else}}
- gocd-server-data:/data
{{- end}}
environment:
- GOCD_CONFIG_memory=${GOCD_SERVER_MEMORY}
- GOCD_CONFIG_agent-key=${GOCD_AGENT_KEY}
- GOCD_CONFIG_server-url=${GOCD_SERVER_URL}
- GOCD_USER_${GOCD_USER}=${GOCD_PASSWORD}
- CONFD_BACKEND=${CONFD_BACKEND}
- CONFD_NODES=${CONFD_NODES}
- CONFD_PREFIX_KEY=${CONFD_PREFIX}
{{- if eq .Values.GOCD_AGENT_PACKAGE "true"}}
- GOCD_PLUGIN_script-executor=https://github.com/gocd-contrib/script-executor-task/releases/download/0.3/script-executor-0.3.0.jar
- GOCD_PLUGIN_docker-task=https://github.com/manojlds/gocd-docker/releases/download/0.1.27/docker-task-assembly-0.1.27.jar
- GOCD_PLUGIN_slack=https://github.com/Vincit/gocd-slack-task/releases/download/v1.3.1/gocd-slack-task-1.3.1.jar
- GOCD_PLUGIN_docker-pipline=https://github.com/Haufe-Lexware/gocd-plugins/releases/download/v1.0.0-beta/gocd-docker-pipeline-plugin-1.0.0.jar
- GOCD_PLUGIN_email-notifier=https://github.com/gocd-contrib/email-notifier/releases/download/v0.1/email-notifier-0.1.jar
- GOCD_PLUGIN_github-notifier=https://github.com/gocd-contrib/gocd-build-status-notifier/releases/download/1.3/github-pr-status-1.3.jar
- GOCD_PLUGIN_github-scm=https://github.com/ashwanthkumar/gocd-build-github-pull-requests/releases/download/v1.3.3/github-pr-poller-1.3.3.jar
- GOCD_PLUGIN_maven-repository=https://github.com/1and1/go-maven-poller/releases/download/v1.1.4/go-maven-poller.jar
- GOCD_PLUGIN_maven-task=https://github.com/ruckc/gocd-maven-plugin/releases/download/0.1.1/gocd-maven-plugin-0.1.1.jar
- GOCD_PLUGIN_s3-fetch=https://github.com/indix/gocd-s3-artifacts/releases/download/v2.0.2/s3fetch-assembly-2.0.2.jar
- GOCD_PLUGIN_s3-publish=https://github.com/indix/gocd-s3-artifacts/releases/download/v2.0.2/s3publish-assembly-2.0.2.jar
- GOCD_PLUGIN_nessus-scan=https://github.com/Haufe-Lexware/gocd-plugins/releases/download/v1.0.0-beta/gocd-nessus-scan-plugin-1.0.0.jar
- GOCD_PLUGIN_sonar=https://github.com/Haufe-Lexware/gocd-plugins/releases/download/v1.0.0-beta/gocd-sonar-qualitygates-plugin-1.0.0.jar
- GOCD_PLUGIN_gitlab-auth=https://github.com/gocd-contrib/gocd-oauth-login/releases/download/v2.3/gitlab-oauth-login-2.3.jar
- GOCD_PLUGIN_google-auth=https://github.com/gocd-contrib/gocd-oauth-login/releases/download/v2.3/google-oauth-login-2.3.jar
- GOCD_PLUGIN_github-auth=https://github.com/gocd-contrib/gocd-oauth-login/releases/download/v2.3/github-oauth-login-2.3.jar
{{- end}}
{{- if and (ne .Values.DEPLOY_LB "true") (.Values.PUBLISH_PORT)}}
ports:
- ${PUBLISH_PORT}:8153
{{- end}}
labels:
io.rancher.scheduler.affinity:container_label_soft_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
io.rancher.container.hostname_override: container_name
{{- if eq .Values.DEPLOY_LB "true"}}
lb:
image: rancher/lb-service-haproxy:v0.6.2
{{- if (.Values.PUBLISH_PORT)}}
ports:
- ${PUBLISH_PORT}:8153/tcp
{{- else}}
expose:
- 8153:8153/tcp
{{- end}}
links:
- gocd-server:gocd-server
labels:
io.rancher.container.agent.role: environmentAdmin
io.rancher.container.create_agent: 'true'
{{- end}}
{{- end}}
{{- if eq .Values.DEPLOY_AGENT "true"}}
gocd-agent:
tty: true
image: webcenter/alpine-gocd-agent:17.3.0-1
volumes:
{{- if eq (printf "%.1s" .Values.VOLUME_DRIVER_AGENT) "/"}}
- ${VOLUME_DRIVER_AGENT}:/data
{{- else}}
- gocd-agent-data:/data
{{- end}}
- gocd-scheduler-setting:/opt/scheduler
environment:
- GOCD_CONFIG_memory=${GOCD_AGENT_MEMORY}
- GOCD_CONFIG_agent_key=${GOCD_AGENT_KEY}
- GOCD_CONFIG_agent_resource_docker=${GOCD_AGENT_RESOURCE}
- DOCKER_HOST=docker-engine:2375
{{- if eq .Values.DEPLOY_SERVER "true"}}
links:
- gocd-server:gocd-server
{{- end}}
labels:
io.rancher.scheduler.affinity:container_label_soft_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
io.rancher.container.hostname_override: container_name
io.rancher.container.agent.role: environment
io.rancher.container.create_agent: 'true'
io.rancher.sidekicks: rancher-cattle-metadata,docker-engine
rancher-cattle-metadata:
network_mode: none
labels:
io.rancher.scheduler.affinity:container_label_soft_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
io.rancher.container.hostname_override: container_name
io.rancher.container.start_once: "true"
image: webcenter/rancher-cattle-metadata:1.0.1
volumes:
- gocd-scheduler-setting:/opt/scheduler
docker-engine:
privileged: true
labels:
io.rancher.scheduler.affinity:container_label_soft_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
io.rancher.container.hostname_override: container_name
image: index.docker.io/docker:1.13-dind
volumes:
{{- if eq (printf "%.1s" .Values.VOLUME_DRIVER_AGENT) "/"}}
- ${VOLUME_DRIVER_AGENT}:/data
{{- else}}
- gocd-agent-data:/data
{{- end}}
{{- end}}
volumes:
gocd-scheduler-setting:
driver: local
per_container: true
{{- if ne (printf "%.1s" .Values.VOLUME_DRIVER_AGENT) "/"}}
gocd-agent-data:
driver: ${VOLUME_DRIVER_AGENT}
per_container: true
{{- end}}
{{- if ne (printf "%.1s" .Values.VOLUME_DRIVER_SERVER) "/"}}
gocd-server-data:
driver: ${VOLUME_DRIVER_SERVER}
{{- end}}
+155
View File
@@ -0,0 +1,155 @@
version: '2'
catalog:
name: GoCD
version: 17.3.0-rancher1
minimum_rancher_version: v1.5.0
questions:
- variable: "DEPLOY_SERVER"
description: "Deploy GoCD server"
label: "Deploy GoCD server"
required: true
type: enum
default: "true"
options:
- "true"
- "false"
- variable: "DEPLOY_AGENT"
description: "Deploy GoCD agent"
label: "Deploy GoCD agent"
required: true
type: enum
default: "true"
options:
- "true"
- "false"
- variable: "GOCD_AGENT_SCALE"
description: "Number of GoCD agent"
label: "GoCD Agents"
required: true
default: 1
type: "string"
- variable: "GOCD_AGENT_KEY"
description: "Key to use for auto registration agent"
label: "Agent key"
required: true
type: "password"
- variable: "GOCD_SERVER_MEMORY"
description: "Max memory allowed to GoCD server"
label: "Max memory for server"
type: "string"
required: true
default: "1024m"
- variable: "GOCD_AGENT_MEMORY"
description: "Max memory allowed to GoCD agent"
label: "Max memory for agent"
type: "string"
required: true
default: "2048m"
- variable: "GOCD_AGENT_RESOURCE"
description: "Resource name associated for agent"
label: "Resource name"
type: "string"
required: true
default: "docker"
- variable: "GOCD_USER"
description: "Login to connect on GoCD"
label: "Login"
type: "string"
required: true
default: "admin"
- variable: "GOCD_PASSWORD"
description: "Password to connect on GoCD"
label: "Password"
type: "password"
required: true
- variable: "GOCD_AGENT_PACKAGE"
description: "Install GoCD extra plugins"
label: "Install extra plugins"
required: true
type: enum
default: "true"
options:
- "true"
- "false"
- variable: "VOLUME_DRIVER_SERVER"
description: "Docker driver to store volume or base path for GoCD server"
label: "Volume drver / Path for server"
type: "string"
required: true
default: "local"
- variable: "VOLUME_DRIVER_AGENT"
description: "Docker driver to store volume or base path for GoCD agent"
label: "Volume drver / Path for agent"
type: "string"
required: true
default: "local"
- variable: "DEPLOY_LB"
description: "Deploy Loadbalancer"
label: "Deploy Loadbalancer"
required: true
type: enum
default: "true"
options:
- "true"
- "false"
- variable: "PUBLISH_PORT"
description: "Set port if you want publish external port for GoCD server or Loadbalancer"
label: "Publish port"
required: false
type: "string"
default: "8153"
- variable: "GOCD_SERVER_URL"
description: "The server URL use by agent to auto register. Don't touch if you deploy server and agent"
label: "Server URL"
required: true
type: "string"
default: "https://gocd-server:8154/go"
- variable: "CONFD_BACKEND"
description: "The confd backend to grab config"
label: "Confd backend"
required: true
default: "env"
type: "string"
- variable: "CONFD_NODES"
description: "The confd nodes"
label: "Confd nodes"
required: false
type: "string"
- variable: "CONFD_PREFIX"
description: "The confd prefix"
label: "Confd prefix"
required: true
default: "/gocd"
type: "string"
services:
gocd-agent:
scale: ${GOCD_AGENT_SCALE}
retain_ip: true
gocd-server:
scale: 1
retain_ip: false
health_check:
port: 8153
interval: 5000
unhealthy_threshold: 3
request_line: ''
healthy_threshold: 2
response_timeout: 5000
lb:
scale: 1
start_on_create: true
lb_config:
certs: []
port_rules:
- priority: 1
protocol: http
service: gocd-server
source_port: 8153
target_port: 8153
health_check:
response_timeout: 2000
healthy_threshold: 2
port: 42
unhealthy_threshold: 3
interval: 2000

Some files were not shown because too many files have changed in this diff Show More