@@ -83,7 +83,7 @@ app.kubernetes.io/managed-by: {{ .Release.Service }}
83
83
{ {- end } }
84
84
{ {- end -} }
85
85
86
- ####################### RabbitMQ password secret #######################
86
+ ####################### RabbitMQ connection configuration #######################
87
87
{ {/*
88
88
This template renders the name of the secret that stores the password for RabbitMQ.
89
89
*/} }
@@ -95,19 +95,17 @@ app.kubernetes.io/managed-by: {{ .Release.Service }}
95
95
{ {- end } }
96
96
{ {- end -} }
97
97
98
- ########################## RabbitMQ username ##########################
99
98
{ {/*
100
99
This template renders the username for accessing RabbitMQ.
101
100
*/} }
102
101
{ {- define " invenio.rabbitmq.username" -} }
103
102
{ {- if .Values.rabbitmq.enabled } }
104
103
{ {- required " Missing .Values.rabbitmq.auth.username" .Values.rabbitmq.auth.username -} }
105
104
{ {- else } }
106
- { {- required " Missing .Values.rabbitmqExternal.username" .Values.rabbitmqExternal.username -} }
105
+ { {- required " Missing .Values.rabbitmqExternal.username" (tpl .Values.rabbitmqExternal.username .) -} }
107
106
{ {- end } }
108
107
{ {- end -} }
109
108
110
- ########################## RabbitMQ password ##########################
111
109
{ {/*
112
110
This template renders the password for accessing RabbitMQ.
113
111
*/} }
@@ -119,43 +117,61 @@ app.kubernetes.io/managed-by: {{ .Release.Service }}
119
117
{ {- end } }
120
118
{ {- end -} }
121
119
122
- ########################## RabbitMQ AMQP port ##########################
120
+ { {/*
121
+ Get the database password secret name
122
+ */} }
123
+ { {- define " invenio.rabbitmq.secretName" -} }
124
+ { {- if .Values.rabbitmq.enabled -} }
125
+ { {- required " Missing .Values.rabbitmq.auth.existingPasswordSecret" (tpl .Values.rabbitmq.auth.existingPasswordSecret .) -} }
126
+ { {- else -} }
127
+ { {- required " Missing .Values.rabbitmqExternal.existingSecret" (tpl .Values.rabbitmqExternal.existingSecret .) -} }
128
+ { {- end -} }
129
+ { {- end -} }
130
+
131
+ { {/*
132
+ Get the database password secret key
133
+ */} }
134
+ { {- define " invenio.rabbitmq.secretKey" -} }
135
+ { {- if .Values.rabbitmq.enabled -} }
136
+ { {- required " Missing .Values.rabbitmq.auth.existingSecretPasswordKey" .Values.rabbitmq.auth.existingSecretPasswordKey -} }
137
+ { {- else -} }
138
+ { {- required " Missing .Values.rabbitmqExternal.existingSecretPasswordKey" .Values.rabbitmqExternal.existingSecretPasswordKey -} }
139
+ { {- end -} }
140
+ { {- end -} }
141
+
123
142
{ {/*
124
143
This template renders the AMQP port number for RabbitMQ.
125
144
*/} }
126
- { {- define " invenio.rabbitmq.amqpPort " -} }
145
+ { {- define " invenio.rabbitmq.amqpPortString " -} }
127
146
{ {- if .Values.rabbitmq.enabled } }
128
- { {- required " Missing .Values.rabbitmq.service.ports.amqp" .Values.rabbitmq.service.ports.amqp -} }
147
+ { {- required " Missing .Values.rabbitmq.service.ports.amqp" .Values.rabbitmq.service.ports.amqp | quote -} }
129
148
{ {- else } }
130
- { {- required " Missing .Values.rabbitmqExternal.amqpPort" .Values.rabbitmqExternal.amqpPort -} }
149
+ { {- required " Missing .Values.rabbitmqExternal.amqpPort" (tpl (toString .Values.rabbitmqExternal.amqpPort) .) | quote -} }
131
150
{ {- end } }
132
151
{ {- end -} }
133
152
134
- ####################### RabbitMQ management port #######################
135
153
{ {/*
136
154
This template renders the management port number for RabbitMQ.
137
155
*/} }
138
- { {- define " invenio.rabbitmq.managementPort " -} }
156
+ { {- define " invenio.rabbitmq.managementPortString " -} }
139
157
{ {- if .Values.rabbitmq.enabled } }
140
- { {- required " Missing .Values.rabbitmq.service.ports.manager" .Values.rabbitmq.service.ports.manager -} }
158
+ { {- required " Missing .Values.rabbitmq.service.ports.manager" .Values.rabbitmq.service.ports.manager | quote -} }
141
159
{ {- else } }
142
- { {- required " Missing .Values.rabbitmqExternal.managementPort" .Values.rabbitmqExternal.managementPort -} }
160
+ { {- required " Missing .Values.rabbitmqExternal.managementPort" (tpl (toString .Values.rabbitmqExternal.managementPort) .) | quote -} }
143
161
{ {- end } }
144
162
{ {- end -} }
145
163
146
- ########################## RabbitMQ hostname ##########################
147
164
{ {/*
148
165
This template renders the hostname for RabbitMQ.
149
166
*/} }
150
167
{ {- define " invenio.rabbitmq.hostname" -} }
151
168
{ {- if .Values.rabbitmq.enabled } }
152
169
{ {- include " common.names.fullname" .Subcharts.rabbitmq -} }
153
170
{ {- else } }
154
- { {- required " Missing .Values.rabbitmqExternal.hostname" .Values.rabbitmqExternal.hostname } }
171
+ { {- required " Missing .Values.rabbitmqExternal.hostname" (tpl .Values.rabbitmqExternal.hostname .) } }
155
172
{ {- end } }
156
173
{ {- end -} }
157
174
158
- ########################## RabbitMQ protocol ##########################
159
175
{ {/*
160
176
This template renders the protocol for RabbitMQ.
161
177
*/} }
@@ -167,42 +183,47 @@ app.kubernetes.io/managed-by: {{ .Release.Service }}
167
183
{ {- end } }
168
184
{ {- end -} }
169
185
170
- ########################## RabbitMQ vhost ##########################
171
186
{ {/*
172
187
This template renders the vhost for RabbitMQ.
173
188
*/} }
174
189
{ {- define " invenio.rabbitmq.vhost" -} }
175
190
{ {- if .Values.rabbitmq.enabled } }
176
191
{ {- " " } }
177
192
{ {- else } }
178
- { {- required " Missing .Values.rabbitmqExternal.vhost" .Values.rabbitmqExternal.vhost } }
193
+ { {- required " Missing .Values.rabbitmqExternal.vhost" (tpl .Values.rabbitmqExternal.vhost .) } }
179
194
{ {- end } }
180
195
{ {- end -} }
181
196
182
- ########################## Celery broker URI ##########################
183
- { {/*
184
- This template renders the URI for connecting to RabbitMQ.
185
- */} }
186
- { {- define " invenio.rabbitmq.uri" -} }
187
- { {- $username := (include " invenio.rabbitmq.username" .) -} }
188
- { {- $password := (include " invenio.rabbitmq.password" .) -} }
189
- { {- $port := (include " invenio.rabbitmq.amqpPort" .) -} }
190
- { {- $hostname := (include " invenio.rabbitmq.hostname" .) -} }
191
- { {- $protocol := (include " invenio.rabbitmq.protocol" .) -} }
192
- { {- $vhost := (include " invenio.rabbitmq.vhost" .) -} }
193
- { {- printf " %s://%s:%s@%s:%v/%s" $protocol $username $password $hostname $port $vhost } }
194
- { {- end -} }
195
-
196
- ########################### RabbitMQ API URI ###########################
197
197
{ {/*
198
- This template renders the URI for RabbitMQ' s API endpoint.
199
- */}}
200
- {{- define "invenio.rabbitmq.apiUri" -}}
201
- {{- $username := (include "invenio.rabbitmq.username" .) -}}
202
- {{- $password := (include "invenio.rabbitmq.password" .) -}}
203
- {{- $port := (include "invenio.rabbitmq.managementPort" .) -}}
204
- {{- $hostname := (include "invenio.rabbitmq.hostname" .) -}}
205
- {{- printf "http://%s:%s@%s:%v/api/" $username $password $hostname $port }}
198
+ RabbitMQ connection env section .
199
+ */} }
200
+ { {- define " invenio.config.queue" -} }
201
+ { {- $uri := " $(INVENIO_AMQP_BROKER_PROTOCOL)://$(INVENIO_AMQP_BROKER_USER):$(INVENIO_AMQP_BROKER_PASSWORD)@$(INVENIO_AMQP_BROKER_HOST):$(INVENIO_AMQP_BROKER_PORT)/$(INVENIO_AMQP_BROKER_VHOST)" -} }
202
+ - name: INVENIO_AMQP_BROKER_USER
203
+ value: { { include " invenio.rabbitmq.username" . } }
204
+ - name: INVENIO_AMQP_BROKER_HOST
205
+ value: { { include " invenio.rabbitmq.hostname" . } }
206
+ - name: INVENIO_AMQP_BROKER_PORT
207
+ value: { { include " invenio.rabbitmq.amqpPortString" . } }
208
+ - name: INVENIO_AMQP_BROKER_VHOST
209
+ value: { { include " invenio.rabbitmq.vhost" . } }
210
+ - name: INVENIO_AMQP_BROKER_PROTOCOL
211
+ value: { { include " invenio.rabbitmq.protocol" . } }
212
+ - name: INVENIO_AMQP_BROKER_PASSWORD
213
+ { {- if or (and .Values.rabbitmq.enabled .Values.rabbitmq.auth.password) .Values.rabbitmqExternal.password } }
214
+ value: { { include " invenio.rabbitmq.password" . | quote } }
215
+ { {- else } }
216
+ valueFrom:
217
+ secretKeyRef:
218
+ name: { { include " invenio.rabbitmq.secretName" .} }
219
+ key: { { include " invenio.rabbitmq.secretKey" .} }
220
+ { {- end } }
221
+ - name: INVENIO_BROKER_URL
222
+ value: { { $uri } }
223
+ - name: INVENIO_CELERY_BROKER_URL
224
+ value: $(INVENIO_BROKER_URL)
225
+ - name: RABBITMQ_API_URI
226
+ value: "http://$(INVENIO_AMQP_BROKER_USER):$(INVENIO_AMQP_BROKER_PASSWORD)@$(INVENIO_AMQP_BROKER_HOST):$(INVENIO_AMQP_BROKER_PORT)/api/"
206
227
{ {- end -} }
207
228
208
229
######################### OpenSearch hostname #########################
@@ -217,79 +238,110 @@ app.kubernetes.io/managed-by: {{ .Release.Service }}
217
238
{ {- end } }
218
239
{ {- end -} }
219
240
220
- ######################### PostgreSQL username #########################
241
+ ######################### PostgreSQL connection configuration #########################
221
242
{ {/*
222
243
This template renders the username used for the PostgreSQL instance.
223
244
*/} }
224
245
{ {- define " invenio.postgresql.username" -} }
225
246
{ {- if .Values.postgresql.enabled -} }
226
- {{- required "Missing .Values.postgresql.auth.username" .Values.postgresql.auth.username -}}
227
- {{/* NOTE: Specifying username explicitly like this is suboptmal. Would be desirable to refactor Invenio so it can take the postgres username as a spearate environment variable which we can populate dynamically from the secret. */}}
247
+ { {- required " Missing .Values.postgresql.auth.username" (tpl .Values.postgresql.auth.username .) -} }
228
248
{ {- else -} }
229
- {{- required "Missing .Values.postgresqlExternal.username" .Values.postgresqlExternal.username -}}
249
+ { {- required " Missing .Values.postgresqlExternal.username" (tpl .Values.postgresqlExternal.username .) -} }
230
250
{ {- end -} }
231
251
{ {- end -} }
232
252
233
- ######################### PostgreSQL password #########################
234
253
{ {/*
235
254
This template renders the password used for the PostgreSQL instance.
255
+ In production environments we encourage you to use secrets instead.
236
256
*/} }
237
257
{ {- define " invenio.postgresql.password" -} }
238
258
{ {- if .Values.postgresql.enabled -} }
239
259
{ {- required " Missing .Values.postgresql.auth.password" .Values.postgresql.auth.password -} }
240
- {{/* NOTE: Specifying password explicitly like this is suboptmal. Would be desirable to refactor Invenio so it can take the postgres password as a spearate environment variable which we can populate dynamically from the secret. */}}
241
260
{ {- else -} }
242
261
{ {- required " Missing .Values.postgresqlExternal.password" .Values.postgresqlExternal.password -} }
243
262
{ {- end -} }
244
263
{ {- end -} }
245
264
246
- ######################### PostgreSQL hostname #########################
265
+ { {/*
266
+ Get the database password secret name
267
+ */} }
268
+ { {- define " invenio.postgresql.secretName" -} }
269
+ { {- if .Values.postgresql.enabled -} }
270
+ { {- required " Missing .Values.postgresql.auth.existingSecret" (tpl .Values.postgresql.auth.existingSecret .) -} }
271
+ { {- else -} }
272
+ { {- required " Missing .Values.postgresqlExternal.existingSecret" (tpl .Values.postgresqlExternal.existingSecret .) -} }
273
+ { {- end -} }
274
+ { {- end -} }
275
+
276
+ { {/*
277
+ Get the database password secret key
278
+ */} }
279
+ { {- define " invenio.postgresql.secretKey" -} }
280
+ { {- if .Values.postgresql.enabled -} }
281
+ { {- required " Missing .Values.postgresql.auth.secretKeys.userPasswordKey" .Values.postgresql.auth.secretKeys.userPasswordKey -} }
282
+ { {- else -} }
283
+ { {- required " Missing .Values.postgresqlExternal.existingSecretPasswordKey" .Values.postgresqlExternal.existingSecretPasswordKey -} }
284
+ { {- end -} }
285
+ { {- end -} }
286
+
247
287
{ {/*
248
288
This template renders the hostname used for the PostgreSQL instance.
249
289
*/} }
250
290
{ {- define " invenio.postgresql.hostname" -} }
251
291
{ {- if .Values.postgresql.enabled -} }
252
292
{ {- include " postgresql.v1.primary.fullname" .Subcharts.postgresql -} }
253
293
{ {- else -} }
254
- {{- required "Missing .Values.postgresqlExternal.hostname" .Values.postgresqlExternal.hostname -}}
294
+ { {- required " Missing .Values.postgresqlExternal.hostname" (tpl .Values.postgresqlExternal.hostname .) -} }
255
295
{ {- end -} }
256
296
{ {- end -} }
257
297
258
- ########################### PostgreSQL port ###########################
259
298
{ {/*
260
- This template renders the port number used for the PostgreSQL instance.
299
+ This template renders the port number used for the PostgreSQL instance (as a string) .
261
300
*/} }
262
- {{- define "invenio.postgresql.port " -}}
301
+ { {- define " invenio.postgresql.portString " -} }
263
302
{ {- if .Values.postgresql.enabled -} }
264
- {{- required "Missing .Values.postgresql.primary.service.ports.postgresql" .Values.postgresql.primary.service.ports.postgresql -}}
303
+ { {- required " Missing .Values.postgresql.primary.service.ports.postgresql" (tpl (toString .Values.postgresql.primary.service.ports.postgresql) .) | quote -} }
265
304
{ {- else -} }
266
- {{- required "Missing .Values.postgresqlExternal.port" .Values.postgresqlExternal.port -}}
305
+ { {- required " Missing .Values.postgresqlExternal.port" (tpl (toString .Values.postgresqlExternal.port) .) | quote -} }
267
306
{ {- end -} }
268
307
{ {- end -} }
269
308
270
- ############################ Database name ############################
271
309
{ {/*
272
310
This template renders the name of the database in PostgreSQL.
273
311
*/} }
274
- {{- define "invenio.postgresql.databaseName " -}}
312
+ { {- define " invenio.postgresql.database " -} }
275
313
{ {- if .Values.postgresql.enabled -} }
276
- {{- required "Missing .Values.postgresql.auth.database" .Values.postgresql.auth.database -}}
314
+ { {- required " Missing .Values.postgresql.auth.database" (tpl .Values.postgresql.auth.database .) -} }
277
315
{ {- else -} }
278
- {{- required "Missing .Values.postgresqlExternal.databaseName" .Values.postgresqlExternal.databaseName -}}
316
+ { {- required " Missing .Values.postgresqlExternal.database " (tpl .Values.postgresqlExternal.database .) -} }
279
317
{ {- end -} }
280
318
{ {- end -} }
281
319
282
- ####################### SQLAlchemy database URI #######################
283
320
{ {/*
284
- This template renders the SQLAlchemy database URI.
285
- */}}
286
- {{- define "invenio.sqlAlchemyDbUri" -}}
287
- {{- $username := include "invenio.postgresql.username" . -}}
288
- {{- $password := include "invenio.postgresql.password" . -}}
289
- {{- $hostname := include "invenio.postgresql.hostname" . -}}
290
- {{- $port := include "invenio.postgresql.port" . -}}
291
- {{- $databaseName := include "invenio.postgresql.databaseName" . -}}
292
- {{- printf "postgresql+psycopg2://%s:%s@%s:%v/%s" $username $password $hostname $port $databaseName -}}
321
+ Define database connection env section .
322
+ */} }
323
+ { {- define " invenio.config.database" -} }
324
+ - name: INVENIO_DB_USER
325
+ value: { { include " invenio.postgresql.username" . } }
326
+ - name: INVENIO_DB_HOST
327
+ value: { { include " invenio.postgresql.hostname" . } }
328
+ - name: INVENIO_DB_PORT
329
+ value: { { include " invenio.postgresql.portString" . } }
330
+ - name: INVENIO_DB_NAME
331
+ value: { { include " invenio.postgresql.database" . } }
332
+ - name: INVENIO_DB_PROTOCOL
333
+ value: "postgresql+psycopg2"
334
+ - name: INVENIO_DB_PASSWORD
335
+ { {- if or (and .Values.postgresql.enabled .Values.postgresql.auth.password) .Values.postgresqlExternal.password } }
336
+ value: { { include " invenio.postgresql.password" . | quote } }
337
+ { {- else } }
338
+ valueFrom:
339
+ secretKeyRef:
340
+ name: { { include " invenio.postgresql.secretName" .} }
341
+ key: { { include " invenio.postgresql.secretKey" .} }
342
+ { {- end } }
343
+ - name: INVENIO_SQLALCHEMY_DATABASE_URI
344
+ value: "$(INVENIO_DB_PROTOCOL)://$(INVENIO_DB_USER):$(INVENIO_DB_PASSWORD)@$(INVENIO_DB_HOST):$(INVENIO_DB_PORT)/$(INVENIO_DB_NAME)"
293
345
{ {- end -} }
294
346
295
347
{ {/*
@@ -299,7 +351,7 @@ Get the sentry secret name
299
351
{ {- if .Values.invenio.sentry.existingSecret -} }
300
352
{ {- print (tpl .Values.invenio.sentry.existingSecret .) -} }
301
353
{ {- else if .Values.invenio.sentry.secret_name -} }
302
- {{- print .Values.invenio.sentry.secret_name -}}
354
+ { {- print .Values.invenio.sentry.secret_name -} }
303
355
{ {- else -} }
304
356
{ {- printf " %s-%s" (include " invenio.fullname" .) " sentry" -} }
305
357
{ {- end -} }
0 commit comments