74 lines
2.3 KiB
Markdown
74 lines
2.3 KiB
Markdown
# 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](https://bitbucket.org/tutorials/markdowndemo)
|
|
|
|
### Development Setup
|
|
|
|
1. **Install Pre-commit Hooks** (Required for CRD management):
|
|
```bash
|
|
./scripts/setup-hooks.sh
|
|
```
|
|
This ensures that `k8s/crds/all-crds.yaml` is 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?**
|
|
1. Unpacked the official `kube-prometheus-stack-75.12.0.tgz`.
|
|
2. Modified `templates/exporters/kubelet/servicemonitor.yaml`.
|
|
3. Wrapped `trackTimestampsStaleness` in a conditional block:
|
|
```yaml
|
|
{{- if .Values.kubelet.serviceMonitor.trackTimestampsStaleness }}
|
|
trackTimestampsStaleness: {{ .Values.kubelet.serviceMonitor.trackTimestampsStaleness }}
|
|
{{- end }}
|
|
```
|
|
4. Repackaged the chart using `tar -czf`.
|
|
5. Force added to git (`git add -f`) because `charts/*.tgz` is 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
|
|
|
|
# Add Bitbucket SSH Key secret
|
|
|
|
|
|
|