From 3773411a5ad3146008f6a059cd7e80a9a7f5d465 Mon Sep 17 00:00:00 2001 From: Michel Loiseleur Date: Wed, 10 Apr 2024 14:25:44 +0200 Subject: [PATCH] docs: upgrade mkdocs and fix warnings --- README.md | 4 ++-- docs/contributing/getting-started.md | 10 +++++----- docs/faq.md | 8 ++++---- docs/scripts/copy_docs.sh | 2 ++ docs/scripts/requirements.txt | 10 +++++----- docs/tutorials/aws.md | 2 +- docs/tutorials/mx-record.md | 2 +- docs/tutorials/ns-record.md | 2 +- docs/tutorials/webhook-provider.md | 2 +- external-dns.code-workspace | 7 +++++++ mkdocs.yml | 5 +++-- 11 files changed, 32 insertions(+), 22 deletions(-) create mode 100644 external-dns.code-workspace diff --git a/README.md b/README.md index 6efa7b4df..8123f40ae 100644 --- a/README.md +++ b/README.md @@ -206,7 +206,7 @@ The following tutorials are provided: * [UltraDNS](docs/tutorials/ultradns.md) * [GoDaddy](docs/tutorials/godaddy.md) * [Gandi](docs/tutorials/gandi.md) -* [SafeDNS](docs/tutorials/UKFast_SafeDNS.md) +* [SafeDNS](docs/tutorials/ANS_Group_SafeDNS.md) * [IBM Cloud](docs/tutorials/ibmcloud.md) * [Nodes as source](docs/tutorials/nodes.md) * [TencentCloud](docs/tutorials/tencentcloud.md) @@ -278,7 +278,7 @@ Now you can experiment and watch how ExternalDNS makes sure that your DNS record * Add another Service to create more DNS records. * Remove Services to clean up your managed zone. -The [tutorials](docs/tutorials) section contains examples, including Ingress resources, and shows you how to set up ExternalDNS in different environments such as other cloud providers and alternative Ingress controllers. +The **tutorials** section contains examples, including Ingress resources, and shows you how to set up ExternalDNS in different environments such as other cloud providers and alternative Ingress controllers. # Note diff --git a/docs/contributing/getting-started.md b/docs/contributing/getting-started.md index c9bb78a36..3f09c927f 100644 --- a/docs/contributing/getting-started.md +++ b/docs/contributing/getting-started.md @@ -29,17 +29,17 @@ make build.push IMAGE=your-registry/external-dns # Design -ExternalDNS's sources of DNS records live in package [source](../../source). They implement the `Source` interface that has a single method `Endpoints` which returns the represented source's objects converted to `Endpoints`. Endpoints are just a tuple of DNS name and target where target can be an IP or another hostname. +ExternalDNS's sources of DNS records live in package [source](https://github.com/kubernetes-sigs/external-dns/tree/master/source). They implement the `Source` interface that has a single method `Endpoints` which returns the represented source's objects converted to `Endpoints`. Endpoints are just a tuple of DNS name and target where target can be an IP or another hostname. For example, the `ServiceSource` returns all Services converted to `Endpoints` where the hostname is the value of the `external-dns.alpha.kubernetes.io/hostname` annotation and the target is the IP of the load balancer or where the hostname is the value of the `external-dns.alpha.kubernetes.io/internal-hostname` annotation and the target is the IP of the service ClusterIP. -This list of endpoints is passed to the [Plan](../../plan) which determines the difference between the current DNS records and the desired list of `Endpoints`. +This list of endpoints is passed to the [Plan](https://github.com/kubernetes-sigs/external-dns/tree/master/plan) which determines the difference between the current DNS records and the desired list of `Endpoints`. -Once the difference has been figured out the list of intended changes is passed to a `Registry` which live in the [registry](../../registry) package. The registry is a wrapper and access point to DNS provider. Registry implements the ownership concept by marking owned records and filtering out records not owned by ExternalDNS before passing them to DNS provider. +Once the difference has been figured out the list of intended changes is passed to a `Registry` which live in the [registry](https://github.com/kubernetes-sigs/external-dns/tree/master/registry) package. The registry is a wrapper and access point to DNS provider. Registry implements the ownership concept by marking owned records and filtering out records not owned by ExternalDNS before passing them to DNS provider. -The [provider](../../provider) is the adapter to the DNS provider, e.g. Google Cloud DNS. It implements two methods: `ApplyChanges` to apply a set of changes filtered by `Registry` and `Records` to retrieve the current list of records from the DNS provider. +The [provider](https://github.com/kubernetes-sigs/external-dns/tree/master/provider) is the adapter to the DNS provider, e.g. Google Cloud DNS. It implements two methods: `ApplyChanges` to apply a set of changes filtered by `Registry` and `Records` to retrieve the current list of records from the DNS provider. -The orchestration between the different components is controlled by the [controller](../../controller). +The orchestration between the different components is controlled by the [controller](https://github.com/kubernetes-sigs/external-dns/tree/master/controller). You can pick which `Source` and `Provider` to use at runtime via the `--source` and `--provider` flags, respectively. diff --git a/docs/faq.md b/docs/faq.md index 95323580d..2e51d4cc6 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -273,7 +273,7 @@ spec: Sometimes you need to run an internal and an external dns service. The internal one should provision hostnames used on the internal network (perhaps inside a VPC), and the external one to expose DNS to the internet. -To do this with ExternalDNS you can use the `--ingress-class` flag to specifically tie an instance of ExternalDNS to an instance of a ingress controller. +To do this with ExternalDNS you can use the `--ingress-class` flag to specifically tie an instance of ExternalDNS to an instance of a ingress controller. Let's assume you have two ingress controllers, `internal` and `external`. You can then start two ExternalDNS providers, one with `--ingress-class=internal` and one with `--ingress-class=external`. @@ -295,8 +295,8 @@ Note: the `--ingress-class` flag cannot be used at the same time as the `--annot **Performance considerations** Filtering based on ingress class name or annotations means that the external-dns controller will receive all resources of that kind and then filter on the client-side. -In larger clusters with many resources which change frequently this can cause performance issues. -If only some resources need to be managed by an instance of external-dns then label filtering can be used instead of ingress class filtering (or legacy annotation filtering). +In larger clusters with many resources which change frequently this can cause performance issues. +If only some resources need to be managed by an instance of external-dns then label filtering can be used instead of ingress class filtering (or legacy annotation filtering). This means that only those resources which match the selector specified in `--label-filter` will be passed to the controller. ### How do I specify that I want the DNS record to point to either the Node's public or private IP when it has both? @@ -331,7 +331,7 @@ registry.k8s.io/external-dns/external-dns As tags, you use the external-dns release of choice(i.e. `v0.7.6`). A `latest` tag is not provided in the container registry. -If you wish to build your own image, you can use the provided [.ko.yaml](../.ko.yaml) as a starting point. +If you wish to build your own image, you can use the provided [.ko.yaml](https://github.com/kubernetes-sigs/external-dns/blob/master/.ko.yaml) as a starting point. ### Which architectures are supported? diff --git a/docs/scripts/copy_docs.sh b/docs/scripts/copy_docs.sh index 7e114b84a..114c807e5 100755 --- a/docs/scripts/copy_docs.sh +++ b/docs/scripts/copy_docs.sh @@ -7,3 +7,5 @@ cp CONTRIBUTING.md code-of-conduct.md ./docs/ cp LICENSE ./docs/LICENSE.md cp README.md ./docs/index.md + +sed -i -e 's#docs/##g' ./docs/index.md diff --git a/docs/scripts/requirements.txt b/docs/scripts/requirements.txt index cacaecf19..0cd306aee 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.8 -mkdocs-literate-nav == 0.4.0 -mike == 1.1.2 \ No newline at end of file +mkdocs-git-revision-date-localized-plugin == 1.2.4 +mkdocs == 1.5.3 +mkdocs-material == 9.5.17 +mkdocs-literate-nav == 0.6.1 +mike == 2.0.0 diff --git a/docs/tutorials/aws.md b/docs/tutorials/aws.md index 890267f9b..2e202da72 100644 --- a/docs/tutorials/aws.md +++ b/docs/tutorials/aws.md @@ -870,7 +870,7 @@ Note: ExternalDNS does not support creating healthchecks, and assumes that `