Skip to content

Commit 2563437

Browse files
authored
Deploy ESO 0.16.2 to all clusters (#9215)
After deploying External Secrets Operator to one staging cluster, it was verified that the two supported API versions, v1beta1 and v1, are present on the cluster which avoids endless reconciliation by ArgoCD.
1 parent 1055d7e commit 2563437

File tree

85 files changed

+7711
-28588
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

85 files changed

+7711
-28588
lines changed

argo-cd-apps/base/all-clusters/infra-deployments/external-secrets-operator/external-secrets-operator.yaml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,9 @@ spec:
1313
values:
1414
sourceRoot: components/external-secrets-operator
1515
environment: staging
16-
clusterDir: "base"
16+
clusterDir: ""
1717
- list:
18-
elements:
19-
- nameNormalized: stone-stage-p01
20-
values.clusterDir: stone-stage-p01
18+
elements: []
2119
template:
2220
metadata:
2321
name: external-secrets-operator-{{nameNormalized}}

components/external-secrets-operator/base/external-secrets/Chart.yaml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
apiVersion: v2
2-
appVersion: v0.11.0
3-
# Dependencies removed - bitwarden-sdk-server is disabled and causes CI issues
4-
# If needed in the future, add back with: helm dependency update
2+
appVersion: v0.16.2
53
# dependencies:
64
# - condition: bitwarden-sdk-server.enabled
75
# name: bitwarden-sdk-server
@@ -19,4 +17,4 @@ maintainers:
1917
name: mcavoyk
2018
name: external-secrets
2119
type: application
22-
version: 0.11.0
20+
version: 0.16.2

components/external-secrets-operator/base/external-secrets/README.md

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
[//]: # (README.md generated by gotmpl. DO NOT EDIT.)
66

7-
![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![Version: 0.11.0](https://img.shields.io/badge/Version-0.11.0-informational?style=flat-square)
7+
![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![Version: 0.16.2](https://img.shields.io/badge/Version-0.16.2-informational?style=flat-square)
88

99
External secret management for Kubernetes
1010

@@ -50,7 +50,7 @@ The command removes all the Kubernetes components associated with the chart and
5050
| certController.image.repository | string | `"oci.external-secrets.io/external-secrets/external-secrets"` | |
5151
| certController.image.tag | string | `""` | |
5252
| certController.imagePullSecrets | list | `[]` | |
53-
| certController.log | object | `{"level":"info","timeEncoding":"epoch"}` | Specifices Log Params to the Webhook |
53+
| certController.log | object | `{"level":"info","timeEncoding":"epoch"}` | Specifices Log Params to the Certificate Controller |
5454
| certController.metrics.listen.port | int | `8080` | |
5555
| certController.metrics.service.annotations | object | `{}` | Additional service annotations |
5656
| certController.metrics.service.enabled | bool | `false` | Enable if you use another monitoring tool than Prometheus to scrape the metrics |
@@ -87,9 +87,10 @@ The command removes all the Kubernetes components associated with the chart and
8787
| concurrent | int | `1` | Specifies the number of concurrent ExternalSecret Reconciles external-secret executes at a time. |
8888
| controllerClass | string | `""` | If set external secrets will filter matching Secret Stores with the appropriate controller values. |
8989
| crds.annotations | object | `{}` | |
90-
| crds.conversion.enabled | bool | `true` | If webhook is set to false this also needs to be set to false otherwise the kubeapi will be hammered because the conversion is looking for a webhook endpoint. |
90+
| crds.conversion.enabled | bool | `false` | Conversion is disabled by default as we stopped supporting v1alpha1. |
9191
| crds.createClusterExternalSecret | bool | `true` | If true, create CRDs for Cluster External Secret. |
9292
| crds.createClusterGenerator | bool | `true` | If true, create CRDs for Cluster Generator. |
93+
| crds.createClusterPushSecret | bool | `true` | If true, create CRDs for Cluster Push Secret. |
9394
| crds.createClusterSecretStore | bool | `true` | If true, create CRDs for Cluster Secret Store. |
9495
| crds.createPushSecret | bool | `true` | If true, create CRDs for Push Secret. |
9596
| createOperator | bool | `true` | Specifies whether an external secret operator deployment be created. |
@@ -109,6 +110,10 @@ The command removes all the Kubernetes components associated with the chart and
109110
| global.nodeSelector | object | `{}` | |
110111
| global.tolerations | list | `[]` | |
111112
| global.topologySpreadConstraints | list | `[]` | |
113+
| grafanaDashboard.annotations | object | `{}` | Annotations that ConfigMaps can have to get configured in Grafana, See: sidecar.dashboards.folderAnnotation for specifying the dashboard folder. https://github.com/grafana/helm-charts/tree/main/charts/grafana |
114+
| grafanaDashboard.enabled | bool | `false` | If true creates a Grafana dashboard. |
115+
| grafanaDashboard.sidecarLabel | string | `"grafana_dashboard"` | Label that ConfigMaps should have to be loaded as dashboards. |
116+
| grafanaDashboard.sidecarLabelValue | string | `"1"` | Label value that ConfigMaps should have to be loaded as dashboards. |
112117
| hostNetwork | bool | `false` | Run the controller on the host network |
113118
| image.flavour | string | `""` | The flavour of tag you want to use There are different image flavours available, like distroless and ubi. Please see GitHub release notes for image tags for these flavors. By default, the distroless image is used. |
114119
| image.pullPolicy | string | `"IfNotPresent"` | |
@@ -117,23 +122,27 @@ The command removes all the Kubernetes components associated with the chart and
117122
| imagePullSecrets | list | `[]` | |
118123
| installCRDs | bool | `true` | If set, install and upgrade CRDs through helm chart. |
119124
| leaderElect | bool | `false` | If true, external-secrets will perform leader election between instances to ensure no more than one instance of external-secrets operates at a time. |
120-
| log | object | `{"level":"info","timeEncoding":"epoch"}` | Specifices Log Params to the Webhook |
125+
| log | object | `{"level":"info","timeEncoding":"epoch"}` | Specifices Log Params to the External Secrets Operator |
121126
| metrics.listen.port | int | `8080` | |
122127
| metrics.service.annotations | object | `{}` | Additional service annotations |
123128
| metrics.service.enabled | bool | `false` | Enable if you use another monitoring tool than Prometheus to scrape the metrics |
124129
| metrics.service.port | int | `8080` | Metrics service port to scrape |
125130
| nameOverride | string | `""` | |
126131
| namespaceOverride | string | `""` | |
127132
| nodeSelector | object | `{}` | |
133+
| openshiftFinalizers | bool | `true` | If true the OpenShift finalizer permissions will be added to RBAC |
128134
| podAnnotations | object | `{}` | Annotations to add to Pod |
129135
| podDisruptionBudget | object | `{"enabled":false,"minAvailable":1}` | Pod disruption budget - for more details see https://kubernetes.io/docs/concepts/workloads/pods/disruptions/ |
130136
| podLabels | object | `{}` | |
131137
| podSecurityContext.enabled | bool | `true` | |
132138
| podSpecExtra | object | `{}` | Any extra pod spec on the deployment |
133139
| priorityClassName | string | `""` | Pod priority class name. |
134140
| processClusterExternalSecret | bool | `true` | if true, the operator will process cluster external secret. Else, it will ignore them. |
141+
| processClusterPushSecret | bool | `true` | if true, the operator will process cluster push secret. Else, it will ignore them. |
135142
| processClusterStore | bool | `true` | if true, the operator will process cluster store. Else, it will ignore them. |
136143
| processPushSecret | bool | `true` | if true, the operator will process push secret. Else, it will ignore them. |
144+
| rbac.aggregateToEdit | bool | `true` | Specifies whether permissions are aggregated to the edit ClusterRole |
145+
| rbac.aggregateToView | bool | `true` | Specifies whether permissions are aggregated to the view ClusterRole |
137146
| rbac.create | bool | `true` | Specifies whether role and rolebinding resources should be created. |
138147
| rbac.servicebindings.create | bool | `true` | Specifies whether a clusterrole to give servicebindings read access should be created. |
139148
| replicaCount | int | `1` | |
@@ -166,6 +175,7 @@ The command removes all the Kubernetes components associated with the chart and
166175
| tolerations | list | `[]` | |
167176
| topologySpreadConstraints | list | `[]` | |
168177
| webhook.affinity | object | `{}` | |
178+
| webhook.annotations | object | `{}` | Annotations to place on validating webhook configuration. |
169179
| webhook.certCheckInterval | string | `"5m"` | Specifices the time to check if the cert is valid |
170180
| webhook.certDir | string | `"/tmp/certs"` | |
171181
| webhook.certManager.addInjectorAnnotations | bool | `true` | Automatically add the cert-manager.io/inject-ca-from annotation to the webhooks and CRDs. As long as you have the cert-manager CA Injector enabled, this will automatically setup your webhook's CA to the one used by cert-manager. See https://cert-manager.io/docs/concepts/ca-injector |
@@ -174,8 +184,9 @@ The command removes all the Kubernetes components associated with the chart and
174184
| webhook.certManager.cert.duration | string | `"8760h"` | Set the requested duration (i.e. lifetime) of the Certificate. See https://cert-manager.io/docs/reference/api-docs/#cert-manager.io/v1.CertificateSpec One year by default. |
175185
| webhook.certManager.cert.issuerRef | object | `{"group":"cert-manager.io","kind":"Issuer","name":"my-issuer"}` | For the Certificate created by this chart, setup the issuer. See https://cert-manager.io/docs/reference/api-docs/#cert-manager.io/v1.IssuerSpec |
176186
| webhook.certManager.cert.renewBefore | string | `""` | How long before the currently issued certificate’s expiry cert-manager should renew the certificate. See https://cert-manager.io/docs/reference/api-docs/#cert-manager.io/v1.CertificateSpec Note that renewBefore should be greater than .webhook.lookaheadInterval since the webhook will check this far in advance that the certificate is valid. |
187+
| webhook.certManager.cert.revisionHistoryLimit | int | `0` | Set the revisionHistoryLimit on the Certificate. See https://cert-manager.io/docs/reference/api-docs/#cert-manager.io/v1.CertificateSpec Defaults to 0 (ignored). |
177188
| webhook.certManager.enabled | bool | `false` | Enabling cert-manager support will disable the built in secret and switch to using cert-manager (installed separately) to automatically issue and renew the webhook certificate. This chart does not install cert-manager for you, See https://cert-manager.io/docs/ |
178-
| webhook.create | bool | `true` | Specifies whether a webhook deployment be created. |
189+
| webhook.create | bool | `true` | Specifies whether a webhook deployment be created. If set to false, crds.conversion.enabled should also be set to false otherwise the kubeapi will be hammered because the conversion is looking for a webhook endpoint. |
179190
| webhook.deploymentAnnotations | object | `{}` | Annotations to add to Deployment |
180191
| webhook.extraArgs | object | `{}` | |
181192
| webhook.extraEnv | list | `[]` | |
@@ -217,6 +228,12 @@ The command removes all the Kubernetes components associated with the chart and
217228
| webhook.securityContext.runAsNonRoot | bool | `true` | |
218229
| webhook.securityContext.runAsUser | int | `1000` | |
219230
| webhook.securityContext.seccompProfile.type | string | `"RuntimeDefault"` | |
231+
| webhook.service | object | `{"annotations":{},"enabled":true,"labels":{},"loadBalancerIP":"","type":"ClusterIP"}` | Manage the service through which the webhook is reached. |
232+
| webhook.service.annotations | object | `{}` | Custom annotations for the webhook service. |
233+
| webhook.service.enabled | bool | `true` | Whether the service object should be enabled or not (it is expected to exist). |
234+
| webhook.service.labels | object | `{}` | Custom labels for the webhook service. |
235+
| webhook.service.loadBalancerIP | string | `""` | If the webhook service type is LoadBalancer, you can assign a specific load balancer IP here. Check the documentation of your load balancer provider to see if/how this should be used. |
236+
| webhook.service.type | string | `"ClusterIP"` | The service type of the webhook service. |
220237
| webhook.serviceAccount.annotations | object | `{}` | Annotations to add to the service account. |
221238
| webhook.serviceAccount.automount | bool | `true` | Automounts the service account token in all containers of the pod |
222239
| webhook.serviceAccount.create | bool | `true` | Specifies whether a service account should be created. |

components/external-secrets-operator/base/external-secrets/templates/_helpers.tpl

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,26 @@ app.kubernetes.io/managed-by: {{ .Release.Service }}
6666
{{- with .Values.commonLabels }}
6767
{{ toYaml . }}
6868
{{- end }}
69+
{{- if and ( .Capabilities.APIVersions.Has "monitoring.coreos.com/v1" ) .Values.serviceMonitor.enabled }}
70+
app.kubernetes.io/metrics: "webhook"
71+
{{- with .Values.webhook.service.labels }}
72+
{{ toYaml . }}
73+
{{- end }}
74+
{{- end }}
75+
{{- end }}
76+
77+
{{- define "external-secrets-webhook.annotations" -}}
78+
{{- if or .Values.webhook.service.annotations (and .Values.webhook.metrics.service.enabled .Values.webhook.metrics.service.annotations) -}}
79+
annotations:
80+
{{- with .Values.webhook.service.annotations }}
81+
{{- toYaml . | nindent 2 }}
82+
{{- end }}
83+
{{- if .Values.webhook.metrics.service.enabled }}
84+
{{- with .Values.webhook.metrics.service.annotations }}
85+
{{- toYaml . | nindent 2 }}
86+
{{- end }}
87+
{{- end }}
88+
{{- end }}
6989
{{- end }}
7090

7191
{{- define "external-secrets-webhook-metrics.labels" -}}
@@ -86,6 +106,9 @@ app.kubernetes.io/managed-by: {{ .Release.Service }}
86106
{{- with .Values.commonLabels }}
87107
{{ toYaml . }}
88108
{{- end }}
109+
{{- if and ( .Capabilities.APIVersions.Has "monitoring.coreos.com/v1" ) .Values.serviceMonitor.enabled }}
110+
app.kubernetes.io/metrics: "cert-controller"
111+
{{- end }}
89112
{{- end }}
90113

91114
{{- define "external-secrets-cert-controller-metrics.labels" -}}

components/external-secrets-operator/base/external-secrets/templates/cert-controller-service.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
{{- if and .Values.certController.create .Values.certController.metrics.service.enabled (not .Values.webhook.certManager.enabled) }}
1+
{{- if and .Values.certController.create ( or .Values.certController.metrics.service.enabled ( and ( .Capabilities.APIVersions.Has "monitoring.coreos.com/v1" ) .Values.serviceMonitor.enabled )) (not .Values.webhook.certManager.enabled) }}
22
apiVersion: v1
33
kind: Service
44
metadata:
55
name: {{ include "external-secrets.fullname" . }}-cert-controller-metrics
66
namespace: {{ template "external-secrets.namespace" . }}
77
labels:
8-
{{- include "external-secrets.labels" . | nindent 4 }}
8+
{{- include "external-secrets-cert-controller.labels" . | nindent 4 }}
99
{{- with .Values.metrics.service.annotations }}
1010
annotations:
1111
{{- toYaml . | nindent 4 }}

components/external-secrets-operator/base/external-secrets/templates/crds/acraccesstoken.yaml

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ metadata:
99
{{- if and .Values.crds.conversion.enabled .Values.webhook.certManager.enabled .Values.webhook.certManager.addInjectorAnnotations }}
1010
cert-manager.io/inject-ca-from: {{ .Release.Namespace }}/{{ include "external-secrets.fullname" . }}-webhook
1111
{{- end }}
12-
controller-gen.kubebuilder.io/version: v0.16.5
12+
controller-gen.kubebuilder.io/version: v0.17.3
1313
labels:
1414
external-secrets.io/component: controller
1515
name: acraccesstokens.generators.external-secrets.io
@@ -29,7 +29,7 @@ spec:
2929
schema:
3030
openAPIV3Schema:
3131
description: |-
32-
ACRAccessToken returns a Azure Container Registry token
32+
ACRAccessToken returns an Azure Container Registry token
3333
that can be used for pushing/pulling images.
3434
Note: by default it will return an ACR Refresh Token with full access
3535
(depending on the identity).
@@ -211,16 +211,4 @@ spec:
211211
storage: true
212212
subresources:
213213
status: {}
214-
{{- if .Values.crds.conversion.enabled }}
215-
conversion:
216-
strategy: Webhook
217-
webhook:
218-
conversionReviewVersions:
219-
- v1
220-
clientConfig:
221-
service:
222-
name: {{ include "external-secrets.fullname" . }}-webhook
223-
namespace: {{ .Release.Namespace | quote }}
224-
path: /convert
225-
{{- end }}
226214
{{- end }}

0 commit comments

Comments
 (0)