Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
4582687496
53
infra-templates/digitalocean-dns/2/README.md
Normal file
53
infra-templates/digitalocean-dns/2/README.md
Normal file
@ -0,0 +1,53 @@
|
||||
## DigitalOcean DNS
|
||||
|
||||
Rancher External DNS service powered by DigitalOcean
|
||||
|
||||
#### Changelog
|
||||
|
||||
##### v0.6.4
|
||||
|
||||
* Adds support for overriding name template for specific services by setting io.rancher.service.external_dns_name_template label to it in docker-compose.yml
|
||||
|
||||
#### Usage
|
||||
|
||||
##### DigitalOcean DNS record TTL
|
||||
The DigitalOcean API currently does not support per-record TTL setting. You should configure the global TTL setting for the domain manually and set it to a low value (e.g. 60).
|
||||
|
||||
##### Limitation when running the service on multiple Rancher servers
|
||||
|
||||
When running multiple instances of the External DNS service configured to use the same domain name, then only one of them can run in the "Default" environment of a Rancher server instance.
|
||||
|
||||
##### Supported host labels
|
||||
|
||||
`io.rancher.host.external_dns_ip`
|
||||
Override the IP address used in DNS records for containers running on the host. Defaults to the IP address the host is registered with in Rancher.
|
||||
|
||||
`io.rancher.host.external_dns`
|
||||
Accepts 'true' (default) or 'false'
|
||||
When this is set to 'false' no DNS records will ever be created for containers running on this host.
|
||||
|
||||
##### Supported service labels
|
||||
|
||||
`io.rancher.service.external_dns`
|
||||
Accepts 'always', 'never' or 'auto' (default)
|
||||
- `always`: Always create DNS records for this service
|
||||
- `never`: Never create DNS records for this service
|
||||
- `auto`: Create DNS records for this service if it exposes ports on the host
|
||||
|
||||
`io.rancher.service.external_dns_name_template`
|
||||
Custom DNS name template that overrides global custom DNS name template (see below) of default DNS name template for a specific service
|
||||
|
||||
##### Custom DNS name template
|
||||
|
||||
By default DNS entries are named `<service>.<stack>.<environment>.<domain>`.
|
||||
You can specify a custom name template used to construct the subdomain part (left of the domain/zone name) of the DNS records. The following placeholders are supported:
|
||||
|
||||
* `%{{service_name}}`
|
||||
* `%{{stack_name}}`
|
||||
* `%{{environment_name}}`
|
||||
|
||||
**Example:**
|
||||
|
||||
`%{{stack_name}}-%{{service_name}}.statictext`
|
||||
|
||||
Make sure to only use characters in static text and separators that your provider allows in DNS names.
|
13
infra-templates/digitalocean-dns/2/docker-compose.yml
Normal file
13
infra-templates/digitalocean-dns/2/docker-compose.yml
Normal file
@ -0,0 +1,13 @@
|
||||
digitalocean:
|
||||
image: rancher/external-dns:v0.6.4
|
||||
command: -provider=digitalocean
|
||||
expose:
|
||||
- 1000
|
||||
environment:
|
||||
DO_PAT: ${DO_PAT}
|
||||
ROOT_DOMAIN: ${ROOT_DOMAIN}
|
||||
NAME_TEMPLATE: ${NAME_TEMPLATE}
|
||||
TTL: 300
|
||||
labels:
|
||||
io.rancher.container.create_agent: "true"
|
||||
io.rancher.container.agent.role: "external-dns"
|
34
infra-templates/digitalocean-dns/2/rancher-compose.yml
Normal file
34
infra-templates/digitalocean-dns/2/rancher-compose.yml
Normal file
@ -0,0 +1,34 @@
|
||||
.catalog:
|
||||
name: "DigitalOcean DNS"
|
||||
version: "v0.6.4"
|
||||
description: "Rancher External DNS service powered by DigitalOcean"
|
||||
minimum_rancher_version: v1.5.0
|
||||
questions:
|
||||
- variable: "DO_PAT"
|
||||
label: "DigitalOcean Personal Access Token"
|
||||
description: "Enter your personal access token"
|
||||
type: "string"
|
||||
required: true
|
||||
- variable: "ROOT_DOMAIN"
|
||||
label: "Domain Name"
|
||||
description: "The domain name managed by DigitalOcean."
|
||||
type: "string"
|
||||
required: true
|
||||
- variable: "NAME_TEMPLATE"
|
||||
label: "DNS Name Template"
|
||||
description: |
|
||||
Name template used to construct the subdomain part (left of the domain) of the DNS record names.
|
||||
Supported placeholders: %{{service_name}}, %{{stack_name}}, %{{environment_name}}.
|
||||
By default DNS entries will be named '<service>.<stack>.<environment>.<domain>'.
|
||||
type: "string"
|
||||
default: "%{{service_name}}.%{{stack_name}}.%{{environment_name}}"
|
||||
required: false
|
||||
|
||||
digitalocean:
|
||||
health_check:
|
||||
port: 1000
|
||||
interval: 5000
|
||||
unhealthy_threshold: 3
|
||||
request_line: GET / HTTP/1.0
|
||||
healthy_threshold: 2
|
||||
response_timeout: 2000
|
@ -1,7 +1,7 @@
|
||||
name: DigitalOcean DNS
|
||||
description: |
|
||||
Rancher External DNS service powered by DigitalOcean
|
||||
version: v0.6.3
|
||||
version: v0.6.4
|
||||
category: External DNS
|
||||
labels:
|
||||
io.rancher.orchestration.supported: 'cattle,mesos,swarm,kubernetes'
|
||||
|
1
machine-templates/cloudca/0/checksum
Normal file
1
machine-templates/cloudca/0/checksum
Normal file
@ -0,0 +1 @@
|
||||
bea9144384d543353b75ed0bea872fbe
|
3
machine-templates/cloudca/0/rancher-compose.yml
Normal file
3
machine-templates/cloudca/0/rancher-compose.yml
Normal file
@ -0,0 +1,3 @@
|
||||
.catalog:
|
||||
name: cloudca
|
||||
version: "v1.0.1"
|
1
machine-templates/cloudca/0/uiUrl
Normal file
1
machine-templates/cloudca/0/uiUrl
Normal file
@ -0,0 +1 @@
|
||||
https://objects-east.cloud.ca/v1/5ef827605f884961b94881e928e7a250/rancher-ui-driver/v1.0.0/component.js
|
1
machine-templates/cloudca/0/url
Normal file
1
machine-templates/cloudca/0/url
Normal file
@ -0,0 +1 @@
|
||||
https://objects-east.cloud.ca/v1/5ef827605f884961b94881e928e7a250/docker-machine-driver-cloudca/v1.0.1/docker-machine-driver-cloudca_v1.0.1_linux-amd64.zip
|
20
machine-templates/cloudca/catalogIcon-cloudca.svg
Normal file
20
machine-templates/cloudca/catalogIcon-cloudca.svg
Normal file
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="833pt" height="833pt" viewBox="0 0 833 833" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill="none" d=" M 0.00 0.00 L 833.00 0.00 L 833.00 833.00 L 0.00 833.00 L 0.00 0.00 Z" />
|
||||
<path fill="#515254" d=" M 360.82 95.91 C 365.44 93.10 370.53 90.45 376.10 90.69 C 383.38 91.38 390.89 95.57 393.42 102.77 C 397.80 111.74 393.47 123.46 384.72 127.98 C 349.57 148.16 314.42 168.33 279.21 188.41 C 279.22 188.85 279.24 189.74 279.25 190.18 C 302.89 203.99 326.26 218.27 349.83 232.21 C 353.70 234.50 357.96 236.66 360.47 240.57 C 363.23 244.71 365.15 249.99 363.68 254.96 C 362.17 261.77 356.87 267.86 349.97 269.46 C 345.63 269.98 340.85 270.31 336.91 268.04 C 311.03 252.89 285.48 237.18 259.56 222.08 C 259.45 261.38 259.53 300.68 259.52 339.98 C 259.63 345.13 256.76 349.75 253.41 353.43 C 248.24 358.64 240.11 360.04 233.23 357.89 C 227.10 355.81 222.52 350.42 220.54 344.37 C 219.24 340.33 220.31 336.08 220.13 331.95 C 219.63 315.64 220.12 299.33 220.03 283.03 C 220.35 273.35 219.55 263.67 220.10 253.99 C 219.52 237.34 220.47 220.67 219.89 204.01 C 219.86 195.63 219.91 187.24 219.96 178.86 C 219.87 177.47 220.57 176.17 221.89 175.64 C 268.11 148.92 314.57 122.59 360.82 95.91 Z" />
|
||||
<path fill="#515254" d=" M 420.23 106.84 C 421.94 97.68 430.73 90.66 439.99 90.68 C 446.92 90.95 452.71 95.16 458.48 98.52 C 503.10 124.63 547.71 150.77 592.32 176.93 C 592.34 229.62 592.28 282.32 592.35 335.01 C 593.22 345.47 584.43 355.63 573.97 356.35 C 563.19 357.36 552.50 347.91 552.79 336.94 C 552.80 307.64 552.79 278.34 552.80 249.04 C 552.71 240.34 553.05 231.62 552.40 222.94 C 540.35 229.46 528.95 237.19 517.16 244.19 C 504.53 251.80 492.05 259.66 479.45 267.32 C 473.37 270.64 465.47 270.34 459.83 266.23 C 454.20 262.57 451.18 255.58 451.81 248.97 C 452.34 243.39 455.61 238.35 460.22 235.23 C 478.17 224.12 496.19 213.09 514.18 202.02 C 520.98 197.65 528.15 193.82 534.70 189.06 C 500.00 168.90 465.41 148.53 430.78 128.25 C 423.30 124.25 418.28 115.32 420.23 106.84 Z" />
|
||||
<path fill="#df2d25" d=" M 399.56 257.82 C 408.64 255.43 418.71 257.06 426.40 262.52 C 439.53 271.06 443.99 289.86 436.73 303.60 C 432.20 312.24 423.74 318.88 414.08 320.62 C 407.14 321.34 399.74 321.28 393.49 317.76 C 381.68 312.31 374.57 298.85 376.08 286.02 C 376.69 272.82 386.96 261.15 399.56 257.82 Z" />
|
||||
<path fill="#515254" d=" M 394.33 349.40 C 399.08 343.87 407.28 342.00 414.10 344.34 C 421.31 346.96 426.73 354.22 426.69 361.97 C 426.75 388.24 426.62 414.51 426.75 440.78 C 462.27 419.38 497.56 397.61 533.04 376.15 C 536.34 374.19 540.23 373.59 544.02 373.74 C 552.55 373.76 560.18 380.51 562.23 388.61 C 563.63 394.88 562.20 401.97 557.54 406.57 C 554.17 410.37 549.51 412.54 545.25 415.13 C 501.75 441.72 458.16 468.16 414.64 494.73 C 412.52 495.92 410.54 497.59 408.06 497.93 C 405.08 497.49 402.73 495.40 400.17 493.99 C 356.41 467.64 312.54 441.50 268.80 415.13 C 264.90 412.82 260.77 410.73 257.57 407.47 C 253.75 403.01 251.46 396.97 252.49 391.07 C 253.50 386.08 255.99 381.15 260.25 378.18 C 265.54 374.09 272.96 373.24 279.16 375.58 C 282.42 376.89 285.41 378.78 288.35 380.69 C 315.71 396.93 342.92 413.42 370.23 429.76 C 376.59 433.41 382.69 437.57 389.27 440.83 C 389.31 414.56 389.29 388.28 389.28 362.01 C 389.12 357.32 391.44 352.94 394.33 349.40 Z" />
|
||||
<path fill="#515254" d=" M 130.47 584.24 C 134.00 578.32 137.58 572.43 141.10 566.50 C 150.57 566.48 160.03 566.49 169.50 566.50 C 169.53 593.69 169.48 620.88 169.52 648.06 C 169.60 660.22 179.91 671.32 192.05 672.17 C 197.44 672.36 202.84 672.17 208.24 672.24 C 208.27 680.49 208.25 688.74 208.25 697.00 C 198.85 696.65 189.20 698.26 180.09 695.23 C 163.60 690.52 150.18 676.63 146.11 659.97 C 144.27 653.47 144.81 646.69 144.75 640.03 C 144.75 621.44 144.75 602.85 144.75 584.25 C 139.99 584.24 135.23 584.25 130.47 584.24 Z" />
|
||||
<path fill="#515254" d=" M 500.00 573.75 C 508.25 573.75 516.51 573.74 524.76 573.76 C 524.76 597.53 524.76 621.30 524.77 645.06 C 524.65 662.66 514.81 679.78 499.77 688.88 C 489.78 695.11 477.67 697.78 465.98 696.44 C 448.72 694.65 432.74 683.59 425.00 668.05 C 419.79 658.30 418.18 646.86 419.77 635.97 C 422.12 620.19 431.99 605.67 446.00 597.95 C 462.42 588.39 483.97 589.03 500.00 599.16 C 500.00 590.69 500.00 582.22 500.00 573.75 Z" />
|
||||
<path fill="#515254" d=" M 59.36 597.33 C 73.83 589.23 92.20 588.71 107.18 595.79 C 122.29 602.70 133.81 617.11 136.83 633.50 C 128.19 633.51 119.55 633.51 110.91 633.50 C 108.36 627.70 104.08 622.64 98.53 619.51 C 90.53 614.90 80.17 614.72 71.99 618.99 C 65.28 622.39 60.07 628.61 57.85 635.80 C 54.87 645.55 57.65 656.82 65.03 663.92 C 72.86 671.79 85.51 674.27 95.70 669.82 C 102.62 666.92 108.03 661.10 110.93 654.24 C 119.57 654.24 128.22 654.23 136.86 654.25 C 134.02 668.95 124.70 682.27 111.71 689.77 C 97.09 698.49 78.16 699.49 62.74 692.27 C 52.46 687.60 43.69 679.62 38.34 669.64 C 30.17 655.12 29.54 636.68 36.62 621.61 C 41.34 611.36 49.39 602.66 59.36 597.33 Z" />
|
||||
<path fill="#515254" d=" M 243.44 591.67 C 254.47 589.62 266.23 590.72 276.33 595.78 C 291.83 603.07 303.57 617.97 306.69 634.85 C 308.76 645.90 306.90 657.60 301.57 667.50 C 293.86 682.38 279.07 693.47 262.50 696.26 C 250.67 698.03 238.15 696.18 227.71 690.19 C 213.97 682.67 204.37 668.45 202.01 653.02 C 199.66 638.91 202.87 623.87 211.17 612.17 C 218.72 601.51 230.61 594.05 243.44 591.67 Z" />
|
||||
<path fill="#515254" d=" M 314.76 590.75 C 322.98 590.73 331.21 590.78 339.44 590.72 C 339.59 610.48 339.47 630.24 339.50 650.00 C 339.54 661.18 349.70 671.54 360.92 671.53 C 371.80 670.83 381.44 660.91 381.48 649.94 C 381.57 630.20 381.36 610.45 381.58 590.70 C 389.80 590.81 398.02 590.72 406.25 590.76 C 406.25 626.00 406.25 661.25 406.25 696.50 C 397.99 696.51 389.74 696.51 381.49 696.50 C 381.50 695.66 381.52 693.97 381.54 693.12 C 374.24 696.56 365.98 696.52 358.08 696.41 C 334.25 695.34 313.28 673.01 314.74 648.99 C 314.77 629.58 314.73 610.17 314.76 590.75 Z" />
|
||||
<path fill="#df2d25" d=" M 604.07 596.17 C 618.96 588.78 637.45 589.08 652.08 597.01 C 666.08 604.21 676.34 618.05 679.33 633.50 C 670.67 633.50 662.01 633.56 653.36 633.47 C 649.82 625.19 642.38 618.59 633.55 616.59 C 626.78 615.18 619.45 616.01 613.44 619.56 C 603.76 624.82 597.82 636.17 599.31 647.14 C 600.57 660.08 611.92 671.06 624.89 671.92 C 636.99 673.18 648.93 665.45 653.37 654.25 C 662.03 654.21 670.68 654.24 679.34 654.23 C 676.52 668.53 667.74 681.62 655.19 689.14 C 641.01 698.07 622.49 699.58 607.05 693.10 C 595.86 688.55 586.33 680.04 580.63 669.38 C 572.05 653.90 572.05 634.05 580.60 618.56 C 585.82 608.88 594.14 600.91 604.07 596.17 Z" />
|
||||
<path fill="#df2d25" d=" M 715.08 597.18 C 729.64 589.18 748.09 588.70 763.02 595.98 C 780.96 604.21 793.10 623.36 793.13 643.06 C 793.38 660.97 793.26 678.89 793.19 696.81 C 784.87 696.72 776.55 696.80 768.24 696.76 C 768.22 694.11 768.22 691.46 768.23 688.82 C 758.65 694.73 747.21 697.58 735.99 696.61 C 718.54 695.31 701.99 684.78 693.69 669.33 C 687.11 657.45 685.47 643.00 689.06 629.92 C 692.78 616.06 702.39 603.91 715.08 597.18 Z" />
|
||||
<path fill="#fefefe" d=" M 246.49 616.59 C 262.70 611.62 280.14 624.98 282.40 641.10 C 283.90 654.55 273.48 667.00 261.11 671.01 C 247.61 675.13 232.01 666.73 227.83 653.30 C 222.24 638.70 231.23 620.48 246.49 616.59 Z" />
|
||||
<path fill="#fefefe" d=" M 466.42 616.61 C 481.20 613.15 497.11 624.20 499.44 639.10 C 502.07 652.13 493.81 666.05 481.26 670.25 C 472.32 673.46 461.79 671.72 454.45 665.66 C 446.90 659.62 442.83 649.44 444.39 639.87 C 446.01 628.58 455.15 618.71 466.42 616.61 Z" />
|
||||
<path fill="#fefefe" d=" M 732.51 616.82 C 746.22 612.52 762.04 620.82 766.58 634.36 C 771.15 646.22 766.15 660.67 755.37 667.33 C 745.99 673.64 732.65 673.30 723.71 666.34 C 713.80 659.28 709.57 645.35 714.07 634.02 C 717.10 625.83 724.17 619.31 732.51 616.82 Z" />
|
||||
<path fill="#df2d25" d=" M 544.31 661.24 C 552.42 658.91 561.66 662.86 565.49 670.40 C 569.22 677.36 567.74 686.59 562.02 692.05 C 555.93 698.21 545.39 698.92 538.46 693.76 C 531.27 688.81 528.81 678.37 532.86 670.68 C 535.07 666.06 539.38 662.57 544.31 661.24 Z" />
|
||||
</svg>
|
After Width: | Height: | Size: 8.0 KiB |
2
machine-templates/cloudca/config.yml
Normal file
2
machine-templates/cloudca/config.yml
Normal file
@ -0,0 +1,2 @@
|
||||
name: cloudca
|
||||
version: "v1.0.1"
|
1
machine-templates/qingcloud/0/checksum
Normal file
1
machine-templates/qingcloud/0/checksum
Normal file
@ -0,0 +1 @@
|
||||
6891ca3791f23264ac3ca6576e856349
|
3
machine-templates/qingcloud/0/rancher-compose.yml
Normal file
3
machine-templates/qingcloud/0/rancher-compose.yml
Normal file
@ -0,0 +1,3 @@
|
||||
.catalog:
|
||||
name: qingcloud
|
||||
version: "v1.0.1"
|
1
machine-templates/qingcloud/0/uiUrl
Normal file
1
machine-templates/qingcloud/0/uiUrl
Normal file
@ -0,0 +1 @@
|
||||
http://machine-driver.oss-cn-shanghai.aliyuncs.com/qingcloud/ui/v1.0.1/component.js
|
1
machine-templates/qingcloud/0/url
Normal file
1
machine-templates/qingcloud/0/url
Normal file
@ -0,0 +1 @@
|
||||
http://machine-driver.oss-cn-shanghai.aliyuncs.com/qingcloud/driver/v1.0.1/docker-machine-driver-qingcloud-linux-amd64.tar.gz
|
BIN
machine-templates/qingcloud/catalogIcon-qingcloud.png
Normal file
BIN
machine-templates/qingcloud/catalogIcon-qingcloud.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 67 KiB |
2
machine-templates/qingcloud/config.yml
Normal file
2
machine-templates/qingcloud/config.yml
Normal file
@ -0,0 +1,2 @@
|
||||
name: qingcloud
|
||||
version: "v1.0.1"
|
@ -1,4 +1,4 @@
|
||||
name: Wordpress
|
||||
name: WordPress
|
||||
description: |
|
||||
Blog tool, publishing platform and CMS
|
||||
version: 1.0.0-latest-rancher1
|
||||
|
32
templates/consul/1/README.md
Normal file
32
templates/consul/1/README.md
Normal 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
templates/consul/1/docker-compose.yml.tpl
Normal file
41
templates/consul/1/docker-compose.yml.tpl
Normal 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
templates/consul/1/rancher-compose.yml
Normal file
93
templates/consul/1/rancher-compose.yml
Normal 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,5 +1,5 @@
|
||||
name: Consul Cluster
|
||||
description: |
|
||||
Consul cluster
|
||||
version: 0.6-rancher1
|
||||
version: 0.8-rancher1
|
||||
category: Clustering
|
||||
|
19
templates/drone/2/README.md
Normal file
19
templates/drone/2/README.md
Normal 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
templates/drone/2/docker-compose.yml.tpl
Normal file
79
templates/drone/2/docker-compose.yml.tpl
Normal 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_admins}
|
||||
{{- 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
templates/drone/2/rancher-compose.yml
Normal file
123
templates/drone/2/rancher-compose.yml
Normal 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
|
@ -1,5 +1,5 @@
|
||||
name: Drone
|
||||
description: |
|
||||
Drone CI Server
|
||||
version: 0.4-rancher2
|
||||
version: 0.5-rancher1
|
||||
category: Continuous Integration
|
||||
|
@ -5,7 +5,7 @@ services:
|
||||
tty: true
|
||||
image: webcenter/alpine-gocd-server:17.3.0-1
|
||||
volumes:
|
||||
{{- if (contains .Values.VOLUME_DRIVER_SERVER "/")}}
|
||||
{{- if eq (printf "%.1s" .Values.VOLUME_DRIVER_SERVER) "/" }}
|
||||
- ${VOLUME_DRIVER_SERVER}:/data
|
||||
{{- else}}
|
||||
- gocd-server-data:/data
|
||||
@ -36,7 +36,7 @@ services:
|
||||
- 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 (ne .Values.DEPLOY_LB "true") and .Values.PUBLISH_PORT}}
|
||||
{{- if and (ne .Values.DEPLOY_LB "true") (.Values.PUBLISH_PORT)}}
|
||||
ports:
|
||||
- ${PUBLISH_PORT}:8153
|
||||
{{- end}}
|
||||
@ -46,7 +46,7 @@ services:
|
||||
{{- if eq .Values.DEPLOY_LB "true"}}
|
||||
lb:
|
||||
image: rancher/lb-service-haproxy:v0.6.2
|
||||
{{- if .Values.PUBLISH_PORT}}
|
||||
{{- if (.Values.PUBLISH_PORT)}}
|
||||
ports:
|
||||
- ${PUBLISH_PORT}:8153/tcp
|
||||
{{- else}}
|
||||
@ -65,7 +65,7 @@ services:
|
||||
tty: true
|
||||
image: webcenter/alpine-gocd-agent:17.3.0-1
|
||||
volumes:
|
||||
{{- if (contains .Values.VOLUME_DRIVER_AGENT "/")}}
|
||||
{{- if eq (printf "%.1s" .Values.VOLUME_DRIVER_AGENT) "/"}}
|
||||
- ${VOLUME_DRIVER_AGENT}:/data
|
||||
{{- else}}
|
||||
- gocd-agent-data:/data
|
||||
@ -102,7 +102,7 @@ services:
|
||||
io.rancher.container.hostname_override: container_name
|
||||
image: index.docker.io/docker:1.13-dind
|
||||
volumes:
|
||||
{{- if (contains .Values.VOLUME_DRIVER_AGENT "/")}}
|
||||
{{- if eq (printf "%.1s" .Values.VOLUME_DRIVER_AGENT) "/"}}
|
||||
- ${VOLUME_DRIVER_AGENT}:/data
|
||||
{{- else}}
|
||||
- gocd-agent-data:/data
|
||||
@ -114,12 +114,12 @@ volumes:
|
||||
gocd-scheduler-setting:
|
||||
driver: local
|
||||
per_container: true
|
||||
{{- if not (contains .Values.VOLUME_DRIVER_AGENT "/")}}
|
||||
{{- if ne (printf "%.1s" .Values.VOLUME_DRIVER_AGENT) "/"}}
|
||||
gocd-agent-data:
|
||||
driver: ${VOLUME_DRIVER_AGENT}
|
||||
per_container: true
|
||||
{{- end}}
|
||||
{{- if not (contains .Values.VOLUME_DRIVER_SERVER "/")}}
|
||||
{{- if ne (printf "%.1s" .Values.VOLUME_DRIVER_SERVER) "/"}}
|
||||
gocd-server-data:
|
||||
driver: ${VOLUME_DRIVER_SERVER}
|
||||
{{- end}}
|
||||
|
20
templates/influxdb/0/README.md
Normal file
20
templates/influxdb/0/README.md
Normal file
@ -0,0 +1,20 @@
|
||||
# Influxdb
|
||||
|
||||
### Info:
|
||||
|
||||
This template deploys a Influxdb.
|
||||
|
||||
|
||||
### Usage:
|
||||
|
||||
Select influxdb from catalog.
|
||||
|
||||
Change the following cloud9 default parameters, if you need:
|
||||
|
||||
- Expose influxdb=true # Exposed influxdb service
|
||||
- Influxdb port=8086 # Influxdb exposed port
|
||||
|
||||
Click deploy.
|
||||
|
||||
Influxdb can now be accessed over the Rancher network and over exposed port.
|
||||
|
36
templates/influxdb/0/docker-compose.yml.tpl
Normal file
36
templates/influxdb/0/docker-compose.yml.tpl
Normal file
@ -0,0 +1,36 @@
|
||||
version: '2'
|
||||
services:
|
||||
{{- if eq .Values.EXPOSE_SERVICE "true"}}
|
||||
lb:
|
||||
image: rancher/lb-service-haproxy:v0.6.2
|
||||
ports:
|
||||
- ${influxdb_port}:8086/tcp
|
||||
labels:
|
||||
io.rancher.container.agent.role: environmentAdmin
|
||||
io.rancher.container.create_agent: 'true'
|
||||
{{- end}}
|
||||
influxdb:
|
||||
image: influxdb:1.2.2-alpine
|
||||
stdin_open: true
|
||||
tty: 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
|
||||
io.rancher.sidekicks: influxdb-volume
|
||||
volumes_from:
|
||||
- influxdb-volume
|
||||
influxdb-volume:
|
||||
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
|
||||
environment:
|
||||
- SERVICE_UID=0
|
||||
- SERVICE_GID=0
|
||||
- SERVICE_VOLUME=/var/lib/influxdb
|
||||
volumes:
|
||||
- /var/lib/influxdb
|
||||
volume_driver: local
|
||||
image: rawmind/alpine-volume:0.0.2-1
|
||||
|
55
templates/influxdb/0/rancher-compose.yml
Normal file
55
templates/influxdb/0/rancher-compose.yml
Normal file
@ -0,0 +1,55 @@
|
||||
.catalog:
|
||||
name: Influxdb
|
||||
description: |
|
||||
Influxdb
|
||||
version: 1.2.2-rancher1
|
||||
minimum_rancher_version: v1.0.0
|
||||
maintainer: "Raul Sanchez <rawmind@gmail.com>"
|
||||
uuid: influxdb-0
|
||||
questions:
|
||||
- variable: "EXPOSE_SERVICE"
|
||||
description: "Expose Influxdb"
|
||||
label: "Expose influxdb:"
|
||||
required: true
|
||||
type: enum
|
||||
default: "true"
|
||||
options:
|
||||
- "true"
|
||||
- "false"
|
||||
- variable: "influxdb_port"
|
||||
description: |
|
||||
Port to expose.
|
||||
label: "Influxdb port:"
|
||||
default: "8086"
|
||||
required: true
|
||||
type: "int"
|
||||
version: '2'
|
||||
services:
|
||||
lb:
|
||||
scale: 1
|
||||
start_on_create: true
|
||||
lb_config:
|
||||
certs: []
|
||||
port_rules:
|
||||
- hostname: ''
|
||||
priority: 1
|
||||
protocol: http
|
||||
service: influxdb
|
||||
source_port: ${influxdb_port}
|
||||
target_port: 8086
|
||||
health_check:
|
||||
response_timeout: 2000
|
||||
healthy_threshold: 2
|
||||
port: 42
|
||||
unhealthy_threshold: 3
|
||||
interval: 2000
|
||||
influxdb:
|
||||
scale: 1
|
||||
start_on_create: true
|
||||
health_check:
|
||||
response_timeout: 2000
|
||||
healthy_threshold: 2
|
||||
port: 8086
|
||||
unhealthy_threshold: 3
|
||||
interval: 2000
|
||||
|
81
templates/influxdb/catalogIcon-influxdb.svg
Normal file
81
templates/influxdb/catalogIcon-influxdb.svg
Normal file
@ -0,0 +1,81 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.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 672 250" style="enable-background:new 0 0 672 250;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:url(#symbol_1_);}
|
||||
.st1{fill:url(#SVGID_1_);}
|
||||
.st2{fill:url(#SVGID_2_);}
|
||||
.st3{fill:url(#SVGID_3_);}
|
||||
.st4{fill:url(#SVGID_4_);}
|
||||
.st5{fill:url(#SVGID_5_);}
|
||||
.st6{fill:url(#SVGID_6_);}
|
||||
.st7{fill:url(#SVGID_7_);}
|
||||
</style>
|
||||
<g id="influxdb_logo">
|
||||
<linearGradient id="symbol_1_" gradientUnits="userSpaceOnUse" x1="205.3238" y1="125" x2="483.0884" y2="125">
|
||||
<stop offset="0" style="stop-color:#4591ED"/>
|
||||
<stop offset="1" style="stop-color:#00C9FF"/>
|
||||
</linearGradient>
|
||||
<path id="symbol_2_" class="st0" d="M242.5,133.3l-7.6-33.2c-0.4-1.8-2.1-3.6-3.9-4.1l-34.9-10.7c-0.5-0.1-1-0.2-1.5-0.2
|
||||
c-1.5,0-3.1,0.6-4,1.5l-25,23.2c-1.3,1.2-2.1,3.6-1.7,5.4l8.1,35.5c0.4,1.8,2.1,3.6,3.9,4.1l32.6,10c0.5,0.1,1,0.2,1.5,0.2
|
||||
c1.5,0,3.1-0.6,4-1.5l26.7-24.8C242.2,137.5,242.9,135.1,242.5,133.3z M199.7,93.1l23.9,7.3c0.9,0.3,0.9,0.7,0,0.9l-12.6,2.9
|
||||
c-1,0.2-2.3-0.2-2.9-0.9l-8.8-9.5C198.6,93.2,198.8,92.9,199.7,93.1z M214.6,136c0.2,1-0.4,1.5-1.3,1.2l-25.8-7.9
|
||||
c-0.9-0.3-1.1-1.1-0.4-1.7l19.8-18.4c0.7-0.7,1.5-0.4,1.7,0.5L214.6,136z M172.1,112.6l21-19.5c0.7-0.7,1.8-0.6,2.5,0.1l10.5,11.3
|
||||
c0.7,0.7,0.6,1.8-0.1,2.5l-21,19.5c-0.7,0.7-1.8,0.6-2.5-0.1L172,115.1C171.4,114.4,171.4,113.3,172.1,112.6z M177.2,143.6
|
||||
l-5.6-24.3c-0.2-1,0.1-1.1,0.8-0.4l8.8,9.5c0.7,0.7,1,2.1,0.7,3l-3.8,12.3C177.9,144.5,177.4,144.5,177.2,143.6z M207.9,157.7
|
||||
l-27.3-8.4c-0.9-0.3-1.5-1.3-1.2-2.2l4.5-14.8c0.3-0.9,1.3-1.5,2.2-1.2l27.3,8.4c0.9,0.3,1.5,1.3,1.2,2.2l-4.5,14.8
|
||||
C209.8,157.5,208.8,158,207.9,157.7z M232.2,137.8l-18.3,17c-0.7,0.7-1.1,0.4-0.8-0.5l3.8-12.3c0.3-0.9,1.3-1.9,2.3-2.1l12.6-2.9
|
||||
C232.7,136.8,232.9,137.2,232.2,137.8z M234.2,134.2l-15.1,3.4c-1,0.2-1.9-0.4-2.1-1.3l-6.4-27.9c-0.2-1,0.4-1.9,1.3-2.1l15.1-3.4
|
||||
c1-0.2,1.9,0.4,2.1,1.3l6.4,27.9C235.7,133,235.1,134,234.2,134.2z"/>
|
||||
<g id="type_2_">
|
||||
<g>
|
||||
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="205.3238" y1="120.5383" x2="483.0884" y2="120.5383">
|
||||
<stop offset="0" style="stop-color:#4591ED"/>
|
||||
<stop offset="1" style="stop-color:#00C9FF"/>
|
||||
</linearGradient>
|
||||
<path class="st1" d="M273.5,111.4l8.9-1.2l-6.3,35.8h-8.7L273.5,111.4z M276.1,96.3l8.9-1.2l-1.7,9.8l-8.9,1.3L276.1,96.3z"/>
|
||||
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="205.3238" y1="127.9909" x2="483.0884" y2="127.9909">
|
||||
<stop offset="0" style="stop-color:#4591ED"/>
|
||||
<stop offset="1" style="stop-color:#00C9FF"/>
|
||||
</linearGradient>
|
||||
<path class="st2" d="M310.2,120.9c0.1-0.4,0.1-0.8,0.1-0.9c0-0.9-0.4-1.5-1.8-1.5c-2.3,0-7.2,2.2-10.5,4.1l-4.1,23.4h-8.7
|
||||
l6.1-34.5l7.5-1.3l-0.1,4.3c4.6-2.5,10.1-4.4,14.3-4.4c4.8,0,6.4,3.2,6.4,7c0,1.4-0.1,2.3-0.4,3.5l-4.5,25.5h-8.7L310.2,120.9z"
|
||||
/>
|
||||
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="205.3238" y1="127.9185" x2="483.0884" y2="127.9185">
|
||||
<stop offset="0" style="stop-color:#4591ED"/>
|
||||
<stop offset="1" style="stop-color:#00C9FF"/>
|
||||
</linearGradient>
|
||||
<path class="st3" d="M347.4,117.8h-8.1l-5.3,29.8c-1,5.7-3.1,9.3-7.7,13.3l-5.6-5.2c2.8-2.7,4.1-5.1,4.7-8.9l5.1-29h-5.4l1.2-7.1
|
||||
h5.4l0.9-5.1c1.3-7.5,4.3-10.8,13.2-10.8c2.9,0,6.7,0.4,11.1,1.4l8.9-1.2l-9,50.9h-8.7l7.6-43.1c-3.5-0.7-7-1.1-9.8-1.1
|
||||
c-3,0-4.2,1-4.6,3.5l-0.9,5.4h8.8L347.4,117.8z"/>
|
||||
<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="205.3238" y1="128.4249" x2="483.0884" y2="128.4249">
|
||||
<stop offset="0" style="stop-color:#4591ED"/>
|
||||
<stop offset="1" style="stop-color:#00C9FF"/>
|
||||
</linearGradient>
|
||||
<path class="st4" d="M376.1,135.8c-0.1,0.5-0.1,0.8-0.1,0.9c0,0.9,0.4,1.5,1.8,1.5c2.3,0,7.2-2.2,10.5-4.1l4-22.8l8.9-1.2
|
||||
L395,146h-7.4l0.1-3.7c-4.6,2.5-10.1,4.4-14.3,4.4c-4.8,0-6.4-3.2-6.4-7c0-1.4,0.1-2.3,0.4-3.5l4.3-24.8l8.9-1.2L376.1,135.8z"/>
|
||||
<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="205.3238" y1="128.0632" x2="483.0884" y2="128.0632">
|
||||
<stop offset="0" style="stop-color:#4591ED"/>
|
||||
<stop offset="1" style="stop-color:#00C9FF"/>
|
||||
</linearGradient>
|
||||
<path class="st5" d="M414.9,128.2l-7.6-16.6l8.1-1.5l5.3,12.5l8.7-11.9h9.3l-14.4,18.6L432,146h-8.8l-4.8-10.2l-8.5,10.2h-9.3
|
||||
L414.9,128.2z"/>
|
||||
<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="205.3238" y1="120.9" x2="483.0884" y2="120.9">
|
||||
<stop offset="0" style="stop-color:#4591ED"/>
|
||||
<stop offset="1" style="stop-color:#00C9FF"/>
|
||||
</linearGradient>
|
||||
<path class="st6" d="M465.3,146h-7.4v-3.9c-3,2.7-6.8,4.6-12,4.6c-6.1,0-8.2-3.3-8.2-8c0-1.2,0.1-2.4,0.4-3.7l1.8-10.3
|
||||
c1.6-9,3.3-14.7,17.1-14.7c1.3,0,3.8,0.2,5.8,0.7l2.5-14.3l8.9-1.2L465.3,146z M461.6,117.8c-1.6-0.4-3.9-0.4-5.1-0.4
|
||||
c-5.6,0-7,2.2-7.8,6.9l-2.2,12.4c-0.1,0.4-0.1,0.7-0.1,0.9c0,1.3,0.9,1.9,2.5,1.9c3.7,0,8-3,9.8-5.3L461.6,117.8z"/>
|
||||
<linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="205.3238" y1="120.9" x2="483.0884" y2="120.9">
|
||||
<stop offset="0" style="stop-color:#4591ED"/>
|
||||
<stop offset="1" style="stop-color:#00C9FF"/>
|
||||
</linearGradient>
|
||||
<path class="st7" d="M483.1,96.3l8.9-1.2l-3.2,18c3.9-2.2,7.6-3.1,11.1-3.1c6.1,0,8.2,3.3,8.2,8c0,1.2-0.1,2.4-0.4,3.7L506,132
|
||||
c-1.9,10.6-5.5,14.7-18.2,14.7c-3.3,0-9.7-1.1-13.2-2.3L483.1,96.3z M484.2,138.9c1.6,0.3,3.3,0.5,5.1,0.5c5.6,0,7-2.3,7.8-6.9
|
||||
l2.2-12.4c0.1-0.4,0.1-0.7,0.1-0.9c0-1.3-0.9-1.9-2.5-1.9c-2.7,0-6.4,1.2-9.5,3.3L484.2,138.9z"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 5.6 KiB |
7
templates/influxdb/config.yml
Normal file
7
templates/influxdb/config.yml
Normal file
@ -0,0 +1,7 @@
|
||||
name: Influxdb
|
||||
description: |
|
||||
Influxdb
|
||||
version: 1.2.2-rancher1
|
||||
category: Database
|
||||
maintainer: "Raul Sanchez <rawmind@gmail.com>"
|
||||
license:
|
33
templates/kibana/3/docker-compose.yml
Normal file
33
templates/kibana/3/docker-compose.yml
Normal file
@ -0,0 +1,33 @@
|
||||
kibana-vip:
|
||||
ports:
|
||||
- "${public_port}:80"
|
||||
restart: always
|
||||
tty: true
|
||||
image: rancher/load-balancer-service
|
||||
links:
|
||||
- nginx-proxy:kibana5
|
||||
stdin_open: true
|
||||
nginx-proxy-conf:
|
||||
image: rancher/nginx-conf:v0.2.0
|
||||
command: "-backend=rancher --prefix=/2015-07-25"
|
||||
labels:
|
||||
io.rancher.container.hostname_override: container_name
|
||||
nginx-proxy:
|
||||
image: rancher/nginx:v1.9.4-3
|
||||
volumes_from:
|
||||
- nginx-proxy-conf
|
||||
labels:
|
||||
io.rancher.container.hostname_override: container_name
|
||||
io.rancher.sidekicks: nginx-proxy-conf,kibana5
|
||||
external_links:
|
||||
- ${elasticsearch_source}:elasticsearch
|
||||
kibana5:
|
||||
restart: always
|
||||
tty: true
|
||||
image: kibana:5.3.0
|
||||
net: "container:nginx-proxy"
|
||||
stdin_open: true
|
||||
environment:
|
||||
ELASTICSEARCH_URL: "http://elasticsearch:9200"
|
||||
labels:
|
||||
io.rancher.container.hostname_override: container_name
|
24
templates/kibana/3/rancher-compose.yml
Normal file
24
templates/kibana/3/rancher-compose.yml
Normal file
@ -0,0 +1,24 @@
|
||||
.catalog:
|
||||
name: "Kibana"
|
||||
version: "5.3.0-rancher1"
|
||||
description: "Kibana: Explore & Visualize Your Data"
|
||||
questions:
|
||||
- variable: "elasticsearch_source"
|
||||
description: "Link to elasticsearch service or stack/service"
|
||||
label: "Elasticsearch source"
|
||||
type: "service"
|
||||
required: true
|
||||
default: "es/elasticsearch-clients"
|
||||
- variable: "public_port"
|
||||
label: "Public Port"
|
||||
description: "Unique public port for Kibana"
|
||||
type: "int"
|
||||
default: 80
|
||||
required: true
|
||||
|
||||
nginx-proxy:
|
||||
metadata:
|
||||
nginx:
|
||||
conf:
|
||||
servername: "kibana"
|
||||
upstream_port: 5601
|
79
templates/traefik/6/README.md
Normal file
79
templates/traefik/6/README.md
Normal file
@ -0,0 +1,79 @@
|
||||
# Traefik active load balancer (Experimental)
|
||||
|
||||
### Info:
|
||||
|
||||
This template deploys traefik active load balancers on top of Rancher. The configuration is generated and updated with confd from Rancher metadata.
|
||||
It would be deployed in hosts with label traefik_lb=true.
|
||||
|
||||
### Config:
|
||||
|
||||
- host_label = "traefik_lb=true" # Host label where to run traefik service.
|
||||
- http_port = 8080 # Port exposed to get access to the published services.
|
||||
- https_port = 8443 # Port exposed to get secured access to the published services.
|
||||
- admin_port = 8000 # Port exposed to get admin access to the traefik service.
|
||||
- https_enable = <false | true | only>
|
||||
- false: Enable http enpoints and disable https ones.
|
||||
- true: Enable http and https endpoints.
|
||||
- only: Enable https endpoints and redirect http to https.
|
||||
- acme_enable = false # Enable/Disable acme traefik support.
|
||||
- acme_email = "test@traefik.io" # acme user email
|
||||
- acme_ondemand = true # acme ondemand parameter.
|
||||
- acme_onhostrule = true # acme onHostRule parameter.
|
||||
- ssl_key # Paste your ssl key. *Required if you enable https
|
||||
- ssl_crt # Paste your ssl crt. *Required if you enable https
|
||||
- insecure_skip = false # Enable InsecureSkipVerify param.
|
||||
- refresh_interval = 10s # Interval to refresh traefik rules.toml from rancher-metadata.
|
||||
|
||||
NOTE: If you enable acme support, additional sidekick will be created for acme persistance.
|
||||
|
||||
### Service configuration labels:
|
||||
|
||||
Traefik labels has to be added in your services, in order to get included in traefik dynamic config.
|
||||
|
||||
- traefik.enable = <true | false>
|
||||
- true: the service will be published as *service_name.stack_name.traefik_domain*
|
||||
- stack: the service will be published as *stack_name.traefik_domain*. WARNING: You could have collisions inside services within your stack
|
||||
- false: the service will not be published
|
||||
- traefik.priority = <priority> # Override for frontend priority. 5 by default
|
||||
- traefik.protocol = < http | https > # Override the default http protocol
|
||||
- traefik.sticky = < true | false > # Enable/disable sticky sessions to the backend
|
||||
- traefik.alias = < alias > # Alternate names to route rule. Multiple values separated by ",". traefik.domain is appended. WARNING: You could have collisions BE CAREFULL
|
||||
- traefik.alias.fqdn = < alias fqdn > # Alternate names to route rule. Multiple values separated by ",". traefik.domain must be defined but is not appended here.
|
||||
- traefik.domain = < domain.name > # Domain names to route rules. Multiple domains separated by ","
|
||||
- traefik.domain.regexp = < domain.regexp > # Domain name regexp rule. Multiple domains separated by ","
|
||||
- traefik.port = < port > # Port to expose throught traefik
|
||||
- traefik.acme = < true | false > # Enable/disable ACME traefik feature
|
||||
- traefik.path = < path > # Path rule. Multiple values separated by ","
|
||||
- traefik.path.strip = < path > # Path strip rule. Multiple values separated by ","
|
||||
- traefik.path.prefix = < path > # Path prefix rule. Multiple values separated by ","
|
||||
- traefik.path.prefix.strip = < path > # Path prefix strip rule. Multiple values separated by ","
|
||||
|
||||
Details for configuring the traefik rules can be found at: https://docs.traefik.io/basics/#frontends
|
||||
|
||||
WARNING: Only services with healthy state are added to traefik, so health checks are mandatory.
|
||||
|
||||
### Usage:
|
||||
|
||||
Select Traefik from catalog.
|
||||
|
||||
Set the params.
|
||||
|
||||
Click deploy.
|
||||
|
||||
Services will be accessed throught hosts ip's whith $host_label:
|
||||
|
||||
- http://${service_name}.${stack_name}.${traefik.domain}:${http_port}
|
||||
- https://${service_name}.${stack_name}.${traefik.domain}:${https_port}
|
||||
|
||||
or
|
||||
|
||||
- http://${stack_name}.${traefik.domain}:${http_port}
|
||||
- https://${stack_name}.${traefik.domain}:${https_port}
|
||||
|
||||
If you set traefik.alias you service could also be acceses through
|
||||
|
||||
- http://${traefik.alias}.${traefik.domain}:${http_port}
|
||||
- https://${traefik.alias}.${traefik.domain}:${https_port}
|
||||
|
||||
Note: To access the services, you need to create A or CNAMES dns entries for every one.
|
||||
|
64
templates/traefik/6/docker-compose.yml.tpl
Normal file
64
templates/traefik/6/docker-compose.yml.tpl
Normal file
@ -0,0 +1,64 @@
|
||||
traefik:
|
||||
ports:
|
||||
- ${admin_port}:8000/tcp
|
||||
- ${http_port}:${http_port}/tcp
|
||||
- ${https_port}:${https_port}/tcp
|
||||
log_driver: ''
|
||||
labels:
|
||||
io.rancher.scheduler.global: 'true'
|
||||
io.rancher.scheduler.affinity:host_label: ${host_label}
|
||||
io.rancher.scheduler.affinity:container_label_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
|
||||
io.rancher.sidekicks: traefik-conf
|
||||
{{- if eq .Values.acme_enable "true" -}}
|
||||
,traefik-acme
|
||||
{{- end}}
|
||||
io.rancher.container.hostname_override: container_name
|
||||
tty: true
|
||||
log_opt: {}
|
||||
image: rawmind/alpine-traefik:1.2.3-1
|
||||
environment:
|
||||
- CONF_INTERVAL=${refresh_interval}
|
||||
- TRAEFIK_HTTP_PORT=${http_port}
|
||||
- TRAEFIK_HTTPS_PORT=${https_port}
|
||||
- TRAEFIK_HTTPS_ENABLE=${https_enable}
|
||||
{{- if eq .Values.acme_enable "true"}}
|
||||
- TRAEFIK_ACME_ENABLE=${acme_enable}
|
||||
- TRAEFIK_ACME_EMAIL=${acme_email}
|
||||
- TRAEFIK_ACME_ONDEMAND=${acme_ondemand}
|
||||
- TRAEFIK_ACME_ONHOSTRULE=${acme_onhostrule}
|
||||
{{- end}}
|
||||
- TRAEFIK_INSECURE_SKIP=${insecure_skip}
|
||||
volumes_from:
|
||||
- traefik-conf
|
||||
{{- if eq .Values.acme_enable "true"}}
|
||||
- traefik-acme
|
||||
{{- end}}
|
||||
traefik-conf:
|
||||
log_driver: ''
|
||||
labels:
|
||||
io.rancher.scheduler.global: 'true'
|
||||
io.rancher.scheduler.affinity:host_label: ${host_label}
|
||||
io.rancher.scheduler.affinity:container_label_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
|
||||
io.rancher.container.start_once: 'true'
|
||||
tty: true
|
||||
log_opt: {}
|
||||
image: rawmind/rancher-traefik:0.3.4-19
|
||||
net: none
|
||||
volumes:
|
||||
- /opt/tools
|
||||
{{- if eq .Values.acme_enable "true"}}
|
||||
traefik-acme:
|
||||
net: 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
|
||||
environment:
|
||||
- SERVICE_UID=10001
|
||||
- SERVICE_GID=10001
|
||||
- SERVICE_VOLUME=/opt/traefik/acme
|
||||
volumes:
|
||||
- /opt/traefik/acme
|
||||
volume_driver: ${VOLUME_DRIVER}
|
||||
image: rawmind/alpine-volume:0.0.2-1
|
||||
{{- end}}
|
107
templates/traefik/6/rancher-compose.yml
Normal file
107
templates/traefik/6/rancher-compose.yml
Normal file
@ -0,0 +1,107 @@
|
||||
.catalog:
|
||||
name: traefik
|
||||
version: v1.2.3-1-rancher1
|
||||
description: |
|
||||
(Experimental) Traefik load balancer.
|
||||
minimum_rancher_version: v0.59.0
|
||||
maintainer: "Raul Sanchez <rawmind@gmail.com>"
|
||||
uuid: traefik-0
|
||||
questions:
|
||||
- variable: "host_label"
|
||||
description: "Host label where to run traefik service."
|
||||
label: "Host label:"
|
||||
required: true
|
||||
default: "traefik_lb=true"
|
||||
type: "string"
|
||||
- variable: "http_port"
|
||||
description: "Traefik http public port to listen."
|
||||
label: "Http port:"
|
||||
required: true
|
||||
default: 8080
|
||||
type: "int"
|
||||
- variable: "https_port"
|
||||
description: "Traefik https public port to listen."
|
||||
label: "Https port:"
|
||||
required: true
|
||||
default: 8443
|
||||
type: "int"
|
||||
- variable: "admin_port"
|
||||
description: "Traefik admin public port to listen."
|
||||
label: "Admin port:"
|
||||
required: true
|
||||
default: 8000
|
||||
type: "int"
|
||||
- variable: "https_enable"
|
||||
label: "Enable HTTPS:"
|
||||
description: |
|
||||
Enable https working mode. If you activate, you need to fill SSL key and SSL crt in order to work.
|
||||
default: false
|
||||
required: true
|
||||
type: enum
|
||||
options:
|
||||
- false
|
||||
- true
|
||||
- only
|
||||
- variable: "acme_enable"
|
||||
description: "Enable acme support on traefik."
|
||||
label: "Enable ACME:"
|
||||
required: true
|
||||
default: false
|
||||
type: "boolean"
|
||||
- variable: "acme_email"
|
||||
description: "ACME user email."
|
||||
label: "ACME email:"
|
||||
required: true
|
||||
default: "test@traefik.io"
|
||||
type: "string"
|
||||
- variable: "acme_ondemand"
|
||||
description: "Enable acme ondemand."
|
||||
label: "ACME ondemand:"
|
||||
required: true
|
||||
default: true
|
||||
type: "boolean"
|
||||
- variable: "acme_onhostrule"
|
||||
description: "Enable acme onHostRule."
|
||||
label: "ACME onHostRule:"
|
||||
required: true
|
||||
default: true
|
||||
type: "boolean"
|
||||
- variable: "ssl_key"
|
||||
description: "SSL key to secure the service. *Required if you enable https"
|
||||
label: "SSL key"
|
||||
type: "multiline"
|
||||
required: false
|
||||
default: ""
|
||||
- variable: "ssl_crt"
|
||||
description: "SSL cert to secure the service. *Required if you enable https"
|
||||
label: "SSL crt"
|
||||
type: "multiline"
|
||||
required: false
|
||||
default: ""
|
||||
- variable: "insecure_skip"
|
||||
description: "Enable InsecureSkipVerify param."
|
||||
label: "InsecureSkipVerify:"
|
||||
required: true
|
||||
default: false
|
||||
type: "boolean"
|
||||
- variable: "refresh_interval"
|
||||
description: "Interval to poll/apply configuration changes."
|
||||
label: "Refresh Interval (s):"
|
||||
required: true
|
||||
default: 10
|
||||
type: "int"
|
||||
traefik:
|
||||
retain_ip: true
|
||||
health_check:
|
||||
port: 8000
|
||||
interval: 5000
|
||||
unhealthy_threshold: 3
|
||||
request_line: 'GET /dashboard/# HTTP/1.0'
|
||||
healthy_threshold: 2
|
||||
response_timeout: 5000
|
||||
metadata:
|
||||
traefik:
|
||||
ssl_key: |
|
||||
${ssl_key}
|
||||
ssl_crt: |
|
||||
${ssl_crt}
|
@ -1,7 +1,7 @@
|
||||
name: Traefik
|
||||
description: |
|
||||
(Experimental) Traefik active load balancer
|
||||
version: v1.1.2-rancher1
|
||||
version: v1.2.3-1-rancher1
|
||||
category: Load Balancing
|
||||
maintainer: "Raul Sanchez <rawmind@gmail.com>"
|
||||
minimum_rancher_version: v0.59.0
|
||||
|
@ -3,7 +3,7 @@ version: '2'
|
||||
services:
|
||||
|
||||
elasticsearch:
|
||||
image: zammad/zammad-docker-compose:elasticsearch
|
||||
image: zammad/zammad-docker-compose:zammad-elasticsearch
|
||||
labels:
|
||||
io.rancher.container.pull_image: always
|
||||
restart: always
|
||||
@ -11,7 +11,7 @@ services:
|
||||
nginx:
|
||||
depends_on:
|
||||
- zammad
|
||||
image: zammad/zammad-docker-compose:nginx
|
||||
image: zammad/zammad-docker-compose:zammad-nginx
|
||||
labels:
|
||||
io.rancher.container.pull_image: always
|
||||
links:
|
||||
@ -24,7 +24,7 @@ services:
|
||||
- data-zammad:/home/zammad
|
||||
|
||||
postgresql:
|
||||
image: zammad/zammad-docker-compose:postgresql
|
||||
image: zammad/zammad-docker-compose:zammad-postgresql
|
||||
labels:
|
||||
io.rancher.container.pull_image: always
|
||||
restart: always
|
||||
|
Loading…
x
Reference in New Issue
Block a user