Update spire-controller-manager to 0.6.2 and add its staticManifest support (#563)
* Update spire-controller-manager to 0.6.2 and add its staticManifest support Signed-off-by: Kevin Fox <[email protected]> * Update docs Signed-off-by: Kevin Fox <[email protected]> * Fix indent Signed-off-by: Kevin Fox <[email protected]> --------- Signed-off-by: Kevin Fox <[email protected]>
This commit is contained in:
@@ -257,6 +257,7 @@ In order to run Tornjak with simple HTTP Connection only, make sure you don't cr
|
|||||||
| `notifier.externalK8sBundle.defaults.configMapKey` | ConfigMap key to push the bundle into on external clusters | `bundle.crt` |
|
| `notifier.externalK8sBundle.defaults.configMapKey` | ConfigMap key to push the bundle into on external clusters | `bundle.crt` |
|
||||||
| `notifier.externalK8sBundle.clusters` | A dictionary of clusters to add with optional overrides. If empty, all clusters defined in kubeConfigs will be used. | `{}` |
|
| `notifier.externalK8sBundle.clusters` | A dictionary of clusters to add with optional overrides. If empty, all clusters defined in kubeConfigs will be used. | `{}` |
|
||||||
| `controllerManager.enabled` | Flag to enable controller manager | `false` |
|
| `controllerManager.enabled` | Flag to enable controller manager | `false` |
|
||||||
|
| `controllerManager.staticManifestMode` | Flag to configure static mode. Valid options off, internal, and external. If internal, the identities config options will be rendered to an included configmap | `off` |
|
||||||
| `controllerManager.className` | specify to use an explicit class name. If empty, it will be automatically set to Release.Namespace-Release.Name to not conflict with other installs, enabling parallel installs. | `""` |
|
| `controllerManager.className` | specify to use an explicit class name. If empty, it will be automatically set to Release.Namespace-Release.Name to not conflict with other installs, enabling parallel installs. | `""` |
|
||||||
| `controllerManager.watchClassless` | specify to process custom resources without class name specified. Useful to slowly migrate to class names from classless installs. Do not have two installs on the same k8s cluster both set to true. | `false` |
|
| `controllerManager.watchClassless` | specify to process custom resources without class name specified. Useful to slowly migrate to class names from classless installs. Do not have two installs on the same k8s cluster both set to true. | `false` |
|
||||||
| `controllerManager.entryIDPrefixCleanup` | Sets which entry prefixes to remove for migrations. Consult the spiffe.io docs about this option before changing. Its unlikely you will need to ever change it. | `false` |
|
| `controllerManager.entryIDPrefixCleanup` | Sets which entry prefixes to remove for migrations. Consult the spiffe.io docs about this option before changing. Its unlikely you will need to ever change it. | `false` |
|
||||||
@@ -268,7 +269,7 @@ In order to run Tornjak with simple HTTP Connection only, make sure you don't cr
|
|||||||
| `controllerManager.image.registry` | The OCI registry to pull the image from | `ghcr.io` |
|
| `controllerManager.image.registry` | The OCI registry to pull the image from | `ghcr.io` |
|
||||||
| `controllerManager.image.repository` | The repository within the registry | `spiffe/spire-controller-manager` |
|
| `controllerManager.image.repository` | The repository within the registry | `spiffe/spire-controller-manager` |
|
||||||
| `controllerManager.image.pullPolicy` | The image pull policy | `IfNotPresent` |
|
| `controllerManager.image.pullPolicy` | The image pull policy | `IfNotPresent` |
|
||||||
| `controllerManager.image.tag` | Overrides the image tag whose default is the chart appVersion | `0.6.0` |
|
| `controllerManager.image.tag` | Overrides the image tag whose default is the chart appVersion | `0.6.2` |
|
||||||
| `controllerManager.resources` | Resource requests and limits for controller manager | `{}` |
|
| `controllerManager.resources` | Resource requests and limits for controller manager | `{}` |
|
||||||
| `controllerManager.securityContext` | Security context | `{}` |
|
| `controllerManager.securityContext` | Security context | `{}` |
|
||||||
| `controllerManager.service.type` | Service type for controller manager | `ClusterIP` |
|
| `controllerManager.service.type` | Service type for controller manager | `ClusterIP` |
|
||||||
|
|||||||
@@ -75,7 +75,11 @@
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
env:
|
env:
|
||||||
- name: ENABLE_WEBHOOKS
|
- name: ENABLE_WEBHOOKS
|
||||||
|
{{- if eq .Values.controllerManager.staticManifestMode "off" }}
|
||||||
value: {{ .webhooksEnabled | toString | quote }}
|
value: {{ .webhooksEnabled | toString | quote }}
|
||||||
|
{{- else }}
|
||||||
|
value: "false"
|
||||||
|
{{- end }}
|
||||||
{{- if gt (len $extraEnv) 0 }}
|
{{- if gt (len $extraEnv) 0 }}
|
||||||
{{- $extraEnv | toYaml | nindent 4 }}
|
{{- $extraEnv | toYaml | nindent 4 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
@@ -91,6 +95,7 @@
|
|||||||
- containerPort: {{ $promPort }}
|
- containerPort: {{ $promPort }}
|
||||||
name: prom-cm{{ .suffix }}
|
name: prom-cm{{ .suffix }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- if eq .Values.controllerManager.staticManifestMode "off" }}
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
httpGet:
|
httpGet:
|
||||||
path: /healthz
|
path: /healthz
|
||||||
@@ -99,12 +104,17 @@
|
|||||||
httpGet:
|
httpGet:
|
||||||
path: /readyz
|
path: /readyz
|
||||||
port: healthz
|
port: healthz
|
||||||
|
{{- end }}
|
||||||
resources:
|
resources:
|
||||||
{{- toYaml .Values.controllerManager.resources | nindent 4 }}
|
{{- toYaml .Values.controllerManager.resources | nindent 4 }}
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: spire-server-socket
|
- name: spire-server-socket
|
||||||
mountPath: /tmp/spire-server/private
|
mountPath: /tmp/spire-server/private
|
||||||
readOnly: true
|
readOnly: true
|
||||||
|
{{- if ne .Values.controllerManager.staticManifestMode "off" }}
|
||||||
|
- name: controller-manager-static-config
|
||||||
|
mountPath: /manifests
|
||||||
|
{{- end }}
|
||||||
- name: controller-manager-config
|
- name: controller-manager-config
|
||||||
mountPath: /controller-manager-config{{ .suffix }}.yaml
|
mountPath: /controller-manager-config{{ .suffix }}.yaml
|
||||||
subPath: controller-manager-config{{ .suffix }}.yaml
|
subPath: controller-manager-config{{ .suffix }}.yaml
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ matchLabels:
|
|||||||
{}
|
{}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- if eq .Values.controllerManager.staticManifestMode "off" }}
|
||||||
{{- $root := . }}
|
{{- $root := . }}
|
||||||
{{ $namespaces := list .Release.Namespace .Values.namespaceOverride (dig "spire" "namespaces" "server" "name" "" .Values.global) (dig "spire" "namespaces" "system" "name" "" .Values.global) | compact | uniq }}
|
{{ $namespaces := list .Release.Namespace .Values.namespaceOverride (dig "spire" "namespaces" "server" "name" "" .Values.global) (dig "spire" "namespaces" "system" "name" "" .Values.global) | compact | uniq }}
|
||||||
{{- range $key, $value := .Values.controllerManager.identities.clusterSPIFFEIDs }}
|
{{- range $key, $value := .Values.controllerManager.identities.clusterSPIFFEIDs }}
|
||||||
@@ -116,3 +117,4 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|||||||
@@ -47,10 +47,12 @@ metrics:
|
|||||||
bindAddress: 0.0.0.0:{{ $promPort }}
|
bindAddress: 0.0.0.0:{{ $promPort }}
|
||||||
health:
|
health:
|
||||||
healthProbeBindAddress: 0.0.0.0:{{ $healthPort }}
|
healthProbeBindAddress: 0.0.0.0:{{ $healthPort }}
|
||||||
|
{{- if eq .Values.controllerManager.staticManifestMode "off" }}
|
||||||
leaderElection:
|
leaderElection:
|
||||||
leaderElect: true
|
leaderElect: true
|
||||||
resourceName: {{ printf "%s-%s%s" .Release.Namespace (default .Release.Name .Values.crNameOverride) .suffix | sha256sum | trunc 8 }}.spiffe.io
|
resourceName: {{ printf "%s-%s%s" .Release.Namespace (default .Release.Name .Values.crNameOverride) .suffix | sha256sum | trunc 8 }}.spiffe.io
|
||||||
resourceNamespace: {{ include "spire-server.namespace" . }}
|
resourceNamespace: {{ include "spire-server.namespace" . }}
|
||||||
|
{{- end }}
|
||||||
{{- with .settings.cacheNamespaces }}
|
{{- with .settings.cacheNamespaces }}
|
||||||
cacheNamespaces:
|
cacheNamespaces:
|
||||||
{{- toYaml . | nindent 2 }}
|
{{- toYaml . | nindent 2 }}
|
||||||
@@ -85,7 +87,12 @@ parentIDTemplate: {{ if hasKey .settings "parentIDTemplate" }}{{ .settings.paren
|
|||||||
{{- $reconcile = .settings.reconcile }}
|
{{- $reconcile = .settings.reconcile }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
reconcile:
|
reconcile:
|
||||||
|
{{- if eq .Values.controllerManager.staticManifestMode "off" }}
|
||||||
clusterSPIFFEIDs: {{ if hasKey $reconcile "clusterSPIFFEIDs" }}{{ toYaml $reconcile.clusterSPIFFEIDs }}{{ else }}{{ toYaml .defaults.reconcile.clusterSPIFFEIDs }}{{ end }}
|
clusterSPIFFEIDs: {{ if hasKey $reconcile "clusterSPIFFEIDs" }}{{ toYaml $reconcile.clusterSPIFFEIDs }}{{ else }}{{ toYaml .defaults.reconcile.clusterSPIFFEIDs }}{{ end }}
|
||||||
|
{{- end }}
|
||||||
clusterStaticEntries: {{ if hasKey $reconcile "clusterStaticEntries" }}{{ toYaml $reconcile.clusterStaticEntries }}{{ else }}{{ toYaml .defaults.reconcile.clusterStaticEntries }}{{ end }}
|
clusterStaticEntries: {{ if hasKey $reconcile "clusterStaticEntries" }}{{ toYaml $reconcile.clusterStaticEntries }}{{ else }}{{ toYaml .defaults.reconcile.clusterStaticEntries }}{{ end }}
|
||||||
clusterFederatedTrustDomains: {{ if hasKey $reconcile "clusterFederatedTrustDomains" }}{{ toYaml $reconcile.clusterFederatedTrustDomains }}{{ else }}{{ toYaml .defaults.reconcile.clusterFederatedTrustDomains }}{{ end }}
|
clusterFederatedTrustDomains: {{ if hasKey $reconcile "clusterFederatedTrustDomains" }}{{ toYaml $reconcile.clusterFederatedTrustDomains }}{{ else }}{{ toYaml .defaults.reconcile.clusterFederatedTrustDomains }}{{ end }}
|
||||||
|
{{- if ne .Values.controllerManager.staticManifestMode "off" }}
|
||||||
|
staticManifestPath: /manifests
|
||||||
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
{{- $root := . }}
|
{{- define "spire-server.cluster-federated-trust-domains" -}}
|
||||||
{{- range $key, $value := .Values.controllerManager.identities.clusterFederatedTrustDomains }}
|
{{- $root := .root }}
|
||||||
|
{{- $useShortName := .useShortName }}
|
||||||
|
{{- range $key, $value := $root.Values.controllerManager.identities.clusterFederatedTrustDomains }}
|
||||||
{{- range $skey, $svalue := $value }}
|
{{- range $skey, $svalue := $value }}
|
||||||
{{- if not (has $skey (list "name" "annotations" "labels" "enabled" "bundleEndpointProfile" "bundleEndpointURL" "trustDomain" "trustDomainBundle")) }}
|
{{- if not (has $skey (list "name" "annotations" "labels" "enabled" "bundleEndpointProfile" "bundleEndpointURL" "trustDomain" "trustDomainBundle")) }}
|
||||||
{{- fail (printf "Unsupported property specified: %s" $skey) }}
|
{{- fail (printf "Unsupported property specified: %s" $skey) }}
|
||||||
@@ -12,34 +14,45 @@
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if eq ($root.Values.controllerManager.enabled | toString) "true" }}
|
{{- if eq ($root.Values.controllerManager.enabled | toString) "true" }}
|
||||||
{{- if or (not (hasKey $value "enabled")) (eq ($value.enabled | toString) "true") }}
|
{{- if or (not (hasKey $value "enabled")) (eq ($value.enabled | toString) "true") }}
|
||||||
---
|
- apiVersion: spire.spiffe.io/v1alpha1
|
||||||
apiVersion: spire.spiffe.io/v1alpha1
|
kind: ClusterFederatedTrustDomain
|
||||||
kind: ClusterFederatedTrustDomain
|
metadata:
|
||||||
metadata:
|
{{- if $useShortName }}
|
||||||
name: {{ $root.Release.Namespace }}-{{ default $root.Release.Name $root.Values.crNameOverride }}-{{ $key }}
|
name: {{ $key }}
|
||||||
{{- with $value.annotations }}
|
{{- else }}
|
||||||
annotations:
|
name: {{ $root.Release.Namespace }}-{{ default $root.Release.Name $root.Values.crNameOverride }}-{{ $key }}
|
||||||
{{- toYaml . | nindent 4 }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- with $value.annotations }}
|
||||||
{{- with $value.labels }}
|
annotations:
|
||||||
labels:
|
{{- toYaml . | nindent 6 }}
|
||||||
{{- toYaml . | nindent 4 }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- with $value.labels }}
|
||||||
spec:
|
labels:
|
||||||
className: {{ include "spire-server.controller-manager-class-name" $root | quote }}
|
{{- toYaml . | nindent 6 }}
|
||||||
{{- with $value.bundleEndpointProfile }}
|
{{- end }}
|
||||||
bundleEndpointProfile:
|
spec:
|
||||||
{{- toYaml . | nindent 4 }}
|
className: {{ include "spire-server.controller-manager-class-name" $root | quote }}
|
||||||
{{- end }}
|
{{- with $value.bundleEndpointProfile }}
|
||||||
{{- with $value.bundleEndpointURL }}
|
bundleEndpointProfile:
|
||||||
bundleEndpointURL: {{ . | quote }}
|
{{- toYaml . | nindent 6 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- with $value.trustDomain }}
|
{{- with $value.bundleEndpointURL }}
|
||||||
trustDomain: {{ . | quote }}
|
bundleEndpointURL: {{ . | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- with $value.trustDomainBundle }}
|
{{- with $value.trustDomain }}
|
||||||
trustDomainBundle: {{ . | quote }}
|
trustDomain: {{ . | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- with $value.trustDomainBundle }}
|
||||||
|
trustDomainBundle: {{ . | quote }}
|
||||||
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if eq .Values.controllerManager.staticManifestMode "off" }}
|
||||||
|
{{- $t := include "spire-server.cluster-federated-trust-domains" (dict "root" . "useShortName" false) | fromYamlArray }}
|
||||||
|
{{- range $_, $v := $t }}
|
||||||
|
---
|
||||||
|
{{- $v | toYaml }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{{- if eq (.Values.controllerManager.enabled | toString) "true" }}
|
{{- if and (eq (.Values.controllerManager.enabled | toString) "true") (eq .Values.controllerManager.staticManifestMode "off") }}
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: Role
|
kind: Role
|
||||||
metadata:
|
metadata:
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
{{- if not .Values.externalServer }}
|
{{- if not .Values.externalServer }}
|
||||||
|
{{- if eq .Values.controllerManager.staticManifestMode "off" }}
|
||||||
{{- if eq (.Values.controllerManager.enabled | toString) "true" }}
|
{{- if eq (.Values.controllerManager.enabled | toString) "true" }}
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
@@ -22,3 +23,4 @@ spec:
|
|||||||
{{- include "spire-server.selectorLabels" . | nindent 4 }}
|
{{- include "spire-server.selectorLabels" . | nindent 4 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
{{- if not (has .Values.controllerManager.staticManifestMode (list "off" "internal" "external" )) }}
|
||||||
|
{{- fail "Unsupported option specified for controllerManager.staticManifestMode" }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if eq .Values.controllerManager.staticManifestMode "internal" }}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: {{ include "spire-controller-manager.fullname" . }}-static
|
||||||
|
namespace: {{ include "spire-server.namespace" . }}
|
||||||
|
data:
|
||||||
|
{{- $t := include "spire-server.cluster-static-entries" (dict "root" . "useShortName" true) | fromYamlArray }}
|
||||||
|
{{- range $_, $v := $t }}
|
||||||
|
"e-{{ $v.metadata.name }}.yaml": |
|
||||||
|
{{- $v | toYaml | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- $t := include "spire-server.cluster-federated-trust-domains" (dict "root" . "useShortName" true) | fromYamlArray }}
|
||||||
|
{{- range $_, $v := $t }}
|
||||||
|
"f-{{ $v.metadata.name }}.yaml": |
|
||||||
|
{{- $v | toYaml | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
@@ -1,5 +1,7 @@
|
|||||||
{{- $root := . }}
|
{{- define "spire-server.cluster-static-entries" -}}
|
||||||
{{- range $key, $value := .Values.controllerManager.identities.clusterStaticEntries }}
|
{{- $root := .root }}
|
||||||
|
{{- $useShortName := .useShortName }}
|
||||||
|
{{- range $key, $value := $root.Values.controllerManager.identities.clusterStaticEntries }}
|
||||||
{{- range $skey, $svalue := $value }}
|
{{- range $skey, $svalue := $value }}
|
||||||
{{- if not (has $skey (list "name" "annotations" "labels" "enabled" "admin" "dnsNames" "downstream" "federatesWith" "hint" "jwtSVIDTTL" "parentID" "selectors" "spiffeID" "x509SVIDTTL")) }}
|
{{- if not (has $skey (list "name" "annotations" "labels" "enabled" "admin" "dnsNames" "downstream" "federatesWith" "hint" "jwtSVIDTTL" "parentID" "selectors" "spiffeID" "x509SVIDTTL")) }}
|
||||||
{{- fail (printf "Unsupported property specified: %s" $skey) }}
|
{{- fail (printf "Unsupported property specified: %s" $skey) }}
|
||||||
@@ -12,52 +14,63 @@
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if eq ($root.Values.controllerManager.enabled | toString) "true" }}
|
{{- if eq ($root.Values.controllerManager.enabled | toString) "true" }}
|
||||||
{{- if or (not (hasKey $value "enabled")) (eq ($value.enabled | toString) "true") }}
|
{{- if or (not (hasKey $value "enabled")) (eq ($value.enabled | toString) "true") }}
|
||||||
---
|
- apiVersion: spire.spiffe.io/v1alpha1
|
||||||
apiVersion: spire.spiffe.io/v1alpha1
|
kind: ClusterStaticEntry
|
||||||
kind: ClusterStaticEntry
|
metadata:
|
||||||
metadata:
|
{{- if $useShortName }}
|
||||||
name: {{ $root.Release.Namespace }}-{{ default $root.Release.Name $root.Values.crNameOverride }}-{{ $key }}
|
name: {{ $key }}
|
||||||
{{- with $value.annotations }}
|
{{- else }}
|
||||||
annotations:
|
name: {{ $root.Release.Namespace }}-{{ default $root.Release.Name $root.Values.crNameOverride }}-{{ $key }}
|
||||||
{{- toYaml . | nindent 4 }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- with $value.annotations }}
|
||||||
{{- with $value.labels }}
|
annotations:
|
||||||
labels:
|
{{- toYaml . | nindent 6 }}
|
||||||
{{- toYaml . | nindent 4 }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- with $value.labels }}
|
||||||
spec:
|
labels:
|
||||||
className: {{ include "spire-server.controller-manager-class-name" $root | quote }}
|
{{- toYaml . | nindent 6 }}
|
||||||
spiffeID: {{ $value.spiffeID | quote }}
|
{{- end }}
|
||||||
{{- with $value.federatesWith }}
|
spec:
|
||||||
federatesWith:
|
className: {{ include "spire-server.controller-manager-class-name" $root | quote }}
|
||||||
{{- toYaml . | nindent 4 }}
|
spiffeID: {{ $value.spiffeID | quote }}
|
||||||
{{- end }}
|
{{- with $value.federatesWith }}
|
||||||
{{- with $value.selectors }}
|
federatesWith:
|
||||||
selectors:
|
{{- toYaml . | nindent 6 }}
|
||||||
{{- toYaml . | nindent 4 }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- with $value.selectors }}
|
||||||
{{- with $value.parentID }}
|
selectors:
|
||||||
parentID: {{ . | quote }}
|
{{- toYaml . | nindent 6 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- with $value.dnsNames }}
|
{{- with $value.parentID }}
|
||||||
dnsNames:
|
parentID: {{ . | quote }}
|
||||||
{{- toYaml . | nindent 4 }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- with $value.dnsNames }}
|
||||||
{{- with $value.hint }}
|
dnsNames:
|
||||||
hint: {{ . | quote }}
|
{{- toYaml . | nindent 6 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- with $value.x509SVIDTTL }}
|
{{- with $value.hint }}
|
||||||
x509SVIDTTL: {{ . | quote }}
|
hint: {{ . | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- with $value.jwtSVIDTTL }}
|
{{- with $value.x509SVIDTTL }}
|
||||||
jwtSVIDTTL: {{ . | quote }}
|
x509SVIDTTL: {{ . | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- with $value.admin }}
|
{{- with $value.jwtSVIDTTL }}
|
||||||
admin: {{ . }}
|
jwtSVIDTTL: {{ . | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- with $value.downstream }}
|
{{- with $value.admin }}
|
||||||
downstream: {{ . }}
|
admin: {{ . }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- with $value.downstream }}
|
||||||
|
downstream: {{ . }}
|
||||||
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if eq .Values.controllerManager.staticManifestMode "off" }}
|
||||||
|
{{- $t := include "spire-server.cluster-static-entries" (dict "root" . "useShortName" false) | fromYamlArray }}
|
||||||
|
{{- range $_, $v := $t }}
|
||||||
|
---
|
||||||
|
{{- $v | toYaml }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
{{- if not .Values.externalServer }}
|
{{- if not .Values.externalServer }}
|
||||||
|
{{- if eq .Values.controllerManager.staticManifestMode "off" }}
|
||||||
{{- if and (eq (.Values.controllerManager.enabled | toString) "true") .Values.controllerManager.validatingWebhookConfiguration.enabled }}
|
{{- if and (eq (.Values.controllerManager.enabled | toString) "true") .Values.controllerManager.validatingWebhookConfiguration.enabled }}
|
||||||
apiVersion: admissionregistration.k8s.io/v1
|
apiVersion: admissionregistration.k8s.io/v1
|
||||||
kind: ValidatingWebhookConfiguration
|
kind: ValidatingWebhookConfiguration
|
||||||
@@ -39,3 +40,4 @@ webhooks:
|
|||||||
sideEffects: None
|
sideEffects: None
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
{{- if not .Values.externalServer }}
|
{{- if not .Values.externalServer }}
|
||||||
{{- if eq ((dig "installAndUpgradeHooks" "enabled" .Values.controllerManager.installAndUpgradeHook.enabled .Values.global) | toString) "true" }}
|
{{- if eq ((dig "installAndUpgradeHooks" "enabled" .Values.controllerManager.installAndUpgradeHook.enabled .Values.global) | toString) "true" }}
|
||||||
|
{{- if eq .Values.controllerManager.staticManifestMode "off" }}
|
||||||
{{- if and (eq (.Values.controllerManager.enabled | toString) "true") .Values.controllerManager.validatingWebhookConfiguration.enabled }}
|
{{- if and (eq (.Values.controllerManager.enabled | toString) "true") .Values.controllerManager.validatingWebhookConfiguration.enabled }}
|
||||||
{{- if eq .Values.controllerManager.validatingWebhookConfiguration.failurePolicy "Fail" }}
|
{{- if eq .Values.controllerManager.validatingWebhookConfiguration.failurePolicy "Fail" }}
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
@@ -93,3 +94,4 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
{{- if not .Values.externalServer }}
|
{{- if not .Values.externalServer }}
|
||||||
{{- if eq ((dig "installAndUpgradeHooks" "enabled" .Values.controllerManager.installAndUpgradeHook.enabled .Values.global) | toString) "true" }}
|
{{- if eq ((dig "installAndUpgradeHooks" "enabled" .Values.controllerManager.installAndUpgradeHook.enabled .Values.global) | toString) "true" }}
|
||||||
|
{{- if eq .Values.controllerManager.staticManifestMode "off" }}
|
||||||
{{- if and (eq (.Values.controllerManager.enabled | toString) "true") .Values.controllerManager.validatingWebhookConfiguration.enabled }}
|
{{- if and (eq (.Values.controllerManager.enabled | toString) "true") .Values.controllerManager.validatingWebhookConfiguration.enabled }}
|
||||||
{{- if eq .Values.controllerManager.validatingWebhookConfiguration.failurePolicy "Fail" }}
|
{{- if eq .Values.controllerManager.validatingWebhookConfiguration.failurePolicy "Fail" }}
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
@@ -93,3 +94,4 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
{{- if not .Values.externalServer }}
|
{{- if not .Values.externalServer }}
|
||||||
{{- if eq ((dig "installAndUpgradeHooks" "enabled" .Values.controllerManager.installAndUpgradeHook.enabled .Values.global) | toString) "true" }}
|
{{- if eq ((dig "installAndUpgradeHooks" "enabled" .Values.controllerManager.installAndUpgradeHook.enabled .Values.global) | toString) "true" }}
|
||||||
|
{{- if eq .Values.controllerManager.staticManifestMode "off" }}
|
||||||
{{- if and (eq (.Values.controllerManager.enabled | toString) "true") .Values.controllerManager.validatingWebhookConfiguration.enabled }}
|
{{- if and (eq (.Values.controllerManager.enabled | toString) "true") .Values.controllerManager.validatingWebhookConfiguration.enabled }}
|
||||||
{{- if eq .Values.controllerManager.validatingWebhookConfiguration.failurePolicy "Fail" }}
|
{{- if eq .Values.controllerManager.validatingWebhookConfiguration.failurePolicy "Fail" }}
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
@@ -93,3 +94,4 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|||||||
@@ -505,6 +505,11 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if eq (.Values.controllerManager.enabled | toString) "true" }}
|
{{- if eq (.Values.controllerManager.enabled | toString) "true" }}
|
||||||
|
{{- if ne .Values.controllerManager.staticManifestMode "off" }}
|
||||||
|
- name: controller-manager-static-config
|
||||||
|
configMap:
|
||||||
|
name: {{ include "spire-controller-manager.fullname" . }}-static
|
||||||
|
{{- end }}
|
||||||
- name: controller-manager-config
|
- name: controller-manager-config
|
||||||
configMap:
|
configMap:
|
||||||
name: {{ include "spire-controller-manager.fullname" . }}
|
name: {{ include "spire-controller-manager.fullname" . }}
|
||||||
|
|||||||
@@ -511,6 +511,9 @@ controllerManager:
|
|||||||
## @param controllerManager.enabled Flag to enable controller manager
|
## @param controllerManager.enabled Flag to enable controller manager
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|
||||||
|
## @param controllerManager.staticManifestMode Flag to configure static mode. Valid options off, internal, and external. If internal, the identities config options will be rendered to an included configmap
|
||||||
|
staticManifestMode: "off"
|
||||||
|
|
||||||
## @param controllerManager.className specify to use an explicit class name. If empty, it will be automatically set to Release.Namespace-Release.Name to not conflict with other installs, enabling parallel installs.
|
## @param controllerManager.className specify to use an explicit class name. If empty, it will be automatically set to Release.Namespace-Release.Name to not conflict with other installs, enabling parallel installs.
|
||||||
className: ""
|
className: ""
|
||||||
## @param controllerManager.watchClassless specify to process custom resources without class name specified. Useful to slowly migrate to class names from classless installs. Do not have two installs on the same k8s cluster both set to true.
|
## @param controllerManager.watchClassless specify to process custom resources without class name specified. Useful to slowly migrate to class names from classless installs. Do not have two installs on the same k8s cluster both set to true.
|
||||||
@@ -544,7 +547,7 @@ controllerManager:
|
|||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
repository: spiffe/spire-controller-manager
|
repository: spiffe/spire-controller-manager
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
tag: "0.6.0"
|
tag: "0.6.2"
|
||||||
|
|
||||||
## @param controllerManager.resources [object] Resource requests and limits for controller manager
|
## @param controllerManager.resources [object] Resource requests and limits for controller manager
|
||||||
resources: {}
|
resources: {}
|
||||||
|
|||||||
@@ -0,0 +1,31 @@
|
|||||||
|
spire-server:
|
||||||
|
nodeAttestor:
|
||||||
|
k8sPSAT:
|
||||||
|
enabled: false
|
||||||
|
joinToken:
|
||||||
|
enabled: true
|
||||||
|
tpmDirect:
|
||||||
|
enabled: true
|
||||||
|
controllerManager:
|
||||||
|
enabled: true
|
||||||
|
staticManifestMode: internal
|
||||||
|
identities:
|
||||||
|
clusterStaticEntries:
|
||||||
|
foo-node:
|
||||||
|
parentID: spiffe://example.org/spire/server
|
||||||
|
spiffeID: spiffe://example.org/hosts/foo
|
||||||
|
selectors:
|
||||||
|
- tpm:pub_hash:12345
|
||||||
|
foo-kubelet:
|
||||||
|
parentID: spiffe://example.org/foo
|
||||||
|
spiffeID: spiffe://example.org/k8s/one/node/foo
|
||||||
|
selectors:
|
||||||
|
- systemd:id:kubelet.service
|
||||||
|
ingress:
|
||||||
|
enabled: true
|
||||||
|
spire-agent:
|
||||||
|
enabled: false
|
||||||
|
spiffe-csi-driver:
|
||||||
|
enabled: false
|
||||||
|
spiffe-oidc-discovery-provider:
|
||||||
|
enabled: false
|
||||||
Reference in New Issue
Block a user