A simple multi-profile Nix-flake deploy tool.
Go to file
2020-10-06 11:08:40 -07:00
.reuse Add license information, reformat Nix files, clean up 2020-09-29 15:10:06 -07:00
examples Add skip-push flag 2020-10-06 11:08:40 -07:00
interface Improve schema a bit, fix flake locks for examples 2020-10-05 20:11:31 -07:00
LICENSES Add license information, reformat Nix files, clean up 2020-09-29 15:10:06 -07:00
src Add skip-push flag 2020-10-06 11:08:40 -07:00
.gitignore Add license information, reformat Nix files, clean up 2020-09-29 15:10:06 -07:00
Cargo.lock stuff 2020-09-28 10:48:21 -07:00
Cargo.lock.license Add license information, reformat Nix files, clean up 2020-09-29 15:10:06 -07:00
Cargo.toml Add license information, reformat Nix files, clean up 2020-09-29 15:10:06 -07:00
flake.lock stuff 2020-09-28 10:48:21 -07:00
flake.lock.license Add license information, reformat Nix files, clean up 2020-09-29 15:10:06 -07:00
flake.nix Add interface with json schema, fix flake-less issues, put setActivate and jsonSchema check in flake lib 2020-10-05 19:46:28 -07:00
LICENSE Add license information, reformat Nix files, clean up 2020-09-29 15:10:06 -07:00
README.md Update GitHub URL in README 2020-10-05 19:55:01 -07:00

deploy-rs

A Simple multi-profile Nix-flake deploy tool.

This is very early development software, you should expect to find issues

Usage

  • nix run github:serokell/deploy-rs your-flake#node.profile
  • nix run github:serokell/deploy-rs your-flake#node
  • nix run github:serokell/deploy-rs your-flake

API

Example Nix expressions/configurations are in the examples folder.

Idea

deploy-rs is a simple Rust program that will take a Nix flake and use it to deploy any of your defined profiles to your nodes. This is strongly based off of serokell/deploy, with the intention of eventually replacing it.

This type of design (as opposed to more traditional tools like NixOps or morph) allows for lesser-privileged deployments, and the ability to update different things independently of eachother.

Things to work on

  • Ordered profiles
  • Automatic rollbacks if one profile on node failed to deploy (partially implemented)
  • UI (?)

About Serokell

deploy-rs is maintained and funded with ❤️ by Serokell. The names and logo for Serokell are trademark of Serokell OÜ.

We love open source software! See our other projects or hire us to design, develop and grow your idea!