john

john / DNSControl

Last active 5 months ago

Like 0

Files for managing public DNS records with DNSControl + Forgejo Actions

john revised this gist 7 months ago · 654e6b3

1 file changed, 1 insertion, 1 deletion

dnsconfig.js
@@ -2,10 +2,10 @@
2 2
3 3 // Providers:
4 4 var DSP_BUNNY_DNS = NewDnsProvider("bunny_dns");
5 + var DSP_PORKBUN = NewDnsProvider("porkbun");
5 6 var REG_PORKBUN = NewRegistrar("porkbun");
6 7 var REG_NONE = NewRegistrar("none");
7 8
8 -
9 9 // Domains:
10 10 D("example.com", REG_NONE
11 11 , DnsProvider(DSP_BUNNY_DNS)

john revised this gist 7 months ago · ae21e46

1 file changed, 3 insertions, 1 deletion

creds.json
@@ -8,5 +8,7 @@
8 8 "TYPE": "BUNNY_DNS",
9 9 "api_key": "$BUNNY_API_KEY"
10 10 },
11 - "none": { "TYPE": "NONE" }
11 + "none": {
12 + "TYPE": "NONE"
13 + }
12 14 }

john revised this gist 7 months ago · 4c0b8c7

2 files changed, 21 insertions, 23 deletions

preview.yaml
@@ -1,6 +1,3 @@
1 - # .github/workflows/preview.yaml
2 - # Validates and previews changes in a PR
3 -
4 1 name: Check and Preview
5 2
6 3 on:
@@ -13,33 +10,35 @@ permissions:
13 10
14 11 jobs:
15 12 preview:
16 - runs-on: ubuntu-latest
13 + runs-on: docker
17 14 steps:
18 15 - uses: actions/checkout@v4
19 16
20 17 - name: DNSControl check
21 - uses: is-cool-me/dnscontrol-action@v4.13.0
18 + uses: https://git.vim.wtf/actions/dnscontrol-action@v4.13.0
22 19 with:
23 20 args: check
24 21
25 22 - name: DNSControl preview
26 - uses: is-cool-me/dnscontrol-action@v4.13.0
23 + uses: https://git.vim.wtf/actions/dnscontrol-action@v4.13.0
27 24 id: dnscontrol_preview
28 25 env:
29 26 BUNNY_API_KEY: ${{ secrets.BUNNY_API_KEY }}
27 + CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
28 + CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
30 29 PORKBUN_API_KEY: ${{ secrets.PORKBUN_API_KEY }}
31 30 PORKBUN_SECRET_KEY: ${{ secrets.PORKBUN_SECRET_KEY }}
32 - NO_COLORS: true
31 + NO_COLOR: true
33 32 with:
34 33 args: preview
35 34
36 - - name: Preview pull request comment
37 - uses: unsplash/comment-on-pr@v1.3.0
38 - env:
39 - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
40 - with:
41 - msg: |
42 - ```
43 - ${{ steps.dnscontrol_preview.outputs.preview_comment }}
44 - ```
45 - check_for_duplicate_msg: true
35 + # - name: Preview pull request comment
36 + # uses: https://git.vim.wtf/actions/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
push.yaml
@@ -1,6 +1,3 @@
1 - # .github/workflows/push.yaml
2 - # Implements DNS changes when pushed to main
3 -
4 1 name: Push
5 2
6 3 on:
@@ -10,15 +7,17 @@ on:
10 7
11 8 jobs:
12 9 push:
13 - runs-on: ubuntu-latest
10 + runs-on: docker
14 11 steps:
15 12 - uses: actions/checkout@v4
16 13
17 14 - name: DNSControl push
18 - uses: is-cool-me/dnscontrol-action@v4.13.0
15 + uses: https://git.vim.wtf/actions/dnscontrol-action@v4.13.0
19 16 env:
20 17 BUNNY_API_KEY: ${{ secrets.BUNNY_API_KEY }}
18 + CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
19 + CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
21 20 PORKBUN_API_KEY: ${{ secrets.PORKBUN_API_KEY }}
22 21 PORKBUN_SECRET_KEY: ${{ secrets.PORKBUN_SECRET_KEY }}
23 22 with:
24 - args: push
23 + args: push

john revised this gist 2 years ago · 12b8e8e

1 file changed, 1 insertion

preview.yaml
@@ -29,6 +29,7 @@ jobs:
29 29 BUNNY_API_KEY: ${{ secrets.BUNNY_API_KEY }}
30 30 PORKBUN_API_KEY: ${{ secrets.PORKBUN_API_KEY }}
31 31 PORKBUN_SECRET_KEY: ${{ secrets.PORKBUN_SECRET_KEY }}
32 + NO_COLORS: true
32 33 with:
33 34 args: preview
34 35

john revised this gist 2 years ago · 8c75063

4 files changed, 100 insertions

creds.json (file created)
@@ -0,0 +1,12 @@
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 + }
dnsconfig.js (file created)
@@ -0,0 +1,20 @@
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 + )
preview.yaml (file created)
@@ -0,0 +1,44 @@
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
push.yaml (file created)
@@ -0,0 +1,24 @@
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