Skip to content

Commit 46e878a

Browse files
authored
Merge branch 'internetstandards:main' into main
2 parents 73e8574 + 41938ec commit 46e878a

File tree

22 files changed

+130
-152
lines changed

22 files changed

+130
-152
lines changed

.github/workflows/docker.yml

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,12 @@ env:
1919
# should be used to transfer images between jobs. Forked and dependabot builds don't
2020
# have permission to push to registry.
2121
use_registry: ${{ ! (github.event_name == 'pull_request' && (github.event.pull_request.head.repo.full_name != github.repository || startsWith(github.head_ref, 'dependabot/'))) }}
22+
COMPOSE_VERSION: 2.40.3
2223

2324
jobs:
2425
# builds all docker images in parallel
2526
build-docker:
26-
runs-on: ubuntu-22.04
27+
runs-on: ubuntu-24.04
2728

2829
strategy:
2930
matrix:
@@ -227,7 +228,7 @@ jobs:
227228
retention-days: 1
228229

229230
docs:
230-
runs-on: ubuntu-22.04
231+
runs-on: ubuntu-24.04
231232
needs: [build-docker]
232233
steps:
233234
- name: Branch deployment docs
@@ -272,7 +273,7 @@ jobs:
272273
sudo apt-get update
273274
274275
# upgrade Docker
275-
sudo apt install --upgrade docker-ce docker-compose-plugin=2.33.0\*
276+
sudo apt install --upgrade docker-ce docker-compose-plugin=$COMPOSE_VERSION\*
276277
277278
- name: Debug info
278279
run: |
@@ -374,7 +375,7 @@ jobs:
374375
lintcheck:
375376
name: lint/check
376377
needs: [build-docker]
377-
runs-on: ubuntu-22.04
378+
runs-on: ubuntu-24.04
378379

379380
env:
380381
# used in `compose.yaml` files to determine version of images to pull
@@ -452,7 +453,7 @@ jobs:
452453
sudo apt-get update
453454
454455
# upgrade Docker
455-
sudo apt install --upgrade docker-ce docker-compose-plugin=2.33.0\*
456+
sudo apt install --upgrade docker-ce docker-compose-plugin=$COMPOSE_VERSION\*
456457
457458
- name: Debug info
458459
run: |
@@ -539,7 +540,7 @@ jobs:
539540
sudo apt-get update
540541
541542
# upgrade Docker
542-
sudo apt install --upgrade docker-ce docker-compose-plugin=2.33.0\*
543+
sudo apt install --upgrade docker-ce docker-compose-plugin=$COMPOSE_VERSION\*
543544
544545
- name: Debug info
545546
run: |
@@ -657,7 +658,7 @@ jobs:
657658
sudo apt-get update
658659
659660
# upgrade Docker
660-
sudo apt install --upgrade docker-ce docker-compose-plugin=2.33.0\*
661+
sudo apt install --upgrade docker-ce docker-compose-plugin=$COMPOSE_VERSION\*
661662
662663
- name: Debug info
663664
run: |

checks/caa/parser.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,11 @@ def node_get_named_child_value(node: Node, name: str) -> Optional[str]:
3838
ACME_VALIDATION_METHODS = {
3939
"http-01",
4040
"dns-01",
41-
"http-01",
42-
"tls-alpn-01",
4341
"tls-alpn-01",
4442
"email-reply-00",
4543
"tkauth-01",
44+
"onion-csr-01",
45+
"bp-nodeid-00",
4646
}
4747

4848
# RFC 8657 4

docker/batch-test.env

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,20 +21,20 @@ IPV6_SUBNET_PUBLIC=fd00:43:1::/48
2121
IPV6_GATEWAY_PUBLIC=fd00:43:1::1
2222
IPV6_IP_PUBLIC=fd00:43:1::100
2323
# use internal IPv4 subnet and IP's
24-
IPV4_SUBNET_PUBLIC=172.43.0.0/16
25-
IPV4_IP_PUBLIC=172.43.0.100
26-
IPV4_WEBSERVER_IP_PUBLIC=172.43.0.100
27-
IPV4_UNBOUND_IP_PUBLIC=172.43.0.101
24+
IPV4_SUBNET_PUBLIC=172.16.43.0/24
25+
IPV4_IP_PUBLIC=172.16.43.100
26+
IPV4_WEBSERVER_IP_PUBLIC=172.16.43.100
27+
IPV4_UNBOUND_IP_PUBLIC=172.16.43.101
2828
IPV6_UNBOUND_IP_PUBLIC=fd00:43:1::101
2929

3030
# use fixed IPv4 addresses for internal networking to prevent resolving cache issues when recreating containers
3131
IPV4_SUBNET_INTERNAL=192.168.43.0/24
3232

33-
IPV4_IP_MOCK_RESOLVER_PUBLIC=172.43.0.114
33+
IPV4_IP_MOCK_RESOLVER_PUBLIC=172.16.43.114
3434
IPV6_IP_MOCK_RESOLVER_PUBLIC=fd00:43:1::114
3535

36-
IPV4_IP_TEST_TARGET_PUBLIC=172.43.0.51
37-
IPV4_IP_TEST_TARGET_MAIL_PUBLIC=172.43.0.52
36+
IPV4_IP_TEST_TARGET_PUBLIC=172.16.43.51
37+
IPV4_IP_TEST_TARGET_MAIL_PUBLIC=172.16.43.52
3838
IPV6_IP_TEST_TARGET_PUBLIC=fd00:43:1::51
3939
IPV6_IP_TEST_TARGET_MAIL_PUBLIC=fd00:43:1::52
4040

docker/compose-dist.sh

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#!/usr/bin/env sh
2+
3+
# wrapper to run the right compose command with the right environment variables from the util container
4+
5+
set -e
6+
7+
# determine install base for multi environment deployments (parent of directory containing this file)
8+
INTERNETNL_INSTALL_BASE=$(dirname "$(dirname "$(readlink -f "$0")")")
9+
10+
exec docker run -ti --rm --pull=never \
11+
--volume /var/run/docker.sock:/var/run/docker.sock \
12+
--volume "$INTERNETNL_INSTALL_BASE:/opt/Internet.nl" \
13+
--workdir /opt/Internet.nl \
14+
--network none \
15+
"ghcr.io/internetstandards/util:$RELEASE" \
16+
docker compose --env-file=docker/defaults.env --env-file=docker/host.env --env-file=docker/local.env "$@"

docker/compose.development.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,3 +70,10 @@ services:
7070
- ../checks:/app/checks
7171
- ../interface:/app/interface
7272
- ../internetnl:/app/internetnl
73+
74+
networks:
75+
public-internet:
76+
driver_opts:
77+
# development environments break connectivity when outgoing IP is set to the internal public IP
78+
com.docker.network.host_ipv4: !reset null
79+
com.docker.network.host_ipv6: !reset null

docker/compose.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1111,6 +1111,9 @@ networks:
11111111
com.docker.network.enable_ipv6: "true"
11121112
# network for internal communication between services
11131113
com.docker.network.bridge.enable_icc: "true"
1114+
# set NAT source IPs to the configured public IPs
1115+
com.docker.network.host_ipv4: $IPV4_IP_PUBLIC
1116+
com.docker.network.host_ipv6: $IPV6_IP_PUBLIC
11141117
ipam:
11151118
driver: default
11161119
config:

docker/defaults.env

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ AUTO_UPDATE_TO=
1616
# Container images/versions to use for external containers
1717
DOCKER_IMAGE_REDIS=redis:7.4.1-alpine
1818
DOCKER_IMAGE_RABBITMQ=rabbitmq:3.13.7-management-alpine
19-
DOCKER_IMAGE_POSTGRES=postgres:15.14-alpine3.22
19+
DOCKER_IMAGE_POSTGRES=postgres:15.16-alpine3.23
2020
DOCKER_IMAGE_ROUTINATOR=nlnetlabs/routinator:v0.14.0
2121
DOCKER_IMAGE_PROMETHEUS=prom/prometheus:v3.0.1
2222
DOCKER_IMAGE_PROMETHEUS_ALERTMANAGER=prom/alertmanager:v0.27.0
@@ -25,7 +25,7 @@ DOCKER_IMAGE_REDIS_EXPORTER=oliver006/redis_exporter:v1.66.0
2525
DOCKER_IMAGE_STATSD_EXPORTER=prom/statsd-exporter:v0.28.0
2626
DOCKER_IMAGE_CELERY_EXPORTER=danihodovic/celery-exporter:0.10.14
2727
DOCKER_IMAGE_NODE_EXPORTER=quay.io/prometheus/node-exporter:v1.8.2
28-
DOCKER_IMAGE_DOCKER_STATSD_EXPORTER=aequitas/docker-stats-exporter:0.1.0
28+
DOCKER_IMAGE_DOCKER_STATSD_EXPORTER=aequitas/docker-stats-exporter:0.2.0
2929
DOCKER_IMAGE_NGINX_LOGS_EXPORTER=ghcr.io/martin-helmich/prometheus-nginxlog-exporter/exporter:v1.11.0-amd64
3030

3131
# see: documentation/Docker-deployment.yml for information about the network settings

docker/deploy.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ echo "Deploying release: $RELEASE"
88

99
# copy release specific support files
1010
cp -v /dist/docker/* docker
11+
# put $RELEASE into the compose.sh file
12+
envsubst '$RELEASE' < docker/compose-dist.sh > docker/compose.sh
13+
chmod a+x docker/compose.sh
1114

1215
# set release version in local.env config
1316
echo "RELEASE='$RELEASE' # deploy $(date)" >> docker/local.env

docker/integration-tests/mock-resolver/bad-ipv6-ns.test.zone

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@
1111
NS bad-ns1
1212
NS bad-ns2
1313

14-
good-ns1 A 172.43.0.114
14+
good-ns1 A 172.16.43.114
1515
good-ns1 AAAA fd00:43:1::114
1616
bad-ns1 AAAA fd00:90::1
1717
bad-ns2 AAAA fd00:90::2
1818

1919
; IPV4_IP_TEST_TARGET_PUBLIC
20-
* A 172.43.0.51
20+
* A 172.16.43.51
2121
AAAA fd00:43:1::51

docker/integration-tests/mock-resolver/test.zone

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
; configure DNS for the internet.nl application instance that is running in test
44
; IPV4_WEBSERVER_IP_PUBLIC
5-
internet A 172.43.0.100
5+
internet A 172.16.43.100
66
; IPV6_IP_PUBLIC
77
AAAA fd00:43:1::100
88
; all it's subdomains
@@ -30,7 +30,7 @@ conn.www.ipv6.internet CNAME ipv6.internet
3030
; nameserver setup for the connection test
3131
test-ns-signed.internet NS ns.test-ns-signed.internet
3232
; IPV4_UNBOUND_IP_PUBLIC
33-
ns.test-ns-signed.internet A 172.43.0.101
33+
ns.test-ns-signed.internet A 172.16.43.101
3434
; IPV6_UNBOUND_IP_PUBLIC
3535
AAAA fd00:43:1::101
3636

@@ -44,15 +44,15 @@ platforminternet CNAME internet
4444
; configure DNS for targets that are tested by the internet.test instance
4545
; normal 100% website test target
4646
; IPV4_IP_TEST_TARGET_PUBLIC
47-
target A 172.43.0.51
47+
target A 172.16.43.51
4848
; IPV6_IP_TEST_TARGET_PUBLIC
4949
AAAA fd00:43:1::51
5050
*.target CNAME target
5151

5252
; normal 100% email test target
5353
*.mail-target MX 10 mx.mail-target.test.
5454
; IPV4_IP_TEST_TARGET_MAIL_PUBLIC
55-
mx.mail-target A 172.43.0.52
55+
mx.mail-target A 172.16.43.52
5656
; IPV6_IP_TEST_TARGET_MAIL_PUBLIC
5757
AAAA fd00:43:1::52
5858

@@ -62,7 +62,7 @@ bad-ipv6-ns NS good-ns1.bad-ipv6-ns
6262
NS bad-ns2.bad-ipv6-ns
6363
NS bad-ns3.bad-ipv6-ns
6464
; IPV4_IP_MOCK_RESOLVER_PUBLIC
65-
good-ns1.bad-ipv6-ns A 172.43.0.114
65+
good-ns1.bad-ipv6-ns A 172.16.43.114
6666
; IPV6_IP_MOCK_RESOLVER_PUBLIC
6767
good-ns1.bad-ipv6-ns AAAA fd00:43:1::114
6868
bad-ns2.bad-ipv6-ns AAAA fd00:90::1

0 commit comments

Comments
 (0)