feat: Support KYBER_MODULE_CHANNEL automated module updates with (Linux/Docker) kyber_cli #28
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This PR enables the
KYBER_MODULE_CHANNELupdate system on Linux and adds support for non-interactive gRPC service authentication via theKYBER_TOKENenvironment variable.!Platform.isLinuxrestriction to allow the update check to run on Linux.KYBER_TOKENenvironment variable to support update fetching in Docker environment.While
Platform.isLinuxis now allowed, the code now respects the logic thatKYBER_MODULE_CHANNELmust be set for Linux. On Linux systems, updates are disabled by default UNLESS the user has explicitly set theKYBER_MODULE_CHANNELenvironment variable. This ensures we aren't forcing updates on Linux users.Rationale
These changes allow dedicated servers to automatically maintain the correct module version without requiring an interactive login flow.
Verification
Tested in a Docker container; verified that the CLI successfully authenticates, checks for updates, and downloads the module artifact based on the provided environment variables.
📸 VIEW SCREENSHOT: (Linux/Docker) kyber-module update using
KYBER_MODULE_CHANNELenv variable. (Click to expand)closes: #27