diff --git a/docs/initial-design.md b/docs/initial-design.md index 7fc378ea6..b233d61c7 100644 --- a/docs/initial-design.md +++ b/docs/initial-design.md @@ -2,6 +2,8 @@ ## Background +**Note: This DOC is WIP** + [Project proposal](https://groups.google.com/forum/#!searchin/kubernetes-dev/external$20dns%7Csort:relevance/kubernetes-dev/2wGQUB0fUuE/9OXz01i2BgAJ) [Initial discussion](https://docs.google.com/document/d/1ML_q3OppUtQKXan6Q42xIq2jelSoIivuXI8zExbc6ec/edit#heading=h.1pgkuagjhm4p) @@ -25,9 +27,9 @@ If the external-dns controller is running on the cluster, it could automatically 1. Support AWS Route53 and Google Cloud DNS providers 2. DNS for Kubernetes services(type=Loadbalancer) and Ingress 3. Create/update/remove records as according to Kubernetes resources state -4. Should work as well as the above mentioned projects in terms of features +4. It should address main requirements and support main features of the projects mentioned above -## Design +## Design ### Extensibility @@ -39,15 +41,15 @@ TODO:*This should probably be placed in a separate file*. Record configuration should occur via resource annotations. Supported annotations: -| | | +| Annotations | | |---|---| |Tag |external-dns.kubernetes.io/controller | |Description | Tells a DNS controller to process this service. This is useful when running different DNS controllers at the same time (or different versions of the same controller). The v1 implementation of dns-controller would look for service annotations `dns-controller` and `dns-controller/v1` but not for `mate/v1` or `dns-controller/v2` | |Default | dns-controller | |Example|dns-controller/v1| -||| +|---|---| |Tag |external-dns.kubernetes.io/hostname | -|Description | fully qualified name of the desired record. Only required for service(Loadbalancer) | +|Description | Fully qualified name of the desired record. Only required for services(Loadbalancer) | |Default| none | |Example|foo.example.org| @@ -57,8 +59,9 @@ External DNS should be compatible with annotations used by three above mentioned TODO:*Add complete list here* -*Mate* -| | | +**Mate** + +|Annotations | | |---|---| |Tag |zalando.org/dnsname | |Description | Hostname to be registered | @@ -68,5 +71,5 @@ TODO:*Add complete list here* ### Ownership -External DNS should be *responsible* for the created records. Which means that the records should be tagged (TODO:*describe how this supposed to work?*) and only tagged records are viable for future deletion/update. It should not mess with pre-existing records +External DNS should be *responsible* for the created records. Which means that the records should be tagged (TODO:*describe how this supposed to work?*) and only tagged records are viable for future deletion/update. It should not mess with pre-existing records created via other means