| 1 | { |
| 2 | "porkbun": { |
| 3 | "TYPE": "PORKBUN", |
| 4 | "api_key": "$PORKBUN_API_KEY", |
| 5 | "secret_key": "$PORKBUN_SECRET_KEY" |
| 6 | }, |
| 7 | "bunny_dns": { |
| 8 | "TYPE": "BUNNY_DNS", |
| 9 | "api_key": "$BUNNY_API_KEY" |
| 10 | }, |
| 11 | "none": { "TYPE": "NONE" } |
| 12 | } |
john / DNSControl
Last active 5 months ago
Files for managing public DNS records with DNSControl + Forgejo Actions
Revision 8c75063c83be38c0cf03088d130204288e467f40
| 1 | // dnsconfig.js: dnscontrol configuration file |
| 2 | |
| 3 | // Providers: |
| 4 | var DSP_BUNNY_DNS = NewDnsProvider("bunny_dns"); |
| 5 | var REG_PORKBUN = NewRegistrar("porkbun"); |
| 6 | var REG_NONE = NewRegistrar("none"); |
| 7 | |
| 8 | |
| 9 | // Domains: |
| 10 | D("example.com", REG_NONE |
| 11 | , DnsProvider(DSP_BUNNY_DNS) |
| 12 | , DefaultTTL("1h") |
| 13 | , NAMESERVER("kiki.bunny.net.") |
| 14 | , NAMESERVER("coco.bunny.net.") |
| 15 | , A("@", "192.0.2.1") |
| 16 | , CNAME("cdn", "resources.example.net.") |
| 17 | , TXT("hi_there", "how are ya?") |
| 18 | , TXT("@", "example-verification=hunter2") |
| 19 | , MX("@", 10, "mail.example.org.") |
| 20 | ) |
| 21 |
| 1 | # .github/workflows/preview.yaml |
| 2 | # Validates and previews changes in a PR |
| 3 | |
| 4 | name: Check and Preview |
| 5 | |
| 6 | on: |
| 7 | pull_request: |
| 8 | |
| 9 | permissions: |
| 10 | contents: read |
| 11 | issues: write |
| 12 | pull-requests: write |
| 13 | |
| 14 | jobs: |
| 15 | preview: |
| 16 | runs-on: ubuntu-latest |
| 17 | steps: |
| 18 | - uses: actions/checkout@v4 |
| 19 | |
| 20 | - name: DNSControl check |
| 21 | uses: is-cool-me/dnscontrol-action@v4.13.0 |
| 22 | with: |
| 23 | args: check |
| 24 | |
| 25 | - name: DNSControl preview |
| 26 | uses: is-cool-me/dnscontrol-action@v4.13.0 |
| 27 | id: dnscontrol_preview |
| 28 | env: |
| 29 | BUNNY_API_KEY: ${{ secrets.BUNNY_API_KEY }} |
| 30 | PORKBUN_API_KEY: ${{ secrets.PORKBUN_API_KEY }} |
| 31 | PORKBUN_SECRET_KEY: ${{ secrets.PORKBUN_SECRET_KEY }} |
| 32 | with: |
| 33 | args: preview |
| 34 | |
| 35 | - name: Preview pull request comment |
| 36 | uses: unsplash/comment-on-pr@v1.3.0 |
| 37 | env: |
| 38 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
| 39 | with: |
| 40 | msg: | |
| 41 | ``` |
| 42 | ${{ steps.dnscontrol_preview.outputs.preview_comment }} |
| 43 | ``` |
| 44 | check_for_duplicate_msg: true |
| 1 | # .github/workflows/push.yaml |
| 2 | # Implements DNS changes when pushed to main |
| 3 | |
| 4 | name: Push |
| 5 | |
| 6 | on: |
| 7 | push: |
| 8 | branches: |
| 9 | - main |
| 10 | |
| 11 | jobs: |
| 12 | push: |
| 13 | runs-on: ubuntu-latest |
| 14 | steps: |
| 15 | - uses: actions/checkout@v4 |
| 16 | |
| 17 | - name: DNSControl push |
| 18 | uses: is-cool-me/dnscontrol-action@v4.13.0 |
| 19 | env: |
| 20 | BUNNY_API_KEY: ${{ secrets.BUNNY_API_KEY }} |
| 21 | PORKBUN_API_KEY: ${{ secrets.PORKBUN_API_KEY }} |
| 22 | PORKBUN_SECRET_KEY: ${{ secrets.PORKBUN_SECRET_KEY }} |
| 23 | with: |
| 24 | args: push |