|
|
||
|---|---|---|
| docker | ||
| k8s | ||
| k8s-notes | ||
| scripts | ||
| tasks | ||
| terraform | ||
| .gitignore | ||
| .hadolint.yaml | ||
| NOTES.md | ||
| README.md | ||
| bitbucket-pipelines.yml | ||
| jkctl | ||
README.md
README
This README would normally document whatever steps are necessary to get your application up and running.
What is this repository for?
- Quick summary
- Version
- Learn Markdown
Development Setup
- Install Pre-commit Hooks (Required for CRD management):
This ensures that./scripts/setup-hooks.shk8s/crds/all-crds.yamlis automatically updated whenever you modify the monitoring Helm chart.
Monitoring Chart Patch (Critical)
The included chart k8s/monitoring/charts/kube-prometheus-stack-75.12.0.tgz is MANUALLY PATCHED.
Why?
The upstream chart (v65.x+) introduced a field trackTimestampsStaleness in the ServiceMonitor CRD. Our cluster is running an older version of the Prometheus Operator/CRDs that does not support this field. The upstream chart renders this field unconditionally in some templates (specifically kubelet), causing ArgoCD sync to fail with a schema validation error ("field not declared in schema").
How was it patched?
- Unpacked the official
kube-prometheus-stack-75.12.0.tgz. - Modified
templates/exporters/kubelet/servicemonitor.yaml. - Wrapped
trackTimestampsStalenessin a conditional block:{{- if .Values.kubelet.serviceMonitor.trackTimestampsStaleness }} trackTimestampsStaleness: {{ .Values.kubelet.serviceMonitor.trackTimestampsStaleness }} {{- end }} - Repackaged the chart using
tar -czf. - Force added to git (
git add -f) becausecharts/*.tgzis ignored.
When to delete?
You can revert to the official upstream chart once the Prometheus Operator CRDs on the cluster are upgraded to a version that includes trackTimestampsStaleness in the ServiceMonitor schema (likely Prometheus Operator >= v0.68.0 or similar).
How do I get set up?
- Summary of set up
- Configuration
- Dependencies
- Database configuration
- How to run tests
- Deployment instructions
Contribution guidelines
- Writing tests
- Code review
- Other guidelines
Who do I talk to?
- Repo owner or admin
- Other community or team contact
Apply terraform
Install ArgoCD
kubectl create namespace argocd kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml