Commit Graph

892 Commits

Author SHA1 Message Date
admin 289d1ab763 Merge pull request 'Update index.docker.io/rclone/rclone Docker tag to v1.74.2' (#38) from renovate/index.docker.io-rclone-rclone-1.x into main 2026-06-06 07:31:21 +00:00
Renovate Bot 23695bd9a4 Update linuxserver/qbittorrent Docker tag to v5.2.1
renovate/stability-days Updates have met minimum release age requirement
2026-06-06 07:31:21 +00:00
admin 1a52aca6db Merge pull request 'Update index.docker.io/alpine Docker tag to v3.23' (#37) from renovate/index.docker.io-alpine-3.x into main 2026-06-06 07:31:14 +00:00
Renovate Bot 6ec9f6a0ae Update index.docker.io/rclone/rclone Docker tag to v1.74.2
renovate/stability-days Updates have met minimum release age requirement
2026-06-06 07:31:14 +00:00
admin fd97f14293 Merge pull request 'Update healthchecks/healthchecks Docker tag to v4.2' (#36) from renovate/healthchecks-healthchecks-4.x into main 2026-06-06 07:31:10 +00:00
Renovate Bot 0c62b28210 Update index.docker.io/alpine Docker tag to v3.23
renovate/stability-days Updates have met minimum release age requirement
2026-06-06 07:31:10 +00:00
Renovate Bot 6f82023155 Update healthchecks/healthchecks Docker tag to v4.2
renovate/stability-days Updates have met minimum release age requirement
2026-06-06 07:31:05 +00:00
admin b73786871e Merge pull request 'Update grafana/grafana Docker tag to v12.4.4' (#34) from renovate/grafana-grafana-12.x into main 2026-06-06 07:31:01 +00:00
Renovate Bot 0afa7d91e0 Update grafana/grafana Docker tag to v12.4.4
renovate/stability-days Updates have met minimum release age requirement
2026-06-06 07:30:42 +00:00
admin 7af4092e32 Merge pull request 'Update getmeili/meilisearch Docker tag to v1.45.2' (#32) from renovate/getmeili-meilisearch-1.x into main 2026-06-06 07:30:33 +00:00
admin c19de989ce Merge pull request 'Update filebrowser/filebrowser Docker tag to v2.63.5' (#31) from renovate/filebrowser-filebrowser-2.x into main 2026-06-06 07:30:16 +00:00
Renovate Bot 1810e40fb4 Update getmeili/meilisearch Docker tag to v1.45.2
renovate/stability-days Updates have met minimum release age requirement
2026-06-06 07:30:16 +00:00
admin 6013ea668c Merge pull request 'Update docker.io/valkey/valkey Docker tag to v9.1' (#30) from renovate/docker.io-valkey-valkey-9.x into main 2026-06-06 07:29:57 +00:00
Renovate Bot 1233868f63 Update filebrowser/filebrowser Docker tag to v2.63.5
renovate/stability-days Updates have met minimum release age requirement
2026-06-06 07:29:55 +00:00
admin 7658914ddb Merge pull request 'Update docker.io/bitnamilegacy/postgresql Docker tag to v17.6.0' (#29) from renovate/docker.io-bitnamilegacy-postgresql-17.x into main 2026-06-06 07:29:51 +00:00
Renovate Bot 7aecce94a1 Update docker.io/valkey/valkey Docker tag to v9.1
renovate/stability-days Updates have met minimum release age requirement
2026-06-06 07:29:51 +00:00
admin f11126cac3 Merge pull request 'Update codercom/code-server Docker tag to v4.122.1' (#28) from renovate/codercom-code-server-4.x into main 2026-06-06 07:29:44 +00:00
Renovate Bot 4431c44991 Update docker.io/bitnamilegacy/postgresql Docker tag to v17.6.0
renovate/stability-days Updates have met minimum release age requirement
2026-06-06 07:29:44 +00:00
Renovate Bot c65cf19bd2 Update codercom/code-server Docker tag to v4.122.1
renovate/stability-days Updates have met minimum release age requirement
2026-06-06 07:29:42 +00:00
admin c7ff367cdf Merge pull request 'renovate: termix via inline manifest comment (packageRule applied too late)' (#27) from feat/renovate-termix-inline-comment into main 2026-06-06 07:25:31 +00:00
admin a2686fac96 renovate: termix via inline manifest comment (packageRule was applied too late)
Debug-level dry-run revealed why the previous packageRule approach
(`datasource: github-releases` + `packageName: Termix-SSH/Termix` +
`versioning: regex:^release-...`) silently did nothing:

  DEBUG: Dependency ghcr.io/lukegus/termix has unsupported/unversioned
         value release-1.11.0 (versioning=docker)
  DEBUG: Skipping ghcr.io/lukegus/termix because no currentDigest or
         pinDigests

The kubernetes manager extracts the image with the default versioning
(=docker), runs an EARLY currentValue pre-check, fails on `release-1.11.0`,
falls back to digest-based updates, and gives up -- all BEFORE the
packageRule's `versioning` override has a chance to apply. Same failure
class as the earlier `extractVersion` attempt.

Renovate's documented fix for this exact case is an inline manifest
comment that applies overrides at extraction time:

  # renovate: datasource=github-releases depName=Termix-SSH/Termix \
  #          versioning=loose extractVersion=^release-(?<version>.+)$
  image: ghcr.io/lukegus/termix:release-1.11.0

With extractVersion stripping the `release-` prefix at extraction, the
loose semver parser handles the resulting `1.11.0` / `2.3.2` fine.
github-releases datasource gives Renovate real upstream timestamps so
the 3-day stability gate works normally. Removing the now-superseded
packageRule keeps the config clean (6 rules instead of 7).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-06 09:25:29 +02:00
admin 9214a4dde2 Merge pull request 'renovate: bump throttle 8/8 -> 16/16' (#26) from feat/renovate-throttle-16 into main 2026-06-06 06:53:05 +00:00
admin a52f8ccf8d renovate: bump throttle 8/8 -> 16/16
26 items sat in dashboard "Rate-Limited" after the first default-allow
run (Sat 02:00); at 8 PRs/run + 1 run/week the backlog would take ~3
weeks to drain. Doubling to 16/16 cuts that to ~2 runs while still
leaving headroom (the dashboard "Pending Approval" majors and ghcr.io
"Pending Status Checks" don't count against this limit anyway).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-06 08:53:03 +02:00
admin fbe9eeec21 Merge pull request 'Update actualbudget/actual-server Docker tag to v26.6.0' (#24) from renovate/actualbudget-actual-server-26.x into main 2026-06-06 06:52:24 +00:00
admin fc1df98503 Merge pull request 'Update docker.io/library/nextcloud Docker tag to v32.0.10' (#20) from renovate/docker.io-library-nextcloud-32.x into main 2026-06-06 06:52:01 +00:00
admin e4b36e7822 Merge pull request 'Update docker.io/valkey/valkey:9.0-alpine Docker digest to d1cc706' (#18) from renovate/docker.io-valkey-valkey-9.0-alpine into main 2026-06-06 06:51:39 +00:00
admin 6b2f69feaa Merge pull request 'Update busybox Docker tag to v1.38' (#25) from renovate/busybox-1.x into main 2026-06-06 00:04:48 +00:00
Renovate Bot 03b8af9b78 Update busybox Docker tag to v1.38
renovate/stability-days Updates have met minimum release age requirement
2026-06-06 00:04:43 +00:00
admin b98a0928cd Merge pull request 'Update wanderer to v0.19.2' (#23) from renovate/wanderer into main 2026-06-06 00:04:39 +00:00
Renovate Bot c9bc5cadc4 Update actualbudget/actual-server Docker tag to v26.6.0
renovate/stability-days Updates have met minimum release age requirement
2026-06-06 00:04:38 +00:00
admin 51581714ed Merge pull request 'Update linuxserver/bookstack Docker tag to v25.12.20251224' (#22) from renovate/linuxserver-bookstack-25.x into main 2026-06-06 00:04:33 +00:00
Renovate Bot a8610dc27e Update wanderer to v0.19.2
renovate/stability-days Updates have met minimum release age requirement
2026-06-06 00:04:33 +00:00
admin ad449b9e72 Merge pull request 'Update glanceapp/glance Docker tag to v0.8.5' (#21) from renovate/glanceapp-glance-0.x into main 2026-06-06 00:04:22 +00:00
Renovate Bot ddb2797b10 Update linuxserver/bookstack Docker tag to v25.12.20251224
renovate/stability-days Updates have met minimum release age requirement
2026-06-06 00:04:21 +00:00
Renovate Bot 8b14b0e99e Update glanceapp/glance Docker tag to v0.8.5
renovate/stability-days Updates have met minimum release age requirement
2026-06-06 00:04:18 +00:00
Renovate Bot 2b260bc2eb Update docker.io/library/nextcloud Docker tag to v32.0.10
renovate/stability-days Updates have met minimum release age requirement
2026-06-06 00:04:14 +00:00
admin d4f09f2cd9 Merge pull request 'Update advplyr/audiobookshelf Docker tag to v2.35.1' (#19) from renovate/advplyr-audiobookshelf-2.x into main 2026-06-06 00:04:14 +00:00
Renovate Bot 8a807d3e5c Update advplyr/audiobookshelf Docker tag to v2.35.1
renovate/stability-days Updates have met minimum release age requirement
2026-06-06 00:04:08 +00:00
Renovate Bot 8b4b0df92c Update docker.io/valkey/valkey:9.0-alpine Docker digest to d1cc706
renovate/stability-days Updates have not met minimum release age requirement
2026-06-06 00:04:06 +00:00
admin da1e8045d0 feat(office): add BentoPDF (pdf.dooplex.hu)
Privacy-focused, client-side PDF toolkit deployed into the office-system
namespace alongside OnlyOffice. Stateless (no DB/PVC); nginx-internal
ingress with HU geo-restriction and letsencrypt-prod TLS. Auto-synced by
the existing `office` ArgoCD Application.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-05 12:36:33 +02:00
admin fd73c41152 Merge pull request 'renovate: move cron to Sat 02:00 Europe/Budapest' (#17) from feat/renovate-cron-saturday into main 2026-06-05 07:31:24 +00:00
admin b96703f2df renovate: move cron to Sat 02:00 Europe/Budapest
Was Sun 04:00; now Sat 02:00 so Renovate's wave lands at the start of
the weekend instead of the end. If an auto-merged update breaks
something, Viktor has the full weekend to troubleshoot.

`0 2 * * 6` = Saturday 02:00 in Europe/Budapest (the CronJob already
sets timeZone, so this is wall-clock local).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-05 09:30:58 +02:00
admin e147d829e7 Merge pull request 'renovate: default-allow + codify ArgoCD auto-sync' (#16) from feat/renovate-default-allow into main 2026-06-05 05:58:04 +00:00
admin 24be0b45fd renovate: termix uses github-releases datasource (restores 3-day gate)
Replaces the security-flagged `minimumReleaseAge: 0` bypass with a
proper datasource swap.

Why: ghcr.io OCI manifests for ghcr.io/lukegus/termix don't expose a
release timestamp, so Renovate's default `timestamp-required` mode
holds updates indefinitely. The previous fix (zeroing the gate) was
flagged as a supply-chain control regression -- correctly, since it
weakens the stability protection for that package.

Cleaner fix: point Renovate's version lookup at the upstream GitHub
Releases (Termix-SSH/Termix per the OCI source label) where timestamps
ARE published. The 3-day gate then works for termix the same way it
works for other packages with intact timestamps. Renovate still
updates the same image -- the manager extracts ghcr.io/lukegus/termix
from termix.yaml and writes the new tag back; only the version-source
lookup is redirected. The ghcr.io registry hosts every release-X.Y.Z
tag (verified release-2.3.2 present), so the writeback target stays
valid.

Major bumps (1.x -> 2.x) continue to queue for dashboard approval via
the global major rule.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-05 07:53:50 +02:00
admin 628a63da83 renovate: revert global timestamp-optional; narrowly bypass age gate for termix
Last commit's global `minimumReleaseAgeBehaviour: timestamp-optional` did
two unwanted things:

  1) Dry-run showed 0 "Would commit" branches (was 33 before). The flag
     appears to alter Renovate's filtering more broadly than expected and
     is not the right knob here.
  2) Automated security review correctly flagged the global form as
     fail-open: a missing timestamp on ANY package would bypass the
     stability gate, weakening supply-chain protection across the fleet.

Narrow fix instead:
  - Revert the global setting (back to default `timestamp-required`).
  - Add `minimumReleaseAge: "0 days"` ONLY to the termix packageRule.
    ghcr.io OCI manifests for ghcr.io/lukegus/termix don't expose a
    release timestamp Renovate can read, so the global 3-day gate would
    otherwise hold updates indefinitely (this is the same class of issue
    that's been keeping reloader/homepage/headlamp on "Pending Status
    Checks" for 8+ days). Major bumps still gated by the global major
    rule (`dependencyDashboardApproval: true`).

Other ghcr.io packages with the same issue (reloader, homepage, headlamp)
remain on the dashboard's "Pending Status Checks" list and can be
force-approved per-update via the checkbox UX. That's a slower but safer
manual-approval path that preserves the supply-chain gate's intent.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-05 07:43:37 +02:00
admin 6ee7d83f66 renovate: set minimumReleaseAgeBehaviour=timestamp-optional
Debug dry-run revealed why termix (and reloader/homepage/headlamp
8d ago) sit in "Pending Status Checks" indefinitely:

  Marking 2 release(s) as pending, as they do not have a
  releaseTimestamp and we're running with
  minimumReleaseAgeBehaviour=timestamp-required
  "depName": "ghcr.io/lukegus/termix"
  "versions": ["release-1.11.2", "release-1.11.1"]
  "check": "minimumReleaseAge"

ghcr.io OCI manifests for these images don't expose a release
timestamp Renovate can read, so the default `timestamp-required`
mode turns the 3-day stability gate into an INFINITE hold for
ghcr.io packages -- silently. PRs are never opened.

Switching to `timestamp-optional` (other supported value per Renovate
source: lib/config/options/index.ts) makes the gate best-effort: the
3-day window is still enforced for any package the datasource gives a
timestamp for; packages without a timestamp are allowed through.
Restores intended behavior.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-05 07:37:40 +02:00
admin 69db2c609f renovate: switch termix rule to regex versioning (loose+extractVersion silently skipped it)
Debug-level dry-run showed:
  Dependency ghcr.io/lukegus/termix has unsupported/unversioned value
  release-1.11.0 (versioning=loose)
  Skipping ghcr.io/lukegus/termix because no currentDigest or pinDigests

`versioning: loose + extractVersion` doesn't work as intended here:
Renovate evaluates the currentValue (`release-1.11.0`) against the loose
parser BEFORE extractVersion is applied. loose can't parse a prefixed
value, so Renovate falls back to digest-based comparison; we don't pin
digests, so it silently skips and no PRs are ever opened. (Upstream has
v1.11.1, v1.11.2, and a major bump to release-2.3.2 since we deployed.)

Fix: use `versioning: regex:^release-(?<major>\d+)\.(?<minor>\d+)\.(?<patch>\d+)$`
which parses the whole tag including the `release-` prefix. The named
major/minor/patch groups let Renovate categorize bumps correctly so
the existing minor/patch automerge and major dashboard-approval rules
apply normally.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-05 07:27:15 +02:00
admin c308c0a85e renovate: default-allow + codify ArgoCD auto-sync in git
Two coordinated changes — open PR only, do NOT merge until dry-run passes.

1) admin-system/renovate.yaml: flip packageRules from Tier 1 allowlist to
   default-allow with safety gates. Adds prHourlyLimit=8 + prConcurrentLimit=8
   to throttle the first wave. New rules (7 total, order-sensitive):
   - "*"                    : 3-day stability gate (minimumReleaseAge)
   - minor/patch            : automerge via platformAutomerge
   - major                  : dependencyDashboardApproval (manual gate)
   - k3s-bundled (3 images) : disabled (ride k3s upgrades)
   - critical-core (6 imgs) : automerge=false (Viktor merges manually)
     - gitea/gitea, ghcr.io/goauthentik/{server,ldap,proxy},
       ghcr.io/cloudnative-pg/cloudnative-pg, quay.io/argoproj/argocd
     - ArgoCD + authentik /ldap and /proxy are no-ops (not pinned in repo)
   - termix                 : versioning=loose, extractVersion for "release-X.Y.Z"
   - wanderer-db + -web     : groupName=wanderer (one PR, prevents file race)
   enabledManagers unchanged ([kubernetes, helm-values]) — keeps Helmfile-
   managed infra invisible.

2) argocd-apps/homelab.yaml: codify per-app auto-sync intent in git
   (currently lives only on live CRs via UI — DR risk).
   - 35 existing bare-AUTO apps: add `automated: {enabled: true}` (matches live).
   - jarr, version-checker: add `automated: {enabled: true, prune: true,
     selfHeal: true}` (flipping MANUAL -> AUTO so Renovate merges deploy).
   - Untouched: admin-tools, authentik, cnpg-operator, root-apps (already
     have strict automated in git); monitoring, infrastructure, felhom,
     gitea, pihole, database-system (explicitly kept MANUAL per Viktor).
   NOTE: root-apps does NOT enforce syncPolicy.automated drift between git
   and live, so jarr + version-checker will also need a one-off kubectl
   patch after merge to actually become AUTO live. Done in go-live step.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-05 07:07:39 +02:00
admin 0f592bc626 fixed dev.jarrs.eu ingress 2026-06-02 20:03:02 +02:00
admin b6180e8d79 added US to gitea 2026-06-01 08:41:32 +02:00