diff --git a/stable/external-dns/Chart.yaml b/stable/external-dns/Chart.yaml index 3c128cbcca..2668986c45 100644 --- a/stable/external-dns/Chart.yaml +++ b/stable/external-dns/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v1 name: external-dns -version: 2.0.3 +version: 2.1.0 appVersion: 0.5.15 description: ExternalDNS is a Kubernetes addon that configures public DNS servers with information about exposed Kubernetes services to make them discoverable. keywords: diff --git a/stable/external-dns/README.md b/stable/external-dns/README.md index 42c7474193..b79e36aedb 100644 --- a/stable/external-dns/README.md +++ b/stable/external-dns/README.md @@ -44,6 +44,7 @@ The command removes all the Kubernetes components associated with the chart and The following table lists the configurable parameters of the external-dns chart and their default values. + | Parameter | Description | Default | | ---------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- | | `global.imageRegistry` | Global Docker image registry | `nil` | @@ -114,7 +115,10 @@ The following table lists the configurable parameters of the external-dns chart | `tolerations` | Tolerations for pod assignment (this value is evaluated as a template) | `[]` | | `podAnnotations` | Additional annotations to apply to the pod. | `{}` | | `podLabels` | Additional labels to be added to pods | {} | +| `podSecurityContext.fsGroup` | Group ID for the container | `1001` | +| `podSecurityContext.runAsUser` | User ID for the container | `1001` | | `priorityClassName` | priorityClassName | `""` | +| `securityContext` | Security context for the container | `{}` | | `service.type` | Kubernetes Service type | `ClusterIP` | | `service.port` | ExternalDNS client port | `7979` | | `service.nodePort` | Port to bind to for NodePort service type (client port) | `nil` | @@ -126,8 +130,6 @@ The following table lists the configurable parameters of the external-dns chart | `rbac.create` | Wether to create & use RBAC resources or not | `false` | | `rbac.serviceAccountName` | ServiceAccount (ignored if rbac.create == true) | `default` | | `rbac.apiVersion` | Version of the RBAC API | `v1beta1` | -| `securityContext.fsGroup` | Group ID for the container | `1001` | -| `securityContext.runAsUser` | User ID for the container | `1001` | | `resources` | CPU/Memory resource requests/limits. | `{}` | | `livenessProbe` | Deployment Liveness Probe | See `values.yaml` | | `readinessProbe` | Deployment Readiness Probe | See `values.yaml` | diff --git a/stable/external-dns/templates/deployment.yaml b/stable/external-dns/templates/deployment.yaml index 71c7b1dda4..752cc46452 100755 --- a/stable/external-dns/templates/deployment.yaml +++ b/stable/external-dns/templates/deployment.yaml @@ -1,4 +1,4 @@ -apiVersion: extensions/v1beta1 +apiVersion: apps/v1 kind: Deployment metadata: name: {{ template "external-dns.fullname" . }} @@ -21,10 +21,8 @@ spec: {{- end }} spec: {{- include "external-dns.imagePullSecrets" . | indent 6 }} - {{- if .Values.securityContext.enabled }} - securityContext: - fsGroup: {{ .Values.securityContext.fsGroup }} - runAsUser: {{ .Values.securityContext.runAsUser }} + {{- if .Values.podSecurityContext }} + securityContext: {{ toYaml .Values.podSecurityContext | nindent 8 }} {{- end }} {{- with .Values.affinity }} affinity: {{ tpl (toYaml .) $ | nindent 8 }} @@ -254,6 +252,9 @@ spec: containerPort: {{ .Values.service.port }} readinessProbe: {{ toYaml .Values.readinessProbe | nindent 10 }} livenessProbe: {{ toYaml .Values.livenessProbe | nindent 10 }} + {{- if .Values.securityContext }} + securityContext: {{ toYaml .Values.securityContext | nindent 10 }} + {{- end }} {{- if .Values.resources }} resources: {{ toYaml .Values.resources | nindent 10 }} {{- end }} diff --git a/stable/external-dns/values-production.yaml b/stable/external-dns/values-production.yaml index 1be1bff379..656e7bf7b5 100644 --- a/stable/external-dns/values-production.yaml +++ b/stable/external-dns/values-production.yaml @@ -282,10 +282,15 @@ rbac: ## Kubernetes Security Context ## https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ ## -securityContext: - enabled: true +securityContext: {} + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: + drop: ["ALL"] +podSecurityContext: fsGroup: 1001 runAsUser: 1001 + runAsNonRoot: true ## Configure resource requests and limits ## ref: http://kubernetes.io/docs/user-guide/compute-resources/ diff --git a/stable/external-dns/values.yaml b/stable/external-dns/values.yaml index 35b85520c6..282a43867f 100644 --- a/stable/external-dns/values.yaml +++ b/stable/external-dns/values.yaml @@ -282,10 +282,15 @@ rbac: ## Kubernetes Security Context ## https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ ## -securityContext: - enabled: true +securityContext: {} + # allowPrivilegeEscalation: false + # readOnlyRootFilesystem: true + # capabilities: + # drop: ["ALL"] +podSecurityContext: fsGroup: 1001 runAsUser: 1001 + # runAsNonRoot: true ## Configure resource requests and limits ## ref: http://kubernetes.io/docs/user-guide/compute-resources/