8000 [Feature] CertManager Integration (#1778) · arangodb/kube-arangodb@c7cce48 · GitHub
[go: up one dir, main page]

Skip to content

Commit c7cce48

Browse files
authored
[Feature] CertManager Integration (#1778)
1 parent 6f713a8 commit c7cce48

File tree

27 files changed

+396
-2
lines changed

27 files changed

+396
-2
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
- (Feature) (Networking) Pass through Server Header
3232
- (Feature) (Platform) Shutdown migration to CE
3333
- (Feature) (Scheduler) Shutdown Integration
34+
- (Feature) CertManager Integration
3435

3536
## [1.2.43](https://github.com/arangodb/kube-arangodb/tree/1.2.43) (2024-10-14)
3637
- (Feature) ArangoRoute CRD
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{{ if .Values.certificate.enabled -}}
2+
3+
apiVersion: cert-manager.io/v1
4+
kind: Certificate
5+
metadata:
6+
name: {{ template "kube-arangodb.operatorName" . }}-ca
7+
namespace: {{ .Release.Namespace }}
8+
labels:
9+
app.kubernetes.io/name: {{ template "kube-arangodb.name" . }}
10+
helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }}
11+
app.kubernetes.io/managed-by: {{ .Release.Service }}
12+
app.kubernetes.io/instance: {{ .Release.Name }}
13+
release: {{ .Release.Name }}
14+
spec:
15+
secretName: {{ template "kube-arangodb.operatorName" . }}-ca
16+
duration: {{ .Values.certificate.ca.duration }}
17+
issuerRef:
18+
name: {{ template "kube-arangodb.operatorName" . }}-ca
19+
commonName: {{ .Values.certificate.ca.commonName }}
20+
isCA: true
21+
22+
{{- end }}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
{{ if .Values.certificate.enabled -}}
2+
3+
apiVersion: cert-manager.io/v1
4+
kind: Certificate
5+
metadata:
6+
name: {{ template "kube-arangodb.operatorName" . }}
7+
namespace: {{ .Release.Namespace }}
8+
labels:
9+
app.kubernetes.io/name: {{ template "kube-arangodb.name" . }}
10+
helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }}
11+
app.kubernetes.io/managed-by: {{ .Release.Service }}
12+
app.kubernetes.io/instance: {{ .Release.Name }}
13+
release: {{ .Release.Name }}
14+
spec:
15+
secretName: {{ template "kube-arangodb.operatorName" . }}-cert
16+
duration: {{ .Values.certificate.cert.duration }}
17+
issuerRef:
18+
name: {{ template "kube-arangodb.operatorName" . }}
19+
dnsNames:
20+
- {{ template "kube-arangodb.operatorName" . }}
21+
- {{ template "kube-arangodb.operatorName" . }}.{{ .Release.Namespace }}
22+
- {{ template "kube-arangodb.operatorName" . }}.{{ .Release.Namespace }}.svc
23+
24+
{{- end }}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{{ if .Values.certificate.enabled -}}
2+
3+
apiVersion: cert-manager.io/v1
4+
kind: Issuer
5+
metadata:
6+
name: {{ template "kube-arangodb.operatorName" . }}-ca
7+
namespace: {{ .Release.Namespace }}
8+
labels:
9+
app.kubernetes.io/name: {{ template "kube-arangodb.name" . }}
10+
helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }}
11+
app.kubernetes.io/managed-by: {{ .Release.Service }}
12+
app.kubernetes.io/instance: {{ .Release.Name }}
13+
release: {{ .Release.Name }}
14+
spec:
15+
selfSigned: {}
16+
17+
{{- end }}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{{ if .Values.certificate.enabled -}}
2+
3+
apiVersion: cert-manager.io/v1
4+
kind: Issuer
5+
metadata:
6+
name: {{ template "kube-arangodb.operatorName" . }}
7+
namespace: {{ .Release.Namespace }}
8+
labels:
9+
app.kubernetes.io/name: {{ template "kube-arangodb.name" . }}
10+
helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }}
11+
app.kubernetes.io/managed-by: {{ .Release.Service }}
12+
app.kubernetes.io/instance: {{ .Release.Name }}
13+
release: {{ .Release.Name }}
14+
spec:
15+
ca:
16+
secretName: {{ template "kube-arangodb.operatorName" . }}-ca
17+
18+
{{- end }}

chart/kube-arangodb-arm64/templates/deployment.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,10 @@ spec:
9393
image: {{ .Values.operator.image }}
9494
args:
9595
- --scope={{ .Values.operator.scope }}
96+
{{- if .Values.certificate.enabled }}
97+
- --server.tls-secret-name={{ template "kube-arangodb.operatorName" . }}-cert
98+
- --api.tls-secret-name={{ template "kube-arangodb.operatorName" . }}-cert
99+
{{- end -}}
96100
{{- if .Values.operator.features.deployment }}
97101
- --operator.deployment
98102
{{- end -}}

chart/kube-arangodb-arm64/values.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,3 +44,10 @@ rbac:
4444
acs: true
4545
at: true
4646
debug: false
47+
certificate:
48+
enabled: false
49+
ca:
50+
duration: 43800h
51+
commonName: "kube-arangodb.operator.cert"
52+
cert:
53+
duration: 8760h
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{{ if .Values.certificate.enabled -}}
2+
3+
apiVersion: cert-manager.io/v1
4+
kind: Certificate
5+
metadata:
6+
name: {{ template "kube-arangodb.operatorName" . }}-ca
7+
namespace: {{ .Release.Namespace }}
8+
labels:
9+
app.kubernetes.io/name: {{ template "kube-arangodb.name" . }}
10+
helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }}
11+
app.kubernetes.io/managed-by: {{ .Release.Service }}
12+
app.kubernetes.io/instance: {{ .Release.Name }}
13+
release: {{ .Release.Name }}
14+
spec:
15+
secretName: {{ template "kube-arangodb.operatorName" . }}-ca
16+
duration: {{ .Values.certificate.ca.duration }}
17+
issuerRef:
18+
name: {{ template "kube-arangodb.operatorName" . }}-ca
19+
commonName: {{ .Values.certificate.ca.commonName }}
20+
isCA: true
21+
22+
{{- end }}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
{{ if .Values.certificate.enabled -}}
2+
3+
apiVersion: cert-manager.io/v1
4+
kind: Certificate
5+
metadata:
6+
name: {{ template "kube-arangodb.operatorName" . }}
7+
namespace: {{ .Release.Namespace }}
8+
labels:
9+
app.kubernetes.io/name: {{ template "kube-arangodb.name" . }}
10+
helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }}
11+
app.kubernetes.io/managed-by: {{ .Release.Service }}
12+
app.kubernetes.io/instance: {{ .Release.Name }}
13+
release: {{ .Release.Name }}
14+
spec:
15+
secretName: {{ template "kube-arangodb.operatorName" . }}-cert
16+
duration: {{ .Values.certificate.cert.duration }}
17+
issuerRef:
18+
name: {{ template "kube-arangodb.operatorName" . }}
19+
dnsNames:
20+
- {{ template "kube-arangodb.operatorName" . }}
21+
- {{ template "kube-arangodb.operatorName" . }}.{{ .Release.Namespace }}
22+
- {{ template "kube-arangodb.operatorName" . }}.{{ .Release.Namespace }}.svc
23+
24+
{{- end }}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{{ if .Values.certificate.enabled -}}
2+
3+
apiVersion: cert-manager.io/v1
4+
kind: Issuer
5+
metadata:
6+
name: {{ template "kube-arangodb.operatorName" . }}-ca
7+
namespace: {{ .Release.Namespace }}
8+
labels:
9+
app.kubernetes.io/name: {{ template "kube-arangodb.name" . }}
10+
helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }}
11+
app.kubernetes.io/managed-by: {{ .Release.Service }}
12+
app.kubernetes.io/instance: {{ .Release.Name }}
13+
release: {{ .Release.Name }}
14+
spec:
15+
selfSigned: {}
16+
17+
{{- end }}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{{ if .Values.certificate.enabled -}}
2+
3+
apiVersion: cert-manager.io/v1
4+
kind: Issuer
5+
metadata:
6+
name: {{ template "kube-arangodb.operatorName" . }}
7+
namespace: {{ .Release.Namespace }}
8+
labels:
9+
app.kubernetes.io/name: {{ template "kube-arangodb.name" . }}
10+
helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }}
11+
app.kubernetes.io/managed-by: {{ .Release.Service }}
12+
app.kubernetes.io/instance: {{ .Release.Name }}
13+
release: {{ .Release.Name }}
14+
spec:
15+
ca:
16+
secretName: {{ template "kube-arangodb.operatorName" . }}-ca
17+
18+
{{- end }}

chart/kube-arangodb-enterprise-arm64/templates/deployment.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,10 @@ spec:
9393
image: {{ .Values.operator.image }}
9494
args:
9595
- --scope={{ .Values.operator.scope }}
96+
{{- if .Values.certificate.enabled }}
97+
- --server.tls-secret-name={{ template "kube-arangodb.operatorName" . }}-cert
98+
- --api.tls-secret-name={{ template "kube-arangodb.operatorName" . }}-cert
99+
{{- end -}}
96100
{{- if .Values.operator.features.deployment }}
97101
- --operator.deployment
98102
{{- end -}}

chart/kube-arangodb-enterprise-arm64/values.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,3 +44,10 @@ rbac:
4444
acs: true
4545
at: true
4646
debug: false
47+
certificate:
48+
enabled: false
49+
ca:
50+
duration: 43800h
51+
commonName: "kube-arangodb.operator.cert"
52+
cert:
53+
duration: 8760h
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{{ if .Values.certificate.enabled -}}
2+
3+
apiVersion: cert-manager.io/v1
4+
kind: Certificate
5+
metadata:
6+
name: {{ template "kube-arangodb.operatorName" . }}-ca
7+
namespace: {{ .Release.Namespace }}
8+
labels:
9+
app.kubernetes.io/name: {{ template "kube-arangodb.name" . }}
10+
helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }}
11+
app.kubernetes.io/managed-by: {{ .Release.Service }}
12+
app.kubernetes.io/instance: {{ .Release.Name }}
13+
release: {{ .Release.Name }}
14+
spec:
15+
secretName: {{ template "kube-arangodb.operatorName" . }}-ca
16+
duration: {{ .Values.certificate.ca.duration }}
17+
issuerRef:
18+
name: {{ template "kube-arangodb.operatorName" . }}-ca
19+
commonName: {{ .Values.certificate.ca.commonName }}
20+
isCA: true
21+
22+
{{- end }}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
{{ if .Values.certificate.enabled -}}
2+
3+
apiVersion: cert-manager.io/v1
4+
kind: Certificate
5+
metadata:
6+
name: {{ template "kube-arangodb.operatorName" . }}
7+
namespace: {{ .Release.Namespace }}
8+
labels:
9+
app.kubernetes.io/name: {{ template "kube-arangodb.name" . }}
10+
helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }}
11+
app.kubernetes.io/managed-by: {{ .Release.Service }}
12+
app.kubernetes.io/instance: {{ .Release.Name }}
13+
release: {{ .Release.Name }}
14+
spec:
15+
secretName: {{ template "kube-arangodb.operatorName" . }}-cert
16+
duration: {{ .Values.certificate.cert.duration }}
17+
issuerRef:
18+
name: {{ template "kube-arangodb.operatorName" . }}
19+
dnsNames:
20+
- {{ template "kube-arangodb.operatorName" . }}
21+
- {{ template "kube-arangodb.operatorName" . }}.{{ .Release.Namespace }}
22+
- {{ template "kube-arangodb.operatorName" . }}.{{ .Release.Namespace }}.svc
23+
24+
{{- end }}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{{ if .Values.certificate.enabled -}}
2+
3+
apiVersion: cert-manager.io/v1
4+
kind: Issuer
5+
metadata:
6+
name: {{ template "kube-arangodb.operatorName" . }}-ca
7+
namespace: {{ .Release.Namespace }}
8+
labels:
9+
app.kubernetes.io/name: {{ template "kube-arangodb.name" . }}
10+
helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }}
11+
app.kubernetes.io/managed-by: {{ .Release.Service }}
12+
app.kubernetes.io/instance: {{ .Release.Name }}
13+
release: {{ .Release.Name }}
14+
spec:
15+
selfSigned: {}
16+
17+
{{- end }}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{{ if .Values.certificate.enabled -}}
2+
3+
apiVersion: cert-manager.io/v1
4+
kind: Issuer
5+
metadata:
6+
name: {{ template "kube-arangodb.operatorName" . }}
7+
namespace: {{ .Release.Namespace }}
8+
labels:
9+
app.kubernetes.io/name: {{ template "kube-arangodb.name" . }}
10+
helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }}
11+
app.kubernetes.io/managed-by: {{ .Release.Service }}
12+
app.kubernetes.io/instance: {{ .Release.Name }}
13+
release: {{ .Release.Name }}
14+
spec:
15+
ca:
16+
secretName: {{ template "kube-arangodb.operatorName" . }}-ca
17+
18+
{{- end }}

chart/kube-arangodb-enterprise/templates/deployment.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,10 @@ spec:
9393
image: {{ .Values.operator.image }}
9494
args:
9595
- --scope={{ .Values.operator.scope }}
96+
{{- if .Values.certificate.enabled }}
97+
- --server.tls-secret-name={{ template "kube-arangodb.operatorName" . }}-cert
98+
- --api.tls-secret-name={{ template "kube-arangodb.operatorName" . }}-cert
99+
{{- end -}}
96100
{{- if .Values.operator.features.deployment }}
97101
- --operator.deployment
98102
{{- end -}}

chart/kube-arangodb-enterprise/values.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,3 +44,10 @@ rbac:
4444
acs: true
4545
at: true
4646
debug: false
47+
certificate:
48+
enabled: false
49+
ca:
50+
duration: 43800h
51+
commonName: "kube-arangodb.operator.cert"
52+
cert:
53+
duration: 8760h
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{{ if .Values.certificate.enabled -}}
2+
3+
apiVersion: cert-manager.io/v1
4+
kind: Certificate
5+
metadata:
6+
name: {{ template "kube-arangodb.operatorName" . }}-ca
7+
namespace: {{ .Release.Namespace }}
8+
labels:
9+
app.kubernetes.io/name: {{ template "kube-arangodb.name" . }}
10+
helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }}
11+
app.kubernetes.io/managed-by: {{ .Release.Service }}
12+
app.kubernetes.io/instance: {{ .Release.Name }}
13+
release: {{ .Release.Name }}
14+
spec:
15+
secretName: {{ template "kube-arangodb.operatorName" . }}-ca
16+
duration: {{ .Values.certificate.ca.duration }}
17+
issuerRef:
18+
name: {{ template "kube-arangodb.operatorName" . }}-ca
19+
commonName: {{ .Values.certificate.ca.commonName }}
20+
isCA: true
21+
22+
{{- end }}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
{{ if .Values.certificate.enabled -}}
2+
3+
apiVersion: cert-manager.io/v1
4+
kind: Certificate
5+
metadata:
6+
name: {{ template "kube-arangodb.operatorName" . }}
7+
namespace: {{ .Release.Namespace }}
8+
labels:
9+
app.kubernetes.io/name: {{ template "kube-arangodb.name" . }}
10+
helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }}
11+
app.kubernetes.io/managed-by: {{ .Release.Service }}
12+
app.kubernetes.io/instance: {{ .Release.Name }}
13+
release: {{ .Release.Name }}
14+
spec:
15+
secretName: {{ template "kube-arangodb.operatorName" . }}-cert
16+
duration: {{ .Values.certificate.cert.duration }}
17+
issuerRef:
18+
name: {{ template "kube-arangodb.operatorName" . }}
19+
dnsNames:
20+
- {{ template "kube-arangodb.operatorName" . }}
21+
- {{ template "kube-arangodb.operatorName" . }}.{{ .Release.Namespace }}
22+
- {{ template "kube-arangodb.operatorName" . }}.{{ .Release.Namespace }}.svc
23+
24+
{{- end }}

0 commit comments

Comments
 (0)
0