feat: add support for external/existing certificate issuer (#2631)

This commit is contained in:
majinghe
2026-04-21 15:21:43 +08:00
committed by GitHub
parent 960c13a34b
commit 41d2812861
7 changed files with 34 additions and 6 deletions
+5
View File
@@ -105,6 +105,11 @@ RustFS helm chart supports **standalone and distributed mode**. For standalone m
| mtls.enabled | bool | `false` | Enable mtls betweens pods. | | mtls.enabled | bool | `false` | Enable mtls betweens pods. |
| mtls.clientCertPath | string | `/opt/tls/client_cert.pem` | The path for client cert. | | mtls.clientCertPath | string | `/opt/tls/client_cert.pem` | The path for client cert. |
| mtls.clientKeyPath | string | `/opt/tls/client_key.pem` | The path for client key. | | mtls.clientKeyPath | string | `/opt/tls/client_key.pem` | The path for client key. |
| mtls.existingIssuerRef.enabled | bool | `false` | Enable to use external/existing certificate issuer.|
| mtls.existingIssuerRef.name | string | `""` | The name of external/existing certificate issuer. |
| mtls.existingIssuerRef.kind | string | `""` | The kind of external/existing certificate iss
uer. `ClusterIssuer` or `Issuer`. |
| mtls.existingIssuerRef.group | string | `""` | The group of external/existing certificate issuer. |
| nameOverride | string | `""` | | | nameOverride | string | `""` | |
| nodeSelector | object | `{}` | | | nodeSelector | object | `{}` | |
| pdb.create | bool | `false` | Enable/disable a Pod Disruption Budget creation | | pdb.create | bool | `false` | Enable/disable a Pod Disruption Budget creation |
@@ -1,4 +1,4 @@
{{- if .Values.mtls.enabled }} {{- if and .Values.mtls.enabled (not .Values.mtls.existingIssuerRef.enabled) }}
apiVersion: cert-manager.io/v1 apiVersion: cert-manager.io/v1
kind: ClusterIssuer kind: ClusterIssuer
metadata: metadata:
@@ -6,3 +6,4 @@ metadata:
spec: spec:
selfSigned: {} selfSigned: {}
{{- end }} {{- end }}
@@ -1,4 +1,4 @@
{{- if .Values.mtls.enabled }} {{- if and .Values.mtls.enabled (not .Values.mtls.existingIssuerRef.enabled) }}
apiVersion: cert-manager.io/v1 apiVersion: cert-manager.io/v1
kind: Certificate kind: Certificate
metadata: metadata:
@@ -11,4 +11,5 @@ spec:
issuerRef: issuerRef:
name: {{ include "rustfs.fullname" . }}-selfsigned-issuer name: {{ include "rustfs.fullname" . }}-selfsigned-issuer
kind: ClusterIssuer kind: ClusterIssuer
{{- end }} {{- end }}
@@ -1,4 +1,4 @@
{{- if .Values.mtls.enabled }} {{- if and .Values.mtls.enabled (not .Values.mtls.existingIssuerRef.enabled) }}
apiVersion: cert-manager.io/v1 apiVersion: cert-manager.io/v1
kind: Issuer kind: Issuer
metadata: metadata:
@@ -7,4 +7,5 @@ metadata:
spec: spec:
ca: ca:
secretName: {{ include "rustfs.fullname" . }}-root-ca-secret secretName: {{ include "rustfs.fullname" . }}-root-ca-secret
{{- end }} {{- end }}
@@ -6,9 +6,16 @@ metadata:
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
spec: spec:
secretName: {{ include "rustfs.fullname" . }}-server-tls secretName: {{ include "rustfs.fullname" . }}-server-tls
{{- if .Values.mtls.existingIssuerRef.enabled }}
issuerRef:
name: {{ .Values.mtls.existingIssuerRef.name }}
kind: {{ .Values.mtls.existingIssuerRef.kind }}
group: {{ .Values.mtls.existingIssuerRef.group }}
{{- else }}
issuerRef: issuerRef:
name: {{ include "rustfs.fullname" . }}-ca-issuer name: {{ include "rustfs.fullname" . }}-ca-issuer
kind: Issuer kind: Issuer
{{- end }}
commonName: {{ include "rustfs.fullname" . }}-cluster commonName: {{ include "rustfs.fullname" . }}-cluster
dnsNames: dnsNames:
- "*.{{ include "rustfs.fullname" . }}-headless" - "*.{{ include "rustfs.fullname" . }}-headless"
@@ -20,4 +27,4 @@ spec:
{{- end }} {{- end }}
usages: usages:
- server auth - server auth
{{- end }} {{- end }}
@@ -6,10 +6,18 @@ metadata:
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
spec: spec:
secretName: {{ include "rustfs.fullname" . }}-client-tls secretName: {{ include "rustfs.fullname" . }}-client-tls
{{- if .Values.mtls.existingIssuerRef.enabled }}
issuerRef:
name: {{ .Values.mtls.existingIssuerRef.name }}
kind: {{ .Values.mtls.existingIssuerRef.kind }}
group: {{ .Values.mtls.existingIssuerRef.group }}
{{- else }}
issuerRef: issuerRef:
name: {{ include "rustfs.fullname" . }}-ca-issuer name: {{ include "rustfs.fullname" . }}-ca-issuer
kind: Issuer kind: Issuer
{{- end }}
commonName: {{ include "rustfs.fullname" . }}-cluster commonName: {{ include "rustfs.fullname" . }}-cluster
usages: usages:
- client auth - client auth
{{- end }} {{- end }}
+5
View File
@@ -230,6 +230,11 @@ mtls:
enabled: false enabled: false
clientCertPath: "/opt/tls/client_cert.pem" clientCertPath: "/opt/tls/client_cert.pem"
clientKeyPath: "/opt/tls/client_key.pem" clientKeyPath: "/opt/tls/client_key.pem"
existingIssuerRef:
enabled: false
name: ""
kind: ""
group: ""
resources: {} resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious # We usually recommend not to specify default resources and to leave this as a conscious