Conversation
The networking-metrics ResourceMetricsPolicy describes the Gateway, HTTPProxy, Domain, HTTPRoute and network metrics the resource-metrics service should publish for every project, but no bundle path includes it, so nothing deploys it. Deployments still rely on per-project kube-state-metrics exporters for these series. Key changes: - Include the policy in upstream_resources, the path a control plane applies alongside the operator's CRDs - Leave it out of the local dev install, whose cluster has no resource-metrics CRD A control plane that applies upstream_resources now needs the resourcemetrics.miloapis.com CRD installed first.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
The resource-metrics service publishes no Gateway, proxy, domain or network status for any project, because the operator's metric policy for those kinds sits in the repository but no bundle path deploys it.
Deployments therefore still depend on per-project kube-state-metrics exporters for these series, and in Datum's production that means 395 exporters nothing owns, with projects created since April getting no status at all.
This ships the policy with the control-plane resources alongside the operator's CRDs, so any control plane that applies them publishes the metrics. The local dev install leaves it out, since its cluster has no resource-metrics CRD.
Important
Applying the control-plane resources now requires the resource-metrics CRD on that control plane. Datum's infra must land datum-cloud/infra#6212 first so a policy's status cannot stall the apply. Staging picks this up from main builds on merge. Datum's production picks up any new release on its own, so hold the release that carries this until that health check is promoted to production.
Test plan
Related to https://github.com/datum-cloud/infra/issues/6198