Skip to content

Commit c6d4708

Browse files
committed
invenio: refactor sentry block
* Deprecates non-camelcase sentry variables. * Addresses secret handling as described in inveniosoftware#117.
1 parent e072dcd commit c6d4708

File tree

8 files changed

+69
-27
lines changed

8 files changed

+69
-27
lines changed

charts/invenio/templates/NOTES.txt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,20 @@ DEPRECATION WARNING:
99
removed in a future release.
1010

1111
{{- end }}
12+
13+
{{- if .Values.invenio.sentry.existing_secret }}
14+
15+
DEPRECATION WARNING:
16+
`invenio.sentry.existing_secret` has been renamed to `invenio.sentry.existingSecret`
17+
and its type has changed from boolean to string.
18+
This key will be removed in a future release.
19+
20+
{{- end }}
21+
22+
{{- if .Values.invenio.sentry.secret_name }}
23+
24+
DEPRECATION WARNING:
25+
`invenio.sentry.secret_name` has been removed in favor of
26+
`invenio.sentry.existingSecret` will be removed in a future release.
27+
28+
{{- end }}

charts/invenio/templates/_helpers.tpl

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -273,3 +273,29 @@ app.kubernetes.io/managed-by: {{ .Release.Service }}
273273
{{- $databaseName := include "invenio.postgresql.databaseName" . -}}
274274
{{- printf "postgresql+psycopg2://%s:%s@%s:%v/%s" $username $password $hostname $port $databaseName -}}
275275
{{- end -}}
276+
277+
{{/*
278+
Get the sentry secret name
279+
*/}}
280+
{{- define "invenio.sentrySecretName" -}}
281+
{{- if .Values.invenio.sentry.existingSecret -}}
282+
{{- print (tpl .Values.invenio.sentry.existingSecret .) -}}
283+
{{- else if .Values.invenio.sentry.secret_name -}}
284+
{{- print .Values.invenio.sentry.secret_name -}}
285+
{{- else -}}
286+
{{- "sentry-secrets" -}}
287+
{{- end -}}
288+
{{- end -}}
289+
290+
{{/*
291+
Add sentry environmental variables
292+
*/}}
293+
{{- define "invenio.config.sentry" -}}
294+
{{- if .Values.invenio.sentry.enabled -}}
295+
- name: INVENIO_SENTRY_DSN
296+
valueFrom:
297+
secretKeyRef:
298+
name: {{ include "invenio.sentrySecretName" . }}
299+
key: {{ .Values.invenio.sentry.secretKeys.dsnKey }}
300+
{{- end }}
301+
{{- end -}}

charts/invenio/templates/install-init-job.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ spec:
6363
mountPath: "/opt/invenio/var/instance/app_data/vocabularies/{{ $key }}"
6464
subPath: "{{ $key }}"
6565
{{- end }}
66+
{{- include "invenio.config.sentry" . | nindent 8 }}
6667
{{- if .Values.web.resources }}
6768
resources: {{- toYaml .Values.web.resources | nindent 10 }}
6869
{{- end }}
Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
1-
{{- if and (.Values.invenio.sentry.enabled) (not .Values.invenio.sentry.existing_secret) }}
1+
{{- if and (.Values.invenio.sentry.enabled) (and (not .Values.invenio.sentry.existingSecret) (not .Values.invenio.sentry.existing_secret)) }}
2+
{{- $dsn := .Values.invenio.sentry.dsn | required ".Values.invenio.sentry.dns is required unless existingSecret is provided." -}}
23
---
34
apiVersion: v1
45
kind: Secret
56
type: Opaque
67
metadata:
7-
name: {{ .Values.invenio.sentry.secret_name }}
8+
name: sentry-secrets
89
labels:
910
{{- include "invenio.labels" . | nindent 4 }}
10-
app: {{ .Values.invenio.sentry.secret_name }}
11+
app: sentry-secrets
1112
annotations:
1213
helm.sh/resource-policy: keep
1314
data:
14-
SENTRY_DSN: {{ .Values.invenio.sentry.dsn | b64enc }}
15+
{{ .Values.invenio.sentry.secretKeys.dsnKey }}: {{ $dsn | b64enc }}
1516
{{- end -}}

charts/invenio/templates/web-deployment.yaml

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -57,13 +57,7 @@ spec:
5757
secretKeyRef:
5858
name: invenio-secrets
5959
key: INVENIO_CSRF_SECRET_SALT
60-
{{- if .Values.invenio.sentry.enabled }}
61-
- name: INVENIO_SENTRY_DSN
62-
valueFrom:
63-
secretKeyRef:
64-
name: {{ .Values.invenio.sentry.secret_name }}
65-
key: SENTRY_DSN
66-
{{- end }}
60+
{{- include "invenio.config.sentry" . | nindent 8 }}
6761
{{- if .Values.invenio.datacite.enabled }}
6862
- name: INVENIO_DATACITE_USERNAME
6963
valueFrom:

charts/invenio/templates/worker-beat-deployment.yaml

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -70,13 +70,7 @@ spec:
7070
secretKeyRef:
7171
name: invenio-secrets
7272
key: INVENIO_CSRF_SECRET_SALT
73-
{{- if .Values.invenio.sentry.enabled }}
74-
- name: INVENIO_SENTRY_DSN
75-
valueFrom:
76-
secretKeyRef:
77-
name: {{ .Values.invenio.sentry.secret_name }}
78-
key: SENTRY_DSN
79-
{{- end }}
73+
{{- include "invenio.config.sentry" . | nindent 8 }}
8074
{{- if .Values.invenio.datacite.enabled }}
8175
- name: INVENIO_DATACITE_USERNAME
8276
valueFrom:

charts/invenio/templates/worker-deployment.yaml

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -61,13 +61,7 @@ spec:
6161
secretKeyRef:
6262
name: invenio-secrets
6363
key: INVENIO_CSRF_SECRET_SALT
64-
{{- if .Values.invenio.sentry.enabled }}
65-
- name: INVENIO_SENTRY_DSN
66-
valueFrom:
67-
secretKeyRef:
68-
name: {{ .Values.invenio.sentry.secret_name }}
69-
key: SENTRY_DSN
70-
{{- end }}
64+
{{- include "invenio.config.sentry" . | nindent 10 }}
7165
{{- if .Values.invenio.datacite.enabled }}
7266
- name: INVENIO_DATACITE_USERNAME
7367
valueFrom:

charts/invenio/values.yaml

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,25 @@ invenio:
1919
default_users: [] # Requires invenio.init=true
2020
demo_data: false # Setting invenio.demo_data=true requires also setting default_users!
2121
sentry:
22+
## @param invenio.sentry.enabled Enable Sentry.io integration
23+
##
2224
enabled: false
23-
existing_secret: false
24-
secret_name: "sentry-secrets"
25+
## @param invenio.sentry.dns Sentry DSN, required unless existingSecret is provided
26+
##
2527
dsn: ""
28+
## @param invenio.sentry.secret_name DEPRECATED: invenio.sentry.existingSecret instead
29+
##
30+
secret_name: "sentry-secrets"
31+
## @param invenio.sentry.existing_secret DEPRECATED: invenio.sentry.existingSecret instead
32+
##
33+
existing_secret: false
34+
## @param invenio.sentry.existingSecret Existing secret name for sentry's dsn
35+
##
36+
existingSecret: ""
37+
## @param invenio.sentry.secretKeys.dsnKey Name of key in existing secret to use for dns.
38+
##
39+
secretKeys:
40+
dsnKey: "SENTRY_DSN"
2641
datacite:
2742
enabled: false
2843
existing_secret: false

0 commit comments

Comments
 (0)