| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | populate flake: add fetchOnTarget | tv | 2 days | 1 | -18/+80 |
| | | | | | | | | | | | With fetchOnTarget, the target fetches the input and its own inputs itself, using fetchTree with the arguments recorded in the flake's lock file. Only nix flake metadata runs on the deploying machine, so the inputs get downloaded once, by the target. This needs Nix with flake support on the target, which populate checks before fetching. Because nothing gets copied, this also works for targets using sudo. | ||||
| * | populate: add flake source type | tv | 2 days | 1 | -1/+97 |
| | | | | | | | | | | | | | Deliver a flake, or one of its locked inputs, to the target: archive the flake locally, copy the selected input together with its own inputs into the target's store, and link it at the target path, registered as garbage collector root. The result can be used in NIX_PATH as well as by flakes evaluated on the target, without network access. nix copy runs with a separate ssh wrapper without the control socket, because Nix waits for its LocalCommand, which may not run over a multiplexed connection. | ||||
| * | populate: export TMPDIR | tv | 2 days | 1 | -0/+1 |
| | | | | | | | | Each job and the ssh wrapper run as separate scripts, which only see TMPDIR if it's exported. Without TMPDIR in the caller's environment, jobs fail, and the ssh wrapper's control socket ends up at the root directory. | ||||
| * | populate backup: fix error message | tv | 2 days | 1 | -1/+1 |
| | | |||||
| * | populate: derive socket name from target host | tv | 2026-01-01 | 1 | -2/+2 |
| | | |||||
| * | populate: use ssh control socket1.30.0 | tv | 2025-12-09 | 1 | -6/+12 |
| | | |||||
| * | populate use singular tmpdir | tv | 2025-12-09 | 1 | -24/+22 |
| | | | | | | | | | Set TMPDIR to a fresh, private top-level temporary directory, and run each job in a separate subdirectory beneath it. TMPDIR remains shared across all jobs, allowing reuse of resources like ssh control sockets. | ||||
| * | populate pass{,age}: use $pass_out | tv | 2025-12-09 | 1 | -9/+9 |
| | | |||||
| * | populate pipe: use rsync | tv | 2025-12-09 | 1 | -2/+10 |
| | | | | | Generate a reproducible output to transmit it only if it has changed. | ||||
| * | populate passage: rename loop variables | tv | 2025-04-09 | 1 | -6/+7 |
| | | |||||
| * | populate rsync': reduce verbosity | tv | 2025-04-09 | 1 | -1/+2 |
| | | |||||
| * | populate: add passage source type1.29.0 | tv | 2024-01-11 | 1 | -1/+32 |
| | | |||||
| * | populate pass: calculate hash for each symlink1.28.2 | lassulus | 2023-03-13 | 1 | -1/+9 |
| | | | | | | this fixes folders with symlinks not getting updated if the symlinked file is in another subfolder of the pass repo | ||||
| * | rebuild: set NIX_PATH like everywhere else1.28.1 | tv | 2022-09-07 | 1 | -3/+2 |
| | | |||||
| * | withNixOutputMonitor: run shell with know Nix path | tv | 2022-09-07 | 1 | -2/+3 |
| | | |||||
| * | runShell: admit non-posix-compatible shells | tv | 2022-09-07 | 1 | -1/+4 |
| | | |||||
| * | krops writeDeploy: add useNixOutputMonitor parameter1.28.0 | tv | 2022-08-23 | 1 | -7/+48 |
| | | |||||
| * | Merge remote-tracking branch 'prism/master'1.27.0 | tv | 2022-07-26 | 1 | -2/+3 |
| |\ | |||||
| | * | krops writeTest: make trace optional | lassulus | 2022-07-26 | 1 | -2/+3 |
| | | | |||||
| * | | krops writeDeploy: add operation parameter | tv | 2022-07-16 | 1 | -1/+2 |
| |/ | |||||
| * | populate git: remove trailing spaces1.26.3 | tv | 2022-02-12 | 1 | -1/+1 |
| | | |||||
| * | populate git: remove non-worktree target | tv | 2022-02-12 | 1 | -0/+5 |
| | | |||||
| * | target: use default port from SSH config | Erik Arvstedt | 2021-11-20 | 2 | -4/+2 |
| | | | | | | This is the expected behavior. The SSH config is also implicitly used for other SSH-related settings. | ||||
| * | populate file: isDerivation -> isStorePath1.26.1 | tv | 2021-10-26 | 1 | -2/+2 |
| | | |||||
| * | populate file: admit derivations1.26.0 | tv | 2021-10-26 | 1 | -4/+15 |
| | | |||||
| * | populate: add rsyncDefaultConfig | tv | 2021-10-26 | 1 | -7/+14 |
| | | |||||
| * | runShell/writeCommand: add allocateTTY argument | lassulus | 2021-10-26 | 1 | -4/+7 |
| | | |||||
| * | krops writeDeploy: deprecate fast parameter | lassulus | 2021-10-26 | 1 | -29/+19 |
| | | |||||
| * | populate pass: don't decrypt .gpg-id | lassulus | 2021-02-16 | 1 | -1/+1 |
| | | |||||
| * | populate pass: make git optional again | lassulus | 2021-01-17 | 1 | -2/+6 |
| | | |||||
| * | Make pass source follow symlinksv1.24.0 | Simon Bruder | 2020-12-15 | 1 | -1/+1 |
| | | |||||
| * | Add flag to nixos-rebuild | Martin Potier | 2020-11-20 | 1 | -0/+2 |
| | | | | | | | | In the case we need sudo for the remote target, the flag `--use-remote-sudo` must be passed if the target's ssh user is not root. If target's ssh user is root, it doesn't hurt to use sudo. | ||||
| * | add `shallow` option to git source type | Enno Lohmeier | 2020-07-02 | 1 | -3/+15 |
| | | |||||
| * | fix local deployment with sudo | Jörg Thalheim | 2020-06-22 | 1 | -3/+6 |
| | | |||||
| * | treewide: harmonize ssh callsv1.22.0 | tv | 2020-06-08 | 2 | -17/+16 |
| | | |||||
| * | krops runCommand: derive script name from command | tv | 2020-06-08 | 1 | -1/+1 |
| | | |||||
| * | krops remoteCommand: don't ssh if target is local | tv | 2020-06-08 | 1 | -9/+12 |
| | | |||||
| * | add target.extraOptions | Erik Arvstedt | 2020-04-18 | 2 | -0/+2 |
| | | |||||
| * | Merge pull request #15 from nyantec/feature/filtersv1.20.0 | tv | 2020-02-18 | 1 | -2/+5 |
| |\ | | | | | support for include filters | ||||
| | * | support for include filters | Milan Pässler | 2020-02-03 | 1 | -2/+5 |
| | | | | | | | | | | | | | | | - Added a new option for `file` sources, which allows to specify a list of `include` and `exclude` filters - Added a new option for `file` sources, which allows to disable the `--delete-excluded` behaviour. | ||||
| * | | use writers from nixpkgs | Jörg Thalheim | 2020-02-17 | 3 | -23/+11 |
| |/ | | | | | This makes the evaluation of krops pure (no import from derivation) and makes it faster since the fetchGit result might be garbage collected. | ||||
| * | writeDeploy: add crossDeploy argument | Jörg Thalheim | 2019-12-30 | 1 | -0/+3 |
| | | |||||
| * | writeDeploy: add support for build hosts | Jörg Thalheim | 2019-12-30 | 1 | -3/+15 |
| | | | | | | This allows to evaluate & build the system on the dedicated build host, from which the build artifacts are uploaded onto the target machine. | ||||
| * | populate: re-add default values for useChecksum/exclude | Jörg Thalheim | 2019-12-23 | 1 | -2/+2 |
| | | | | | Turns out, those where required. | ||||
| * | populate file: add exclude option | Jörg Thalheim | 2019-12-23 | 1 | -2/+5 |
| | | |||||
| * | ssh: fix mistake with sudo on remote | Milan Pässler | 2019-12-02 | 1 | -1/+1 |
| | | |||||
| * | ssh: support using ssh-configured user | tv | 2019-11-29 | 2 | -7/+9 |
| | | | | | | | | Let ssh use the user configured in its configuration files when the target user is set to the empty string. Closes https://github.com/krebs/krops/issues/2 | ||||
| * | ssh, rsync: support using sudo on remote | Milan Pässler | 2019-11-29 | 2 | -4/+8 |
| | | | | | | | | | This allows deployment of remote hosts without having ssh access to the root user. Passwordless sudo is recommended since krops will use multiple ssh sessions and the password will not be remembered. Closes https://github.com/krebs/krops/issues/3 | ||||
| * | krops: add writeCommandv1.17.0 | lassulus | 2019-10-23 | 1 | -0/+15 |
| | | |||||
| * | krops: add remoteCommand, use in build & rebuild | lassulus | 2019-10-23 | 1 | -20/+14 |
| | | |||||
