Deploying¶
For deployment, you don’t need to install some untrusted vendor’s toolchain. Instead, Skyflake leverages the standard method for transferring your flake repository: git push
You can have multiple deployment flakes that they push to via SSH.
To select which nixosConfigurations of a flake shall be built and
deployed on a git push we use git branches.
Assuming that you have a Skyflake account alice on Skyflake host
deploy.example.net, push the current git commit (HEAD) to remote
flake my-infra to (re-)deploy hosts www, ftp, and bittorrent:
git push alice@deploy.example.net:my-infra \
HEAD:www HEAD:ftp HEAD:bittorrent
The remote machine will now receive your git data, build the
nixosConfigurations by specified revision. You are not disconnected
from SSH yet; you’ll get the build output feedback, able to interrupt
before it finishes. Once the builds have finished successfully, the
machines are scheduled for reboot.
Your local git state should now include the updated remote branches.