mirror of
https://github.com/bitnami/charts.git
synced 2026-03-14 06:47:28 +08:00
[bitnami/external-dns] Add support for Akamai provider (#12431)
* Adding Akamai provider Signed-off-by: Josh Johnson <josjohns@oth-mpjki.localdomain> * Updating REAMD and bumping chart version Signed-off-by: Josh Johnson <josjohns@oth-mpjki.localdomain> * fixing documentation comment Signed-off-by: Josh Johnson <josjohns@oth-mpjki.localdomain> * Update README.md with readme-generator-for-helm Signed-off-by: Bitnami Containers <bitnami-bot@vmware.com> * Updating version in Chart.yaml Fixing "if" condition in deployment.yaml Signed-off-by: Josh Johnson <josjohns@oth-mpjki.localdomain> Signed-off-by: Josh Johnson <josjohns@oth-mpjki.localdomain> Signed-off-by: Bitnami Containers <bitnami-bot@vmware.com> Co-authored-by: Josh Johnson <josjohns@oth-mpjki.localdomain> Co-authored-by: Bitnami Containers <bitnami-bot@vmware.com>
This commit is contained in:
@@ -24,4 +24,4 @@ sources:
|
||||
- https://github.com/kubernetes-sigs/external-dns
|
||||
- https://github.com/bitnami/containers/tree/main/bitnami/external-dns
|
||||
- https://github.com/kubernetes-sigs/external-dns
|
||||
version: 6.8.2
|
||||
version: 6.9.0
|
||||
|
||||
@@ -98,6 +98,11 @@ The command removes all the Kubernetes components associated with the chart and
|
||||
| `publishInternalServices` | Allow external-dns to publish DNS records for ClusterIP services | `false` |
|
||||
| `publishHostIP` | Allow external-dns to publish host-ip for headless services | `false` |
|
||||
| `serviceTypeFilter` | The service types to take care about (default: all, options: ClusterIP, NodePort, LoadBalancer, ExternalName) | `[]` |
|
||||
| `akamai.host` | Hostname to use for EdgeGrid auth | `""` |
|
||||
| `akamai.accessToken` | Access Token to use for EdgeGrid auth | `""` |
|
||||
| `akamai.clientToken` | Client Token to use for EdgeGrid auth | `""` |
|
||||
| `akamai.clientSecret` | When using the Akamai provider, `AKAMAI_CLIENT_SECRET` to set (optional) | `""` |
|
||||
| `akamai.secretName` | Use an existing secret with key "akamai_api_seret" defined. | `""` |
|
||||
| `alibabacloud.accessKeyId` | When using the Alibaba Cloud provider, set `accessKeyId` in the Alibaba Cloud configuration file (optional) | `""` |
|
||||
| `alibabacloud.accessKeySecret` | When using the Alibaba Cloud provider, set `accessKeySecret` in the Alibaba Cloud configuration file (optional) | `""` |
|
||||
| `alibabacloud.regionId` | When using the Alibaba Cloud provider, set `regionId` in the Alibaba Cloud configuration file (optional) | `""` |
|
||||
|
||||
@@ -114,7 +114,9 @@ imagePullSecrets:
|
||||
Return true if a secret object should be created
|
||||
*/}}
|
||||
{{- define "external-dns.createSecret" -}}
|
||||
{{- if and (eq .Values.provider "alibabacloud") .Values.alibabacloud.accessKeyId .Values.alibabacloud.accessKeySecret (not .Values.alibabacloud.secretName) }}
|
||||
{{- if and (eq .Values.provider "akamai") .Values.akamai.clientSecret (not .Values.akamai.secretName) -}}
|
||||
{{- true -}}
|
||||
{{- else if and (eq .Values.provider "alibabacloud") .Values.alibabacloud.accessKeyId .Values.alibabacloud.accessKeySecret (not .Values.alibabacloud.secretName) }}
|
||||
{{- true -}}
|
||||
{{- else if and (eq .Values.provider "aws") .Values.aws.credentials.secretKey .Values.aws.credentials.accessKey (not .Values.aws.credentials.secretName) }}
|
||||
{{- true -}}
|
||||
@@ -170,7 +172,9 @@ Return true if a configmap object should be created
|
||||
Return the name of the Secret used to store the passwords
|
||||
*/}}
|
||||
{{- define "external-dns.secretName" -}}
|
||||
{{- if and (eq .Values.provider "alibabacloud") .Values.alibabacloud.secretName }}
|
||||
{{- if and (eq .Values.provider "akamai") .Values.akamai.secretName }}
|
||||
{{- .Values.akamai.secretName }}
|
||||
{{- else if and (eq .Values.provider "alibabacloud") .Values.alibabacloud.secretName }}
|
||||
{{- .Values.alibabacloud.secretName }}
|
||||
{{- else if and (eq .Values.provider "aws") .Values.aws.credentials.secretName }}
|
||||
{{- .Values.aws.credentials.secretName }}
|
||||
@@ -276,6 +280,10 @@ Compile all warnings into a single message, and call fail.
|
||||
{{- $messages := list -}}
|
||||
{{- $messages := append $messages (include "external-dns.validateValues.provider" .) -}}
|
||||
{{- $messages := append $messages (include "external-dns.validateValues.sources" .) -}}
|
||||
{{- $messages := append $messages (include "external-dns.validateValues.akamai.host" .) -}}
|
||||
{{- $messages := append $messages (include "external-dns.validateValues.akamai.accessToken" .) -}}
|
||||
{{- $messages := append $messages (include "external-dns.validateValues.akamai.clientToken" .) -}}
|
||||
{{- $messages := append $messages (include "external-dns.validateValues.akamai.clientSecret" .) -}}
|
||||
{{- $messages := append $messages (include "external-dns.validateValues.aws" .) -}}
|
||||
{{- $messages := append $messages (include "external-dns.validateValues.infoblox.gridHost" .) -}}
|
||||
{{- $messages := append $messages (include "external-dns.validateValues.infoblox.wapiPassword" .) -}}
|
||||
@@ -342,6 +350,54 @@ external-dns: sources
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Validate values of External DNS:
|
||||
- must provide the Akamai host when provider is "akamai"
|
||||
*/}}
|
||||
{{- define "external-dns.validateValues.akamai.host" -}}
|
||||
{{- if and (eq .Values.provider "akamai") (not .Values.akamai.host) -}}
|
||||
external-dns: akamai.host
|
||||
You must provide the Akamai host when provider="akamai".
|
||||
Please set the host parameter (--set akamai.host="xxxx")
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Validate values of External DNS:
|
||||
- must provide the Akamai access token when provider is "akamai"
|
||||
*/}}
|
||||
{{- define "external-dns.validateValues.akamai.accessToken" -}}
|
||||
{{- if and (eq .Values.provider "akamai") (not .Values.akamai.accessToken) -}}
|
||||
external-dns: akamai.accessToken
|
||||
You must provide the Akamai access token when provider="akamai".
|
||||
Please set the accessToken parameter (--set akamai.accessToken="xxxx")
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Validate values of External DNS:
|
||||
- must provide the Akamai client token when provider is "akamai"
|
||||
*/}}
|
||||
{{- define "external-dns.validateValues.akamai.clientToken" -}}
|
||||
{{- if and (eq .Values.provider "akamai") (not .Values.akamai.clientToken) -}}
|
||||
external-dns: akamai.clientToken
|
||||
You must provide the Akamai client token when provider="akamai".
|
||||
Please set the clientToken parameter (--set akamai.clientToken="xxxx")
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Validate values of External DNS:
|
||||
- must provide the Akamai client secret when provider is "akamai"
|
||||
*/}}
|
||||
{{- define "external-dns.validateValues.akamai.clientSecret" -}}
|
||||
{{- if and (eq .Values.provider "akamai") (not .Values.akamai.clientSecret) (not .Values.akamai.secretName) -}}
|
||||
external-dns: akamai.clientSecret
|
||||
You must provide the Akamai client secret when provider="akamai".
|
||||
Please set the clientSecret parameter (--set akamai.clientSecret="xxxx")
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Validate values of External DNS:
|
||||
- The AWS Role to assume must follow ARN format when provider is "aws"
|
||||
|
||||
@@ -290,6 +290,28 @@ spec:
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
env:
|
||||
{{- if eq .Values.provider "akamai" }}
|
||||
# Akamai environment variables
|
||||
{{- if .Values.akamai.host }}
|
||||
- name: EXTERNAL_DNS_AKAMAI_SERVICECONSUMERDOMAIN
|
||||
value: {{ .Values.akamai.host }}
|
||||
{{- end }}
|
||||
{{- if .Values.akamai.accessToken }}
|
||||
- name: EXTERNAL_DNS_AKAMAI_ACCESS_TOKEN
|
||||
value: {{ .Values.akamai.accessToken }}
|
||||
{{- end }}
|
||||
{{- if .Values.akamai.clientToken }}
|
||||
- name: EXTERNAL_DNS_AKAMAI_CLIENT_TOKEN
|
||||
value: {{ .Values.akamai.clientToken }}
|
||||
{{- end }}
|
||||
{{- if or (.Values.akamai.clientSecret) (.Values.akamai.secretName) }}
|
||||
- name: EXTERNAL_DNS_AKAMAI_CLIENT_SECRET
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: {{ template "external-dns.secretName" . }}
|
||||
key: akamai_client_secret
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if or (eq .Values.provider "aws") (eq .Values.provider "aws-sd") }}
|
||||
# AWS environment variables
|
||||
{{- if .Values.aws.region }}
|
||||
|
||||
@@ -17,6 +17,9 @@ metadata:
|
||||
{{- end }}
|
||||
type: Opaque
|
||||
data:
|
||||
{{- if eq .Values.provider "akamai" }}
|
||||
akamai_client_secret: {{ .Values.akamai.clientSecret | b64enc | quote }}
|
||||
{{- end }}
|
||||
{{- if eq .Values.provider "alibabacloud" }}
|
||||
alibaba-cloud.json: {{ include "external-dns.alibabacloud-credentials" . | b64enc | quote }}
|
||||
{{- end }}
|
||||
|
||||
@@ -102,7 +102,7 @@ sources:
|
||||
# - contour-httpproxy
|
||||
## @param provider DNS provider where the DNS records will be created.
|
||||
## Available providers are:
|
||||
## - alibabacloud, aws, azure, azure-private-dns, cloudflare, coredns, designate, digitalocean, google, hetzner, infoblox, linode, rfc2136, transip, oci
|
||||
## - akamai, alibabacloud, aws, azure, azure-private-dns, cloudflare, coredns, designate, digitalocean, google, hetzner, infoblox, linode, rfc2136, transip, oci
|
||||
##
|
||||
provider: aws
|
||||
## @param initContainers Attach additional init containers to the pod (evaluated as a template)
|
||||
@@ -138,6 +138,25 @@ publishHostIP: false
|
||||
## @param serviceTypeFilter The service types to take care about (default: all, options: ClusterIP, NodePort, LoadBalancer, ExternalName)
|
||||
##
|
||||
serviceTypeFilter: []
|
||||
## Akamai configuration to be set via arguments/env. variables
|
||||
##
|
||||
akamai:
|
||||
## @param akamai.host Hostname to use for EdgeGrid auth
|
||||
##
|
||||
host: ""
|
||||
## @param akamai.accessToken Access Token to use for EdgeGrid auth
|
||||
##
|
||||
accessToken: ""
|
||||
## @param akamai.clientToken Client Token to use for EdgeGrid auth
|
||||
##
|
||||
clientToken: ""
|
||||
## @param akamai.clientSecret When using the Akamai provider, `AKAMAI_CLIENT_SECRET` to set (optional)
|
||||
##
|
||||
clientSecret: ""
|
||||
## @param akamai.secretName Use an existing secret with key "akamai_api_seret" defined.
|
||||
## This ignores akamai.clientSecret
|
||||
##
|
||||
secretName: ""
|
||||
## Alibaba cloud configuration to be set via arguments/env. variables
|
||||
## These will be added to /etc/kubernetes/alibaba-cloud.json via secret
|
||||
##
|
||||
|
||||
Reference in New Issue
Block a user