From b79dc1e89466e1b96f64884992c5b716c7967d08 Mon Sep 17 00:00:00 2001 From: Matthew Warman Date: Mon, 24 Jan 2022 12:26:39 +0000 Subject: [PATCH 01/18] istio-gateway: Add debug logging when endpoints missing --- source/istio_gateway.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/istio_gateway.go b/source/istio_gateway.go index 9472c6750..cc07e2930 100644 --- a/source/istio_gateway.go +++ b/source/istio_gateway.go @@ -172,6 +172,11 @@ func (sc *gatewaySource) Endpoints(ctx context.Context) ([]*endpoint.Endpoint, e return nil, err } + if len(gwEndpoints) == 0 { + log.Debugf("No endpoints could be generated from gateway %s/%s", gateway.Namespace, gateway.Name) + continue + } + log.Debugf("Endpoints generated from gateway: %s/%s: %v", gateway.Namespace, gateway.Name, gwEndpoints) sc.setResourceLabel(gateway, gwEndpoints) endpoints = append(endpoints, gwEndpoints...) From c328d67926b90a580fc3e9b0daf5da32e079fa52 Mon Sep 17 00:00:00 2001 From: renehernandez <7692501+renehernandez@users.noreply.github.com> Date: Thu, 17 Mar 2022 11:02:38 -0400 Subject: [PATCH 02/18] Add docs release workflow --- .github/workflows/docs.yml | 44 ++++++++++++++++++++++++++++++++++ docs/scripts/copy_docs.sh | 7 ++++++ docs/scripts/index.html.gotmpl | 3 +++ docs/scripts/requirements.txt | 3 +++ 4 files changed, 57 insertions(+) create mode 100644 .github/workflows/docs.yml create mode 100755 docs/scripts/copy_docs.sh create mode 100644 docs/scripts/index.html.gotmpl create mode 100644 docs/scripts/requirements.txt diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 000000000..baffee39b --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,44 @@ +name: Release Docs + +on: + push: + branches: + - tags + paths: + - docs/** + - + +jobs: + release_docs: + name: Release Docs + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - uses: actions/setup-python@v2 + with: + python-version: "3.10" + + - name: Install dependencies + run: python3 -m pip install -r ./docs/scripts/requirements.txt + + - name: Build site + run: | + ./docs/scripts/copy_docs.sh + mkdocs build + + - name: Push site + uses: peaceiris/actions-gh-pages@v3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + destination_dir: ${{ env.GITHUB_REF_NAME }} + publish_dir: ./site + + - name: Push redirect + uses: peaceiris/actions-gh-pages@v3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./docs/redirect + keep_files: true] diff --git a/docs/scripts/copy_docs.sh b/docs/scripts/copy_docs.sh new file mode 100755 index 000000000..077f5db39 --- /dev/null +++ b/docs/scripts/copy_docs.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +set -eo pipefail + +cp CONTRIBUTING.md code-of-conduct.md ./docs/ + +cp LICENSE ./docs/LICENSE.md diff --git a/docs/scripts/index.html.gotmpl b/docs/scripts/index.html.gotmpl new file mode 100644 index 000000000..26b836eba --- /dev/null +++ b/docs/scripts/index.html.gotmpl @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/scripts/requirements.txt b/docs/scripts/requirements.txt new file mode 100644 index 000000000..0f4c40565 --- /dev/null +++ b/docs/scripts/requirements.txt @@ -0,0 +1,3 @@ +mkdocs-git-revision-date-localized-plugin == 1.0.0 +mkdocs == 1.2.3 +mkdocs-material == 8.2.5 \ No newline at end of file From 1d44fd821fea70859a0e36b4de79f270029a13e5 Mon Sep 17 00:00:00 2001 From: renehernandez <7692501+renehernandez@users.noreply.github.com> Date: Thu, 17 Mar 2022 11:39:45 -0400 Subject: [PATCH 03/18] Fix workflow --- .github/workflows/docs.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index baffee39b..710b83b09 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -2,11 +2,7 @@ name: Release Docs on: push: - branches: - - tags - paths: - - docs/** - - + tags: jobs: release_docs: From 523cdbec9c4f9c70f14a24a2f70456e3ace25712 Mon Sep 17 00:00:00 2001 From: renehernandez <7692501+renehernandez@users.noreply.github.com> Date: Thu, 17 Mar 2022 11:42:52 -0400 Subject: [PATCH 04/18] Add correct pattern to include all tags --- .github/workflows/docs.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 710b83b09..498e37376 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -3,6 +3,7 @@ name: Release Docs on: push: tags: + - "*" jobs: release_docs: From b4007d289f5a4fc92a27fd48a65cc7c28d25947d Mon Sep 17 00:00:00 2001 From: renehernandez <7692501+renehernandez@users.noreply.github.com> Date: Thu, 17 Mar 2022 13:12:35 -0400 Subject: [PATCH 05/18] Mkdocs fixes --- .github/workflows/docs.yml | 7 +++ .gitignore | 6 +++ README.md | 83 +++++++++++++++-------------- {img => docs/img}/external-dns.png | Bin docs/scripts/copy_docs.sh | 2 + docs/scripts/docs.go | 59 ++++++++++++++++++++ docs/scripts/requirements.txt | 3 +- mkdocs.yml | 83 +++++++++++++++++++++++++++++ 8 files changed, 202 insertions(+), 41 deletions(-) rename {img => docs/img}/external-dns.png (100%) create mode 100644 docs/scripts/docs.go create mode 100644 mkdocs.yml diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 498e37376..089248bac 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -18,11 +18,18 @@ jobs: with: python-version: "3.10" + - uses: actions/setup-go@v2 + with: + go-version: ^1.17 + - name: Install dependencies run: python3 -m pip install -r ./docs/scripts/requirements.txt - name: Build site + env: + EXTERNAL_DNS_VERSION: ${{ env.GITHUB_REF_NAME }} run: | + go run ./docs/scripts/docs.go ./docs/scripts/copy_docs.sh mkdocs build diff --git a/.gitignore b/.gitignore index 80a6ea158..cbc50f464 100644 --- a/.gitignore +++ b/.gitignore @@ -54,3 +54,9 @@ profile.cov # Helm charts !/charts/external-dns/ + +docs/LICENSE.md +docs/code-of-conduct.md +docs/CONTRIBUTING.md +docs/index.md +docs/redirect \ No newline at end of file diff --git a/README.md b/README.md index 84d174824..ed0554a7e 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,16 @@ +--- +hide: + - toc + - navigation +--- +

- ExternalDNS + ExternalDNS

# ExternalDNS -[![Build Status](https://github.com/kubernetes-sigs/external-dns/workflows/Go/badge.svg)](https://github.com/kubernetes-sigs/external-dns/actions) -[![Coverage Status](https://coveralls.io/repos/github/kubernetes-sigs/external-dns/badge.svg)](https://coveralls.io/github/kubernetes-sigs/external-dns) -[![GitHub release](https://img.shields.io/github/release/kubernetes-sigs/external-dns.svg)](https://github.com/kubernetes-sigs/external-dns/releases) -[![go-doc](https://godoc.org/github.com/kubernetes-sigs/external-dns?status.svg)](https://godoc.org/github.com/kubernetes-sigs/external-dns) -[![Go Report Card](https://goreportcard.com/badge/github.com/kubernetes-sigs/external-dns)](https://goreportcard.com/report/github.com/kubernetes-sigs/external-dns) + +[![Build Status](https://github.com/kubernetes-sigs/external-dns/workflows/Go/badge.svg)](https://github.com/kubernetes-sigs/external-dns/actions) [![Coverage Status](https://coveralls.io/repos/github/kubernetes-sigs/external-dns/badge.svg)](https://coveralls.io/github/kubernetes-sigs/external-dns) [![GitHub release](https://img.shields.io/github/release/kubernetes-sigs/external-dns.svg)](https://github.com/kubernetes-sigs/external-dns/releases) [![go-doc](https://godoc.org/github.com/kubernetes-sigs/external-dns?status.svg)](https://godoc.org/github.com/kubernetes-sigs/external-dns) [![Go Report Card](https://goreportcard.com/badge/github.com/kubernetes-sigs/external-dns)](https://goreportcard.com/report/github.com/kubernetes-sigs/external-dns) ExternalDNS synchronizes exposed Kubernetes Services and Ingresses with DNS providers. @@ -23,7 +26,7 @@ To see ExternalDNS in action, have a look at this [video](https://www.youtube.co ## The Latest Release -ExternalDNS' allows you to keep selected zones (via `--domain-filter`) synchronized with Ingresses and Services of `type=LoadBalancer` in various cloud providers: +ExternalDNS allows you to keep selected zones (via `--domain-filter`) synchronized with Ingresses and Services of `type=LoadBalancer` in various cloud providers: * [Google Cloud DNS](https://cloud.google.com/dns/docs/) * [AWS Route 53](https://aws.amazon.com/route53/) * [AWS Cloud Map](https://docs.aws.amazon.com/cloud-map/) @@ -78,39 +81,39 @@ We define the following stability levels for providers: The following table clarifies the current status of the providers according to the aforementioned stability levels: -| Provider | Status | Maintainers | -| -------- | ------ | ----------- | -| Google Cloud DNS | Stable | | -| AWS Route 53 | Stable | | -| AWS Cloud Map | Beta | | -| Akamai Edge DNS | Beta | | -| AzureDNS | Beta | | -| BlueCat | Alpha | @seanmalloy @vinny-sabatini | -| CloudFlare | Beta | | -| RcodeZero | Alpha | | -| DigitalOcean | Alpha | | -| Hetzner | Alpha | @21h | -| DNSimple | Alpha | | -| Infoblox | Alpha | @saileshgiri | -| Dyn | Alpha | | -| OpenStack Designate | Alpha | | -| PowerDNS | Alpha | | -| CoreDNS | Alpha | | -| Exoscale | Alpha | | -| Oracle Cloud Infrastructure DNS | Alpha | | -| Linode DNS | Alpha | | -| RFC2136 | Alpha | | -| NS1 | Alpha | | -| TransIP | Alpha | | -| VinylDNS | Alpha | | -| RancherDNS | Alpha | | -| OVH | Alpha | | -| Scaleway DNS | Alpha | @Sh4d1 | -| Vultr | Alpha | | -| UltraDNS | Alpha | | -| GoDaddy | Alpha | | -| Gandi | Alpha | @packi | -| SafeDNS | Alpha | @assureddt | +| Provider | Status | Maintainers | +| ------------------------------- | ------ | ---------------------------- | +| Google Cloud DNS | Stable | | +| AWS Route 53 | Stable | | +| AWS Cloud Map | Beta | | +| Akamai Edge DNS | Beta | | +| AzureDNS | Beta | | +| BlueCat | Alpha | @seanmalloy @vinny-sabatini | +| CloudFlare | Beta | | +| RcodeZero | Alpha | | +| DigitalOcean | Alpha | | +| Hetzner | Alpha | @21h | +| DNSimple | Alpha | | +| Infoblox | Alpha | @saileshgiri | +| Dyn | Alpha | | +| OpenStack Designate | Alpha | | +| PowerDNS | Alpha | | +| CoreDNS | Alpha | | +| Exoscale | Alpha | | +| Oracle Cloud Infrastructure DNS | Alpha | | +| Linode DNS | Alpha | | +| RFC2136 | Alpha | | +| NS1 | Alpha | | +| TransIP | Alpha | | +| VinylDNS | Alpha | | +| RancherDNS | Alpha | | +| OVH | Alpha | | +| Scaleway DNS | Alpha | @Sh4d1 | +| Vultr | Alpha | | +| UltraDNS | Alpha | | +| GoDaddy | Alpha | | +| Gandi | Alpha | @packi | +| SafeDNS | Alpha | @assureddt | ## Kubernetes version compatibility diff --git a/img/external-dns.png b/docs/img/external-dns.png similarity index 100% rename from img/external-dns.png rename to docs/img/external-dns.png diff --git a/docs/scripts/copy_docs.sh b/docs/scripts/copy_docs.sh index 077f5db39..7e114b84a 100755 --- a/docs/scripts/copy_docs.sh +++ b/docs/scripts/copy_docs.sh @@ -5,3 +5,5 @@ set -eo pipefail cp CONTRIBUTING.md code-of-conduct.md ./docs/ cp LICENSE ./docs/LICENSE.md + +cp README.md ./docs/index.md diff --git a/docs/scripts/docs.go b/docs/scripts/docs.go new file mode 100644 index 000000000..79fe8a1c9 --- /dev/null +++ b/docs/scripts/docs.go @@ -0,0 +1,59 @@ +package main + +import ( + "html/template" + "io/ioutil" + "log" + "os" + "strings" +) + +func generateRedirect() { + version := os.Getenv("EXTERNAL_DNS_VERSION") + + content, err := ioutil.ReadFile("./docs/scripts/index.html.gotmpl") + + if err != nil { + log.Fatal(err) + } + + if err := os.Mkdir("./docs/redirect", os.ModePerm); err != nil { + log.Fatal(err) + } + + f, err := os.Create("./docs/redirect/index.html") + + if err != nil { + log.Fatal(err) + } + + tmpl := template.Must(template.New("redirect").Parse(string(content))) + + tmpl.Execute(f, version) +} + +func removeLinkPrefixInIndex() { + content, err := os.ReadFile("./docs/index.md") + if err != nil { + log.Fatalf("Could not read index.md file. Make sure to run copy_docs.sh script first. Original error: %s", err) + } + + updatedContent := strings.ReplaceAll(string(content), "](./docs/", "](") + updatedContent = strings.ReplaceAll(updatedContent, "](docs/", "](") + + f, err := os.OpenFile("./docs/index.md", os.O_RDWR, 0644) + if err != nil { + log.Fatalf("Could not open index.md file to update content. Original error: %s", err) + } + defer f.Close() + + if _, err := f.WriteString(updatedContent); err != nil { + log.Fatalf("Failed writing links update to index.md. Original error: %s", err) + } + +} + +func main() { + removeLinkPrefixInIndex() + generateRedirect() +} diff --git a/docs/scripts/requirements.txt b/docs/scripts/requirements.txt index 0f4c40565..eb8d4fc8e 100644 --- a/docs/scripts/requirements.txt +++ b/docs/scripts/requirements.txt @@ -1,3 +1,4 @@ mkdocs-git-revision-date-localized-plugin == 1.0.0 mkdocs == 1.2.3 -mkdocs-material == 8.2.5 \ No newline at end of file +mkdocs-material == 8.2.5 +mkdocs-literate-nav == 0.4.0 \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 000000000..101962148 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,83 @@ +site_name: external-dns +site_author: Rene Hernandez + +repo_name: renehernandez/external-dns +repo_url: https://github.com/renehernandez/external-dns/ +edit_uri: "" + +nav: + - index.md + - Tutorials: tutorials/ + - Advanced Topics: + - Initial Design: initial-design.md + - TTL: ttl.md + - Contributing: + - Kubernetes Contributions: CONTRIBUTING.md + - Release: release.md + - contributing/* + - About: + - FAQ: faq.md + - Out of Incubator: 20190708-external-dns-incubator.md + - Code of Conduct: code-of-conduct.md + - License: LICENSE.md + +theme: + name: material + features: + - content.code.annotate + - navigation.top + - navigation.tracking + - navigation.indexes + - navigation.instant + - navigation.tabs + - navigation.tabs.sticky + +markdown_extensions: + - meta + - tables + - toc: + permalink: true + - abbr + - extra + - admonition + - smarty + - sane_lists + - nl2br + - attr_list + - def_list + - footnotes + - md_in_html + - pymdownx.arithmatex: + generic: true + - pymdownx.betterem: + smart_enable: all + - pymdownx.caret + - pymdownx.details + - pymdownx.emoji: + emoji_index: !!python/name:materialx.emoji.twemoji + emoji_generator: !!python/name:materialx.emoji.to_svg + - pymdownx.highlight: + use_pygments: true + anchor_linenums: true + - pymdownx.inlinehilite + - pymdownx.keys + - pymdownx.mark + - pymdownx.smartsymbols + - pymdownx.snippets + - pymdownx.superfences: + custom_fences: + - name: mermaid + class: mermaid + format: !!python/name:pymdownx.superfences.fence_code_format + - pymdownx.tabbed: + alternate_style: true + - pymdownx.tilde + - pymdownx.tasklist: + custom_checkbox: true + +plugins: + - search + - literate-nav + - git-revision-date-localized: + type: date + fallback_to_build_date: true From e641b0356027c93002c20cbc341ac411cce62bb0 Mon Sep 17 00:00:00 2001 From: renehernandez <7692501+renehernandez@users.noreply.github.com> Date: Thu, 17 Mar 2022 13:15:40 -0400 Subject: [PATCH 06/18] Fix script execution order --- .github/workflows/docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 089248bac..3278db975 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -29,8 +29,8 @@ jobs: env: EXTERNAL_DNS_VERSION: ${{ env.GITHUB_REF_NAME }} run: | - go run ./docs/scripts/docs.go ./docs/scripts/copy_docs.sh + go run ./docs/scripts/docs.go mkdocs build - name: Push site From d4030501d30fcfc53076b804177009bf54d0dcac Mon Sep 17 00:00:00 2001 From: renehernandez <7692501+renehernandez@users.noreply.github.com> Date: Thu, 17 Mar 2022 13:20:57 -0400 Subject: [PATCH 07/18] Fix push redirect step --- .github/workflows/docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 3278db975..6335c0008 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -45,4 +45,4 @@ jobs: with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./docs/redirect - keep_files: true] + keep_files: true From 4d850708be9e046d6d35f1fbaacd59840aee9f27 Mon Sep 17 00:00:00 2001 From: renehernandez <7692501+renehernandez@users.noreply.github.com> Date: Thu, 17 Mar 2022 13:35:31 -0400 Subject: [PATCH 08/18] Switch to use github context instead of env to get tag --- .github/workflows/docs.yml | 4 ++-- .gitignore | 3 ++- README.md | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 6335c0008..696efe6ed 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -27,7 +27,7 @@ jobs: - name: Build site env: - EXTERNAL_DNS_VERSION: ${{ env.GITHUB_REF_NAME }} + EXTERNAL_DNS_VERSION: ${{ github.ref_name }} run: | ./docs/scripts/copy_docs.sh go run ./docs/scripts/docs.go @@ -37,7 +37,7 @@ jobs: uses: peaceiris/actions-gh-pages@v3 with: github_token: ${{ secrets.GITHUB_TOKEN }} - destination_dir: ${{ env.GITHUB_REF_NAME }} + destination_dir: ${{ github.ref_name }} publish_dir: ./site - name: Push redirect diff --git a/.gitignore b/.gitignore index cbc50f464..ee7a88934 100644 --- a/.gitignore +++ b/.gitignore @@ -59,4 +59,5 @@ docs/LICENSE.md docs/code-of-conduct.md docs/CONTRIBUTING.md docs/index.md -docs/redirect \ No newline at end of file +docs/redirect +site \ No newline at end of file diff --git a/README.md b/README.md index ed0554a7e..144a3dee2 100644 --- a/README.md +++ b/README.md @@ -180,7 +180,7 @@ The following tutorials are provided: * [UltraDNS](docs/tutorials/ultradns.md) * [GoDaddy](docs/tutorials/godaddy.md) * [Gandi](docs/tutorials/gandi.md) -* [SafeDNS](docs/tutorials/safedns.md) +* [SafeDNS](docs/tutorials/UKFast_SafeDNS.md) ### Running Locally From 9272b9f578a58bb9ea0e8f0f3bbabd389ece31ac Mon Sep 17 00:00:00 2001 From: renehernandez <7692501+renehernandez@users.noreply.github.com> Date: Thu, 17 Mar 2022 15:19:34 -0400 Subject: [PATCH 09/18] Add multiple versions support via mike --- .github/workflows/docs.yml | 30 +++++++++++------------------- docs/scripts/docs.go | 27 --------------------------- docs/scripts/requirements.txt | 3 ++- mkdocs.yml | 4 ++++ 4 files changed, 17 insertions(+), 47 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 696efe6ed..627d9bf7e 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -17,32 +17,24 @@ jobs: - uses: actions/setup-python@v2 with: python-version: "3.10" + cache: "pip" + cache-dependency-path: "docs/script/requirements.txt" - uses: actions/setup-go@v2 with: go-version: ^1.17 - - name: Install dependencies - run: python3 -m pip install -r ./docs/scripts/requirements.txt - - - name: Build site - env: - EXTERNAL_DNS_VERSION: ${{ github.ref_name }} + - name: setup run: | ./docs/scripts/copy_docs.sh go run ./docs/scripts/docs.go - mkdocs build - - name: Push site - uses: peaceiris/actions-gh-pages@v3 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - destination_dir: ${{ github.ref_name }} - publish_dir: ./site + - name: Configure Git user + run: | + git config --local user.email "github-actions[bot]@users.noreply.github.com" + git config --local user.name "github-actions[bot]" - - name: Push redirect - uses: peaceiris/actions-gh-pages@v3 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: ./docs/redirect - keep_files: true + - name: build and push + run: | + mike deploy ${{ github.ref_name }} latest --push --update-aliases + mike set-default --push latest diff --git a/docs/scripts/docs.go b/docs/scripts/docs.go index 79fe8a1c9..9b4ce69b2 100644 --- a/docs/scripts/docs.go +++ b/docs/scripts/docs.go @@ -1,37 +1,11 @@ package main import ( - "html/template" - "io/ioutil" "log" "os" "strings" ) -func generateRedirect() { - version := os.Getenv("EXTERNAL_DNS_VERSION") - - content, err := ioutil.ReadFile("./docs/scripts/index.html.gotmpl") - - if err != nil { - log.Fatal(err) - } - - if err := os.Mkdir("./docs/redirect", os.ModePerm); err != nil { - log.Fatal(err) - } - - f, err := os.Create("./docs/redirect/index.html") - - if err != nil { - log.Fatal(err) - } - - tmpl := template.Must(template.New("redirect").Parse(string(content))) - - tmpl.Execute(f, version) -} - func removeLinkPrefixInIndex() { content, err := os.ReadFile("./docs/index.md") if err != nil { @@ -55,5 +29,4 @@ func removeLinkPrefixInIndex() { func main() { removeLinkPrefixInIndex() - generateRedirect() } diff --git a/docs/scripts/requirements.txt b/docs/scripts/requirements.txt index eb8d4fc8e..19e792576 100644 --- a/docs/scripts/requirements.txt +++ b/docs/scripts/requirements.txt @@ -1,4 +1,5 @@ mkdocs-git-revision-date-localized-plugin == 1.0.0 mkdocs == 1.2.3 mkdocs-material == 8.2.5 -mkdocs-literate-nav == 0.4.0 \ No newline at end of file +mkdocs-literate-nav == 0.4.0 +mike == 1.1.2 \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 101962148..be56101b1 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -32,6 +32,10 @@ theme: - navigation.tabs - navigation.tabs.sticky +extra: + version: + provider: mike + markdown_extensions: - meta - tables From cf2fb1f7e44b7aea6eb7eed30c4c334e7bcc3338 Mon Sep 17 00:00:00 2001 From: renehernandez <7692501+renehernandez@users.noreply.github.com> Date: Thu, 17 Mar 2022 15:27:33 -0400 Subject: [PATCH 10/18] Fix path to requirements in cache dependency. --- .github/workflows/docs.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 627d9bf7e..7b2341915 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -18,12 +18,15 @@ jobs: with: python-version: "3.10" cache: "pip" - cache-dependency-path: "docs/script/requirements.txt" + cache-dependency-path: "./docs/scripts/requirements.txt" - uses: actions/setup-go@v2 with: go-version: ^1.17 + - run: | + pip install -r docs/scripts/requirements.txt + - name: setup run: | ./docs/scripts/copy_docs.sh From 0d36e899fb66f4f969f407494f084678aad1b0aa Mon Sep 17 00:00:00 2001 From: renehernandez <7692501+renehernandez@users.noreply.github.com> Date: Thu, 17 Mar 2022 15:58:24 -0400 Subject: [PATCH 11/18] Update mkdocs to use the right repo and site author --- mkdocs.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/mkdocs.yml b/mkdocs.yml index be56101b1..c1b9ed623 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -1,9 +1,8 @@ site_name: external-dns -site_author: Rene Hernandez +site_author: external-dns maintainers -repo_name: renehernandez/external-dns -repo_url: https://github.com/renehernandez/external-dns/ -edit_uri: "" +repo_name: kubernetes-sigs/external-dns +repo_url: https://github.com/kubernetes-sigs/external-dns/ nav: - index.md From ee3a20b927102aa7438d7d67c11244b712a4cfe9 Mon Sep 17 00:00:00 2001 From: renehernandez <7692501+renehernandez@users.noreply.github.com> Date: Wed, 30 Mar 2022 11:07:21 -0400 Subject: [PATCH 12/18] Fix lint issues in scripts/docs.go --- docs/scripts/docs.go | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/docs/scripts/docs.go b/docs/scripts/docs.go index 9b4ce69b2..2a79b6f01 100644 --- a/docs/scripts/docs.go +++ b/docs/scripts/docs.go @@ -1,3 +1,19 @@ +/* +Copyright 2017 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + package main import ( @@ -24,7 +40,6 @@ func removeLinkPrefixInIndex() { if _, err := f.WriteString(updatedContent); err != nil { log.Fatalf("Failed writing links update to index.md. Original error: %s", err) } - } func main() { From 719d475f04a98cf2333ce3bb5748c5b4015c51ab Mon Sep 17 00:00:00 2001 From: renehernandez <7692501+renehernandez@users.noreply.github.com> Date: Thu, 7 Apr 2022 06:44:53 -0400 Subject: [PATCH 13/18] Only release docs when tags are prefixed with v --- .github/workflows/docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 7b2341915..12179cb20 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -3,7 +3,7 @@ name: Release Docs on: push: tags: - - "*" + - "v*" jobs: release_docs: From f74880a347c671958a36732a07649785fd912599 Mon Sep 17 00:00:00 2001 From: renehernandez <7692501+renehernandez@users.noreply.github.com> Date: Thu, 7 Apr 2022 06:56:09 -0400 Subject: [PATCH 14/18] Upgrade mkdocs to version 1.3.0 to fix jinja compatibility issue --- docs/scripts/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/scripts/requirements.txt b/docs/scripts/requirements.txt index 19e792576..9978976ad 100644 --- a/docs/scripts/requirements.txt +++ b/docs/scripts/requirements.txt @@ -1,5 +1,5 @@ mkdocs-git-revision-date-localized-plugin == 1.0.0 -mkdocs == 1.2.3 +mkdocs == 1.3.0 mkdocs-material == 8.2.5 mkdocs-literate-nav == 0.4.0 mike == 1.1.2 \ No newline at end of file From 222f64361f454a3dfdb4409adfe7a1ddaffb6bbe Mon Sep 17 00:00:00 2001 From: renehernandez <7692501+renehernandez@users.noreply.github.com> Date: Thu, 7 Apr 2022 07:05:39 -0400 Subject: [PATCH 15/18] Update Mkdocs Material to 8.2.8 (latest) --- docs/scripts/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/scripts/requirements.txt b/docs/scripts/requirements.txt index 9978976ad..cacaecf19 100644 --- a/docs/scripts/requirements.txt +++ b/docs/scripts/requirements.txt @@ -1,5 +1,5 @@ mkdocs-git-revision-date-localized-plugin == 1.0.0 mkdocs == 1.3.0 -mkdocs-material == 8.2.5 +mkdocs-material == 8.2.8 mkdocs-literate-nav == 0.4.0 mike == 1.1.2 \ No newline at end of file From c39ce1ec98926a4bce87a2cc2cb74012bc63a3e2 Mon Sep 17 00:00:00 2001 From: renehernandez <7692501+renehernandez@users.noreply.github.com> Date: Thu, 14 Apr 2022 15:14:11 -0400 Subject: [PATCH 16/18] Remove extra quote --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2307b3c3f..b9c92cf9c 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ To see ExternalDNS in action, have a look at this [video](https://www.youtube.co ## The Latest Release -ExternalDNS' allows you to keep selected zones (via `--domain-filter`) synchronized with Ingresses and Services of `type=LoadBalancer` and nodes in various cloud providers: +ExternalDNS allows you to keep selected zones (via `--domain-filter`) synchronized with Ingresses and Services of `type=LoadBalancer` and nodes in various cloud providers: * [Google Cloud DNS](https://cloud.google.com/dns/docs/) * [AWS Route 53](https://aws.amazon.com/route53/) * [AWS Cloud Map](https://docs.aws.amazon.com/cloud-map/) From 4be54b9357ddd1409858d1bb70308138b96a68a1 Mon Sep 17 00:00:00 2001 From: David Wolffberg <1350533+wolffberg@users.noreply.github.com> Date: Wed, 20 Apr 2022 10:23:24 +0200 Subject: [PATCH 17/18] feat[chart]: Add shareProcessNamespace field to deployment --- charts/external-dns/README.md | 1 + charts/external-dns/templates/deployment.yaml | 3 +++ charts/external-dns/values.yaml | 2 ++ 3 files changed, 6 insertions(+) diff --git a/charts/external-dns/README.md b/charts/external-dns/README.md index ae56149ec..cd6be88be 100644 --- a/charts/external-dns/README.md +++ b/charts/external-dns/README.md @@ -37,6 +37,7 @@ The following table lists the configurable parameters of the _ExternalDNS_ chart | `podLabels` | Labels to add to the pod. | `{}` | | `podAnnotations` | Annotations to add to the pod. | `{}` | | `podSecurityContext` | Security context for the pod, this supports the full [PodSecurityContext](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.22/#podsecuritycontext-v1-core) API. | _see values.yaml_ | +| `shareProcessNamespace` | If `true` enable [Process Namespace Sharing](https://kubernetes.io/docs/tasks/configure-pod-container/share-process-namespace/) | `false` | | `securityContext` | Security context for the _external-dns_ container, this supports the full [SecurityContext](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.22/#securitycontext-v1-core) API. | _see values.yaml_ | | `priorityClassName` | Priority class name to use for the pod. | `""` | | `terminationGracePeriodSeconds` | Termination grace period for the pod. | `null` | diff --git a/charts/external-dns/templates/deployment.yaml b/charts/external-dns/templates/deployment.yaml index 19e19ab5c..dd8890fe3 100644 --- a/charts/external-dns/templates/deployment.yaml +++ b/charts/external-dns/templates/deployment.yaml @@ -30,6 +30,9 @@ spec: {{- toYaml . | nindent 8 }} {{- end }} serviceAccountName: {{ include "external-dns.serviceAccountName" . }} + {{- with .Values.shareProcessNamespace }} + shareProcessNamespace: {{ . }} + {{- end }} {{- with .Values.podSecurityContext }} securityContext: {{- toYaml . | nindent 8 }} diff --git a/charts/external-dns/values.yaml b/charts/external-dns/values.yaml index efd2e7cd8..0a121c7e0 100644 --- a/charts/external-dns/values.yaml +++ b/charts/external-dns/values.yaml @@ -34,6 +34,8 @@ podLabels: {} # Annotations to add to the Pod podAnnotations: {} +shareProcessNamespace: false + podSecurityContext: fsGroup: 65534 From 519795db12666437bac6cb6f9ca8f33bfa91a02d Mon Sep 17 00:00:00 2001 From: Vinny Sabatini Date: Fri, 22 Apr 2022 14:19:53 -0500 Subject: [PATCH 18/18] provider/bluecat: remove named returns For consistency and clarity as to what is being returned, named returns are being removed from the recordSet method. --- provider/bluecat/bluecat.go | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/provider/bluecat/bluecat.go b/provider/bluecat/bluecat.go index 2c25406fb..2205ba3ed 100644 --- a/provider/bluecat/bluecat.go +++ b/provider/bluecat/bluecat.go @@ -15,7 +15,6 @@ limitations under the License. */ // TODO: Ensure we have proper error handling/logging for API calls to Bluecat. getBluecatGatewayToken has a good example of this -// TODO: Remove naked returns // TODO: Remove studdering // TODO: Make API calls more consistent (eg error handling on HTTP response codes) // TODO: zone-id-filter does not seem to work with our provider @@ -431,7 +430,8 @@ func (p *BluecatProvider) deleteRecords(deleted bluecatChangeMap) { } } -func (p *BluecatProvider) recordSet(ep *endpoint.Endpoint, getObject bool) (recordSet bluecatRecordSet, err error) { +func (p *BluecatProvider) recordSet(ep *endpoint.Endpoint, getObject bool) (bluecatRecordSet, error) { + recordSet := bluecatRecordSet{} switch ep.RecordType { case endpoint.RecordTypeA: var res []api.BluecatHostRecord @@ -443,9 +443,9 @@ func (p *BluecatProvider) recordSet(ep *endpoint.Endpoint, getObject bool) (reco } if getObject { var record api.BluecatHostRecord - err = p.gatewayClient.GetHostRecord(ep.DNSName, &record) + err := p.gatewayClient.GetHostRecord(ep.DNSName, &record) if err != nil { - return + return bluecatRecordSet{}, err } res = append(res, record) } @@ -463,9 +463,9 @@ func (p *BluecatProvider) recordSet(ep *endpoint.Endpoint, getObject bool) (reco } if getObject { var record api.BluecatCNAMERecord - err = p.gatewayClient.GetCNAMERecord(ep.DNSName, &record) + err := p.gatewayClient.GetCNAMERecord(ep.DNSName, &record) if err != nil { - return + return bluecatRecordSet{}, err } res = append(res, record) } @@ -483,9 +483,9 @@ func (p *BluecatProvider) recordSet(ep *endpoint.Endpoint, getObject bool) (reco } if getObject { var record api.BluecatTXTRecord - err = p.gatewayClient.GetTXTRecord(ep.DNSName, &record) + err := p.gatewayClient.GetTXTRecord(ep.DNSName, &record) if err != nil { - return + return bluecatRecordSet{}, err } res = append(res, record) } @@ -494,7 +494,7 @@ func (p *BluecatProvider) recordSet(ep *endpoint.Endpoint, getObject bool) (reco res: &res, } } - return + return recordSet, nil } // extractOwnerFromTXTRecord takes a single text property string and returns the owner after parsing the owner string.