Skip to content

WorkerProto: Support fine-grained protocol feature negotiation#11140

Merged
edolstra merged 1 commit intoNixOS:masterfrom
DeterminateSystems:protocol-features
Jul 31, 2024
Merged

WorkerProto: Support fine-grained protocol feature negotiation#11140
edolstra merged 1 commit intoNixOS:masterfrom
DeterminateSystems:protocol-features

Conversation

@edolstra
Copy link
Member

Motivation

Currently, the worker protocol has a version number that we increment whenever we change something in the protocol. However, this can cause a collision between Nix PRs / forks that make protocol changes (e.g. PR #9857 increments the version, which could collide with another PR). So instead, the client and daemon now exchange a set of protocol features (such as auth-forwarding). They will use the intersection of the sets of features, i.e. the features they both support.

Note that protocol features are completely distinct from ExperimentalFeatures.

Context

Priorities and Process

Add 👍 to pull requests you find important.

The Nix maintainer team uses a GitHub project board to schedule and track reviews.

@edolstra edolstra requested a review from Ericson2314 as a code owner July 19, 2024 14:11
@github-actions github-actions bot added the store Issues and pull requests concerning the Nix store label Jul 19, 2024
@edolstra edolstra force-pushed the protocol-features branch from 2646def to 27f2711 Compare July 24, 2024 14:22
Currently, the worker protocol has a version number that we increment
whenever we change something in the protocol. However, this can cause
a collision between Nix PRs / forks that make protocol changes
(e.g. PR NixOS#9857 increments the version, which could collide with
another PR). So instead, the client and daemon now exchange a set of
protocol features (such as `auth-forwarding`). They will use the
intersection of the sets of features, i.e. the features they both
support.

Note that protocol features are completely distinct from
`ExperimentalFeature`s.
@edolstra edolstra force-pushed the protocol-features branch from 27f2711 to 3be7c00 Compare July 24, 2024 14:23
@roberth roberth added the protocol Things involving the daemon protocol & compatibility issues label Jul 28, 2024
@edolstra edolstra merged commit ed0934b into NixOS:master Jul 31, 2024
@edolstra edolstra deleted the protocol-features branch July 31, 2024 15:47
@nixos-discourse
Copy link

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/2024-07-29-nix-team-meeting-minutes-165/49970/1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

protocol Things involving the daemon protocol & compatibility issues store Issues and pull requests concerning the Nix store

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants