diff --git a/.github/workflows/chart-testing.yml b/.github/workflows/chart-testing.yml new file mode 100644 index 0000000..626b5b0 --- /dev/null +++ b/.github/workflows/chart-testing.yml @@ -0,0 +1,59 @@ +name: Lint and Test Charts + +on: pull_request + +jobs: + lint-test: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Set up Helm + uses: azure/setup-helm@v4.2.0 + with: + version: v3.14.4 + + - uses: actions/setup-python@v5 + with: + python-version: '3.x' + check-latest: true + + - name: Set up chart-testing + uses: helm/chart-testing-action@v2.6.1 + + - name: Add repositories + run: | + for dir in $(ls -d charts/*/); do + helm dependency list $dir 2> /dev/null | tail +2 | head -n -1 | awk '{ print "helm repo add " $1 " " $3 }' | while read cmd; do $cmd; done + done + + - name: Run chart-testing (list-changed) + id: list-changed + run: | + changed=$(ct list-changed --target-branch ${{ github.event.repository.default_branch }}) + if [[ -n "$changed" ]]; then + echo "changed=true" >> "$GITHUB_OUTPUT" + fi + + - name: Run chart-testing (lint) + if: steps.list-changed.outputs.changed == 'true' && github.ref != 'refs/heads/develop' + run: ct lint --target-branch ${{ github.event.repository.default_branch }} --check-version-increment=false + + - name: Run chart-testing (lint & version) + if: github.event.pull_request.base.ref == 'main' + run: ct lint --target-branch main + + - name: Create kind cluster + if: steps.list-changed.outputs.changed == 'true' || github.event.pull_request.base.ref == 'main' + uses: helm/kind-action@v1.10.0 + + - name: Run chart-testing (install) + if: steps.list-changed.outputs.changed == 'true' && github.ref != 'refs/heads/develop' + run: ct install --target-branch ${{ github.event.repository.default_branch }} --skip-clean-up + + - name: Run chart-testing (install & upgrades) + if: github.event.pull_request.base.ref == 'main' + run: ct install --target-branch main --upgrade \ No newline at end of file diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e4a04c6..714391c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -20,7 +20,7 @@ jobs: git config user.email "$GITHUB_ACTOR@users.noreply.github.com" - name: Install Helm - uses: azure/setup-helm@v3 + uses: azure/setup-helm@v4 - name: Add repositories run: | diff --git a/charts/librenms/Chart.lock b/charts/librenms/Chart.lock index 11d99e3..54c9664 100644 --- a/charts/librenms/Chart.lock +++ b/charts/librenms/Chart.lock @@ -4,6 +4,6 @@ dependencies: version: 19.6.1 - name: mysql repository: https://charts.bitnami.com/bitnami - version: 10.3.0 -digest: sha256:7b8a3f1182b70837c842c8a9fe7c1fa913cadd6800f1f780f94c357af7fca21f -generated: "2024-07-05T12:50:36.211666249Z" + version: 11.1.8 +digest: sha256:4b82fafdf2c4c72a003d1dc6df9343a089eb5d2f686927d134821854f9633c83 +generated: "2024-07-09T10:22:10.255911997Z" diff --git a/charts/librenms/Chart.yaml b/charts/librenms/Chart.yaml index a4bed15..31f09dd 100644 --- a/charts/librenms/Chart.yaml +++ b/charts/librenms/Chart.yaml @@ -2,14 +2,17 @@ apiVersion: v2 name: librenms description: LibreNMS is an autodiscovering PHP/MySQL-based network monitoring system. type: application -version: 3.10.0 +version: 3.11.0 appVersion: "24.5.0" +maintainers: + - name: TheChef23 + url: https://github.com/TheChef23 dependencies: - name: redis version: "~19.6.0" repository: "https://charts.bitnami.com/bitnami" - when: redis.enabled == true + condition: redis.enabled - name: mysql - version: "~10.3.0" + version: "~11.1.0" repository: "https://charts.bitnami.com/bitnami" - when: mysql.enabled == true + condition: mysql.enabled diff --git a/charts/librenms/ci/test-values.yaml b/charts/librenms/ci/test-values.yaml new file mode 100644 index 0000000..da1f3e9 --- /dev/null +++ b/charts/librenms/ci/test-values.yaml @@ -0,0 +1,2 @@ +librenms: + appkey: base64:RTMmh+i10E2RMcDxookMu47BTzJQy87hOU+k/zcuPnA= diff --git a/charts/librenms/values.yaml b/charts/librenms/values.yaml index fad7e12..cc29378 100644 --- a/charts/librenms/values.yaml +++ b/charts/librenms/values.yaml @@ -9,7 +9,7 @@ librenms: # Laravel appkey used by LibreNMS, a default is set for useability it is # recommended to replace this with your own key # THIS A REQUIRED SETTINGS - appkey: + appkey: # Timezone used by librenms for communication with RRD cached timezone: UTC @@ -20,9 +20,7 @@ librenms: configuration: |- $config['distributed_poller_group'] = '0'; $config['distributed_poller'] = true; - - # Frontend container configurations options frontend: replicas: 1 @@ -47,9 +45,9 @@ librenms: # memory: 200M # SNMP network discovery scanner cron job. This job is optional and only use - # when having snmp network discovery enabled. For this to work either set the + # when having snmp network discovery enabled. For this to work either set the # 'nets' confifuration in the custom config on in the admin interface - # See the following link for more information: + # See the following link for more information: # https://docs.librenms.org/Extensions/Auto-Discovery/ snmp_scanner: enabled: false @@ -65,7 +63,7 @@ librenms: extraEnvs: {} # RRD cached is the tool that allows for distributed polling and is mandatory - # in this LibreNMS helm chart. See the rrdcached documentation for more + # in this LibreNMS helm chart. See the rrdcached documentation for more # information: https://oss.oetiker.ch/rrdtool/doc/rrdcached.en.html rrdcached: image: @@ -97,7 +95,7 @@ librenms: # Extra environment variable for RRDCACHED container extraEnvs: {} -# Configuration for MySQL dependency chart by Bitnami. See their chart for +# Configuration for MySQL dependency chart by Bitnami. See their chart for # more information: https://github.com/bitnami/charts/tree/master/bitnami/mysql mysql: enabled: true @@ -105,7 +103,7 @@ mysql: username: librenms database: librenms -# Configuration for redis dependency chart by Bitnami. See their chart for +# Configuration for redis dependency chart by Bitnami. See their chart for # more information: https://github.com/bitnami/charts/tree/master/bitnami/redis redis: enabled: true @@ -119,4 +117,4 @@ redis: master: disableCommands: [] - architecture: standalone \ No newline at end of file + architecture: standalone