Investigate a floating/VIP address for swarm-published SSH ports (git-backup workaround today) #54
Labels
No labels
blocked
borg-backup
ceph
forgejo
in-progress
infra
netdata
nextcloud
p:high
p:low
p:medium
searxng
service-onboard
swarm-nodes
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
copper/ccnet-prod-devops#54
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Context
Setting up
os-git-backupon blaze (OPNsense) to push config.xml history to the newccnet-blaze-config-backupForgejo repo, hit the documented gap fromccnet-forgejo-swarm/'s README /CLAUDE.md: Forgejo's SSH/git port (2223) isn't reachable viacode.coppercore.net, because that hostname resolves to10.10.20.1(blaze's own Caddy plugin) and Caddy only reverse-proxies HTTP(S) — it doesn't pass through raw TCP/SSH.Worked around it today by pointing the git-backup remote directly at a swarm manager IP instead of the hostname:
This works (routing mesh means any of the 5 node IPs would answer on 2223), but it's brittle — it hardcodes one specific node's IP into blaze's config. If
10.10.10.211is ever decommissioned, re-IP'd, or removed from the swarm, this backup silently breaks with no DNS indirection to fall back on.Ask
Look into whether a floating/VIP address in front of the swarm nodes (keepalived, a dedicated internal DNS record with multiple A records / round-robin across manager IPs, or similar) would be worth setting up for cases like this — anywhere something needs to reach a swarm-published port directly (bypassing Caddy) without depending on one specific node staying alive/named the same forever. Same underlying gap as the existing "SSH clone access from outside the LAN" item in
ccnet-forgejo-swarm/README.md, just hit from a different angle (a LAN-local, non-HTTP consumer this time).Low priority / quality-of-life — the manager-IP workaround is fine for now.