Commit Graph
31 Commits
Author SHA1 Message Date
jklein 914c2d0205 Add freesailarr chart: gluetun-tunneled media automation stack
Single-pod StatefulSet running gluetun (appVersion 3.41.1) as Wireguard
VPN gateway with qbittorrent, prowlarr, flaresolverr, radarr, recyclarr,
sonarr, seerr and bazarr sharing its network namespace. Config volumes
via volumeClaimTemplates, media libraries as existing claims, per-app
enable/ingress toggles, computed FIREWALL_INPUT_PORTS, hardened
security contexts with documented per-image deviations. Wires up
publish workflow, change-app-version choice, install-test exclusion
and README overview.
2026-08-24 13:41:46 +02:00
jklein e730a81b17 Merge pull request #140 from jk-cluster/renovate/1password-load-secrets-action-5.x
Update 1password/load-secrets-action action to v5
2026-08-24 09:20:12 +00:00
jlab-renovate[bot] 35d381432c Update actions/checkout action to v7 2026-08-23 23:01:23 +00:00
jlab-renovate[bot] f65f31bed8 Update 1password/load-secrets-action action to v5 2026-08-23 23:01:15 +00:00
jklein 3fa67d55ef rss-bridge: new chart
Takes over the four loose manifests in cluster-config/rss-bridge/ as a
proper chart, on the current template-chart standard: strict values
schema, null-safe helpers, computed limits, replicas/scaleDown,
checksum/config, NOTES.txt.

Two things deviate from the repo standard on purpose:

- The Ingress models host AND TLS secret name per entry instead of the
  single conventional tls-<release>-<chart>-ingress. The installation
  this replaces has grown three separate certificates, one per host.
  Renaming them would make cert-manager issue three new ones and leave
  each host unreachable until it did - a self-inflicted outage on a
  deployment that has been up for over a year. Entries sharing a secret
  name are grouped into one tls entry, and omitting the name falls back
  to the convention, so consolidating later is a values change.

- Requests and limits are decoupled. The old manifest requested 2Gi of
  ephemeral storage, identical to its limit, reserving two gigabytes for
  a workload measured at 2.2 MB after fetching all five whitelisted
  bridges. The request drops to 64Mi; the limit stays at 2Gi.

Hardening was verified rather than assumed. The image ships no USER and
runs as root by default, but runs fully hardened once its writable paths
are provided: uid/gid 33, readOnlyRootFilesystem, all capabilities
dropped, seccompProfile RuntimeDefault. The writable paths were found by
running the image with a writable rootfs, exercising every bridge and
reading its diff layer - /app/cache, /run, /run/php, /var/lib/nginx.
/tmp did not show up that way, because PHP's opcache creates its lock
file there and unlinks it immediately; it only surfaced when the
hardened container died at startup. Stopping at the first writable path
would have shipped a chart that cannot start.

Probes use the app's own /?action=health, which renders fixed JSON
without touching the cache or any remote site, so neither a scraped site
going down nor an unwritable cache can restart the pod.

Fixes #128
2026-08-23 23:33:23 +02:00
jklein a68192e5fb Import minecraft-server chart for Fleet migration stage 1 (java8 line)
Imports the chart from cluster-config functionally unchanged, wires it into
the publish/validate/install-test pipelines and publishes it as the first of
three Java lines (0.4.0+upjava8).

The only deviation from the source chart is the chart-global scaleDown flag
plus a server.replicas value, following the satisfactory pattern: two of the
three servers stand at 0 replicas in the cluster, which the chart could not
express, and Fleet would otherwise start them on reconcile. The default
(scaleDown: false) still renders replicas: 1, so the rendering of the running
server is unchanged - verified byte-identical against the three real values
files for all three Java lines.

Known deficiencies (hardening, probes, naming scheme, hardcoded values,
missing icon, the misleading mc-router auto-discovery annotations) are left
untouched on purpose and are scheduled for stage 2.
2026-08-23 15:57:17 +02:00
jklein 3be5111630 Import minecraft-router chart unchanged (Fleet migration stage 1)
Takes the existing mc-router chart over from cluster-config as-is so the
deployment can move to Fleet without any change to the rolled-out state.
Convention alignment follows in stage 2, the app update in stage 3.

The only deviation from "unchanged": Chart.yaml carried name:
minecraft-server (copy-paste from the sister chart). The publish job pushes
by the glob <directory>-*.tgz while helm package names the archive after the
Chart.yaml name, so without this correction the push finds no file.

Version 0.1.1+up1.25.1 - chart semver stays at 0.1.1, the +up suffix is repo
policy and does not affect rendering.

Also wires up CI: publish workflow, change-app-version choice list,
install-test values (CI-only node-port override, since 25565 is outside the
k3d default range) and the README chart table.
2026-08-23 12:58:21 +02:00
jklein 1b56c4bdb2 Upgrade actions/checkout from v2 to v4
Fixes #6
2026-08-21 16:47:29 +02:00
jklein 41e1f62ede feat(voucher-vault): added publish workflow 2026-04-13 20:15:32 +02:00
jklein b01946f755 feat(rallly): added publish-workflow 2026-04-08 15:04:54 +02:00
jklein 627b841e61 feat(patchmon): added publish workflow 2026-04-03 19:26:59 +02:00
jklein 48db701078 feat(paperless-ngx): added to update version script 2026-03-23 19:06:49 +01:00
jklein 69d16c2112 feat(paperless-ngx): added to update version script 2026-03-23 17:48:59 +01:00
jklein 332a370c4b feat(outline): added publish workflow 2026-03-19 13:33:25 +01:00
jklein 146bf6ef9a feat(change-version): fixed chart versioning 2026-03-18 12:30:28 +01:00
jklein 8495540551 feat(matrix-synapse): added publish workflow 2026-03-17 22:07:23 +01:00
jklein eefc9345cf feat(cyberchef): added publish workflow 2026-03-17 17:33:33 +01:00
jklein 952088b3fb feat(satisfactory): added publish workflow 2026-03-16 21:20:33 +01:00
jklein 3ff932dc1f feat(charts): moved to other chart-version format 2026-03-09 23:15:16 +01:00
jklein e8c963c7d5 feat(gotenberg): added publish/deploy workflow 2026-02-23 16:33:03 +01:00
jklein cddd723f5a feat(apache-tika): added release/deployment workflow 2026-02-23 16:20:28 +01:00
jklein 5d17c0bc16 feat(urlaubsverwaltung): added release workflow 2026-02-22 13:19:50 +01:00
jklein f52e4fcaea feat(teamspeak-server): added publish-workflow 2026-02-20 14:49:24 +01:00
jklein c1b5692d26 feat(change-app-version-workflow): commits are authored by bot-user 2026-02-20 14:37:01 +01:00
jklein a3c143034a feat(zipline): added release workflow 2026-02-20 11:16:19 +01:00
jklein 299ef70348 feat(change-version): commits authored by GitHub-Actions 2026-02-19 15:42:54 +01:00
jklein 99ef2f1fb5 feat(change-version): commits authored by GitHub-Actions 2026-02-19 15:40:16 +01:00
jklein f05857bb1e feat(change-version): commits authored by GitHub-Actions 2026-02-19 15:37:31 +01:00
jklein 9059524e79 feat(workflows): moved app-version change to separate job 2026-02-19 15:25:20 +01:00
jklein 099f80a32e feat(workflows): moved app-version change to separate job 2026-02-19 15:24:45 +01:00
jklein 1e1855c9e6 feat(workflows): moved app-version change to separate job 2026-02-19 15:23:38 +01:00