From 3593fb429c985fbe492c81163f280597a05e3a00 Mon Sep 17 00:00:00 2001 From: knrt10 Date: Thu, 18 Jun 2020 16:35:12 +0530 Subject: [PATCH] Update Ingress manifests for Dex and Gangway Since `ingress_hosts` from contour configuration is removed, now we have added a new annotation for external-dns to pickup and add it automatically to DNS entries. external-dns default source is changes to `ingress`. Signed-off-by: knrt10 --- .../components/external-dns.md | 4 ++-- pkg/components/dex/component.go | 1 + pkg/components/external-dns/component.go | 2 +- pkg/components/external-dns/component_test.go | 13 +++++++------ pkg/components/gangway/component.go | 1 + 5 files changed, 12 insertions(+), 9 deletions(-) diff --git a/docs/configuration-reference/components/external-dns.md b/docs/configuration-reference/components/external-dns.md index 146e131bd..1f21d52a5 100644 --- a/docs/configuration-reference/components/external-dns.md +++ b/docs/configuration-reference/components/external-dns.md @@ -43,7 +43,7 @@ component "external-dns" { } # Optional arguments. - sources = ["service"] + sources = ["ingress"] namespace = "external-dns" policy = "upsert-only" metrics = false @@ -58,7 +58,7 @@ Example: | Argument | Description | Default | Required | |-----------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------|:--------------:|:--------:| -| `sources` | Kubernetes resources type to be observed for new DNS entries by ExternalDNS. | ["service"] | false | +| `sources` | Kubernetes resources type to be observed for new DNS entries by ExternalDNS. | ["ingress"] | false | | `namespace` | Namespace to install ExternalDNS. | "external-dns" | false | | `policy` | Modify how DNS records are sychronized between sources and providers (options: sync, upsert-only). | "upsert-only" | false | | `metrics` | Enable metrics collection by Prometheus. Needs [Prometheus Operator component](prometheus-operator.md) installed. | false | false | diff --git a/pkg/components/dex/component.go b/pkg/components/dex/component.go index b3b24e6f8..70610b1f8 100644 --- a/pkg/components/dex/component.go +++ b/pkg/components/dex/component.go @@ -190,6 +190,7 @@ metadata: cert-manager.io/cluster-issuer: {{ .CertManagerClusterIssuer }} meta.helm.sh/release-name: dex meta.helm.sh/release-namespace: dex + external-dns.alpha.kubernetes.io/hostname: {{ .IngressHost }} spec: tls: - hosts: diff --git a/pkg/components/external-dns/component.go b/pkg/components/external-dns/component.go index 683c543c9..964f37662 100644 --- a/pkg/components/external-dns/component.go +++ b/pkg/components/external-dns/component.go @@ -87,7 +87,7 @@ type component struct { func newComponent() *component { return &component{ Namespace: "external-dns", - Sources: []string{"service"}, + Sources: []string{"ingress"}, AwsConfig: AwsConfig{ ZoneType: "public", }, diff --git a/pkg/components/external-dns/component_test.go b/pkg/components/external-dns/component_test.go index fb8227644..9b71a4ef1 100644 --- a/pkg/components/external-dns/component_test.go +++ b/pkg/components/external-dns/component_test.go @@ -51,8 +51,9 @@ func TestDefaultValues(t *testing.T) { if c.Metrics { t.Fatal("Default Metrics value should be false.") } - if len(c.Sources) != 1 || c.Sources[0] != "service" { - t.Fatal("Default sources should be service only.") + + if len(c.Sources) != 1 || c.Sources[0] != "ingress" { + t.Fatal("Default sources should be ingress only.") } if c.Policy != "upsert-only" { t.Fatal("Default policy should be upsert-only.") @@ -66,7 +67,7 @@ func TestAwsConfigWithoutProvidingCredentials(t *testing.T) { c := newComponent() config := ` component "external-dns" { - sources = ["service"] + sources = ["ingress"] metrics = false policy = "upsert-only" owner_id = "test-owner" @@ -96,7 +97,7 @@ func TestAwsConfigBySettingEnvVariables(t *testing.T) { c := newComponent() config := ` component "external-dns" { - sources = ["service"] + sources = ["ingress"] metrics = false policy = "upsert-only" owner_id = "test-owner" @@ -133,7 +134,7 @@ func TestAwsConfigBySettingEmptyEnvVariables(t *testing.T) { c := newComponent() config := ` component "external-dns" { - sources = ["service"] + sources = ["ingress"] metrics = false policy = "upsert-only" owner_id = "test-owner" @@ -169,7 +170,7 @@ func TestAwsConfigBySettingConfigFields(t *testing.T) { c := newComponent() config := ` component "external-dns" { - sources = ["service"] + sources = ["ingress"] metrics = false policy = "upsert-only" owner_id = "test-owner" diff --git a/pkg/components/gangway/component.go b/pkg/components/gangway/component.go index 11485729c..549519862 100644 --- a/pkg/components/gangway/component.go +++ b/pkg/components/gangway/component.go @@ -249,6 +249,7 @@ metadata: kubernetes.io/ingress.class: contour meta.helm.sh/release-name: gangway meta.helm.sh/release-namespace: gangway + external-dns.alpha.kubernetes.io/hostname: {{ .IngressHost }} spec: tls: - secretName: gangway