Please note: This is a customized fork of exentriquesolutions/nip.io tailored for the needs Keptn. Use at own risk.
The docker image generated out of this repo is available at docker.io/keptn/dns.keptn.sh.
See build.sh for building the docker image.
While the setup will work with one VM, we stronlgy recommend using at least two VMs that are in different geographic regions (depending on where your users will be sitting).
The VMs will just need a Docker daemon, Internet access and Port 53 needs to be opened within the firewall.
To use this service, the following configuration needs to be taken on your DNS provider:
- Create your primary domain (e.g., dns.keptn.sh) with an A record pointing to your primary server
- Create two sub-domains ns1 and ns2 (e.g., ns1.dns.keptn.sh and ns2.dns.keptn.sh) pointing to the primary and secondary server (if you don't have a secondary, point it to the primary server for now)
- Create a NS record for your primary domain (e.g., dns.keptn.sh), pointing to the ns1 and ns2 domains
Example config:
NIP.IO is powered by PowerDNS with a simple, custom PipeBackend: backend.py
Head to NIP.IO for more details.
NIP.IO is licensed under Apache 2.0, and is a free service run by Exentrique Solutions
While all configuration settings can be specified in a file called backend.conf, the following environment variables override those:
NIPIO_DOMAIN
: NIP.IO main domain.
NIPIO_TTL
: Default TTL for NIP.IO backend.
NIPIO_NONWILD_DEFAULT_IP
: Default IP address for non-wildcard entries.
NIPIO_SOA_ID
: SOA serial number.
NIPIO_SOA_HOSTMASTER
: SOA hostmaster email address.
NIPIO_SOA_NS
: SOA name server.
NIPIO_NAMESERVERS
: A space seperated list of domain=ip nameserver pairs. Example: ns1.nip.io=127.0.0.1 ns2.nip.io=127.0.0.1
.
NIPIO_BLACKLIST
: A space seperated list of description=ip blacklisted pairs. Example: some_description=10.0.0.1 other_description=10.0.0.2
.
This is useful if you're creating your own Dockerfile.