feat: add deployment-wide agent metadata minimum interval enforcement #21257
+512
−2
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.
Used tasks to help out with this one, as I'm not super familiar with the template build and validation process yet.
The changes here introduce a deployment wide minimum agent metadata interval via CLI flag/env var. This is then applied in a strict way to new templates/new builds of existing templates, such that the template build will fail if it has a metadata interval does not comply with the minimum set for the coderd config value. Additionally, workspaces from existing template versions will have their agent metadata intervals "silently" upgraded (we log the upgrade but don't fail the workspace build) to comply with the config value.
This should allow coder deployment admins more control over deamplifying the volume of
UpdateWorkspaceAgentMetadatadb calls, and the associatedpg_notifycalls that go to the Workspace UI page, which is particularly relevant in larger organizations with high workspace counts/more metadata per agent.Logging of the upgrade for a workspace using an existing template verison.

The failure message for a new template build that contains an invalid agent metdata interval value.

For the workspace built from an existing template, I also manually verified that the 60s upgraded interval value was being respected by using a timer to track changes in values shown on the UI page.