Skip to content

fix: Use kubectl serverside apply instead of kubectl replace to update kube-prometheus-stack CRDs

Brittany Wilkerson requested to merge bw/887-fix-cnh-monitoring-update into main

What does this MR do?

Changes the command for updating kube-prometheus-stack CRDs in existing installations to use kubectl apply --server-side per the kube-prometheus-stack documentation, instead of kubectl replace. Use of kubectl replace was failing on CRDs that had not been previously created in the cluster, although this was only recently revealed with a refactor in !1314 (merged) to run each CRD update in a loop, instead of as a block shell command (because the final update would succeed and therefore the whole step would succeed, even though the non-existent CRDs were failing the whole time).

Also pulled out the namespace scoping on the command because CRDs are non-namespaced.

Related issues

Closes #887 (closed)

Author's checklist

When ready for review, the Author applies the workflowready for review label and mention @gl-quality/get-maintainers:

  • Merge request:
    • Corresponding Issue raised and reviewed by the GET maintainers team.
    • Merge Request Title and Description are up-to-date, accurate, and descriptive
    • MR targeting the appropriate branch
    • MR has a green pipeline
    • MR has no new security alerts in the widget from the Secret Detection and IaC Scan (SAST) jobs.
  • Code:
    • Check the area changed works as expected. Consider testing it in different environment sizes (1k,3k,10k,etc.).
    • Documentation created/updated in the same MR.
    • If this MR adds an optional configuration - check that all permutations continue to work.
    • For Terraform changes: set up a previous version environment, then run a terraform plan with your new changes and ensure nothing will be destroyed. If anything will be destroyed and this can't be avoided please add a comment to the current MR.
  • Create any follow-up issue(s) to support the new feature across other supported cloud providers or advanced configurations. Create 1 issue for each provider/configuration. Contact the Quality Enablement team if unsure.
Edited by Brittany Wilkerson

Merge request reports