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

Add certmanager as internalTLS source #1713

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
13 changes: 13 additions & 0 deletions templates/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -446,6 +446,19 @@ app: "{{ template "harbor.name" . }}"
{{- printf "%s://%s:%s" (include "harbor.component.scheme" .) (include "harbor.trivy" .) (include "harbor.trivy.servicePort" .) -}}
{{- end -}}

{{/* FOR CERTMANAGER RESOURCES */}}
{{- define "harbor.internalTLS.selfIssuer" -}}
{{- printf "%s-internal-self-issuer" (include "harbor.fullname" .) -}}
{{- end -}}

{{- define "harbor.internalTLS.caIssuer" -}}
{{- printf "%s-internal-ca-issuer" (include "harbor.fullname" .) -}}
{{- end -}}

{{- define "harbor.internalTLS.ca.secretName" -}}
{{- printf "%s-internal-tls-ca" (include "harbor.fullname" .) -}}
{{- end -}}

{{- define "harbor.internalTLS.core.secretName" -}}
{{- if eq .Values.internalTLS.certSource "secret" -}}
{{- .Values.internalTLS.core.secretName -}}
Expand Down
9 changes: 9 additions & 0 deletions templates/internal/certmanager/internal-ca-issuer.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{{- if and .Values.internalTLS.enabled (eq .Values.internalTLS.certSource "certmanager") -}}
apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
name: {{ (include "harbor.internalTLS.caIssuer" .) }}
spec:
ca:
secretName: {{ (include "harbor.internalTLS.ca.secretName" .) }}
{{- end -}}
14 changes: 14 additions & 0 deletions templates/internal/certmanager/internal-ca.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{{- if and .Values.internalTLS.enabled (eq .Values.internalTLS.certSource "certmanager") -}}
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: {{ (include "harbor.internalTLS.ca.secretName" .) }}
spec:
duration: 8760h0m0s
issuerRef:
kind: Issuer
name: {{ (include "harbor.internalTLS.selfIssuer" .) }}
isCA: true
commonName: {{ (include "harbor.internalTLS.ca.secretName" .) }}
secretName: {{ (include "harbor.internalTLS.ca.secretName" .) }}
{{- end -}}
14 changes: 14 additions & 0 deletions templates/internal/certmanager/internal-core-tls.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{{- if and .Values.internalTLS.enabled (eq .Values.internalTLS.certSource "certmanager") -}}
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: {{ (include "harbor.internalTLS.core.secretName" .) }}
spec:
duration: 8760h0m0s
issuerRef:
kind: Issuer
name: {{ (include "harbor.internalTLS.caIssuer" .) }}
dnsNames:
- {{ (include "harbor.core" .) }}
secretName: {{ (include "harbor.internalTLS.core.secretName" .) }}
{{- end -}}
14 changes: 14 additions & 0 deletions templates/internal/certmanager/internal-jobservice-tls.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{{- if and .Values.internalTLS.enabled (eq .Values.internalTLS.certSource "certmanager") -}}
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: {{ (include "harbor.internalTLS.jobservice.secretName" .) }}
spec:
duration: 8760h0m0s
issuerRef:
kind: Issuer
name: {{ (include "harbor.internalTLS.caIssuer" .) }}
dnsNames:
- {{ (include "harbor.jobservice" .) }}
secretName: {{ (include "harbor.internalTLS.jobservice.secretName" .) }}
{{- end -}}
14 changes: 14 additions & 0 deletions templates/internal/certmanager/internal-portal-tls.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{{- if and .Values.internalTLS.enabled (eq .Values.internalTLS.certSource "certmanager") -}}
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: {{ (include "harbor.internalTLS.portal.secretName" .) }}
spec:
duration: 8760h0m0s
issuerRef:
kind: Issuer
name: {{ (include "harbor.internalTLS.caIssuer" .) }}
dnsNames:
- {{ (include "harbor.portal" .) }}
secretName: {{ (include "harbor.internalTLS.portal.secretName" .) }}
{{- end -}}
14 changes: 14 additions & 0 deletions templates/internal/certmanager/internal-registry-tls.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{{- if and .Values.internalTLS.enabled (eq .Values.internalTLS.certSource "certmanager") -}}
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: {{ (include "harbor.internalTLS.registry.secretName" .) }}
spec:
duration: 8760h0m0s
issuerRef:
kind: Issuer
name: {{ (include "harbor.internalTLS.caIssuer" .) }}
dnsNames:
- {{ (include "harbor.registry" .) }}
secretName: {{ (include "harbor.internalTLS.registry.secretName" .) }}
{{- end -}}
8 changes: 8 additions & 0 deletions templates/internal/certmanager/internal-self-issuer.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{{- if and .Values.internalTLS.enabled (eq .Values.internalTLS.certSource "certmanager") -}}
apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
name: {{ (include "harbor.internalTLS.selfIssuer" .) }}
spec:
selfSigned: {}
{{- end -}}
14 changes: 14 additions & 0 deletions templates/internal/certmanager/internal-trivy-tls.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{{- if and .Values.internalTLS.enabled (eq .Values.internalTLS.certSource "certmanager") .Values.trivy.enabled -}}
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: {{ (include "harbor.internalTLS.trivy.secretName" .) }}
spec:
duration: 8760h0m0s
issuerRef:
kind: Issuer
name: {{ (include "harbor.internalTLS.caIssuer" .) }}
dnsNames:
- {{ (include "harbor.trivy" .) }}
secretName: {{ (include "harbor.internalTLS.trivy.secretName" .) }}
{{- end -}}
1 change: 1 addition & 0 deletions values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -276,6 +276,7 @@ internalTLS:
# 1) "auto" will generate cert automatically
# 2) "manual" need provide cert file manually in following value
# 3) "secret" internal certificates from secret
# 4) "certmanager" will generate cert automatically using certmanager
certSource: "auto"
# The content of trust ca, only available when `certSource` is "manual"
trustCa: ""
Expand Down