aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 74b96be654e70af4c57abbcef145e28c552b6de1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<!--
SPDX-FileCopyrightText: 2020 Serokell <https://serokell.io/>

SPDX-License-Identifier: MPL-2.0
-->

# 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:notgne2/deploy-rs your-flake#node.profile`
- `nix run github:notgne2/deploy-rs your-flake#node`
- `nix run github:notgne2/deploy-rs your-flake`

## API

Example Nix expressions/configurations are in the [examples folder](./examples).

## 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](https://github.com/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](https://serokell.io/).
The names and logo for Serokell are trademark of Serokell OÜ.

We love open source software! See [our other projects](https://serokell.io/community?utm_source=github) or [hire us](https://serokell.io/hire-us?utm_source=github) to design, develop and grow your idea!