525d40c1c6ac66ccb96b202807da3f84d18c02db
[yaml_builds.git] / site / hpgen10 / software / charts / kubernetes / etcd / etcd.yaml
1 ---
2 ##############################################################################
3 # Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.        #
4 #                                                                            #
5 # Licensed under the Apache License, Version 2.0 (the "License"); you may    #
6 # not use this file except in compliance with the License.                   #
7 #                                                                            #
8 # You may obtain a copy of the License at                                    #
9 #       http://www.apache.org/licenses/LICENSE-2.0                           #
10 #                                                                            #
11 # Unless required by applicable law or agreed to in writing, software        #
12 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT  #
13 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.           #
14 # See the License for the specific language governing permissions and        #
15 # limitations under the License.                                             #
16 ##############################################################################
17
18 schema: armada/Chart/v1
19 metadata:
20   schema: metadata/Document/v1
21   name: kubernetes-etcd
22   layeringDefinition:
23     abstract: false
24     layer: site
25     parentSelector:
26       name: kubernetes-etcd-global
27     actions:
28       - method: merge
29         path: .
30   storagePolicy: cleartext
31   substitutions:
32
33   # Chart source
34     - src:
35         schema: pegleg/SoftwareVersions/v1
36         name: software-versions
37         path: .charts.kubernetes.etcd
38       dest:
39         path: .source
40
41     # Images
42     - src:
43         schema: pegleg/SoftwareVersions/v1
44         name: software-versions
45         path: .images.kubernetes.etcd
46       dest:
47         path: .values.images.tags
48
49     # IP addresses
50     - src:
51         schema: pegleg/CommonAddresses/v1
52         name: common-addresses
53         path: .kubernetes.etcd_service_ip
54       dest:
55         path: .values.service.ip
56     - src:
57         schema: pegleg/CommonAddresses/v1
58         name: common-addresses
59         path: .kubernetes.etcd_service_ip
60       dest:
61         path: .values.anchor.etcdctl_endpoint
62
63     # CAs
64     - src:
65         schema: deckhand/CertificateAuthority/v1
66         name: kubernetes-etcd
67         path: .
68       dest:
69         path: .values.secrets.tls.client.ca
70     - src:
71         schema: deckhand/CertificateAuthority/v1
72         name: kubernetes-etcd-peer
73         path: .
74       dest:
75         path: .values.secrets.tls.peer.ca
76
77     - src:
78         schema: deckhand/Certificate/v1
79         name: kubernetes-etcd-anchor
80         path: .
81       dest:
82         path: .values.secrets.anchor.tls.cert
83     - src:
84         schema: deckhand/CertificateKey/v1
85         name: kubernetes-etcd-anchor
86         path: .
87       dest:
88         path: .values.secrets.anchor.tls.key
89
90     # Node names
91     - src:
92         schema: pegleg/CommonAddresses/v1
93         name: common-addresses
94         path: .masters[0].hostname
95       dest:
96         path: .values.nodes[0].name
97     - src:
98         schema: pegleg/CommonAddresses/v1
99         name: common-addresses
100         path: .masters[1].hostname
101       dest:
102         path: .values.nodes[1].name
103     - src:
104         schema: pegleg/CommonAddresses/v1
105         name: common-addresses
106         path: .genesis.hostname
107       dest:
108         path: .values.nodes[2].name
109
110     # Server certs
111     - src:
112         schema: deckhand/Certificate/v1
113         name: kubernetes-etcd-aknode31
114         path: .
115       dest:
116         path: .values.nodes[0].tls.client.cert
117     - src:
118         schema: deckhand/CertificateKey/v1
119         name: kubernetes-etcd-aknode31
120         path: .
121       dest:
122         path: .values.nodes[0].tls.client.key
123     - src:
124         schema: deckhand/Certificate/v1
125         name: kubernetes-etcd-aknode31-peer
126         path: .
127       dest:
128         path: .values.nodes[0].tls.peer.cert
129     - src:
130         schema: deckhand/CertificateKey/v1
131         name: kubernetes-etcd-aknode31-peer
132         path: .
133       dest:
134         path: .values.nodes[0].tls.peer.key
135     - src:
136         schema: deckhand/Certificate/v1
137         name: kubernetes-etcd-aknode32
138         path: .
139       dest:
140         path: .values.nodes[1].tls.client.cert
141     - src:
142         schema: deckhand/CertificateKey/v1
143         name: kubernetes-etcd-aknode32
144         path: .
145       dest:
146         path: .values.nodes[1].tls.client.key
147     - src:
148         schema: deckhand/Certificate/v1
149         name: kubernetes-etcd-aknode32-peer
150         path: .
151       dest:
152         path: .values.nodes[1].tls.peer.cert
153     - src:
154         schema: deckhand/CertificateKey/v1
155         name: kubernetes-etcd-aknode32-peer
156         path: .
157       dest:
158         path: .values.nodes[1].tls.peer.key
159
160     # Genesis node
161     - src:
162         schema: deckhand/Certificate/v1
163         name: kubernetes-etcd-genesis
164         path: .
165       dest:
166         path: .values.nodes[2].tls.client.cert
167     - src:
168         schema: deckhand/CertificateKey/v1
169         name: kubernetes-etcd-genesis
170         path: .
171       dest:
172         path: .values.nodes[2].tls.client.key
173     - src:
174         schema: deckhand/Certificate/v1
175         name: kubernetes-etcd-genesis-peer
176         path: .
177       dest:
178         path: .values.nodes[2].tls.peer.cert
179     - src:
180         schema: deckhand/CertificateKey/v1
181         name: kubernetes-etcd-genesis-peer
182         path: $
183       dest:
184         path: .values.nodes[2].tls.peer.key
185
186 data: {}
187 ...