Skip to content

Service updating external DNS with Rancher services records for Rancher 1.6

License

Notifications You must be signed in to change notification settings

rancher/external-dns

Folders and files

NameName
Last commit message
Last commit date

Latest commit

b7c5864 · Aug 9, 2018
Oct 21, 2016
Dec 2, 2017
Aug 7, 2018
Aug 7, 2018
Apr 26, 2017
May 2, 2017
May 21, 2018
Jan 26, 2017
Jan 26, 2017
Jan 26, 2017
Sep 5, 2017
Jan 26, 2017
Jan 26, 2017
Oct 14, 2015
May 2, 2017
May 2, 2017
Oct 13, 2016
Mar 13, 2018
May 21, 2018

Repository files navigation

external-dns

Service updating external DNS with records generated by Rancher. Initial version comes with Route53 support; pluggable provider model makes it easy to implement other providers later.

Design

  • external-dns gets deployed as a Rancher service containerized app. It enables all other services belonging to the same environment, to be registered to exteral DNS.

  • external-dns service would be periodically fetching info from rancher-metadata server, compare it with the data returned by DNS provider, and propagate the changes to DNS provider.

  • Every service will get a domain name in a following format:

<service_name>.<stack_name>.<environment_name>.<root_domain> {record set}

"root_domain" is a user set env var on external-dns service; record set - host ip addresses where service is deployed.

Example: service "foo" in stack "bar" belongs to environment "baz" has containers deployed on host1 and host2. Root_domain is set to "qux.com":

foo.bar.baz.qux.com [host1.ip, host2.ip]

Contact

For bugs, questions, comments, corrections, suggestions, etc., open an issue in rancher/rancher.

Or just click here to create a new issue.

License

Copyright (c) 2015 Rancher Labs, Inc.

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.