# ranflare

> Rancher + Cloudflare External DNS

Latest version **0.0.3** (published 2017-12-06) · MIT license · 0 weekly downloads

## Install

```sh
npm install ranflare
pnpm add ranflare
yarn add ranflare
bun add ranflare
```

Provides the command `ranflare`.

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.3 |
| Published | 2017-12-06 |
| First published | 2017-09-26 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 6 |
| Known vulnerabilities | 0 (+26 in 2 direct dependencies) |
| Install scripts | no |
| Author | João Biondo |
| Maintainers | idwall |
| Keywords | Rancher, Cloudflare, External, DNS |

## Links

- npm: https://www.npmjs.com/package/ranflare
- Repository: https://github.com/idwall/ranflare
- Homepage: https://github.com/idwall/ranflare#readme
- Issues: https://github.com/idwall/ranflare/issues
- npm.io page: https://npm.io/package/ranflare

## Dependencies (6)

- [axios](https://npm.io/package/axios.md) ^0.17.1
- [caporal](https://npm.io/package/caporal.md) ^0.9.0
- [winston](https://npm.io/package/winston.md) ^2.4.0
- [cloudflare](https://npm.io/package/cloudflare.md) ^2.2.0
- [dot-object](https://npm.io/package/dot-object.md) ^1.7.0
- [underscore](https://npm.io/package/underscore.md) ^1.8.3

## Recent versions

- 0.0.3 (latest) — 2017-12-06
- 0.0.2 — 2017-12-06
- 0.0.1 — 2017-09-26

## README

# 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`

---
_Source: https://npm.io/package/ranflare · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
