Skip to content

Commit 3c4d5f7

Browse files
committed
Manual merge to main, remote hands for Wouter
2 parents 686a906 + cec0e01 commit 3c4d5f7

151 files changed

Lines changed: 37029 additions & 12319 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.devcontainer/devcontainer.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
// "image": "ghcr.io/internetstandards/tools:latest",
3+
"dockerFile": "${localWorkspaceFolder}/docker/Dockerfile",
4+
"target": "tools",
5+
"context": "${localWorkspaceFolder}/",
6+
"options": ["--platform=linux/amd64"],
7+
"workspaceMount": "source=${localWorkspaceFolder},target=/source,type=bind,consistency=cached",
8+
"workspaceFolder": "/source"
9+
}

.github/workflows/docker.yml

Lines changed: 38 additions & 28 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:
@@ -34,9 +35,9 @@ jobs:
3435
- image: unbound
3536
dockerfile: docker/Dockerfile
3637
target: unbound
37-
- image: linttest
38+
- image: tools
3839
dockerfile: docker/Dockerfile
39-
target: linttest
40+
target: tools
4041
- image: test-runner
4142
dockerfile: docker/test-runner.Dockerfile
4243
target:
@@ -51,7 +52,8 @@ jobs:
5152
target:
5253

5354
outputs:
54-
internetnl_version: ${{ steps.get_version.outputs.internetnl_version }}
55+
release: ${{ steps.get_version.outputs.release }}
56+
scm_version: ${{ steps.get_version.outputs.scm_version }}
5557

5658
steps:
5759
- name: Debug info
@@ -83,10 +85,14 @@ jobs:
8385
id: get_version
8486
run: |
8587
pip -q install setuptools_scm
86-
# '+' and '/' is not supported in Docker Image tags
88+
# determine version number from Git information
8789
scm_version=$(echo 'from setuptools_scm import get_version; print(get_version(version_scheme="release-branch-semver"))' | python)
8890
branch_version_suffix=${GITHUB_HEAD_REF:+-$GITHUB_HEAD_REF}
89-
echo "internetnl_version=$scm_version$branch_version_suffix" | tr '+' '-'| tr '/' '-' | tee -a "$GITHUB_OUTPUT"
91+
# release is the version used for the docker image tag
92+
# '+' and '/' is not supported in Docker Image tags, so replace those from the SCM version with '-'
93+
echo "release=$scm_version$branch_version_suffix" | tr '+' '-'| tr '/' '-' | tee -a "$GITHUB_OUTPUT"
94+
# scm_version is valid PEP 440 and used as SETUPTOOLS_SCM_PRETEND_VERSION in Docker builds
95+
echo "scm_version=$scm_version$branch_version_suffix" | tee -a "$GITHUB_OUTPUT"
9096
# generate docker image tag used for PR specific caching and PR specific auto deploy
9197
echo "github_ref_name_slug=${{github.ref_name}}" | tr '+' '-'| tr '/' '-' | tee -a "$GITHUB_OUTPUT"
9298
@@ -123,7 +129,7 @@ jobs:
123129
# tag image with current setuptools_scm generated version
124130
# and tag with PR source branch (eg: feature-x)
125131
tags: |
126-
${{ env.DOCKER_REGISTRY }}/${{ matrix.image }}:${{ steps.get_version.outputs.internetnl_version }}
132+
${{ env.DOCKER_REGISTRY }}/${{ matrix.image }}:${{ steps.get_version.outputs.release }}
127133
${{ env.DOCKER_REGISTRY }}/${{ matrix.image }}:${{ steps.get_version.outputs.github_ref_name_slug }}
128134
# use latest build from main, or image previously build by this PR for caching
129135
cache-from: |
@@ -135,7 +141,8 @@ jobs:
135141
# pass in version information
136142
build-args: |
137143
BUILDKIT_INLINE_CACHE=1
138-
RELEASE=${{ steps.get_version.outputs.internetnl_version }}
144+
SCM_VERSION=${{ steps.get_version.outputs.scm_version }}
145+
RELEASE=${{ steps.get_version.outputs.release }}
139146
140147
- name: Build ${{ matrix.image }} (for main)
141148
# build for pushes to the main branch
@@ -150,7 +157,7 @@ jobs:
150157
# tag image with current setuptools_scm generated version
151158
# and tag with current branch name (eg: main)
152159
tags: |
153-
${{ env.DOCKER_REGISTRY }}/${{ matrix.image }}:${{ steps.get_version.outputs.internetnl_version }}
160+
${{ env.DOCKER_REGISTRY }}/${{ matrix.image }}:${{ steps.get_version.outputs.release }}
154161
${{ env.DOCKER_REGISTRY }}/${{ matrix.image }}:main
155162
# use latest build from main for caching
156163
cache-from: |
@@ -161,7 +168,8 @@ jobs:
161168
# pass in version information
162169
build-args: |
163170
BUILDKIT_INLINE_CACHE=1
164-
RELEASE=${{ steps.get_version.outputs.internetnl_version }}
171+
SCM_VERSION=${{ steps.get_version.outputs.scm_version }}
172+
RELEASE=${{ steps.get_version.outputs.release }}
165173
166174
- name: Build ${{ matrix.image }} (for release)
167175
# build for tagged releases
@@ -175,7 +183,7 @@ jobs:
175183
target: ${{ matrix.target }}
176184
# tag image with current setuptools_scm generated version and tag 'latest'
177185
tags: |
178-
${{ env.DOCKER_REGISTRY }}/${{ matrix.image }}:${{ steps.get_version.outputs.internetnl_version }}
186+
${{ env.DOCKER_REGISTRY }}/${{ matrix.image }}:${{ steps.get_version.outputs.release }}
179187
${{ env.DOCKER_REGISTRY }}/${{ matrix.image }}:latest
180188
# use latest build from main for caching
181189
cache-from: |
@@ -186,7 +194,8 @@ jobs:
186194
# pass in version information
187195
build-args: |
188196
BUILDKIT_INLINE_CACHE=1
189-
RELEASE=${{ steps.get_version.outputs.internetnl_version }}
197+
SCM_VERSION=${{ steps.get_version.outputs.scm_version }}
198+
RELEASE=${{ steps.get_version.outputs.release }}
190199
191200
- name: Build ${{ matrix.image }} (for forked PR's or dependabot)
192201
# build for forked PR's that don't have permissions to push to the container registry or dependabot PR's
@@ -200,7 +209,7 @@ jobs:
200209
target: ${{ matrix.target }}
201210
# tag image with current setuptools_scm generated version
202211
tags: |
203-
${{ env.DOCKER_REGISTRY }}/${{ matrix.image }}:${{ steps.get_version.outputs.internetnl_version }}
212+
${{ env.DOCKER_REGISTRY }}/${{ matrix.image }}:${{ steps.get_version.outputs.release }}
204213
# use latest build from main for caching
205214
cache-from: |
206215
${{ env.DOCKER_REGISTRY }}/${{ matrix.image }}:main
@@ -209,12 +218,13 @@ jobs:
209218
# makes build images better usable as cache by allowing individual layers to be pulled from cache
210219
# pass in version information
211220
build-args: |
212-
RELEASE=${{ steps.get_version.outputs.internetnl_version }}
221+
SCM_VERSION=${{ steps.get_version.outputs.scm_version }}
222+
RELEASE=${{ steps.get_version.outputs.release }}
213223
214224
- name: Save image to disk (for forked PR's or dependabot)
215225
# trigger only for forked PR's that don't have permissions to push to the container registry
216226
if: ${{ env.use_registry == 'false' }}
217-
run: docker save ${{ env.DOCKER_REGISTRY }}/${{ matrix.image }}:${{ steps.get_version.outputs.internetnl_version }} | gzip > "${{ matrix.image }}.tar.gz"
227+
run: docker save ${{ env.DOCKER_REGISTRY }}/${{ matrix.image }}:${{ steps.get_version.outputs.release }} | gzip > "${{ matrix.image }}.tar.gz"
218228

219229
- name: Upload image as build artifact (for forked PR's or dependabot)
220230
# trigger only for forked PR's that don't have permissions to push to the container registry
@@ -227,7 +237,7 @@ jobs:
227237
retention-days: 1
228238

229239
docs:
230-
runs-on: ubuntu-22.04
240+
runs-on: ubuntu-24.04
231241
needs: [build-docker]
232242
steps:
233243
- name: Branch deployment docs
@@ -242,7 +252,7 @@ jobs:
242252
--volume /opt/Internet.nl:/opt/Internet.nl \\
243253
--network none \\
244254
--env DOCKER_REGISTRY=${{ env.DOCKER_REGISTRY }} \\
245-
${{ env.DOCKER_REGISTRY }}/util:${{ needs.build-docker.outputs.internetnl_version }} \\
255+
${{ env.DOCKER_REGISTRY }}/util:${{ needs.build-docker.outputs.release }} \\
246256
/deploy.sh
247257
EOF
248258
@@ -253,7 +263,7 @@ jobs:
253263

254264
env:
255265
# used in `compose.yaml` files to determine version of images to pull
256-
RELEASE: "${{ needs.build-docker.outputs.internetnl_version }}"
266+
RELEASE: "${{ needs.build-docker.outputs.release }}"
257267
PY_COLORS: "1"
258268

259269
steps:
@@ -272,7 +282,7 @@ jobs:
272282
sudo apt-get update
273283
274284
# upgrade Docker
275-
sudo apt install --upgrade docker-ce docker-compose-plugin=2.33.0\*
285+
sudo apt install --upgrade docker-ce docker-compose-plugin=$COMPOSE_VERSION\*
276286
277287
- name: Debug info
278288
run: |
@@ -374,11 +384,11 @@ jobs:
374384
lintcheck:
375385
name: lint/check
376386
needs: [build-docker]
377-
runs-on: ubuntu-22.04
387+
runs-on: ubuntu-24.04
378388

379389
env:
380390
# used in `compose.yaml` files to determine version of images to pull
381-
RELEASE: "${{ needs.build-docker.outputs.internetnl_version }}"
391+
RELEASE: "${{ needs.build-docker.outputs.release }}"
382392

383393
steps:
384394
- name: Debug info
@@ -433,7 +443,7 @@ jobs:
433443

434444
env:
435445
# used in `compose.yaml` files to determine version of images to pull
436-
RELEASE: "${{ needs.build-docker.outputs.internetnl_version }}"
446+
RELEASE: "${{ needs.build-docker.outputs.release }}"
437447
PY_COLORS: "1"
438448

439449
steps:
@@ -452,7 +462,7 @@ jobs:
452462
sudo apt-get update
453463
454464
# upgrade Docker
455-
sudo apt install --upgrade docker-ce docker-compose-plugin=2.33.0\*
465+
sudo apt install --upgrade docker-ce docker-compose-plugin=$COMPOSE_VERSION\*
456466
457467
- name: Debug info
458468
run: |
@@ -521,7 +531,7 @@ jobs:
521531

522532
env:
523533
# used in `compose.yaml` files to determine version of images to pull
524-
RELEASE: "${{ needs.build-docker.outputs.internetnl_version }}"
534+
RELEASE: "${{ needs.build-docker.outputs.release }}"
525535

526536
steps:
527537
- name: Install specific Docker/Compose versions that are known to work
@@ -539,7 +549,7 @@ jobs:
539549
sudo apt-get update
540550
541551
# upgrade Docker
542-
sudo apt install --upgrade docker-ce docker-compose-plugin=2.33.0\*
552+
sudo apt install --upgrade docker-ce docker-compose-plugin=$COMPOSE_VERSION\*
543553
544554
- name: Debug info
545555
run: |
@@ -638,7 +648,7 @@ jobs:
638648

639649
env:
640650
# used in `compose.yaml` files to determine version of images to pull
641-
RELEASE: "${{ needs.build-docker.outputs.internetnl_version }}"
651+
RELEASE: "${{ needs.build-docker.outputs.release }}"
642652
PY_COLORS: "1"
643653

644654
steps:
@@ -657,7 +667,7 @@ jobs:
657667
sudo apt-get update
658668
659669
# upgrade Docker
660-
sudo apt install --upgrade docker-ce docker-compose-plugin=2.33.0\*
670+
sudo apt install --upgrade docker-ce docker-compose-plugin=$COMPOSE_VERSION\*
661671
662672
- name: Debug info
663673
run: |
@@ -725,7 +735,7 @@ jobs:
725735

726736
- name: Collect Docker Compose logs
727737
if: always()
728-
run: make logs-all-dump env=test > docker-compose.log
738+
run: make logs-all-dump env=batch-test > docker-compose.log
729739

730740
- uses: test-summary/action@v2.3
731741
with:

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ __pycache__
2727
*.log
2828
*.pid
2929
/tests/.pytest_cache/
30-
/node_modules
30+
Internet.nl.egg-info/
3131

3232
# Pycharm defaults
3333
.idea

.gitmodules

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,3 @@
11
[submodule "vendor/unbound"]
22
path = vendor/unbound
33
url = https://github.com/internetstandards/unbound.git
4-
[submodule "vendor/nassl"]
5-
path = vendor/nassl
6-
url = https://github.com/internetstandards/nassl.git
7-
[submodule "vendor/openssl-1.0.2e"]
8-
path = vendor/openssl-1.0.2e
9-
url = https://github.com/PeterMosmans/openssl.git
10-
[submodule "vendor/openssl-master"]
11-
path = vendor/openssl-master
12-
url = https://github.com/openssl/openssl.git

.well-known/security.txt

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
-----BEGIN PGP SIGNED MESSAGE-----
22
Hash: SHA512
33

4+
Hash: SHA512
5+
46
# Canonical URLs
57
Canonical: https://internet.nl/.well-known/security.txt
68
Canonical: https://www.internet.nl/.well-known/security.txt
@@ -28,20 +30,21 @@ Encryption: https://internet.nl/static/question@internet.nl_0x45028563.asc
2830
# Our security policy
2931
Policy: https://internet.nl/disclosure/
3032

31-
Expires: 2026-09-25T00:00:00Z
33+
Expires: 2027-04-10T00:00:00Z
3234
-----BEGIN PGP SIGNATURE-----
3335

34-
iQIzBAEBCgAdFiEErLeIKUx+ErrpIoxg2JThX0UChWMFAmjWfAcACgkQ2JThX0UC
35-
hWNptw/8ChAXXJcowrTy5y0xYw2YPx0a26M/bTBIZ2TsH0ewmhOHJEOXK9S1V6+I
36-
oszXGBmm9fUDEXlMC7+f1QfXWXt8Xh1OVd9HOTqVvQ4lmb2XbefGuR6hFuHaveEx
37-
Ac5nVVpkxwUzBJOQ0idK3bA+cLdosx6JEMPQoKWVPceaTake3TckQ22TEHBRro5z
38-
i7FAdEfqCjMT1r682cjNa95Q2gj7To06SmU4f/+0O2sjA64FVpOGRjC/Ka5YolZ6
39-
xLnnHQGz3FuQnKKVSF29l2RnbtNiL9Arr9xUekY8RoO7c7t7/Hwslp/lyYBHWHUZ
40-
3eeh4bkLgbfLICsjFWhQjU5uHp92ObMF+2N55d4C2oZp+o5C6BfdXW5nACLBreOV
41-
AjIUpzn59qpRPwV8dni6qzE0+BodIp6yAzBynXoCFoc7+mRK4Njtsr5Ci8Mz7Y2R
42-
7iBkor6xHmEssyJi2tCWSuZlQUcKx/JKRAKZI3yIOQab7lqfB8cLXogaEgtpAt1U
43-
8miL7wxKONyJM5bYOcf7UmpQutvRIWB3ZKtw/b0V8i/HCl7IzpyRASgwGbi93cqD
44-
EQw6/W5v4AtqoktNdxvWKyi+3NORfBdYHkCnLDGWtMMJpbW17iD4RVg866ode0Sv
45-
ukBLiBbSZTIJjv9294oKjRgKnZgy9PZ1+6bxLjmBl8k9XQJrQ18=
46-
=LFEm
36+
iQJiBAEBCgBMFiEErLeIKUx+ErrpIoxg2JThX0UChWMFAmniJ8wbFIAAAAAABAAO
37+
bWFudTIsMi41KzEuMTIsMCwzEhx2cmFhZ0BpbnRlcm5ldC5ubAAKCRDYlOFfRQKF
38+
YzrhD/9e3YMNFNWG4mviKceBABcJzEnuIqzC98f4dv+1rE4NCfrSJBWSFdqJqtsJ
39+
q5C34/Ny93PpuzhKB49FWZaASarmf7sBvWkwIVnOGY8BLLUT64XxPAOB8GCa2Lzl
40+
92KRWm3idBvsP4ovh/rdwuEl/pTuCFj4fUNGeK1gJdnE/b9hn2Hc8ozlNXPINYhE
41+
mcfZrw8Ez2XrJ3iJZ2yvRyui/btJGo0b912eb94g0uI1bQszOt7hq3Ah8I4DagHK
42+
yNPrJ/en9M4hyZepz/4I3Qzxtwrv4SloMwcF1fYn7ZyWY47OlQILrqauGzzLAXH4
43+
UT8c09LKEapc5ISNrq5MYnn6jMSIR78rLkcd37KVpeU9wKD/anDbSfa3++pT5M+A
44+
mYhTNh8CyU9FZD/f3Ux7R6RTPPCytiAocas5HC5NmPhc8vEx0TZ2J2l8uZorBwri
45+
46A2+4AaVCIo/QYl4yWpjt/734Om4wegmOdUTMMW6o39sxQLvjGs0JfwwhTbUdLc
46+
OeYRV4WOQRexxOxEQi28uLt0UOp/kuBHVmvMKSUQgxfykHMn7lIZgfuiFavNge28
47+
ofXtxLP+0vRR2oJusb47yIAerLUUQmPt12pqI3awn2qgHOpb8zmrBMS3mC0j1+VI
48+
EtSsBnMpBqJBqCzG2odFkSy/7cip8ybwchSVfJQ+Zrmf80bcUQ==
49+
=zDK4
4750
-----END PGP SIGNATURE-----

0 commit comments

Comments
 (0)