-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Deprecate legacy ssh store / nix-store --serve
#4665
Comments
@Ericson2314 Currently, no command line Nix options are used when using |
Thanks, added. |
@Ericson2314 #4180 ticks the first box |
This issue has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/a-proposal-for-replacing-the-nix-worker-protocol/20926/12 |
I'd like to ask specifically about signing. Right now it is already possible to capture an entire remote build and upload cycle in a single command: The only issue I have run into is signing. Because the nix.conf setting |
Should this be a separate issue? |
It might have to be, because after writing this post I came to the realization that |
On a more general note, we should probably have a brand new rethought protocol to where we think about these higher level issues. For me getting rid of legacy ssh isn't because ssh-ng is good enough (it is not!), but because we want to "free up our complexity budget" first --- supporting 3 simultaneous protocols would be disastrous! |
On that note, if we don't directly pull in something like protocol buffers or such for a newer protocol, can we anyways please describe the protocol structure in something that isn't C++, and allows automatic generation of the C++ serialization/deserialization code from that (write the transformation in perl or python for portability, we depend on that anyways), to make it easier to interact with it from other languages (e.g. Go and Rust, as commonly suggested) |
Just wanted to point out that there is actually already an "in transit" signing option, at least for s3. I learned about it just yesterday from this comment: #6960 (comment) Essentially there is an undocumented parameter on an s3 uri to specify a Nix secret key, I tested it yesterday and it works even when the caller is neither the builder or the cache ( |
That is a very useful command! You can set |
ea7fa88 optimized |
nix-store --serve
Issues like #3372 and #2770 show that things slip through the cracks when we have two sorts of remote stores.
I think after the next release they will finally be at feature parity, we should then deprecate the legacy one so we only have one thing to maintain.
Finally, we can then add the protocol version parameter to our serialization infra. This resolves the tension between structure / code reuse and and being able to evolve the protocol that has hamstrung #4588, for example.
builders-use-substitutes
flag--keep-going
can makes it over the wire (nix build --keep-going is broken with --store ssh-ng://... --eval-store auto #5600)2 Deprecate / switch defaults
ssh-ng://
/ssh-legacy://
so we can change the default prior to removing supportLegacySSHStore
nix-store --serve
The text was updated successfully, but these errors were encountered: