-
Notifications
You must be signed in to change notification settings - Fork 0
refactor: DNS backend #876
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
iyashnov
wants to merge
61
commits into
dev
Choose a base branch
from
refactor_dns_backend
base: dev
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
61 commits
Select commit
Hold shift + click to select a range
c256de6
add: add PowerDNS authoritative and recursor services with Docker sup…
iyashnov a68dd79
refactor: update DNS service adapter and router for improved zone man…
iyashnov 2b1ea2f
refactor: add PDNS_API_KEY to local environment configuration
iyashnov 628b37f
refactor: restructure DNS module with PowerDNS integration and enhanc…
iyashnov 4fb4e45
refactor: update DNS settings and add PowerDNS client support
iyashnov f06bc91
refactor: enhance DNS management with PowerDNS integration and DTO up…
iyashnov 8d02f8c
refactor: remove SelfHostedDNSManager class and associated methods
iyashnov 616ebb7
refactor: remove unused DNS entrypoint script and zone templates
iyashnov cfb2d31
refactor: remove obsolete bind9 Dockerfile
iyashnov 0a10df5
refactor: remove SelfHostedDNSManager import and clean up exception h…
iyashnov 29a44c8
refactor: update DNS adapter and use cases for improved zone manageme…
iyashnov abe8881
test: update DNS DTOs and improve test cases for DNS record and zone …
iyashnov 89ff34d
refactor: implement get_zones method in StubDNSManager to return an e…
iyashnov 7055719
refactor: add DEFAULT_NAMESERVER and PDNS_API_KEY to md-test service …
iyashnov 81ea9b5
refactor: remove SelfHostedDNSManager from exports in DNS module
iyashnov cc18b0a
refactor: update DNS error handling to use DNSError for consistency
iyashnov 96e24ef
refactor: fix codestyle and naming
iyashnov cc0a1fc
refactor: simplify client selection logic by introducing _get_client_…
iyashnov 64042b3
refactor: simplify client selection logic in _get_client_by_zone_kind…
iyashnov 1b86e67
refactor: improve code readability by simplifying select statement an…
iyashnov d41f35c
refactor: enhance DNS error handling by adding DNSRecordGetError and …
iyashnov f3b50cb
refactor: add missing line breaks for improved readability in DNS exc…
iyashnov 3af34a1
refactor: rename bind9 to pdns_auth and update related configurations…
iyashnov 66744f1
fix: codestyle
iyashnov 1ab6dde
add: added docker network to set static IP on DNS containers
iyashnov 302a639
add: added dnsdist-console lib
iyashnov 0fce07e
add: added libsodium-dev package to multidirectory docker image
iyashnov f7c6d78
add: added pdnsdist config
iyashnov b45b491
add: added envs for pdnsdist
iyashnov 557fea9
add: added unconditional forward DNS to recursor config
iyashnov 0744b24
refactor: removed PDNS recursor from traefik
iyashnov fe23997
add: added dnsdist client to manage dnsdist
iyashnov a31402b
add: added dnsdist to prod docker-compose.yml
iyashnov 2f1b6d6
refactor: added api key generation for PDNS
iyashnov 869f13e
add: added windows script to generate DNS API keys
iyashnov 516238d
fix: codestyle
iyashnov cd2494f
add: added libsodium package to test image
iyashnov 134c1c6
fix: changed workflow to build pdns auth image instead of bind for dev
iyashnov cd6e81c
fix: fixed tests
iyashnov 066e6f3
add: added env to remote docker-compose for tests
iyashnov 32aa746
refactor: changed API key value to template value in config for prod
iyashnov ac2bb31
refactor: clarified variables
iyashnov 213fe76
refactor: separated managers from clients and moved to individual pa…
iyashnov 73fdc22
test: fixed tests
iyashnov a017638
refactor: changed method naming for consistency
iyashnov 14e2fa6
refactor: changed module name for clarity
iyashnov d138c25
refactor: added individual methods for every action in HTTP clients f…
iyashnov ba7c920
refactor: unite all DNS record actions in one method
iyashnov b3e5600
refactor: added logging
iyashnov 019d502
refactor: enhance dnsdist client with type hints and structured respo…
iyashnov 58a79fe
refactor: separate DNS service with dedicated router and adapter
iyashnov f96ba64
refactor: update .gitignore to include resolve.conf and remove obsole…
iyashnov 2c2afb5
refactor: improve error handling in zone deletion methods
iyashnov 1f90a93
fix: update import paths for DNS adapter and abstract client
iyashnov aa20a18
fix: fixed bugs
iyashnov 0e56dd3
fix: fixed possible issues
iyashnov f50e351
fix: fixed stringify None value
iyashnov e30c794
fix: changed error to more specific for clarity
iyashnov cdcedc9
fix: corrected filter name case in DNSManager logging
iyashnov b6c1456
fix: update network configuration to use md_net for all services
iyashnov c4de6e2
fix: rename PDNS_DIST_HOST to PDNS_DIST_IP for consistency
iyashnov File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,66 @@ | ||
| FROM alpine:3.20 AS builder | ||
|
|
||
| RUN apk add --no-cache --virtual .build-deps \ | ||
| build-base \ | ||
| lmdb-dev \ | ||
| openssl-dev \ | ||
| boost-dev \ | ||
| autoconf automake libtool \ | ||
| git ragel bison flex \ | ||
| lua5.4-dev \ | ||
| curl-dev | ||
|
|
||
| RUN apk add --no-cache \ | ||
| lua \ | ||
| lua-dev \ | ||
| lmdb \ | ||
| boost-libs \ | ||
| openssl-libs-static \ | ||
| curl \ | ||
| libstdc++ | ||
|
|
||
| RUN git clone https://github.com/PowerDNS/pdns.git /pdns | ||
| WORKDIR /pdns | ||
|
|
||
| RUN git submodule init &&\ | ||
| git submodule update &&\ | ||
| git checkout auth-5.0.1 | ||
|
|
||
| RUN autoreconf -vi | ||
|
|
||
| RUN mkdir /build && \ | ||
| ./configure \ | ||
| --sysconfdir=/etc/powerdns \ | ||
| --enable-option-checking=fatal \ | ||
| --with-dynmodules='lmdb' \ | ||
| --with-modules='' \ | ||
| --with-unixodbc-lib=/usr/lib/$(dpkg-architecture -q DEB_BUILD_GNU_TYPE) && \ | ||
| make clean && \ | ||
| make $MAKEFLAGS -C ext &&\ | ||
| make $MAKEFLAGS -C modules &&\ | ||
| make $MAKEFLAGS -C pdns && \ | ||
| make -C pdns install DESTDIR=/build &&\ | ||
| make -C modules install DESTDIR=/build &&\ | ||
iyashnov marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| make clean && \ | ||
| strip /build/usr/local/bin/* /build/usr/local/sbin/* /build/usr/local/lib/pdns/*.so | ||
|
|
||
| FROM alpine:3.20 AS runtime | ||
|
|
||
| COPY --from=builder /build / | ||
|
|
||
| RUN apk add --no-cache \ | ||
| lua \ | ||
| lua-dev \ | ||
| lmdb \ | ||
| boost-libs \ | ||
| openssl-libs-static \ | ||
| curl \ | ||
| libstdc++ | ||
|
|
||
| RUN mkdir -p /etc/powerdns/pdns.d /var/run/pdns /var/lib/powerdns /etc/powerdns/templates.d /var/lib/pdns-lmdb | ||
|
|
||
| COPY ./.package/pdns.conf /etc/powerdns/pdns.conf | ||
|
|
||
| EXPOSE 8082/tcp | ||
|
|
||
| CMD ["/usr/local/sbin/pdns_server"] | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| setLocal('0.0.0.0:53') | ||
| controlSocket('0.0.0.0:8084') | ||
| setKey('supersecretapikey') | ||
| addConsoleACL('172.20.0.0/24') | ||
| includeDirectory('/etc/dnsdist/conf.d/') | ||
| setACL('0.0.0.0/0') |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.