mirror of
https://github.com/kubernetes-sigs/external-dns.git
synced 2025-08-05 17:16:59 +02:00
Revert "Revert "Workflow for automatic documentation creation and publishing""
This commit is contained in:
parent
899cd95863
commit
afe3b09f45
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
|
# Helm charts
|
||||||
!/charts/external-dns/
|
!/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">
|
<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>
|
</p>
|
||||||
|
|
||||||
# ExternalDNS
|
# ExternalDNS
|
||||||
[](https://github.com/kubernetes-sigs/external-dns/actions)
|
|
||||||
[](https://coveralls.io/github/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)
|
||||||
[](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.
|
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
|
## 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/)
|
* [Google Cloud DNS](https://cloud.google.com/dns/docs/)
|
||||||
* [AWS Route 53](https://aws.amazon.com/route53/)
|
* [AWS Route 53](https://aws.amazon.com/route53/)
|
||||||
* [AWS Cloud Map](https://docs.aws.amazon.com/cloud-map/)
|
* [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:
|
The following table clarifies the current status of the providers according to the aforementioned stability levels:
|
||||||
|
|
||||||
| Provider | Status | Maintainers |
|
| Provider | Status | Maintainers |
|
||||||
| -------- | ------ | ----------- |
|
| ------------------------------- | ------ | ---------------------------- |
|
||||||
| Google Cloud DNS | Stable | |
|
| Google Cloud DNS | Stable | |
|
||||||
| AWS Route 53 | Stable | |
|
| AWS Route 53 | Stable | |
|
||||||
| AWS Cloud Map | Beta | |
|
| AWS Cloud Map | Beta | |
|
||||||
| Akamai Edge DNS | Beta | |
|
| Akamai Edge DNS | Beta | |
|
||||||
| AzureDNS | Beta | |
|
| AzureDNS | Beta | |
|
||||||
| BlueCat | Alpha | @seanmalloy @vinny-sabatini |
|
| BlueCat | Alpha | @seanmalloy @vinny-sabatini |
|
||||||
| CloudFlare | Beta | |
|
| CloudFlare | Beta | |
|
||||||
| RcodeZero | Alpha | |
|
| RcodeZero | Alpha | |
|
||||||
| DigitalOcean | Alpha | |
|
| DigitalOcean | Alpha | |
|
||||||
| DNSimple | Alpha | |
|
| DNSimple | Alpha | |
|
||||||
| Infoblox | Alpha | @saileshgiri |
|
| Infoblox | Alpha | @saileshgiri |
|
||||||
| Dyn | Alpha | |
|
| Dyn | Alpha | |
|
||||||
| OpenStack Designate | Alpha | |
|
| OpenStack Designate | Alpha | |
|
||||||
| PowerDNS | Alpha | |
|
| PowerDNS | Alpha | |
|
||||||
| CoreDNS | Alpha | |
|
| CoreDNS | Alpha | |
|
||||||
| Exoscale | Alpha | |
|
| Exoscale | Alpha | |
|
||||||
| Oracle Cloud Infrastructure DNS | Alpha | |
|
| Oracle Cloud Infrastructure DNS | Alpha | |
|
||||||
| Linode DNS | Alpha | |
|
| Linode DNS | Alpha | |
|
||||||
| RFC2136 | Alpha | |
|
| RFC2136 | Alpha | |
|
||||||
| NS1 | Alpha | |
|
| NS1 | Alpha | |
|
||||||
| TransIP | Alpha | |
|
| TransIP | Alpha | |
|
||||||
| VinylDNS | Alpha | |
|
| VinylDNS | Alpha | |
|
||||||
| RancherDNS | Alpha | |
|
| RancherDNS | Alpha | |
|
||||||
| OVH | Alpha | |
|
| OVH | Alpha | |
|
||||||
| Scaleway DNS | Alpha | @Sh4d1 |
|
| Scaleway DNS | Alpha | @Sh4d1 |
|
||||||
| Vultr | Alpha | |
|
| Vultr | Alpha | |
|
||||||
| UltraDNS | Alpha | |
|
| UltraDNS | Alpha | |
|
||||||
| GoDaddy | Alpha | |
|
| GoDaddy | Alpha | |
|
||||||
| Gandi | Alpha | @packi |
|
| Gandi | Alpha | @packi |
|
||||||
| SafeDNS | Alpha | @assureddt |
|
| SafeDNS | Alpha | @assureddt |
|
||||||
|
|
||||||
## Kubernetes version compatibility
|
## Kubernetes version compatibility
|
||||||
|
|
||||||
@ -174,7 +177,7 @@ The following tutorials are provided:
|
|||||||
* [UltraDNS](docs/tutorials/ultradns.md)
|
* [UltraDNS](docs/tutorials/ultradns.md)
|
||||||
* [GoDaddy](docs/tutorials/godaddy.md)
|
* [GoDaddy](docs/tutorials/godaddy.md)
|
||||||
* [Gandi](docs/tutorials/gandi.md)
|
* [Gandi](docs/tutorials/gandi.md)
|
||||||
* [SafeDNS](docs/tutorials/safedns.md)
|
* [SafeDNS](docs/tutorials/UKFast_SafeDNS.md)
|
||||||
* [Nodes as source](docs/tutorials/nodes.md)
|
* [Nodes as source](docs/tutorials/nodes.md)
|
||||||
|
|
||||||
### Running Locally
|
### 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…
Reference in New Issue
Block a user