docs: README, changelog, contributing, security, deployment, operations, CI
Some checks are pending
build / build (push) Waiting to run

This commit is contained in:
root 2026-05-24 18:21:04 +01:00
commit 473855e59a
12 changed files with 551 additions and 0 deletions

78
docs/operations.md Normal file
View file

@ -0,0 +1,78 @@
# Operations
## Checking service status
sudo docker service ls
sudo docker stack ps dns-traefik-sync
sudo docker service logs dns-traefik-sync_dns-traefik-sync --follow
## What healthy logs look like
2026-05-24 18:00:00 INFO dns-traefik-sync starting
2026-05-24 18:00:00 INFO Kerberos ticket obtained
2026-05-24 18:00:00 INFO Adding adguard.ankh-morpork.discworld.network -> 192.168.88.2
2026-05-24 18:01:00 INFO Kerberos ticket obtained
2026-05-24 18:01:00 INFO No changes
## Manually verifying DNS records
dig @192.168.88.1 grafana.ankh-morpork.discworld.network A
sudo samba-tool dns query 127.0.0.1 ankh-morpork.discworld.network @ ALL -U administrator
## Forcing a re-sync
sudo docker service update --force dns-traefik-sync_dns-traefik-sync
## Updating the image
cd dns-traefik-sync
git pull
sudo docker build -t git.ankh-morpork.discworld.network/laurence/dns-traefik-sync:latest .
sudo docker push git.ankh-morpork.discworld.network/laurence/dns-traefik-sync:latest
sudo docker service update --image \
git.ankh-morpork.discworld.network/laurence/dns-traefik-sync:latest \
dns-traefik-sync_dns-traefik-sync
## Keytab rotation
On the Samba DC:
sudo samba-tool user setpassword dns-updater --random-password
sudo samba-tool domain exportkeytab /etc/samba/dns-updater.keytab \
--principal=dns-updater@DISCWORLD.NETWORK
Update the Docker secret:
sudo docker secret rm dns-updater-keytab
sudo docker secret create dns-updater-keytab /tmp/dns-updater.keytab
sudo shred -u /tmp/dns-updater.keytab
sudo docker stack deploy -c docker-compose.yml dns-traefik-sync
## Removing a DNS record manually
sudo samba-tool dns delete 127.0.0.1 ankh-morpork.discworld.network \
<hostname> A 192.168.88.2 -U administrator
## Troubleshooting
### kinit fails - no suitable keys
Keytab is stale. Re-export on the DC:
sudo samba-tool domain exportkeytab /etc/samba/dns-updater.keytab \
--principal=dns-updater@DISCWORLD.NETWORK
### nsupdate fails with REFUSED
dns-updater not in DnsAdmins:
sudo samba-tool group addmembers DnsAdmins dns-updater
### nsupdate fails with NOTAUTH
Wrong DNS_ZONE or DNS_SERVER environment variable.
### Records not being created for a container
Container must have a Host() rule in its Traefik label matching DNS_ZONE.
Internal and non-docker providers are ignored.