Compare commits
5 Commits
refactorin
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4e5a69e5fb | ||
|
|
055f80bf9b | ||
|
|
917ff10563 | ||
|
|
c331e33178 | ||
|
|
5a7bc230b8 |
43
.github/workflows/release.yml
vendored
Normal file
43
.github/workflows/release.yml
vendored
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
name: goreleaser
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- 'v*'
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
goreleaser:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
- name: Set up Go
|
||||||
|
uses: actions/setup-go@v5
|
||||||
|
with:
|
||||||
|
go-version: stable
|
||||||
|
- name: Import GPG key
|
||||||
|
id: import_gpg
|
||||||
|
uses: crazy-max/ghaction-import-gpg@v6
|
||||||
|
with:
|
||||||
|
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
|
||||||
|
passphrase: ${{ secrets.GPG_PASSPHRASE }}
|
||||||
|
- name: Login to Docker Hub
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
|
- name: Run GoReleaser
|
||||||
|
uses: goreleaser/goreleaser-action@v6
|
||||||
|
|
||||||
|
with:
|
||||||
|
distribution: goreleaser
|
||||||
|
version: latest
|
||||||
|
args: release --clean
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
GPG_FINGERPRINT: ${{ steps.import_gpg.outputs.fingerprint }}
|
||||||
@ -1,7 +1,7 @@
|
|||||||
builds:
|
builds:
|
||||||
- binary: acme-dns
|
- binary: acme-dns
|
||||||
env:
|
env:
|
||||||
- CGO_ENABLED=1
|
- CGO_ENABLED=0
|
||||||
goos:
|
goos:
|
||||||
- linux
|
- linux
|
||||||
goarch:
|
goarch:
|
||||||
@ -19,3 +19,17 @@ archives:
|
|||||||
|
|
||||||
signs:
|
signs:
|
||||||
- artifacts: checksum
|
- artifacts: checksum
|
||||||
|
args: ["--batch", "-u", "{{ .Env.GPG_FINGERPRINT }}", "--output", "${signature}", "--detach-sign", "${artifact}"]
|
||||||
|
|
||||||
|
dockers:
|
||||||
|
- image_templates:
|
||||||
|
- "joohoi/acme-dns:{{ .Tag }}"
|
||||||
|
- "joohoi/acme-dns:latest"
|
||||||
|
dockerfile: Dockerfile.release
|
||||||
|
build_flag_templates:
|
||||||
|
- "--pull"
|
||||||
|
- "--label=org.opencontainers.image.created={{.Date}}"
|
||||||
|
- "--label=org.opencontainers.image.name={{.ProjectName}}"
|
||||||
|
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
|
||||||
|
- "--label=org.opencontainers.image.version={{.Version}}"
|
||||||
|
|
||||||
|
|||||||
59
CHANGELOG.md
Normal file
59
CHANGELOG.md
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
# Changelog
|
||||||
|
|
||||||
|
## v2.0
|
||||||
|
- Update goreleaser configuration and add a GitHub action to build a release on new version tags (#395)
|
||||||
|
- Huge refactoring and modernization (#325)
|
||||||
|
|
||||||
|
## v1.1
|
||||||
|
- Add timeout to golangci job (#369)
|
||||||
|
- Update deps to support go 1.23 (#368)
|
||||||
|
- Bump dependencies (#334)
|
||||||
|
|
||||||
|
## v1.0
|
||||||
|
- New
|
||||||
|
- Refactoring of the codebase to something more robust
|
||||||
|
- Changed
|
||||||
|
- Updated dependencies
|
||||||
|
- v0.8
|
||||||
|
- NOTE: configuration option: "api_domain" deprecated!
|
||||||
|
- New
|
||||||
|
- Automatic HTTP API certificate provisioning using DNS challenges making acme-dns able to acquire certificates even with HTTP api not being accessible from public internet.
|
||||||
|
- Configuration value for "tls": "letsencryptstaging". Setting it will help you to debug possible issues with HTTP API certificate acquiring process. This is the new default value.
|
||||||
|
- Changed
|
||||||
|
- Fixed: EDNS0 support
|
||||||
|
- Migrated from autocert to [certmagic](https://github.com/mholt/certmagic) for HTTP API certificate handling
|
||||||
|
- v0.7.2
|
||||||
|
- Changed
|
||||||
|
- Fixed: Regression error of not being able to answer to incoming random-case requests.
|
||||||
|
- Fixed: SOA record added to a correct header field in NXDOMAIN responses.
|
||||||
|
- v0.7.1
|
||||||
|
- Changed
|
||||||
|
- Fixed: SOA record correctly added to the TCP DNS server when using both, UDP and TCP servers.
|
||||||
|
- v0.7
|
||||||
|
- New
|
||||||
|
- Added an endpoint to perform health checks
|
||||||
|
- Changed
|
||||||
|
- A new protocol selection for DNS server "both", that binds both - UDP and TCP ports.
|
||||||
|
- Refactored DNS server internals.
|
||||||
|
- Handle some aspects of DNS spec better.
|
||||||
|
- v0.6
|
||||||
|
- New
|
||||||
|
- Command line flag `-c` to specify location of config file.
|
||||||
|
- Proper refusal of dynamic update requests.
|
||||||
|
- Release signing
|
||||||
|
- Changed
|
||||||
|
- Better error messages for goroutines
|
||||||
|
- v0.5
|
||||||
|
- New
|
||||||
|
- Configurable certificate cache directory
|
||||||
|
- Changed
|
||||||
|
- Process wide umask to ensure created files are only readable by the user running acme-dns
|
||||||
|
- Replaced package that handles UUIDs because of a flaw in the original package
|
||||||
|
- Updated dependencies
|
||||||
|
- Better error messages
|
||||||
|
- v0.4 Clear error messages for bad TXT record content, proper handling of static CNAME records, fixed IP address parsing from the request, added option to disable registration endpoint in the configuration.
|
||||||
|
- v0.3.2 Dockerfile was fixed for users using autocert feature
|
||||||
|
- v0.3.1 Added goreleaser for distributing binary builds of the releases
|
||||||
|
- v0.3 Changed autocert to use HTTP-01 challenges, as TLS-SNI is disabled by Let's Encrypt
|
||||||
|
- v0.2 Now powered by httprouter, support wildcard certificates, Docker images
|
||||||
|
- v0.1 Initial release
|
||||||
@ -1,12 +1,12 @@
|
|||||||
FROM golang:alpine AS builder
|
FROM golang:alpine AS builder
|
||||||
LABEL maintainer="joona@kuori.org"
|
LABEL maintainer="joona@kuori.org"
|
||||||
|
|
||||||
RUN apk add --update gcc musl-dev git
|
RUN apk add --update git
|
||||||
|
|
||||||
ENV GOPATH /tmp/buildcache
|
ENV GOPATH /tmp/buildcache
|
||||||
RUN git clone https://github.com/joohoi/acme-dns /tmp/acme-dns
|
RUN git clone https://github.com/joohoi/acme-dns /tmp/acme-dns
|
||||||
WORKDIR /tmp/acme-dns
|
WORKDIR /tmp/acme-dns
|
||||||
RUN CGO_ENABLED=1 go build
|
RUN CGO_ENABLED=0 go build
|
||||||
|
|
||||||
FROM alpine:latest
|
FROM alpine:latest
|
||||||
|
|
||||||
|
|||||||
12
Dockerfile.release
Normal file
12
Dockerfile.release
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
FROM alpine:latest
|
||||||
|
|
||||||
|
RUN apk --no-cache add ca-certificates && update-ca-certificates
|
||||||
|
RUN mkdir -p /etc/acme-dns
|
||||||
|
RUN mkdir -p /var/lib/acme-dns
|
||||||
|
|
||||||
|
COPY acme-dns /usr/local/bin/acme-dns
|
||||||
|
|
||||||
|
VOLUME ["/etc/acme-dns", "/var/lib/acme-dns"]
|
||||||
|
ENTRYPOINT ["acme-dns"]
|
||||||
|
EXPOSE 53 80 443
|
||||||
|
EXPOSE 53/udp
|
||||||
2
LICENSE
2
LICENSE
@ -1,6 +1,6 @@
|
|||||||
MIT License
|
MIT License
|
||||||
|
|
||||||
Copyright (c) 2016 Joona Hoikkala
|
Copyright (c) 2016-2026 Joona Hoikkala
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
51
README.md
51
README.md
@ -338,55 +338,6 @@ use for the renewal.
|
|||||||
- Generic client library in Go: [https://github.com/cpu/goacmedns](https://github.com/cpu/goacmedns)
|
- Generic client library in Go: [https://github.com/cpu/goacmedns](https://github.com/cpu/goacmedns)
|
||||||
|
|
||||||
|
|
||||||
## Changelog
|
|
||||||
- v1.0
|
|
||||||
- New
|
|
||||||
- Refactoring of the codebase to something more robust
|
|
||||||
- Changed
|
|
||||||
- Updated dependencies
|
|
||||||
- v0.8
|
|
||||||
- NOTE: configuration option: "api_domain" deprecated!
|
|
||||||
- New
|
|
||||||
- Automatic HTTP API certificate provisioning using DNS challenges making acme-dns able to acquire certificates even with HTTP api not being accessible from public internet.
|
|
||||||
- Configuration value for "tls": "letsencryptstaging". Setting it will help you to debug possible issues with HTTP API certificate acquiring process. This is the new default value.
|
|
||||||
- Changed
|
|
||||||
- Fixed: EDNS0 support
|
|
||||||
- Migrated from autocert to [certmagic](https://github.com/mholt/certmagic) for HTTP API certificate handling
|
|
||||||
- v0.7.2
|
|
||||||
- Changed
|
|
||||||
- Fixed: Regression error of not being able to answer to incoming random-case requests.
|
|
||||||
- Fixed: SOA record added to a correct header field in NXDOMAIN responses.
|
|
||||||
- v0.7.1
|
|
||||||
- Changed
|
|
||||||
- Fixed: SOA record correctly added to the TCP DNS server when using both, UDP and TCP servers.
|
|
||||||
- v0.7
|
|
||||||
- New
|
|
||||||
- Added an endpoint to perform health checks
|
|
||||||
- Changed
|
|
||||||
- A new protocol selection for DNS server "both", that binds both - UDP and TCP ports.
|
|
||||||
- Refactored DNS server internals.
|
|
||||||
- Handle some aspects of DNS spec better.
|
|
||||||
- v0.6
|
|
||||||
- New
|
|
||||||
- Command line flag `-c` to specify location of config file.
|
|
||||||
- Proper refusal of dynamic update requests.
|
|
||||||
- Release signing
|
|
||||||
- Changed
|
|
||||||
- Better error messages for goroutines
|
|
||||||
- v0.5
|
|
||||||
- New
|
|
||||||
- Configurable certificate cache directory
|
|
||||||
- Changed
|
|
||||||
- Process wide umask to ensure created files are only readable by the user running acme-dns
|
|
||||||
- Replaced package that handles UUIDs because of a flaw in the original package
|
|
||||||
- Updated dependencies
|
|
||||||
- Better error messages
|
|
||||||
- v0.4 Clear error messages for bad TXT record content, proper handling of static CNAME records, fixed IP address parsing from the request, added option to disable registration endpoint in the configuration.
|
|
||||||
- v0.3.2 Dockerfile was fixed for users using autocert feature
|
|
||||||
- v0.3.1 Added goreleaser for distributing binary builds of the releases
|
|
||||||
- v0.3 Changed autocert to use HTTP-01 challenges, as TLS-SNI is disabled by Let's Encrypt
|
|
||||||
- v0.2 Now powered by httprouter, support wildcard certificates, Docker images
|
|
||||||
- v0.1 Initial release
|
|
||||||
|
|
||||||
## TODO
|
## TODO
|
||||||
|
|
||||||
@ -401,4 +352,4 @@ If you have an idea for improvement, please open an new issue or feel free to wr
|
|||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
acme-dns is released under the [MIT License](http://www.opensource.org/licenses/MIT).
|
acme-dns is released under the [MIT License](https://www.opensource.org/licenses/MIT).
|
||||||
Loading…
x
Reference in New Issue
Block a user