This commit addresses several issues to improve repository accuracy and CI reliability:
1. **README.md Updates:**
* I corrected the Helm repository URL to `https://malarinv.github.io/iperf3-monitor/`.
* I updated the default exporter image name to `ghcr.io/malarinv/iperf3-monitor` in examples.
* I revised the License section to accurately reflect the AGPLv3 license present in the `LICENSE` file, removing contradictory statements.
2. **License Consistency:**
* I confirmed `LICENSE` file contains AGPLv3. README now correctly refers to it.
3. **Helm Chart Adjustments:**
* `charts/iperf3-monitor/Chart.yaml`: I removed placeholder comments for clarity. Versioning is handled by the release workflow.
* `charts/iperf3-monitor/values.yaml`: I updated `exporter.image.repository` to `ghcr.io/malarinv/iperf3-monitor` to match the CI build image name.
4. **CI Workflow Verification:**
* I verified that `.github/workflows/release.yml` correctly uses `yq` to set chart versions from Git tags and publishes to the correct GitHub Pages URL. This should prevent the previously noted `chart.metadata.version is required` error, which was associated with an older version of the release workflow.
These changes ensure that the documentation is up-to-date, the Helm chart defaults are correct, and the CI pipeline for chart publishing is robust.
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`.