Add a focused one-shot Alpine/Bash/curl/jq container that updates exactly one existing Porkbun A record.
Use read-only mounted JSON credentials, preserve TTL, skip unchanged addresses, and support --dry-run; never create records.
Add offline tests, release-only GitHub Actions and Woodpecker publishing, and GHCR cleanup registration.
Document usage and a small checklist for future containers.
Validation
All 21 mocked-HTTP tests pass; ShellCheck and Bash syntax checks pass.
Workflow YAML, release-only publishing settings, and release tag extraction validated offline.
Live dry runs succeeded without changing DNS.
Docker builds and runs remain user-managed and were not performed.
Replaces closed AGit PR #1 with a regular branch PR.
## Summary
- Add a focused one-shot Alpine/Bash/curl/jq container that updates exactly one existing Porkbun A record.
- Use read-only mounted JSON credentials, preserve TTL, skip unchanged addresses, and support `--dry-run`; never create records.
- Add offline tests, release-only GitHub Actions and Woodpecker publishing, and GHCR cleanup registration.
- Document usage and a small checklist for future containers.
## Validation
- All 21 mocked-HTTP tests pass; ShellCheck and Bash syntax checks pass.
- Workflow YAML, release-only publishing settings, and release tag extraction validated offline.
- Live dry runs succeeded without changing DNS.
- Docker builds and runs remain user-managed and were not performed.
Replaces closed AGit PR #1 with a regular branch PR.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
--dry-run; never create records.Validation
Replaces closed AGit PR #1 with a regular branch PR.