Skip to content

Move to pyproject, cleanup makefile, add devcontainer setup, improve buildtime and fix test-all#1948

Merged
mxsasha merged 7 commits intomainfrom
push-tnrmwsnqmzry
Mar 17, 2026
Merged

Move to pyproject, cleanup makefile, add devcontainer setup, improve buildtime and fix test-all#1948
mxsasha merged 7 commits intomainfrom
push-tnrmwsnqmzry

Conversation

@aequitas
Copy link
Copy Markdown
Collaborator

@aequitas aequitas commented Feb 26, 2026

Also adds new makefile help page with all commands:

$ make

Makefile for internet.nl.

Usage:

target                         help
------                         ----
help                           Show this help.
update_content                 update the translation files from content repo, (re)generate CSS and Javascript, optional branch=x to use a specific content repo branch
update_cert_fingerprints       update certificate fingerprint information
update_container_documentation update container table for documentation
update_expire_sectxt_pgp_test  test if security.txt or PGP key needs an update
update_padded_macs             update padded MAC information
update_root_key_file           update root key file
build                          build all docker images
build-no-cache build           build all docker images without using cache
up                             bring up an environment, and keep it running in the background, use env=x for a specific environment (test, dev)
up-no-wait                     bring up an environment but don't wait for it to be ready
run                            bring up an environment but run it in the foreground with logging enabled, ctrl-c to bring the environment down
restart                        restart all services in an environment
up-build-no-deps               (re)build images and bring environment up for only specific service (eg: make up-build-no-deps env=test services=app)
up-no-deps                     bring environment up for only specific service (eg: make up-no-deps env=test services=app)
ps                             show all services/containers for the project
logs                           follow logs for most important services, used services= for specific services (eg: make logs services=app)
logs-all                       follow logs for all services
logs-all-dump                  dump all logs for all services
exec                           run a specific command in a specific service (eg: make exec env=dev service=app cmd='ls /source')
run-shell                      start a container with a  shell to debug startup issues (eg: make run-shell env=dev cmd=bash service=app)
docker-compose-config          show result of merging .yml docker compose config files
docker-compose-config-to-file  dump the merged compose config to a file with the versions of docker and compose for easier comparison
create-superuser               create django superuser
rabbitmq-admin                 open rabbitmq admin web interface
postgres-shell                 open PostgresQL database shell (psql)
redis-shell                    open Redis CLI shell (redis-cli)
reset-test-target              manually reset test target cache
stop                           pause all containers, but don't remove them
down                           stop and remove all containers, but keep volumes (eg: routinator cache, databases)
down-remove-volumes            stop and remove all containers and volumes (eg: routinator cache, databases)
docker-compose-reset           reset entire docker compose environment and network, warning this might effect other compose project besides internet.nl
pull                           pull all docker images for the project
batch-api-create-db-indexes    create DB indexes for batch api
test-runner-shell              open a bash shell in a test runner container for test environment debugging
integration-tests              run integration tests
integration-tests-verbose integration-tests run integration tests with verbose logging
integration-tests-all-browser integration-tests run integration tests using all available browsers (firefox, chromium, webkit)
integration-tests-trace integration-tests run integration tests but retain Playwright trace files
batch-tests                    run batch tests
batch-tests-verbose batch-tests run batch tests with verbose logging
batch-tests-shell              open a bash shell in batch test environment
live-tests                     run live tests again a instance, eg: APP_URLS=https://internet.nl TEST_DOMAINS=https://example.nl make live-tests
develop-tests development-environment-tests run development environment tests
develop-tests-shell            open a bash shell in development test environment
test                           run unit tests
test-shell                     open a bash shell in unit test environment
test-all                       run all tests on all environments
makemigrations                 run `./manage.py makemigrations` to update Django migrations
lint                           run linter
check                          run checks (eg: package locks, migrations, document generation, etc)
fix                            fix trivial linting error automatically
check-gixy                     run nginx config check
build-tools tools-build        build tools image
shell tools-shell              open shell in tools container
integration-tests-against-develop integration-tests run integration-tests against development environment instance
integration-tests-reset-and-against-develop reset caches in development environment and run integration-tests against development environment instance
docker-compose-runtime-start   start a Colima Docker runtime for development
docker-compose-runtime-stop    stop Colima Docker runtime
documentation-images           generate documentation images
batch_submit_web_%k            submit an amount of domains from tranco as a web batch request to dev-docker.batch.internet.nl
batch_submit_mail_%k           submit an amount of domains from tranco as a mail batch request to dev-docker.batch.internet.nl
develop                        convenience target, will build and run all services for development and output logs for the relevant ones
develop_frontend               same as develop, but focus on frontend only
uv_lock                        update the uv.lock file after changing pyproject.toml

Most commands will need a 'env=x' argument to specify the environment (dev, test), eg: 'make up env=dev'

closes: #1585

@aequitas aequitas requested review from bwbroersma and mxsasha and removed request for mxsasha February 26, 2026 22:30
Comment thread bin/update_container_documentation.sh
@mxsasha mxsasha force-pushed the ncsc2025upgrade branch 3 times, most recently from e3ea051 to 337bea8 Compare March 17, 2026 12:42
Base automatically changed from ncsc2025upgrade to main March 17, 2026 13:11
@mxsasha mxsasha force-pushed the push-tnrmwsnqmzry branch from 4ff9655 to f92727d Compare March 17, 2026 13:24
@mxsasha mxsasha merged commit 3d3751b into main Mar 17, 2026
13 checks passed
@mxsasha mxsasha deleted the push-tnrmwsnqmzry branch March 17, 2026 14:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

Cleanup old pre-docker configs

3 participants