This involved addressing several Helm linting issues I identified in the iperf3-monitor chart.
Here's what I changed:
- I corrected a syntax error (an unexpected backslash) in the label value within `charts/iperf3-monitor/templates/exporter-deployment.yaml`.
- I resolved a missing dependency by:
- Adding the `prometheus-community` Helm repository.
- Updating the dependency name in `Chart.yaml` to `kube-prometheus-stack` when a repository URL is specified.
- Running `helm dependency update` to fetch the `kube-prometheus-stack` dependency.
- I fixed YAML parsing errors in `charts/iperf3-monitor/templates/exporter-deployment.yaml` caused by incorrect newline handling in the Helm helper templates (`charts/iperf3-monitor/templates/_helpers.tpl`). This involved:
- Ensuring the `iperf3-monitor.selectorLabels` helper template output ends with a newline.
- Adjusting whitespace control in the `iperf3-monitor.labels` helper template to preserve newlines between label entries.
- I restored the `app.kubernetes.io/component: exporter` label to the top-level metadata in `charts/iperf3-monitor/templates/exporter-deployment.yaml`.
After these modifications, `helm lint charts/iperf3-monitor` passes without any errors or warnings.
Configure automated checks for pull requests including:
- Linting the Helm chart.
- Building the exporter Docker image.
- A placeholder for future tests.
Add core components for continuous cluster network validation:
- Python exporter (`exporter/`) to run iperf3 tests and expose Prometheus metrics.
- Helm chart (`charts/iperf3-monitor/`) for deploying the exporter as a
Deployment and iperf3 server as a DaemonSet.
- CI/CD workflow (`.github/workflows/release.yml`) for building/publishing
images and charts on tag creation.
- Initial documentation, license, and `.gitignore`.