summaryrefslogtreecommitdiff
path: root/mariadb/apache2-enable-letsencrypt-default-ssl
blob: 351b42a7174f77c049e31b8d1b0e13f3cda9617d (plain)
1
2
3
4
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
#!/bin/bash
template()
{
base64 -d <<.
PE1Eb21haW4ge1NJVEVfTkFNRX0+CiAgICAgICAgTURDb250YWN0RW1haWwgd2VibWFzdGVyQHtT
SVRFX05BTUV9CiAgICAgICAgTURDZXJ0aWZpY2F0ZUFncmVlbWVudCBhY2NlcHRlZAogICAgICAg
IE1EUmVxdWlyZUh0dHBzIHRlbXBvcmFyeQo8L01Eb21haW4+CjxWaXJ0dWFsSG9zdCAqOjQ0Mz4K
CVNlcnZlck5hbWUge1NJVEVfTkFNRX0KCVNlcnZlckFkbWluIHdlYm1hc3RlckB7U0lURV9OQU1F
fQoKCURvY3VtZW50Um9vdCAvdmFyL3d3dy9odG1sCgoJIyBBdmFpbGFibGUgbG9nbGV2ZWxzOiB0
cmFjZTgsIC4uLiwgdHJhY2UxLCBkZWJ1ZywgaW5mbywgbm90aWNlLCB3YXJuLAoJIyBlcnJvciwg
Y3JpdCwgYWxlcnQsIGVtZXJnLgoJIyBJdCBpcyBhbHNvIHBvc3NpYmxlIHRvIGNvbmZpZ3VyZSB0
aGUgbG9nbGV2ZWwgZm9yIHBhcnRpY3VsYXIKCSMgbW9kdWxlcywgZS5nLgoJI0xvZ0xldmVsIGlu
Zm8gc3NsOndhcm4KCglFcnJvckxvZyAkXHtBUEFDSEVfTE9HX0RJUlx9L2Vycm9yLmxvZwoJQ3Vz
dG9tTG9nICRce0FQQUNIRV9MT0dfRElSXH0vYWNjZXNzLmxvZyBjb21iaW5lZAoKCSMgRm9yIG1v
c3QgY29uZmlndXJhdGlvbiBmaWxlcyBmcm9tIGNvbmYtYXZhaWxhYmxlLywgd2hpY2ggYXJlCgkj
IGVuYWJsZWQgb3IgZGlzYWJsZWQgYXQgYSBnbG9iYWwgbGV2ZWwsIGl0IGlzIHBvc3NpYmxlIHRv
CgkjIGluY2x1ZGUgYSBsaW5lIGZvciBvbmx5IG9uZSBwYXJ0aWN1bGFyIHZpcnR1YWwgaG9zdC4g
Rm9yIGV4YW1wbGUgdGhlCgkjIGZvbGxvd2luZyBsaW5lIGVuYWJsZXMgdGhlIENHSSBjb25maWd1
cmF0aW9uIGZvciB0aGlzIGhvc3Qgb25seQoJIyBhZnRlciBpdCBoYXMgYmVlbiBnbG9iYWxseSBk
aXNhYmxlZCB3aXRoICJhMmRpc2NvbmYiLgoJI0luY2x1ZGUgY29uZi1hdmFpbGFibGUvc2VydmUt
Y2dpLWJpbi5jb25mCgoJIyAgIFNTTCBFbmdpbmUgU3dpdGNoOgoJIyAgIEVuYWJsZS9EaXNhYmxl
IFNTTCBmb3IgdGhpcyB2aXJ0dWFsIGhvc3QuCglTU0xFbmdpbmUgb24KCgkjICAgQSBzZWxmLXNp
Z25lZCAoc25ha2VvaWwpIGNlcnRpZmljYXRlIGNhbiBiZSBjcmVhdGVkIGJ5IGluc3RhbGxpbmcK
CSMgICB0aGUgc3NsLWNlcnQgcGFja2FnZS4gU2VlCgkjICAgL3Vzci9zaGFyZS9kb2MvYXBhY2hl
Mi9SRUFETUUuRGViaWFuLmd6IGZvciBtb3JlIGluZm8uCgkjICAgSWYgYm90aCBrZXkgYW5kIGNl
cnRpZmljYXRlIGFyZSBzdG9yZWQgaW4gdGhlIHNhbWUgZmlsZSwgb25seSB0aGUKCSMgICBTU0xD
ZXJ0aWZpY2F0ZUZpbGUgZGlyZWN0aXZlIGlzIG5lZWRlZC4KCSNTU0xDZXJ0aWZpY2F0ZUZpbGUg
ICAgICAvZXRjL3NzbC9jZXJ0cy9zc2wtY2VydC1zbmFrZW9pbC5wZW0KCSNTU0xDZXJ0aWZpY2F0
ZUtleUZpbGUgICAvZXRjL3NzbC9wcml2YXRlL3NzbC1jZXJ0LXNuYWtlb2lsLmtleQoKCSMgICBT
ZXJ2ZXIgQ2VydGlmaWNhdGUgQ2hhaW46CgkjICAgUG9pbnQgU1NMQ2VydGlmaWNhdGVDaGFpbkZp
bGUgYXQgYSBmaWxlIGNvbnRhaW5pbmcgdGhlCgkjICAgY29uY2F0ZW5hdGlvbiBvZiBQRU0gZW5j
b2RlZCBDQSBjZXJ0aWZpY2F0ZXMgd2hpY2ggZm9ybSB0aGUKCSMgICBjZXJ0aWZpY2F0ZSBjaGFp
biBmb3IgdGhlIHNlcnZlciBjZXJ0aWZpY2F0ZS4gQWx0ZXJuYXRpdmVseQoJIyAgIHRoZSByZWZl
cmVuY2VkIGZpbGUgY2FuIGJlIHRoZSBzYW1lIGFzIFNTTENlcnRpZmljYXRlRmlsZQoJIyAgIHdo
ZW4gdGhlIENBIGNlcnRpZmljYXRlcyBhcmUgZGlyZWN0bHkgYXBwZW5kZWQgdG8gdGhlIHNlcnZl
cgoJIyAgIGNlcnRpZmljYXRlIGZvciBjb252aW5pZW5jZS4KCSNTU0xDZXJ0aWZpY2F0ZUNoYWlu
RmlsZSAvZXRjL2FwYWNoZTIvc3NsLmNydC9zZXJ2ZXItY2EuY3J0CgoJIyAgIENlcnRpZmljYXRl
IEF1dGhvcml0eSAoQ0EpOgoJIyAgIFNldCB0aGUgQ0EgY2VydGlmaWNhdGUgdmVyaWZpY2F0aW9u
IHBhdGggd2hlcmUgdG8gZmluZCBDQQoJIyAgIGNlcnRpZmljYXRlcyBmb3IgY2xpZW50IGF1dGhl
bnRpY2F0aW9uIG9yIGFsdGVybmF0aXZlbHkgb25lCgkjICAgaHVnZSBmaWxlIGNvbnRhaW5pbmcg
YWxsIG9mIHRoZW0gKGZpbGUgbXVzdCBiZSBQRU0gZW5jb2RlZCkKCSMgICBOb3RlOiBJbnNpZGUg
U1NMQ0FDZXJ0aWZpY2F0ZVBhdGggeW91IG5lZWQgaGFzaCBzeW1saW5rcwoJIwkgIHRvIHBvaW50
IHRvIHRoZSBjZXJ0aWZpY2F0ZSBmaWxlcy4gVXNlIHRoZSBwcm92aWRlZAoJIwkgIE1ha2VmaWxl
IHRvIHVwZGF0ZSB0aGUgaGFzaCBzeW1saW5rcyBhZnRlciBjaGFuZ2VzLgoJI1NTTENBQ2VydGlm
aWNhdGVQYXRoIC9ldGMvc3NsL2NlcnRzLwoJI1NTTENBQ2VydGlmaWNhdGVGaWxlIC9ldGMvYXBh
Y2hlMi9zc2wuY3J0L2NhLWJ1bmRsZS5jcnQKCgkjICAgQ2VydGlmaWNhdGUgUmV2b2NhdGlvbiBM
aXN0cyAoQ1JMKToKCSMgICBTZXQgdGhlIENBIHJldm9jYXRpb24gcGF0aCB3aGVyZSB0byBmaW5k
IENBIENSTHMgZm9yIGNsaWVudAoJIyAgIGF1dGhlbnRpY2F0aW9uIG9yIGFsdGVybmF0aXZlbHkg
b25lIGh1Z2UgZmlsZSBjb250YWluaW5nIGFsbAoJIyAgIG9mIHRoZW0gKGZpbGUgbXVzdCBiZSBQ
RU0gZW5jb2RlZCkKCSMgICBOb3RlOiBJbnNpZGUgU1NMQ0FSZXZvY2F0aW9uUGF0aCB5b3UgbmVl
ZCBoYXNoIHN5bWxpbmtzCgkjCSAgdG8gcG9pbnQgdG8gdGhlIGNlcnRpZmljYXRlIGZpbGVzLiBV
c2UgdGhlIHByb3ZpZGVkCgkjCSAgTWFrZWZpbGUgdG8gdXBkYXRlIHRoZSBoYXNoIHN5bWxpbmtz
IGFmdGVyIGNoYW5nZXMuCgkjU1NMQ0FSZXZvY2F0aW9uUGF0aCAvZXRjL2FwYWNoZTIvc3NsLmNy
bC8KCSNTU0xDQVJldm9jYXRpb25GaWxlIC9ldGMvYXBhY2hlMi9zc2wuY3JsL2NhLWJ1bmRsZS5j
cmwKCgkjICAgQ2xpZW50IEF1dGhlbnRpY2F0aW9uIChUeXBlKToKCSMgICBDbGllbnQgY2VydGlm
aWNhdGUgdmVyaWZpY2F0aW9uIHR5cGUgYW5kIGRlcHRoLiAgVHlwZXMgYXJlCgkjICAgbm9uZSwg
b3B0aW9uYWwsIHJlcXVpcmUgYW5kIG9wdGlvbmFsX25vX2NhLiAgRGVwdGggaXMgYQoJIyAgIG51
bWJlciB3aGljaCBzcGVjaWZpZXMgaG93IGRlZXBseSB0byB2ZXJpZnkgdGhlIGNlcnRpZmljYXRl
CgkjICAgaXNzdWVyIGNoYWluIGJlZm9yZSBkZWNpZGluZyB0aGUgY2VydGlmaWNhdGUgaXMgbm90
IHZhbGlkLgoJI1NTTFZlcmlmeUNsaWVudCByZXF1aXJlCgkjU1NMVmVyaWZ5RGVwdGggIDEwCgoJ
IyAgIFNTTCBFbmdpbmUgT3B0aW9uczoKCSMgICBTZXQgdmFyaW91cyBvcHRpb25zIGZvciB0aGUg
U1NMIGVuZ2luZS4KCSMgICBvIEZha2VCYXNpY0F1dGg6CgkjICAgIFRyYW5zbGF0ZSB0aGUgY2xp
ZW50IFguNTA5IGludG8gYSBCYXNpYyBBdXRob3Jpc2F0aW9uLiAgVGhpcyBtZWFucyB0aGF0Cgkj
ICAgIHRoZSBzdGFuZGFyZCBBdXRoL0RCTUF1dGggbWV0aG9kcyBjYW4gYmUgdXNlZCBmb3IgYWNj
ZXNzIGNvbnRyb2wuICBUaGUKCSMgICAgdXNlciBuYW1lIGlzIHRoZSBgb25lIGxpbmUnIHZlcnNp
b24gb2YgdGhlIGNsaWVudCdzIFguNTA5IGNlcnRpZmljYXRlLgoJIyAgICBOb3RlIHRoYXQgbm8g
cGFzc3dvcmQgaXMgb2J0YWluZWQgZnJvbSB0aGUgdXNlci4gRXZlcnkgZW50cnkgaW4gdGhlIHVz
ZXIKCSMgICAgZmlsZSBuZWVkcyB0aGlzIHBhc3N3b3JkOiBgeHhqMzFaTVRaemtWQScuCgkjICAg
byBFeHBvcnRDZXJ0RGF0YToKCSMgICAgVGhpcyBleHBvcnRzIHR3byBhZGRpdGlvbmFsIGVudmly
b25tZW50IHZhcmlhYmxlczogU1NMX0NMSUVOVF9DRVJUIGFuZAoJIyAgICBTU0xfU0VSVkVSX0NF
UlQuIFRoZXNlIGNvbnRhaW4gdGhlIFBFTS1lbmNvZGVkIGNlcnRpZmljYXRlcyBvZiB0aGUKCSMg
ICAgc2VydmVyIChhbHdheXMgZXhpc3RpbmcpIGFuZCB0aGUgY2xpZW50IChvbmx5IGV4aXN0aW5n
IHdoZW4gY2xpZW50CgkjICAgIGF1dGhlbnRpY2F0aW9uIGlzIHVzZWQpLiBUaGlzIGNhbiBiZSB1
c2VkIHRvIGltcG9ydCB0aGUgY2VydGlmaWNhdGVzCgkjICAgIGludG8gQ0dJIHNjcmlwdHMuCgkj
ICAgbyBTdGRFbnZWYXJzOgoJIyAgICBUaGlzIGV4cG9ydHMgdGhlIHN0YW5kYXJkIFNTTC9UTFMg
cmVsYXRlZCBgU1NMXyonIGVudmlyb25tZW50IHZhcmlhYmxlcy4KCSMgICAgUGVyIGRlZmF1bHQg
dGhpcyBleHBvcnRhdGlvbiBpcyBzd2l0Y2hlZCBvZmYgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMs
CgkjICAgIGJlY2F1c2UgdGhlIGV4dHJhY3Rpb24gc3RlcCBpcyBhbiBleHBlbnNpdmUgb3BlcmF0
aW9uIGFuZCBpcyB1c3VhbGx5CgkjICAgIHVzZWxlc3MgZm9yIHNlcnZpbmcgc3RhdGljIGNvbnRl
bnQuIFNvIG9uZSB1c3VhbGx5IGVuYWJsZXMgdGhlCgkjICAgIGV4cG9ydGF0aW9uIGZvciBDR0kg
YW5kIFNTSSByZXF1ZXN0cyBvbmx5LgoJIyAgIG8gT3B0UmVuZWdvdGlhdGU6CgkjICAgIFRoaXMg
ZW5hYmxlcyBvcHRpbWl6ZWQgU1NMIGNvbm5lY3Rpb24gcmVuZWdvdGlhdGlvbiBoYW5kbGluZyB3
aGVuIFNTTAoJIyAgICBkaXJlY3RpdmVzIGFyZSB1c2VkIGluIHBlci1kaXJlY3RvcnkgY29udGV4
dC4KCSNTU0xPcHRpb25zICtGYWtlQmFzaWNBdXRoICtFeHBvcnRDZXJ0RGF0YSArU3RyaWN0UmVx
dWlyZQoJPEZpbGVzTWF0Y2ggIlxcLig/OmNnaXxzaHRtbHxwaHRtbHxwaHApJCI+CgkJU1NMT3B0
aW9ucyArU3RkRW52VmFycwoJPC9GaWxlc01hdGNoPgoJPERpcmVjdG9yeSAvdXNyL2xpYi9jZ2kt
YmluPgoJCVNTTE9wdGlvbnMgK1N0ZEVudlZhcnMKCTwvRGlyZWN0b3J5PgoKCSMgICBTU0wgUHJv
dG9jb2wgQWRqdXN0bWVudHM6CgkjICAgVGhlIHNhZmUgYW5kIGRlZmF1bHQgYnV0IHN0aWxsIFNT
TC9UTFMgc3RhbmRhcmQgY29tcGxpYW50IHNodXRkb3duCgkjICAgYXBwcm9hY2ggaXMgdGhhdCBt
b2Rfc3NsIHNlbmRzIHRoZSBjbG9zZSBub3RpZnkgYWxlcnQgYnV0IGRvZXNuJ3Qgd2FpdCBmb3IK
CSMgICB0aGUgY2xvc2Ugbm90aWZ5IGFsZXJ0IGZyb20gY2xpZW50LiBXaGVuIHlvdSBuZWVkIGEg
ZGlmZmVyZW50IHNodXRkb3duCgkjICAgYXBwcm9hY2ggeW91IGNhbiB1c2Ugb25lIG9mIHRoZSBm
b2xsb3dpbmcgdmFyaWFibGVzOgoJIyAgIG8gc3NsLXVuY2xlYW4tc2h1dGRvd246CgkjICAgIFRo
aXMgZm9yY2VzIGFuIHVuY2xlYW4gc2h1dGRvd24gd2hlbiB0aGUgY29ubmVjdGlvbiBpcyBjbG9z
ZWQsIGkuZS4gbm8KCSMgICAgU1NMIGNsb3NlIG5vdGlmeSBhbGVydCBpcyBzZW5kIG9yIGFsbG93
ZWQgdG8gcmVjZWl2ZWQuICBUaGlzIHZpb2xhdGVzCgkjICAgIHRoZSBTU0wvVExTIHN0YW5kYXJk
IGJ1dCBpcyBuZWVkZWQgZm9yIHNvbWUgYnJhaW4tZGVhZCBicm93c2Vycy4gVXNlCgkjICAgIHRo
aXMgd2hlbiB5b3UgcmVjZWl2ZSBJL08gZXJyb3JzIGJlY2F1c2Ugb2YgdGhlIHN0YW5kYXJkIGFw
cHJvYWNoIHdoZXJlCgkjICAgIG1vZF9zc2wgc2VuZHMgdGhlIGNsb3NlIG5vdGlmeSBhbGVydC4K
CSMgICBvIHNzbC1hY2N1cmF0ZS1zaHV0ZG93bjoKCSMgICAgVGhpcyBmb3JjZXMgYW4gYWNjdXJh
dGUgc2h1dGRvd24gd2hlbiB0aGUgY29ubmVjdGlvbiBpcyBjbG9zZWQsIGkuZS4gYQoJIyAgICBT
U0wgY2xvc2Ugbm90aWZ5IGFsZXJ0IGlzIHNlbmQgYW5kIG1vZF9zc2wgd2FpdHMgZm9yIHRoZSBj
bG9zZSBub3RpZnkKCSMgICAgYWxlcnQgb2YgdGhlIGNsaWVudC4gVGhpcyBpcyAxMDAlIFNTTC9U
TFMgc3RhbmRhcmQgY29tcGxpYW50LCBidXQgaW4KCSMgICAgcHJhY3RpY2Ugb2Z0ZW4gY2F1c2Vz
IGhhbmdpbmcgY29ubmVjdGlvbnMgd2l0aCBicmFpbi1kZWFkIGJyb3dzZXJzLiBVc2UKCSMgICAg
dGhpcyBvbmx5IGZvciBicm93c2VycyB3aGVyZSB5b3Uga25vdyB0aGF0IHRoZWlyIFNTTCBpbXBs
ZW1lbnRhdGlvbgoJIyAgICB3b3JrcyBjb3JyZWN0bHkuCgkjICAgTm90aWNlOiBNb3N0IHByb2Js
ZW1zIG9mIGJyb2tlbiBjbGllbnRzIGFyZSBhbHNvIHJlbGF0ZWQgdG8gdGhlIEhUVFAKCSMgICBr
ZWVwLWFsaXZlIGZhY2lsaXR5LCBzbyB5b3UgdXN1YWxseSBhZGRpdGlvbmFsbHkgd2FudCB0byBk
aXNhYmxlCgkjICAga2VlcC1hbGl2ZSBmb3IgdGhvc2UgY2xpZW50cywgdG9vLiBVc2UgdmFyaWFi
bGUgIm5va2VlcGFsaXZlIiBmb3IgdGhpcy4KCSMgICBTaW1pbGFybHksIG9uZSBoYXMgdG8gZm9y
Y2Ugc29tZSBjbGllbnRzIHRvIHVzZSBIVFRQLzEuMCB0byB3b3JrYXJvdW5kCgkjICAgdGhlaXIg
YnJva2VuIEhUVFAvMS4xIGltcGxlbWVudGF0aW9uLiBVc2UgdmFyaWFibGVzICJkb3duZ3JhZGUt
MS4wIiBhbmQKCSMgICAiZm9yY2UtcmVzcG9uc2UtMS4wIiBmb3IgdGhpcy4KCSMgQnJvd3Nlck1h
dGNoICJNU0lFIFsyLTZdIiBcXAoJIwlub2tlZXBhbGl2ZSBzc2wtdW5jbGVhbi1zaHV0ZG93biBc
XAoJIwlkb3duZ3JhZGUtMS4wIGZvcmNlLXJlc3BvbnNlLTEuMAoKPC9WaXJ0dWFsSG9zdD4K
.
}

dependencies_source()
{
base64 -d <<.
IyEvYmluL2ZhbHNlCgppbnRlcnNlY3Rpb24oKQp7CiAgICAgICAgY29tbSAtMTIgIiRAIgp9Cgpk
aWZmZXJlbmNlKCkKewogICAgICAgIGNvbW0gLTIzICIkQCIKfQoKZXh0cmFjdF93b3JkcygpCnsK
ICAgICAgICBncmVwIC1vIC1FICdcYlx3K1xiJyB8IHNvcnQgLXUKfQoKaW1tZWRpYXRlX2RlcGVu
ZGVuY2llczEoKQp7CiAgICAgICAgaW50ZXJzZWN0aW9uIFwKICAgICAgICAgICAgICAgIDwoY29t
cGdlbiAtQSBmdW5jdGlvbiB8IHNvcnQgLXUpIFwKICAgICAgICAgICAgICAgIDwoZGVjbGFyZSAt
ZiAiJDEiIHwgZXh0cmFjdF93b3JkcykKfQoKaW1tZWRpYXRlX2RlcGVuZGVuY2llcygpCnsKICAg
ICAgICAoZm9yIGYKICAgICAgICBkbwogICAgICAgICAgICAgICAgaW1tZWRpYXRlX2RlcGVuZGVu
Y2llczEgIiRmIgogICAgICAgIGRvbmUpIHwgc29ydCAtdQp9CgpyZWN1cnNpdmVfZGVwZW5kZW5j
aWVzKCkKewogICAgICAgIGxvY2FsIHNlZW49KCkKICAgICAgICB3aGlsZSBbICQjIC1ndCAwIF0K
ICAgICAgICBkbwogICAgICAgICAgICAgICAgc2Vlbis9KCIkQCIpCiAgICAgICAgICAgICAgICBz
ZXQgLS0gJChkaWZmZXJlbmNlIDwoaW1tZWRpYXRlX2RlcGVuZGVuY2llcyAiJEAiKSBcCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwocHJpbnRmICclc1xuJyAiJHtzZWVuW0Bd
fSIgfCBzb3J0IC11KSkKICAgICAgICBkb25lCiAgICAgICAgcHJpbnRmICclc1xuJyAiJHtzZWVu
W0BdfSIKfQo=
.
}

bash_rpc_source()
{
base64 -d <<.
IyEvYmluL2ZhbHNlCgpjb21tYW5kIC12IHJlY3Vyc2l2ZV9kZXBlbmRlbmNpZXMgPi9kZXYvbnVs
bCB8fApzb3VyY2UgZGVwZW5kZW5jaWVzLmJhc2gKCiMgSW5wdXQ6ICRCQVNIX1JQQ19SRU1PVEVf
REVTVCAtIGhvc3RuYW1lIHBhc3NlZCB0byBzc2ggKHVzZXMgc3NoIGhvc3QgYWxpYXNlcykKIyBJ
bnB1dDogJEJBU0hfUlBDX1NTSF9PUFRJT05TIC0gb3B0aW9uIGFyZ3VtZW50cyBwYXNzZWQgdG8g
c3NoICh0aGV5IHByZWNlZGUgJy0tJykKIyBJbnB1dDogIiQwIiAtIGNvcGllZCB0byByZW1vdGUg
YmFzaCdzICQwCiMgSW5wdXQ6ICQxIC0gc2hlbGwgc2NyaXB0IHNvdXJjZSBjb2RlIHRvIHJ1biBp
biB0aGUgcmVtb3RlIGJhc2gKIyBJbnB1dDogJDIsICQzLCAuLi4gLSBjb21tYW5kIGxpbmUgYXJn
dW1lbnRzIHBhc3NlZCB0byB0aGUgcmVtb3RlIGJhc2ggYXMgJDEsICQyLCAuLi4KIyBJbnB1dDog
c3RkaW4sIHN0ZG91dCwgc3RkZXJyOiBwYXNzZWQgdG8gdGhlIHJlbW90ZSBiYXNoIG92ZXIgc3No
CiMgSW5wdXQ6ICIkU0hFTEwiIC0gcmVtb3RlIHNoZWxsIHRvIGxhdW5jaCAoYmV0dGVyIGJlIGJh
c2gpCl9fYmFzaHJwY19fcmVtb3RlX3J1bl9zY3JpcHQoKQp7CiAgICAgICAgbG9jYWwgc2NyaXB0
PSIkMSIKICAgICAgICBzaGlmdAogICAgICAgIEJBU0hfUlBDX1NIRUxMX09QVElPTlM9KC0tbm9y
YyAtLW5vcHJvZmlsZSkKICAgICAgICAjIHByaW50ZiAnREVCVUc6PCVzPlxuJyAiJHtCQVNIX1JQ
Q19TU0hfT1BUSU9OU1tAXX0iID4mMgogICAgICAgIGV4ZWMgc3NoIFwKICAgICAgICAgICAgICAg
ICIke0JBU0hfUlBDX1NTSF9PUFRJT05TW0BdfSIgLS0gXAogICAgICAgICAgICAgICAgIiR7QkFT
SF9SUENfUkVNT1RFX0RFU1Q6LWxvY2FsaG9zdH0iIFwKICAgICAgICAgICAgICAgICIkU0hFTEwi
ICIke0JBU0hfUlBDX1NIRUxMX09QVElPTlNbQF19IiBcCiAgICAgICAgICAgICAgICAtYyAiJHtz
Y3JpcHRAUX0iIFwKICAgICAgICAgICAgICAgICIkMCIgIiR7QEBRfSIKfQoKd2l0aF9zc2hfb3B0
aW9ucygpIHsgX19iYXNocnBjX193aXRoX3NzaF9vcHRpb25zICIkQCI7IH0KX19iYXNocnBjX193
aXRoX3NzaF9vcHRpb25zKCkKewogICAgICAgIGxvY2FsIC1hIEJBU0hfUlBDX1NTSF9PUFRJT05T
CiAgICAgICAgd2hpbGUgWyAiJDEiICE9ICctLScgXQogICAgICAgIGRvCiAgICAgICAgICAgICAg
ICBpZiBbICQjIC1ndCAwIF0KICAgICAgICAgICAgICAgIHRoZW4KICAgICAgICAgICAgICAgICAg
ICAgICAgQkFTSF9SUENfU1NIX09QVElPTlMrPSgiJDEiKQogICAgICAgICAgICAgICAgICAgICAg
ICBzaGlmdAogICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAg
ZmkKICAgICAgICAgICAgICAgID4mMiBwcmludGYgJyVzOiBFcnJvcjogJXNcbicgIiQwIiBcCid3
aXRoX3NzaF9vcHRpb25zKCk6IGV4cGVjdGVkIGFyZ3VtZW50ICItLSIgbm90IGZvdW5kJwogICAg
ICAgICAgICAgICAgZXhpdCAxCiAgICAgICAgZG9uZQogICAgICAgIHNoaWZ0CiAgICAgICAgIiRA
Igp9Cgp3aXRoX3NzaF9vcHRpb24oKSB7IF9fYmFzaHJwY19fd2l0aF9zc2hfb3B0aW9uICIkQCI7
IH0KX19iYXNocnBjX193aXRoX3NzaF9vcHRpb24oKQp7CiAgICAgICAgbG9jYWwgLWEgQkFTSF9S
UENfU1NIX09QVElPTlM9KCIke0JBU0hfUlBDX1NTSF9PUFRJT05TW0BdfSIpCiAgICAgICAgQkFT
SF9SUENfU1NIX09QVElPTlMrPSgiJDEiKQogICAgICAgIHNoaWZ0CiAgICAgICAgIiRAIgp9Cgoj
IFByZXNlcnZlcyB0aGUgcmVzdCBvZiBzdGRpbiBmb3IgdGhlIGNvbW1hbmQuCl9fYmFzaHJwY19f
ZXZhbF9zdGRpbigpCnsKICAgICAgICBbICIkMSIgXSAmJiByZWFkIC1OIiQxIiAtciB8fCByZXR1
cm4KCiAgICAgICAgIyBQcmVwYXJlICIkQCIgZm9yIHNjcmlwdCBleGVjdXRpb24gY29udGV4dC4K
ICAgICAgICBzaGlmdAoKICAgICAgICAjIEV2ZW4gdW5zZXQgUkVQTFkgdG8gbGVhdmUgcHJpc3Rp
bmUgZW52aXJvbm1lbnQuCiAgICAgICAgZXZhbCAidW5zZXQgUkVQTFk7ICRSRVBMWSIKfQoKX19i
YXNocnBjX19ydW5fZnVuY3Rpb25fc2ltcGxlKCkKewogICAgICAgIHNjcmlwdF9zb3VyY2U9JChk
ZWNsYXJlIC1mICIkMSIgJiYgcHJpbnRmICciJEAiO1xuJykKICAgICAgICBfX2Jhc2hycGNfX3Jl
bW90ZV9ydW5fc2NyaXB0ICBcCiAgICAgICAgICAgICAgICAiJHNjcmlwdF9zb3VyY2UiIFwKICAg
ICAgICAgICAgICAgICIkQCIKfQoKX19iYXNocnBjX19ub3R0eV9zdGFnZTEoKQp7CiAgICAgICAg
WyAiJDEiIF0gJiYKICAgICAgICByZWFkIC1OIiQxIiAtciAmJiAjIFJlYWQgc2NyaXB0IGZyb20g
c3RkaW4sIG11bmdlcyBSRVBMWQogICAgICAgIHNoaWZ0ICYmICMgUHJlcGFyZSAiJEAiIGZvciBz
Y3JpcHQgZXhlY3V0aW9uIGNvbnRleHQuCiAgICAgICAgZXZhbCAidW5zZXQgUkVQTFk7ICRSRVBM
WSIgIyBVbnNldCBtdW5nZWQgUkVQTFkgaW4gZXhlYyBjb250ZXh0Cn0KCl9fYmFzaHJwY19fcmVt
b3RlX3J1bl9zdGFnZTFfbm90dHkoKQp7CiAgICAgICAgc3RhZ2UxX3NvdXJjZT0kKAogICAgICAg
ICAgICAgICAgZGVjbGFyZSAtZiBfX2Jhc2hycGNfX25vdHR5X3N0YWdlMSB8CiAgICAgICAgICAg
ICAgICAgICAgICAgIHNlZCAtRW5lICdzL14gezR9Ly9wJwogICAgICAgICkKICAgICAgICBzdGFn
ZTJfc291cmNlPSQxCiAgICAgICAgc2hpZnQKICAgICAgICB7CiAgICAgICAgICAgICAgICBwcmlu
dGYgJyVzJyAiJHN0YWdlMl9zb3VyY2UiCiAgICAgICAgICAgICAgICBjYXQKICAgICAgICB9IHwK
ICAgICAgICAgICAgICAgIF9fYmFzaHJwY19fcmVtb3RlX3J1bl9zY3JpcHQgXAogICAgICAgICAg
ICAgICAgICAgICAgICAiJHN0YWdlMV9zb3VyY2UiICIkeyNzdGFnZTJfc291cmNlfSIgXAogICAg
ICAgICAgICAgICAgICAgICAgICAiJEAiCn0KCl9fYmFzaHJwY19fcmVhZF9zdGRpbigpCnsKICAg
ICAgICBSRVBMWT0KICAgICAgICByZWFkIC1yIC1OMjE0NzQ4MzY0NyB8fCBbICIkUkVQTFkiIF0K
fQoKX19iYXNocnBjX190dHlfc3RhZ2UxKCkKewogICAgICAgIGxvY2FsIFNFVF9URVJNPSIkMSIK
ICAgICAgICBsb2NhbCBQUkVMVURFPSJzaGlmdDske0JBU0hfUlBDX1RSQUNFX1JFTU9URTorIHNl
dCAteDt9IgogICAgICAgIF9fYmFzaHJwY19fcmVhZF9zdGRpbiA8PEVORAojIFdlIHNhdmVkIHN0
YWdlMiBpbiBURVJNLgojIFN0b3JlIGl0IGluIHBhcmFtZXRlciAxOgpzZXQgLS0gIlwkVEVSTSIg
IlwkQCIKIyBSZXN0b3JlIG9yaWdpbmFsIFRFUk06ClRFUk09JHtTRVRfVEVSTUBRfQojIFJ1biBz
dGFnZTI6CnNvdXJjZSA8KHByaW50ZiAnJXNcbiVzJyAke1BSRUxVREVAUX0gIlwkMSIpCkVORAog
ICAgICAgIHByaW50ZiAnJXMnICIkUkVQTFkiCn0KCl9fYmFzaHJwY19fcmVtb3RlX3J1bl9zdGFn
ZTFfdHR5KCkKewogICAgICAgIHN0YWdlMl9zb3VyY2U9JDEKICAgICAgICBzdGFnZTFfc291cmNl
PSQoX19iYXNocnBjX190dHlfc3RhZ2UxICIkVEVSTSIgfCBncmVwIC12ICdeIycpCiAgICAgICAg
c2hpZnQKICAgICAgICAoCiAgICAgICAgICAgICAgICAjIHByaW50ZiAnREVCVUcyOjwlcz5cbicg
IiR7QkFTSF9SUENfU1NIX09QVElPTlNbQF19IiA+JjIKICAgICAgICAgICAgICAgIFRFUk09IiRz
dGFnZTJfc291cmNlIiBcCiAgICAgICAgICAgICAgICAgICAgICAgIF9fYmFzaHJwY19fd2l0aF9z
c2hfb3B0aW9uIC10IFwKICAgICAgICAgICAgICAgICAgICAgICAgX19iYXNocnBjX19yZW1vdGVf
cnVuX3NjcmlwdCBcCiAgICAgICAgICAgICAgICAgICAgICAgICIkc3RhZ2UxX3NvdXJjZSIgIiRA
IgogICAgICAgICkKfQoKcmVtb3RlX3J1bl9mdW5jdGlvbigpCnsKICAgICAgICBtYWluPSQxCiAg
ICAgICAgIyBmdW5jcz0kKGNvbXBnZW4gLUEgZnVuY3Rpb24pCiAgICAgICAgZnVuY3M9JChyZWN1
cnNpdmVfZGVwZW5kZW5jaWVzICIkbWFpbiIpCiAgICAgICAgc3RhZ2UyX3NvdXJjZT0kKAogICAg
ICAgICAgICAgICAgZGVjbGFyZSAtZiAkZnVuY3MKICAgICAgICAgICAgICAgIHByaW50ZiAnIiRA
IlxuJwogICAgICAgICkKICAgICAgICBpZiBbIC10IDAgXQogICAgICAgIHRoZW4KICAgICAgICAg
ICAgICAgIF9fYmFzaHJwY19fcmVtb3RlX3J1bl9zdGFnZTFfdHR5ICIkc3RhZ2UyX3NvdXJjZSIg
IiRAIgogICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIF9fYmFzaHJwY19fcmVtb3RlX3J1bl9z
dGFnZTFfbm90dHkgIiRzdGFnZTJfc291cmNlIiAiJEAiCiAgICAgICAgZmkKfQoK
.
}

apply_template()
{
	ctpl -c "$(printf 'SITE_NAME="%s";' "$1")" <(template)
}

mv_idempotent()
{
	if diff -s "$1" "$2" >/dev/null 2>&1
	then
		rm -- "$1"
	else
		mv -v --suffix=~"$(date -Ins)" --backup -T -- "$1" "$2"
	fi
}

install_prerequisites()
{
	command -v ctpl >/dev/null &&
	command -v apache2ctl >/dev/null ||
	apt install --no-upgrade ctpl apache2
	a2query -m md >/dev/null || a2enmod md >&2
	a2query -m ssl >/dev/null || a2enmod ssl >&2
}

main()
{
	set -e
	set -o pipefail

	install_prerequisites
	REAL_OUT=/etc/apache2/sites-available/default-ssl.conf
	TMP_OUT=$REAL_OUT.tmp
	set -- "$(hostname --fqdn)"
	apply_template "$1" > "$TMP_OUT"
	mv_idempotent "$TMP_OUT" "$REAL_OUT"
	a2query -s default-ssl >/dev/null || a2ensite default-ssl >&2

	staging=/etc/apache2/md/staging/$1
	domains=/etc/apache2/md/domains/$1
	if [ -f "$domains"/pubcert.pem ] # Success!
	then
		ls -lR -- "$domains" >&2
	elif [ -f "$staging"/pubcert.pem ] # Probably done, just need to reload:
	then
		set -x
		systemctl reload apache2
	elif [ -d "$staging" ] # Still trying, probably just need to wait:
	then
		ls -lR -- "$staging" >&2
	else # Probably first run, just installed:
		set -x
		systemctl reload apache2
	fi
	exit
}

eval "$(dependencies_source)"
eval "$(bash_rpc_source)"

target=${1:-$(hostname --fqdn)}
BASH_RPC_REMOTE_DEST=$target remote_run_function main