Skip to content

Commit 0b14f3e

Browse files
authored
Merge pull request #3785 from mukundansundar/template-k8s
Adding docs for template based processing in k8s name resolution
2 parents 3cdb18d + 96d0e90 commit 0b14f3e

File tree

1 file changed

+23
-2
lines changed
  • daprdocs/content/en/reference/components-reference/supported-name-resolution

1 file changed

+23
-2
lines changed

daprdocs/content/en/reference/components-reference/supported-name-resolution/nr-kubernetes.md

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,36 @@ description: Detailed information on the Kubernetes DNS name resolution componen
77

88
## Configuration format
99

10-
Kubernetes DNS name resolution is configured automatically in [Kubernetes mode]({{< ref kubernetes >}}) by Dapr. There is no configuration needed to use Kubernetes DNS as your name resolution provider.
10+
Generally, Kubernetes DNS name resolution is configured automatically in [Kubernetes mode]({{< ref kubernetes >}}) by Dapr. There is no configuration needed to use Kubernetes DNS as your name resolution provider unless some overrides are necessary for the Kubernetes name resolution component.
11+
12+
In the scenario that an override is required, within a [Dapr Configuration]({{< ref configuration-overview.md >}}) CRD, add a `nameResolution` spec and set the `component` field to `"kubernetes"`. The other configuration fields can be set as needed in a `configuration` map, as seen below.
13+
14+
```yaml
15+
apiVersion: dapr.io/v1alpha1
16+
kind: Configuration
17+
metadata:
18+
name: appconfig
19+
spec:
20+
nameResolution:
21+
component: "kubernetes"
22+
configuration:
23+
clusterDomain: "cluster.local" # Mutually exclusive with the template field
24+
template: "{{.ID}}-{{.Data.region}}.internal:{{.Port}}" # Mutually exclusive with the clusterDomain field
25+
```
1126
1227
## Behaviour
1328
1429
The component resolves target apps by using the Kubernetes cluster's DNS provider. You can learn more in the [Kubernetes docs](https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/).
1530
1631
## Spec configuration fields
1732
18-
Not applicable, as Kubernetes DNS is configured by Dapr when running in Kubernetes mode.
33+
The configuration spec is fixed to v1.3.0 of the Consul API
34+
35+
| Field | Required | Type | Details | Examples |
36+
|--------------|:--------:|-----:|:---------|----------|
37+
| clusterDomain | N | `string` | The cluster domain to be used for resolved addresses. This field is mutually exclusive with the `template` file.| `cluster.local`
38+
| template | N | `string` | A template string to be parsed when addresses are resolved using [text/template](https://pkg.go.dev/text/template#Template) . The template will be populated by the fields in the [ResolveRequest](https://github.com/dapr/components-contrib/blob/release-{{% dapr-latest-version short="true" %}}/nameresolution/requests.go#L20) struct. This field is mutually exclusive with `clusterDomain` field. | `{{.ID}}-{{.Data.region}}.{{.Namespace}}.internal:{{.Port}}`
39+
1940

2041
## Related links
2142

0 commit comments

Comments
 (0)