Repository navigation
fix(image): install at build instead of runtime - #28
Closed
VERNIERELoic wants to merge 1 commit into
Closed
VERNIERELoic wants to merge 1 commit into
VERNIERELoic wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Reworks the image so that everything is installed and configured at build time, and the container no longer mutates itself at startup.
docker-entrypoint.shanddocker-entrypoint.d/*(apt, chown, install, update, plugins) are removed. Apache runs directly as PID 1 (apache2 -D FOREGROUND).ITSMNG_PLUGINSbuild arg (Debian packagesitsm-ng-plugin-*);ITSMNG_APT_VERSIONpins theitsm-ngpackage./etc/itsm-ng/config_db.phpreadsMARIADB_*(with_FILEvariants for secrets, plus optional TLS).readOnlyRootFilesystemand the Kubernetes PSArestrictedprofile. Only/var/lib/itsm-ngis persistent;/tmpand/run/apache2can be tmpfs.itsmng-init: creates the data tree, waits for the DB, installs or migrates the schema (idempotent)itsmng-cron: runs one pass of scheduled tasksitsmng-console: wrapper aroundbin/consolecron/image is dropped; CI still publishes*-crontags as aliases for compatibility.compose.yaml(MariaDB + init + web + cron) with.env.example,docker-bake.hcl, newMakefile,.hadolint.yaml,/healthzhealthcheck.deploy/kubernetes/(Deployment, Service, PVC, init Job, CronJob, kustomization).metadata-action, SBOM + provenance attestations on release.Test plan
make lintmake builddocker compose up -dinlatest/→ init completes, app reachable on http://localhost:8080docker compose run --rm cron