overhauls of most service docs
All checks were successful
Podman DDNS Image / build-and-push-ddns (push) Successful in 33s
All checks were successful
Podman DDNS Image / build-and-push-ddns (push) Successful in 33s
This commit is contained in:
@@ -1,26 +1,32 @@
|
||||
# DDNS for Route53
|
||||
|
||||
- [DDNS for Route53](#ddns-for-route53)
|
||||
- [Install](#install)
|
||||
- [As a Systemd Service](#as-a-systemd-service)
|
||||
- [Ansible Caddy Records](#ansible-caddy-records)
|
||||
- [Ansible Git Record](#ansible-git-record)
|
||||
- [Ansible Unifi External Records](#ansible-unifi-external-records)
|
||||
- [Ansible Hostname reeselink records](#ansible-hostname-reeselink-records)
|
||||
- [Quickly Update DDNS Records](#quickly-update-ddns-records)
|
||||
- [Install a New DDNS Service](#install-a-new-ddns-service)
|
||||
- [Ansible 3D Server Records](#ansible-3d-server-records)
|
||||
- [Ansible Podman Record](#ansible-podman-record)
|
||||
- [Ansible Unifi External Records](#ansible-unifi-external-records)
|
||||
- [Ansible Hostname reeselink records](#ansible-hostname-reeselink-records)
|
||||
- [Development](#development)
|
||||
- [Testing](#testing)
|
||||
- [Building Container Image](#building-container-image)
|
||||
|
||||
This service will automatically keep ipv4 and ipv6 records updated in AWS Route53.
|
||||
This service will automatically keep ipv4 and ipv6 records updated in AWS
|
||||
Route53.
|
||||
|
||||
**NOTE**: This requires the aws cli to be installed on each node with
|
||||
credentials that can modify records in route53. See
|
||||
[aws_iam](/active/aws_iam/aws_iam.md) and
|
||||
[aws_cli](/active/aws_cli/aws_cli.md)
|
||||
[aws_iam](/active/aws_iam/aws_iam.md) and [aws_cli](/active/aws_cli/aws_cli.md)
|
||||
|
||||
## Install
|
||||
## Quickly Update DDNS Records
|
||||
|
||||
### As a Systemd Service
|
||||
In the event of a record change you can quickly trigger the ddns services with
|
||||
|
||||
```bash
|
||||
systemctl start --all ddns*.service
|
||||
```
|
||||
|
||||
## Install a New DDNS Service
|
||||
|
||||
You need two files:
|
||||
|
||||
@@ -45,7 +51,12 @@ records:
|
||||
hosted_zone_id: ABC123456789
|
||||
```
|
||||
|
||||
Then you can install the ddns service with something like
|
||||
Then you'll need to pick a server responsible for keeping those records
|
||||
updated. Whichever host you run the service on will also be the host which
|
||||
provides the public IP. Choose the host accordingly if it will be updating a
|
||||
public IP on behalf of another server, as the IPv6 address will not be correct.
|
||||
|
||||
Now you can install the DDNS service with something like:
|
||||
|
||||
```bash
|
||||
ansible-playbook \
|
||||
@@ -60,27 +71,32 @@ active/podman_ddns/install_ddns.yaml \
|
||||
|
||||
See ansible playbook [install_ddns.yaml](/install_ddns.yaml)
|
||||
|
||||
#### Ansible Caddy Records
|
||||
It's recommended that you have multiple secret `foobar-records.yaml` files for
|
||||
multiple servers. If you have a podman server, it'll have its own
|
||||
`podman-records.yaml`. If you have a docker server, it'll have its own
|
||||
`docker-records.yaml`. Etc. etc.
|
||||
|
||||
### Ansible 3D Server Records
|
||||
|
||||
```bash
|
||||
ansible-playbook \
|
||||
-i ansible/inventory.yaml \
|
||||
-l 3dserver \
|
||||
active/podman_ddns/install_ddns.yaml \
|
||||
-e "@active/podman_ddns/secrets/caddy_records.yaml"
|
||||
-e "@active/podman_ddns/secrets/3dserver_records.yaml"
|
||||
```
|
||||
|
||||
#### Ansible Git Record
|
||||
### Ansible Podman Record
|
||||
|
||||
```bash
|
||||
ansible-playbook \
|
||||
-i ansible/inventory.yaml \
|
||||
-l podman \
|
||||
active/podman_ddns/install_ddns.yaml \
|
||||
-e "@active/podman_ddns/secrets/git_record.yaml"
|
||||
-e "@active/podman_ddns/secrets/podman_records.yaml"
|
||||
```
|
||||
|
||||
#### Ansible Unifi External Records
|
||||
### Ansible Unifi External Records
|
||||
|
||||
```bash
|
||||
ansible-playbook \
|
||||
@@ -90,7 +106,7 @@ active/podman_ddns/install_ddns.yaml \
|
||||
-e "@active/podman_ddns/secrets/unifi_external_record.yaml"
|
||||
```
|
||||
|
||||
#### Ansible Hostname reeselink records
|
||||
### Ansible Hostname reeselink records
|
||||
|
||||
```bash
|
||||
export PLAYBOOK_PATH=active/podman_ddns
|
||||
|
||||
Reference in New Issue
Block a user