feat: replace container base images with pixi-managed environments#810
feat: replace container base images with pixi-managed environments#810fstagni merged 7 commits intoDIRACGrid:mainfrom
Conversation
7dbead8 to
e840466
Compare
Documentation build overview
Show files changed (2 files in total): 📝 2 modified | ➕ 0 added | ➖ 0 deleted
|
a86608d to
c11d95c
Compare
|
I think the problem here is that we need to override the entrypoint of the keystore init job as well, but I can't try right now |
containers/Dockerfile
Outdated
| ARG PIXI_ENV=container-services | ||
| ARG DIRACX_EXTENSIONS=diracx | ||
| ENV PIXI_ENV=${PIXI_ENV} | ||
| ENV DIRACX_EXTENSIONS=${DIRACX_EXTENSIONS} |
There was a problem hiding this comment.
You redefine DIRACX_EXTENSIONS from 2 lines above
There was a problem hiding this comment.
This is the env var not the arg?
There was a problem hiding this comment.
In any case, this variable is no longer needed since DIRACGrid/DIRAC#8488
| with: | ||
| context: extensions/containers/services | ||
| context: . | ||
| file: containers/Dockerfile |
There was a problem hiding this comment.
should that be extensions/containers/Dockerfile ?
There was a problem hiding this comment.
No it builds from the top level pixi.toml
There was a problem hiding this comment.
OK so the extensions/containers/Dockerfile is just for docs purposes ?
2710220 to
a8350cf
Compare
…28.0 Since opentelemetry-sdk v1.28.0 (open-telemetry/opentelemetry-python#4166), LoggingHandler._translate() calls self.format(record) when a formatter is set. The existing formatter uses %(otelTraceID)s placeholders but set_logging_format=False meant the LoggingInstrumentor never injected those attributes, causing a KeyError at runtime.
a8350cf to
9b8f0a6
Compare
9b8f0a6 to
71d4284
Compare
1002637 to
1a2ef83
Compare
|
I think there is nothing left blocking this from being merged. |
Container images are now built from source via pixi (since DIRACGrid#810), so editable pip installs of mounted source dirs are redundant. Removing them fixes the gubbins init-cs failure caused by git "dubious ownership" errors when the container UID differs from the mounted source owner.
Container images are now built from source via pixi (since DIRACGrid#810), so editable pip installs of mounted source dirs are redundant. Removing them fixes the gubbins init-cs failure caused by git "dubious ownership" errors when the container UID differs from the mounted source owner.
Container images are now built from source via pixi (since DIRACGrid#810), so editable pip installs of mounted source dirs are redundant. Removing them fixes the gubbins init-cs failure caused by git "dubious ownership" errors when the container UID differs from the mounted source owner.
Container images are now built from source via pixi (since #810), so editable pip installs of mounted source dirs are redundant. Removing them fixes the gubbins init-cs failure caused by git "dubious ownership" errors when the container UID differs from the mounted source owner.
Closes #763
Replace container builds from the multi-repo base image approach
(micromamba + conda
environment.yml+pip install --no-deps) withself-contained, multi-stage Dockerfiles using pixi environments from the
committed lock file. This ensures reproducible builds with exact version
parity between development and production.
Summary
containers/Dockerfilethat builds bothservicesandclientimages via aPIXI_ENVbuild argpixi.lockis now committed (previously gitignored) to pin alldependencies
container-services,container-client) aredefined in
pixi.tomlin the same solve group as dev environmentsentrypoint from the matching diracx version at build time to avoid
maintaining a duplicate
linux-aarch64added to supported platformsgubbins integration tests
containers/client/,containers/services/,extensions/containers/) removedKeyErrorwithsdk >=1.28.0and pinimportlib-metadata <8.8.0to work around a pixi conda/PyPI conflictSee also #852 for the planned split of
extensions/gubbins/into astandalone repository.