Skip to content

Multi-Flake Deployments

Your infrastructure may span multiple flakes and repositories. A Panix fleet can reference any number of them:

fleet:
flakes:
infrastructure:
url: path:../infra-flake
installables:
nixosConfigurations:
servers:
machines:
server-01:
server-02:
monitoring:
url: github:myorg/monitoring-flake
installables:
nixosConfigurations:
prometheus:
machines:
prom-01:
secrets-management:
url: git+ssh://[email protected]/myorg/vault-nixos
installables:
nixosConfigurations:
vault:
machines:
vault-01:

Each flake builds independently, and each installable deduplicates builds across its machines. See the configuration model for how installables and machines relate.

Panix supports several URL schemes for flake references:

SchemeExampleDescription
path:path:../infra-flakeLocal filesystem path
github:github:myorg/repoGitHub repository
github:owner/repo#refgithub:myorg/repo#mainGitHub repo at specific ref
git+ssh://git+ssh://[email protected]/myorg/repoGit over SSH
ssh:ssh://myorg@host/repoA remote flake over SSH
. (default)Omit url fieldCurrent directory

When url is omitted, it defaults to "." (current directory).