Skip to content

feat(outprint): add packages for own templates and configurations - #36

Merged
fty4 merged 1 commit into
mainfrom
feat/outprint-packages
Nov 8, 2026
Merged

fty4 merged 1 commit into
mainfrom
feat/outprint-packages

Conversation

@fty4

@fty4 fty4 commented Nov 8, 2026 •

Copy link
Copy Markdown
Member

What

Lets the chart use your own Outprint Template and Configuration packages without building an image (chart 1.2.0).

  • packages.git: a Job (install, and on a change of url/ref/commit/path) and a CronJob (interval) resolve ref (tag, branch or commit) to a commit. On a change they clone it (Git LFS included), run outprint validate against the service configuration, switch /packages/current over only if it passes, then restart Gateway and Worker. A broken revision never replaces a working one. commit is an optional integrity check.
  • packages.image: mounts an OCI image as a Kubernetes image volume (Kubernetes 1.35+).
  • packages.existingClaim: mounts a PVC you maintain.
  • gateway.extraVolumes/extraVolumeMounts and the same under worker.
  • Gateway and Worker read the packages through OUTPRINT_TEMPLATES_ROOT / OUTPRINT_CONFIGURATIONS_ROOT; the git source adds an initContainer that waits for the first sync.

Only the sync Job has network access; the Worker NetworkPolicy is unchanged. The Job's ServiceAccount may only get/patch the Gateway and Worker Deployments.

Docs: taskmedia/outprint#162 (Install > Run Outprint > Your own Templates and Configurations).

Notes

  • The sync container installs git-lfs and openssh-client with apk at start (alpine/k8s has neither). If the mirror is down the Job fails and the active revision stays.
  • The revisions live on a ReadWriteOnce PVC: on a multi-node cluster pin Gateway, Worker and the Job to one node, or use ReadWriteMany.
  • A change that adds a Binding the running revision does not have yet restarts Gateway and Worker until the Job has switched over.

Test plan

  • helm lint and ct lint pass
  • helm template for git, image, existingClaim, none, and two sources (fails with a clear message)
  • The three scripts run in Docker with the Job's capabilities against taskmedia/outprint@v1.0.1: ref resolution, LFS-capable clone, validate (passes, and fails on a Binding to a missing package), activate, commit mismatch
  • Install on the internal cluster with the foerderverein packages

@fty4
fty4 merged commit 9269438 into main Nov 8, 2026
2 checks passed
@fty4
fty4 deleted the feat/outprint-packages branch November 8, 2026 13:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant