| Age | Commit message (Collapse) | Author |
|
Kept the version with the additional "Unhealthy Applications" panel
which provides better visibility into problematic applications.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
|
Radicale does not expose Prometheus metrics. The previous config tried
to scrape /.web/ which returns HTML, causing parse errors. Synced with
additional-scrape-configs.yaml which properly drops radicale from scraping.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
|
|
|
Adds a dedicated table panel showing only applications with
health_status != "Healthy" for quick identification of issues.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
|
Never commit secrets (SSH keys, tokens, passwords) to git.
Deploy them as Kubernetes Secrets and rotate if exposed.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
|
The ArgoCD SSH private key should not be stored in git.
Deploy it as a Kubernetes secret instead:
kubectl create secret generic git-server-repo-creds ...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
|
- Add IPv6 (proto 6) ping monitoring for all WireGuard mesh hosts
- Fix syntax error in protocol list (4 6 -> 4, 6)
- Update AGENTS.md path format to file:// URL
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
canary
|
|
|
|
|
|
|
|
|
|
|
|
- Add node resources multi-select dashboard for Prometheus
- Update gogios cron schedule and add HTML status file output
- Update Prometheus scrape configs
- Add gogios documentation
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
|
prometheus.io/scrape=false annotation and rename port to http
|
|
|
|
|
|
|
|
- Add pf.conf template with WireGuard NAT rules for roaming clients (earth, pixel7pro)
- Add Rex task to deploy pf.conf to both OpenBSD frontends (blowfish, fishfinger)
- Document WireGuard roaming client implementation plan and limitations
- NAT rules enable roaming clients to route all traffic through VPN gateways
- Firewall rules allow incoming WireGuard connections on UDP port 56709
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
|
|
|
Add comprehensive documentation about the self-hosted git-server setup:
- Explain that conf.git must be pushed to r0 before ArgoCD can use it
- Provide gitsyncer and manual push examples
- Document HTTP access method used by ArgoCD
- Include verification commands
- Emphasize that changes must be pushed to git-server (r0), not just
external git hosts
This ensures operators understand the critical step of syncing the
conf repository to the self-hosted git-server.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
|
Changes:
- Mount PVC with subPath: repos in deployment
- Update cgit scan-path from /repos/repos to /repos
- Update git-http-backend GIT_PROJECT_ROOT to /repos
- Update all documentation to reflect simplified paths
This eliminates the redundant /repos/repos duplication and simplifies
all git URLs to ssh://git@r0:30022/repos/<repo>.git format.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
|
Replace git@git-server:/repos/repos with ssh://git@r0:30022/repos/repos
in the documentation to match the actual configuration and make the
NodePort usage explicit. SSH alias approach now documented as optional.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
|
Includes:
- Component overview (SSH, HTTP, cgit)
- Access methods (SSH, HTTP, web UI)
- Gitsyncer integration guide
- ArgoCD integration
- Security configuration
- Troubleshooting guide
- Maintenance procedures
|
|
ArgoCD was experiencing 'early EOF' errors during git fetch operations.
Added fastcgi timeout settings to prevent connection closures:
- fastcgi_read_timeout: 300s (5 minutes)
- fastcgi_send_timeout: 300s (5 minutes)
- fastcgi_buffering: off (stream responses immediately)
This fixes: curl 18 transfer closed with outstanding read data remaining
|
|
Changes all application manifests to use HTTP git backend instead of SSH:
- From: ssh://git@git-server.cicd.svc.cluster.local/repos/repos/conf.git
- To: http://git-server.cicd.svc.cluster.local/conf.git
Benefits:
- No SSH agent or key management required
- No issues with changing SSH host keys on pod restarts
- Simpler ArgoCD configuration
- HTTP git-http-backend now fully functional
Updated applications:
- monitoring: prometheus, grafana-ingress, pushgateway (3)
- services: anki-sync-server, audiobookshelf, filebrowser, immich, keybr,
kobo-sync-server, miniflux, opodsync, radicale, syncthing, tracing-demo,
wallabag, webdav (13)
- infra: registry (1)
- test: example-apache-volume-claim (1)
Total: 18 applications migrated to HTTP
|
|
Note: These keys change on pod restarts. HTTP git backend is now
available and recommended for ArgoCD to avoid SSH key changes.
|
|
Non-root container cannot write to /.gitconfig, setting HOME=/tmp
allows git to write config files
|
|
Fixes 'dubious ownership' error when git-http-backend runs as UID 33
accessing repository owned by UID 1001:33
|
|
git-http-backend is in the git-daemon package in Alpine, not the base git package
|
|
- New initContainer installs git and copies git-http-backend to shared /tmp volume
- Updated nginx config to use /tmp/git-http-backend
- Removed apk add from cgit container (was failing due to non-root user)
|
|
|
|
- Make /repos mount read-write on cgit container
- Set http.receivepack=true and http.uploadpack=true in git config
- Allows git clone/fetch/push via HTTP
- Fixes 403 Forbidden error from git-http-backend
|
|
- Copy /etc/nginx/fastcgi_params to /tmp/fastcgi_params
- Update include path to /tmp/fastcgi_params
- Fixes 'No such file or directory' error
|
|
- Use sed to insert git-http-backend location into default.conf
- Location must be inside server block, not separate file
- Fixes nginx config syntax error
|
|
|
|
- Install git package in cgit container
- Add nginx config for git-http-backend via fcgiwrap
- Supports git clone/fetch/pull over HTTP at /conf.git/ path
- cgit remains for web UI at /conf/ path
- Eliminates need for SSH and SSH agent sidecar
|
|
- Removed SSH agent sidecar container
- Removed custom SSH_AUTH_SOCK and SSH key volumes
- ArgoCD will use native SSH support with:
- Repository credential secret (git-server-repo-creds)
- Known hosts ConfigMap (argocd-ssh-known-hosts-cm)
- Much simpler and follows ArgoCD best practices
|
|
- git-server-repo-creds.yaml: Repository credential secret for SSH auth
- git-server-known-hosts.yaml: SSH known_hosts for git-server
- Ensures configs survive cluster restarts
|
|
- Fixes permission denied error when repo-server accesses socket
- Ensures changes survive cluster restart
|
|
- Check if UID 999 exists before creating user
- Look up username for UID 999 dynamically
- Fixes 'unknown user argocd' error
|
|
- Install openssh as root (has apk permissions)
- Create argocd user (999) if needed
- Use su to run ssh-agent as argocd user
- Fixes 'permission denied' and 'ssh-agent not found' errors
|
|
- Fixes permission denied error when repo-server tries to access socket
- Both containers now run as same user for shared socket access
|