src/infra_rebuild | ||
tests | ||
.gitignore | ||
CONTRIBUTING.md | ||
COPYING | ||
flake.lock | ||
flake.nix | ||
pyproject.toml | ||
README.md |
infra-rebuild
infra-rebuild mirrors nixos-rebuild closely in its command-line interface, but focuses on making infrastructure deployment more convenient. It is built for infrastructure defined in a flake, where each hosts configuration is represented by a different nixosConfiguration
in the flakes output.
For building the configuration of e.g. two hosts called web-01
and git
one can simply run:
infra-rebuild build web-01 git
For deploying the hosts - using the switch operation - it's as simple as:
infra-rebuild switch web-01 git
Here infra-rebuild will simply run nixos-rebuild switch
with the target-host
option set for each host.
Because infra-rebuild tries to be usable without any configuration, by default it queries the hosts FQDN from its nixosConfiguration
and uses that for the target host.
However to override aspects of the target host for specific or all hosts, infra-rebuild also accepts a deployment_configuration.json
as configuration.
License
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.