Skip to content

feat: support multiple Proxmox instances in single external config - #71

Open
crack-kitty wants to merge 3 commits into
mainfrom
feature/multi-instance-proxmox-external
Open

feat: support multiple Proxmox instances in single external config#71
crack-kitty wants to merge 3 commits into
mainfrom
feature/multi-instance-proxmox-external

Conversation

@crack-kitty

Copy link
Copy Markdown
Contributor

Use Traefik Go template conditionals to support up to 10 Proxmox servers from a single proxmox.yml. Additional instances activate automatically when their env vars are set in .env.external — no repo changes needed to add new servers.

Also silences noisy "Skipped" warnings in traefik-sync-dns for unconfigured conditional instances. Updates pre-commit hook to respect .yamlignore for files with Go template syntax.

more details:


Summary

  • Adds support for up to 10 Proxmox VE instances in a single external-available/proxmox.yml using Traefik Go template conditionals ({{if env "PROXMOXN_ADDRESS"}})
  • Additional instances activate automatically when their _HOST_NAME and _ADDRESS env vars are set in .env.external — no repo changes or new YAML files needed
  • Silences noisy "Skipped" warnings from make traefik-sync-dns for unconfigured conditional instances
  • Updates scaffold template with commented examples for proxmox through proxmox4
  • Updates pre-commit hook to respect .yamlignore (needed since Go template conditionals aren't valid YAML)
  • Adds "Multi-Instance Services" section to external services documentation

▎ Note: This is a much improved approach over PR #70 which was closed due to potential breaking changes. This PR is fully backwards compatible — the existing single-instance Proxmox
config is unchanged, and the conditional blocks only activate when env vars are explicitly set.

How to use

Add to .env.external:

PROXMOX2_HOST_NAME=proxmox2
PROXMOX2_ADDRESS=192.168.1.51

Then:

make disable-external proxmox && make enable-external proxmox
make restart-service traefik
make traefik-sync-dns

Test plan

  • All 325 unit tests pass
  • Verify single Proxmox instance still routes correctly (backwards compat)
  • Verify additional instances activate when env vars are set
  • Verify make traefik-sync-dns picks up new instances without warnings
  • Verify unconfigured instances (proxmox4-10) produce no errors in Traefik logs

Use Traefik Go template conditionals to support up to 10 Proxmox
servers from a single proxmox.yml. Additional instances activate
automatically when their env vars are set in .env.external — no
repo changes needed to add new servers.

Also silences noisy "Skipped" warnings in traefik-sync-dns for
unconfigured conditional instances. Updates pre-commit hook to
respect .yamlignore for files with Go template syntax.
@ilude
ilude force-pushed the feature/multi-instance-proxmox-external branch from b033fe7 to 345997c Compare May 18, 2026 12:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants