aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* allow non-flake builds with flake-enabled nixnonflake-build-flagstuebinm7 days2-5/+87
| | | | | | | | | 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.
* Merge pull request #295 from AsterisMono/masterRoman Melnikov2024-09-271-0/+4
|\ | | | | doc: add option doc for interactiveSudo
| * doc: add option doc for interactiveSudoChatnoir Miki2024-09-251-0/+4
|/
* Merge pull request #272 from stuebinm/fix-nonflake-buildRoman Melnikov2024-06-124-11/+42
|\ | | | | fix nix-build invocation in non-flake builds
| * test for non-flake build regressionsstuebinm2024-06-123-8/+35
| | | | | | | | | | | | | | | | | | | | 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
| * fix nix-build invocation in non-flake buildsstuebinm2024-06-111-3/+7
| | | | | | | | | | | | 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'.
* | Merge pull request #278 from emanueljg/add-meta-mainprogramRoman Melnikov2024-06-121-1/+5
|\ \ | |/ |/| add meta.mainProgram to rust drv
| * add meta.mainProgram to rust drvemanueljg2024-06-111-1/+5
| |
* | Merge pull request #274 from PhilTaken/phil/node-name-in-errorsRoman Melnikov2024-06-111-14/+24
|\ \ | |/ |/| better error messages: provide node names
| * better error messages: provide node namesPhilipp Herzog2024-06-101-14/+24
|/ | | | | | 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
* Merge pull request #277 from Anillc/patch-1Roman Melnikov2024-06-102-1/+6
|\ | | | | allow --ssh-opts starts with hyphen
| * add test for allow_hyphen_values of --ssh-optsAnillc2024-06-101-0/+5
| |
| * allow --ssh-opts that starts with hyphenAnillc2024-06-101-1/+1
| |
* | Merge pull request #276 from emanueljg/patch-1Roman Melnikov2024-06-101-1/+1
|\ \ | |/ |/| Link to new official wiki
| * Link to new official wikiEmanuel Johnson Godin2024-06-081-1/+1
|/
* Update example to make it work (#247)Ivar Larsson2024-05-141-4/+7
|
* Merge pull request #268 from serokell/sereja/fix-overlaySereja3132024-04-012-3/+4
|\ | | | | [Chore] Fix overlay
| * [Chore] Fix overlaySergey Gulin2024-04-012-3/+4
|/ | | | | | | | | 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.
* Merge pull request #264 from serokell/sereja/OPS-1384-add-nixos-vm-testSereja3132024-03-296-10/+293
|\ | | | | [OPS-1384] Introduce NixOS VM tests
| * [OPS-1384] Introduce NixOS VM testsSergey Gulin2024-03-296-10/+293
|/ | | | | | | | | 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.
* Merge pull request #257 from n-hass/feature/interactive-sudoRoman Melnikov2024-02-168-20/+155
|\ | | | | Add support for entering sudo password interactively
| * add support for entering password for sudoNick Hassan2024-02-168-20/+155
|/
* Merge pull request #252 from SuperSandro2000/patch-1Roman Melnikov2024-01-101-1/+1
|\ | | | | Remove note about unstable nix version
| * Remove note about unstable nix versionSandro2024-01-091-1/+1
|/ | | The current stable nix version supports flakes.
* Merge pull request #251 from ↵Roman Melnikov2023-12-202-1/+11
|\ | | | | | | | | serokell/rvem/add-missing-activation-timeout-documentation [Chore] Add missing documentation for timeout options
| * [Chore] Add missing documentation for timeout optionsRoman Melnikov2023-12-202-1/+11
|/ | | | | | | Problem: README misses documentation for 'confirmTimeout' and 'activationTimeout'. Solution: Mention them in README.
* Merge pull request #189 from serokell/automatic-updateRoman Melnikov2023-12-131-9/+27
|\ | | | | Automatically update flake.lock to the latest version
| * Automatically update flake.lock to the latest versionFlake Update Bot2023-12-121-9/+27
|/ | | | | | 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)
* Merge pull request #248 from serokell/update-checkout-actionRoman Melnikov2023-12-121-1/+1
|\ | | | | [Chore] Update "actions/checkout"
| * [Chore] Update "actions/checkout"Roman Melnikov2023-12-121-1/+1
|/ | | | | | | | 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".
* Merge pull request #246 from ↵Roman Melnikov2023-12-111-23/+9
|\ | | | | | | | | serokell/rvem/#245-return-non-zero-exit-code-for-confirmation-timeout [#245] Return non-zero exit code in case of confirmation timeout
| * [#245] Return non-zero exit code in case of confirmation timeoutRoman Melnikov2023-12-111-23/+9
|/ | | | | | | | | | | 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.
* Merge pull request #240 from ↵Roman Melnikov2023-11-026-4/+30
|\ | | | | | | | | serokell/rvem/make-wait-activation-timeout-configurable [Chore] Make activation wait timeout configurable
| * fixup! [Chore] Make activation wait timeout configurableRoman Melnikov2023-11-021-1/+1
| |
| * [Chore] Make activation wait timeout configurableRoman Melnikov2023-11-026-4/+30
|/ | | | | | | | | | | | | | 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.
* Merge pull request #242 from serokell/phil/fix-rollback-error-messageRoman Melnikov2023-11-021-2/+3
|\ | | | | [Chore] fix error messages claiming to have rolled back when not actually doing so
| * [Chore] fix error messages claiming to have rolled back when not actually ↵Philipp Herzog2023-11-021-2/+3
|/ | | | | | doing so closes: #241
* Merge pull request #236 from serokell/rvem/run-ci-on-pull_requestHEADmasterRoman Melnikov2023-09-181-1/+1
|\ | | | | [Chore] Run CI checks on 'pull_request'
| * [Chore] Run CI checks on 'pull_request'Roman Melnikov2023-09-181-1/+1
|/ | | | | | | | 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'.
* Merge pull request #234 from fd/masterRoman Melnikov2023-09-181-1/+1
|\ | | | | Replace jsonschema-cli with check-jsonschema
| * Replace jsonschema-cli with check-jsonschemaSimon Menke2023-09-171-1/+1
|/ | | | | jsonschema-cli is deprecated and will be removed in the future. The recommended replacement is check-jsonschema.
* Merge pull request #231 from serokell/rvem/#201-dont-hardcode-profile-directoryRoman Melnikov2023-09-126-68/+316
|\ | | | | [#201] Deduce profile directory during activation
| * [#201] Deduce profile directory during activationRoman Melnikov2023-09-126-68/+316
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Update README.md (#227)Derek Mahar2023-09-081-1/+1
|/ | | Replace "eachother" with "each other".
* Merge pull request #218 from faithanalog/masterRoman Melnikov2023-06-141-1/+4
|\ | | | | actually merge confirm_timeout into merged_settings
| * actually merge confirm_timeout into merged_settingsArtemis Everfree2023-06-081-1/+4
|/
* Merge pull request #213 from serokell/rvem/darwin-activationRoman Melnikov2023-06-053-0/+65
|\ | | | | [#210] Add activation script for darwin system and provide a usage example
| * fixup! [#210] Add activation script for darwin system and provide a usage ↵Roman Melnikov2023-05-121-126/+0
| | | | | | | | example
| * [#210] Add activation script for darwin system and provide a usage exampleRoman Melnikov2023-05-114-0/+191
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge pull request #207 from Flakebi/nixpkgs-cacheRoman Melnikov2023-05-112-1/+28
|\ \ | |/ |/| Make it possible to not rebuild deploy-rs