2 # The purpose of this file is to build the list of calico etcd nodes and the
3 # calico etcd certs for those nodes in the environment.
4 schema: armada/Chart/v1
6 schema: metadata/Document/v1
7 name: kubernetes-calico-etcd
12 name: kubernetes-calico-etcd-global
16 storagePolicy: cleartext
18 # Generate a list of control plane nodes (i.e. genesis node + master node
19 # list) on which calico etcd will run and will need certs. It is assumed
20 # that Airship sites will have 4 control plane nodes, so this should not need to
21 # change for a new site.
23 schema: pegleg/CommonAddresses/v1
24 name: common-addresses
25 path: .genesis.hostname
27 path: .values.nodes[0].name
28 {% for server in yaml.masters %}
30 schema: pegleg/CommonAddresses/v1
31 name: common-addresses
32 path: .masters[{{loop.index-1}}].hostname
34 path: .values.nodes[{{loop.index}}].name
37 # Certificate substitutions for the node names assembled on the above list.
38 # NEWSITE-CHANGEME: Per above, the number of substitutions should not need
39 # to change with a standard Airship deployment. However, the names of each
40 # deckhand certficiate should be updated with the correct hostnames for your
41 # environment. The ordering is important (Genesis is index 0, then master
42 # nodes in the order they are specified in common-addresses).
44 # Genesis node {{yaml.genesis.name}}
46 schema: deckhand/Certificate/v1
47 name: calico-etcd-{{yaml.genesis.name}}
50 path: .values.nodes[0].tls.client.cert
52 schema: deckhand/CertificateKey/v1
53 name: calico-etcd-{{yaml.genesis.name}}
56 path: .values.nodes[0].tls.client.key
58 schema: deckhand/Certificate/v1
59 name: calico-etcd-{{yaml.genesis.name}}-peer
62 path: .values.nodes[0].tls.peer.cert
64 schema: deckhand/CertificateKey/v1
65 name: calico-etcd-{{yaml.genesis.name}}-peer
68 path: .values.nodes[0].tls.peer.key
69 {% for server in yaml.masters %}
71 # Master node {{server.name}}
73 schema: deckhand/Certificate/v1
74 name: calico-etcd-{{server.name}}
77 path: .values.nodes[{{loop.index}}].tls.client.cert
79 schema: deckhand/CertificateKey/v1
80 name: calico-etcd-{{server.name}}
83 path: .values.nodes[{{loop.index}}].tls.client.key
85 schema: deckhand/Certificate/v1
86 name: calico-etcd-{{server.name}}-peer
89 path: .values.nodes[{{loop.index}}].tls.peer.cert
91 schema: deckhand/CertificateKey/v1
92 name: calico-etcd-{{server.name}}-peer
95 path: .values.nodes[{{loop.index}}].tls.peer.key