commit
b54c726390
29
templates/consul/0/README.md
Normal file
29
templates/consul/0/README.md
Normal file
@ -0,0 +1,29 @@
|
||||
# Consul Cluster
|
||||
|
||||
|
||||
### Info:
|
||||
|
||||
This template creates 3 Consul nodes that uses RPC encryption with TLS and gossip encryption to secure connection between consul cluster nodes, configuration is generated with confd from Rancher metadata.
|
||||
TLS is used to verify the authenticity of the servers and the clients using the verify_incoming and verify_outgoing options.
|
||||
|
||||
The variables used in this template include:
|
||||
|
||||
- Certificates and keys for Consul nodes.
|
||||
- CA certificate.
|
||||
- 16-bytes, Base64 encoded gossip encryption key.
|
||||
|
||||
|
||||
The templates uses two Docker images one as the main image and the other one is the sidekick:
|
||||
|
||||
- [consul](https://github.com/galal-hussein/consul-rancher).
|
||||
- [consul-config](https://github.com/galal-hussein/consul-config).
|
||||
|
||||
### Usage:
|
||||
|
||||
Select Consul from catalog.
|
||||
|
||||
Enter the certificates and keys for consul nodes, ca certificates, and the encryption key.
|
||||
|
||||
Click deploy.
|
||||
|
||||
The consul nodes will be bound to the Rancher managed network IPs.
|
15
templates/consul/0/docker-compose.yml
Normal file
15
templates/consul/0/docker-compose.yml
Normal file
@ -0,0 +1,15 @@
|
||||
consul-conf:
|
||||
image: husseingalal/consul-config
|
||||
labels:
|
||||
io.rancher.container.hostname_override: container_name
|
||||
volumes_from:
|
||||
- consul
|
||||
net: "container:consul"
|
||||
consul:
|
||||
image: husseingalal/consul
|
||||
labels:
|
||||
io.rancher.sidekicks: consul-conf
|
||||
volumes:
|
||||
- /opt/rancher/ssl
|
||||
- /opt/rancher/config
|
||||
- /var/consul
|
56
templates/consul/0/rancher-compose.yml
Normal file
56
templates/consul/0/rancher-compose.yml
Normal file
@ -0,0 +1,56 @@
|
||||
.catalog:
|
||||
name: "Consul"
|
||||
description: "Secure Consul cluster"
|
||||
version: "0.6-rancher1"
|
||||
uuid: consul-0
|
||||
questions:
|
||||
- variable: ca_crt
|
||||
label: "CA certificate"
|
||||
type: "multiline"
|
||||
required: true
|
||||
- variable: consul1_key
|
||||
label: "First consul key"
|
||||
type: "multiline"
|
||||
required: true
|
||||
- variable: consul1_crt
|
||||
label: "First consul certificate"
|
||||
type: "multiline"
|
||||
required: true
|
||||
- variable: consul2_key
|
||||
label: "Second consul key"
|
||||
type: "multiline"
|
||||
required: true
|
||||
- variable: consul2_crt
|
||||
label: "Second consul certificate"
|
||||
type: "multiline"
|
||||
required: true
|
||||
- variable: consul3_key
|
||||
label: "Third consul key"
|
||||
type: "multiline"
|
||||
required: true
|
||||
- variable: consul3_crt
|
||||
label: "Third consul certificate"
|
||||
type: "multiline"
|
||||
required: true
|
||||
- variable: gossip_key
|
||||
label: "Communication gossip key"
|
||||
type: "multiline"
|
||||
required: true
|
||||
consul:
|
||||
scale: 3
|
||||
metadata:
|
||||
ca.crt: |
|
||||
${ca_crt}
|
||||
consul1.crt: |
|
||||
${consul1_crt}
|
||||
consul1.key: |
|
||||
${consul1_key}
|
||||
consul2.crt: |
|
||||
${consul2_crt}
|
||||
consul2.key: |
|
||||
${consul2_key}
|
||||
consul3.crt: |
|
||||
${consul3_crt}
|
||||
consul3.key: |
|
||||
${consul3_key}
|
||||
enc.key: "${gossip_key}"
|
BIN
templates/consul/catalogIcon-consul.png
Normal file
BIN
templates/consul/catalogIcon-consul.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 42 KiB |
5
templates/consul/config.yml
Normal file
5
templates/consul/config.yml
Normal file
@ -0,0 +1,5 @@
|
||||
name: Consul Cluster
|
||||
description: |
|
||||
Consul cluster
|
||||
version: 0.6-rancher1
|
||||
category: Clustering
|
Loading…
x
Reference in New Issue
Block a user