| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
This adds a --file option, which causes deploy-rs to always use its
non-flake logic. Before this change, we would ask nix if it understood
flakes, and only if not fall back to the non-flake logic. This has
utility assuming one has a nix flake repository with flake-compat set
up, but prevents use with alternative source-managing tools such as niv
or npins if nix has the "flakes" experimental feature enabled.
|
|\
| |
| | |
doc: add option doc for interactiveSudo
|
|/ |
|
|\
| |
| | |
fix nix-build invocation in non-flake builds
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
this adds a nixos vm test doing a deploy on a nix which does not have
flakes enabled, to guard against this breaking as it has done before [1].
The existing test infrastructure is changed slightly to make enabling
flakes configurable inside the vm's config.
[1] https://github.com/serokell/deploy-rs/pull/272
|
| |
| |
| |
| |
| |
| | |
The drvpath^out syntax is only part of `nix build', not `nix-build',
which still produces the outPath as it did before, but errors out if
attempted to be called in the same way as `nix build'.
|
|\ \
| |/
|/| |
add meta.mainProgram to rust drv
|
| | |
|
|\ \
| |/
|/| |
better error messages: provide node names
|
|/
|
|
|
|
| |
printing what node caused an error is very useful for debugging
build or deployment failures, especially when deploying to several
nodes at the same time
|
|\
| |
| | |
allow --ssh-opts starts with hyphen
|
| | |
|
| | |
|
|\ \
| |/
|/| |
Link to new official wiki
|
|/ |
|
| |
|
|\
| |
| | |
[Chore] Fix overlay
|
|/
|
|
|
|
|
|
|
| |
Problem: In my recent PR(#264), I accidentally picked overlay output
changes from the philtaken/nixos-vm-tests branch, which broke existing
overlay imports after updating the deploy-rs input.
Solution: Add backwards compatibility so that users don't have to make
changes to their nix flakes.
|
|\
| |
| | |
[OPS-1384] Introduce NixOS VM tests
|
|/
|
|
|
|
|
|
|
| |
Problem: Currently, the only way to test deploy-rs deployments is to
actually do a deployment to an existing NixOS instance (either in VM,
or a real machine) manually. This is a bit inconvenient and one can
forget to test changes when developing/reviewing deploy-rs changes.
Solution: Add NixOS VM tests.
|
|\
| |
| | |
Add support for entering sudo password interactively
|
|/ |
|
|\
| |
| | |
Remove note about unstable nix version
|
|/
|
| |
The current stable nix version supports flakes.
|
|\
| |
| |
| |
| | |
serokell/rvem/add-missing-activation-timeout-documentation
[Chore] Add missing documentation for timeout options
|
|/
|
|
|
|
|
| |
Problem: README misses documentation for 'confirmTimeout' and
'activationTimeout'.
Solution: Mention them in README.
|
|\
| |
| | |
Automatically update flake.lock to the latest version
|
|/
|
|
|
|
| |
flake-compat 009399224d (2022-11-17) -> 0f9255e01c (2023-10-04)
nixpkgs bb31220cca (2022-12-19) -> e97b3e4186 (2023-12-11)
utils 5aed5285a9 (2022-11-02) -> 4022d587cb (2023-12-04)
|
|\
| |
| | |
[Chore] Update "actions/checkout"
|
|/
|
|
|
|
|
|
| |
Problem: node16 is now deprecated and github-runner provided by nixpkgs
no longer supports this runtime. However, "actions/checkout@v3" uses
this runtime.
Solution: Update CI pipeline to use "actions/checkout@v4".
|
|\
| |
| |
| |
| | |
serokell/rvem/#245-return-non-zero-exit-code-for-confirmation-timeout
[#245] Return non-zero exit code in case of confirmation timeout
|
|/
|
|
|
|
|
|
|
|
|
| |
Problem: When profile activation confirmation fails due to
confirmation timeout and performs a rollback, zero exit code is
returned. Such a behavior is confusing since rollback usually means
something went wrong during deployment and it shouldn't return
successful exit code.
Solution: Explicitly return confirmation waiting error instead of
printing it and silently signalizing success.
|
|\
| |
| |
| |
| | |
serokell/rvem/make-wait-activation-timeout-configurable
[Chore] Make activation wait timeout configurable
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Currently profile activation waiting timeout is hardcoded to
240 seconds, see https://github.com/serokell/deploy-rs/pull/48.
In some cases, this timeout can be exceeded (e.g.
activation performs a heavy DB migration and waits for it to finish
before considering the profile activation succesful).
Solution: Make this timeout configurable via 'activationTimeout' deploy
attribute or corresponding '--activation-timeout' CLI option. For the
sake of backward compatibility, the new 'wait' subcommand
'--activation-timeout' option is made optional and defaults to 240
seconds if it wasn't provided.
|
|\
| |
| | |
[Chore] fix error messages claiming to have rolled back when not actually doing so
|
|/
|
|
|
|
| |
doing so
closes: #241
|
|\
| |
| | |
[Chore] Run CI checks on 'pull_request'
|
|/
|
|
|
|
|
|
| |
Problem: We want to be able to run CI checks on PRs from external forks.
However, this is only possible with 'on: pull_request', while currently
CI is triggered 'on: push'
Solution: Change CI triggering condition to 'on: pull_request'.
|
|\
| |
| | |
Replace jsonschema-cli with check-jsonschema
|
|/
|
|
|
| |
jsonschema-cli is deprecated and will be removed in the future.
The recommended replacement is check-jsonschema.
|
|\
| |
| | |
[#201] Deduce profile directory during activation
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Since https://github.com/NixOS/nix/pull/5226 nix profiles for
users are stored in 'XDG_STATE_HOME' or 'HOME' directory. However,
'deploy-rs' still expects profiles to be present in
'/nix/var/nix/profiles/per-user'. As a result, an attempt to deploy a
profile with newer nix may fail with an error about non-existing files.
Solution: Instead of deducing the profile path prior to ssh'ing and
actual activation, deduce the path to the profile during as a part of
'activate-rs' invocation.
Now if the profile path is not specified explicitly as an attribute in
profile within the deploy flake, the path to the profile is determined
based on the user to which the profile belongs and on the values of
'XDG_STATE_HOME' and 'HOME' variables.
Additionally, if the old profile directory (in
'/nix/var/nix/profiles/per-user') for a given user already exists, it is
used instead for the sake of backward compatibility.
|
|/
|
| |
Replace "eachother" with "each other".
|
|\
| |
| | |
actually merge confirm_timeout into merged_settings
|
|/ |
|
|\
| |
| | |
[#210] Add activation script for darwin system and provide a usage example
|
| |
| |
| |
| | |
example
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: It's possible to use 'deploy-rs' for deploying 'darwinSystem'
configuration from 'nix-darwin' to a darwin system. However, there is no
dedicated activatiot script for darwin and thus one has to come up with
'custom' activation script.
Solution:
1) Add 'darwin' attribute to 'lib.activate' that provides a script that
should be used to activate 'darwinSystem' config with 'deploy-rs'.
2) Add a new 'examples/darwin' example that provides simple flake for
deploying configuration to a darwin target.
|
|\ \
| |/
|/| |
Make it possible to not rebuild deploy-rs
|