Initial treasuremap/template for site_type ovsdpdk
[yaml_builds.git] / site_type / ovsdpdk / airship-treasuremap / site / airship-seaworthy / software / charts / kubernetes / etcd / etcd.yaml
1 ---
2 # The purpose of this file is to build the list of k8s etcd nodes and the
3 # k8s etcd certs for those nodes in the environment.
4 schema: armada/Chart/v1
5 metadata:
6   schema: metadata/Document/v1
7   name: kubernetes-etcd
8   layeringDefinition:
9     abstract: false
10     layer: site
11     parentSelector:
12       name: kubernetes-etcd-global
13     actions:
14       - method: merge
15         path: .
16   storagePolicy: cleartext
17   substitutions:
18     # Generate a list of control plane nodes (i.e. genesis node + master node
19     # list) on which k8s 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.
22     - src:
23         schema: pegleg/CommonAddresses/v1
24         name: common-addresses
25         path: .genesis.hostname
26       dest:
27         path: .values.nodes[0].name
28     - src:
29         schema: pegleg/CommonAddresses/v1
30         name: common-addresses
31         path: .masters[0].hostname
32       dest:
33         path: .values.nodes[1].name
34     - src:
35         schema: pegleg/CommonAddresses/v1
36         name: common-addresses
37         path: .masters[1].hostname
38       dest:
39         path: .values.nodes[2].name
40     - src:
41         schema: pegleg/CommonAddresses/v1
42         name: common-addresses
43         path: .masters[2].hostname
44       dest:
45         path: .values.nodes[3].name
46
47     # Certificate substitutions for the node names assembled on the above list.
48     # NEWSITE-CHANGEME: Per above, the number of substitutions should not need
49     # to change with a standard Airship deployment. However, the names of each
50     # deckhand certficiate should be updated with the correct hostnames for your
51     # environment. The ordering is important (Genesis is index 0, then master
52     # nodes in the order they are specified in common-addresses).
53
54     # Genesis Exception*
55     # *NOTE: This is an exception in that `genesis` is not the hostname of the
56     # genesis node, but `genesis` is reference here in the certificate names
57     # because of certain Promenade assumptions that may be addressed in the
58     # future. Therefore `genesis` is used instead of `cab23-r720-11` here.
59     - src:
60         schema: deckhand/Certificate/v1
61         name: kubernetes-etcd-genesis
62         path: .
63       dest:
64         path: .values.nodes[0].tls.client.cert
65     - src:
66         schema: deckhand/CertificateKey/v1
67         name: kubernetes-etcd-genesis
68         path: .
69       dest:
70         path: .values.nodes[0].tls.client.key
71     - src:
72         schema: deckhand/Certificate/v1
73         name: kubernetes-etcd-genesis-peer
74         path: .
75       dest:
76         path: .values.nodes[0].tls.peer.cert
77     - src:
78         schema: deckhand/CertificateKey/v1
79         name: kubernetes-etcd-genesis-peer
80         path: .
81       dest:
82         path: .values.nodes[0].tls.peer.key
83
84     # master node 1 hostname - cab23-r720-12
85     - src:
86         schema: deckhand/Certificate/v1
87         name: kubernetes-etcd-cab23-r720-12
88         path: .
89       dest:
90         path: .values.nodes[1].tls.client.cert
91     - src:
92         schema: deckhand/CertificateKey/v1
93         name: kubernetes-etcd-cab23-r720-12
94         path: .
95       dest:
96         path: .values.nodes[1].tls.client.key
97     - src:
98         schema: deckhand/Certificate/v1
99         name: kubernetes-etcd-cab23-r720-12-peer
100         path: .
101       dest:
102         path: .values.nodes[1].tls.peer.cert
103     - src:
104         schema: deckhand/CertificateKey/v1
105         name: kubernetes-etcd-cab23-r720-12-peer
106         path: .
107       dest:
108         path: .values.nodes[1].tls.peer.key
109
110     # master node 2 hostname - cab23-r720-13
111     - src:
112         schema: deckhand/Certificate/v1
113         name: kubernetes-etcd-cab23-r720-13
114         path: .
115       dest:
116         path: .values.nodes[2].tls.client.cert
117     - src:
118         schema: deckhand/CertificateKey/v1
119         name: kubernetes-etcd-cab23-r720-13
120         path: .
121       dest:
122         path: .values.nodes[2].tls.client.key
123     - src:
124         schema: deckhand/Certificate/v1
125         name: kubernetes-etcd-cab23-r720-13-peer
126         path: .
127       dest:
128         path: .values.nodes[2].tls.peer.cert
129     - src:
130         schema: deckhand/CertificateKey/v1
131         name: kubernetes-etcd-cab23-r720-13-peer
132         path: $
133       dest:
134         path: .values.nodes[2].tls.peer.key
135
136     # master node 3 hostname - cab23-r720-14
137     - src:
138         schema: deckhand/Certificate/v1
139         name: kubernetes-etcd-cab23-r720-14
140         path: .
141       dest:
142         path: .values.nodes[3].tls.client.cert
143     - src:
144         schema: deckhand/CertificateKey/v1
145         name: kubernetes-etcd-cab23-r720-14
146         path: .
147       dest:
148         path: .values.nodes[3].tls.client.key
149     - src:
150         schema: deckhand/Certificate/v1
151         name: kubernetes-etcd-cab23-r720-14-peer
152         path: .
153       dest:
154         path: .values.nodes[3].tls.peer.cert
155     - src:
156         schema: deckhand/CertificateKey/v1
157         name: kubernetes-etcd-cab23-r720-14-peer
158         path: $
159       dest:
160         path: .values.nodes[3].tls.peer.key
161
162 data: {}
163 ...