ranflare
Version:
Rancher + Cloudflare External DNS
34 lines (21 loc) • 1.58 kB
Markdown
# Running
`docker run idwall/ranflare <<TBC>>`
# Add DNS to a service
Add label `io.ranflare.dns` to the service containing the template or final value of the DNS entry.
The supported template values for this label are:
- `{{ name }}` - service name on rancher
- `{{ stack }}` - stack name on rancher
- `{{ labels.xxx.yyy.zzz }}` - value of label `xxx.yyy.zzz`
# Set global DNS template
Use command line option `--dns.template` to set the global dns template, which doesn't mean you'll not use service template anymore - this is used after generating the dns name.
The supported template values for this option are:
- `{{ dns }}` - the generated DNS name for the service
- `{{ zone }}` - the domain name present in cloudflare zone
For example, considering your zone name on cloudflare is `mysite.com` and you've set a label `io.ranflare.dns="{{ name }}.test"` to service `xyz`. This will generate a DNS value `xyz.test` for the service. You now launched ranflare with option `--dns.template "{{ dns }}.hey.{{ zone }}"`, which will cause the final DNS name to be `xyz.test.hey.mysite.com`, and this is what is getting registered on cloudflare.
# All supported options
- `--cloudflare.email <email>` - CloudFlare email
- `--cloudflare.key <email>` - CloudFlare API Key
- `--cloudflare.zone <zone>` - CloudFlare Zone ID
- `--cloudflare.noproxy` - Disables proxy from CloudFlare when adding entries
- `--poll.interval <interval>` - Poll interval, default value: `300000`
- `--rancher.metadata.url <url>` - Rancher Metadata URL, default value: `http://rancher-metadata`