Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(keda): Allow using own Cert-manager Issuer/ClusterIssuer for issuing KEDA TLS certificates #530

Merged
merged 43 commits into from
Jan 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
adcd4b3
feat(keda): :sparkles: Allow providing own cert-manager issuer in TLS…
Sep 27, 2023
9c50ff0
docs(keda): :memo: Generate Helm docs
Sep 27, 2023
e2b31ba
fix(keda): :bug: Inject CA from cert-manager Certificate when providi…
Sep 27, 2023
7e1598c
refactor(keda): :recycle: Refactor values format
Oct 2, 2023
4ac1cee
revert(keda): :rewind: Revert unnecessary auto-formatting
Oct 2, 2023
8460158
chore: Improve the CI on PRs to be more efficient (#540)
JorTurFer Oct 3, 2023
09ebb19
fix(http-add-on): Refactor the chart for next version (#523)
JorTurFer Oct 4, 2023
5a76c26
feat(add-on): Supporting streamInterval configuration (#541)
JorTurFer Oct 5, 2023
18dadc9
chore(add-on): Ship Release 0.6.0 (#543)
JorTurFer Oct 5, 2023
c31d3b1
chore: update versions in README.md (#546)
JorTurFer Oct 5, 2023
78cabda
feat: update crd to allow vault secret to handle write operation (#548)
loispostula Oct 13, 2023
e49b2e0
Fix the svc name of webhook to avoid breaking istio (#551)
congzhegao Oct 25, 2023
b1c614b
Show only logs with a severity level of ERROR or higher in the stderr…
Adarsh-verma-14 Oct 26, 2023
c1a2a9c
Support profiling for keda components (#549)
yuvalweber Nov 2, 2023
098c817
Fix TriggerAuthentication - added configuration for validation webhoo…
radekfojtik Nov 3, 2023
e256cb5
fix: Declare missing port in KEDA operator (#552)
JorTurFer Nov 3, 2023
622a09d
Allow image registry override for all keda components (#557)
QuentinBisson Nov 18, 2023
bfad570
docs: Clarify that contributors do not have to ship Helm chart (#573)
tomkerkhove Nov 23, 2023
03210df
add disable-compression arg for both operator and metrics-server (#554)
Adarsh-verma-14 Nov 27, 2023
2d630c5
feat: Introduce CloudEventSources CRD and adding ClusterName paramete…
SpiritZhou Nov 28, 2023
d8306da
store 2.12.1 package at `main` (#577)
zroubalik Nov 28, 2023
7836b43
fix: restore http-add-on chart 0.6.0 indexing (#579)
JorTurFer Nov 30, 2023
b28d271
fix(add-on): Use 'main' tag for KEDA installation during CI (#582)
JorTurFer Dec 3, 2023
1c7f0f9
set securityContext for http-add-on chart (#561)
eumel8 Dec 3, 2023
603d337
Fix http-add-on operator resources (#567)
aballman Dec 6, 2023
ce6272c
Fix http-add-on verbosity configuration (#568)
aballman Dec 6, 2023
70d191c
chore: Adjust RBAC with code (#585)
JorTurFer Dec 20, 2023
298faeb
fix: Don't recreate CA with 8 months until it expires (#586)
JorTurFer Jan 8, 2024
c81ba58
feat(ClusterRole): Add RBAC rule to allow access to `LimitRange` (#588)
Bhargav-InfraCloud Jan 17, 2024
6c7c8e3
remove not required insecureSkipTLSVerify (#564)
eumel8 Jan 17, 2024
7df098b
Update templates/webhooks deployment (#590)
ferndem Jan 18, 2024
bf24c71
Fix Prometheus metrics handling for the operator. (#555)
mplzik Jan 18, 2024
b35727c
Fix Remove app.kubernetes.io/instance label in crd (#556)
choisungwook Jan 18, 2024
f77ffd6
Support crd-specific annotations (#584)
awalford16 Jan 18, 2024
37b5c50
Add ciliumnetworkpolicies (#558)
QuentinBisson Jan 19, 2024
4024f41
Add tlsConfig for ServiceMonitor (#591)
JorTurFer Jan 19, 2024
94c4412
Release 2.13.0 (#593)
wozniakjan Jan 19, 2024
dcd381e
fix: Ship v2.13.1 with missing RoleBinding (#595)
JorTurFer Jan 19, 2024
4f28e7f
chore(add-on): Apply HTTP Add-on changes on Helm chart (#598)
JorTurFer Jan 22, 2024
ec01f01
chore(add-on): Release v0.7.0 (#599)
JorTurFer Jan 22, 2024
8acf125
refactor: Unify cert-manager annotations
Jan 24, 2024
cc8514b
Merge branch 'main' into main
zerodayyy Jan 24, 2024
b4ef0e0
Merge branch 'main' into main
JorTurFer Jan 30, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions keda/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,15 @@ their default values.
| `asciiArt` | bool | `true` | Capability to turn on/off ASCII art in Helm installation notes |
| `certificates.autoGenerated` | bool | `true` | Enables the self generation for KEDA TLS certificates inside KEDA operator |
| `certificates.certManager.caSecretName` | string | `"kedaorg-ca"` | Secret name where the CA is stored (generatedby cert-manager or user given) |
| `certificates.certManager.duration` | string | `"8760h0m0s"` | Certificate duration |
| `certificates.certManager.enabled` | bool | `false` | Enables Cert-manager for certificate management |
| `certificates.certManager.generateCA` | bool | `true` | Generates a self-signed CA with Cert-manager. If generateCA is false, the secret with the CA has to be annotated with `cert-manager.io/allow-direct-injection: "true"` |
| `certificates.certManager.issuer` | object | `{"generate":true,"group":"cert-manager.io","kind":"ClusterIssuer","name":"foo-org-ca"}` | Reference to custom Issuer. If issuer.generate is false, then issuer.group, issuer.kind and issuer.name are required |
zerodayyy marked this conversation as resolved.
Show resolved Hide resolved
| `certificates.certManager.issuer.generate` | bool | `true` | Generates an Issuer resource with Cert-manager |
| `certificates.certManager.issuer.group` | string | `"cert-manager.io"` | Custom Issuer group. Required when generate: false |
| `certificates.certManager.issuer.kind` | string | `"ClusterIssuer"` | Custom Issuer kind. Required when generate: false |
| `certificates.certManager.issuer.name` | string | `"foo-org-ca"` | Custom Issuer name. Required when generate: false |
| `certificates.certManager.renewBefore` | string | `"5840h0m0s"` | Certificate renewal time before expiration |
| `certificates.certManager.secretTemplate` | object | `{}` | Add labels/annotations to secrets created by Certificate resources [docs](https://cert-manager.io/docs/usage/certificate/#creating-certificate-resources) |
| `certificates.mountPath` | string | `"/certs"` | Path where KEDA TLS certificates are mounted |
| `certificates.secretName` | string | `"kedaorg-certs"` | Secret name to be mounted with KEDA TLS certificates |
Expand Down
4 changes: 2 additions & 2 deletions keda/templates/cert-manager/keda-issuer.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{{- if .Values.certificates.certManager.enabled }}
{{- if and .Values.certificates.certManager.enabled .Values.certificates.certManager.issuer.generate }}
apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
Expand All @@ -11,4 +11,4 @@ metadata:
spec:
ca:
secretName: {{ .Values.certificates.certManager.caSecretName }}
{{- end }}
{{- end }}
16 changes: 14 additions & 2 deletions keda/templates/cert-manager/keda-tls-certificate.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,22 @@ spec:
privateKey:
algorithm: RSA
size: 2048
duration: 8760h0m0s # 1 year
renewBefore: 5840h0m0s # 8 months
duration: {{ .Values.certificates.certManager.duration }}
renewBefore: {{ .Values.certificates.certManager.renewBefore }}
issuerRef:
{{- if .Values.certificates.certManager.issuer.generate }}
name: {{ .Values.operator.name }}-issuer
kind: Issuer
group: cert-manager.io
{{- else }}
{{- if .Values.certificates.certManager.issuer.name }}
name: {{ .Values.certificates.certManager.issuer.name }}
{{- end }}
{{- if .Values.certificates.certManager.issuer.kind }}
kind: {{ .Values.certificates.certManager.issuer.kind }}
{{- end }}
{{- if .Values.certificates.certManager.issuer.group }}
group: {{ .Values.certificates.certManager.issuer.group }}
{{- end }}
{{- end }}
{{- end }}
2 changes: 1 addition & 1 deletion keda/templates/cert-manager/self-ca.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{{- if and .Values.certificates.certManager.enabled .Values.certificates.certManager.generateCA }}
{{- if and .Values.certificates.certManager.enabled .Values.certificates.certManager.generateCA .Values.certificates.certManager.issuer.generate }}
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
Expand Down
4 changes: 2 additions & 2 deletions keda/templates/cert-manager/self-issuer.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{{- if and .Values.certificates.certManager.enabled .Values.certificates.certManager.generateCA }}
{{- if and .Values.certificates.certManager.enabled .Values.certificates.certManager.generateCA .Values.certificates.certManager.issuer.generate }}
apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
Expand All @@ -10,4 +10,4 @@ metadata:
namespace: {{ .Release.Namespace }}
spec:
selfSigned: {}
{{- end }}
{{- end }}
6 changes: 3 additions & 3 deletions keda/templates/metrics-server/apiservice.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ metadata:
{{- if or .Values.certificates.certManager.enabled .Values.additionalAnnotations }}
annotations:
{{- if .Values.certificates.certManager.enabled }}
{{- if .Values.certificates.certManager.generateCA }}
cert-manager.io/inject-ca-from: {{ .Release.Namespace }}/{{ .Values.operator.name }}-ca
{{- else }}
{{- if and (not .Values.certificates.certManager.generateCA) .Values.certificates.certManager.issuer.generate }}
cert-manager.io/inject-ca-from-secret: {{ .Release.Namespace }}/{{ .Values.certificates.certManager.caSecretName }}
{{- else }}
cert-manager.io/inject-ca-from: {{ .Release.Namespace }}/{{ .Values.operator.name }}-tls-certificates
{{- end }}
{{- end }}
{{- if .Values.additionalAnnotations }}
Expand Down
6 changes: 3 additions & 3 deletions keda/templates/webhooks/validatingconfiguration.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ metadata:
{{- if or .Values.certificates.certManager.enabled .Values.additionalAnnotations }}
annotations:
{{- if .Values.certificates.certManager.enabled }}
{{- if .Values.certificates.certManager.generateCA }}
cert-manager.io/inject-ca-from: {{ .Release.Namespace }}/{{ .Values.operator.name }}-ca
{{- else }}
{{- if and (not .Values.certificates.certManager.generateCA) .Values.certificates.certManager.issuer.generate }}
cert-manager.io/inject-ca-from-secret: {{ .Release.Namespace }}/{{ .Values.certificates.certManager.caSecretName }}
{{- else }}
cert-manager.io/inject-ca-from: {{ .Release.Namespace }}/{{ .Values.operator.name }}-tls-certificates
{{- end }}
{{- end }}
{{- if .Values.additionalAnnotations }}
Expand Down
14 changes: 14 additions & 0 deletions keda/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -738,6 +738,10 @@ certificates:
certManager:
# -- Enables Cert-manager for certificate management
enabled: false
# -- Certificate duration
duration: 8760h0m0s # 1 year
# -- Certificate renewal time before expiration
renewBefore: 5840h0m0s # 8 months
# -- Generates a self-signed CA with Cert-manager.
# If generateCA is false, the secret with the CA
# has to be annotated with `cert-manager.io/allow-direct-injection: "true"`
Expand All @@ -752,6 +756,16 @@ certificates:
# my-secret-annotation-2: "bar"
# labels:
# my-secret-label: foo
# -- Reference to custom Issuer.
issuer:
# -- Generates an Issuer resource with Cert-manager
generate: true
# -- Custom Issuer name. Required when generate: false
name: foo-org-ca
# -- Custom Issuer kind. Required when generate: false
kind: ClusterIssuer
# -- Custom Issuer group. Required when generate: false
group: cert-manager.io

permissions:
metricServer:
Expand Down
Loading