mirror of
				https://github.com/kubernetes-sigs/external-dns.git
				synced 2025-11-04 12:41:00 +01:00 
			
		
		
		
	Merge pull request #2738 from kubernetes-sigs/revert-2727-revert-2652-documentation
Revert "Revert "Workflow for automatic documentation creation and publishing""
This commit is contained in:
		
						commit
						8fe105f2f5
					
				
							
								
								
									
										43
									
								
								.github/workflows/docs.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								.github/workflows/docs.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,43 @@
 | 
			
		||||
name: Release Docs
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  push:
 | 
			
		||||
    tags:
 | 
			
		||||
      - "v*"
 | 
			
		||||
 | 
			
		||||
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"
 | 
			
		||||
          cache: "pip"
 | 
			
		||||
          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
 | 
			
		||||
          go run ./docs/scripts/docs.go
 | 
			
		||||
 | 
			
		||||
      - 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: build and push
 | 
			
		||||
        run: |
 | 
			
		||||
          mike deploy ${{ github.ref_name }} latest --push --update-aliases
 | 
			
		||||
          mike set-default --push latest
 | 
			
		||||
							
								
								
									
										7
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@ -54,3 +54,10 @@ profile.cov
 | 
			
		||||
 | 
			
		||||
# Helm charts
 | 
			
		||||
!/charts/external-dns/
 | 
			
		||||
 | 
			
		||||
docs/LICENSE.md
 | 
			
		||||
docs/code-of-conduct.md
 | 
			
		||||
docs/CONTRIBUTING.md
 | 
			
		||||
docs/index.md
 | 
			
		||||
docs/redirect
 | 
			
		||||
site
 | 
			
		||||
							
								
								
									
										83
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										83
									
								
								README.md
									
									
									
									
									
								
							@ -1,13 +1,16 @@
 | 
			
		||||
---
 | 
			
		||||
hide:
 | 
			
		||||
  - toc
 | 
			
		||||
  - navigation
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
<p align="center">
 | 
			
		||||
	<img src="img/external-dns.png" width="40%" align="center" alt="ExternalDNS">
 | 
			
		||||
	<img src="docs/img/external-dns.png" width="40%" align="center" alt="ExternalDNS">
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
# ExternalDNS
 | 
			
		||||
[](https://github.com/kubernetes-sigs/external-dns/actions)
 | 
			
		||||
[](https://coveralls.io/github/kubernetes-sigs/external-dns)
 | 
			
		||||
[](https://github.com/kubernetes-sigs/external-dns/releases)
 | 
			
		||||
[](https://godoc.org/github.com/kubernetes-sigs/external-dns)
 | 
			
		||||
[](https://goreportcard.com/report/github.com/kubernetes-sigs/external-dns)
 | 
			
		||||
 | 
			
		||||
[](https://github.com/kubernetes-sigs/external-dns/actions) [](https://coveralls.io/github/kubernetes-sigs/external-dns) [](https://github.com/kubernetes-sigs/external-dns/releases) [](https://godoc.org/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` 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/)
 | 
			
		||||
@ -77,38 +80,38 @@ 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 | |
 | 
			
		||||
| 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  |                              |
 | 
			
		||||
| 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
 | 
			
		||||
 | 
			
		||||
@ -174,7 +177,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)
 | 
			
		||||
* [Nodes as source](docs/tutorials/nodes.md)
 | 
			
		||||
 | 
			
		||||
### Running Locally
 | 
			
		||||
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 251 KiB After Width: | Height: | Size: 251 KiB  | 
							
								
								
									
										9
									
								
								docs/scripts/copy_docs.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										9
									
								
								docs/scripts/copy_docs.sh
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,9 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
set -eo pipefail
 | 
			
		||||
 | 
			
		||||
cp CONTRIBUTING.md code-of-conduct.md ./docs/
 | 
			
		||||
 | 
			
		||||
cp LICENSE ./docs/LICENSE.md
 | 
			
		||||
 | 
			
		||||
cp README.md ./docs/index.md
 | 
			
		||||
							
								
								
									
										47
									
								
								docs/scripts/docs.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								docs/scripts/docs.go
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,47 @@
 | 
			
		||||
/*
 | 
			
		||||
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 (
 | 
			
		||||
	"log"
 | 
			
		||||
	"os"
 | 
			
		||||
	"strings"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
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()
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										3
									
								
								docs/scripts/index.html.gotmpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								docs/scripts/index.html.gotmpl
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,3 @@
 | 
			
		||||
<head>
 | 
			
		||||
  <meta http-equiv="Refresh" content="0; url='/external-dns/{{.}}/'" />
 | 
			
		||||
</head>
 | 
			
		||||
							
								
								
									
										5
									
								
								docs/scripts/requirements.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								docs/scripts/requirements.txt
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +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
 | 
			
		||||
							
								
								
									
										86
									
								
								mkdocs.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										86
									
								
								mkdocs.yml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,86 @@
 | 
			
		||||
site_name: external-dns
 | 
			
		||||
site_author: external-dns maintainers
 | 
			
		||||
 | 
			
		||||
repo_name: kubernetes-sigs/external-dns
 | 
			
		||||
repo_url: https://github.com/kubernetes-sigs/external-dns/
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
extra:
 | 
			
		||||
  version:
 | 
			
		||||
    provider: mike
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user