Commit Graph
640 Commits
Author SHA1 Message Date
jklein 9f258e2440 Merge pull request #26 from jk-cluster/fix/security-hardening
Harden pod and container security contexts across all workloads
2026-08-21 20:00:58 +00:00
jklein b5eba4cbf1 Harden pod and container security contexts across all workloads
Add securityContext hardening (runAsNonRoot, readOnlyRootFilesystem,
capabilities drop ALL, allowPrivilegeEscalation false) to the 10 workloads
that lacked it: apache-tika, cyberchef, gotenberg, homeassistant,
matrix-delegation-nginx, paperless-server, paperless-consume cronjob
(plus automountServiceAccountToken false), patchmon-frontend,
urlaubsverwaltung and zipline. All contexts are configurable via
securityContext.pod / securityContext.container in values.yaml; writable
paths are provided as emptyDirs. Image-forced deviations (Home Assistant
root start for s6-overlay + NET_RAW for discovery, paperless root init
container for /run ownership) are documented in the charts' values.yaml.
Major version bump for every changed published chart.
2026-08-21 21:49:05 +02:00
jklein 6dd80e3874 Merge pull request #21 from jk-cluster/fix/probes
Ensure liveness, readiness and startup probes on all workloads
2026-08-21 16:49:25 +00:00
jklein be8ec3590e Remove stray helper script 2026-08-21 18:44:22 +02:00
jklein 7f1ef4055f Refine probes based on k3d cluster verification
Every chart was installed twice in a throwaway k3d cluster (origin/main
vs this branch) with real Postgres/Redis/dex instances and observed for
readiness ordering, stability and dependency-outage behavior. Findings:

- voucher-vault: Django only accepts Hosts 127.0.0.1 and the configured
  DOMAIN; the default probe Host (pod IP) always got 400. Probes now
  send 'Host: 127.0.0.1'.
- zipline: /api/healthcheck includes the database, so liveness now uses
  '/' (readiness/startup keep /api/healthcheck). Verified live: on a
  Postgres outage the pod turns NotReady within 30s and is never
  restarted by the kubelet.
- outline: '/' also returns 500 when the database is down, so there is
  no dependency-free endpoint; all three probes use /_health.
2026-08-21 18:44:13 +02:00
jklein 535776ccdd Merge pull request #23 from jk-cluster/docs/keep-docs-current
Keep CLAUDE.md workflow and README repo info current
2026-08-21 16:37:52 +00:00
jklein f349428d0e Keep workflow docs in CLAUDE.md and general repo info in README current
- CLAUDE.md: document plan-on-issue step, doc-currency rules, k3d verification convention
- README: document validate-charts PR pipeline, branch-filtered publish trigger, strict lint, local k3d runtime verification
2026-08-21 18:36:31 +02:00
jklein 78d78973c5 Ensure liveness, readiness and startup probes on all workloads
Every container in every Deployment/StatefulSet now defines all three
probes. The paperless-ngx consume CronJob intentionally has none (batch
workload).

- Add probes: apache-tika, calibre-web-automated, cyberchef, gotenberg,
  homeassistant, patchmon-backend, samba (tcp/445), teamspeak-server
  (tcp/30033), zipline (/api/healthcheck)
- Fix voucher-vault null probe values with real defaults
- Fix startup-probe semantics in template-chart and rallly (no
  initialDelaySeconds, generous failureThreshold)
- Switch outline probes to its /_health endpoint
- Add readiness/startup probes to satisfactory
- Add startup probes to matrix-synapse, matrix-delegation-nginx,
  paperless-server, patchmon-frontend, urlaubsverwaltung
- Major version bump for all published charts
2026-08-21 17:36:53 +02:00
jklein 947b5eae35 Merge pull request #18 from jk-cluster/docs/agent-driven-workflow
Update issue workflow to agent-driven model
2026-08-21 15:24:36 +00:00
jklein 0d3b722dd1 Update issue workflow: manager plans, dev agent implements and tends its PR 2026-08-21 17:17:48 +02:00
jklein 391785165d Merge pull request #17 from jk-cluster/fix/paperless-cronjob-resources
Add resource requests/limits to paperless consume cronjob
2026-08-21 15:12:57 +00:00
jklein b27fcddc6f Add resource requests/limits to paperless consume cronjob
Configurable via smbConnection.cron.resources with minimal defaults
for the busybox container. Bumps chart version to 4.4.1+up2.20.13.

Fixes #10
2026-08-21 17:09:37 +02:00
jklein 96566a8618 Merge pull request #16 from jk-cluster/feat/validate-charts-workflow
Add PR pipeline validating changed helm charts
2026-08-21 17:04:14 +02:00
jklein ded2f59020 Rename detect job output to any-chart-changed for clarity 2026-08-21 17:03:22 +02:00
jklein 5a5c45fa41 Revert "TEMP: touch cyberchef chart to demo validate pipeline (will be reverted)"
This reverts commit 4f40aad6c2.
2026-08-21 16:57:28 +02:00
jklein 4f40aad6c2 TEMP: touch cyberchef chart to demo validate pipeline (will be reverted) 2026-08-21 16:56:46 +02:00
jklein 79f9260f56 Add PR pipeline validating changed helm charts
On every pull request, detect which chart directories were touched and
run helm lint --strict, helm package, and a chart-version bump check
for exactly those charts. PRs without chart changes skip the build.

Fixes #5
2026-08-21 16:55:47 +02:00
jklein 26c347290b Merge pull request #15 from jk-cluster/chore/remove-music-assistant-skill
Remove unused music-assistant-skill chart
2026-08-21 16:51:41 +02:00
jklein 3c7e7f8e00 Remove unused music-assistant-skill chart
The chart is no longer needed. Removes the chart directory, its publish
workflow, and its row in the README chart table. Already published
versions remain in the registry.

Fixes #7
2026-08-21 16:50:43 +02:00
jklein ff1b4b62ab Merge pull request #14 from jk-cluster/fix/upgrade-checkout-action
Upgrade actions/checkout from v2 to v4
2026-08-21 16:48:15 +02:00
jklein 1b56c4bdb2 Upgrade actions/checkout from v2 to v4
Fixes #6
2026-08-21 16:47:29 +02:00
jklein 3bed5a1717 Merge pull request #13 from jk-cluster/fix/publish-branch-filter
Restrict publish workflows to pushes on main
2026-08-21 16:42:21 +02:00
jklein 321aed387a Merge pull request #3 from jk-cluster/worktree-init-claude-md
Add repo documentation (CLAUDE.md + README) and remove dependabot config
2026-08-21 16:42:07 +02:00
jkleinandClaude Fable 5 62d2caae66 Restrict publish workflows to pushes on main
Without a branch filter, any push on any branch touching a chart
directory packaged and published the chart to the registry.

Fixes #4

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-21 16:40:20 +02:00
jkleinandClaude Fable 5 0275c01a18 Document mandatory issue workflow in CLAUDE.md
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-21 16:35:05 +02:00
jkleinandClaude Fable 5 04283df8c4 Remove non-functional dependabot config
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-21 16:20:49 +02:00
jkleinandClaude Fable 5 50685603e6 Document repo structure, charts, CI/CD and conventions in README
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-21 16:18:55 +02:00
jkleinandClaude Fable 5 116a0499c5 Add CLAUDE.md with repo guidance for Claude Code
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-21 16:17:19 +02:00
jk-cluster-bot f03d6cb870 Updated outline application version to 1.9.2 2026-08-11 13:43:17 +00:00
jk-cluster-bot 7fad2ee18a Updated zipline application version to 4.6.4 2026-07-28 12:00:29 +00:00
jk-cluster-bot 807bd7bff4 Updated urlaubsverwaltung application version to 6.5.0 2026-07-26 20:57:10 +00:00
jk-cluster-bot 2f280e9237 Updated outline application version to 1.9.1 2026-07-15 09:50:35 +00:00
jk-cluster-bot f7573c7f7e Updated outline application version to v1.9.1 2026-07-15 09:49:51 +00:00
jk-cluster-bot b023b98158 Updated urlaubsverwaltung application version to 6.1.0 2026-07-02 08:20:58 +00:00
jk-cluster-bot b8888cf4c8 Updated outline application version to 1.7.0 2026-04-27 09:05:47 +00:00
jklein 78df9dce6a feat(voucher-vault): fixed security-policies 2026-04-13 21:28:41 +02:00
jklein d66092d9e5 feat(voucher-vault): fixed db-secret naming 2026-04-13 20:52:07 +02:00
jklein 6c5f568529 feat(voucher-vault): fixed env naming 2026-04-13 20:48:54 +02:00
jklein 787228edf4 feat(voucher-vault): added initial chart 2026-04-13 20:16:10 +02:00
jklein 41e1f62ede feat(voucher-vault): added publish workflow 2026-04-13 20:15:32 +02:00
jklein 18ac2a7d79 feat(template): moved security-context, port and env configuration to values.yaml 2026-04-13 19:35:27 +02:00
jklein a63c4c6d37 feat(template): moved security-context, port and env configuration to values.yaml 2026-04-13 15:12:18 +02:00
jklein 732da57846 feat(template): added lifecycle probes 2026-04-13 12:21:52 +02:00
jklein 81743b23ed feat(dependabot): update appVersion in Helm Charts 2026-04-08 19:33:57 +02:00
jklein ab78e0f9e7 feat(dependabot): changes 2026-04-08 17:56:21 +02:00
jklein 4c74d13866 feat(dependabot): changed directory to only update homeassistant 2026-04-08 17:48:32 +02:00
jklein 0d6bd05db2 feat(dependabot): Fixed directory search pattern 2026-04-08 17:41:44 +02:00
jklein c9634bca91 feat(dependabot): enabled version-updates for helm-charts
Added support for Helm updates with daily checks.
2026-04-08 17:37:11 +02:00
jklein ce0ecc66e5 feat(rallly): fixed path in publish-workflow 2026-04-08 15:44:01 +02:00
jklein 04386192fe feat(rallly): added missing values 2026-04-08 15:41:58 +02:00