Commit Graph
361 Commits
Author SHA1 Message Date
k.rennerandClaude edfaaad2b3 feat: Update PBS client for Synology NAS backup
- Add encryption password and API key support
- Fix volume mount paths with spaces
- Add CRON_BACKUP_ONLY mode
- Configure nas-1 backup paths and PBS server

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-01 19:10:52 +01:00
k.rennerandClaude dc7cf27966 feat: Add SNMP exporter for Synology NAS monitoring
- Add snmp-exporter role with Synology module support
- Add Synology scrape job to Prometheus config
- Add Synology NAS Grafana dashboard
- Support SNMPv2/v3 authentication

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-01 19:10:37 +01:00
k.rennerandClaude eb0199a255 feat: Improve Alloy syslog receiver for Synology NAS
- Add raw syslog format support for BSD/RFC 3164 style logs
- Parse hostname and app from Synology log messages
- Configure loki.srv.renner.uno as syslog receiver (UDP 1514)
- Add stability_level experimental for raw format support

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-01 19:10:28 +01:00
k.rennerandClaude 32fe55c8d8 fix: Remove become_user from mkdocs-wiki role (no sudo on LXC)
Security Audit / Docker Image Scan (docker.io/apache/tika:latest) (push) Failing after 5s
Security Audit / Infrastructure Scan (IaC) (push) Failing after 7s
Security Audit / Docker Image Scan (docker.io/gotenberg/gotenberg:8) (push) Failing after 5s
Security Audit / Docker Image Scan (docker.io/library/postgres:15) (push) Failing after 4s
Security Audit / Docker Image Scan (ghcr.io/icereed/paperless-gpt:latest) (push) Failing after 6s
Security Audit / Docker Image Scan (docker.io/library/redis:7) (push) Failing after 7s
Security Audit / Docker Image Scan (ghcr.io/paperless-ngx/paperless-ngx:latest) (push) Failing after 4s
Security Audit / Docker Image Scan (shenxn/protonmail-bridge:latest) (push) Failing after 5s
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-01 18:37:03 +01:00
k.rennerandClaude 3644fd050c feat: Add MkDocs wiki for household documentation access
Security Audit / Infrastructure Scan (IaC) (push) Failing after 6s
Security Audit / Docker Image Scan (docker.io/apache/tika:latest) (push) Failing after 5s
Security Audit / Docker Image Scan (docker.io/gotenberg/gotenberg:8) (push) Failing after 4s
Security Audit / Docker Image Scan (docker.io/library/postgres:15) (push) Failing after 5s
Security Audit / Docker Image Scan (docker.io/library/redis:7) (push) Failing after 4s
Security Audit / Docker Image Scan (ghcr.io/icereed/paperless-gpt:latest) (push) Failing after 5s
Security Audit / Docker Image Scan (ghcr.io/paperless-ngx/paperless-ngx:latest) (push) Failing after 4s
Security Audit / Docker Image Scan (shenxn/protonmail-bridge:latest) (push) Failing after 4s
Deploy Infrastructure / plan (push) Successful in 55s
Deploy Infrastructure / apply (push) Successful in 47s
Deploy Infrastructure / integration-tests (push) Successful in 14s
- Add MkDocs wiki LXC (235) on saturn
- Create mkdocs-wiki Ansible role with:
  - MkDocs Material theme
  - Obsidian wikilinks support (roamlinks plugin)
  - Multi-language support (i18n plugin)
  - Caddy for local serving
  - Sync script for updates
- Add wiki.renner.uno route to Caddy HA

Source: Obsidian vault at ~/Notes/Work & Dev/Homelab
Renders documentation for household members at wiki.renner.uno

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-01 18:13:12 +01:00
k.rennerandClaude f12db57f07 docs: Add docs-maintainer agent integration
Update CLAUDE.md to use the docs-maintainer Task agent for
documentation updates in ~/Notes Obsidian vault.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-01 17:34:17 +01:00
k.rennerandClaude 6cd44ac5c5 chore: Clean up and reorganize Ansible playbooks
Security Audit / Infrastructure Scan (IaC) (push) Failing after 1m22s
Deploy Infrastructure / plan (push) Successful in 1m26s
Security Audit / Docker Image Scan (docker.io/apache/tika:latest) (push) Failing after 5s
Security Audit / Docker Image Scan (docker.io/library/postgres:15) (push) Failing after 6s
Deploy Infrastructure / apply (push) Successful in 1m7s
Security Audit / Docker Image Scan (docker.io/library/redis:7) (push) Failing after 5s
Security Audit / Docker Image Scan (docker.io/gotenberg/gotenberg:8) (push) Failing after 1m23s
Security Audit / Docker Image Scan (ghcr.io/icereed/paperless-gpt:latest) (push) Failing after 4s
Deploy Infrastructure / integration-tests (push) Successful in 12s
Security Audit / Docker Image Scan (ghcr.io/paperless-ngx/paperless-ngx:latest) (push) Failing after 6s
Security Audit / Docker Image Scan (shenxn/protonmail-bridge:latest) (push) Failing after 6s
Naming Convention Standardization:
- Rename all setup-* playbooks to install-* or configure-*
- Rename all *-update.yml to update-*.yml for prefix consistency
- Fix underscore usage (ensure_template -> check-template)
- Standardize on prefixes: install-, update-, configure-, check-

Consolidations:
- Remove duplicate NetBird playbooks (3 removed)
- Replace update.yml with more complete update_all_software.yml
- Update internal import references in update.yml

Deletions:
- Remove unused certbot-cloudflare role (Caddy handles HTTPS)
- Remove empty vars/empty.yml placeholder

Archive:
- Move 7 completed migration/cleanup playbooks to archived/

Result: 54 -> 43 active playbooks with consistent naming

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-01 17:25:35 +01:00
k.rennerandClaude f0f9e710a8 feat: Add syslog receiver to monitoring-agent for Synology NAS logging
- Add loki.source.syslog receiver to Alloy config template
- Enable syslog receiver on loki.srv.renner.uno (UDP port 1514)
- Extracts hostname and app labels from syslog messages
- Configure Synology DSM to forward logs to loki.srv.renner.uno:1514

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-01 06:48:37 +01:00
k.rennerandClaude 0eaaca5131 feat: Add third Caddy ingress and NetBird client role
- Add caddy3.dmz.renner.uno (LXC 234) on jupiter node
- Update caddy-ha role to support 3-node priorities (100/90/80)
- Add netbird-client role for automated NetBird deployment
- Add setup-netbird-client.yml playbook with host_vars/group_vars support
- Add proxmox_caddy_ha group_vars for shared NetBird setup key

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-28 09:16:03 +01:00
k.rennerandClaude b6761e2c10 feat: Add PBS client role for Synology NAS backup
Security Audit / Infrastructure Scan (IaC) (push) Successful in 35s
Security Audit / Docker Image Scan (docker.io/apache/tika:latest) (push) Failing after 2m34s
Security Audit / Docker Image Scan (docker.io/library/postgres:15) (push) Failing after 1m47s
Security Audit / Docker Image Scan (docker.io/gotenberg/gotenberg:8) (push) Successful in 3m58s
Security Audit / Docker Image Scan (ghcr.io/icereed/paperless-gpt:latest) (push) Failing after 23s
Security Audit / Docker Image Scan (docker.io/library/redis:7) (push) Failing after 37s
Security Audit / Docker Image Scan (shenxn/protonmail-bridge:latest) (push) Successful in 37s
Security Audit / Docker Image Scan (ghcr.io/paperless-ngx/paperless-ngx:latest) (push) Failing after 2m15s
Add Ansible role to deploy Proxmox Backup Server client on Synology NAS
using Docker. The role uses the aterfax/pbs-client image with built-in
cron scheduling for automated backups.

Configured for nas-1.renner.uno backing up to pbs2.renner.uno:
- Documents, homes, Homeassistant Backup, Games, Media, Music, video volumes
- Daily backups at 2 AM with retention policy

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-26 19:56:23 +01:00
k.rennerandClaude b969a77589 chore: Remove old single-node authentik infrastructure
Security Audit / Infrastructure Scan (IaC) (push) Successful in 35s
Deploy Infrastructure / plan (push) Successful in 1m9s
Security Audit / Docker Image Scan (docker.io/apache/tika:latest) (push) Failing after 1m55s
Deploy Infrastructure / apply (push) Successful in 1m55s
Security Audit / Docker Image Scan (docker.io/gotenberg/gotenberg:8) (push) Successful in 3m29s
Security Audit / Docker Image Scan (docker.io/library/postgres:15) (push) Failing after 28s
Security Audit / Docker Image Scan (docker.io/library/redis:7) (push) Failing after 22s
Security Audit / Docker Image Scan (ghcr.io/icereed/paperless-gpt:latest) (push) Failing after 16s
Deploy Infrastructure / integration-tests (push) Successful in 2m0s
Security Audit / Docker Image Scan (shenxn/protonmail-bridge:latest) (push) Successful in 28s
Security Audit / Docker Image Scan (ghcr.io/paperless-ngx/paperless-ngx:latest) (push) Failing after 2m17s
- Delete authentik.renner.uno DNS CNAME (was pointing to old VM)
- VM 116 (authentik.srv.renner.uno) destroyed via tofu

Authentik HA is now the primary with auth.renner.uno endpoint
served via Caddy reverse proxy to authentik-app-1/2.srv.renner.uno.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-25 22:23:16 +01:00
k.rennerandClaude bf84109eb5 fix: Update docs.renner.uno to use Authentik HA endpoints
Security Audit / Docker Image Scan (ghcr.io/icereed/paperless-gpt:latest) (push) Waiting to run
Security Audit / Docker Image Scan (ghcr.io/paperless-ngx/paperless-ngx:latest) (push) Waiting to run
Security Audit / Docker Image Scan (shenxn/protonmail-bridge:latest) (push) Waiting to run
Security Audit / Infrastructure Scan (IaC) (push) Successful in 34s
Deploy Infrastructure / plan (push) Successful in 1m39s
Security Audit / Docker Image Scan (docker.io/apache/tika:latest) (push) Failing after 2m14s
Deploy Infrastructure / apply (push) Failing after 1m49s
Deploy Infrastructure / integration-tests (push) Has been skipped
Security Audit / Docker Image Scan (docker.io/library/postgres:15) (push) Failing after 45s
Security Audit / Docker Image Scan (docker.io/gotenberg/gotenberg:8) (push) Has been cancelled
Security Audit / Docker Image Scan (docker.io/library/redis:7) (push) Has been cancelled
Update forward_auth configuration in Caddyfile to use the new HA Authentik
servers (authentik-app-1/2) instead of the deprecated authentik.renner.uno.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-25 22:17:44 +01:00
k.rennerandClaude 35af8786ab fix: Complete Authentik HA migration and update ingress routing
- Update authentik-update.yml to target HA hosts (authentik_app group)
- Add serial: 1 for rolling updates across HA nodes
- Update Caddyfile to route auth.renner.uno to HA setup with load balancing
- Replace single-instance reverse_proxy with dual-backend configuration
- Add health checks for automatic failover

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-25 21:38:07 +01:00
k.rennerandClaude d57cc56316 update: Update RustFS cluster configuration template
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-25 00:19:50 +01:00
k.rennerandClaude 0c9957c566 update: Update OpenTofu infrastructure definitions
- Update Authentik HA LXC configuration
- Update Proxmox VM module
- Update Home Assistant and Paperless VM configs

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-25 00:19:50 +01:00
k.rennerandClaude 057be7831d update: Update Ansible inventory and host variables
- Update pve_hosts inventory
- Add proxmox_docker group vars
- Add host-specific variables

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-25 00:19:50 +01:00
k.rennerandClaude 2d1e110ce8 update: Update Prometheus and blackbox exporter configuration
- Update Prometheus server node and main config templates
- Update blackbox exporter configuration

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-25 00:19:50 +01:00
k.rennerandClaude 70d2ab97ad update: Improve Caddy HA configuration
- Update Caddy HA tasks and Caddyfile template
- Update setup playbook and credentials

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-25 00:19:40 +01:00
k.rennerandClaude 2aee1571a9 feat: Enhance Paperless migration with metrics and tooling
- Add Paperless metrics exporter service
- Add failed imports handler script
- Add disk migration playbook
- Update migration defaults and tasks

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-25 00:19:40 +01:00
k.rennerandClaude 6dcf7120a4 update: Enhance monitoring agent (Alloy) configuration
- Update defaults, handlers, and tasks for monitoring agent
- Improve Alloy configuration template

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-25 00:19:40 +01:00
k.rennerandClaude 112d9286f2 update: Improve existing Grafana dashboards and provisioning
- Update heatpump-roi, home-energy, netbird-overview, unifi-overview dashboards
- Update dashboard provisioning configuration

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-25 00:19:31 +01:00
k.rennerandClaude 94a8ddce27 feat: Add new Grafana dashboards
- Add Alloy overview dashboard for monitoring agent
- Add DNS overview dashboard
- Add Docker overview dashboard
- Add Paperless overview dashboard
- Add PV system ROI dashboard

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-25 00:19:31 +01:00
k.rennerandClaude 7ed52e7f5d feat: Add Music Assistant application deployment
- Add music-assistant Ansible role with Docker Compose setup
- Add installation playbook for Music Assistant
- Add OpenTofu LXC definition for music-assistant

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-25 00:19:31 +01:00
k.rennerandClaude 73c1079936 feat: Add Grist spreadsheet application
- Add OpenTofu LXC definition for Grist (ID 228)
- Add Ansible role for Grist deployment with Docker
- Add installation playbook

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-25 00:18:16 +01:00
k.rennerandClaude 66cadedde6 docs: Add NetBird HA proxy deployment plan
Plan for deploying multiple reverse proxy instances across VPS and
Caddy HA nodes for geographic redundancy and automatic failover.

Based on: https://docs.netbird.io/selfhosted/maintenance/scaling/multiple-proxy-instances

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-25 00:18:04 +01:00
k.rennerandClaude 56cb235ef0 docs: Add critical rule about following official documentation
Lesson learned from NetBird proxy debugging: always strictly adhere
to official documentation instead of improvising custom solutions.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-25 00:17:59 +01:00
k.rennerandClaude b9eea14fe9 fix: Configure NetBird reverse proxy per official documentation
- Update docker-compose to use HostSNI(*) with priority=1 per docs
- Remove unnecessary user, cap_add, and sysctls from proxy container
- Configure proxy to connect via internal Docker network (http://management:443)
- Add NB_PROXY_ALLOW_INSECURE=true for internal HTTP connection
- Add recreate handler for full container recreation

Reference: https://docs.netbird.io/selfhosted/migration/enable-reverse-proxy

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-25 00:17:54 +01:00
k.rennerandClaude c379bded8e feat: Add NetBird Overview dashboard to Grafana
- Create netbird-overview.json dashboard with log-based panels
- Shows cluster status, error/warning counts, log volume
- Service-specific log panels for Management, Signal, Relay, Traefik
- Add deployment task to grafana-observability role

Dashboard provides visibility into NetBird mesh network operations
via Loki log aggregation from the Hetzner datacenter.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-21 10:55:52 +01:00
k.rennerandClaude 953b6acc9e feat: Add monitoring infrastructure for NetBird server via mesh
- Add netbird_client tag to Loki and Prometheus LXC containers
- Create setup-netbird-monitoring.yml playbook for ARM64 NetBird server
- Update install-netbird-client.yml to also target netbird_server group
- Fix monitoring-agent role to use architecture-specific binary pattern

Enables log aggregation and metrics collection from the external
NetBird server by routing traffic through the NetBird mesh network.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-21 10:48:32 +01:00
k.rennerandClaude f53794251e feat: Add NetBird relay server configuration
- Add relay service to docker-compose with Traefik routing
- Add Relay configuration to management.json
- Relay exposed at rels://netbird.renner.uno:443

This enables relay connectivity for peers behind strict NAT/CGNAT,
improving connectivity for mobile devices and restrictive networks.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-21 10:29:33 +01:00
k.rennerandClaude e5ad86f0c2 feat: Add NetBird client deployment and mesh connectivity for Caddy
- Add install-netbird-client.yml playbook for deploying NetBird clients
- Add netbird_client tag to Caddy containers for dynamic inventory
- Add caddy_ha group to static inventory
- Update proxy configuration with debug logging
- Update vault with new setup key for gateway clients

Caddy nodes now connected to NetBird mesh (caddy.nb.renner.uno,
caddy2.nb.renner.uno) enabling direct mesh access to ingress services.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-21 10:23:20 +01:00
k.rennerandClaude 33157b45e0 feat: Add NetBird reverse proxy infrastructure
Security Audit / Infrastructure Scan (IaC) (push) Successful in 21s
Security Audit / Docker Image Scan (docker.io/apache/tika:latest) (push) Failing after 4m43s
Security Audit / Docker Image Scan (docker.io/gotenberg/gotenberg:8) (push) Failing after 4m42s
Security Audit / Docker Image Scan (docker.io/library/postgres:15) (push) Failing after 38s
Security Audit / Docker Image Scan (docker.io/library/redis:7) (push) Failing after 28s
Security Audit / Docker Image Scan (ghcr.io/icereed/paperless-gpt:latest) (push) Failing after 26s
Security Audit / Docker Image Scan (shenxn/protonmail-bridge:latest) (push) Successful in 17s
Security Audit / Docker Image Scan (ghcr.io/paperless-ngx/paperless-ngx:latest) (push) Failing after 3m5s
- Add netbirdio/reverse-proxy container with required capabilities
- Configure Traefik TLS passthrough for proxy domains (*.proxy.netbird.renner.uno)
- Add HTTP-01 ACME challenge support for proxy certificate issuance
- Fix /etc/hosts loopback entry that was blocking mesh connectivity
- Add per-router HTTP redirects (instead of global) to allow proxy HTTP
- Store proxy token in Ansible vault

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-20 21:12:45 +01:00
k.rennerandClaude 1b297edf41 feat: Add NetBird server and gateway infrastructure
Security Audit / Infrastructure Scan (IaC) (push) Successful in 23s
Deploy Infrastructure / plan (push) Failing after 1m25s
Deploy Infrastructure / apply (push) Has been skipped
Deploy Infrastructure / integration-tests (push) Has been skipped
Security Audit / Docker Image Scan (docker.io/apache/tika:latest) (push) Failing after 4m9s
Security Audit / Docker Image Scan (docker.io/library/postgres:15) (push) Failing after 50s
Security Audit / Docker Image Scan (docker.io/library/redis:7) (push) Failing after 25s
Security Audit / Docker Image Scan (docker.io/gotenberg/gotenberg:8) (push) Failing after 4m28s
Security Audit / Docker Image Scan (ghcr.io/icereed/paperless-gpt:latest) (push) Failing after 19s
Security Audit / Docker Image Scan (shenxn/protonmail-bridge:latest) (push) Successful in 25s
Security Audit / Docker Image Scan (ghcr.io/paperless-ngx/paperless-ngx:latest) (push) Failing after 2m57s
- Add netbird-server role with Docker Compose deployment
- Add netbird-gateway role for mesh network routing
- Add OpenTofu LXC definition for netbird gateway (ID 260)
- Add inventory group for netbird_server
- Include playbooks for installation and setup

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-20 18:53:09 +01:00
k.rennerandClaude 9a92197b48 fix: CrowdSec role prerequisites and Caddy SSH keys
Deploy Infrastructure / apply (push) Blocked by required conditions
Deploy Infrastructure / integration-tests (push) Blocked by required conditions
Security Audit / Docker Image Scan (docker.io/library/postgres:15) (push) Waiting to run
Security Audit / Docker Image Scan (docker.io/library/redis:7) (push) Waiting to run
Security Audit / Docker Image Scan (ghcr.io/icereed/paperless-gpt:latest) (push) Waiting to run
Security Audit / Docker Image Scan (ghcr.io/paperless-ngx/paperless-ngx:latest) (push) Waiting to run
Security Audit / Docker Image Scan (shenxn/protonmail-bridge:latest) (push) Waiting to run
Security Audit / Infrastructure Scan (IaC) (push) Successful in 39s
Deploy Infrastructure / plan (push) Successful in 1m27s
Security Audit / Docker Image Scan (docker.io/apache/tika:latest) (push) Has been cancelled
Security Audit / Docker Image Scan (docker.io/gotenberg/gotenberg:8) (push) Has been cancelled
- Add gnupg, curl, ca-certificates as prerequisites for CrowdSec
- Fix log directory ownership to root:root (caddy user doesn't exist yet)
- Enable SSH keys for both Caddy HA containers

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-20 18:50:55 +01:00
k.renner f06acaa8a4 chore: Trigger Caddy build
Build Caddy Custom / build (push) Successful in 2m44s
2026-02-20 18:38:21 +01:00
k.renner a5609daea6 chore: Trigger Caddy build after ingress restore 2026-02-20 18:36:38 +01:00
k.rennerandClaude 0efaa2c4b1 feat: Add CrowdSec integration to Caddy HA
Security Audit / Infrastructure Scan (IaC) (push) Successful in 45s
Build Caddy Custom / build (push) Failing after 11m4s
Security Audit / Docker Image Scan (docker.io/apache/tika:latest) (push) Failing after 10m19s
Security Audit / Docker Image Scan (docker.io/library/postgres:15) (push) Failing after 1m37s
Security Audit / Docker Image Scan (docker.io/library/redis:7) (push) Failing after 1m4s
Security Audit / Docker Image Scan (ghcr.io/icereed/paperless-gpt:latest) (push) Failing after 59s
Security Audit / Docker Image Scan (docker.io/gotenberg/gotenberg:8) (push) Failing after 4m36s
Security Audit / Docker Image Scan (shenxn/protonmail-bridge:latest) (push) Successful in 24s
Security Audit / Docker Image Scan (ghcr.io/paperless-ngx/paperless-ngx:latest) (push) Failing after 3m51s
- Update Caddy build workflow with CrowdSec bouncer modules
- Create crowdsec Ansible role for installation and configuration
- Update caddy-ha role with CrowdSec configuration in Caddyfile
- Add setup-crowdsec-caddy.yml playbook for deployment
- Upgrade Caddy to v2.10.2 and Go to 1.24

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-20 18:07:05 +01:00
k.renner c1ccfbb92b chore: Retry CI after state sync
Deploy Infrastructure / plan (push) Successful in 1m39s
Deploy Infrastructure / apply (push) Successful in 1m22s
Deploy Infrastructure / integration-tests (push) Successful in 42s
2026-02-18 21:50:33 +01:00
k.rennerandClaude f76d396763 fix: Remove stale moved block causing resource type mismatch
Deploy Infrastructure / integration-tests (push) Blocked by required conditions
Security Audit / Infrastructure Scan (IaC) (push) Successful in 43s
Deploy Infrastructure / plan (push) Successful in 1m21s
Security Audit / Docker Image Scan (docker.io/apache/tika:latest) (push) Failing after 4m6s
Security Audit / Docker Image Scan (docker.io/gotenberg/gotenberg:8) (push) Failing after 4m31s
Deploy Infrastructure / apply (push) Has been cancelled
Security Audit / Docker Image Scan (docker.io/library/redis:7) (push) Failing after 31s
Security Audit / Docker Image Scan (docker.io/library/postgres:15) (push) Failing after 56s
Security Audit / Docker Image Scan (ghcr.io/icereed/paperless-gpt:latest) (push) Failing after 27s
Security Audit / Docker Image Scan (shenxn/protonmail-bridge:latest) (push) Successful in 20s
Security Audit / Docker Image Scan (ghcr.io/paperless-ngx/paperless-ngx:latest) (push) Failing after 4m9s
The moved block for template migration was already applied and is now
causing errors when comparing state types during plan.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-18 21:44:37 +01:00
k.renner 10f5aef91c chore: Trigger clean pipeline run
Deploy Infrastructure / plan (push) Failing after 1m4s
Deploy Infrastructure / apply (push) Has been skipped
Deploy Infrastructure / integration-tests (push) Has been skipped
2026-02-18 21:38:10 +01:00
k.renner 943095438f fix: Remove --pull=missing option causing runner freeze
Deploy Infrastructure / plan (push) Waiting to run
Deploy Infrastructure / apply (push) Blocked by required conditions
Deploy Infrastructure / integration-tests (push) Blocked by required conditions
2026-02-18 21:36:09 +01:00
k.renner 483be1fd70 chore: Trigger pipeline after runner restart
Deploy Infrastructure / plan (push) Failing after 1s
Deploy Infrastructure / apply (push) Has been skipped
Deploy Infrastructure / integration-tests (push) Has been skipped
2026-02-18 21:31:27 +01:00
k.renner fac064508a chore: Trigger workflow with file change
Deploy Infrastructure / plan (push) Failing after 1s
Deploy Infrastructure / apply (push) Has been skipped
Deploy Infrastructure / integration-tests (push) Has been skipped
2026-02-18 21:22:21 +01:00
k.renner c68e555d4f chore: Test pipeline trigger 2026-02-18 21:21:23 +01:00
k.rennerandClaude d0dc829331 chore: Force pipeline trigger
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-18 21:17:07 +01:00
k.rennerandClaude 7170cfaff8 chore: Re-trigger CI with runners online
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-18 21:05:22 +01:00
k.rennerandClaude d402996e73 chore: Trigger CI after runner restart
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-18 21:00:07 +01:00
k.rennerandClaude 55535f4142 chore: Trigger CI re-run after network disruption
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-18 20:57:08 +01:00
k.rennerandClaude 7e6929a01c perf: Optimize CI pipeline with image caching and fixes
Deploy Infrastructure / plan (push) Failing after 6s
Deploy Infrastructure / apply (push) Has been skipped
Deploy Infrastructure / integration-tests (push) Has been skipped
- Pin container images to specific versions (opentofu:1.9, alpine:3.21)
- Add --pull=missing to avoid unnecessary image pulls
- Fix POSIX shell compatibility in Caddy test (no bash arrays)
- Check if mc is already installed before downloading

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-18 20:45:03 +01:00
k.rennerandClaude 501e1f1d6c fix: Update RustFS health check to work with limited S3 credentials
Deploy Infrastructure / plan (push) Successful in 1m11s
Deploy Infrastructure / apply (push) Successful in 55s
Deploy Infrastructure / integration-tests (push) Failing after 2m3s
- Check S3 endpoint connectivity first
- Verify tfstate bucket access (critical for OpenTofu)
- Test read/write capability
- Make cluster health check optional (requires admin credentials)
- TF_RFS credentials are S3-only, not admin

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-18 20:37:48 +01:00