-
Notifications
You must be signed in to change notification settings - Fork 42
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
Config property for target system software release #7518
base: main
Are you sure you want to change the base?
Conversation
@@ -885,6 +885,14 @@ authz_resource! { | |||
polar_snippet = FleetChild, | |||
} | |||
|
|||
authz_resource! { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm defining this authz resource, but am not convinced that I'm using it right (or at all). Do these only apply to resources that use the lookup*
macros? Any guidance here would be appreciated.
method = GET, | ||
path = "/v1/system/update/target-release", | ||
tags = ["system/update"], | ||
unpublished = true, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you mind writing a comment as to why these two are unpublished? If there's a related GH issue, would you include it in the comment?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's no good reason, really; I just copied the API parameters from the other /v1/system/update
endpoints (TUF repo depot). I can certainly mark these as published if we're happy with them; @iliana should we also publish the repository
endpoints?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't see a reason to publish the updates endpoints right now, they don't work unless you have configured Nexus in a special way. I don't know what our general policy is on endpoints that customers shouldn't/can't poke at yet.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's a hidden
tag. I use it to skip those endpoints when generating the Go SDK (not sure about the rust or typescript one), but it would still be available in the API. Perhaps we should leave these unpublished and leave a comment explaining why.
Thoughts? @david-crespo @ahl
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we want to merge these PRs but these endpoints definitely won't do anything for customers in the next release, I would lean toward unpublished. If we want our own clients (most likely the CLI) to be able to use them, we need them in the OpenAPI schema but can use hidden to keep them out of the docs. Sounds like the Go SDK leaves out hidden endpoints but I don't think that's true of all clients (e.g., the TS client generator does produce methods for hidden endpoints).
Fixes #7280. Provides external API endpoints and corresponding datastore methods to get/set the current
target_release
config property. Releases are designated by their semantic version, and must be uploaded to the TUF repo depot prior to being set as the target release.This PR does not attempt to actually upgrade the rack to the current target release. The reconfigurator changes to plan & execute such an upgrade will be handled as a follow-up.