mirror of
https://github.com/StackExchange/dnscontrol.git
synced 2025-12-09 13:46:07 +08:00
Fixes https://github.com/StackExchange/dnscontrol/issues/3379 Thanks to @SukkaW for adding this provider! Even though you claimed to be "not familiar with Go at all" the new code looks excellent! Great job!
205 lines
6.5 KiB
YAML
205 lines
6.5 KiB
YAML
# yaml-language-server: $schema=https://goreleaser.com/static/schema.json
|
|
project_name: dnscontrol
|
|
version: 2
|
|
builds:
|
|
-
|
|
id: build
|
|
env:
|
|
- CGO_ENABLED=0
|
|
- GO111MODULE=on
|
|
goos:
|
|
- linux
|
|
- windows
|
|
- darwin
|
|
- freebsd
|
|
# List of combinations of GOOS + GOARCH + GOARM to ignore.
|
|
ignore:
|
|
- goos: linux
|
|
goarch: "386"
|
|
- goos: windows
|
|
goarch: "386"
|
|
- goos: freebsd
|
|
goarch: "386"
|
|
ldflags:
|
|
- -linkmode=internal -s -w
|
|
- -X github.com/StackExchange/dnscontrol/v4/pkg/version.version={{ .Version }}
|
|
before:
|
|
hooks:
|
|
- go fmt ./...
|
|
- go mod tidy
|
|
- go generate ./...
|
|
changelog:
|
|
sort: asc
|
|
use: github
|
|
groups:
|
|
- title: 'Breaking changes:'
|
|
regexp: "(?i)^.*breaking[(\\w)]*:+.*$"
|
|
order: 0
|
|
- title: 'Major features:'
|
|
regexp: "(?i)^.*(major|new provider|feature)[(\\w)]*:+.*$"
|
|
order: 1
|
|
- title: 'Provider-specific changes:'
|
|
regexp: "(?i)((adguardhome|akamaiedge|autodns|axfrd|azure|azure_private_dns|bind|bunnydns|cloudflare|cloudflareapi_old|cloudns|cnr|cscglobal|desec|digitalocean|dnsimple|dnsmadeeasy|doh|domainnameshop|dynadot|easyname|exoscale|fortigate|gandi|gcloud|gcore|hedns|hetzner|hetznerv2|hexonet|hostingde|huaweicloud|inwx|joker|linode|loopia|luadns|mythicbeasts|namecheap|namedotcom|netcup|netlify|ns1|opensrs|oracle|ovh|packetframe|porkbun|powerdns|realtimeregister|route53|rwth|sakuracloud|softlayer|transip|vercel|vultr).*:)+.*"
|
|
order: 2
|
|
- title: 'Documentation:'
|
|
regexp: "(?i)^.*(docs)[(\\w)]*:+.*$"
|
|
order: 3
|
|
- title: 'CI/CD:'
|
|
regexp: "(?i)^.*(build|ci|cicd)[(\\w)]*:+.*$"
|
|
order: 4
|
|
- title: 'Dependencies:'
|
|
regexp: "(?i)^.*\\b(deps|dependencies)\\b.*$"
|
|
order: 5
|
|
- title: 'Other changes and improvements:'
|
|
order: 9
|
|
- title: 'Deprecation warnings:'
|
|
regexp: "(?i)^.*Deprecate[(\\w)]*:+.*$"
|
|
order: 10
|
|
filters:
|
|
exclude:
|
|
- '^test:'
|
|
- Merge pull request
|
|
- Merge branch
|
|
archives:
|
|
- format_overrides:
|
|
- goos: windows
|
|
formats:
|
|
- "zip"
|
|
universal_binaries:
|
|
-
|
|
replace: true
|
|
id: build
|
|
|
|
nfpms:
|
|
- id: packages_rpm
|
|
file_name_template: >-
|
|
{{ .ProjectName }}-
|
|
{{- .Version }}.
|
|
{{- if eq .Arch "386" }}i386
|
|
{{- else if eq .Arch "amd64" }}x86_64
|
|
{{- else }}{{ .Arch }}{{ end }}
|
|
homepage: https://docs.dnscontrol.org/
|
|
description: "DNSControl: Infrastructure as Code for DNS Zones"
|
|
maintainer: 'Tom Limoncelli <tlimoncelli@stackoverflow.com>'
|
|
license: MIT
|
|
formats:
|
|
- rpm
|
|
- id: packages_deb
|
|
file_name_template: >-
|
|
{{ .ProjectName }}-
|
|
{{- .Version }}.
|
|
{{- if eq .Arch "386" }}i386
|
|
{{- else }}{{ .Arch }}{{ end }}
|
|
homepage: https://docs.dnscontrol.org/
|
|
description: "DNSControl: Infrastructure as Code for DNS Zones"
|
|
maintainer: 'Tom Limoncelli <tlimoncelli@stackoverflow.com>'
|
|
license: MIT
|
|
formats:
|
|
- deb
|
|
dockers:
|
|
- image_templates:
|
|
- &amd_image "stackexchange/{{.ProjectName}}:{{ .Version }}-amd64"
|
|
- &amd_image_ghcr "ghcr.io/stackexchange/{{.ProjectName}}:{{ .Version }}-amd64"
|
|
goos: linux
|
|
goarch: amd64
|
|
use: buildx
|
|
ids:
|
|
- build
|
|
build_flag_templates:
|
|
- "--pull"
|
|
- "--platform=linux/amd64"
|
|
- "--label=org.opencontainers.image.created={{ .Date }}"
|
|
- "--label=org.opencontainers.image.name={{ .ProjectName }}"
|
|
- "--label=org.opencontainers.image.revision={{ .FullCommit }}"
|
|
- "--label=org.opencontainers.image.version={{ .Version }}"
|
|
- "--label=org.opencontainers.image.source={{ .GitURL }}"
|
|
- image_templates:
|
|
- &arm_image "stackexchange/{{.ProjectName}}:{{ .Version }}-arm64"
|
|
- &arm_image_ghcr "ghcr.io/stackexchange/{{.ProjectName}}:{{ .Version }}-arm64"
|
|
goos: linux
|
|
goarch: arm64
|
|
use: buildx
|
|
ids:
|
|
- build
|
|
build_flag_templates:
|
|
- "--pull"
|
|
- "--platform=linux/arm64"
|
|
- "--label=org.opencontainers.image.created={{ .Date }}"
|
|
- "--label=org.opencontainers.image.name={{ .ProjectName }}"
|
|
- "--label=org.opencontainers.image.revision={{ .FullCommit }}"
|
|
- "--label=org.opencontainers.image.version={{ .Version }}"
|
|
- "--label=org.opencontainers.image.source={{ .GitURL }}"
|
|
docker_manifests:
|
|
- name_template: "stackexchange/{{.ProjectName}}:{{ .Version }}"
|
|
image_templates:
|
|
- *amd_image
|
|
- *arm_image
|
|
- name_template: "ghcr.io/stackexchange/{{.ProjectName}}:{{ .Version }}"
|
|
image_templates:
|
|
- *amd_image_ghcr
|
|
- *arm_image_ghcr
|
|
- name_template: "stackexchange/{{.ProjectName}}:latest"
|
|
skip_push: auto
|
|
image_templates:
|
|
- *amd_image
|
|
- *arm_image
|
|
- name_template: "ghcr.io/stackexchange/{{.ProjectName}}:latest"
|
|
skip_push: auto
|
|
image_templates:
|
|
- *amd_image_ghcr
|
|
- *arm_image_ghcr
|
|
checksum:
|
|
name_template: 'checksums.txt'
|
|
snapshot:
|
|
version_template: "{{ incpatch .Version }}-next"
|
|
|
|
release:
|
|
draft: true
|
|
prerelease: auto
|
|
mode: append
|
|
footer: |
|
|
## Deprecation warnings
|
|
|
|
> [!WARNING]
|
|
> - **REV() will switch from RFC2317 to RFC4183 in v5.0.** This is a breaking change. Warnings are output if your configuration is affected. No date has been announced for v5.0. See https://docs.dnscontrol.org/language-reference/top-level-functions/revcompat
|
|
> - **NAMEDOTCOM and SOFTLAYER need maintainers!** These providers have no maintainer. Maintainers respond to PRs and fix bugs in a timely manner, and try to stay on top of protocol changes.
|
|
|
|
## Install
|
|
|
|
#### macOS and Linux
|
|
|
|
##### Install with [Homebrew](https://brew.sh) (recommended)
|
|
|
|
```shell
|
|
brew install dnscontrol
|
|
```
|
|
|
|
##### Using with [Docker](https://www.docker.com)
|
|
|
|
You can use the Docker image from [Docker hub](https://hub.docker.com/r/stackexchange/dnscontrol/) or [GitHub Container Registry](https://github.com/stackexchange/dnscontrol/pkgs/container/dnscontrol).
|
|
|
|
```shell
|
|
docker run --rm -it -v "$(pwd):/dns" ghcr.io/stackexchange/dnscontrol preview
|
|
```
|
|
|
|
#### Anywhere else
|
|
|
|
Alternatively, you can install the latest binary (or the apt/rpm/deb/archlinux package) from this page.
|
|
|
|
Or, if you have Go installed, you can install the latest version of DNSControl with the following command:
|
|
|
|
```shell
|
|
go install github.com/StackExchange/dnscontrol/v4@main
|
|
```
|
|
|
|
## Update
|
|
|
|
Update to the latest version depends on how you choose to install `dnscontrol` on your machine.
|
|
|
|
#### Update with [Homebrew](https://brew.sh)
|
|
|
|
```shell
|
|
brew upgrade dnscontrol
|
|
```
|
|
|
|
Alternatively, you can grab the latest binary (or the apt/rpm/deb package) from this page.
|