* fix: Correct common lib repo URL, rename exporter template
- Reverted common library repository URL in Chart.yaml to
https://bjw-s-labs.github.io/helm-charts/.
- Ensured helm dependency commands are run after adding repositories.
- Renamed exporter template from exporter-deployment.yaml to
exporter-controller.yaml to better reflect its new role with common library.
Note: Full helm lint/template validation with dependencies was not possible
in the automated environment due to issues with dependency file persistence
in the sandbox.
* fix: Integrate bjw-s/common library for exporter controller
- Corrected bjw-s/common library repository URL in Chart.yaml to the
traditional HTTPS URL and ensured dependencies are fetched.
- Renamed exporter template to exporter-controller.yaml.
- Updated exporter-controller.yaml to correctly use
`bjw-s.common.render.controllers` for rendering.
- Refined the context passed to the common library to include Values, Chart,
Release, and Capabilities, and initialized expected top-level keys
(global, defaultPodOptionsStrategy) in the Values.
- Ensured image.tag is defaulted to Chart.AppVersion in the template data
to pass common library validations.
- Helm lint and template commands now pass successfully for both
Deployment and DaemonSet configurations of the exporter.
* fix: Set dependencies.install to false by default
- Changed the default value for `dependencies.install` to `false` in values.yaml.
- Updated comments to clarify that users should explicitly enable it if they
need the chart to install a Prometheus Operator dependency.
* fix: Update CI workflow to add Helm repositories and build dependencies
* hotfix: Pass .Template to common lib for tpl context
- Updated exporter-controller.yaml to include .Template in the dict
passed to the bjw-s.common.render.controllers include.
- This is to resolve a 'cannot retrieve Template.Basepath' error
encountered with the tpl function in older Helm versions (like v3.10.0 in CI)
when the tpl context does not contain the .Template object.
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
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.
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`.