├── .gitignore ├── machine-templates ├── vultr │ ├── 0 │ │ ├── rancher-compose.yml │ │ └── url │ ├── 1 │ │ ├── checksum │ │ ├── rancher-compose.yml │ │ └── url │ ├── 2 │ │ ├── checksum │ │ ├── rancher-compose.yml │ │ └── url │ └── config.yml └── aliyunecs │ ├── 0 │ ├── rancher-compose.yml │ └── url │ └── config.yml ├── swarm-templates ├── cassandra │ ├── 0 │ │ ├── docker-compose.yml │ │ └── rancher-compose.yml │ └── config.yml ├── scylla │ ├── 0 │ │ ├── docker-compose.yml │ │ └── rancher-compose.yml │ └── config.yml ├── ghost │ ├── 0 │ │ ├── docker-compose.yml │ │ └── rancher-compose.yml │ ├── config.yml │ └── catalogIcon-ghost.svg ├── zookeeper │ ├── 0 │ │ ├── docker-compose.yml │ │ ├── rancher-compose.yml │ │ └── README.md │ ├── catalogIcon-zookeeper.png │ └── config.yml └── wordpress │ ├── 0 │ ├── docker-compose.yml │ └── rancher-compose.yml │ └── config.yml ├── integration ├── requirements.txt ├── setup.py └── tox.ini ├── scripts ├── ci ├── repo.json ├── bootstrap └── test ├── templates ├── adminer │ ├── 0 │ │ ├── docker-compose.yml │ │ └── rancher-compose.yml │ ├── README.md │ └── config.yml ├── ghost │ ├── 0 │ │ ├── docker-compose.yml │ │ └── rancher-compose.yml │ ├── config.yml │ └── catalogIcon-ghost.svg ├── wekan │ ├── 0 │ │ ├── rancher-compose.yml │ │ └── docker-compose.yml │ ├── wekan-logo.png │ └── config.yml ├── pxc │ ├── 0 │ │ └── README.md │ ├── catalogIcon-pxc.png │ └── config.yml ├── gogs │ ├── 0 │ │ ├── docker-compose.yml │ │ └── rancher-compose.yml │ ├── catalogIcon-gogs.png │ └── config.yml ├── consul │ ├── 0 │ │ ├── docker-compose.yml │ │ └── README.md │ ├── catalogIcon-consul.png │ └── config.yml ├── rexray │ ├── 0 │ │ ├── docker-compose.yml │ │ └── rancher-compose.yml │ ├── catalogIcon-rexray.jpg │ └── config.yml ├── sentry │ ├── 0 │ │ └── README.md │ ├── catalogIcon-sentry.png │ └── config.yml ├── xpilot │ ├── 0 │ │ ├── docker-compose.yml │ │ └── rancher-compose.yml │ ├── catalogIcon-xpilot.png │ ├── config.yml │ └── README.md ├── MongoDB │ ├── 0 │ │ ├── README.md │ │ ├── rancher-compose.yml │ │ └── docker-compose.yml │ ├── 1 │ │ ├── README.md │ │ ├── rancher-compose.yml │ │ └── docker-compose.yml │ └── config.yml ├── alfresco │ ├── 0 │ │ └── docker-compose.yml │ └── config.yml ├── kibana │ ├── 0 │ │ ├── rancher-compose.yml │ │ └── docker-compose.yml │ ├── 1 │ │ ├── rancher-compose.yml │ │ └── docker-compose.yml │ └── config.yml ├── odoo │ ├── 0 │ │ ├── rancher-compose.yml │ │ └── docker-compose.yml │ └── config.yml ├── scaleio │ ├── 0 │ │ └── rancher-compose.yml │ ├── catalogIcon-scaleio.png │ └── config.yml ├── drone │ ├── 0 │ │ └── README.md │ ├── 1 │ │ └── README.md │ └── config.yml ├── grafana │ ├── 0 │ │ ├── docker-compose.yml │ │ └── rancher-compose.yml │ └── config.yml ├── Concrete5 │ ├── 0 │ │ └── docker-compose.yml │ ├── catalogIcon-concrete5.png │ └── config.yml ├── logspout │ ├── 0 │ │ ├── README.md │ │ ├── docker-compose.yml │ │ └── rancher-compose.yml │ ├── 1 │ │ ├── docker-compose.yml │ │ ├── README.md │ │ └── rancher-compose.yml │ ├── catalogIcon-gliderlabs.png │ └── config.yml ├── rabbitmq-3 │ ├── 0 │ │ ├── README.md │ │ ├── rancher-compose.yml │ │ └── docker-compose.yml │ ├── catalogIcon-rabbitmq.png │ └── config.yml ├── zookeeper │ ├── 0 │ │ ├── docker-compose.yml │ │ └── README.md │ ├── 1 │ │ └── README.md │ ├── catalogIcon-zookeeper.png │ └── config.yml ├── gocd-agent │ ├── 0 │ │ ├── README.md │ │ └── docker-compose.yml │ ├── catalogIcon-gocd-agent.png │ └── config.yml ├── gocd-server │ ├── 0 │ │ ├── README.md │ │ └── docker-compose.yml │ ├── catalogIcon-gocd-server.png │ └── config.yml ├── rancher-bench-security │ ├── 0 │ │ ├── rancher-compose.yml │ │ └── README.md │ ├── catalogIcon.png │ └── config.yml ├── consul-registrator │ ├── 0 │ │ ├── rancher-compose.yml │ │ └── README.md │ ├── 1 │ │ ├── rancher-compose.yml │ │ └── README.md │ ├── catalogIcon-consul.png │ └── config.yml ├── liferay │ ├── 0 │ │ ├── README.md │ │ └── docker-compose.yml │ ├── 1 │ │ ├── README.md │ │ └── docker-compose.yml │ └── config.yml ├── logstash │ └── config.yml ├── openvpn-ldap │ ├── 0 │ │ ├── README.md │ │ └── docker-compose.yml │ ├── catalogIcon-openvpn-ldap.png │ └── config.yml ├── owncloud │ ├── 0 │ │ ├── docker-compose.yml │ │ └── rancher-compose.yml │ └── config.yml ├── taiga │ ├── 0 │ │ ├── rancher-compose.yml │ │ └── docker-compose.yml │ └── config.yml ├── elasticsearch │ ├── 0 │ │ └── rancher-compose.yml │ ├── 1 │ │ └── rancher-compose.yml │ └── config.yml ├── gitlab │ ├── 0 │ │ ├── README.md │ │ ├── docker-compose.yml │ │ └── rancher-compose.yml │ └── config.yml ├── jenkins-ci │ ├── 0 │ │ ├── docker-compose.yml │ │ └── rancher-compose.yml │ ├── 1 │ │ ├── docker-compose.yml │ │ └── rancher-compose.yml │ └── config.yml ├── sysdig │ ├── 0 │ │ ├── docker-compose.yml │ │ └── rancher-compose.yml │ └── config.yml ├── wordpress │ ├── 0 │ │ ├── docker-compose.yml │ │ └── rancher-compose.yml │ └── config.yml ├── elasticsearch-2 │ └── config.yml ├── convoy-efs │ ├── 0 │ │ └── docker-compose.yml │ └── config.yml ├── openvpn-httpbasic │ ├── 0 │ │ ├── README.md │ │ └── docker-compose.yml │ ├── catalogIcon-openvpn-httpbasic.png │ └── config.yml ├── openvpn-httpdigest │ ├── 0 │ │ ├── README.md │ │ └── docker-compose.yml │ ├── catalogIcon-openvpn-httpdigest.png │ └── config.yml ├── weavescope │ ├── 0 │ │ ├── rancher-compose.yml │ │ └── docker-compose.yml │ ├── 1 │ │ ├── rancher-compose.yml │ │ └── docker-compose.yml │ └── config.yml ├── pointhq │ ├── 0 │ │ └── docker-compose.yml │ ├── 1 │ │ └── docker-compose.yml │ └── config.yml ├── rocket-chat │ ├── 0 │ │ └── rancher-compose.yml │ └── config.yml ├── sysdig-cloud │ ├── 0 │ │ └── docker-compose.yml │ └── config.yml ├── dnsimple │ ├── 0 │ │ └── docker-compose.yml │ ├── 1 │ │ └── docker-compose.yml │ └── config.yml ├── f5 │ ├── 0 │ │ ├── docker-compose.yml │ │ └── rancher-compose.yml │ └── config.yml ├── cloudflare │ ├── 0 │ │ └── docker-compose.yml │ ├── 1 │ │ └── docker-compose.yml │ ├── 2 │ │ └── docker-compose.yml │ └── config.yml ├── hadoop │ ├── 0 │ │ └── README.md │ └── config.yml ├── nuxeo │ ├── 0 │ │ └── README.md │ ├── config.yml │ └── README.md ├── secrets-bridge-server │ ├── 0 │ │ └── docker-compose.yml │ └── config.yml ├── jenkins-swarm │ ├── 0 │ │ └── docker-compose.yml │ ├── 1 │ │ ├── docker-compose.yml │ │ └── README.md │ └── config.yml ├── openvpn-rancherlocal │ ├── 0 │ │ ├── README.md │ │ └── docker-compose.yml │ ├── catalogIcon-openvpn-rancherlocal.png │ └── config.yml ├── powerdns-external-dns │ ├── 0 │ │ └── docker-compose.yml │ └── config.yml ├── secrets-bridge-agents │ ├── 0 │ │ ├── docker-compose.yml │ │ ├── rancher-compose.yml │ │ └── README.md │ └── config.yml ├── galera │ └── config.yml ├── Prometheus │ └── config.yml ├── bind9 │ ├── 0 │ │ └── docker-compose.yml │ └── config.yml ├── etcd-ha │ ├── 0 │ │ ├── rancher-compose.yml │ │ └── docker-compose.yml │ ├── 1 │ │ ├── rancher-compose.yml │ │ └── docker-compose.yml │ ├── 2 │ │ └── rancher-compose.yml │ ├── 3 │ │ ├── docker-compose.yml │ │ └── rancher-compose.yml │ ├── 4 │ │ ├── docker-compose.yml │ │ └── rancher-compose.yml │ └── config.yml ├── dnsupdate-rfc2136 │ ├── 0 │ │ └── docker-compose.yml │ └── config.yml ├── minecraft │ ├── 0 │ │ └── docker-compose.yml │ ├── config.yml │ └── README.md ├── janitor │ ├── 0 │ │ ├── docker-compose.yml │ │ └── rancher-compose.yml │ ├── 1 │ │ └── docker-compose.yml │ ├── 2 │ │ └── docker-compose.yml │ └── config.yml ├── asciinema-org │ ├── 0 │ │ ├── rancher-compose.yml │ │ └── docker-compose.yml │ ├── config.yml │ ├── catalogIcon-asciinema-org.svg │ └── README.md ├── droneworkers │ ├── 0 │ │ ├── README.md │ │ ├── docker-compose.yml │ │ └── rancher-compose.yml │ └── config.yml ├── kafka │ ├── 0 │ │ ├── docker-compose.yml │ │ └── README.md │ ├── 1 │ │ └── README.md │ └── config.yml ├── ecr │ ├── 0 │ │ ├── docker-compose.yml │ │ └── rancher-compose.yml │ ├── 1 │ │ ├── docker-compose.yml │ │ └── rancher-compose.yml │ ├── 2 │ │ ├── docker-compose.yml │ │ └── rancher-compose.yml │ └── config.yml ├── registry │ └── config.yml ├── traefik │ ├── 1 │ │ └── docker-compose.yml │ └── config.yml ├── registry-convoy │ └── config.yml ├── datadog │ ├── 0 │ │ └── docker-compose.yml │ ├── 1 │ │ └── docker-compose.yml │ ├── 2 │ │ └── docker-compose.yml │ ├── config.yml │ └── README.md ├── letsencrypt │ ├── 0 │ │ └── docker-compose.yml │ ├── 1 │ │ └── docker-compose.yml │ ├── 2 │ │ └── docker-compose.yml │ └── config.yml ├── sematext │ ├── 0 │ │ └── docker-compose.yml │ └── config.yml ├── fbctf │ ├── 0 │ │ └── docker-compose.yml │ └── config.yml └── puppet-standalone │ ├── 0 │ ├── docker-compose.yml │ └── rancher-compose.yml │ └── config.yml ├── kubernetes-templates ├── rabbitmq │ ├── 0 │ │ ├── README.md │ │ ├── rabbitmq-svc.yaml │ │ ├── rabbitmq-rc.yaml │ │ └── rancher-compose.yml │ └── config.yml ├── MongoDB │ ├── 0 │ │ ├── mongo-sec-service.yaml │ │ ├── README.md │ │ ├── rancher-compose.yml │ │ ├── mongo-controller.yaml │ │ └── mongo-master.yaml │ └── config.yml ├── guestbook │ ├── 0 │ │ ├── redis-slave-service.yaml │ │ ├── redis-master-service.yaml │ │ ├── frontend-service.yaml │ │ ├── redis-master-controller.yaml │ │ ├── frontend-controller.yaml │ │ ├── redis-slave-controller.yaml │ │ └── rancher-compose.yml │ ├── config.yml │ └── catalogIcon-guestbook.png ├── cassandra │ ├── 0 │ │ ├── cassandra-service.yaml │ │ └── rancher-compose.yml │ └── config.yml ├── ghost │ ├── 0 │ │ ├── mysql-service.yaml │ │ ├── ghost-service.yaml │ │ ├── README.md │ │ ├── ghost.yaml │ │ ├── rancher-compose.yml │ │ └── mysql.yaml │ ├── config.yml │ └── catalogIcon-ghost.svg ├── wordpress │ ├── 0 │ │ ├── rancher-compose.yml │ │ └── wordpress.yaml │ └── config.yml ├── redis │ ├── 0 │ │ ├── redis-sentinel-service.yaml │ │ ├── rancher-compose.yml │ │ ├── README.md │ │ ├── redis-sentinel-rc.yaml │ │ ├── redis-rc.yaml │ │ └── redis-master.yaml │ └── config.yml ├── minecraft │ ├── 0 │ │ ├── minecraft-svc.yaml │ │ ├── rancher-compose.yml │ │ └── minecraft.yaml │ ├── config.yml │ └── README.md ├── Prometheus │ ├── 0 │ │ ├── grafana-srv.yml │ │ ├── node-exporter-srv.yml │ │ ├── prometheus-srv.yml │ │ ├── prometheus-rancher-exporter-srv.yml │ │ ├── ranch-eye-srv.yml │ │ ├── grafana-rc.yml │ │ ├── influxdb-srv.yml │ │ ├── node-exporter-rc.yml │ │ ├── ranch-eye-rc.yml │ │ ├── influxdb-rc.yml │ │ ├── prometheus-rc.yml │ │ └── prometheus-rancher-exporter-rc.yml │ └── config.yml └── spark │ ├── 0 │ ├── zeppelin-service.yaml │ ├── spark-master-service.yaml │ ├── spark-webui.yaml │ ├── README.md │ ├── rancher-compose.yml │ ├── zeppelin-controller.yaml │ ├── spark-worker-controller.yaml │ └── spark-master-controller.yaml │ └── config.yml ├── .drone.yml ├── mesos-templates ├── zookeeper │ ├── 0 │ │ ├── docker-compose.yml │ │ └── README.md │ ├── catalogIcon-zookeeper.png │ └── config.yml ├── elasticsearch │ ├── 0 │ │ ├── docker-compose.yml │ │ └── rancher-compose.yml │ └── config.yml ├── kafka │ ├── 0 │ │ ├── docker-compose.yml │ │ └── rancher-compose.yml │ └── config.yml ├── chronos │ ├── 0 │ │ ├── docker-compose.yml │ │ └── rancher-compose.yml │ └── config.yml ├── marathon │ ├── 0 │ │ ├── docker-compose.yml │ │ └── rancher-compose.yml │ ├── 1 │ │ ├── docker-compose.yml │ │ └── rancher-compose.yml │ └── config.yml └── mesos │ ├── 0 │ └── docker-compose.yml │ └── config.yml └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | .*.swp 2 | *~ 3 | -------------------------------------------------------------------------------- /machine-templates/vultr/1/checksum: -------------------------------------------------------------------------------- 1 | ece3d622b2d95f2f2d18074c6a5ced16 2 | -------------------------------------------------------------------------------- /machine-templates/vultr/2/checksum: -------------------------------------------------------------------------------- 1 | c2af5cfcb35d8afd06c422e08b696e33 2 | -------------------------------------------------------------------------------- /machine-templates/vultr/config.yml: -------------------------------------------------------------------------------- 1 | name: vultr 2 | version: "1.0.6" 3 | -------------------------------------------------------------------------------- /machine-templates/aliyunecs/config.yml: -------------------------------------------------------------------------------- 1 | name: aliyunecs 2 | version: "0.6.0" 3 | -------------------------------------------------------------------------------- /swarm-templates/cassandra/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | cassandra: 2 | image: cassandra:3.3 3 | -------------------------------------------------------------------------------- /swarm-templates/scylla/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | scylla: 2 | image: scylladb/scylla:1.0-rc2 3 | -------------------------------------------------------------------------------- /integration/requirements.txt: -------------------------------------------------------------------------------- 1 | cattle==0.5.3 2 | pyyaml==3.11 3 | 4 | flake8 5 | pytest==2.8.7 6 | -------------------------------------------------------------------------------- /machine-templates/vultr/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "vultr" 3 | version: "1.0.4" 4 | -------------------------------------------------------------------------------- /machine-templates/vultr/1/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "vultr" 3 | version: "1.0.5" 4 | -------------------------------------------------------------------------------- /machine-templates/vultr/2/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "vultr" 3 | version: "1.0.6" 4 | -------------------------------------------------------------------------------- /scripts/ci: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | cd $(dirname $0)/.. 4 | 5 | ./scripts/bootstrap 6 | ./scripts/test 7 | -------------------------------------------------------------------------------- /machine-templates/aliyunecs/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "aliyunecs" 3 | version: "0.6.0" 4 | -------------------------------------------------------------------------------- /templates/adminer/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | adminer: 2 | image: 'clue/adminer:latest' 3 | restart: on-failure 4 | -------------------------------------------------------------------------------- /templates/ghost/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | ghost: 2 | image: ghost 3 | ports: 4 | - ${public_port}:2368 5 | -------------------------------------------------------------------------------- /swarm-templates/ghost/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | ghost: 2 | image: ghost:0.7.8 3 | ports: 4 | - "${client_port}:2368" 5 | -------------------------------------------------------------------------------- /templates/wekan/wekan-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moul/community-catalog/master/templates/wekan/wekan-logo.png -------------------------------------------------------------------------------- /templates/pxc/catalogIcon-pxc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moul/community-catalog/master/templates/pxc/catalogIcon-pxc.png -------------------------------------------------------------------------------- /templates/gogs/catalogIcon-gogs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moul/community-catalog/master/templates/gogs/catalogIcon-gogs.png -------------------------------------------------------------------------------- /kubernetes-templates/rabbitmq/0/README.md: -------------------------------------------------------------------------------- 1 | # RabbitMQ 2 | 3 | This Chart provides a basic RabbitMQ instance running in kubernetes. 4 | -------------------------------------------------------------------------------- /templates/consul/catalogIcon-consul.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moul/community-catalog/master/templates/consul/catalogIcon-consul.png -------------------------------------------------------------------------------- /templates/ghost/config.yml: -------------------------------------------------------------------------------- 1 | name: Ghost 2 | description: | 3 | Blog powered by Ghost 4 | version: v0.1-educaas 5 | category: Blogging 6 | -------------------------------------------------------------------------------- /templates/rexray/catalogIcon-rexray.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moul/community-catalog/master/templates/rexray/catalogIcon-rexray.jpg -------------------------------------------------------------------------------- /templates/sentry/catalogIcon-sentry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moul/community-catalog/master/templates/sentry/catalogIcon-sentry.png -------------------------------------------------------------------------------- /templates/xpilot/catalogIcon-xpilot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moul/community-catalog/master/templates/xpilot/catalogIcon-xpilot.png -------------------------------------------------------------------------------- /machine-templates/aliyunecs/0/url: -------------------------------------------------------------------------------- 1 | https://github.com/orangedeng/rancher-machine-driver/raw/master/Aliyun/docker-machine-driver-aliyunecs.tgz -------------------------------------------------------------------------------- /templates/MongoDB/config.yml: -------------------------------------------------------------------------------- 1 | name: MongoDB 2 | description: | 3 | MongoDB Replica Set. 4 | version: 3.2-rancher1 5 | category: Databases 6 | -------------------------------------------------------------------------------- /templates/alfresco/config.yml: -------------------------------------------------------------------------------- 1 | name: Alfresco 2 | description: | 3 | An ECM and BPM platform. 4 | version: 5.1 201605-GA 5 | category: ECM 6 | -------------------------------------------------------------------------------- /templates/consul/config.yml: -------------------------------------------------------------------------------- 1 | name: Consul Cluster 2 | description: | 3 | Consul cluster 4 | version: 0.6-rancher1 5 | category: Clustering 6 | -------------------------------------------------------------------------------- /templates/gogs/config.yml: -------------------------------------------------------------------------------- 1 | name: Gogs 2 | description: | 3 | A painless self-hosted Git service 4 | version: v0.8.43 5 | category: Git 6 | -------------------------------------------------------------------------------- /templates/kibana/config.yml: -------------------------------------------------------------------------------- 1 | name: "Kibana 4" 2 | description: "Visualization dashboard" 3 | version: "4.4.2-rancher1" 4 | category: ELK 5 | -------------------------------------------------------------------------------- /templates/odoo/config.yml: -------------------------------------------------------------------------------- 1 | name: Odoo 2 | description: | 3 | ERP management powered by Odoo 4 | version: v0.1-educaas 5 | category: ERP 6 | -------------------------------------------------------------------------------- /templates/scaleio/catalogIcon-scaleio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moul/community-catalog/master/templates/scaleio/catalogIcon-scaleio.png -------------------------------------------------------------------------------- /.drone.yml: -------------------------------------------------------------------------------- 1 | --- 2 | pipeline: 3 | build: 4 | privileged: true 5 | image: rancher/dind:v0.6.0 6 | commands: 7 | - ./scripts/ci 8 | -------------------------------------------------------------------------------- /scripts/repo.json: -------------------------------------------------------------------------------- 1 | { 2 | "catalogs": { 3 | "library": { 4 | "url": "/scratch", 5 | "branch": "master" 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /swarm-templates/cassandra/config.yml: -------------------------------------------------------------------------------- 1 | name: "Cassandra" 2 | description: "Distributed Database" 3 | version: 3.3-rancher1 4 | category: Databases 5 | -------------------------------------------------------------------------------- /swarm-templates/ghost/config.yml: -------------------------------------------------------------------------------- 1 | name: Ghost 2 | description: | 3 | Blog powered by Ghost 4 | version: 0.7.8-rancher1 5 | category: Blogging 6 | -------------------------------------------------------------------------------- /templates/drone/config.yml: -------------------------------------------------------------------------------- 1 | name: Drone 2 | description: | 3 | Drone CI Server 4 | version: 0.4-rancher2 5 | category: Continuous Integration 6 | -------------------------------------------------------------------------------- /templates/grafana/config.yml: -------------------------------------------------------------------------------- 1 | name: "Grafana" 2 | description: "Visualization dashboard" 3 | version: "3.0.2-rancher1" 4 | category: Monitoring 5 | -------------------------------------------------------------------------------- /kubernetes-templates/MongoDB/config.yml: -------------------------------------------------------------------------------- 1 | name: MongoDB 2 | description: | 3 | MongoDB Replica Set. 4 | version: 3.2-rancher1 5 | category: Databases 6 | -------------------------------------------------------------------------------- /kubernetes-templates/guestbook/config.yml: -------------------------------------------------------------------------------- 1 | name: "K8s Example Guestbook" 2 | description: "It's a guestbook" 3 | version: 1.0.0 4 | category: Blogging 5 | -------------------------------------------------------------------------------- /templates/Concrete5/catalogIcon-concrete5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moul/community-catalog/master/templates/Concrete5/catalogIcon-concrete5.png -------------------------------------------------------------------------------- /templates/logspout/catalogIcon-gliderlabs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moul/community-catalog/master/templates/logspout/catalogIcon-gliderlabs.png -------------------------------------------------------------------------------- /templates/rabbitmq-3/catalogIcon-rabbitmq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moul/community-catalog/master/templates/rabbitmq-3/catalogIcon-rabbitmq.png -------------------------------------------------------------------------------- /templates/zookeeper/catalogIcon-zookeeper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moul/community-catalog/master/templates/zookeeper/catalogIcon-zookeeper.png -------------------------------------------------------------------------------- /kubernetes-templates/cassandra/config.yml: -------------------------------------------------------------------------------- 1 | name: "K8s Example Cassandra" 2 | description: "Distributed Database" 3 | version: 1.0.0 4 | category: Databases 5 | -------------------------------------------------------------------------------- /kubernetes-templates/ghost/config.yml: -------------------------------------------------------------------------------- 1 | name: Ghost 2 | description: Open source publishing platform 3 | version: 0.7.8-rancher1 4 | category: Blogging 5 | -------------------------------------------------------------------------------- /kubernetes-templates/wordpress/config.yml: -------------------------------------------------------------------------------- 1 | name: "K8s Example WordPress" 2 | description: "Blogging platform" 3 | version: 1.0.0 4 | category: Blogging 5 | -------------------------------------------------------------------------------- /templates/gocd-agent/catalogIcon-gocd-agent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moul/community-catalog/master/templates/gocd-agent/catalogIcon-gocd-agent.png -------------------------------------------------------------------------------- /templates/gocd-server/catalogIcon-gocd-server.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moul/community-catalog/master/templates/gocd-server/catalogIcon-gocd-server.png -------------------------------------------------------------------------------- /templates/rancher-bench-security/catalogIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moul/community-catalog/master/templates/rancher-bench-security/catalogIcon.png -------------------------------------------------------------------------------- /machine-templates/vultr/0/url: -------------------------------------------------------------------------------- 1 | https://github.com/janeczku/docker-machine-vultr/releases/download/v1.0.4/docker-machine-driver-vultr-v1.0.4-linux-amd64.tar.gz 2 | -------------------------------------------------------------------------------- /machine-templates/vultr/1/url: -------------------------------------------------------------------------------- 1 | https://github.com/janeczku/docker-machine-vultr/releases/download/v1.0.5/docker-machine-driver-vultr-v1.0.5-linux-amd64.tar.gz 2 | -------------------------------------------------------------------------------- /machine-templates/vultr/2/url: -------------------------------------------------------------------------------- 1 | https://github.com/janeczku/docker-machine-vultr/releases/download/v1.0.6/docker-machine-driver-vultr-v1.0.6-linux-amd64.tar.gz 2 | -------------------------------------------------------------------------------- /mesos-templates/zookeeper/catalogIcon-zookeeper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moul/community-catalog/master/mesos-templates/zookeeper/catalogIcon-zookeeper.png -------------------------------------------------------------------------------- /swarm-templates/zookeeper/catalogIcon-zookeeper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moul/community-catalog/master/swarm-templates/zookeeper/catalogIcon-zookeeper.png -------------------------------------------------------------------------------- /templates/consul-registrator/catalogIcon-consul.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moul/community-catalog/master/templates/consul-registrator/catalogIcon-consul.png -------------------------------------------------------------------------------- /templates/liferay/config.yml: -------------------------------------------------------------------------------- 1 | name: Liferay Portal 2 | description: | 3 | An open source enterprise portal 4 | version: 7.0.0-2 5 | category: Enterprise Portal -------------------------------------------------------------------------------- /templates/logstash/config.yml: -------------------------------------------------------------------------------- 1 | name: Logstash 2 | description: | 3 | Centralize data processing of all types 4 | version: 1.5.6-1-rancher1 5 | category: ELK 6 | -------------------------------------------------------------------------------- /templates/openvpn-ldap/0/README.md: -------------------------------------------------------------------------------- 1 | # OpenVPN 2 | 3 | OpenVPN stack made to give access to Rancher network with LDAP authentication. 4 | 5 | OpenVPN version: 1.0-0 -------------------------------------------------------------------------------- /templates/openvpn-ldap/catalogIcon-openvpn-ldap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moul/community-catalog/master/templates/openvpn-ldap/catalogIcon-openvpn-ldap.png -------------------------------------------------------------------------------- /templates/owncloud/config.yml: -------------------------------------------------------------------------------- 1 | name: Owncloud 2 | description: | 3 | Library service powered by Owncloud 4 | version: v0.1-educaas 5 | category: Repository 6 | -------------------------------------------------------------------------------- /templates/pxc/config.yml: -------------------------------------------------------------------------------- 1 | name: "Percona XtraDB Cluster" 2 | description: | 3 | Percona XtraDB Cluster 4 | version: 5.6.28-rancher1 5 | category: Databases 6 | -------------------------------------------------------------------------------- /templates/rexray/config.yml: -------------------------------------------------------------------------------- 1 | name: REX-Ray Volume Plugin 2 | description: | 3 | REX-Ray volume plugin 4 | version: v0.3.2 5 | category: External Services 6 | -------------------------------------------------------------------------------- /templates/scaleio/config.yml: -------------------------------------------------------------------------------- 1 | name: ScaleIO NAS/DAS Store 2 | description: | 3 | ScaleIO NAS/DAS Store 4 | version: v0.1 5 | category: External Services 6 | -------------------------------------------------------------------------------- /templates/taiga/config.yml: -------------------------------------------------------------------------------- 1 | name: Taiga 2 | description: | 3 | Project management platform for agile developers 4 | version: v0.1-educaas1 5 | category: Agile 6 | -------------------------------------------------------------------------------- /templates/elasticsearch/config.yml: -------------------------------------------------------------------------------- 1 | name: Elasticsearch 2 | description: | 3 | Elasticsearch, you know for search! 4 | version: 1.7.3-rancher1 5 | category: ELK 6 | -------------------------------------------------------------------------------- /templates/gitlab/config.yml: -------------------------------------------------------------------------------- 1 | name: Gitlab Community 2 | description: | 3 | Gitlab CE is a free GitHub alternative 4 | version: 8.5.1-0 5 | category: Versioning 6 | -------------------------------------------------------------------------------- /templates/jenkins-ci/config.yml: -------------------------------------------------------------------------------- 1 | name: Jenkins 2 | description: | 3 | Jenkins CI server (LTS) 4 | version: 1.651.3-rancher1 5 | category: Continuous Integration 6 | -------------------------------------------------------------------------------- /templates/rabbitmq-3/config.yml: -------------------------------------------------------------------------------- 1 | name: RabbitMQ 3.6.1 2 | description: | 3 | Robust messaging for applications 4 | version: 0.1.0 5 | category: Message queues 6 | -------------------------------------------------------------------------------- /templates/sysdig/config.yml: -------------------------------------------------------------------------------- 1 | name: Sysdig 2 | description: | 3 | Container-Native System Visibility and Troubleshooting 4 | version: v0 5 | category: Monitoring 6 | -------------------------------------------------------------------------------- /templates/wordpress/config.yml: -------------------------------------------------------------------------------- 1 | name: Wordpress 2 | description: | 3 | Blog tool, publishing platform and CMS 4 | version: v0.1-educaas1 5 | category: Blogging 6 | -------------------------------------------------------------------------------- /kubernetes-templates/guestbook/catalogIcon-guestbook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moul/community-catalog/master/kubernetes-templates/guestbook/catalogIcon-guestbook.png -------------------------------------------------------------------------------- /kubernetes-templates/redis/config.yml: -------------------------------------------------------------------------------- 1 | name: Redis 2 | description: A highly-available in-memory data structure store 3 | version: 2.8.23-rancher1 4 | category: Databases 5 | -------------------------------------------------------------------------------- /swarm-templates/wordpress/config.yml: -------------------------------------------------------------------------------- 1 | name: Wordpress 2 | description: | 3 | Blog tool, publishing platform and CMS 4 | version: latest-rancher1 5 | category: Blogging 6 | -------------------------------------------------------------------------------- /templates/elasticsearch-2/config.yml: -------------------------------------------------------------------------------- 1 | name: Elasticsearch 2.x 2 | description: | 3 | Elasticsearch, you know for search! 4 | version: 2.2.2-rancher1 5 | category: ELK 6 | -------------------------------------------------------------------------------- /templates/sentry/config.yml: -------------------------------------------------------------------------------- 1 | name: Sentry 2 | version: 8.5.0 3 | description: Sentry is a realtime event logging and aggregation platform 4 | category: Error Tracking 5 | -------------------------------------------------------------------------------- /templates/wekan/config.yml: -------------------------------------------------------------------------------- 1 | name: Wekan 2 | description: | 3 | The open-source Trello-like kanban (build with Meteor) 4 | version: v0.1-educaas 5 | category: Kanban 6 | -------------------------------------------------------------------------------- /swarm-templates/zookeeper/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | zookeeper: 2 | image: rancher/zookeeper:3.4.8-swarm 3 | environment: 4 | JVM_FLAGS: "-Xms${HEAP_SIZE} -Xmx${HEAP_SIZE}" 5 | -------------------------------------------------------------------------------- /templates/convoy-efs/config.yml: -------------------------------------------------------------------------------- 1 | name: Convoy EFS 2 | description: | 3 | Docker Volume Manager for AWS EFS-backed Volumes 4 | version: v0.1.0 5 | category: Rancher Services 6 | -------------------------------------------------------------------------------- /templates/logspout/config.yml: -------------------------------------------------------------------------------- 1 | name: Logspout 2 | description: | 3 | Glider Labs Logspout with Logstash adapter with extra options 4 | version: 0.2.0-1 5 | category: Logging 6 | -------------------------------------------------------------------------------- /templates/openvpn-httpbasic/0/README.md: -------------------------------------------------------------------------------- 1 | # OpenVPN 2 | 3 | OpenVPN stack made to give access to Rancher network with HTTP Basic authentication. 4 | 5 | OpenVPN version: 1.0-0 -------------------------------------------------------------------------------- /templates/openvpn-httpdigest/0/README.md: -------------------------------------------------------------------------------- 1 | # OpenVPN 2 | 3 | OpenVPN stack made to give access to Rancher network with HTTP Digest authentication. 4 | 5 | OpenVPN version: 1.0-0 -------------------------------------------------------------------------------- /templates/weavescope/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: weavescope 3 | version: 0.11.1 4 | description: "Monitoring, visualisation and management for Docker" 5 | -------------------------------------------------------------------------------- /templates/weavescope/1/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: weavescope 3 | version: 0.12.0 4 | description: "Monitoring, visualisation and management for Docker" 5 | -------------------------------------------------------------------------------- /templates/openvpn-httpbasic/catalogIcon-openvpn-httpbasic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moul/community-catalog/master/templates/openvpn-httpbasic/catalogIcon-openvpn-httpbasic.png -------------------------------------------------------------------------------- /templates/pointhq/config.yml: -------------------------------------------------------------------------------- 1 | name: PointHQ DNS 2 | description: | 3 | Rancher External DNS service powered by PointHQ 4 | version: v0.2.1-rancher1 5 | category: Rancher Services 6 | -------------------------------------------------------------------------------- /templates/rocket-chat/config.yml: -------------------------------------------------------------------------------- 1 | name: RocketChat 2 | description: | 3 | Have your own Slack like online chat, built with Meteor. 4 | version: v0.1-educaas 5 | category: Chat 6 | -------------------------------------------------------------------------------- /templates/sysdig-cloud/config.yml: -------------------------------------------------------------------------------- 1 | name: Sysdig Cloud 2 | description: | 3 | Container-Native Application and Infrastructure Monitoring 4 | version: v0 5 | category: Monitoring 6 | -------------------------------------------------------------------------------- /swarm-templates/scylla/config.yml: -------------------------------------------------------------------------------- 1 | name: Scylla 2 | description: | 3 | A NoSQL column store database compatible with Cassandra 4 | version: 1.0-rc2-rancher1 5 | category: Databases 6 | -------------------------------------------------------------------------------- /templates/dnsimple/config.yml: -------------------------------------------------------------------------------- 1 | name: DNSimple DNS 2 | description: | 3 | Rancher External DNS service powered by DNSimple 4 | version: v0.2.1-rancher1 5 | category: Rancher Services 6 | -------------------------------------------------------------------------------- /templates/f5/config.yml: -------------------------------------------------------------------------------- 1 | name: F5 BIG-IP Balancer 2 | description: | 3 | Rancher External LB service powered by F5 BIG-IP 4 | version: v0.1.1-rancher1 5 | category: Load Balancing 6 | -------------------------------------------------------------------------------- /templates/openvpn-httpdigest/catalogIcon-openvpn-httpdigest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moul/community-catalog/master/templates/openvpn-httpdigest/catalogIcon-openvpn-httpdigest.png -------------------------------------------------------------------------------- /templates/cloudflare/config.yml: -------------------------------------------------------------------------------- 1 | name: CloudFlare DNS 2 | description: | 3 | Rancher External DNS service powered by CloudFlare 4 | version: v0.4.0-rancher1 5 | category: Rancher Services 6 | -------------------------------------------------------------------------------- /templates/hadoop/config.yml: -------------------------------------------------------------------------------- 1 | name: Hadoop + Yarn 2 | description: | 3 | (Experimental - Requires 2+ hosts) Hadoop + Yarn big data tools 4 | version: 2.7.1-rancher1 5 | category: Big Data 6 | -------------------------------------------------------------------------------- /templates/nuxeo/config.yml: -------------------------------------------------------------------------------- 1 | name: Nuxeo Platform 2 | description: | 3 | Enterprise Content Management 4 | Platform for Business Applications 5 | version: 8.1-rancher1 6 | category: ECM 7 | -------------------------------------------------------------------------------- /templates/secrets-bridge-server/config.yml: -------------------------------------------------------------------------------- 1 | name: "Secrets Bridge" 2 | description: "Server side of bridge between Vault and Rancher" 3 | version: "0.0.1-rancher1" 4 | category: Security 5 | -------------------------------------------------------------------------------- /templates/jenkins-swarm/config.yml: -------------------------------------------------------------------------------- 1 | name: Jenkins Swarm Plugin 2 | description: | 3 | Swarm plugin to create dynamic builders 4 | version: "2.0-rancher2" 5 | category: Continuous Integration 6 | -------------------------------------------------------------------------------- /templates/openvpn-rancherlocal/catalogIcon-openvpn-rancherlocal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moul/community-catalog/master/templates/openvpn-rancherlocal/catalogIcon-openvpn-rancherlocal.png -------------------------------------------------------------------------------- /templates/powerdns-external-dns/config.yml: -------------------------------------------------------------------------------- 1 | name: PowerDNS External 2 | description: | 3 | Rancher External DNS service for PowerDNS 4 | version: v0.5.0-rancher1 5 | category: Rancher Services 6 | -------------------------------------------------------------------------------- /templates/secrets-bridge-agents/config.yml: -------------------------------------------------------------------------------- 1 | name: "Secrets Bridge Agents" 2 | description: "Agent side of bridge between Vault and Rancher" 3 | version: "0.0.1-rancher1" 4 | category: Security 5 | -------------------------------------------------------------------------------- /swarm-templates/cassandra/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "Cassandra" 3 | version: 3.3-rancher1 4 | description: "Deploy a Cassandra node" 5 | minimum_rancher_version: v1.0.0-rc2 6 | -------------------------------------------------------------------------------- /templates/galera/config.yml: -------------------------------------------------------------------------------- 1 | name: MariaDB Galera Cluster 2 | description: | 3 | (Experimental) Synchronous multi-master cluster for MariaDB 4 | version: 10.0.22-rancher1 5 | category: Databases 6 | -------------------------------------------------------------------------------- /templates/odoo/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "Odoo" 3 | version: v0.1-educaas 4 | description: "ERP management powered by Odoo" 5 | uuid: odoo-0 6 | questions: 7 | 8 | odoo: 9 | -------------------------------------------------------------------------------- /kubernetes-templates/minecraft/config.yml: -------------------------------------------------------------------------------- 1 | name: Minecraft 2 | version: 1.0.0-rancher1 3 | description: A Minecraft server 4 | maintainer: Ben Barclay 5 | category: Entertainment 6 | -------------------------------------------------------------------------------- /templates/Prometheus/config.yml: -------------------------------------------------------------------------------- 1 | name: Prometheus 2 | description: | 3 | Prometheus and friends, auto-discovering monitoring solution for Rancher deployments. 4 | version: 1.3.0 5 | category: Monitoring 6 | -------------------------------------------------------------------------------- /templates/bind9/config.yml: -------------------------------------------------------------------------------- 1 | name: Bind9 Domain Name Server 2 | description: | 3 | Bind9 DNS server, compatible with the "DNS Update (RFC2136)" 4 | version: v1.0.0-rancher1 5 | category: Rancher Services 6 | -------------------------------------------------------------------------------- /templates/consul-registrator/config.yml: -------------------------------------------------------------------------------- 1 | name: Consul-Registrator 2 | description: | 3 | Consul agent with Registrator for Service Auto Configuration 4 | version: 0.6-rancher2 5 | category: Clustering 6 | -------------------------------------------------------------------------------- /kubernetes-templates/Prometheus/config.yml: -------------------------------------------------------------------------------- 1 | name: "Prometheus" 2 | description: "Prometheus and friends, auto-discovering monitoring solution for Rancher deployments" 3 | version: "1.1.0" 4 | category: "Monitoring" 5 | -------------------------------------------------------------------------------- /kubernetes-templates/rabbitmq/config.yml: -------------------------------------------------------------------------------- 1 | name: RabbitMQ 2 | version: 3.6.0-rancher1 3 | maintainer: Matt Fisher 4 | category: Messaging 5 | description: A reliable, distributed messaging broker 6 | -------------------------------------------------------------------------------- /templates/etcd-ha/config.yml: -------------------------------------------------------------------------------- 1 | name: Etcd 2 | description: | 3 | A distributed key/value store that provides a reliable way to store data across a cluster of machines 4 | version: 2.3.7 5 | category: Clustering 6 | -------------------------------------------------------------------------------- /templates/xpilot/config.yml: -------------------------------------------------------------------------------- 1 | name: XPilot 2 | description: | 3 | XWindows multiplayer game, for testing. 4 | version: v0.1 5 | category: Entertainment 6 | maintainer: Steve Shipway 7 | 8 | -------------------------------------------------------------------------------- /kubernetes-templates/spark/config.yml: -------------------------------------------------------------------------------- 1 | name: spark 2 | version: 0.1.0-rancher1 3 | description: | 4 | Apache Spark is a fast and general-purpose cluster computing system 5 | ported from Helm. 6 | category: Big Data 7 | -------------------------------------------------------------------------------- /templates/dnsupdate-rfc2136/config.yml: -------------------------------------------------------------------------------- 1 | name: DNS Update (RFC2136) 2 | description: | 3 | Rancher External DNS service powered by any RFC2136 compatible DNS 4 | version: v0.5.0-rancher1 5 | category: Rancher Services 6 | -------------------------------------------------------------------------------- /templates/openvpn-ldap/config.yml: -------------------------------------------------------------------------------- 1 | name: OpenVPN LDAP 2 | description: | 3 | OpenVPN for Rancher with LDAP authentication 4 | version: 1.0-0 5 | category: Networking 6 | maintainer: Alexis Ducastel -------------------------------------------------------------------------------- /templates/gitlab/0/README.md: -------------------------------------------------------------------------------- 1 | # GitLab CE 2 | 3 | GitLab CE is a free alternative to GitHub 4 | 5 | Stack based on official GitLab version: 8.5.1-ce.0 6 | 7 | https://hub.docker.com/r/gitlab/gitlab-ce/ 8 | 9 | 10 | -------------------------------------------------------------------------------- /templates/minecraft/config.yml: -------------------------------------------------------------------------------- 1 | name: Minecraft 2 | description: | 3 | Multiplayer block game for wasting lots of time 4 | version: v1.8 5 | category: Entertainment 6 | maintainer: Steve Shipway 7 | -------------------------------------------------------------------------------- /mesos-templates/zookeeper/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | zk: 2 | image: rancher/zookeeper:3.4.6-2 3 | volumes: 4 | - /opt/zk/data 5 | environment: 6 | - JVMFLAGS=-Xmx${zk_mem}m -Xms${zk_mem}m 7 | - CONFD_INTERVAL=${zk_interval} 8 | -------------------------------------------------------------------------------- /templates/rabbitmq-3/0/README.md: -------------------------------------------------------------------------------- 1 | RabbitMQ 3.6.1 with easy Rancher clustering 2 | === 3 | Provides RabbitMQ image that can scale to a cluster. 4 | 5 | TODO: 6 | * avoid deployment on a node where the service is already present 7 | -------------------------------------------------------------------------------- /mesos-templates/elasticsearch/config.yml: -------------------------------------------------------------------------------- 1 | name: Elasticsearch 2 | description: | 3 | You know, for search 4 | version: v1 5 | category: Frameworks 6 | maintainer: James Oliver 7 | minimum_rancher_version: v1.0.0 8 | -------------------------------------------------------------------------------- /templates/openvpn-httpbasic/config.yml: -------------------------------------------------------------------------------- 1 | name: OpenVPN HTTP Basic 2 | description: | 3 | OpenVPN for Rancher with HTTP Basic authentication 4 | version: 1.0-0 5 | category: Networking 6 | maintainer: Alexis Ducastel -------------------------------------------------------------------------------- /templates/owncloud/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | owncloud: 2 | image: owncloud 3 | ports: 4 | - "80:80" 5 | links: 6 | - db 7 | 8 | db: 9 | image: mariadb 10 | environment: 11 | - MYSQL_ROOT_PASSWORD=password 12 | -------------------------------------------------------------------------------- /integration/setup.py: -------------------------------------------------------------------------------- 1 | from distutils.core import setup 2 | 3 | setup( 4 | name='Rancher Catalog YAML Integration Tests', 5 | version='0.1', 6 | packages=[ 7 | 'core', 8 | ], 9 | license='ASL 2.0', 10 | ) 11 | -------------------------------------------------------------------------------- /templates/openvpn-httpdigest/config.yml: -------------------------------------------------------------------------------- 1 | name: OpenVPN HTTP Digest 2 | description: | 3 | OpenVPN for Rancher with HTTP Digest authentication 4 | version: 1.0-0 5 | category: Networking 6 | maintainer: Alexis Ducastel -------------------------------------------------------------------------------- /templates/openvpn-rancherlocal/config.yml: -------------------------------------------------------------------------------- 1 | name: OpenVPN Rancher 2 | description: | 3 | OpenVPN for Rancher with "Rancher local" authentication 4 | version: 1.0-0 5 | category: Networking 6 | maintainer: Alexis Ducastel -------------------------------------------------------------------------------- /kubernetes-templates/ghost/0/mysql-service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | name: mysql 6 | name: mysql 7 | spec: 8 | ports: 9 | - port: 3306 10 | selector: 11 | name: mysql 12 | -------------------------------------------------------------------------------- /mesos-templates/kafka/config.yml: -------------------------------------------------------------------------------- 1 | name: Kafka 2 | description: | 3 | A high-throughput distributed messaging system 4 | version: v1 5 | category: Frameworks 6 | maintainer: James Oliver 7 | minimum_rancher_version: v1.0.0 8 | -------------------------------------------------------------------------------- /templates/odoo/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | odoo: 2 | image: odoo 3 | ports: 4 | - "8069:8069" 5 | links: 6 | - db 7 | db: 8 | image: postgres 9 | environment: 10 | - POSTGRES_USER=odoo 11 | - POSTGRES_PASSWORD=odoo 12 | -------------------------------------------------------------------------------- /templates/rancher-bench-security/config.yml: -------------------------------------------------------------------------------- 1 | name: rancher-bench-security 2 | description: | 3 | Generate report about docker specific security recommendations. 4 | version: 1.11.0 5 | maintainer: "German Ramos Garcia " 6 | -------------------------------------------------------------------------------- /templates/zookeeper/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | zk: 2 | tty: true 3 | image: rawmind/rancher-zk:3.4.6-1 4 | volumes: 5 | - /opt/zk/data 6 | environment: 7 | - JVMFLAGS=-Xmx${zk_mem}m -Xms${zk_mem}m 8 | - CONFD_INTERVAL=${zk_interval} 9 | -------------------------------------------------------------------------------- /mesos-templates/chronos/config.yml: -------------------------------------------------------------------------------- 1 | name: Chronos 2 | description: | 3 | Distributed, fault-tolerant cron replacement 4 | version: v1 5 | category: Frameworks 6 | maintainer: James Oliver 7 | minimum_rancher_version: v1.0.0 8 | -------------------------------------------------------------------------------- /templates/janitor/config.yml: -------------------------------------------------------------------------------- 1 | name: Janitor 2 | description: | 3 | Automatic cleanup of unused images on hosts, in order to save disk space. 4 | version: v1.6 5 | category: Monitoring 6 | maintainer: Steve Shipway 7 | 8 | -------------------------------------------------------------------------------- /templates/wordpress/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | wordpress: 2 | image: wordpress 3 | links: 4 | - db:mysql 5 | ports: 6 | - ${public_port}:80 7 | 8 | db: 9 | image: mariadb 10 | environment: 11 | MYSQL_ROOT_PASSWORD: example 12 | -------------------------------------------------------------------------------- /mesos-templates/marathon/config.yml: -------------------------------------------------------------------------------- 1 | name: Marathon 2 | description: | 3 | A production-grade container orchestration platform 4 | version: v1.1.1 5 | category: Frameworks 6 | maintainer: James Oliver 7 | minimum_rancher_version: v1.0.0 -------------------------------------------------------------------------------- /templates/openvpn-rancherlocal/0/README.md: -------------------------------------------------------------------------------- 1 | # OpenVPN 2 | 3 | OpenVPN stack made to give access to Rancher network with "Rancher local" authentication. 4 | 5 | OpenVPN version: 1.0-0 6 | 7 | Thanks to sra for his contribution 8 | https://github.com/sra -------------------------------------------------------------------------------- /kubernetes-templates/MongoDB/0/mongo-sec-service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | name: mongo-sec 6 | name: mongo-sec 7 | spec: 8 | ports: 9 | - port: 27017 10 | selector: 11 | secondary: "true" 12 | -------------------------------------------------------------------------------- /kubernetes-templates/cassandra/0/cassandra-service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | name: cassandra 6 | name: cassandra 7 | spec: 8 | ports: 9 | - port: 9042 10 | selector: 11 | name: cassandra 12 | -------------------------------------------------------------------------------- /swarm-templates/wordpress/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | wordpress: 2 | image: wordpress 3 | links: 4 | - db:mysql 5 | ports: 6 | - ${client_port}:80 7 | db: 8 | image: mariadb 9 | environment: 10 | MYSQL_ROOT_PASSWORD: ${db_password} 11 | -------------------------------------------------------------------------------- /templates/Concrete5/config.yml: -------------------------------------------------------------------------------- 1 | name: Concrete5 2 | description: | 3 | Concrete5.7 CMS for buidling easy and beautiful websites 4 | version: v0.2 5 | category: CMS 6 | maintainer: Josh Calder 7 | projectURL: http://www.opensaas.com.au -------------------------------------------------------------------------------- /templates/asciinema-org/config.yml: -------------------------------------------------------------------------------- 1 | name: asciinema-org 2 | description: | 3 | Asciinema is a free and open source solution for recording terminal sessions and sharing them on the web. 4 | version: 0.1-rancher1 5 | category: Applications 6 | license: AGPL v3 7 | -------------------------------------------------------------------------------- /templates/droneworkers/config.yml: -------------------------------------------------------------------------------- 1 | name: Drone Rancher Node Manager 2 | description: | 3 | (Experimental) Dynamically add remove Drone worker nodes 4 | version: 0.1.0-cloudnautique1 5 | category: Continuous Integration 6 | minimum_rancher_version: v0.56.0 7 | -------------------------------------------------------------------------------- /templates/kafka/config.yml: -------------------------------------------------------------------------------- 1 | name: Apache Kafka 2 | description: | 3 | (Experimental) Kafka cluster 4 | version: 0.10.0.0-rancher1 5 | category: Clustering 6 | maintainer: "Raul Sanchez " 7 | minimum_rancher_version: v0.59.0 8 | license: 9 | -------------------------------------------------------------------------------- /templates/weavescope/config.yml: -------------------------------------------------------------------------------- 1 | name: Weave Scope 2 | description: "Monitoring, visualisation and management for Docker" 3 | version: 0.12.0 4 | category: Monitoring 5 | maintainer: "Ilya Dmitrichenko " 6 | license: "Apache License v2.0" 7 | -------------------------------------------------------------------------------- /templates/ecr/config.yml: -------------------------------------------------------------------------------- 1 | name: ECR Credential Updater 2 | description: | 3 | Automatically updates AWS EC2 Container Registry credentials in Rancher. 4 | version: v1.1.0 5 | category: Applications 6 | maintainer: John Engelman 7 | -------------------------------------------------------------------------------- /templates/registry/config.yml: -------------------------------------------------------------------------------- 1 | name: Registry 2 | description: | 3 | Secure Docker registry. Web based administration. Optional LDAP authentication. 4 | version: v2.3.1-3.1 5 | category: Applications 6 | maintainer: Steve Shipway 7 | 8 | -------------------------------------------------------------------------------- /templates/gocd-agent/config.yml: -------------------------------------------------------------------------------- 1 | name: gocd-agent 2 | description: | 3 | (Experimental) Gocd agent 4 | version: 16.2.1-rancher1 5 | category: Continuous Integration 6 | maintainer: "Raul Sanchez " 7 | minimum_rancher_version: v0.59.0 8 | license: 9 | -------------------------------------------------------------------------------- /templates/owncloud/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "Owncloud" 3 | version: "v0.1-educaas" 4 | description: "Library service powered by Owncloud" 5 | uuid: owncloud-0 6 | minimum_rancher_version: v0.51.0 7 | questions: 8 | 9 | owncloud: 10 | -------------------------------------------------------------------------------- /templates/zookeeper/config.yml: -------------------------------------------------------------------------------- 1 | name: Apache Zookeeper 2 | description: | 3 | (Experimental) Zookeeper cluster 4 | version: 3.4.8-rancher1 5 | category: Clustering 6 | maintainer: "Raul Sanchez " 7 | minimum_rancher_version: v0.59.0 8 | license: 9 | -------------------------------------------------------------------------------- /swarm-templates/zookeeper/config.yml: -------------------------------------------------------------------------------- 1 | name: Zookeeper 2 | description: | 3 | Reliable distributed coordination (standalone only) 4 | version: 3.4.8-rancher1 5 | category: Clustering 6 | maintainer: James Oliver 7 | minimum_rancher_version: v1.0.0-rc7 8 | -------------------------------------------------------------------------------- /templates/gocd-server/config.yml: -------------------------------------------------------------------------------- 1 | name: gocd-server 2 | description: | 3 | (Experimental) Gocd server 4 | version: 16.2.1-rancher1 5 | category: Continuous Integration 6 | maintainer: "Raul Sanchez " 7 | minimum_rancher_version: v0.59.0 8 | license: 9 | -------------------------------------------------------------------------------- /templates/traefik/config.yml: -------------------------------------------------------------------------------- 1 | name: Traefik 2 | description: | 3 | (Experimental) Traefik active load balancer 4 | version: v1.0.1-rancher1 5 | category: Load Balancing 6 | maintainer: "Raul Sanchez " 7 | minimum_rancher_version: v0.59.0 8 | license: 9 | -------------------------------------------------------------------------------- /integration/tox.ini: -------------------------------------------------------------------------------- 1 | [tox] 2 | envlist=flake8, py27 3 | 4 | [testenv] 5 | deps=-rrequirements.txt 6 | changedir=core 7 | commands=py.test --duration=20 {posargs} 8 | 9 | [testenv:flake8] 10 | deps=-rrequirements.txt 11 | changedir={toxinidir} 12 | commands=flake8 core 13 | -------------------------------------------------------------------------------- /templates/rabbitmq-3/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "Rabbit MQ" 3 | version: "0.1.0" 4 | decription: A reliable, distributed messaging broker 5 | rabbitmq: 6 | metadata: 7 | rabbitmq: 8 | config: 9 | node.name: "$${HOSTNAME}" 10 | 11 | -------------------------------------------------------------------------------- /templates/taiga/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "Taiga" 3 | version: "v0.1-educaas1" 4 | description: "Project management platform for agile developers" 5 | uuid: taiga-0 6 | minimum_rancher_version: v0.51.0 7 | questions: 8 | 9 | 10 | taiga: 11 | -------------------------------------------------------------------------------- /templates/wekan/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "Wekan" 3 | version: "v0.1-educaas" 4 | description: "The open-source Trello-like kanban (build with Meteor)" 5 | uuid: cloudflare-0 6 | minimum_rancher_version: v0.51.0 7 | questions: 8 | 9 | 10 | wekan: 11 | -------------------------------------------------------------------------------- /mesos-templates/mesos/config.yml: -------------------------------------------------------------------------------- 1 | name: Mesos 2 | description: | 3 | Abstract resources away from machines, enabling 4 | fault-tolerant and elastic distributed systems 5 | version: v1 6 | category: System 7 | maintainer: James Oliver 8 | minimum_rancher_version: v1.0.0 9 | -------------------------------------------------------------------------------- /templates/registry-convoy/config.yml: -------------------------------------------------------------------------------- 1 | name: Registry-Convoy 2 | description: | 3 | Secure Docker registry using Convoy. Web based administration. Optional LDAP authentication. 4 | version: v2.3.1-3.1 5 | category: Applications 6 | maintainer: Steve Shipway 7 | 8 | -------------------------------------------------------------------------------- /kubernetes-templates/Prometheus/0/grafana-srv.yml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: grafana 5 | namespace: "default" 6 | spec: 7 | type: NodePort 8 | ports: 9 | - name: "grafana" 10 | port: 3000 11 | protocol: TCP 12 | selector: 13 | name: grafana -------------------------------------------------------------------------------- /templates/datadog/config.yml: -------------------------------------------------------------------------------- 1 | name: Datadog 2 | description: | 3 | Real-time performance tracking and visualization of your container-based application deployment 4 | version: 11.1.580-rancher1 5 | category: Monitoring 6 | maintainer: "Jan Bruder " 7 | license: The MIT License 8 | -------------------------------------------------------------------------------- /templates/letsencrypt/config.yml: -------------------------------------------------------------------------------- 1 | name: Let's Encrypt 2 | description: | 3 | Trusted SSL certificates at zero cost 4 | version: 0.3.0 5 | category: Security 6 | maintainer: Jan Bruder 7 | license: The MIT License 8 | projectURL: http://www.github.com/janeczku/rancher-letsencrypt 9 | -------------------------------------------------------------------------------- /templates/logspout/0/README.md: -------------------------------------------------------------------------------- 1 | # Add Logspout Stack 2 | 3 | Glider Labs Logspout with Logstash adapter 4 | 5 | ### Info: 6 | 7 | For any services launched from the Rancher UI to use Logspout, please make sure to disable the '-t' [tty] option in the Advanced Options of the service definition. 8 | -------------------------------------------------------------------------------- /templates/sematext/config.yml: -------------------------------------------------------------------------------- 1 | name: Sematext Docker Agent 2 | description: | 3 | Performance Monitoring and Log Management. Collection of Metrics, Events and Logs. 4 | version: 1.29.44 5 | category: Monitoring 6 | maintainer: "Sematext Group Inc. " 7 | license: APACHE 2.0 8 | -------------------------------------------------------------------------------- /mesos-templates/kafka/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | scheduler: 2 | image: rancher/kafka:latest 3 | environment: 4 | ZK_SERVICE: Mesos/zookeeper 5 | MESOS_SERVICE: Mesos/mesos-master 6 | SCHEDULER_PORT: ${SCHEDULER_PORT} 7 | ports: 8 | - "${SCHEDULER_PORT}:${SCHEDULER_PORT}" 9 | privileged: true -------------------------------------------------------------------------------- /templates/rocket-chat/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "RocketChat" 3 | version: "v0.1-educaas" 4 | description: "Have your own Slack like online chat, built with Meteor." 5 | uuid: rocketchat-0 6 | minimum_rancher_version: v0.51.0 7 | questions: 8 | 9 | 10 | rocketchat: 11 | -------------------------------------------------------------------------------- /kubernetes-templates/MongoDB/0/README.md: -------------------------------------------------------------------------------- 1 | # MongoDB 2 | 3 | MongoDB is an open-source, document database designed for ease of development and scaling. 4 | 5 | This is a MongoDB replica set deployment on Kubernetes environment, it will create MongoDB replica set with the ability to scale it in the future. 6 | -------------------------------------------------------------------------------- /kubernetes-templates/Prometheus/0/node-exporter-srv.yml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: node-exporter 5 | namespace: "default" 6 | spec: 7 | 8 | ports: 9 | - name: "node-exporter" 10 | port: 9100 11 | protocol: TCP 12 | selector: 13 | name: node-exporter -------------------------------------------------------------------------------- /kubernetes-templates/spark/0/zeppelin-service.yaml: -------------------------------------------------------------------------------- 1 | kind: Service 2 | apiVersion: v1 3 | metadata: 4 | name: zeppelin 5 | labels: 6 | heritage: helm 7 | provider: spark 8 | spec: 9 | ports: 10 | - port: 8080 11 | targetPort: 8080 12 | selector: 13 | component: zeppelin 14 | 15 | -------------------------------------------------------------------------------- /kubernetes-templates/Prometheus/0/prometheus-srv.yml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: prometheus 5 | namespace: "default" 6 | spec: 7 | type: NodePort 8 | ports: 9 | - name: "prometheus" 10 | port: 9090 11 | protocol: TCP 12 | 13 | selector: 14 | name: prometheus -------------------------------------------------------------------------------- /kubernetes-templates/rabbitmq/0/rabbitmq-svc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: rabbitmq 5 | labels: 6 | provider: rabbitmq 7 | heritage: helm 8 | spec: 9 | ports: 10 | - port: ${SERVICE_PORT} 11 | targetPort: 5672 12 | selector: 13 | provider: rabbitmq 14 | -------------------------------------------------------------------------------- /kubernetes-templates/redis/0/redis-sentinel-service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | heritage: helm 6 | name: sentinel 7 | role: service 8 | name: redis-sentinel 9 | spec: 10 | ports: 11 | - port: 26379 12 | selector: 13 | redis-sentinel: "true" 14 | -------------------------------------------------------------------------------- /mesos-templates/chronos/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | chronos: 2 | image: rancher/chronos:latest 3 | environment: 4 | ZK_SERVICE: Mesos/zookeeper 5 | MESOS_SERVICE: Mesos/mesos-master 6 | CHRONOS_HTTP_PORT: ${CHRONOS_HTTP_PORT} 7 | ports: 8 | - "${CHRONOS_HTTP_PORT}:${CHRONOS_HTTP_PORT}" 9 | privileged: true -------------------------------------------------------------------------------- /templates/grafana/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | grafana: 2 | image: grafana/grafana:latest 3 | ports: 4 | - ${http_port}:3000 5 | environment: 6 | GF_SECURITY_ADMIN_USER: ${admin_username} 7 | GF_SECURITY_ADMIN_PASSWORD: ${admin_password} 8 | GF_SECURITY_SECRET_KEY: ${secret_key} 9 | -------------------------------------------------------------------------------- /kubernetes-templates/ghost/0/ghost-service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | name: ghost-lb 6 | name: ghost-lb 7 | spec: 8 | ports: 9 | - port: 80 10 | targetPort: 2368 11 | selector: 12 | name: ghost 13 | app: ghost 14 | type: LoadBalancer 15 | -------------------------------------------------------------------------------- /mesos-templates/marathon/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | marathon: 2 | image: rancher/marathon:v1.1.0 3 | environment: 4 | ZK_SERVICE: Mesos/zookeeper 5 | MESOS_SERVICE: Mesos/mesos-master 6 | MARATHON_HTTP_PORT: ${MARATHON_HTTP_PORT} 7 | ports: 8 | - "${MARATHON_HTTP_PORT}:${MARATHON_HTTP_PORT}" 9 | privileged: true -------------------------------------------------------------------------------- /mesos-templates/marathon/1/docker-compose.yml: -------------------------------------------------------------------------------- 1 | marathon: 2 | image: rancher/marathon:v1.1.1 3 | environment: 4 | ZK_SERVICE: Mesos/zookeeper 5 | MESOS_SERVICE: Mesos/mesos-master 6 | MARATHON_HTTP_PORT: ${MARATHON_HTTP_PORT} 7 | ports: 8 | - "${MARATHON_HTTP_PORT}:${MARATHON_HTTP_PORT}" 9 | privileged: true -------------------------------------------------------------------------------- /kubernetes-templates/cassandra/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "K8s Example Cassandra" 3 | version: "1.0.0" 4 | description: "" 5 | questions: 6 | - variable: "NODE_COUNT" 7 | label: "Initial number of Cassandra nodes" 8 | required: true 9 | default: 3 10 | type: "int" 11 | -------------------------------------------------------------------------------- /kubernetes-templates/spark/0/spark-master-service.yaml: -------------------------------------------------------------------------------- 1 | kind: Service 2 | apiVersion: v1 3 | metadata: 4 | name: spark-master 5 | labels: 6 | heritage: helm 7 | provider: spark 8 | spec: 9 | ports: 10 | - port: 7077 11 | targetPort: 7077 12 | selector: 13 | component: spark-master 14 | 15 | -------------------------------------------------------------------------------- /templates/fbctf/config.yml: -------------------------------------------------------------------------------- 1 | name: fbctf 2 | description: | 3 | (Experimental) The Facebook CTF is a platform to host Jeopardy and “King of the Hill” style Capture the Flag competitions. 4 | version: 0.1-beta-rancher1 5 | category: Applications 6 | maintainer: "Lobsiinvok Su " 7 | license: CC BY-NC 4.0 8 | -------------------------------------------------------------------------------- /templates/scaleio/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "ScaleIO" 3 | version: "v0.1" 4 | description: "ScaleIO Launcher - with 3 sds, 2 mdms in cluster mode, and 1 tb (NO SDC)" 5 | 6 | tb: 7 | scale: 1 8 | 9 | sds: 10 | scale: 3 11 | 12 | mdm: 13 | scale: 1 14 | 15 | primary-mdm: 16 | scale: 1 17 | -------------------------------------------------------------------------------- /kubernetes-templates/minecraft/0/minecraft-svc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: minecraft 5 | labels: 6 | heritage: helm 7 | spec: 8 | type: LoadBalancer 9 | ports: 10 | - port: ${LB_PORT} 11 | targetPort: 25565 12 | protocol: TCP 13 | selector: 14 | app: minecraft 15 | -------------------------------------------------------------------------------- /kubernetes-templates/spark/0/spark-webui.yaml: -------------------------------------------------------------------------------- 1 | kind: Service 2 | apiVersion: v1 3 | metadata: 4 | name: spark-webui 5 | labels: 6 | heritage: helm 7 | provider: spark 8 | spec: 9 | ports: 10 | - port: 8080 11 | targetPort: 8080 12 | selector: 13 | component: spark-master 14 | type: LoadBalancer 15 | -------------------------------------------------------------------------------- /templates/kafka/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | broker: 2 | tty: true 3 | image: rawmind/rancher-kafka:0.9.0 4 | volumes: 5 | - /opt/kafka/data 6 | environment: 7 | - JVMFLAGS=-Xmx${kafka_mem}m -Xms${kafka_mem}m 8 | - CONFD_INTERVAL=${kafka_interval} 9 | - ZK_SERVICE=${zk_link} 10 | external_links: 11 | - ${zk_link}:zk 12 | -------------------------------------------------------------------------------- /kubernetes-templates/guestbook/0/redis-slave-service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: ${REDIS_SLAVE_NAME} 5 | labels: 6 | name: ${REDIS_SLAVE_NAME} 7 | spec: 8 | ports: 9 | # the port that this service should serve on 10 | - port: 6379 11 | selector: 12 | name: ${REDIS_SLAVE_NAME} 13 | -------------------------------------------------------------------------------- /mesos-templates/zookeeper/config.yml: -------------------------------------------------------------------------------- 1 | name: Zookeeper 2 | description: | 3 | Maintain configuration information, naming, provide 4 | distributed synchronization and group services 5 | version: 3.4.6-rancher2 6 | category: System 7 | maintainer: "Raul Sanchez " 8 | minimum_rancher_version: v0.56.0 9 | license: 10 | -------------------------------------------------------------------------------- /templates/adminer/README.md: -------------------------------------------------------------------------------- 1 | # PHP Adminer 2 | 3 | Adminer (formerly phpMinAdmin) is a full-featured database management tool written in PHP. Conversely to phpMyAdmin, it consist of a single file ready to deploy to the target server. Adminer je k dispozici pro MySQL, PostgreSQL, SQLite, MS SQL, Oracle, Firebird, SimpleDB, Elasticsearch a MongoDB. -------------------------------------------------------------------------------- /templates/droneworkers/0/README.md: -------------------------------------------------------------------------------- 1 | ## Drone Rancher Node Manager 2 | 3 | ### Purpose: 4 | 5 | This template will launch a global service and register the nodes as workers with Drone. 6 | 7 | 8 | The manager polls Rancher metadata service every 5 minutes and adds/removes nodes. One agent will run per host, and register a single worker. 9 | -------------------------------------------------------------------------------- /kubernetes-templates/Prometheus/0/prometheus-rancher-exporter-srv.yml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: prom-rancher-exporter 5 | namespace: "default" 6 | spec: 7 | 8 | ports: 9 | - name: prometheus-rancher-exporter 10 | port: 9010 11 | protocol: TCP 12 | selector: 13 | name: prometheus-rancher-exporter -------------------------------------------------------------------------------- /templates/f5/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | external-lb: 2 | image: rancher/external-lb:v0.1.1 3 | command: -provider=f5_BigIP 4 | expose: 5 | - 1000 6 | environment: 7 | F5_BIGIP_HOST: ${F5_BIGIP_HOST} 8 | F5_BIGIP_USER: ${F5_BIGIP_USER} 9 | F5_BIGIP_PWD: ${F5_BIGIP_PWD} 10 | LB_TARGET_RANCHER_SUFFIX: ${LB_TARGET_RANCHER_SUFFIX} 11 | -------------------------------------------------------------------------------- /kubernetes-templates/MongoDB/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: MongoDB 3 | version: 3.2-rancher1 4 | description: MongoDB Replica Set 5 | questions: 6 | - variable: "sec_no" 7 | label: "Number of Secondary nodes" 8 | required: true 9 | type: int 10 | default: 2 11 | description: "should be even number" 12 | -------------------------------------------------------------------------------- /kubernetes-templates/Prometheus/0/ranch-eye-srv.yml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: ranch-eye 5 | labels: 6 | io.rancher.scheduler.global: "true" 7 | io.rancher.container.dns: "true" 8 | spec: 9 | ports: 10 | - port: 9104 11 | protocol: TCP 12 | targetPort: 9104 13 | selector: 14 | name: ranch-eye 15 | -------------------------------------------------------------------------------- /templates/gogs/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | gogs: 2 | image: gogs/gogs:latest 3 | ports: 4 | - ${http_port}:3000 5 | - ${ssh_port}:22 6 | links: 7 | - mysql:db 8 | 9 | mysql: 10 | image: mysql:latest 11 | ports: 12 | - ${public_port}:3306 13 | environment: 14 | MYSQL_ROOT_PASSWORD: ${mysql_password} 15 | -------------------------------------------------------------------------------- /kubernetes-templates/guestbook/0/redis-master-service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: ${REDIS_MASTER_NAME} 5 | labels: 6 | name: ${REDIS_MASTER_NAME} 7 | spec: 8 | ports: 9 | # the port that this service should serve on 10 | - port: 6379 11 | targetPort: 6379 12 | selector: 13 | name: ${REDIS_MASTER_NAME} 14 | -------------------------------------------------------------------------------- /templates/consul-registrator/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "Consul-Registrator" 3 | description: "Consul Agent with Registrator Auto Configuration" 4 | version: "0.6-rancher1" 5 | uuid: consul-registrator-0 6 | questions: 7 | - variable: consul_server 8 | label: "Consul Server Hostname/IP" 9 | type: "string" 10 | required: true 11 | -------------------------------------------------------------------------------- /templates/bind9/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | bind9: 2 | image: digitallumberjack/docker-bind9:v1.2.0 3 | ports: 4 | - ${BIND9_PORT}:53/tcp 5 | - ${BIND9_PORT}:53/udp 6 | environment: 7 | BIND9_ROOTDOMAIN: ${BIND9_ROOTDOMAIN} 8 | BIND9_KEYNAME: ${BIND9_KEYNAME} 9 | BIND9_KEY: ${BIND9_KEY} 10 | BIND9_FORWARDERS: ${BIND9_FORWARDERS} 11 | RANCHER_ENV: "true" 12 | -------------------------------------------------------------------------------- /mesos-templates/elasticsearch/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | scheduler: 2 | image: rancher/elasticsearch:latest 3 | environment: 4 | ZK_SERVICE: Mesos/zookeeper 5 | MESOS_SERVICE: Mesos/mesos-master 6 | SCHEDULER_PORT: ${SCHEDULER_PORT} 7 | JAVA_OPTS: -Xms256M -Xmx256M 8 | NODE_COUNT: ${NODE_COUNT} 9 | ports: 10 | - "${SCHEDULER_PORT}:${SCHEDULER_PORT}" 11 | privileged: true -------------------------------------------------------------------------------- /swarm-templates/ghost/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "Ghost" 3 | version: 0.7.8-rancher1 4 | description: "Blog powered by Ghost" 5 | minimum_rancher_version: v1.0.0-rc2 6 | questions: 7 | - variable: client_port 8 | description: "Port to access the blog" 9 | label: "Client Port" 10 | required: true 11 | default: "80" 12 | type: "int" 13 | -------------------------------------------------------------------------------- /templates/gocd-agent/0/README.md: -------------------------------------------------------------------------------- 1 | # Gocd agent (Experimental) 2 | 3 | ### Info: 4 | 5 | This template creates and configure a gocd server agent. 6 | 7 | 8 | ### Usage: 9 | 10 | Select gocd-agent from catalog. 11 | 12 | Enter the mem parameters, gocd-server stack/service and port. 13 | 14 | Click deploy. 15 | 16 | gocd-agent can now be accessed over the Rancher network. 17 | 18 | -------------------------------------------------------------------------------- /templates/puppet-standalone/config.yml: -------------------------------------------------------------------------------- 1 | name: Puppet Server 4.x (standalone) 2 | description: > 3 | A very basic Open Source-only Puppet 4.x master for development and testing. 4 | version: 1.0.0-rancher1 5 | category: Configuration Management 6 | maintainer: Nathan Valentine 7 | license: Apache 2 8 | projectURL: https://github.com/rancher/community-catalog/templates/puppet-standalone 9 | -------------------------------------------------------------------------------- /swarm-templates/scylla/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: Scylla 3 | version: 1.0-rc2-rancher1 4 | description: | 5 | A NoSQL column store database compatible with Cassandra 6 | questions: 7 | scylla: 8 | health_check: 9 | port: 9042 10 | interval: 5000 11 | unhealthy_threshold: 3 12 | request_line: '' 13 | healthy_threshold: 2 14 | response_timeout: 5000 15 | -------------------------------------------------------------------------------- /kubernetes-templates/ghost/0/README.md: -------------------------------------------------------------------------------- 1 | # Ghost 2 | 3 | Ghost is a platform dedicated to one thing: Publishing. It's beautifully designed, completely customisable and completely Open Source. Ghost allows you to write and publish your own blog, giving you the tools to make it easy and even fun to do. 4 | 5 | This is a Ghost deployment on Kubernetes environment, using MySQL as backend store for the blogging paltform. 6 | -------------------------------------------------------------------------------- /kubernetes-templates/spark/0/README.md: -------------------------------------------------------------------------------- 1 | # spark 2 | 3 | Apache Spark is a fast and general-purpose cluster computing system. 4 | 5 | Need for zeppelin service and controller: Apache Zeppelin is a new and incubating multi-purposed web-based notebook which brings data ingestion, data exploration, visualization, sharing and collaboration features to Spark. More information can be found at https://zeppelin.incubator.apache.org/ 6 | -------------------------------------------------------------------------------- /kubernetes-templates/spark/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: Spark 3 | version: 0.1.0-rancher1 4 | description: "Spark cluster" 5 | maintainer: "Rancher" 6 | questions: 7 | - variable: "SPARK_WORKER_REPLICAS" 8 | type: "string" 9 | default: "1" 10 | label: "Worker Replica Count" 11 | description: "number of Spark workers" 12 | required: true 13 | -------------------------------------------------------------------------------- /templates/secrets-bridge-agents/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | secrets-bridge: 2 | image: rancher/secrets-bridge:v0.0.3 3 | command: agent --bridge-url ${BRIDGE_URL} 4 | volumes: 5 | - /var/run/docker.sock:/var/run/docker.sock 6 | privileged: true 7 | labels: 8 | io.rancher.container.create_agent: true 9 | io.rancher.container.agent.role: agent 10 | io.rancher.scheduler.global: true 11 | -------------------------------------------------------------------------------- /templates/taiga/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | postgres: 2 | image: postgres 3 | 4 | taigaback: 5 | image: ipedrazas/taiga-back 6 | links: 7 | - postgres:postgres 8 | ports: 9 | - "8000:8000" 10 | 11 | taigafront: 12 | image: ipedrazas/taiga-front 13 | links: 14 | - taigaback:taiga-back 15 | ports: 16 | - "80:80" 17 | environment: 18 | - "API_NAME=boot2docker" 19 | -------------------------------------------------------------------------------- /templates/pointhq/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | pointhq: 2 | image: rancher/external-dns:v0.2.0 3 | command: --provider pointhq 4 | expose: 5 | - 1000 6 | environment: 7 | POINTHQ_TOKEN: ${POINTHQ_TOKEN} 8 | POINTHQ_EMAIL: ${POINTHQ_EMAIL} 9 | ROOT_DOMAIN: ${ROOT_DOMAIN} 10 | TTL: ${TTL} 11 | labels: 12 | io.rancher.container.create_agent: "true" 13 | io.rancher.container.agent.role: "external-dns" 14 | -------------------------------------------------------------------------------- /templates/pointhq/1/docker-compose.yml: -------------------------------------------------------------------------------- 1 | pointhq: 2 | image: rancher/external-dns:v0.2.1 3 | command: --provider pointhq 4 | expose: 5 | - 1000 6 | environment: 7 | POINTHQ_TOKEN: ${POINTHQ_TOKEN} 8 | POINTHQ_EMAIL: ${POINTHQ_EMAIL} 9 | ROOT_DOMAIN: ${ROOT_DOMAIN} 10 | TTL: ${TTL} 11 | labels: 12 | io.rancher.container.create_agent: "true" 13 | io.rancher.container.agent.role: "external-dns" 14 | -------------------------------------------------------------------------------- /templates/consul/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | consul-conf: 2 | image: husseingalal/consul-config 3 | labels: 4 | io.rancher.container.hostname_override: container_name 5 | volumes_from: 6 | - consul 7 | net: "container:consul" 8 | consul: 9 | image: husseingalal/consul 10 | labels: 11 | io.rancher.sidekicks: consul-conf 12 | volumes: 13 | - /opt/rancher/ssl 14 | - /opt/rancher/config 15 | - /var/consul 16 | -------------------------------------------------------------------------------- /templates/dnsimple/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | dnsimple: 2 | image: rancher/external-dns:v0.1.9 3 | command: --provider dnsimple 4 | expose: 5 | - 1000 6 | environment: 7 | DNSIMPLE_TOKEN: ${DNSIMPLE_TOKEN} 8 | DNSIMPLE_EMAIL: ${DNSIMPLE_EMAIL} 9 | ROOT_DOMAIN: ${ROOT_DOMAIN} 10 | TTL: ${TTL} 11 | labels: 12 | io.rancher.container.create_agent: "true" 13 | io.rancher.container.agent.role: "external-dns" 14 | -------------------------------------------------------------------------------- /templates/dnsimple/1/docker-compose.yml: -------------------------------------------------------------------------------- 1 | dnsimple: 2 | image: rancher/external-dns:v0.2.1 3 | command: --provider dnsimple 4 | expose: 5 | - 1000 6 | environment: 7 | DNSIMPLE_TOKEN: ${DNSIMPLE_TOKEN} 8 | DNSIMPLE_EMAIL: ${DNSIMPLE_EMAIL} 9 | ROOT_DOMAIN: ${ROOT_DOMAIN} 10 | TTL: ${TTL} 11 | labels: 12 | io.rancher.container.create_agent: "true" 13 | io.rancher.container.agent.role: "external-dns" 14 | -------------------------------------------------------------------------------- /templates/ghost/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "Ghost" 3 | version: "v0.1-educaas" 4 | description: "Blog powered by Ghost. Requires no database" 5 | uuid: ghost-0 6 | minimum_rancher_version: v0.51.0 7 | questions: 8 | - variable: public_port 9 | description: "public port to access the blog" 10 | label: "Public Port" 11 | required: true 12 | default: "80" 13 | type: "int" 14 | ghost: 15 | -------------------------------------------------------------------------------- /templates/wekan/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | wekandb: 2 | image: mongo 3 | # volumes: 4 | # - ./data/runtime/db:/data/db 5 | # - ./data/dump:/dump 6 | command: mongod --smallfiles --oplogSize 128 7 | ports: 8 | - 27017 9 | 10 | wekan: 11 | image: mquandalle/wekan 12 | links: 13 | - wekandb 14 | environment: 15 | - MONGO_URL=mongodb://wekandb/wekan 16 | - ROOT_URL=http://localhost:80 17 | ports: 18 | - 80:80 19 | -------------------------------------------------------------------------------- /templates/cloudflare/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | cloudflare: 2 | image: rancher/external-dns:v0.1.9 3 | command: -provider=cloudflare 4 | expose: 5 | - 1000 6 | environment: 7 | CLOUDFLARE_EMAIL: ${CLOUDFLARE_EMAIL} 8 | CLOUDFLARE_KEY: ${CLOUDFLARE_KEY} 9 | ROOT_DOMAIN: ${ROOT_DOMAIN} 10 | TTL: ${TTL} 11 | labels: 12 | io.rancher.container.create_agent: "true" 13 | io.rancher.container.agent.role: "external-dns" 14 | -------------------------------------------------------------------------------- /templates/cloudflare/1/docker-compose.yml: -------------------------------------------------------------------------------- 1 | cloudflare: 2 | image: rancher/external-dns:v0.2.1 3 | command: -provider=cloudflare 4 | expose: 5 | - 1000 6 | environment: 7 | CLOUDFLARE_EMAIL: ${CLOUDFLARE_EMAIL} 8 | CLOUDFLARE_KEY: ${CLOUDFLARE_KEY} 9 | ROOT_DOMAIN: ${ROOT_DOMAIN} 10 | TTL: ${TTL} 11 | labels: 12 | io.rancher.container.create_agent: "true" 13 | io.rancher.container.agent.role: "external-dns" 14 | -------------------------------------------------------------------------------- /templates/cloudflare/2/docker-compose.yml: -------------------------------------------------------------------------------- 1 | cloudflare: 2 | image: rancher/external-dns:v0.4.0 3 | command: -provider=cloudflare 4 | expose: 5 | - 1000 6 | environment: 7 | CLOUDFLARE_EMAIL: ${CLOUDFLARE_EMAIL} 8 | CLOUDFLARE_KEY: ${CLOUDFLARE_KEY} 9 | ROOT_DOMAIN: ${ROOT_DOMAIN} 10 | TTL: ${TTL} 11 | labels: 12 | io.rancher.container.create_agent: "true" 13 | io.rancher.container.agent.role: "external-dns" 14 | -------------------------------------------------------------------------------- /kubernetes-templates/Prometheus/0/grafana-rc.yml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ReplicationController 3 | metadata: 4 | name: grafana-rc 5 | namespace: default 6 | spec: 7 | replicas: 1 8 | selector: 9 | template: 10 | metadata: 11 | labels: 12 | name: grafana 13 | spec: 14 | restartPolicy: Always 15 | containers: 16 | - image: infracloud/grafana 17 | imagePullPolicy: Always 18 | name: grafana -------------------------------------------------------------------------------- /kubernetes-templates/wordpress/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "K8s Example Wordpress" 3 | version: "1.0.0" 4 | description: "" 5 | questions: 6 | - variable: "WP_PASSWORD" 7 | label: "Mysql database password" 8 | required: true 9 | default: "wordpress" 10 | type: "string" 11 | - variable: "SERVICE_PORT" 12 | label: "Service port" 13 | required: true 14 | default: 80 15 | type: "int" 16 | -------------------------------------------------------------------------------- /templates/adminer/config.yml: -------------------------------------------------------------------------------- 1 | name: PHP Adminer 2 | description: | 3 | Adminer (formerly phpMinAdmin) is a full-featured database management tool written in PHP. Conversely to phpMyAdmin, it consist of a single file ready to deploy to the target server. Adminer je k dispozici pro MySQL, PostgreSQL, SQLite, MS SQL, Oracle, Firebird, SimpleDB, Elasticsearch a MongoDB. 4 | version: v1 5 | category: Applications 6 | maintainer: Tomas Holcman 7 | 8 | -------------------------------------------------------------------------------- /templates/secrets-bridge-agents/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "Secrets Bridge Agent" 3 | version: 0.0.1-rancher1 4 | description: | 5 | Agent side of secrets bridge between Rancher and Vault 6 | questions: 7 | - variable: BRIDGE_URL 8 | type: string 9 | label: "Secrets Bridge URL" 10 | required: true 11 | description: "Should be the http(s)://address:port version of the url" 12 | -------------------------------------------------------------------------------- /templates/ecr/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | ecr-updater: 2 | environment: 3 | AWS_ACCESS_KEY_ID: ${aws_access_key_id} 4 | AWS_SECRET_ACCESS_KEY: ${aws_secret_access_key} 5 | AWS_REGION: ${aws_region} 6 | labels: 7 | io.rancher.container.pull_image: always 8 | io.rancher.container.create_agent: 'true' 9 | io.rancher.container.agent.role: environment 10 | tty: true 11 | image: objectpartners/rancher-ecr-credentials:1.0.0 12 | stdin_open: true 13 | -------------------------------------------------------------------------------- /templates/ecr/1/docker-compose.yml: -------------------------------------------------------------------------------- 1 | ecr-updater: 2 | environment: 3 | AWS_ACCESS_KEY_ID: ${aws_access_key_id} 4 | AWS_SECRET_ACCESS_KEY: ${aws_secret_access_key} 5 | AWS_REGION: ${aws_region} 6 | labels: 7 | io.rancher.container.pull_image: always 8 | io.rancher.container.create_agent: 'true' 9 | io.rancher.container.agent.role: environment 10 | tty: true 11 | image: objectpartners/rancher-ecr-credentials:1.0.1 12 | stdin_open: true 13 | -------------------------------------------------------------------------------- /templates/ecr/2/docker-compose.yml: -------------------------------------------------------------------------------- 1 | ecr-updater: 2 | environment: 3 | AWS_ACCESS_KEY_ID: ${aws_access_key_id} 4 | AWS_SECRET_ACCESS_KEY: ${aws_secret_access_key} 5 | AWS_REGION: ${aws_region} 6 | labels: 7 | io.rancher.container.pull_image: always 8 | io.rancher.container.create_agent: 'true' 9 | io.rancher.container.agent.role: environment 10 | tty: true 11 | image: objectpartners/rancher-ecr-credentials:1.1.0 12 | stdin_open: true 13 | -------------------------------------------------------------------------------- /templates/logspout/1/docker-compose.yml: -------------------------------------------------------------------------------- 1 | logspout: 2 | restart: always 3 | environment: 4 | ROUTE_URIS: "${route_uri}" 5 | LOGSPOUT: 'ignore' 6 | SYSLOG_HOSTNAME: "${envname}" 7 | volumes: 8 | - '/var/run/docker.sock:/var/run/docker.sock' 9 | labels: 10 | io.rancher.scheduler.global: 'true' 11 | io.rancher.container.hostname_override: container_name 12 | tty: true 13 | image: rancher/logspout-logstash:v0.2.0 14 | stdin_open: true 15 | -------------------------------------------------------------------------------- /kubernetes-templates/Prometheus/0/influxdb-srv.yml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: influxdb 5 | namespace: "default" 6 | spec: 7 | type: NodePort 8 | ports: 9 | - port: 8083 10 | protocol: TCP 11 | name: idb-1 12 | - port: 8086 13 | protocol: TCP 14 | name: idb-2 15 | - port: 8090 16 | protocol: TCP 17 | name: idb-3 18 | - port: 2003 19 | protocol: TCP 20 | name: idb-4 21 | selector: 22 | name: influxdb -------------------------------------------------------------------------------- /kubernetes-templates/rabbitmq/0/rabbitmq-rc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ReplicationController 3 | metadata: 4 | name: rabbitmq 5 | labels: 6 | provider: rabbitmq 7 | heritage: helm 8 | spec: 9 | replicas: ${REPLICAS} 10 | template: 11 | metadata: 12 | labels: 13 | provider: rabbitmq 14 | spec: 15 | containers: 16 | - name: rabbitmq 17 | image: rabbitmq:3.6.0 18 | ports: 19 | - containerPort: 5672 20 | -------------------------------------------------------------------------------- /templates/gocd-server/0/README.md: -------------------------------------------------------------------------------- 1 | # Gocd server (Experimental) 2 | 3 | ### Info: 4 | 5 | This template creates and configure a gocd server instance. 6 | 7 | You can add a local or a convoy-gluster volume to retain gocd-server data. 8 | 9 | ### Usage: 10 | 11 | Select gocd-server from catalog. 12 | 13 | Enter the mem parameters, volume and volume driver. 14 | 15 | Click deploy. 16 | 17 | gocd-server can now be accessed over the Rancher network. 18 | 19 | -------------------------------------------------------------------------------- /templates/wordpress/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "Wordpress" 3 | version: "v0.1-educaas1" 4 | description: "Blog tool, publishing platform and CMS" 5 | uuid: Wordpress-0 6 | minimum_rancher_version: v0.51.0 7 | questions: 8 | - variable: public_port 9 | description: "public port to access the wordpress site" 10 | label: "Public Port" 11 | required: true 12 | default: "80" 13 | type: "int" 14 | 15 | 16 | wordpress: 17 | -------------------------------------------------------------------------------- /templates/MongoDB/0/README.md: -------------------------------------------------------------------------------- 1 | # MongoDB 2 | 3 | 4 | ### Info: 5 | 6 | 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. 7 | 8 | 9 | ### Usage: 10 | 11 | Select MongoDB from catalog. 12 | 13 | Enter the name of the replica set. 14 | 15 | Click deploy. 16 | 17 | MongoDB can now be accessed over the Rancher network. 18 | 19 | -------------------------------------------------------------------------------- /templates/MongoDB/1/README.md: -------------------------------------------------------------------------------- 1 | # MongoDB 2 | 3 | 4 | ### Info: 5 | 6 | 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. 7 | 8 | 9 | ### Usage: 10 | 11 | Select MongoDB from catalog. 12 | 13 | Enter the name of the replica set. 14 | 15 | Click deploy. 16 | 17 | MongoDB can now be accessed over the Rancher network. 18 | 19 | -------------------------------------------------------------------------------- /templates/logspout/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | logspout: 2 | restart: always 3 | environment: 4 | ROUTE_URIS: "${route_uri}" 5 | LOGSPOUT: 'ignore' 6 | volumes: 7 | - '/var/run/docker.sock:/var/run/docker.sock' 8 | external_links: 9 | - ${target_link}:${target_link_name} 10 | labels: 11 | io.rancher.scheduler.global: 'true' 12 | io.rancher.container.hostname_override: container_name 13 | tty: true 14 | image: rancher/logspout-logstash:v0.2.0 15 | stdin_open: true 16 | -------------------------------------------------------------------------------- /templates/powerdns-external-dns/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | powerdns: 2 | image: rancher/external-dns:v0.5.0 3 | command: "-provider=powerdns" 4 | expose: 5 | - 1000 6 | environment: 7 | POWERDNS_API_KEY: ${POWERDNS_API_KEY} 8 | POWERDNS_URL: ${POWERDNS_URL} 9 | ROOT_DOMAIN: ${ROOT_DOMAIN} 10 | TTL: ${TTL} 11 | labels: 12 | io.rancher.container.pull_image: always 13 | io.rancher.container.create_agent: "true" 14 | io.rancher.container.agent.role: "external-dns" 15 | -------------------------------------------------------------------------------- /kubernetes-templates/Prometheus/0/node-exporter-rc.yml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ReplicationController 3 | metadata: 4 | labels: 5 | name: node-exporter-rc 6 | namespace: default 7 | spec: 8 | replicas: 1 9 | 10 | template: 11 | metadata: 12 | labels: 13 | name: node-exporter 14 | spec: 15 | restartPolicy: Always 16 | containers: 17 | - image: prom/node-exporter:latest 18 | imagePullPolicy: Always 19 | name: node-exporter 20 | 21 | 22 | -------------------------------------------------------------------------------- /kubernetes-templates/guestbook/0/frontend-service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: ${SERVICE_NAME} 5 | labels: 6 | name: ${SERVICE_NAME} 7 | spec: 8 | # if your cluster supports it, uncomment the following to automatically create 9 | # an external load-balanced IP for the frontend service. 10 | type: LoadBalancer 11 | ports: 12 | # the port that this service should serve on 13 | - port: ${SERVICE_PORT} 14 | selector: 15 | name: ${FRONTEND_NAME} 16 | -------------------------------------------------------------------------------- /mesos-templates/marathon/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | version: v1.1.0 3 | questions: 4 | - variable: MARATHON_HTTP_PORT 5 | description: Port to expose Marathon on. 6 | label: Marathon Port 7 | required: true 8 | type: int 9 | default: 8080 10 | marathon: 11 | scale: 1 12 | health_check: 13 | port: ${MARATHON_HTTP_PORT} 14 | interval: 3000 15 | unhealthy_threshold: 2 16 | healthy_threshold: 2 17 | request_line: '/' 18 | response_timeout: 2000 19 | -------------------------------------------------------------------------------- /mesos-templates/marathon/1/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | version: v1.1.1 3 | questions: 4 | - variable: MARATHON_HTTP_PORT 5 | description: Port to expose Marathon on. 6 | label: Marathon Port 7 | required: true 8 | type: int 9 | default: 8080 10 | marathon: 11 | scale: 1 12 | health_check: 13 | port: ${MARATHON_HTTP_PORT} 14 | interval: 3000 15 | unhealthy_threshold: 2 16 | healthy_threshold: 2 17 | request_line: '/' 18 | response_timeout: 2000 19 | -------------------------------------------------------------------------------- /scripts/bootstrap: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | apt-get update && apt-get install -y curl jq python python-pip 4 | pip install -U pip tox 5 | 6 | ## Get latest rancher-catalog 7 | download_url=$(curl https://api.github.com/repos/rancher/rancher-catalog-service/releases/latest | jq -r '.assets[]| select(.name == "rancher-catalog-service.tar.xz")| .browser_download_url') 8 | curl -sL -o /tmp/rancher-catalog-service.tar.xz ${download_url} 9 | tar -xJf /tmp/rancher-catalog-service.tar.xz -C /usr/bin/ 10 | 11 | 12 | -------------------------------------------------------------------------------- /templates/etcd-ha/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "Etcd" 3 | version: "2.3.0-rancher1" 4 | description: | 5 | Distributed highly-available key-value store 6 | minimum_rancher_version: "v0.46.0" 7 | questions: 8 | - variable: "REPLICAS" 9 | description: "Number of Etcd nodes. 3, 5, or 7 are good choices" 10 | label: "Number of Nodes:" 11 | required: true 12 | default: 3 13 | type: "int" 14 | etcd: 15 | retain_ip: true 16 | scale: ${REPLICAS} 17 | -------------------------------------------------------------------------------- /templates/etcd-ha/1/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "Etcd" 3 | version: "2.3.3-rancher1" 4 | description: | 5 | Distributed highly-available key-value store 6 | minimum_rancher_version: "v0.46.0" 7 | questions: 8 | - variable: "REPLICAS" 9 | description: "Number of Etcd nodes. 3, 5, or 7 are good choices" 10 | label: "Number of Nodes:" 11 | required: true 12 | default: 3 13 | type: "int" 14 | etcd: 15 | retain_ip: true 16 | scale: ${REPLICAS} 17 | -------------------------------------------------------------------------------- /templates/janitor/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | cleanup: 2 | image: meltwater/docker-cleanup:1.4.0 3 | environment: 4 | CLEAN_PERIOD: ${FREQUENCY} 5 | DELAY_TIME: "900" 6 | KEEP_IMAGES: ${KEEP} 7 | labels: 8 | io.rancher.scheduler.global: "true" 9 | io.rancher.scheduler.affinity:host_label_ne: ${EXCLUDE_LABEL} 10 | privileged: true 11 | tty: true 12 | stdin_open: true 13 | volumes: 14 | - /var/run/docker.sock:/var/run/docker.sock 15 | - /var/lib/docker:/var/lib/docker 16 | -------------------------------------------------------------------------------- /templates/etcd-ha/4/docker-compose.yml: -------------------------------------------------------------------------------- 1 | etcd: 2 | image: rancher/etcd:v2.3.7-6 3 | labels: 4 | io.rancher.scheduler.affinity:container_label_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name} 5 | io.rancher.sidekicks: data 6 | environment: 7 | RANCHER_DEBUG: '${DEBUG}' 8 | volumes_from: 9 | - data 10 | 11 | data: 12 | image: busybox 13 | command: /bin/true 14 | net: none 15 | volumes: 16 | - /data 17 | labels: 18 | io.rancher.container.start_once: 'true' 19 | -------------------------------------------------------------------------------- /kubernetes-templates/redis/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: Redis 3 | version: 2.8.23-rancher1 4 | description: A highly-available in-memory data structure store 5 | questions: 6 | - variable: "REDIS_REPLICAS" 7 | label: "Initial number of Redis nodes" 8 | required: true 9 | type: "int" 10 | default: 3 11 | - variable: "SENTINEL_REPLICAS" 12 | label: "Initial number of Redis Sentinel nodes" 13 | required: true 14 | type: "int" 15 | default: 3 16 | -------------------------------------------------------------------------------- /templates/pxc/0/README.md: -------------------------------------------------------------------------------- 1 | # Percona XtraDB Cluster 2 | 3 | ### Info: 4 | 5 | This template creates a Percona XtraDB Cluster on top of Rancher. 6 | 7 | When deployed from the catalog, a three node cluster is created with a database, root password, database user and password. The cluster is set up for replication between all of the nodes. Health check monitors port 8000 for clustercheck status updates. 8 | 9 | ### Usage: 10 | 11 | Once deployed, use a mysql client to connect: 12 | 13 | `mysql -u -p -h` -------------------------------------------------------------------------------- /kubernetes-templates/guestbook/0/redis-master-controller.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ReplicationController 3 | metadata: 4 | name: ${REDIS_MASTER_NAME} 5 | labels: 6 | name: ${REDIS_MASTER_NAME} 7 | spec: 8 | replicas: 1 9 | selector: 10 | name: ${REDIS_MASTER_NAME} 11 | template: 12 | metadata: 13 | labels: 14 | name: ${REDIS_MASTER_NAME} 15 | spec: 16 | containers: 17 | - name: master 18 | image: redis 19 | ports: 20 | - containerPort: 6379 21 | -------------------------------------------------------------------------------- /templates/datadog/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | datadog-agent: 2 | image: janeczku/dd-agent-rancher:11.0.563 3 | restart: always 4 | environment: 5 | API_KEY: ${api_key} 6 | DOGSTATSD_ONLY: ${statsd_standalone} 7 | STATSD_METRIC_NAMESPACE: ${statsd_namespace} 8 | HOST_LABELS: ${host_labels} 9 | volumes: 10 | - /var/run/docker.sock:/var/run/docker.sock 11 | - /proc/:/host/proc/:ro 12 | - /sys/fs/cgroup/:/host/sys/fs/cgroup:ro 13 | labels: 14 | io.rancher.scheduler.global: ${global_service} 15 | -------------------------------------------------------------------------------- /templates/consul-registrator/1/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "Consul-Registrator" 3 | description: "Consul Agent with Registrator Auto Configuration" 4 | version: "0.6-rancher2" 5 | uuid: consul-registrator-1 6 | questions: 7 | - variable: consul_server 8 | label: "Consul Server Hostname/IP" 9 | type: "string" 10 | required: true 11 | - variable: consul_datacenter 12 | label: "Consul Server Datacenter" 13 | type: "string" 14 | required: true 15 | default: "dc1" 16 | -------------------------------------------------------------------------------- /templates/sysdig/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | sysdig: 2 | container_name: sysdig 3 | privileged: true 4 | stdin_open: true 5 | tty: true 6 | image: sysdig/sysdig:${VERSION} 7 | volumes: 8 | - /var/run/docker.sock:/host/var/run/docker.sock 9 | - /dev:/host/dev 10 | - /proc:/host/proc:ro 11 | - /boot:/host/boot:ro 12 | - /lib/modules:/host/lib/modules:ro 13 | - /usr:/host/usr:ro 14 | labels: 15 | io.rancher.scheduler.global: true 16 | io.rancher.scheduler.affinity:host_label_ne: ${HOST_EXCLUDE_LABEL} -------------------------------------------------------------------------------- /templates/janitor/1/docker-compose.yml: -------------------------------------------------------------------------------- 1 | cleanup: 2 | image: sshipway/docker-cleanup:1.5.2 3 | environment: 4 | CLEAN_PERIOD: ${FREQUENCY} 5 | DELAY_TIME: "900" 6 | KEEP_IMAGES: "${KEEP}" 7 | KEEP_CONTAINERS: "${KEEPC}" 8 | labels: 9 | io.rancher.scheduler.global: "true" 10 | io.rancher.scheduler.affinity:host_label_ne: "${EXCLUDE_LABEL}" 11 | net: none 12 | tty: false 13 | stdin_open: false 14 | volumes: 15 | - /var/run/docker.sock:/var/run/docker.sock 16 | - /var/lib/docker:/var/lib/docker 17 | -------------------------------------------------------------------------------- /templates/rexray/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | rexray: 2 | image: wlan0/sdc2 3 | stdin_open: true 4 | tty: true 5 | privileged: true 6 | net: host 7 | environment: 8 | STACK_NAME: ${SCALEIO_STACK_NAME} 9 | SYSTEM_ID: ${SCALEIO_SYSTEM_ID} 10 | MDM_IP: ${SCALEIO_MDM_IP} 11 | volumes: 12 | - /proc:/host/proc 13 | labels: 14 | io.rancher.container.pull_image: always 15 | io.rancher.container.dns: true 16 | io.rancher.scheduler.affinity:host_label: rexray.scaleio=true 17 | -------------------------------------------------------------------------------- /templates/dnsupdate-rfc2136/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | rfc2136dns: 2 | image: rancher/external-dns:v0.5.0 3 | expose: 4 | - 1000 5 | command: 6 | - -provider 7 | - rfc2136 8 | environment: 9 | RFC2136_HOST: ${RFC2136_HOST} 10 | RFC2136_PORT: ${RFC2136_PORT} 11 | RFC2136_TSIG_KEYNAME: ${RFC2136_TSIG_KEYNAME} 12 | RFC2136_TSIG_SECRET: ${RFC2136_TSIG_SECRET} 13 | ROOT_DOMAIN: ${ROOT_DOMAIN} 14 | TTL: ${TTL} 15 | labels: 16 | io.rancher.container.create_agent: "true" 17 | io.rancher.container.agent.role: "external-dns" 18 | -------------------------------------------------------------------------------- /templates/gitlab/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | gitlab-server: 2 | ports: 3 | - 22:22/tcp 4 | - 80:80/tcp 5 | labels: 6 | io.rancher.sidekicks: gitlab-data 7 | hostname: ${gitlab_hostname} 8 | image: gitlab/gitlab-ce:8.5.1-ce.0 9 | volumes_from: 10 | - gitlab-data 11 | 12 | gitlab-data: 13 | labels: 14 | io.rancher.container.start_once: 'true' 15 | entrypoint: 16 | - /bin/true 17 | hostname: gitdata 18 | image: gitlab/gitlab-ce:8.5.1-ce.0 19 | volumes: 20 | - /etc/gitlab 21 | - /var/log/gitlab 22 | - /var/opt/gitlab 23 | 24 | -------------------------------------------------------------------------------- /templates/kibana/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "Kibana" 3 | version: "4.1.1-rancher1" 4 | description: "Kibana: Explore & Visualize Your Data" 5 | questions: 6 | - variable: "elasticsearch_source" 7 | description: "Link to elasticsearch service or stack/service" 8 | label: "Elasticsearch source" 9 | type: "service" 10 | required: true 11 | default: "es/elasticsearch-clients" 12 | nginx-proxy: 13 | metadata: 14 | nginx: 15 | conf: 16 | servername: "kibana" 17 | upstream_port: 5601 18 | -------------------------------------------------------------------------------- /kubernetes-templates/minecraft/README.md: -------------------------------------------------------------------------------- 1 | # Minecraft 2 | 3 | This will run a standard [Minecraft](https://minecraft.net/) server. 4 | 5 | ## Configuration 6 | 7 | This chart requires no configuration to use. 8 | 9 | ## Scaling 10 | 11 | This server should not be scaled past a single instance. 12 | 13 | If you scale past a single instance you will be load balanced across several 14 | different worlds. You will not be able to select which world you wish to play on. 15 | 16 | ## Minecraft EULA 17 | 18 | By using this chart you implicitly agree to the Minecraft EULA. 19 | -------------------------------------------------------------------------------- /templates/MongoDB/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "MongoDB" 3 | version: "3.0.0-rancher1" 4 | description: "MongoDB Replica Set" 5 | uuid: mongodb-0 6 | minimum_rancher_version: v0.46.0 7 | questions: 8 | - variable: replset_name 9 | description: "Name of the MongoDB replicaSet" 10 | label: "ReplicaSet Name" 11 | type: "string" 12 | required: true 13 | default: "rs0" 14 | mongo-cluster: 15 | scale: 3 16 | retain_ip: true 17 | metadata: 18 | mongo: 19 | yml: 20 | replset.name: "${replset_name}" 21 | -------------------------------------------------------------------------------- /templates/MongoDB/1/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "MongoDB" 3 | version: "3.2-rancher1" 4 | description: "MongoDB Replica Set" 5 | uuid: mongodb-1 6 | minimum_rancher_version: v0.46.0 7 | questions: 8 | - variable: replset_name 9 | description: "Name of the MongoDB replicaSet" 10 | label: "ReplicaSet Name" 11 | type: "string" 12 | required: true 13 | default: "rs0" 14 | mongo-cluster: 15 | scale: 3 16 | retain_ip: true 17 | metadata: 18 | mongo: 19 | yml: 20 | replset.name: "${replset_name}" 21 | -------------------------------------------------------------------------------- /mesos-templates/chronos/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: Chronos 3 | version: v1 4 | description: | 5 | Distributed, fault-tolerant cron 6 | questions: 7 | - variable: CHRONOS_HTTP_PORT 8 | description: Port to expose Chronos on. 9 | label: Chronos Port 10 | required: true 11 | type: int 12 | default: 8080 13 | chronos: 14 | scale: 1 15 | health_check: 16 | port: ${CHRONOS_HTTP_PORT} 17 | interval: 3000 18 | unhealthy_threshold: 2 19 | healthy_threshold: 2 20 | request_line: '/' 21 | response_timeout: 2000 22 | -------------------------------------------------------------------------------- /mesos-templates/kafka/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: Kafka 3 | version: v1 4 | description: | 5 | A high-throughput distributed messaging system 6 | questions: 7 | - variable: SCHEDULER_PORT 8 | description: Port to expose Kafka Scheduler on. 9 | label: Scheduler Port 10 | required: true 11 | type: int 12 | default: 7000 13 | scheduler: 14 | health_check: 15 | port: ${SCHEDULER_PORT} 16 | interval: 3000 17 | unhealthy_threshold: 2 18 | healthy_threshold: 2 19 | request_line: '/health' 20 | response_timeout: 2000 21 | -------------------------------------------------------------------------------- /templates/janitor/2/docker-compose.yml: -------------------------------------------------------------------------------- 1 | cleanup: 2 | image: meltwater/docker-cleanup:1.6.0 3 | environment: 4 | CLEAN_PERIOD: ${FREQUENCY} 5 | DELAY_TIME: "900" 6 | KEEP_IMAGES: "${KEEP}" 7 | KEEP_CONTAINERS: "${KEEPC}" 8 | LOOP: "true" 9 | DEBUG: "0" 10 | labels: 11 | io.rancher.scheduler.global: "true" 12 | io.rancher.scheduler.affinity:host_label_ne: "${EXCLUDE_LABEL}" 13 | net: none 14 | tty: false 15 | stdin_open: false 16 | volumes: 17 | - /var/run/docker.sock:/var/run/docker.sock 18 | - /var/lib/docker:/var/lib/docker 19 | -------------------------------------------------------------------------------- /templates/minecraft/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | Minecraft: 2 | environment: 3 | EULA: ${EULA} 4 | VERSION: ${VERSION} 5 | DIFFICULTY: ${DIFFICULTY} 6 | MODE: ${MODE} 7 | PVP: ${PVP} 8 | WHITELIST: ${WHITELIST} 9 | OPS: ${OPS} 10 | MOTD: ${MOTD} 11 | SEED: ${SEED} 12 | WORLD: ${WORLD} 13 | tty: true 14 | image: itzg/minecraft-server 15 | stdin_open: true 16 | MinecraftLB: 17 | ports: 18 | - ${PORT}:25565/tcp 19 | tty: true 20 | image: rancher/load-balancer-service 21 | links: 22 | - Minecraft:Minecraft 23 | stdin_open: true 24 | 25 | -------------------------------------------------------------------------------- /templates/logspout/1/README.md: -------------------------------------------------------------------------------- 1 | # Add Logspout Stack 2 | 3 | Glider Labs Logspout with Logstash adapter 4 | 5 | ### Info: 6 | 7 | For any services launched from the Rancher UI to use Logspout, please make sure to disable the '-t' [tty] option in the Advanced Options of the service definition. 8 | 9 | ### Community Version 10 | 11 | This version adds the Environment option, where you can specify the name of the Environment. 12 | All Syslogs will then be sent with this as the Source Hostname rather than the hostname of 13 | the Docker Host on which the container is running. 14 | 15 | -------------------------------------------------------------------------------- /kubernetes-templates/rabbitmq/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: RabbitMQ 3 | version: 3.6.0-rancher1 4 | description: A reliable, distributed messaging broker 5 | questions: 6 | - variable: REPLICAS 7 | default: 1 8 | min: 1 9 | max: 1 10 | label: Server Replicas 11 | description: Initial number of server replicas 12 | required: true 13 | type: int 14 | - variable: SERVICE_PORT 15 | default: 5672 16 | label: Service port 17 | description: Port to expose the service on 18 | required: true 19 | type: int 20 | -------------------------------------------------------------------------------- /templates/jenkins-swarm/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | swarm-clients: 2 | image: "rancher/jenkins-swarm:v0.1.0" 3 | user: "${user}" 4 | labels: 5 | io.rancher.scheduler.affinity:host_label_soft: ci=worker 6 | io.rancher.container.hostname_override: container_name 7 | external_links: 8 | - "${jenkins_service}:jenkins-primary" 9 | environment: 10 | JENKINS_PASS: "${jenkins_pass}" 11 | JENKINS_USER: "${jenkins_user}" 12 | SWARM_EXECUTORS: "${swarm_executors}" 13 | volumes: 14 | - '/var/run/docker.sock:/var/run/docker.sock' 15 | - '/usr/bin/docker:/usr/bin/docker' 16 | -------------------------------------------------------------------------------- /templates/nuxeo/0/README.md: -------------------------------------------------------------------------------- 1 | # Nuxeo 2 | 3 | 4 | This templates deploys a Nuxeo server with all its companions (Elasticsearch, Redis and Postgres) to be able to run Nuxeo on top of you Rancher infrastructure 5 | 6 | 7 | # How to use it ? 8 | 9 | Just create and launch the stack. After that, you have to point a load balancer of you infrasctructure to the internal stack load balancer. 10 | 11 | We made this choice, since it allows to start several Nuxeo server instance on the same infrastructure. 12 | 13 | After that you can login with the regular user/password combination Administrator/Administrator. -------------------------------------------------------------------------------- /templates/nuxeo/README.md: -------------------------------------------------------------------------------- 1 | # Nuxeo 2 | 3 | 4 | This templates deploys a Nuxeo server with all its companions (Elasticsearch, Redis and Postgres) to be able to run Nuxeo on top of you Rancher infrastructure 5 | 6 | 7 | # How to use it ? 8 | 9 | Just create and launch the stack. After that, you have to point a load balancer of you infrasctructure to the internal stack load balancer. 10 | 11 | We made this choice, since it allows to start several Nuxeo server instance on the same infrastructure. 12 | 13 | After that you can login with the regular user/password combination Administrator/Administrator. -------------------------------------------------------------------------------- /templates/weavescope/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | weavescope-probe: 2 | image: weaveworks/scope:0.11.1 3 | privileged: true 4 | net: host 5 | pid: host 6 | labels: 7 | io.rancher.scheduler.global: true 8 | io.rancher.container.dns: true 9 | links: 10 | - weavescope-app 11 | volumes: 12 | - "/var/run/docker.sock:/var/run/docker.sock" 13 | tty: true 14 | command: 15 | - "--probe.docker" 16 | - "true" 17 | - "--no-app" 18 | - "weavescope-app" 19 | weavescope-app: 20 | image: weaveworks/scope:0.11.1 21 | ports: 22 | - "4040:4040" 23 | command: 24 | - "--no-probe" 25 | -------------------------------------------------------------------------------- /templates/weavescope/1/docker-compose.yml: -------------------------------------------------------------------------------- 1 | weavescope-probe: 2 | image: weaveworks/scope:0.12.0 3 | privileged: true 4 | net: host 5 | pid: host 6 | labels: 7 | io.rancher.scheduler.global: true 8 | io.rancher.container.dns: true 9 | links: 10 | - weavescope-app 11 | volumes: 12 | - "/var/run/docker.sock:/var/run/docker.sock" 13 | tty: true 14 | command: 15 | - "--probe.docker" 16 | - "true" 17 | - "--no-app" 18 | - "weavescope-app" 19 | weavescope-app: 20 | image: weaveworks/scope:0.12.0 21 | ports: 22 | - "4040:4040" 23 | command: 24 | - "--no-probe" 25 | -------------------------------------------------------------------------------- /templates/etcd-ha/3/docker-compose.yml: -------------------------------------------------------------------------------- 1 | etcd: 2 | image: rancher/etcd:v2.3.6-4 3 | labels: 4 | io.rancher.scheduler.affinity:container_label_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name} 5 | io.rancher.sidekicks: data 6 | environment: 7 | ETCD_DATA_DIR: /data 8 | ETCDCTL_ENDPOINT: http://etcd:2379 9 | RANCHER_DEBUG: '${DEBUG}' 10 | links: 11 | - data 12 | volumes_from: 13 | - data 14 | 15 | data: 16 | image: busybox 17 | command: /bin/true 18 | net: none 19 | volumes: 20 | - /data 21 | labels: 22 | io.rancher.container.start_once: 'true' 23 | -------------------------------------------------------------------------------- /scripts/test: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | cd $(dirname $0)/.. 5 | 6 | trap "rm -rf /scratch/*" exit 7 | 8 | GIT_BRANCH=$(git rev-parse --abbrev-ref HEAD) 9 | 10 | if [ "$GIT_BRANCH" != "master" ]; then 11 | sed -i "s#master#$GIT_BRANCH#" ./scripts/repo.json 12 | fi 13 | 14 | if [ -d "/scratch" ]; then 15 | rsync -a --exclude .tox ./ /scratch 16 | fi 17 | 18 | pushd /scratch/integration 19 | 20 | # Start rancher-catalog-service and wait for it to start. 21 | /usr/bin/rancher-catalog-service -configFile ../scripts/repo.json -refreshInterval 7200 > /dev/null 2>&1 & 22 | sleep 10 23 | tox -e flake8,py27 24 | popd 25 | -------------------------------------------------------------------------------- /swarm-templates/wordpress/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "Wordpress" 3 | version: latest-rancher1 4 | description: "Blog tool, publishing platform and CMS" 5 | minimum_rancher_version: v1.0.0-rc2 6 | questions: 7 | - variable: client_port 8 | description: "Port to access Wordpress" 9 | label: "Client Port" 10 | required: true 11 | default: "80" 12 | type: "int" 13 | - variable: db_password 14 | description: "Password for database" 15 | label: "Password (default: wordpress)" 16 | required: true 17 | default: "wordpress" 18 | type: "password" 19 | -------------------------------------------------------------------------------- /templates/gocd-agent/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | gocd-agent: 2 | labels: 3 | io.rancher.scheduler.affinity:container_label_soft_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name} 4 | io.rancher.container.hostname_override: container_name 5 | gocd.role: agent 6 | tty: true 7 | image: rawmind/rancher-goagent:16.2.1-1 8 | external_links: 9 | - ${goserver_ip}:gocd-server 10 | environment: 11 | - AGENT_MEM=${mem_initial}m 12 | - AGENT_MAX_MEM=${mem_max}m 13 | - GO_SERVER=gocd-server.rancher.internal 14 | - GO_SERVER_PORT=${goserver_port} 15 | volumes: 16 | - /var/run/docker.sock:/var/run/docker.sock 17 | -------------------------------------------------------------------------------- /templates/jenkins-swarm/1/docker-compose.yml: -------------------------------------------------------------------------------- 1 | swarm-clients: 2 | image: "rancher/jenkins-swarm:v0.2.0" 3 | user: "${user}" 4 | labels: 5 | io.rancher.scheduler.affinity:host_label_soft: ci=worker 6 | io.rancher.container.hostname_override: container_name 7 | external_links: 8 | - "${jenkins_service}:jenkins-primary" 9 | environment: 10 | JENKINS_PASS: "${jenkins_pass}" 11 | JENKINS_USER: "${jenkins_user}" 12 | SWARM_EXECUTORS: "${swarm_executors}" 13 | volumes: 14 | - '/var/run/docker.sock:/var/run/docker.sock' 15 | - '/var/jenkins_home/workspace:/var/jenkins_home/workspace' 16 | - '/tmp:/tmp' 17 | -------------------------------------------------------------------------------- /kubernetes-templates/spark/0/zeppelin-controller.yaml: -------------------------------------------------------------------------------- 1 | kind: ReplicationController 2 | apiVersion: v1 3 | metadata: 4 | name: zeppelin-controller 5 | labels: 6 | heritage: helm 7 | provider: spark 8 | spec: 9 | replicas: 1 10 | selector: 11 | component: zeppelin 12 | template: 13 | metadata: 14 | labels: 15 | component: zeppelin 16 | spec: 17 | containers: 18 | - name: zeppelin 19 | image: gcr.io/google_containers/zeppelin:v0.5.5_v2 20 | ports: 21 | - containerPort: 8080 22 | resources: 23 | requests: 24 | cpu: 100m 25 | 26 | -------------------------------------------------------------------------------- /templates/secrets-bridge-server/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | secrets-bridge: 2 | image: rancher/secrets-bridge:v0.0.3 3 | environment: 4 | CATTLE_ACCESS_KEY: ${CATTLE_ACCESS_KEY} 5 | CATTLE_SECRET_KEY: ${CATTLE_SECRET_KEY} 6 | CATTLE_URL: ${CATTLE_URL} 7 | VAULT_TOKEN: ${VAULT_TOKEN} 8 | VAULT_CUBBYPATH: ${VAULT_CUBBYPATH} 9 | command: 10 | - server 11 | - --vault-url 12 | - ${VAULT_URL} 13 | - --rancher-url 14 | - $CATTLE_URL 15 | - --rancher-secret 16 | - ${CATTLE_SECRET_KEY} 17 | - --rancher-access 18 | - ${CATTLE_ACCESS_KEY} 19 | -------------------------------------------------------------------------------- /kubernetes-templates/Prometheus/0/ranch-eye-rc.yml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ReplicationController 3 | metadata: 4 | labels: 5 | io.rancher.scheduler.global: "true" 6 | io.rancher.container.dns: "true" 7 | name: ranch-eye-rc 8 | namespace: default 9 | spec: 10 | replicas: 1 11 | selector: 12 | template: 13 | metadata: 14 | labels: 15 | name: ranch-eye 16 | spec: 17 | restartPolicy: Always 18 | containers: 19 | - image: infracloud/ranch-eye 20 | imagePullPolicy: Always 21 | name: ranch-eye 22 | env: 23 | - name: CADVISOR_HOST_IP 24 | value: "${host_ip}" 25 | 26 | 27 | -------------------------------------------------------------------------------- /templates/adminer/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "PHP Adminer" 3 | version: "v1" 4 | description: "Adminer (formerly phpMinAdmin) is a full-featured database management tool written in PHP. Conversely to phpMyAdmin, it consist of a single file ready to deploy to the target server. Adminer je k dispozici pro MySQL, PostgreSQL, SQLite, MS SQL, Oracle, Firebird, SimpleDB, Elasticsearch a MongoDB." 5 | uuid: php-adminer-1 6 | 7 | adminer: 8 | scale: 1 9 | health_check: 10 | port: 80 11 | interval: 3000 12 | unhealthy_threshold: 2 13 | healthy_threshold: 2 14 | response_timeout: 2000 15 | request_line: 'GET "/" "HTTP/1.0"' 16 | -------------------------------------------------------------------------------- /templates/drone/0/README.md: -------------------------------------------------------------------------------- 1 | # Drone 2 | 3 | ### Info: 4 | 5 | This template creates an instance of Drone CI server 0.4. 6 | 7 | ### Usage: 8 | 9 | Select the Drone template from the catalog. Provide the following information: 10 | 11 | 1. Database driver 12 | 2. Database configuration: this will look like either a path `/var/lib/drone/sqlite3` or a connection string `:@tcp(database:)?parseTime=true` 13 | The name will always be database. 14 | 3. Remote repository store. (Ie. GitHub) 15 | 4. Remote repository store configuration. 16 | 17 | See [Drone documentation](http://readme.drone.io/setup/overview/) for complete information. 18 | -------------------------------------------------------------------------------- /templates/drone/1/README.md: -------------------------------------------------------------------------------- 1 | # Drone 2 | 3 | ### Info: 4 | 5 | This template creates an instance of Drone CI server 0.4. 6 | 7 | ### Usage: 8 | 9 | Select the Drone template from the catalog. Provide the following information: 10 | 11 | 1. Database driver 12 | 2. Database configuration: this will look like either a path `/var/lib/drone/sqlite3` or a connection string `:@tcp(database:)?parseTime=true` 13 | The name will always be database. 14 | 3. Remote repository store. (Ie. GitHub) 15 | 4. Remote repository store configuration. 16 | 17 | See [Drone documentation](http://readme.drone.io/setup/overview/) for complete information. 18 | -------------------------------------------------------------------------------- /templates/sentry/0/README.md: -------------------------------------------------------------------------------- 1 | # Sentry 2 | 3 | 4 | ### Info: 5 | This templates creates a complete [sentry](https://github.com/getsentry/sentry) setup including postgres and redis servers. 6 | 7 | Images are the offical images from: 8 | * Sentry: [https://hub.docker.com/_/sentry/](https://hub.docker.com/_/sentry/) 9 | * Postgres: [https://hub.docker.com/_/postgres/](https://hub.docker.com/_/postgres/) 10 | * Redis: [https://hub.docker.com/_/redis/](https://hub.docker.com/_/redis/) 11 | 12 | ### Usage: 13 | 14 | * Select Sentry from catalog. 15 | 16 | * Required: Enter a sentry secret 17 | 18 | * Optional: Email configuration 19 | 20 | * Click deploy. 21 | -------------------------------------------------------------------------------- /templates/etcd-ha/2/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "Etcd" 3 | version: "2.3.6-rancher1" 4 | description: | 5 | Distributed highly-available key-value store 6 | minimum_rancher_version: "v0.46.0" 7 | questions: 8 | - variable: "REPLICAS" 9 | description: "Number of Etcd nodes. 3, 5, or 7 are good choices" 10 | label: "Number of Nodes:" 11 | required: true 12 | default: 3 13 | type: "int" 14 | etcd: 15 | scale: ${REPLICAS} 16 | health_check: 17 | port: 2379 18 | interval: 7500 19 | unhealthy_threshold: 2 20 | request_line: '/health' 21 | healthy_threshold: 2 22 | response_timeout: 5000 23 | -------------------------------------------------------------------------------- /templates/datadog/README.md: -------------------------------------------------------------------------------- 1 | # DataDog Agent 2 | 3 | This template deploys a [DataDog](https://www.datadoghq.com/) agent stack consisting of the official [docker-dd-agent](https://www.github.com/Datadog/docker-dd-agent) image and a configuration sidekick that provides closer integration with Rancher: 4 | 5 | * Hosts in Datadog are named correctly 6 | * Host labels can be exported as DataDog host tags 7 | * Service labels can be exported as DataDog metric tags 8 | 9 | ## Service Discovery 10 | Please refer to the Datadog documentation [here](http://docs.datadoghq.com/guides/servicediscovery/) to learn how to provide configuration templates for Service Discovery in etcd or Consul. -------------------------------------------------------------------------------- /kubernetes-templates/redis/0/README.md: -------------------------------------------------------------------------------- 1 | # Redis 2 | 3 | Redis is an open source (BSD licensed), in-memory data structure store, used as database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs and geospatial indexes with radius queries. Redis has built-in replication, Lua scripting, LRU eviction, transactions and different levels of on-disk persistence, and provides high availability via Redis Sentinel and automatic partitioning with Redis Cluster. 4 | 5 | This is a high-availability deployment of Redis. The Redis master is used for bootstrapping and may be deleted once the cluster is stable. 6 | -------------------------------------------------------------------------------- /templates/jenkins-ci/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | jenkins-primary: 2 | image: "jenkins:1.642.2" 3 | ports: 4 | - "${PORT}:8080" 5 | labels: 6 | io.rancher.sidekicks: jenkins-plugins,jenkins-datavolume 7 | io.rancher.container.hostname_override: container_name 8 | volumes_from: 9 | - jenkins-plugins 10 | - jenkins-datavolume 11 | entrypoint: /usr/share/jenkins/rancher/jenkins.sh 12 | jenkins-plugins: 13 | image: rancher/jenkins-plugins:v0.1.1 14 | jenkins-datavolume: 15 | image: "busybox" 16 | volumes: 17 | - /var/jenkins_home 18 | labels: 19 | io.rancher.container.start_once: true 20 | entrypoint: ["chown", "-R", "1000:1000", "/var/jenkins_home"] 21 | -------------------------------------------------------------------------------- /kubernetes-templates/redis/0/redis-sentinel-rc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ReplicationController 3 | metadata: 4 | name: redis-sentinel 5 | labels: 6 | heritage: helm 7 | spec: 8 | replicas: ${SENTINEL_REPLICAS} 9 | selector: 10 | redis-sentinel: "true" 11 | template: 12 | metadata: 13 | labels: 14 | name: redis-sentinel 15 | redis-sentinel: "true" 16 | role: sentinel 17 | provider: redis 18 | spec: 19 | containers: 20 | - name: sentinel 21 | image: "deis/redis:v0.0.5" 22 | env: 23 | - name: SENTINEL 24 | value: "true" 25 | ports: 26 | - containerPort: 26379 27 | -------------------------------------------------------------------------------- /templates/sysdig-cloud/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | sysdig-agent: 2 | container_name: sysdig-agent 3 | privileged: true 4 | image: sysdig/agent:${VERSION} 5 | net: "host" 6 | pid: "host" 7 | environment: 8 | ACCESS_KEY: ${SDC_ACCESS_KEY} 9 | TAGS: "${SDC_TAGS}" 10 | ADDITIONAL_CONF: "${SDC_ADDITIONAL_CONF}" 11 | volumes: 12 | - /var/run/docker.sock:/host/var/run/docker.sock 13 | - /dev:/host/dev 14 | - /proc:/host/proc:ro 15 | - /boot:/host/boot:ro 16 | - /lib/modules:/host/lib/modules:ro 17 | - /usr:/host/usr:ro 18 | labels: 19 | io.rancher.scheduler.global: true 20 | io.rancher.scheduler.affinity:host_label_ne: ${HOST_EXCLUDE_LABEL} 21 | -------------------------------------------------------------------------------- /kubernetes-templates/Prometheus/0/influxdb-rc.yml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ReplicationController 3 | metadata: 4 | labels: 5 | name: influxdb-rc 6 | namespace: default 7 | spec: 8 | replicas: 1 9 | 10 | template: 11 | metadata: 12 | labels: 13 | name: influxdb 14 | spec: 15 | restartPolicy: Always 16 | containers: 17 | - image: tutum/influxdb:0.10 18 | imagePullPolicy: Always 19 | name: influxdb 20 | env: 21 | - name: PRE_CREATE_DB 22 | value: grafana;prometheus;rancher 23 | - name: GRAPHITE_DB 24 | value: rancher 25 | - name: GRAPHITE_BINDING 26 | value: :2003 -------------------------------------------------------------------------------- /templates/jenkins-ci/1/docker-compose.yml: -------------------------------------------------------------------------------- 1 | jenkins-primary: 2 | image: "jenkins:1.651.3" 3 | ports: 4 | - "${PORT}:8080" 5 | labels: 6 | io.rancher.sidekicks: jenkins-plugins,jenkins-datavolume 7 | io.rancher.container.hostname_override: container_name 8 | volumes_from: 9 | - jenkins-plugins 10 | - jenkins-datavolume 11 | entrypoint: /usr/share/jenkins/rancher/jenkins.sh 12 | jenkins-plugins: 13 | image: rancher/jenkins-plugins:v0.1.1 14 | jenkins-datavolume: 15 | image: "busybox" 16 | volumes: 17 | - ${volume_work}:/var/jenkins_home 18 | labels: 19 | io.rancher.container.start_once: true 20 | entrypoint: ["chown", "-R", "1000:1000", "/var/jenkins_home"] 21 | -------------------------------------------------------------------------------- /templates/letsencrypt/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | letsencrypt: 2 | image: janeczku/rancher-letsencrypt:v0.2.5 3 | environment: 4 | EULA: ${EULA} 5 | API_VERSION: ${API_VERSION} 6 | EMAIL: ${EMAIL} 7 | DOMAINS: ${DOMAINS} 8 | PUBLIC_KEY_TYPE: ${PUBLIC_KEY_TYPE} 9 | RENEWAL_TIME: ${RENEWAL_TIME} 10 | PROVIDER: ${PROVIDER} 11 | CLOUDFLARE_EMAIL: ${CLOUDFLARE_EMAIL} 12 | CLOUDFLARE_KEY: ${CLOUDFLARE_KEY} 13 | DO_ACCESS_TOKEN: ${DO_ACCESS_TOKEN} 14 | AWS_ACCESS_KEY: ${AWS_ACCESS_KEY} 15 | AWS_SECRET_KEY: ${AWS_SECRET_KEY} 16 | DEBUG: false 17 | labels: 18 | io.rancher.container.create_agent: 'true' 19 | io.rancher.container.agent.role: 'environment' 20 | -------------------------------------------------------------------------------- /templates/xpilot/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | server: 2 | environment: 3 | PASSWORD: ${PASSWORD} 4 | log_driver: '' 5 | command: 6 | - -server 7 | log_opt: {} 8 | tty: false 9 | stdin_open: false 10 | image: sshipway/xpilot:latest 11 | labels: 12 | xpilot: server 13 | client: 14 | environment: 15 | DISPLAY: ${DISPLAY} 16 | NAME: ${NAME} 17 | SERVER: xpilot 18 | log_driver: '' 19 | command: 20 | - xpilot 21 | log_opt: {} 22 | image: sshipway/xpilot:latest 23 | links: 24 | - server:xpilot 25 | tty: false 26 | stdin_open: false 27 | labels: 28 | io.rancher.scheduler.affinity:container_label_soft: xpilot=server 29 | io.rancher.container.start_once: 'true' 30 | -------------------------------------------------------------------------------- /swarm-templates/zookeeper/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: Zookeeper 3 | version: 3.4.8-rancher1 4 | description: | 5 | ZooKeeper is a centralized service for maintaining configuration information, 6 | naming, providing distributed synchronization, and providing group services. 7 | questions: 8 | - variable: HEAP_SIZE 9 | label: JVM Heap Size 10 | description: Amount of memory allocated to the java heap 11 | required: true 12 | type: string 13 | default: 512m 14 | zookeeper: 15 | health_check: 16 | port: 2181 17 | interval: 5000 18 | unhealthy_threshold: 3 19 | request_line: '' 20 | healthy_threshold: 2 21 | response_timeout: 5000 22 | -------------------------------------------------------------------------------- /templates/convoy-efs/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | convoy-efs: 2 | labels: 3 | io.rancher.container.create_agent: 'true' 4 | io.rancher.scheduler.global: 'true' 5 | privileged: true 6 | pid: host 7 | volumes: 8 | - /lib/modules:/lib/modules:ro 9 | - /proc:/host/proc 10 | - /var/run:/host/var/run 11 | - /run:/host/run 12 | - /etc/docker/plugins:/etc/docker/plugins 13 | image: rancher/convoy-agent:v0.10.0 14 | command: volume-agent-efs 15 | 16 | convoy-efs-storagepool: 17 | labels: 18 | io.rancher.container.create_agent: 'true' 19 | image: rancher/convoy-agent:v0.10.0 20 | volumes: 21 | - /var/run:/host/var/run 22 | - /run:/host/run 23 | command: storagepool-agent 24 | -------------------------------------------------------------------------------- /kubernetes-templates/spark/0/spark-worker-controller.yaml: -------------------------------------------------------------------------------- 1 | kind: ReplicationController 2 | apiVersion: v1 3 | metadata: 4 | name: spark-worker-controller 5 | labels: 6 | heritage: helm 7 | provider: spark 8 | spec: 9 | replicas: ${SPARK_WORKER_REPLICAS} 10 | selector: 11 | component: spark-worker 12 | template: 13 | metadata: 14 | labels: 15 | component: spark-worker 16 | spec: 17 | containers: 18 | - name: spark-worker 19 | image: gcr.io/google_containers/spark:1.5.1_v3 20 | command: ["/start-worker"] 21 | ports: 22 | - containerPort: 8081 23 | resources: 24 | requests: 25 | cpu: 100m 26 | 27 | -------------------------------------------------------------------------------- /templates/sematext/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | sematext-agent: 2 | image: 'sematext/sematext-agent-docker:${image_version}' 3 | environment: 4 | - LOGSENE_TOKEN=${logsene_token} 5 | - SPM_TOKEN=${spm_token} 6 | - GEOIP_ENABLED=${geoip_enabled} 7 | - HTTPS_PROXY=${https_proxy} 8 | - HTTP_PROXY=${http_proxy} 9 | - MATCH_BY_IMAGE=${match_by_image} 10 | - MATCH_BY_NAME=${match_by_name} 11 | - SKIP_BY_IMAGE=${match_by_image} 12 | - SKIP_BY_NAME=${match_by_name} 13 | - LOGAGENT_PATTERNS=${logagent_patterns} 14 | - KUBERNETES=${kubernetes} 15 | restart: always 16 | volumes: 17 | - /var/run/docker.sock:/var/run/docker.sock 18 | labels: 19 | io.rancher.scheduler.global: 'true' 20 | -------------------------------------------------------------------------------- /kubernetes-templates/spark/0/spark-master-controller.yaml: -------------------------------------------------------------------------------- 1 | kind: ReplicationController 2 | apiVersion: v1 3 | metadata: 4 | name: spark-master-controller 5 | labels: 6 | heritage: helm 7 | provider: spark 8 | spec: 9 | replicas: 1 10 | selector: 11 | component: spark-master 12 | template: 13 | metadata: 14 | labels: 15 | component: spark-master 16 | spec: 17 | containers: 18 | - name: spark-master 19 | image: gcr.io/google_containers/spark:1.5.1_v3 20 | command: ["/start-master"] 21 | ports: 22 | - containerPort: 7077 23 | - containerPort: 8080 24 | resources: 25 | requests: 26 | cpu: 100m 27 | 28 | -------------------------------------------------------------------------------- /kubernetes-templates/redis/0/redis-rc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ReplicationController 3 | metadata: 4 | name: redis 5 | labels: 6 | heritage: helm 7 | spec: 8 | replicas: ${REDIS_REPLICAS} 9 | selector: 10 | name: redis 11 | template: 12 | metadata: 13 | labels: 14 | app: redis-cluster 15 | name: redis 16 | spec: 17 | containers: 18 | - name: redis 19 | image: "deis/redis:v0.0.5" 20 | ports: 21 | - containerPort: 6379 22 | resources: 23 | limits: 24 | cpu: "0.1" 25 | volumeMounts: 26 | - mountPath: /redis-master-data 27 | name: data 28 | volumes: 29 | - name: data 30 | emptyDir: {} 31 | -------------------------------------------------------------------------------- /templates/zookeeper/0/README.md: -------------------------------------------------------------------------------- 1 | # Apache Zookeeper (Experimental) 2 | 3 | 4 | ### Info: 5 | 6 | This template creates, scale in and scale out a multinodes zk (zookeeper) cluster on top of Rancher. The configuration is generated with confd from Rancher metadata. 7 | Cluster size are variable after deployment, and get reconfigured if refresh interval > 0. 8 | 9 | 10 | ### Usage: 11 | 12 | Select Apache Zookeeper from catalog. 13 | 14 | Enter the number of nodes, mem and refresh interval for the zk cluster. (set refresh data to 0 to disable dinamic config) 15 | 16 | Note: When you scale the cluster, zero downtime is not guaranteed..yet.. 17 | 18 | Click deploy. 19 | 20 | Zookeeper can now be accessed over the Rancher network. 21 | 22 | -------------------------------------------------------------------------------- /mesos-templates/elasticsearch/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: Elasticsearch 3 | version: v1 4 | description: | 5 | You know, for search 6 | questions: 7 | - variable: SCHEDULER_PORT 8 | description: Port to expose scheduler on. 9 | label: Scheduler Port 10 | required: true 11 | type: int 12 | default: 31100 13 | - variable: NODE_COUNT 14 | description: Number of Elasticsearch instances to run. 15 | label: Node Count 16 | required: true 17 | type: int 18 | default: 3 19 | scheduler: 20 | scale: 1 21 | health_check: 22 | port: ${SCHEDULER_PORT} 23 | interval: 3000 24 | unhealthy_threshold: 2 25 | healthy_threshold: 2 26 | request_line: '/' 27 | response_timeout: 2000 28 | -------------------------------------------------------------------------------- /mesos-templates/zookeeper/0/README.md: -------------------------------------------------------------------------------- 1 | # Apache Zookeeper (Experimental) 2 | 3 | 4 | ### Info: 5 | 6 | This template creates, scale in and scale out a multinodes zk (zookeeper) cluster on top of Rancher. The configuration is generated with confd from Rancher metadata. 7 | Cluster size are variable after deployment, and get reconfigured if refresh interval > 0. 8 | 9 | 10 | ### Usage: 11 | 12 | Select Apache Zookeeper from catalog. 13 | 14 | Enter the number of nodes, mem and refresh interval for the zk cluster. (set refresh data to 0 to disable dinamic config) 15 | 16 | Note: When you scale the cluster, zero downtime is not guaranteed..yet.. 17 | 18 | Click deploy. 19 | 20 | Zookeeper can now be accessed over the Rancher network. 21 | 22 | -------------------------------------------------------------------------------- /templates/asciinema-org/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "asciinema-org" 3 | version: "0.1-rancher1" 4 | description: "Asciinema is a free and open source solution for recording terminal sessions and sharing them on the web." 5 | minimum_rancher_version: v0.46.0 6 | questions: 7 | - variable: "postgres_password" 8 | label: "POSTGRES PASSWORD" 9 | description: "Your Postgres Password" 10 | required: true 11 | type: "string" 12 | - variable: "host" 13 | label: "Host" 14 | description: "Your Server Host" 15 | required: true 16 | type: "string" 17 | - variable: "port" 18 | label: "Port" 19 | description: "Your Server Port" 20 | required: true 21 | type: "int" 22 | -------------------------------------------------------------------------------- /templates/kibana/1/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "Kibana" 3 | version: "4.4.2-rancher1" 4 | description: "Kibana: Explore & Visualize Your Data" 5 | questions: 6 | - variable: "elasticsearch_source" 7 | description: "Link to elasticsearch service or stack/service" 8 | label: "Elasticsearch source" 9 | type: "service" 10 | required: true 11 | default: "es/elasticsearch-clients" 12 | - variable: "public_port" 13 | label: "Public Port" 14 | description: "Unique public port for Kibana" 15 | type: "int" 16 | default: 80 17 | required: true 18 | 19 | nginx-proxy: 20 | metadata: 21 | nginx: 22 | conf: 23 | servername: "kibana" 24 | upstream_port: 5601 25 | -------------------------------------------------------------------------------- /templates/xpilot/README.md: -------------------------------------------------------------------------------- 1 | # XPilots 2 | 3 | This creates an X-Windows base X-Pilots game, for testing X-Windows connectivity. To use this, you will need to have X-Windows installed on your workstation, and able to accept incoming connections from the Docker Hosts. 4 | 5 | For the client, you need to specify the location of your X-Windows desktop, for example 1.2.3.4:0 6 | 7 | You can add more players by just cloning the first player service, and giving it different DISPLAY and NAME environment variable settings. 8 | 9 | Note that there are NO publicly exposed ports as it runs purely over the Rancher 10 | private network! If you want to make this available to external players, you 11 | need to expose the port 15345/udp from the Server container. 12 | 13 | -------------------------------------------------------------------------------- /templates/kafka/0/README.md: -------------------------------------------------------------------------------- 1 | # Apache Kafka (Experimental) 2 | 3 | 4 | ### Info: 5 | 6 | This template creates, scale in and scale out a multinodes broker (kafka) cluster on top of Rancher. The configuration is generated with confd from Rancher metadata. 7 | Cluster size are variable after deployment, and get reconfigured if refresh interval > 0. 8 | 9 | 10 | ### Usage: 11 | 12 | Select Apache Kafka from catalog. 13 | 14 | Enter the number of nodes, mem, refresh interval broker cluster and zookeeper service to connect. (set refresh data to 0 to disable dinamic config) 15 | 16 | Note: When you scale the cluster, zero downtime is not guaranteed..yet.. 17 | 18 | Click deploy. 19 | 20 | Kafka can now be accessed over the Rancher network. 21 | 22 | -------------------------------------------------------------------------------- /templates/rexray/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "REX-Ray" 3 | version: "v0.3.2" 4 | description: "REX-Ray persistent storage" 5 | questions: 6 | - variable: "SCALEIO_SYSTEM_ID" 7 | label: "ScaleIO System ID" 8 | description: "ScaleIO System ID" 9 | type: "string" 10 | required: true 11 | - variable: "SCALEIO_STACK_NAME" 12 | label: "ScaleIO Stack Name" 13 | description: "The name of the stack that is running ScaleIO" 14 | type: "string" 15 | required: true 16 | - variable: "SCALEIO_MDM_IP" 17 | label: "ScaleIO Primary MDM IP address" 18 | description: "The managed network IP addr of the primary mdm that is running ScaleIO" 19 | type: "string" 20 | required: true 21 | -------------------------------------------------------------------------------- /kubernetes-templates/minecraft/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: Minecraft 3 | version: 1.0.0-rancher1 4 | description: | 5 | Minecraft is a moderately popular game involving the collection, moving and 6 | re-assembling of raw materials. It may be an elaborate parody of the 7 | Australian economy. 8 | maintainer: "Rancher" 9 | questions: 10 | - variable: REPLICAS 11 | default: 1 12 | min: 1 13 | max: 1 14 | label: Server Replicas 15 | description: Initial number of server replicas 16 | required: true 17 | type: int 18 | - variable: LB_PORT 19 | default: 25565 20 | label: Server Port 21 | description: Port to expose the load balancer on 22 | required: true 23 | type: int 24 | -------------------------------------------------------------------------------- /templates/gocd-server/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | gocd-server: 2 | labels: 3 | gocd.role: server 4 | tty: true 5 | image: rawmind/rancher-goserver:16.2.1-3 6 | volumes_from: 7 | - gocd-volume 8 | environment: 9 | - SERVER_MEM=${mem_initial}m 10 | - SERVER_MAX_MEM=${mem_max}m 11 | ports: 12 | - ${public_port}:8153 13 | - ${ssh_port}:8154 14 | labels: 15 | io.rancher.container.hostname_override: container_name 16 | io.rancher.sidekicks: gocd-volume 17 | gocd-volume: 18 | net: none 19 | labels: 20 | io.rancher.container.hostname_override: container_name 21 | io.rancher.container.start_once: true 22 | volumes: 23 | - ${volume_work}:/opt/go-server/work 24 | volume_driver: ${volume_driver} 25 | entrypoint: /bin/true 26 | image: busybox 27 | -------------------------------------------------------------------------------- /templates/liferay/0/README.md: -------------------------------------------------------------------------------- 1 | # Liferay Portal Community Edition 6.2 2 | 3 | Installs Liferay Portal, an open source enterprise portal. Uses MySQL as database. 4 | 5 | ### First Start 6 | 7 | Use the following credentials to log in as the default administrative user: 8 | * user name: **test@liferay.com** 9 | * password: **test** 10 | 11 | If you choose to run the Setup Wizard at first start, you can create a different 12 | administrative user. 13 | 14 | ### Watch the Logs 15 | 16 | Open a terminal via `Execute Shell` on the Liferay container, then use `tail` 17 | on the log files in `/opt/liferay/tomcat/logs` and `/opt/liferay/logs`, e.g. 18 | 19 | ```bash 20 | tail -f /opt/liferay/tomcat/logs/catalina.2016-04-13.log 21 | tail -f /opt/liferay/logs/liferay.2016-04-13.log 22 | ``` -------------------------------------------------------------------------------- /kubernetes-templates/minecraft/0/minecraft.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: v1 3 | kind: ReplicationController 4 | metadata: 5 | name: minecraft-controller 6 | labels: 7 | heritage: helm 8 | spec: 9 | replicas: ${REPLICAS} 10 | selector: 11 | app: minecraft 12 | template: 13 | metadata: 14 | labels: 15 | heritage: helm 16 | app: minecraft 17 | spec: 18 | containers: 19 | - name: minecraft 20 | image: "itzg/minecraft-server:latest" 21 | ports: 22 | - containerPort: 25565 23 | env: 24 | - name: EULA 25 | value: "TRUE" 26 | volumeMounts: 27 | - mountPath: /data 28 | name: minecraft-data 29 | volumes: 30 | - name: minecraft-data 31 | emptyDir: {} 32 | -------------------------------------------------------------------------------- /templates/minecraft/README.md: -------------------------------------------------------------------------------- 1 | # Minecraft 2 | 3 | ### Topology 4 | 5 | This will start up several Minecraft servers of the specified type. If no 6 | world seed is specified, then a random one will be used. A Load Balancer 7 | will be created over the top so that they can be accessed. 8 | 9 | The servers use ephemeral disk and so will not be persistent. You can also 10 | specify a URL from which to download an ZIP archive of a world save, which 11 | will be used in all containers. 12 | 13 | ### Options 14 | 15 | You **must** accept the [EULA](https://account.mojang.com/documents/minecraft_eula) by selecting **TRUE** in the dropdown. 16 | 17 | You should specify a unique port number for the load balancers to listen on. 18 | 19 | The other options for the server may be left as their defaults. 20 | -------------------------------------------------------------------------------- /kubernetes-templates/ghost/0/ghost.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Pod 3 | metadata: 4 | name: ghost 5 | labels: 6 | name: ghost 7 | app: ghost 8 | spec: 9 | restartPolicy: Always 10 | containers: 11 | - image: "husseingalal/ghost" 12 | name: "ghost" 13 | ports: 14 | - containerPort: 2368 15 | name: ghost 16 | env: 17 | - name: GHOST_USER 18 | value: ${ghost_db_user} 19 | - name: GHOST_PASSWORD 20 | value: ${ghost_db_pass} 21 | - name: GHOST_DB 22 | value: ${ghost_db} 23 | - name: GHOST_URL 24 | value: ${ghost_url} 25 | volumeMounts: 26 | - name: "ghost-ephemeral-storage" 27 | mountPath: /var/lib/ghost 28 | volumes: 29 | - name: "ghost-ephemeral-storage" 30 | emptyDir: {} 31 | -------------------------------------------------------------------------------- /templates/asciinema-org/catalogIcon-asciinema-org.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /templates/gitlab/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: Gitlab Community 3 | version: 8.5.1-0 4 | description: | 5 | Gitlab CE is a free GitHub alternative 6 | minimum_rancher_version: v0.56.0 7 | maintainer: "Alexis Ducastel " 8 | uuid: gitlab-0 9 | questions: 10 | - variable: "gitlab_hostname" 11 | description: "Gitlab hostname" 12 | label: "Hostname:" 13 | required: true 14 | default: "git.example.com" 15 | type: "string" 16 | 17 | gitlab-server: 18 | scale: 1 19 | retain_ip: true 20 | health_check: 21 | port: 80 22 | interval: 30000 23 | unhealthy_threshold: 3 24 | strategy: recreate 25 | response_timeout: 2000 26 | healthy_threshold: 2 27 | 28 | gitlab-data: 29 | scale: 1 30 | retain_ip: true 31 | 32 | -------------------------------------------------------------------------------- /swarm-templates/zookeeper/0/README.md: -------------------------------------------------------------------------------- 1 | # Zookeeper 2 | 3 | ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. Visit the [Official Site](https://zookeeper.apache.org/). 4 | 5 | ### Usage 6 | 7 | This is a standalone Zookeeper deployment suitable for development and testing purposes. As such, there is not much to configure. 8 | 9 | Once deployed, you may inspect Zookeeper information with the `zk-cli` command. If deployment was successful, you'll see something similar to this: 10 | 11 | ``` 12 | $ zk-cli 13 | Connecting to localhost:2181 14 | Welcome to ZooKeeper! 15 | JLine support is enabled 16 | 17 | WATCHER:: 18 | 19 | WatchedEvent state:SyncConnected type:None path:null 20 | [zk: localhost:2181(CONNECTED) 0] 21 | ``` -------------------------------------------------------------------------------- /templates/fbctf/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | fbctf: 2 | image: 'qazbnm456/dockerized_fbctf:multi_containers' 3 | links: 4 | - mysql 5 | - memcached 6 | restart: always 7 | ports: 8 | - ${http_port}:80 9 | - ${https_port}:443 10 | environment: 11 | MYSQL_HOST: mysql 12 | MYSQL_PORT: 3306 13 | MYSQL_DATABASE: ${mysql_database} 14 | MYSQL_USER: ${mysql_user} 15 | MYSQL_PASSWORD: ${mysql_password} 16 | MEMCACHED_PORT: 11211 17 | SSL_SELF_SIGNED: ${ssl} 18 | 19 | mysql: 20 | image: 'mysql:5.5' 21 | restart: always 22 | environment: 23 | MYSQL_ROOT_PASSWORD: root 24 | MYSQL_USER: ${mysql_user} 25 | MYSQL_PASSWORD: ${mysql_password} 26 | container_name: mysql 27 | 28 | memcached: 29 | image: 'memcached:latest' 30 | restart: always 31 | container_name: memcached 32 | -------------------------------------------------------------------------------- /templates/etcd-ha/4/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | version: 2.3.7 3 | minimum_rancher_version: v1.1.1 4 | questions: 5 | - variable: SCALE 6 | description: Desired cluster size. 3, 5, or 7 are good choices. You will need this many hosts to reach your desired scale. 7 | label: Number of Nodes 8 | required: true 9 | default: 3 10 | type: int 11 | - variable: DEBUG 12 | description: Enable or disable verbose logging 13 | label: Debug 14 | required: true 15 | default: true 16 | type: boolean 17 | etcd: 18 | retain_ip: true 19 | scale_policy: 20 | min: 1 21 | max: ${SCALE} 22 | increment: 1 23 | health_check: 24 | port: 2378 25 | request_line: /health 26 | interval: 5000 27 | response_timeout: 3000 28 | unhealthy_threshold: 2 29 | healthy_threshold: 2 30 | -------------------------------------------------------------------------------- /templates/etcd-ha/3/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | version: 2.3.6-rancher4 3 | minimum_rancher_version: v1.1.1 4 | questions: 5 | - variable: SCALE 6 | description: Desired cluster size. 3, 5, or 7 are good choices. You will need this many hosts to reach your desired scale. 7 | label: Number of Nodes 8 | required: true 9 | default: 3 10 | type: int 11 | - variable: DEBUG 12 | description: Enable or disable verbose logging and other debugging features 13 | label: Debug 14 | required: true 15 | default: true 16 | type: boolean 17 | etcd: 18 | retain_ip: true 19 | scale_policy: 20 | min: 1 21 | max: ${SCALE} 22 | increment: 1 23 | health_check: 24 | port: 2379 25 | interval: 5000 26 | response_timeout: 3000 27 | unhealthy_threshold: 2 28 | healthy_threshold: 2 29 | -------------------------------------------------------------------------------- /templates/ecr/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "ECR Credential Updater" 3 | version: "v1.0.0" 4 | description: "Updates credentials for ECR in Rancher" 5 | uuid: ecr-1 6 | questions: 7 | - variable: "aws_access_key_id" 8 | label: "AWS Access Key ID" 9 | description: "AWS API Access Key to use for obtaining ECR credentials" 10 | required: true 11 | type: "string" 12 | - variable: "aws_secret_access_key" 13 | label: "AWS Secret Access Key" 14 | description: "AWS API Secret Key to use for obtaining ECR credentials" 15 | required: true 16 | type: "string" 17 | - variable: "aws_region" 18 | label: "AWS Region" 19 | description: "AWS Region that hosts the ECR" 20 | default: us-east-1 21 | required: true 22 | type: "string" 23 | ecr-updater: 24 | scale: 1 25 | -------------------------------------------------------------------------------- /templates/ecr/1/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "ECR Credential Updater" 3 | version: "v1.0.1" 4 | description: "Updates credentials for ECR in Rancher" 5 | uuid: ecr-2 6 | questions: 7 | - variable: "aws_access_key_id" 8 | label: "AWS Access Key ID" 9 | description: "AWS API Access Key to use for obtaining ECR credentials" 10 | required: true 11 | type: "string" 12 | - variable: "aws_secret_access_key" 13 | label: "AWS Secret Access Key" 14 | description: "AWS API Secret Key to use for obtaining ECR credentials" 15 | required: true 16 | type: "string" 17 | - variable: "aws_region" 18 | label: "AWS Region" 19 | description: "AWS Region that hosts the ECR" 20 | default: us-east-1 21 | required: true 22 | type: "string" 23 | ecr-updater: 24 | scale: 1 25 | -------------------------------------------------------------------------------- /templates/droneworkers/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | drone-agent: 2 | labels: 3 | io.rancher.scheduler.global: 'true' 4 | tty: true 5 | image: rancher/socat-docker 6 | volumes: 7 | - /var/run/docker.sock:/var/run/docker.sock 8 | - /var/lib/docker:/var/lib/docker 9 | stdin_open: true 10 | dynamic-drones-mgr-0: 11 | environment: 12 | DRONE_TOKEN: ${DRONE_TOKEN} 13 | DRONE_URL: http://droneserver:8000 14 | external_links: 15 | - ${DRONE_SERVICE}:droneserver 16 | labels: 17 | io.rancher.container.pull_image: always 18 | io.rancher.scheduler.affinity:container_label_soft_ne: io.rancher.stack_service.name=$${stack_name}/drone-agent 19 | tty: true 20 | entrypoint: 21 | - /dynamic-drone-nodes 22 | - /stacks/${STACK_NAME}/services/drone-agent 23 | image: rancher/drone-config:v0.1.0 24 | stdin_open: true 25 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Rancher Community Catalog 2 | 3 | This catalog provides templates created by the community, and they are not maintained or supported by Rancher Labs. 4 | 5 | # License 6 | Copyright (c) 2014-2016 [Rancher Labs, Inc.](http://rancher.com) 7 | 8 | Licensed under the Apache License, Version 2.0 (the "License"); 9 | you may not use this file except in compliance with the License. 10 | You may obtain a copy of the License at 11 | 12 | [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0) 13 | 14 | Unless required by applicable law or agreed to in writing, software 15 | distributed under the License is distributed on an "AS IS" BASIS, 16 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 | See the License for the specific language governing permissions and 18 | limitations under the License. 19 | -------------------------------------------------------------------------------- /kubernetes-templates/MongoDB/0/mongo-controller.yaml: -------------------------------------------------------------------------------- 1 | kind: ReplicationController 2 | apiVersion: v1 3 | metadata: 4 | name: mongo-rc 5 | spec: 6 | replicas: ${sec_no} 7 | selector: 8 | name: mongo-sec 9 | template: 10 | spec: 11 | containers: 12 | - name: mongo-sec 13 | image: husseingalal/mongo-k8s 14 | ports: 15 | - containerPort: 27017 16 | volumeMounts: 17 | - name: mongo-ephermal-storage 18 | mountPath: /data/db 19 | command: 20 | - /run.sh 21 | - mongod 22 | - "--replSet" 23 | - rs0 24 | - "--smallfiles" 25 | - "--noprealloc" 26 | volumes: 27 | - name: mongo-ephermal-storage 28 | emptyDir: {} 29 | metadata: 30 | labels: 31 | secondary: "true" 32 | name: mongo-sec 33 | -------------------------------------------------------------------------------- /kubernetes-templates/Prometheus/0/prometheus-rc.yml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ReplicationController 3 | metadata: 4 | name: prometheus-rc 5 | namespace: default 6 | spec: 7 | replicas: 1 8 | selector: 9 | template: 10 | metadata: 11 | labels: 12 | name: prometheus 13 | spec: 14 | restartPolicy: Always 15 | containers: 16 | - image: infracloud/prometheus 17 | command: 18 | - /bin/prometheus 19 | - -alertmanager.url=http://alertmanager:9093 20 | - -config.file=/etc/prometheus/prometheus.yml 21 | - -storage.local.path=/prometheus -web.console.libraries=/etc/prometheus/console_libraries 22 | - -web.console.templates=/etc/prometheus/consoles 23 | imagePullPolicy: Always 24 | name: prometheus 25 | ports: 26 | - containerPort: 9090 27 | -------------------------------------------------------------------------------- /templates/rancher-bench-security/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "rancher-bench-security" 3 | version: "1.11.0" 4 | minimum_rancher_version: "v0.46.0" 5 | questions: 6 | # Traefik parameters 7 | - variable: "TRAEFIK_DOMAIN" 8 | description: "Domain name to route rule. Ignore if you do not use traefik proxy" 9 | label: "Traefik domain:" 10 | required: true 11 | default: "ml.innotechapp.com" 12 | type: string 13 | # Service parameters 14 | - variable: "INTERVAL" 15 | description: "Interval to repeat all the tests" 16 | label: "Refresh Interval:" 17 | required: true 18 | default: 600 19 | type: int 20 | 21 | web-server: 22 | health_check: 23 | port: 80 24 | interval: 2000 25 | unhealthy_threshold: 3 26 | healthy_threshold: 1 27 | response_timeout: 2000 28 | -------------------------------------------------------------------------------- /kubernetes-templates/wordpress/0/wordpress.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | name: wpfrontend 6 | name: wpfrontend 7 | spec: 8 | ports: 9 | - port: ${SERVICE_PORT} 10 | selector: 11 | name: wordpress 12 | type: LoadBalancer 13 | --- 14 | apiVersion: v1 15 | kind: Pod 16 | metadata: 17 | name: wordpress 18 | labels: 19 | name: wordpress 20 | spec: 21 | containers: 22 | - image: wordpress 23 | name: wordpress 24 | env: 25 | - name: WORDPRESS_DB_PASSWORD 26 | value: ${WP_PASSWORD} 27 | ports: 28 | - containerPort: ${SERVICE_PORT} 29 | name: wordpress 30 | volumeMounts: 31 | - name: wordpress-ephemeral-storage 32 | mountPath: /var/www/html 33 | volumes: 34 | - name: wordpress-ephemeral-storage 35 | emptyDir: {} 36 | -------------------------------------------------------------------------------- /kubernetes-templates/Prometheus/0/prometheus-rancher-exporter-rc.yml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ReplicationController 3 | metadata: 4 | name: prometheus-rancher-exporter-rc 5 | namespace: default 6 | spec: 7 | replicas: 1 8 | selector: 9 | template: 10 | metadata: 11 | labels: 12 | name: prometheus-rancher-exporter 13 | spec: 14 | restartPolicy: Always 15 | containers: 16 | - image: infinityworks/prometheus-rancher-exporter:04 17 | imagePullPolicy: Always 18 | name: prometheus-rancher-exporter 19 | ports: 20 | - containerPort: 9010 21 | env: 22 | - name: CATTLE_ACCESS_KEY 23 | value: "${cattle_access_key}" 24 | - name: CATTLE_SECRET_KEY 25 | value: "${cattle_secret_key}" 26 | - name: CATTLE_CONFIG_URL 27 | value: "${cattle_config_url}" 28 | -------------------------------------------------------------------------------- /templates/Concrete5/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | CMSMysql: 2 | environment: 3 | MYSQL_ROOT_PASSWORD: ${root_password} 4 | MYSQL_DATABASE: ${db_name} 5 | MYSQL_USER: ${db_userame} 6 | MYSQL_PASSWORD: ${db_password} 7 | labels: 8 | io.rancher.container.pull_image: always 9 | tty: true 10 | image: mysql 11 | volumes: 12 | - ${db_data_location}:/var/lib/mysql 13 | stdin_open: true 14 | volume_driver: ${volume_driver} 15 | 16 | Concrete5App: 17 | labels: 18 | io.rancher.container.pull_image: always 19 | tty: true 20 | image: opensaas/concrete5 21 | links: 22 | - CMSMysql:mysql 23 | volumes: 24 | - ${cms_application_data}:/var/www/html/application 25 | - ${cms_packages_data}:/var/www/html/packages 26 | stdin_open: true 27 | volume_driver: ${volume_driver} -------------------------------------------------------------------------------- /templates/sysdig/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "Sysdig" 3 | version: "v0" 4 | description: "Container-Native System Visibility and Troubleshooting" 5 | questions: 6 | - variable: "VERSION" 7 | label: "Sysdig version" 8 | description: "Specify a version of the sysdig container to pull (default will pull latest stable version)." 9 | type: "string" 10 | default: "latest" 11 | required: true 12 | - variable: "HOST_EXCLUDE_LABEL" 13 | label: "Host exclude label" 14 | description: "Specify a host label here that can be used to exclude deployment of the sysdig container on any given host. Eg: sysdig.exclude_sysdig=true (you could then add the label 'sysdig.exclude_sysdig=true' to any host to exclude sysdig from that host)." 15 | type: "string" 16 | default: "sysdig.exclude_sysdig=true" 17 | required: true 18 | -------------------------------------------------------------------------------- /templates/rabbitmq-3/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | rabbitmq: 2 | image: rdaneel/rabbitmq-conf:0.1.0 3 | labels: 4 | io.rancher.container.hostname_override: container_name 5 | io.rancher.sidekicks: rabbitmq-base,rabbitmq-datavolume 6 | volumes_from: 7 | - rabbitmq-datavolume 8 | rabbitmq-datavolume: 9 | labels: 10 | io.rancher.container.hostname_override: container_name 11 | io.rancher.container.start_once: true 12 | volumes: 13 | - /etc/rabbitmq 14 | - /opt/rancher/bin 15 | entrypoint: /bin/true 16 | image: rabbitmq:3.6.1-management 17 | rabbitmq-base: 18 | labels: 19 | io.rancher.container.hostname_override: container_name 20 | image: rabbitmq:3.6.1-management 21 | volumes_from: 22 | - rabbitmq-datavolume 23 | net: "container:rabbitmq" 24 | entrypoint: 25 | - /opt/rancher/bin/run.sh 26 | environment: 27 | - RABBITMQ_ERLANG_COOKIE=secretcookie 28 | -------------------------------------------------------------------------------- /templates/rancher-bench-security/0/README.md: -------------------------------------------------------------------------------- 1 | # rancher-security-bench 2 | 3 | ### Info: 4 | 5 | This template provides information about security issues in your rancher environment. It follow the recomendations of of https://dockerbench.com/ 6 | 7 | It has a logic to run in every docker host of your rancher enironment and a web interface to see the results 8 | 9 | 10 | ### Usage: 11 | 12 | The web interface runs on the port 80 of "web-server" service. 13 | 14 | You can access to it by adding a rancher load balancer or using traefik proxy. 15 | 16 | If you want to use traefik proxy just configure the domain parameter. The web will be accesible at http://rancher-security-bench. 17 | 18 | If you do not want to use traefik proxy just ignore the domain parameter 19 | 20 | You can customize the time interval in wich the automatic tests will be run. Just tune the "Refresh Interval" option. 21 | -------------------------------------------------------------------------------- /kubernetes-templates/guestbook/0/frontend-controller.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ReplicationController 3 | metadata: 4 | name: ${FRONTEND_NAME} 5 | labels: 6 | name: ${FRONTEND_NAME} 7 | spec: 8 | replicas: ${FRONTEND_REPLICAS} 9 | selector: 10 | name: ${FRONTEND_NAME} 11 | template: 12 | metadata: 13 | labels: 14 | name: ${FRONTEND_NAME} 15 | spec: 16 | containers: 17 | - name: php-redis 18 | image: gcr.io/google_samples/gb-frontend:v3 19 | env: 20 | - name: GET_HOSTS_FROM 21 | value: dns 22 | # If your cluster config does not include a dns service, then to 23 | # instead access environment variables to find service host 24 | # info, comment out the 'value: dns' line above, and uncomment the 25 | # line below. 26 | # value: env 27 | ports: 28 | - containerPort: 80 29 | -------------------------------------------------------------------------------- /templates/letsencrypt/1/docker-compose.yml: -------------------------------------------------------------------------------- 1 | letsencrypt: 2 | image: janeczku/rancher-letsencrypt:v0.2.7 3 | environment: 4 | EULA: ${EULA} 5 | API_VERSION: ${API_VERSION} 6 | CERT_NAME: ${CERT_NAME} 7 | EMAIL: ${EMAIL} 8 | DOMAINS: ${DOMAINS} 9 | PUBLIC_KEY_TYPE: ${PUBLIC_KEY_TYPE} 10 | RENEWAL_TIME: ${RENEWAL_TIME} 11 | PROVIDER: ${PROVIDER} 12 | CLOUDFLARE_EMAIL: ${CLOUDFLARE_EMAIL} 13 | CLOUDFLARE_KEY: ${CLOUDFLARE_KEY} 14 | DO_ACCESS_TOKEN: ${DO_ACCESS_TOKEN} 15 | AWS_ACCESS_KEY: ${AWS_ACCESS_KEY} 16 | AWS_SECRET_KEY: ${AWS_SECRET_KEY} 17 | DNSIMPLE_EMAIL: ${DNSIMPLE_EMAIL} 18 | DNSIMPLE_KEY: ${DNSIMPLE_KEY} 19 | DYN_CUSTOMER_NAME: ${DYN_CUSTOMER_NAME} 20 | DYN_USER_NAME: ${DYN_USER_NAME} 21 | DYN_PASSWORD: ${DYN_PASSWORD} 22 | labels: 23 | io.rancher.container.create_agent: 'true' 24 | io.rancher.container.agent.role: 'environment' 25 | -------------------------------------------------------------------------------- /kubernetes-templates/guestbook/0/redis-slave-controller.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ReplicationController 3 | metadata: 4 | name: ${REDIS_SLAVE_NAME} 5 | labels: 6 | name: ${REDIS_SLAVE_NAME} 7 | spec: 8 | replicas: 2 9 | selector: 10 | name: ${REDIS_SLAVE_NAME} 11 | template: 12 | metadata: 13 | labels: 14 | name: ${REDIS_SLAVE_NAME} 15 | spec: 16 | containers: 17 | - name: worker 18 | image: gcr.io/google_samples/gb-redisslave:v1 19 | env: 20 | - name: GET_HOSTS_FROM 21 | value: dns 22 | # If your cluster config does not include a dns service, then to 23 | # instead access an environment variable to find the master 24 | # service's host, comment out the 'value: dns' line above, and 25 | # uncomment the line below. 26 | # value: env 27 | ports: 28 | - containerPort: 6379 29 | -------------------------------------------------------------------------------- /templates/ecr/2/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "ECR Credential Updater" 3 | version: "v1.1.0" 4 | description: "Updates credentials for ECR in Rancher" 5 | uuid: ecr-3 6 | questions: 7 | - variable: "aws_access_key_id" 8 | label: "AWS Access Key ID" 9 | description: "AWS API Access Key to use for obtaining ECR credentials. Not required if using IAM roles." 10 | required: false 11 | type: "string" 12 | - variable: "aws_secret_access_key" 13 | label: "AWS Secret Access Key" 14 | description: "AWS API Secret Key to use for obtaining ECR credentials. Not required if using IAM roles." 15 | required: false 16 | type: "string" 17 | - variable: "aws_region" 18 | label: "AWS Region" 19 | description: "AWS Region that hosts the ECR" 20 | default: us-east-1 21 | required: true 22 | type: "string" 23 | ecr-updater: 24 | scale: 1 25 | -------------------------------------------------------------------------------- /templates/jenkins-ci/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: Jenkins 3 | version: 1.642.2-rancher1 4 | description: | 5 | Jenkins CI management server. 6 | questions: 7 | - variable: "PORT" 8 | type: "int" 9 | label: "Port Number" 10 | description: "Which port should Jenkins listen on?" 11 | default: 8080 12 | required: true 13 | - variable: "plugins" 14 | type: "multiline" 15 | label: "List of Plugins" 16 | description: | 17 | List of plugins in the format [:] 18 | one entry per line. 19 | default: | 20 | credentials 21 | git 22 | git-client 23 | github 24 | github-api 25 | github-oauth 26 | greenballs 27 | junit 28 | plain-credentials 29 | scm-api 30 | ssh-credentials 31 | ssh-slaves 32 | swarm 33 | jenkins-primary: 34 | metadata: 35 | plugins: | 36 | ${plugins} 37 | -------------------------------------------------------------------------------- /templates/xpilot/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "XPilot" 3 | version: "v0.1" 4 | description: "Multiplayer shooting game" 5 | uuid: xpilot-0 6 | questions: 7 | - variable: "PASSWORD" 8 | label: "Password" 9 | description: "Administration password for the server" 10 | default: password 11 | required: true 12 | type: "password" 13 | - variable: "DISPLAY" 14 | label: "Display" 15 | description: "Enter the identifier for your XWindows display. This will usually be your workstation name or IP address, followed by :0" 16 | default: 1.2.3.4:0 17 | required: true 18 | type: "string" 19 | - variable: "NAME" 20 | label: "Player Name" 21 | description: "Name for the player's ship. This must be unique." 22 | default: player 23 | required: true 24 | type: "string" 25 | server: 26 | scale: 1 27 | client: 28 | scale: 1 29 | 30 | -------------------------------------------------------------------------------- /templates/puppet-standalone/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | puppet-lb: 2 | ports: 3 | - ${PUPPET_PORT}:8140/tcp 4 | labels: 5 | io.rancher.loadbalancer.target.puppet: 8140=${PUPPET_PORT} 6 | tty: true 7 | image: rancher/load-balancer-service 8 | links: 9 | - puppet:puppet 10 | stdin_open: true 11 | 12 | puppet: 13 | hostname: puppet 14 | domainname: puppet.rancher.internal 15 | labels: 16 | io.rancher.sidekicks: puppet-config-volumes 17 | image: nrvale0/puppetserver-standalone 18 | environment: 19 | - CONTROL_REPO_GIT_URI=${CONTROL_REPO_GIT_URI} 20 | volumes_from: 21 | - puppet-config-volumes 22 | 23 | puppet-config-volumes: 24 | labels: 25 | io.rancher.container.hostname_override: container_name 26 | io.rancher.container.start_once: "true" 27 | volumes: 28 | - /etc/puppetlabs/ssl 29 | - /opt/puppetlabs/r10k/cache 30 | - /etc/puppetlabs/code 31 | entrypoint: /bin/true 32 | image: alpine 33 | -------------------------------------------------------------------------------- /templates/janitor/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "Janitor" 3 | version: "v1.4.0" 4 | description: "Docker cleanup" 5 | uuid: janitor-0 6 | questions: 7 | - variable: "FREQUENCY" 8 | label: "Frequency" 9 | description: "Run the cleanup on a cycle of this many seconds" 10 | default: 3600 11 | required: true 12 | type: "int" 13 | - variable: "EXCLUDE_LABEL" 14 | label: "Exclude label" 15 | description: "Specify a Rancher host label here that will be used to determine on which hosts the container should not deploy." 16 | default: janitor.exclude=true 17 | required: true 18 | type: "string" 19 | - variable: "KEEP" 20 | label: "Keep images" 21 | description: "A comma separated list of images that should never be removed" 22 | default: "rancher/agent:v0.8.2,rancher/agent-instance:v0.6.0" 23 | required: false 24 | type: "string" 25 | 26 | -------------------------------------------------------------------------------- /templates/liferay/1/README.md: -------------------------------------------------------------------------------- 1 | # Liferay Portal Community Edition 7.0 2 | 3 | Installs Liferay Portal, an open source enterprise portal. Uses MySQL as database. 4 | 5 | ### Requirements 6 | 7 | Make sure the Liferay container is started on a host with at least 4 GB RAM. 8 | 9 | ### First Start 10 | 11 | Use the following credentials to log in as the default administrative user: 12 | * user name: **test@liferay.com** 13 | * password: **test** 14 | 15 | If you choose to run the Setup Wizard at first start, you can create a different 16 | administrative user. Afterwards you may have to restart the Liferay container. 17 | 18 | ### Watch the Logs 19 | 20 | Open a terminal via `Execute Shell` on the Liferay container, then use `tail` 21 | on the log files in `/opt/liferay/tomcat/logs` and `/opt/liferay/logs`, e.g. 22 | 23 | ```bash 24 | tail -f /opt/liferay/tomcat/logs/catalina.2016-04-13.log 25 | tail -f /opt/liferay/logs/liferay.2016-04-13.log 26 | ``` -------------------------------------------------------------------------------- /templates/kafka/1/README.md: -------------------------------------------------------------------------------- 1 | # Apache Kafka (Experimental) 2 | 3 | ### Info: 4 | 5 | This template creates, scale in and scale out a multinodes kafka broker cluster on top of Rancher. The configuration is generated with confd from Rancher metadata. 6 | Cluster size are variable after deployment, and get reconfigured after refresh interval. 7 | 8 | 9 | ### Usage: 10 | 11 | Select Apache Kafka from catalog. 12 | 13 | Enter the number of nodes, mem and refresh interval for the kafka cluster. 14 | 15 | Change the following kafka default parameters, if you need: 16 | 17 | - KAFKA_LOG_DIRS="/opt/kafka/logs" 18 | - KAFKA_LOG_RETENTION_HOURS="168" 19 | - KAFKA_NUM_PARTITIONS="1" 20 | - ADVERTISE_PUB_IP= < true | false > 21 | 22 | Select zookeeper stack/service to connect to. 23 | 24 | Click deploy. 25 | 26 | Kafka can now be accessed over the Rancher network. 27 | 28 | Note: When you scale the cluster, zero downtime is not guaranteed..yet.. 29 | -------------------------------------------------------------------------------- /templates/liferay/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | liferay: 2 | ports: 3 | - 8080:8080/tcp 4 | environment: 5 | SETUP_WIZARD_ENABLED: ${SETUP_WIZARD_ENABLED} 6 | DB_KIND: mysql 7 | DB_HOST: liferaydb 8 | DB_USERNAME: ${MYSQL_USER} 9 | DB_PASSWORD: ${MYSQL_PASSWORD} 10 | log_driver: '' 11 | labels: 12 | io.rancher.container.pull_image: always 13 | tty: true 14 | log_opt: {} 15 | image: rsippl/liferay:6.2.5-1 16 | links: 17 | - mysql:liferaydb 18 | stdin_open: true 19 | mysql: 20 | environment: 21 | MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} 22 | MYSQL_DATABASE: ${MYSQL_DATABASE} 23 | MYSQL_USER: ${MYSQL_USER} 24 | MYSQL_PASSWORD: ${MYSQL_PASSWORD} 25 | log_driver: '' 26 | labels: 27 | io.rancher.container.pull_image: always 28 | tty: true 29 | command: 30 | - --character-set-server=utf8 31 | - --collation-server=utf8_general_ci 32 | log_opt: {} 33 | image: mysql:5.6.30 34 | stdin_open: true 35 | -------------------------------------------------------------------------------- /templates/liferay/1/docker-compose.yml: -------------------------------------------------------------------------------- 1 | liferay: 2 | ports: 3 | - 8080:8080/tcp 4 | environment: 5 | SETUP_WIZARD_ENABLED: ${SETUP_WIZARD_ENABLED} 6 | DB_KIND: mysql 7 | DB_HOST: liferaydb 8 | DB_USERNAME: ${MYSQL_USER} 9 | DB_PASSWORD: ${MYSQL_PASSWORD} 10 | log_driver: '' 11 | labels: 12 | io.rancher.container.pull_image: always 13 | tty: true 14 | log_opt: {} 15 | image: rsippl/liferay:7.0.0-2 16 | links: 17 | - mysql:liferaydb 18 | stdin_open: true 19 | mysql: 20 | environment: 21 | MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} 22 | MYSQL_DATABASE: ${MYSQL_DATABASE} 23 | MYSQL_USER: ${MYSQL_USER} 24 | MYSQL_PASSWORD: ${MYSQL_PASSWORD} 25 | log_driver: '' 26 | labels: 27 | io.rancher.container.pull_image: always 28 | tty: true 29 | command: 30 | - --character-set-server=utf8 31 | - --collation-server=utf8_general_ci 32 | log_opt: {} 33 | image: mysql:5.6.30 34 | stdin_open: true 35 | -------------------------------------------------------------------------------- /templates/zookeeper/1/README.md: -------------------------------------------------------------------------------- 1 | # Apache Zookeeper (Experimental) 2 | 3 | ### Info: 4 | 5 | This template creates, scale in and scale out a multinodes zk (zookeeper) cluster on top of Rancher. The configuration is generated with confd from Rancher metadata. 6 | Cluster size are variable after deployment, and get reconfigured if refresh interval > 0. 7 | 8 | 9 | ### Usage: 10 | 11 | Select Apache Zookeeper from catalog. 12 | 13 | Enter the number of nodes, mem and refresh interval for the zk cluster. (set refresh data to 0 to disable dinamic config) 14 | 15 | Change the following zookeeper default parameters, if you need: 16 | 17 | - ZK_DATA_DIR="/opt/zk/data" 18 | - ZK_INIT_LIMIT="10" 19 | - ZK_MAX_CLIENT_CXNS="500" 20 | - ZK_SYNC_LIMIT="5" 21 | - ZK_TICK_TIME="2000" 22 | 23 | Click deploy. 24 | 25 | Zookeeper can now be accessed over the Rancher network. 26 | 27 | Note: When you scale the cluster, zero downtime is not guaranteed..yet.. 28 | -------------------------------------------------------------------------------- /kubernetes-templates/redis/0/redis-master.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Pod 3 | metadata: 4 | labels: 5 | heritage: helm 6 | name: redis 7 | redis-sentinel: "true" 8 | role: master 9 | bootstrap: "true" 10 | name: redis-master 11 | spec: 12 | containers: 13 | - name: master 14 | image: "deis/redis:v0.0.5" 15 | env: 16 | - name: MASTER 17 | value: "true" 18 | - name: DEBUG 19 | value: "1" 20 | ports: 21 | - containerPort: 6379 22 | resources: 23 | limits: 24 | cpu: "0.1" 25 | volumeMounts: 26 | - mountPath: /redis-master-data 27 | name: data 28 | - name: sentinel 29 | image: "deis/redis:v0.0.5" 30 | env: 31 | - name: SENTINEL 32 | value: "true" 33 | - name: DEBUG 34 | value: "1" 35 | ports: 36 | - containerPort: 26379 37 | volumes: 38 | - name: data 39 | emptyDir: {} 40 | -------------------------------------------------------------------------------- /templates/droneworkers/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: Drone Rancher Node Manager 3 | version: 0.1.0-cloudnautique1 4 | description: | 5 | (Experimental) Poll Rancher Metadata for Drone Agents 6 | and add/remove nodes accordingly. 7 | minimum_rancher_version: v0.56.0 8 | maintainer: cloudnautique 9 | questions: 10 | - variable: DRONE_TOKEN 11 | type: password 12 | required: true 13 | label: Drone API token 14 | description: "API Token for Drone. (must have admin rights)" 15 | - variable: DRONE_SERVICE 16 | type: service 17 | label: Drone Server 18 | description: "Link to Drone server.(Not the load balancer)" 19 | required: true 20 | - variable: STACK_NAME 21 | type: string 22 | label: Stack name (should be same as above) 23 | description: "Name of this stack, sorry for the duplication." 24 | required: true 25 | dynamic-drones-mgr-0: 26 | scale: 1 27 | -------------------------------------------------------------------------------- /kubernetes-templates/ghost/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: Ghost 3 | version: 0.7.8-rancher1 4 | description: Open source publishing platform 5 | questions: 6 | - variable: "mysql_root_pass" 7 | label: "MySQL root password" 8 | required: true 9 | type: "password" 10 | - variable: "ghost_db" 11 | label: "Ghost database name on mysql" 12 | required: true 13 | type: "string" 14 | default: "ghost" 15 | - variable: "ghost_db_user" 16 | label: "Ghost database username" 17 | required: true 18 | type: "string" 19 | default: "ghostuser" 20 | - variable: "ghost_db_pass" 21 | label: "Ghost database password" 22 | required: true 23 | type: "password" 24 | default: "ghostpass" 25 | description: "default password is ghostpass" 26 | - variable: "ghost_url" 27 | label: "Ghost url" 28 | required: true 29 | type: "string" 30 | default: "http://example-ghost.com" 31 | -------------------------------------------------------------------------------- /templates/letsencrypt/2/docker-compose.yml: -------------------------------------------------------------------------------- 1 | letsencrypt: 2 | image: janeczku/rancher-letsencrypt:v0.3.0 3 | environment: 4 | EULA: ${EULA} 5 | API_VERSION: ${API_VERSION} 6 | CERT_NAME: ${CERT_NAME} 7 | EMAIL: ${EMAIL} 8 | DOMAINS: ${DOMAINS} 9 | PUBLIC_KEY_TYPE: ${PUBLIC_KEY_TYPE} 10 | RENEWAL_TIME: ${RENEWAL_TIME} 11 | PROVIDER: ${PROVIDER} 12 | CLOUDFLARE_EMAIL: ${CLOUDFLARE_EMAIL} 13 | CLOUDFLARE_KEY: ${CLOUDFLARE_KEY} 14 | DO_ACCESS_TOKEN: ${DO_ACCESS_TOKEN} 15 | AWS_ACCESS_KEY: ${AWS_ACCESS_KEY} 16 | AWS_SECRET_KEY: ${AWS_SECRET_KEY} 17 | DNSIMPLE_EMAIL: ${DNSIMPLE_EMAIL} 18 | DNSIMPLE_KEY: ${DNSIMPLE_KEY} 19 | DYN_CUSTOMER_NAME: ${DYN_CUSTOMER_NAME} 20 | DYN_USER_NAME: ${DYN_USER_NAME} 21 | DYN_PASSWORD: ${DYN_PASSWORD} 22 | volumes: 23 | - ${STORAGE_VOLUME}/etc/letsencrypt/production/certs 24 | labels: 25 | io.rancher.container.create_agent: 'true' 26 | io.rancher.container.agent.role: 'environment' 27 | -------------------------------------------------------------------------------- /kubernetes-templates/MongoDB/0/mongo-master.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | name: mongo-primary 6 | name: mongo-primary 7 | spec: 8 | ports: 9 | - port: 27017 10 | targetPort: 27017 11 | selector: 12 | name: mongo-master 13 | --- 14 | apiVersion: v1 15 | kind: Pod 16 | metadata: 17 | labels: 18 | name: mongo-master 19 | name: mongo-master 20 | spec: 21 | containers: 22 | - name: mongo-master 23 | image: "husseingalal/mongo-k8s" 24 | env: 25 | - name: PRIMARY 26 | value: "true" 27 | ports: 28 | - containerPort: 27017 29 | command: 30 | - /run.sh 31 | - mongod 32 | - "--replSet" 33 | - rs0 34 | - "--smallfiles" 35 | - "--noprealloc" 36 | volumeMounts: 37 | - mountPath: /data/db 38 | name: mongo-primary-ephermal-storage 39 | volumes: 40 | - name: mongo-primary-ephermal-storage 41 | emptyDir: {} 42 | -------------------------------------------------------------------------------- /templates/hadoop/0/README.md: -------------------------------------------------------------------------------- 1 | # Hadoop + Yarn (Experimental) 2 | 3 | 4 | ### Info: 5 | 6 | This template will install Apache Hadoop 2.7.1 and Yarn on Rancher network. It is recommended that Hadoop be installed on instances with 8+GB of ram. This image also makes use of 'named' volumes and requires Docker 1.9.x (Ideally, 1.9.1), One Hadoop cluster can be deployed per environment. Additional nodes can be added to the cluster, removing nodes is not currently setup. 7 | 8 | ### Using 9 | 10 | Select Hadoop from the Rancher Catalog. Common HDFS options and Yarn/MapReduce memory options are available to set. 11 | 12 | Once the values are set, and the cluster is deployed: 13 | 14 | On the hosts running the following services you can access 15 | 16 | * HDFS manager on: `namenode-primary:50070`. 17 | * Yarn Resource manager is accessible via `yarn-resourcemanager:8088` 18 | 19 | Your default HDFS filesystem URL is hdfs://:8020 (Only available on Rancher Network) 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /templates/consul-registrator/0/README.md: -------------------------------------------------------------------------------- 1 | # Consul-Registrator 2 | 3 | ### Info: 4 | 5 | This templates creates a global service that deploys a Consul agent that is bound to the host's networking. 6 | This allows all Rancher hosts to join an existing Consul cluster. 7 | 8 | Additionally, Registrator is deployed to automatically discover and register containers that are deployed on the host as Consul service entries. 9 | This allows for automatic service registration in Consul as Rancher schedule containers in the cluster. 10 | 11 | The variables used in this template include: 12 | 13 | - Hostname or IP address for the Consul cluster to join 14 | 15 | The templates uses the official Consul & Registrator images 16 | 17 | - [consul](https://hub.docker.com/r/_/consul/). 18 | - [registrator](https://hub.docker.com/r/gliderlabs/registrator/). 19 | 20 | ### Usage: 21 | 22 | Select Consul from catalog. 23 | 24 | Enter the hostname/DNS name/IP address of the Consul server to join 25 | 26 | Click deploy. 27 | -------------------------------------------------------------------------------- /templates/consul-registrator/1/README.md: -------------------------------------------------------------------------------- 1 | # Consul-Registrator 2 | 3 | ### Info: 4 | 5 | This templates creates a global service that deploys a Consul agent that is bound to the host's networking. 6 | This allows all Rancher hosts to join an existing Consul cluster. 7 | 8 | Additionally, Registrator is deployed to automatically discover and register containers that are deployed on the host as Consul service entries. 9 | This allows for automatic service registration in Consul as Rancher schedule containers in the cluster. 10 | 11 | The variables used in this template include: 12 | 13 | - Hostname or IP address for the Consul cluster to join 14 | 15 | The templates uses the official Consul & Registrator images 16 | 17 | - [consul](https://hub.docker.com/r/_/consul/). 18 | - [registrator](https://hub.docker.com/r/gliderlabs/registrator/). 19 | 20 | ### Usage: 21 | 22 | Select Consul from catalog. 23 | 24 | Enter the hostname/DNS name/IP address of the Consul server to join 25 | 26 | Click deploy. 27 | -------------------------------------------------------------------------------- /templates/grafana/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "Grafana" 3 | version: "3.0.2-rancher1" 4 | description: | 5 | (Experimental) Grafana: Beautiful metric & analytic dashboards 6 | questions: 7 | - variable: http_port 8 | description: "http port to access Grafana" 9 | label: "Http Port" 10 | required: true 11 | default: "3000" 12 | type: "int" 13 | - variable: admin_username 14 | description: "Grafana admin username" 15 | label: "Admin Username" 16 | required: true 17 | default: "admin" 18 | type: "string" 19 | - variable: admin_password 20 | description: "Grafana admin password" 21 | label: "Admin Password" 22 | required: true 23 | default: "password" 24 | type: "string" 25 | - variable: secret_key 26 | description: "Signing secret key" 27 | label: "Secret Key" 28 | required: true 29 | default: "su2Tong2zoocie" 30 | type: "string" 31 | 32 | grafana: 33 | -------------------------------------------------------------------------------- /templates/gogs/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "Gogs" 3 | version: "v0.8.43" 4 | description: "A painless self-hosted Git service" 5 | uuid: gogs-0 6 | minimum_rancher_version: v0.51.0 7 | questions: 8 | - variable: public_port 9 | description: "public port to access the mysql server" 10 | label: "Public Port" 11 | required: true 12 | default: "3306" 13 | type: "int" 14 | - variable: http_port 15 | description: "http port to access gogs webui" 16 | label: "Http Port" 17 | required: true 18 | default: "10080" 19 | type: "int" 20 | - variable: ssh_port 21 | description: "ssh port to access gogs cli" 22 | label: "Ssh Port" 23 | required: true 24 | default: "222" 25 | type: "int" 26 | - variable: mysql_password 27 | description: "mysql root password" 28 | label: "Mysql Password" 29 | required: true 30 | default: "password" 31 | type: "string" 32 | 33 | gogs: 34 | -------------------------------------------------------------------------------- /templates/kibana/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | kibana-vip: 2 | ports: 3 | - 80:80 4 | restart: always 5 | tty: true 6 | image: rancher/load-balancer-service 7 | links: 8 | - nginx-proxy:kibana4 9 | stdin_open: true 10 | nginx-proxy-conf: 11 | image: rancher/nginx-conf:v0.2.0 12 | command: "-backend=rancher --prefix=/2015-07-25" 13 | labels: 14 | io.rancher.container.hostname_override: container_name 15 | nginx-proxy: 16 | image: rancher/nginx:v1.9.4-3 17 | volumes_from: 18 | - nginx-proxy-conf 19 | labels: 20 | io.rancher.container.hostname_override: container_name 21 | io.rancher.sidekicks: nginx-proxy-conf,kibana4 22 | external_links: 23 | - ${elasticsearch_source}:elasticsearch 24 | kibana4: 25 | restart: always 26 | tty: true 27 | image: kibana:4.1.1 28 | net: "container:nginx-proxy" 29 | stdin_open: true 30 | environment: 31 | ELASTICSEARCH_URL: "http://elasticsearch:9200" 32 | labels: 33 | io.rancher.container.hostname_override: container_name 34 | -------------------------------------------------------------------------------- /kubernetes-templates/ghost/0/mysql.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Pod 3 | metadata: 4 | name: mysql 5 | labels: 6 | name: mysql 7 | spec: 8 | containers: 9 | - image: mysql 10 | name: mysql 11 | env: 12 | - name: MYSQL_ROOT_PASSWORD 13 | value: ${mysql_root_pass} 14 | - name: MYSQL_DATABASE 15 | value: ${ghost_db} 16 | - name: MYSQL_USER 17 | value: ${ghost_db_user} 18 | - name: MYSQL_PASSWORD 19 | value: ${ghost_db_pass} 20 | ports: 21 | - containerPort: 3306 22 | name: mysql 23 | volumeMounts: 24 | - name: mysql-vol 25 | mountPath: /var/lib/mysql 26 | livenessProbe: 27 | tcpSocket: 28 | port: "mysql" 29 | initialDelaySeconds: 5 30 | timeoutSeconds: 1 31 | readinessProbe: 32 | exec: 33 | command: ["mysqladmin", "status", "-p${mysql_root_pass}"] 34 | volumes: 35 | - name: mysql-vol 36 | emptyDir: {} 37 | -------------------------------------------------------------------------------- /templates/datadog/1/docker-compose.yml: -------------------------------------------------------------------------------- 1 | datadog-init: 2 | image: janeczku/datadog-rancher-init:latest 3 | net: none 4 | command: /bin/true 5 | volumes: 6 | - /opt/rancher 7 | labels: 8 | io.rancher.container.start_once: 'true' 9 | io.rancher.container.pull_image: always 10 | datadog-agent: 11 | image: datadog/docker-dd-agent:11.0.570 12 | entrypoint: /opt/rancher/entrypoint.sh 13 | command: 14 | - supervisord 15 | - -n 16 | - -c 17 | - /etc/dd-agent/supervisor.conf 18 | restart: always 19 | environment: 20 | API_KEY: ${api_key} 21 | DOGSTATSD_ONLY: "${statsd_standalone}" 22 | STATSD_METRIC_NAMESPACE: ${statsd_namespace} 23 | HOST_LABELS: ${host_labels} 24 | volumes: 25 | - /var/run/docker.sock:/var/run/docker.sock 26 | - /proc/:/host/proc/:ro 27 | - /sys/fs/cgroup/:/host/sys/fs/cgroup:ro 28 | volumes_from: 29 | - datadog-init 30 | labels: 31 | io.rancher.scheduler.global: "${global_service}" 32 | io.rancher.sidekicks: 'datadog-init' 33 | -------------------------------------------------------------------------------- /templates/MongoDB/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | mongo-cluster: 2 | restart: always 3 | environment: 4 | MONGO_SERVICE_NAME: mongo-cluster 5 | tty: true 6 | entrypoint: /opt/rancher/bin/entrypoint.sh 7 | command: 8 | - --replSet 9 | - "${replset_name}" 10 | image: mongo:3.0 11 | labels: 12 | io.rancher.container.hostname_override: container_name 13 | io.rancher.sidekicks: mongo-base, mongo-datavolume 14 | volumes_from: 15 | - mongo-datavolume 16 | - mongo-base 17 | mongo-base: 18 | restart: always 19 | net: none 20 | tty: true 21 | labels: 22 | io.rancher.container.hostname_override: container_name 23 | io.rancher.container.start_once: true 24 | image: rancher/mongodb-conf:v0.1.0 25 | stdin_open: true 26 | entrypoint: /bin/true 27 | mongo-datavolume: 28 | net: none 29 | labels: 30 | io.rancher.container.hostname_override: container_name 31 | io.rancher.container.start_once: true 32 | volumes: 33 | - /data/db 34 | entrypoint: /bin/true 35 | image: busybox 36 | -------------------------------------------------------------------------------- /templates/MongoDB/1/docker-compose.yml: -------------------------------------------------------------------------------- 1 | mongo-cluster: 2 | restart: always 3 | environment: 4 | MONGO_SERVICE_NAME: mongo-cluster 5 | tty: true 6 | entrypoint: /opt/rancher/bin/entrypoint.sh 7 | command: 8 | - --replSet 9 | - "${replset_name}" 10 | image: mongo:3.2 11 | labels: 12 | io.rancher.container.hostname_override: container_name 13 | io.rancher.sidekicks: mongo-base, mongo-datavolume 14 | volumes_from: 15 | - mongo-datavolume 16 | - mongo-base 17 | mongo-base: 18 | restart: always 19 | net: none 20 | tty: true 21 | labels: 22 | io.rancher.container.hostname_override: container_name 23 | io.rancher.container.start_once: true 24 | image: rancher/mongodb-conf:v0.1.0 25 | stdin_open: true 26 | entrypoint: /bin/true 27 | mongo-datavolume: 28 | net: none 29 | labels: 30 | io.rancher.container.hostname_override: container_name 31 | io.rancher.container.start_once: true 32 | volumes: 33 | - /data/db 34 | entrypoint: /bin/true 35 | image: busybox 36 | -------------------------------------------------------------------------------- /templates/alfresco/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | alfresco: 2 | environment: 3 | CIFS_ENABLED: 'false' 4 | FTP_ENABLED: 'false' 5 | labels: 6 | io.rancher.sidekicks: alfresco-data 7 | tty: true 8 | image: webcenter/rancher-alfresco:v5.1-201605-1 9 | links: 10 | - postgres:db 11 | stdin_open: true 12 | ports: 13 | - 8080:8080/tcp 14 | alfresco-data: 15 | labels: 16 | io.rancher.container.start_once: 'true' 17 | image: alpine 18 | volumes: 19 | - /opt/alfresco/alf_data 20 | net: none 21 | postgres: 22 | environment: 23 | PGDATA: /var/lib/postgresql/data/pgdata 24 | POSTGRES_DB: ${database_name} 25 | POSTGRES_PASSWORD: ${database_password} 26 | POSTGRES_USER: ${database_user} 27 | labels: 28 | io.rancher.sidekicks: postgres-data 29 | tty: true 30 | image: postgres:9.4 31 | stdin_open: true 32 | postgres-data: 33 | labels: 34 | io.rancher.container.start_once: 'true' 35 | image: alpine 36 | volumes: 37 | - /var/lib/postgresql/data/pgdata 38 | net: none 39 | -------------------------------------------------------------------------------- /templates/kibana/1/docker-compose.yml: -------------------------------------------------------------------------------- 1 | kibana-vip: 2 | ports: 3 | - "${public_port}:80" 4 | restart: always 5 | tty: true 6 | image: rancher/load-balancer-service 7 | links: 8 | - nginx-proxy:kibana4 9 | stdin_open: true 10 | nginx-proxy-conf: 11 | image: rancher/nginx-conf:v0.2.0 12 | command: "-backend=rancher --prefix=/2015-07-25" 13 | labels: 14 | io.rancher.container.hostname_override: container_name 15 | nginx-proxy: 16 | image: rancher/nginx:v1.9.4-3 17 | volumes_from: 18 | - nginx-proxy-conf 19 | labels: 20 | io.rancher.container.hostname_override: container_name 21 | io.rancher.sidekicks: nginx-proxy-conf,kibana4 22 | external_links: 23 | - ${elasticsearch_source}:elasticsearch 24 | kibana4: 25 | restart: always 26 | tty: true 27 | image: kibana:4.4.2 28 | net: "container:nginx-proxy" 29 | stdin_open: true 30 | environment: 31 | ELASTICSEARCH_URL: "http://elasticsearch:9200" 32 | labels: 33 | io.rancher.container.hostname_override: container_name 34 | -------------------------------------------------------------------------------- /templates/openvpn-httpbasic/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | openvpn-httpbasic-data: 2 | labels: 3 | io.rancher.container.start_once: 'true' 4 | entrypoint: 5 | - /bin/true 6 | image: busybox 7 | volumes: 8 | - /etc/openvpn/ 9 | 10 | openvpn-httpbasic-server: 11 | ports: 12 | - 1194:1194/tcp 13 | environment: 14 | AUTH_METHOD: httpbasic 15 | AUTH_HTTPBASIC_URL: ${AUTH_HTTPBASIC_URL} 16 | CERT_COUNTRY: ${CERT_COUNTRY} 17 | CERT_PROVINCE: ${CERT_PROVINCE} 18 | CERT_CITY: ${CERT_CITY} 19 | CERT_ORG: ${CERT_ORG} 20 | CERT_EMAIL: ${CERT_EMAIL} 21 | CERT_OU: ${CERT_OU} 22 | REMOTE_IP: ${REMOTE_IP} 23 | REMOTE_PORT: ${REMOTE_PORT} 24 | VPNPOOL_NETWORK: ${VPNPOOL_NETWORK} 25 | VPNPOOL_CIDR: ${VPNPOOL_CIDR} 26 | OPENVPN_EXTRACONF: ${OPENVPN_EXTRACONF} 27 | labels: 28 | io.rancher.sidekicks: openvpn-httpbasic-data 29 | io.rancher.container.pull_image: always 30 | image: mdns/rancher-openvpn:1.0 31 | privileged: true 32 | volumes_from: 33 | - openvpn-httpbasic-data 34 | -------------------------------------------------------------------------------- /templates/asciinema-org/README.md: -------------------------------------------------------------------------------- 1 | # asciinema.org 2 | 3 | Record and share your terminal sessions, the right way. 4 | 5 | asciinema is a free and open source solution for recording terminal sessions 6 | and sharing them on the web. 7 | 8 | This service uses the official [asciinema.org](https://hub.docker.com/r/asciinema/asciinema.org/) image. You can find asciinema.org's at [asciinema/asciinema.org](https://github.com/asciinema/asciinema.org/), asciinema's terminal recorder at 9 | [asciinema/asciinema](https://github.com/asciinema/asciinema) and asciinema player at [asciinema/asciinema-player](https://github.com/asciinema/asciinema-player). 10 | 11 | ## How to use 12 | 13 | After container starting, you'll need to exec `rbenv exec bundle exec rake db:setup` in asciinema/asciinema.org container to setup database, then modify $HOME/.config/asciinema/config to fit your needs. 14 | 15 | You can override the address/port that is sent in email with login token by passing $host and $port environment variables when starting the service. 16 | -------------------------------------------------------------------------------- /templates/openvpn-httpdigest/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | openvpn-httpdigest-data: 2 | labels: 3 | io.rancher.container.start_once: 'true' 4 | entrypoint: 5 | - /bin/true 6 | image: busybox 7 | volumes: 8 | - /etc/openvpn/ 9 | 10 | openvpn-httpdigest-server: 11 | ports: 12 | - 1194:1194/tcp 13 | environment: 14 | AUTH_METHOD: httpdigest 15 | AUTH_HTTPDIGEST_URL: ${AUTH_HTTPDIGEST_URL} 16 | CERT_COUNTRY: ${CERT_COUNTRY} 17 | CERT_PROVINCE: ${CERT_PROVINCE} 18 | CERT_CITY: ${CERT_CITY} 19 | CERT_ORG: ${CERT_ORG} 20 | CERT_EMAIL: ${CERT_EMAIL} 21 | CERT_OU: ${CERT_OU} 22 | REMOTE_IP: ${REMOTE_IP} 23 | REMOTE_PORT: ${REMOTE_PORT} 24 | VPNPOOL_NETWORK: ${VPNPOOL_NETWORK} 25 | VPNPOOL_CIDR: ${VPNPOOL_CIDR} 26 | OPENVPN_EXTRACONF: ${OPENVPN_EXTRACONF} 27 | labels: 28 | io.rancher.sidekicks: openvpn-httpdigest-data 29 | io.rancher.container.pull_image: always 30 | image: mdns/rancher-openvpn:1.0 31 | privileged: true 32 | volumes_from: 33 | - openvpn-httpdigest-data 34 | -------------------------------------------------------------------------------- /templates/jenkins-swarm/1/README.md: -------------------------------------------------------------------------------- 1 | ## Jenkins Swarm Plugin Clients 2 | ### Experimental 3 | 4 | 5 | ### Info: 6 | 7 | This template deploys Jenkins Swarm Clients through Rancher. These clients will come up and imediately be available for running Jenkins jobs. 8 | 9 | ### Requires 10 | 11 | Docker 1.9.1 - This image bundles in Docker 1.9.1 and bind mounts the host Docker socket. This means it will unfortunately fail on clients older then Docker 1.9.1. 12 | 13 | ### Usage 14 | 15 | User: If you plan to use Jenkins Swarm plugin AND Docker you need to use `root`. If you are not going to use Docker, you can run as the `jenkins` user. The `jenkins` user does not have access ot the Docker socket. 16 | 17 | Jenkins User: If authentication is turned on, you will need to supply the username the swarm clients should login with. 18 | 19 | Jenkins Password: If authentication is turned on, you will need to supply the password the swarm clients should use. 20 | 21 | swarm executors: Number of build jobs to run on the client. The default is the number of CPUs. -------------------------------------------------------------------------------- /templates/asciinema-org/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | asciinema-org: 2 | image: 'asciinema/asciinema.org:latest' 3 | links: 4 | - postgres 5 | - redis 6 | restart: always 7 | ports: 8 | - ${port}:3000 9 | environment: 10 | HOST: ${host}:${port} 11 | DATABASE_URL: postgresql://postgres:${postgres_password}@postgres/asciinema 12 | REDIS_URL: redis://redis:6379 13 | RAILS_ENV: development 14 | 15 | postgres: 16 | image: 'postgres:latest' 17 | ports: 18 | - 5432:5432 19 | environment: 20 | POSTGRES_PASSWORD: ${postgres_password} 21 | container_name: postgres 22 | 23 | redis: 24 | image: 'redis:latest' 25 | ports: 26 | - 6379:6379 27 | container_name: redis 28 | 29 | sidekiq: 30 | image: 'asciinema/asciinema.org:latest' 31 | links: 32 | - postgres 33 | - redis 34 | command: 'ruby start_sidekiq.rb' 35 | environment: 36 | HOST: ${host}:${port} 37 | DATABASE_URL: postgresql://postgres:${postgres_password}@postgres/asciinema 38 | REDIS_URL: redis://redis:6379 39 | RAILS_ENV: development 40 | -------------------------------------------------------------------------------- /templates/openvpn-rancherlocal/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | openvpn-rancherlocal-data: 2 | labels: 3 | io.rancher.container.start_once: 'true' 4 | entrypoint: 5 | - /bin/true 6 | image: busybox 7 | volumes: 8 | - /etc/openvpn/ 9 | 10 | openvpn-rancherlocal-server: 11 | ports: 12 | - 1194:1194/tcp 13 | environment: 14 | AUTH_METHOD: rancherlocal 15 | AUTH_RANCHERLOCAL_URL: ${AUTH_RANCHERLOCAL_URL}/v1/token 16 | CERT_COUNTRY: ${CERT_COUNTRY} 17 | CERT_PROVINCE: ${CERT_PROVINCE} 18 | CERT_CITY: ${CERT_CITY} 19 | CERT_ORG: ${CERT_ORG} 20 | CERT_EMAIL: ${CERT_EMAIL} 21 | CERT_OU: ${CERT_OU} 22 | REMOTE_IP: ${REMOTE_IP} 23 | REMOTE_PORT: ${REMOTE_PORT} 24 | VPNPOOL_NETWORK: ${VPNPOOL_NETWORK} 25 | VPNPOOL_CIDR: ${VPNPOOL_CIDR} 26 | OPENVPN_EXTRACONF: ${OPENVPN_EXTRACONF} 27 | labels: 28 | io.rancher.sidekicks: openvpn-rancherlocal-data 29 | io.rancher.container.pull_image: always 30 | image: mdns/rancher-openvpn:1.1 31 | privileged: true 32 | volumes_from: 33 | - openvpn-rancherlocal-data 34 | -------------------------------------------------------------------------------- /templates/datadog/2/docker-compose.yml: -------------------------------------------------------------------------------- 1 | datadog-init: 2 | image: janeczku/datadog-rancher-init:v2.0 3 | net: none 4 | command: /bin/true 5 | volumes: 6 | - /opt/rancher 7 | labels: 8 | io.rancher.container.start_once: 'true' 9 | io.rancher.container.pull_image: always 10 | datadog-agent: 11 | image: datadog/docker-dd-agent:11.0.580 12 | entrypoint: /opt/rancher/entrypoint-wrapper.py 13 | command: 14 | - supervisord 15 | - -n 16 | - -c 17 | - /etc/dd-agent/supervisor.conf 18 | restart: always 19 | environment: 20 | API_KEY: ${api_key} 21 | DOGSTATSD_ONLY: "${statsd_standalone}" 22 | STATSD_METRIC_NAMESPACE: ${statsd_namespace} 23 | HOST_LABELS: ${host_labels} 24 | CONTAINER_LABELS: ${container_labels} 25 | volumes: 26 | - /var/run/docker.sock:/var/run/docker.sock 27 | - /proc/:/host/proc/:ro 28 | - /sys/fs/cgroup/:/host/sys/fs/cgroup:ro 29 | volumes_from: 30 | - datadog-init 31 | labels: 32 | io.rancher.scheduler.global: "${global_service}" 33 | io.rancher.sidekicks: 'datadog-init' 34 | -------------------------------------------------------------------------------- /kubernetes-templates/guestbook/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "K8s Guestbook" 3 | version: "1.0.0" 4 | description: "It's a guestbook, I guess" 5 | questions: 6 | - variable: "SERVICE_NAME" 7 | label: "Service Name" 8 | required: true 9 | default: "frontend" 10 | type: "string" 11 | - variable: "SERVICE_PORT" 12 | label: "What port to listen on" 13 | required: true 14 | type: "int" 15 | default: 80 16 | - variable: "FRONTEND_NAME" 17 | label: "Frontend Name" 18 | required: true 19 | default: "frontend" 20 | type: "string" 21 | - variable: "FRONTEND_REPLICAS" 22 | label: "Replicas for the frontend RC" 23 | required: true 24 | type: "int" 25 | default: 3 26 | - variable: "REDIS_MASTER_NAME" 27 | label: "Redis Master Name" 28 | required: true 29 | default: "redis-master" 30 | type: "string" 31 | - variable: "REDIS_SLAVE_NAME" 32 | label: "Redis Slave Name" 33 | required: true 34 | default: "redis-slave" 35 | type: "string" 36 | -------------------------------------------------------------------------------- /templates/ghost/catalogIcon-ghost.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /swarm-templates/ghost/catalogIcon-ghost.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /templates/consul/0/README.md: -------------------------------------------------------------------------------- 1 | # Consul Cluster 2 | 3 | 4 | ### Info: 5 | 6 | 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. 7 | TLS is used to verify the authenticity of the servers and the clients using the verify_incoming and verify_outgoing options. 8 | 9 | The variables used in this template include: 10 | 11 | - Certificates and keys for Consul nodes. 12 | - CA certificate. 13 | - 16-bytes, Base64 encoded gossip encryption key. 14 | 15 | 16 | The templates uses two Docker images one as the main image and the other one is the sidekick: 17 | 18 | - [consul](https://github.com/galal-hussein/consul-rancher). 19 | - [consul-config](https://github.com/galal-hussein/consul-config). 20 | 21 | ### Usage: 22 | 23 | Select Consul from catalog. 24 | 25 | Enter the certificates and keys for consul nodes, ca certificates, and the encryption key. 26 | 27 | Click deploy. 28 | 29 | The consul nodes will be bound to the Rancher managed network IPs. 30 | -------------------------------------------------------------------------------- /kubernetes-templates/ghost/catalogIcon-ghost.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /templates/logspout/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: Logspout 3 | version: 0.2.0-rancher1 4 | description: | 5 | Logspout is a log router for Docker containers. 6 | questions: 7 | - variable: "route_uri" 8 | label: "Logspout route for logs" 9 | type: "string" 10 | required: true 11 | default: "logstash://logstash:5000" 12 | description: | 13 | This will be the target where all logs are sent. 14 | By default it uses logstash and points to a linked service 15 | logstash. 16 | - variable: "target_link" 17 | label: "Logging Target Link" 18 | type: "service" 19 | required: true 20 | default: "logstash/logstash" 21 | description: | 22 | Name of the stack/service to send logs to. 23 | - variable: "target_link_name" 24 | label: "Link Name" 25 | type: "string" 26 | required: true 27 | default: "logstash" 28 | description: | 29 | Alias link name 30 | description: | 31 | DNS name to send logs to. The DNS 32 | Name should line up with the route uri. 33 | -------------------------------------------------------------------------------- /templates/elasticsearch/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "Elasticsearch" 3 | version: "1.7.1-rancher1" 4 | description: "Elasticsearch. You know, for search" 5 | questions: 6 | - variable: cluster_name 7 | description: "Unique name to assign to your Elasticsearch cluster." 8 | label: "Cluster Name" 9 | type: "string" 10 | required: true 11 | default: "es" 12 | elasticsearch-masters: 13 | metadata: 14 | elasticsearch: 15 | yml: 16 | cluster.name: "${cluster_name}" 17 | node.name: "$${HOSTNAME}" 18 | node.data: "false" 19 | node.master: "true" 20 | elasticsearch-datanodes: 21 | metadata: 22 | elasticsearch: 23 | yml: 24 | cluster.name: "${cluster_name}" 25 | node.name: "$${HOSTNAME}" 26 | node.data: "true" 27 | node.master: "false" 28 | http.enabled: "false" 29 | elasticsearch-clients: 30 | metadata: 31 | elasticsearch: 32 | yml: 33 | cluster.name: "${cluster_name}" 34 | node.name: "$${HOSTNAME}" 35 | node.data: "false" 36 | node.master: "false" 37 | -------------------------------------------------------------------------------- /templates/elasticsearch/1/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "Elasticsearch" 3 | version: "1.7.3-rancher1" 4 | description: "Elasticsearch. You know, for search" 5 | questions: 6 | - variable: cluster_name 7 | description: "Unique name to assign to your Elasticsearch cluster." 8 | label: "Cluster Name" 9 | type: "string" 10 | required: true 11 | default: "es" 12 | elasticsearch-masters: 13 | metadata: 14 | elasticsearch: 15 | yml: 16 | cluster.name: "${cluster_name}" 17 | node.name: "$${HOSTNAME}" 18 | node.data: "false" 19 | node.master: "true" 20 | elasticsearch-datanodes: 21 | metadata: 22 | elasticsearch: 23 | yml: 24 | cluster.name: "${cluster_name}" 25 | node.name: "$${HOSTNAME}" 26 | node.data: "true" 27 | node.master: "false" 28 | http.enabled: "false" 29 | elasticsearch-clients: 30 | metadata: 31 | elasticsearch: 32 | yml: 33 | cluster.name: "${cluster_name}" 34 | node.name: "$${HOSTNAME}" 35 | node.data: "false" 36 | node.master: "false" 37 | -------------------------------------------------------------------------------- /mesos-templates/mesos/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | master: 2 | image: rancher/mesos-master:latest 3 | environment: 4 | MESOS_CLUSTER: ${MESOS_CLUSTER} 5 | MESOS_QUORUM: ${MESOS_QUORUM} 6 | MASTER_PORT: ${MASTER_PORT} 7 | ZK_SERVICE: ${ZK_SERVICE} 8 | ZK_SESSION_TIMEOUT: ${ZK_SESSION_TIMEOUT} 9 | ports: 10 | - "${MASTER_PORT}:${MASTER_PORT}" 11 | labels: 12 | mesos: master 13 | io.rancher.scheduler.affinity:container_label_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name} 14 | io.rancher.scheduler.affinity:container_label_soft_ne: mesos=slave 15 | volumes: 16 | - /data 17 | slave: 18 | image: rancher/mesos-slave:latest 19 | environment: 20 | SLAVE_PORT: ${SLAVE_PORT} 21 | ZK_SERVICE: ${ZK_SERVICE} 22 | ports: 23 | - "${SLAVE_PORT}:${SLAVE_PORT}" 24 | labels: 25 | mesos: slave 26 | io.rancher.scheduler.affinity:container_label_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name} 27 | io.rancher.scheduler.affinity:container_label_soft_ne: mesos=master 28 | volumes: 29 | - /var/run/docker.sock:/var/run/docker.sock 30 | - /data 31 | privileged: true 32 | -------------------------------------------------------------------------------- /templates/jenkins-ci/1/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: Jenkins 3 | version: 1.651.3-rancher1 4 | description: | 5 | Jenkins CI management server. 6 | questions: 7 | - variable: "PORT" 8 | type: "int" 9 | label: "Port Number" 10 | description: "Which port should Jenkins listen on?" 11 | default: 8080 12 | required: true 13 | - variable: "volume_work" 14 | description: "Work volume to save jenkins data" 15 | label: "Work volume:" 16 | required: true 17 | default: "/var/lib/docker/jenkins-ci" 18 | type: "string" 19 | - variable: "plugins" 20 | type: "multiline" 21 | label: "List of Plugins" 22 | description: | 23 | List of plugins in the format [:] 24 | one entry per line. 25 | default: | 26 | credentials 27 | git 28 | git-client 29 | github 30 | github-api 31 | github-oauth 32 | greenballs 33 | junit 34 | plain-credentials 35 | scm-api 36 | ssh-credentials 37 | ssh-slaves 38 | swarm 39 | jenkins-primary: 40 | metadata: 41 | plugins: | 42 | ${plugins} 43 | -------------------------------------------------------------------------------- /templates/etcd-ha/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | etcd: 2 | image: rancher/etcd:v2.3.0 3 | labels: 4 | io.rancher.sidekicks: data 5 | # try not to schedule etcd nodes on the same host 6 | io.rancher.scheduler.affinity:container_label_soft_ne: etcd=node 7 | etcd: node 8 | expose: 9 | - "2379" 10 | - "2380" 11 | environment: 12 | ETCDCTL_ENDPOINT: http://etcd:2379 13 | volumes_from: 14 | - data 15 | # containerize data volume to enable restarts and upgrades 16 | data: 17 | image: busybox 18 | command: /bin/true 19 | net: none 20 | volumes: 21 | - /data 22 | labels: 23 | io.rancher.container.start_once: 'true' 24 | 25 | # Discovery containers are used for bootstrapping a cluster. 26 | # They will shutdown once this process is completed. 27 | etcd-discovery: 28 | image: rancher/etcd:v2.3.0 29 | command: discovery_node 30 | labels: 31 | io.rancher.container.start_once: 'true' 32 | io.rancher.sidekicks: bootstrap 33 | bootstrap: 34 | image: rancher/etcd:v2.3.0 35 | command: bootstrap ${REPLICAS} 36 | links: 37 | - etcd-discovery 38 | labels: 39 | io.rancher.container.start_once: 'true' 40 | -------------------------------------------------------------------------------- /templates/openvpn-ldap/0/docker-compose.yml: -------------------------------------------------------------------------------- 1 | openvpn-ldap-data: 2 | labels: 3 | io.rancher.container.start_once: 'true' 4 | entrypoint: 5 | - /bin/true 6 | image: busybox 7 | volumes: 8 | - /etc/openvpn/ 9 | 10 | openvpn-ldap-server: 11 | ports: 12 | - 1194:1194/tcp 13 | environment: 14 | AUTH_METHOD: ldap 15 | AUTH_LDAP_URL: ${AUTH_LDAP_URL} 16 | AUTH_LDAP_BASEDN: ${AUTH_LDAP_BASEDN} 17 | AUTH_LDAP_SEARCH: ${AUTH_LDAP_SEARCH} 18 | AUTH_LDAP_BINDDN: ${AUTH_LDAP_BINDDN} 19 | AUTH_LDAP_BINDPWD: ${AUTH_LDAP_BINDPWD} 20 | CERT_COUNTRY: ${CERT_COUNTRY} 21 | CERT_PROVINCE: ${CERT_PROVINCE} 22 | CERT_CITY: ${CERT_CITY} 23 | CERT_ORG: ${CERT_ORG} 24 | CERT_EMAIL: ${CERT_EMAIL} 25 | CERT_OU: ${CERT_OU} 26 | REMOTE_IP: ${REMOTE_IP} 27 | REMOTE_PORT: ${REMOTE_PORT} 28 | VPNPOOL_NETWORK: ${VPNPOOL_NETWORK} 29 | VPNPOOL_CIDR: ${VPNPOOL_CIDR} 30 | OPENVPN_EXTRACONF: ${OPENVPN_EXTRACONF} 31 | labels: 32 | io.rancher.sidekicks: openvpn-ldap-data 33 | io.rancher.container.pull_image: always 34 | image: mdns/rancher-openvpn:1.0 35 | privileged: true 36 | volumes_from: 37 | - openvpn-ldap-data 38 | -------------------------------------------------------------------------------- /templates/puppet-standalone/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: Puppet Server 4.x (standalone) 3 | version: 1.0.0-rancher1 4 | description: > 5 | A very basic Open Source-only Puppet 4.x master for development and testing. 6 | questions: 7 | 8 | - variable: "CONTROL_REPO_GIT_URI" 9 | type: "string" 10 | description: "The git URI for the Puppet control repo." 11 | label: "Puppet control repo URI" 12 | required: false 13 | 14 | - variable: "PUPPET_PORT" 15 | type: "int" 16 | description: "TCP port for Puppet agent's to connect to Puppet master. Default(tcp/8140)" 17 | label: "Puppet agent port" 18 | required: false 19 | default: 8140 20 | 21 | puppet-lb: 22 | scale: 1 23 | load_balancer_config: 24 | haproxy_config: {} 25 | health_check: 26 | port: 42 27 | interval: 2000 28 | unhealthy_threshold: 3 29 | healthy_threshold: 2 30 | response_timeout: 2000 31 | 32 | puppet: 33 | scale: 1 34 | health_check: 35 | port: 8140 36 | interval: 3000 37 | unhealthy_threshold: 2 38 | strategy: recreate 39 | response_timeout: 2000 40 | healthy_threshold: 2 41 | -------------------------------------------------------------------------------- /templates/secrets-bridge-agents/0/README.md: -------------------------------------------------------------------------------- 1 | ## Secrets Bridge Agents (Experimental) 2 | --- 3 | ###Status: Experimental POC (Read: Do NOT use for production) 4 | Only works with Hashicorp Vault server in dev mode currently. 5 | 6 | --- 7 | #### Description: 8 | This is the agent component for the Vault secrets bridge with Rancher. This service will be deployed in the environment running applications that need secrets. This service does not have direct access to Vault, it communicates with the Secrets Bridge server. 9 | 10 | #### Pre-reqs: 11 | 12 | An instance of Secrets Bridge server running. 13 | 14 | #### Running this app 15 | As services come up, this service will send events to the Secrets Bridge based on Docker start events. The server will (Not currently enforced) verify the signed token with Rancher server and get the launching containers Rancher environment, stack, service and Docker ID. With that information the Secrets Bridge server will check with Vault in the `configPath/environment/stack/service/container_name` for a key called policies. It checks from most specific and recursively looks down to the environment key. It uses the most specific match. 16 | 17 | -------------------------------------------------------------------------------- /templates/traefik/1/docker-compose.yml: -------------------------------------------------------------------------------- 1 | traefik: 2 | ports: 3 | - ${admin_port}:8000/tcp 4 | - ${http_port}:8080/tcp 5 | - ${https_port}:8443/tcp 6 | log_driver: '' 7 | labels: 8 | io.rancher.scheduler.global: 'true' 9 | io.rancher.scheduler.affinity:host_label: ${host_label} 10 | io.rancher.scheduler.affinity:container_label_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name} 11 | io.rancher.sidekicks: traefik-conf 12 | io.rancher.container.hostname_override: container_name 13 | tty: true 14 | log_opt: {} 15 | image: rawmind/alpine-traefik:1.0.1-1 16 | environment: 17 | - CONF_INTERVAL=${refresh_interval} 18 | - TRAEFIK_HTTPS_ENABLE=${https_enable} 19 | volumes_from: 20 | - traefik-conf 21 | traefik-conf: 22 | log_driver: '' 23 | labels: 24 | io.rancher.scheduler.global: 'true' 25 | io.rancher.scheduler.affinity:host_label: ${host_label} 26 | io.rancher.scheduler.affinity:container_label_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name} 27 | io.rancher.container.start_once: 'true' 28 | tty: true 29 | log_opt: {} 30 | image: rawmind/rancher-traefik:0.3.4 31 | net: none 32 | 33 | -------------------------------------------------------------------------------- /templates/etcd-ha/1/docker-compose.yml: -------------------------------------------------------------------------------- 1 | etcd: 2 | image: rancher/etcd:v2.3.3 3 | command: node ${REPLICAS} 4 | labels: 5 | io.rancher.sidekicks: data 6 | # try not to schedule etcd nodes on the same host 7 | io.rancher.scheduler.affinity:container_label_soft_ne: etcd=node 8 | etcd: node 9 | expose: 10 | - "2379" 11 | - "2380" 12 | environment: 13 | ETCDCTL_ENDPOINT: http://etcd:2379 14 | volumes_from: 15 | - data 16 | # containerize data volume to enable restarts and upgrades 17 | data: 18 | image: busybox 19 | command: /bin/true 20 | net: none 21 | volumes: 22 | - /data 23 | labels: 24 | io.rancher.container.start_once: 'true' 25 | 26 | # Discovery containers are used for bootstrapping a cluster. 27 | # They will shutdown once this process is completed. 28 | etcd-discovery: 29 | image: rancher/etcd:v2.3.3 30 | command: discovery_node 31 | labels: 32 | io.rancher.container.start_once: 'true' 33 | io.rancher.sidekicks: bootstrap 34 | bootstrap: 35 | image: rancher/etcd:v2.3.3 36 | command: bootstrap ${REPLICAS} 37 | links: 38 | - etcd-discovery 39 | labels: 40 | io.rancher.container.start_once: 'true' 41 | -------------------------------------------------------------------------------- /templates/f5/0/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: "F5 LB" 3 | version: "v0.1.1-rancher1" 4 | description: "Rancher External LB service powered by F5 BIG-IP." 5 | questions: 6 | - variable: "F5_BIGIP_HOST" 7 | label: "Host Address" 8 | description: "IP Address of the F5 BIG-IP Device" 9 | type: "string" 10 | required: true 11 | - variable: "F5_BIGIP_USER" 12 | label: "Username" 13 | description: "Username of the F5 admin" 14 | type: "string" 15 | required: true 16 | - variable: "F5_BIGIP_PWD" 17 | label: "Password" 18 | description: "Password of the F5 admin" 19 | type: "string" 20 | required: true 21 | - variable: "LB_TARGET_RANCHER_SUFFIX" 22 | label: "Suffix for F5 pool names" 23 | description: "A suffix added to the Pool names on F5 BIG-IP to identify the pools added by Rancher" 24 | type: "string" 25 | required: true 26 | default: rancher.internal 27 | external-lb: 28 | health_check: 29 | port: 1000 30 | interval: 2000 31 | unhealthy_threshold: 3 32 | request_line: GET / HTTP/1.0 33 | healthy_threshold: 2 34 | response_timeout: 2000 35 | -------------------------------------------------------------------------------- /templates/logspout/1/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | .catalog: 2 | name: Logspout 3 | version: 0.2.0-1 4 | description: | 5 | Logspout is a log router for Docker containers. This community template 6 | allows you to log against the Rancher Environment rather than the hostname for 7 | easier analysis. 8 | questions: 9 | - variable: "route_uri" 10 | label: "Logspout route for logs" 11 | type: "string" 12 | required: true 13 | default: "syslog://syslog.example.com:514" 14 | description: | 15 | This will be the target where all logs are sent. 16 | - variable: "envname" 17 | label: "Environment" 18 | type: "string" 19 | required: true 20 | default: "Rancher:" 21 | description: | 22 | This is the environment name, which will be used as the Hostname 23 | label in Syslog instead of the Host or Container name. 24 | - variable: "format" 25 | label: "Format" 26 | type: "enum" 27 | options: 28 | - "rfc5424" 29 | - "rfc3164" 30 | required: true 31 | default: "rfc5424" 32 | description: | 33 | The Syslog format to use. If not certain, use rfc5424 34 | --------------------------------------------------------------------------------