updated store ping to store info in files

This commit is contained in:
vicky1999 2023-10-18 00:14:11 +05:30
parent a0f071f1d3
commit 891dfb4359
8 changed files with 14 additions and 14 deletions

View file

@ -12,14 +12,14 @@ machine is accessible via SSH and that it has Nix installed. You can
test whether connecting to the remote Nix instance works, e.g. test whether connecting to the remote Nix instance works, e.g.
```console ```console
$ nix store ping --store ssh://mac $ nix store info --store ssh://mac
``` ```
will try to connect to the machine named `mac`. It is possible to will try to connect to the machine named `mac`. It is possible to
specify an SSH identity file as part of the remote store URI, e.g. specify an SSH identity file as part of the remote store URI, e.g.
```console ```console
$ nix store ping --store ssh://mac?ssh-key=/home/alice/my-key $ nix store info --store ssh://mac?ssh-key=/home/alice/my-key
``` ```
Since builds should be non-interactive, the key should not have a Since builds should be non-interactive, the key should not have a

View file

@ -44,7 +44,7 @@
(The store always had to check whether it trusts the client, but now the client is informed of the store's decision.) (The store always had to check whether it trusts the client, but now the client is informed of the store's decision.)
This is useful for scripting interactions with (non-legacy-ssh) remote Nix stores. This is useful for scripting interactions with (non-legacy-ssh) remote Nix stores.
`nix store ping` and `nix doctor` now display this information. `nix store info` and `nix doctor` now display this information.
* The new command `nix derivation add` allows adding derivations to the store without involving the Nix language. * The new command `nix derivation add` allows adding derivations to the store without involving the Nix language.
It exists to round out our collection of basic utility/plumbing commands, and allow for a low barrier-to-entry way of experimenting with alternative front-ends to the Nix Store. It exists to round out our collection of basic utility/plumbing commands, and allow for a low barrier-to-entry way of experimenting with alternative front-ends to the Nix Store.

View file

@ -24,7 +24,7 @@
[repository](https://github.com/NixOS/bundlers) has various bundlers [repository](https://github.com/NixOS/bundlers) has various bundlers
implemented. implemented.
* `nix store ping` now reports the version of the remote Nix daemon. * `nix store info` now reports the version of the remote Nix daemon.
* `nix flake {init,new}` now display information about which files have been * `nix flake {init,new}` now display information about which files have been
created. created.

View file

@ -1,4 +1,4 @@
source common.sh source common.sh
# Check that store ping trusted doesn't yet work with ssh:// # Check that store info trusted doesn't yet work with ssh://
nix --store ssh://localhost?remote-store=$TEST_ROOT/other-store store ping --json | jq -e 'has("trusted") | not' nix --store ssh://localhost?remote-store=$TEST_ROOT/other-store store info --json | jq -e 'has("trusted") | not'

View file

@ -18,5 +18,5 @@ PATH2=$(nix path-info --store "$PWD/x" $CORRECT_PATH)
PATH3=$(nix path-info --store "local?root=$PWD/x" $CORRECT_PATH) PATH3=$(nix path-info --store "local?root=$PWD/x" $CORRECT_PATH)
[ $CORRECT_PATH == $PATH3 ] [ $CORRECT_PATH == $PATH3 ]
# Ensure store ping trusted works with local store # Ensure store info trusted works with local store
nix --store ./x store ping --json | jq -e '.trusted' nix --store ./x store info --json | jq -e '.trusted'

View file

@ -9,7 +9,7 @@ rm -rf "$remoteRoot"
outPath=$(nix-build --no-out-link dependencies.nix) outPath=$(nix-build --no-out-link dependencies.nix)
nix store ping --store "ssh-ng://localhost?store=$NIX_STORE_DIR&remote-store=$remoteRoot%3fstore=$NIX_STORE_DIR%26real=$remoteRoot$NIX_STORE_DIR" nix store info --store "ssh-ng://localhost?store=$NIX_STORE_DIR&remote-store=$remoteRoot%3fstore=$NIX_STORE_DIR%26real=$remoteRoot$NIX_STORE_DIR"
# Regression test for https://github.com/NixOS/nix/issues/6253 # Regression test for https://github.com/NixOS/nix/issues/6253
nix copy --to "ssh-ng://localhost?store=$NIX_STORE_DIR&remote-store=$remoteRoot%3fstore=$NIX_STORE_DIR%26real=$remoteRoot$NIX_STORE_DIR" $outPath --no-check-sigs & nix copy --to "ssh-ng://localhost?store=$NIX_STORE_DIR&remote-store=$remoteRoot%3fstore=$NIX_STORE_DIR%26real=$remoteRoot$NIX_STORE_DIR" $outPath --no-check-sigs &

View file

@ -5,17 +5,17 @@ clearStore
# Ensure "fake ssh" remote store works just as legacy fake ssh would. # Ensure "fake ssh" remote store works just as legacy fake ssh would.
nix --store ssh-ng://localhost?remote-store=$TEST_ROOT/other-store doctor nix --store ssh-ng://localhost?remote-store=$TEST_ROOT/other-store doctor
# Ensure that store ping trusted works with ssh-ng:// # Ensure that store info trusted works with ssh-ng://
nix --store ssh-ng://localhost?remote-store=$TEST_ROOT/other-store store ping --json | jq -e '.trusted' nix --store ssh-ng://localhost?remote-store=$TEST_ROOT/other-store store info --json | jq -e '.trusted'
startDaemon startDaemon
if isDaemonNewer "2.15pre0"; then if isDaemonNewer "2.15pre0"; then
# Ensure that ping works trusted with new daemon # Ensure that ping works trusted with new daemon
nix store ping --json | jq -e '.trusted' nix store info --json | jq -e '.trusted'
else else
# And the the field is absent with the old daemon # And the the field is absent with the old daemon
nix store ping --json | jq -e 'has("trusted") | not' nix store info --json | jq -e 'has("trusted") | not'
fi fi
# Test import-from-derivation through the daemon. # Test import-from-derivation through the daemon.

View file

@ -213,7 +213,7 @@ let
source /etc/bashrc || true source /etc/bashrc || true
nix-env --version nix-env --version
nix --extra-experimental-features nix-command store ping nix --extra-experimental-features nix-command store info
out=\$(nix-build --no-substitute -E 'derivation { name = "foo"; system = "x86_64-linux"; builder = "/bin/sh"; args = ["-c" "echo foobar > \$out"]; }') out=\$(nix-build --no-substitute -E 'derivation { name = "foo"; system = "x86_64-linux"; builder = "/bin/sh"; args = ["-c" "echo foobar > \$out"]; }')
[[ \$(cat \$out) = foobar ]] [[ \$(cat \$out) = foobar ]]