This repository manages the build and release process for eduID Docker images.
The release engineering workflow builds Docker images from multiple eduID source repositories and manages their promotion through testing, staging, and production environments.
Source code is included via git submodules:
- eduid-backend - Python backend services
- eduid-front - Frontend application
- eduid-html - Static HTML/assets
- eduid-managed-accounts - Managed accounts frontend
The following Docker images are built:
| Image | Description |
|---|---|
webapp |
Web application server |
worker |
Background worker processes |
fastapi |
FastAPI-based services |
satosa_scim |
SATOSA SCIM integration |
admintools |
Administrative tools |
html |
Static HTML content |
# Initialize submodules
make build_prep# Update submodules to latest upstream and build all images
make update_what_to_build
make dockers
# Build with a specific version
make VERSION=20260115T120000 dockers
# Build individual images
make webapp
make worker
make fastapiThe release process follows a promotion model: testing → staging → production
make dockers
make VERSION=<version> dockers_tagpushThis builds images and pushes them with a -testing tag suffix.
make VERSION=<version> staging_releaseRe-tags images from -testing to -staging.
make VERSION=<version> production_releaseRe-tags images from -staging to -production.
make BRANCH=origin/feature-branch update_what_to_build
make dockers├── Makefile # Main build orchestration
├── prebuild/ # Base image with common dependencies
├── build/ # Build image and source export
│ └── repos/ # Git submodules
├── webapp/ # Webapp Docker image
├── worker/ # Worker Docker image
├── fastapi/ # FastAPI Docker image
├── satosa_scim/ # SATOSA SCIM Docker image
├── admintools/ # Admin tools Docker image
└── html/ # Static HTML Docker image
Images are pushed to docker.sunet.se/eduid/.