diff --git a/chart/k8gb/README.md b/chart/k8gb/README.md index b34bcd6427..ab184e6480 100644 --- a/chart/k8gb/README.md +++ b/chart/k8gb/README.md @@ -87,7 +87,8 @@ For Kubernetes `< 1.19` use this chart and k8gb in version `0.8.8` or lower. | infoblox.wapiPort | int | `443` | WAPI port | | infoblox.wapiVersion | string | `"2.3.1"` | WAPI version | | k8gb.clusterGeoTag | string | `"eu"` | used for places where we need to distinguish between different Gslb instances | -| k8gb.coredns | object | `{"extra_plugins":[]}` | Extra CoreDNS plugins to be enabled (yaml object) | +| k8gb.coredns.extraServerBlocks | object | `{}` | Extra CoreDNS server blocks | +| k8gb.coredns.extra_plugins | list | `[]` | Extra CoreDNS plugins to be enabled | | k8gb.deployCrds | bool | `true` | whether it should also deploy the gslb and dnsendpoints CRDs | | k8gb.deployRbac | bool | `true` | whether it should also deploy the service account, cluster role and cluster role binding | | k8gb.dnsZone | string | `"cloud.example.com"` | dnsZone controlled by gslb | diff --git a/chart/k8gb/templates/coredns-cm.yaml b/chart/k8gb/templates/coredns-cm.yaml index 6b087ba0dd..b1ffcc6caa 100644 --- a/chart/k8gb/templates/coredns-cm.yaml +++ b/chart/k8gb/templates/coredns-cm.yaml @@ -24,4 +24,7 @@ data: loadbalance weight } } + {{- with .Values.k8gb.coredns.extraServerBlocks -}} + {{- tpl . $ | nindent 4 }} + {{- end }} {{- end }} diff --git a/chart/k8gb/values.schema.json b/chart/k8gb/values.schema.json index 17c82f8d95..c193a71dd1 100644 --- a/chart/k8gb/values.schema.json +++ b/chart/k8gb/values.schema.json @@ -32,7 +32,7 @@ }, "azuredns": { "$ref": "#/definitions/AzureDNS" - }, + }, "cloudflare": { "$ref": "#/definitions/Cloudflare" }, @@ -360,6 +360,9 @@ "array", "null" ] + }, + "extraServerBlocks": { + "type": "string" } }, "title": "k8gbCoredns" @@ -628,42 +631,42 @@ }, "createAuthSecret": { "type": "object", - "additionalProperties": false, - "properties": { - "enabled": { - "type": "boolean" - }, - "tenantId": { - "type": "string", - "minLength": 1 - }, - "subscriptionId": { - "type": "string", - "minLength": 1 - }, - "resourceGroup": { - "type": "string", - "minLength": 1 - }, - "aadClientId": { - "type": "string" - }, - "aadClientSecret": { - "type": "string" - }, - "useManagedIdentityExtension": { - "type": "boolean", - "default": false - }, - "userAssignedIdentityID": { - "type": "string" - }, - "useWorkloadIdentityExtension": { - "type": "boolean", - "default": false - } - } - } + "additionalProperties": false, + "properties": { + "enabled": { + "type": "boolean" + }, + "tenantId": { + "type": "string", + "minLength": 1 + }, + "subscriptionId": { + "type": "string", + "minLength": 1 + }, + "resourceGroup": { + "type": "string", + "minLength": 1 + }, + "aadClientId": { + "type": "string" + }, + "aadClientSecret": { + "type": "string" + }, + "useManagedIdentityExtension": { + "type": "boolean", + "default": false + }, + "userAssignedIdentityID": { + "type": "string" + }, + "useWorkloadIdentityExtension": { + "type": "boolean", + "default": false + } + } + } }, "required": [ "enabled" diff --git a/chart/k8gb/values.yaml b/chart/k8gb/values.yaml index 25da0e501e..bde1b99fb7 100644 --- a/chart/k8gb/values.yaml +++ b/chart/k8gb/values.yaml @@ -21,16 +21,18 @@ k8gb: edgeDNSZone: "example.com" # main zone which would contain gslb zone to delegate # -- host/ip[:port] format is supported here where port defaults to 53 edgeDNSServers: - # -- use this DNS server as a main resolver to enable cross k8gb DNS based communication - - "1.1.1.1" + # -- use this DNS server as a main resolver to enable cross k8gb DNS based communication + - "1.1.1.1" # -- used for places where we need to distinguish between different Gslb instances clusterGeoTag: "eu" # -- comma-separated list of external gslb geo tags to pair with extGslbClustersGeoTags: "us" # -- Reconcile time in seconds reconcileRequeueSeconds: 30 - # -- Extra CoreDNS plugins to be enabled (yaml object) coredns: + # -- Extra CoreDNS server blocks + extraServerBlocks: {} + # -- Extra CoreDNS plugins to be enabled extra_plugins: [] log: # -- log format (simple,json) @@ -171,13 +173,12 @@ azuredns: # -- Azure client secret that is associated with the Service Principal. aadClientSecret: myAadClientSecret # -- Use either AKS Kubelet Identity or AAD Pod Identities - useManagedIdentityExtension : false + useManagedIdentityExtension: false # -- Client id from the Managed identitty when using the AAD Pod Identities userAssignedIdentityID: myUserAssignedIdentityID # -- Use AKS workload identity extension useWorkloadIdentityExtension: false - cloudflare: # -- Enable Cloudflare provider enabled: false