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
|
||||
!/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…
Reference in New Issue
Block a user