Compare commits

...

124 Commits

Author SHA1 Message Date
Jacob Winther
e96aafcb1d
Merge pull request #79 from librenms/main
Merge pull request #78 from librenms/develop
2025-05-19 20:29:33 +12:00
Jacob Winther
f12cd6636b
Merge pull request #78 from librenms/develop
Merge develop into main
2025-05-19 20:08:24 +12:00
Jacob Winther
db52c5ce10
Update Chart.yaml 2025-05-19 19:43:52 +12:00
Jacob Winther
1d8729a2d4
Merge pull request #75 from librenms/renovate/mysql-13.x
Update Helm release mysql to v13
2025-05-19 19:42:39 +12:00
renovate[bot]
ed759f6cd2
Update Helm release mysql to v13 2025-05-19 07:25:32 +00:00
Jacob Winther
6ea6e19c12
Merge pull request #77 from librenms/renovate/librenms-librenms-25.x
Update librenms/librenms Docker tag to v25.5.0
2025-05-19 19:11:54 +12:00
Jacob Winther
126e5d1308
Merge pull request #76 from librenms/renovate/redis-21.x
Update Helm release redis to ~21.1.0
2025-05-19 14:46:49 +12:00
renovate[bot]
10e3bf6e3c Apply automatic changes 2025-05-16 22:21:51 +00:00
renovate[bot]
5a11d5a1da
Update librenms/librenms Docker tag to v25.5.0 2025-05-16 22:21:42 +00:00
renovate[bot]
3d95ae7da4
Update Helm release redis to ~21.1.0 2025-05-15 16:00:18 +00:00
Jacob Winther
c6a75c9f73
Merge pull request #74 from librenms/main
Merge main into develop
2025-05-08 19:39:06 +12:00
Jacob Winther
8924ca512c
Merge pull request #73 from librenms/develop
Merge develop into main
2025-05-08 19:37:26 +12:00
Jacob Winther
a3269b5660
Update Chart.yaml 2025-05-08 19:26:23 +12:00
Jacob Winther
a90a92e28e
Merge pull request #72 from librenms/renovate/redis-21.x
Update Helm release redis to v21
2025-05-08 19:25:40 +12:00
renovate[bot]
ff183d966b
Update Helm release redis to v21 2025-05-06 17:26:04 +00:00
Jacob Winther
6f475c1805
Merge pull request #68 from librenms/renovate/redis-20.x
Update Helm release redis to ~20.13.0
2025-04-26 14:33:56 +12:00
Jacob Winther
74d812de38
Merge pull request #70 from librenms/develop
Merge develop into main
2025-04-26 14:32:17 +12:00
Jacob Winther
e2b796d3ab Update Chart.yaml
Major version bump due to moving appkey to a secret.
2025-04-26 14:21:24 +12:00
renovate[bot]
d4d64e857d
Update Helm release redis to ~20.13.0 2025-04-26 02:20:00 +00:00
Jacob Winther
a37879be3d
Merge pull request #69 from librenms/appkey
Move appkey to secret
2025-04-26 14:17:33 +12:00
Jacob Winther
0a99414d6a Move appkey to secret
Move appkey to proper secret. Also support an existingSecret to allow managing the appkey outside on values.yaml.
2025-04-26 14:04:41 +12:00
Jacob Winther
9e10305468
Merge pull request #67 from librenms/main
Merge pull request #66 from librenms/develop
2025-04-16 20:50:48 +12:00
Jacob Winther
3d20312f7b
Merge pull request #66 from librenms/develop
Merge develop into main
2025-04-16 20:48:27 +12:00
Jacob Winther
250731eac6
Merge pull request #65 from librenms/403
Update Chart.yaml
2025-04-16 20:36:47 +12:00
Jacob Winther
1a0505e922 Update Chart.yaml 2025-04-16 20:32:09 +12:00
Jacob Winther
4e36066209
Merge pull request #62 from librenms/renovate/librenms-librenms-25.x
Update librenms/librenms Docker tag to v25.4.0
2025-04-16 20:14:46 +12:00
renovate[bot]
898d96c47f Apply automatic changes 2025-04-16 08:11:51 +00:00
renovate[bot]
e73232c1f7
Update librenms/librenms Docker tag to v25.4.0 2025-04-16 08:11:42 +00:00
Jacob Winther
390dad5420
Merge pull request #60 from librenms/renovate/redis-20.x
Update Helm release redis to ~20.12.0
2025-04-16 20:05:44 +12:00
renovate[bot]
b9d2d7938c
Update Helm release redis to ~20.12.0 2025-04-15 12:49:38 +00:00
Jacob Winther
0f1273e210
Merge pull request #59 from librenms/main
Merge main into develop
2025-04-12 21:04:26 +12:00
Jacob Winther
c9dc30d003
Merge pull request #58 from librenms/develop
Merge develop into main
2025-04-12 20:57:34 +12:00
Jacob Winther
1c38283500
Merge pull request #57 from librenms/402
Update Chart.yaml to trigger oci release
2025-04-12 20:47:20 +12:00
Jacob Winther
c5ef28897e Update Chart.yaml to trigger oci release 2025-04-12 20:43:15 +12:00
Jacob Winther
a4aae9d8bd
Merge pull request #56 from librenms/develop
Merge develop into main
2025-04-12 20:38:35 +12:00
Jacob Winther
b4a29df58c
Merge pull request #55 from librenms/401
Update Chart.yaml
2025-04-12 20:29:27 +12:00
Jacob Winther
b03dcec8dd Update Chart.yaml 2025-04-12 20:22:09 +12:00
Jacob Winther
9bb7058da6
Merge pull request #54 from librenms/develop
Merge changes from develop
2025-04-12 20:20:29 +12:00
Jacob Winther
9746efa489
Merge pull request #53 from librenms/oci
Push oci chart to ghcr
2025-04-12 20:17:10 +12:00
Jacob Winther
0c6c9d3bef Push oci chart to ghcr 2025-04-12 20:15:55 +12:00
Jacob Winther
69892fd155
Merge pull request #51 from librenms/main
Merge pull request #49 from librenms/develop
2025-03-20 20:23:11 +13:00
Jacob Winther
4ef38d9ce1
Merge pull request #49 from librenms/develop
Major version bump due to mysql chart breaking change.

Please see this one for details for how to manage MySQL upgrade:
https://github.com/bitnami/charts/tree/main/bitnami/mysql#to-1200
2025-03-20 20:01:19 +13:00
Jacob Winther
43e9b90822
Merge pull request #50 from librenms/chart-4.0.0
Update Chart.yaml
2025-03-20 19:46:58 +13:00
Jacob Winther
62d381f444 Update Chart.yaml
Major version bump due to mysql chart breaking change: https://github.com/bitnami/charts/tree/main/bitnami/mysql#to-1200
2025-03-20 19:26:37 +13:00
Jacob Winther
61f573cf40 Update Chart.yaml 2025-03-18 19:11:59 +13:00
Jacob Winther
d6725a562f
Merge pull request #48 from librenms/renovate/librenms-librenms-25.x
Update librenms/librenms Docker tag to v25.3.0
2025-03-18 19:09:22 +13:00
Jacob Winther
e52e4ca911
Merge pull request #28 from librenms/renovate/mysql-12.x
Update Helm release mysql to v12
2025-03-18 19:08:51 +13:00
renovate[bot]
d7d5a25941 Apply automatic changes 2025-03-17 10:52:01 +00:00
renovate[bot]
dab97a4d19
Update librenms/librenms Docker tag to v25.3.0 2025-03-17 10:51:50 +00:00
Jacob Winther
45db6b2ba7
Merge branch 'main' into develop
Sync develop branch
2025-03-13 19:57:33 +13:00
Jacob Winther
c50c590525
Merge pull request #46 from librenms/develop
Upgrade LibreNMS
2025-03-13 19:30:36 +13:00
Jacob Winther
f2ef463308 Upgrade LibreNMS 2025-03-13 19:26:22 +13:00
Jacob Winther
ec8f70e569
Merge pull request #45 from librenms/renovate/librenms-librenms-25.x
Update librenms/librenms Docker tag to v25
2025-03-10 22:00:09 +13:00
renovate[bot]
7ae6ec6cc2 Apply automatic changes 2025-03-10 08:58:55 +00:00
renovate[bot]
e8338ad154
Update librenms/librenms Docker tag to v25 2025-03-10 08:58:43 +00:00
Jacob Winther
2ec9adf4b8
Merge pull request #44 from librenms/renovate/azure-setup-helm-4.x
Update azure/setup-helm action to v4.3.0
2025-03-10 21:57:31 +13:00
renovate[bot]
5d508b16df
Update Helm release mysql to v12 2025-03-10 08:56:44 +00:00
Jacob Winther
45b101b8ec
Merge pull request #43 from librenms/renovate/redis-20.x
Update Helm release redis to ~20.11.0
2025-03-10 21:55:52 +13:00
renovate[bot]
de78ede4dc
Update azure/setup-helm action to v4.3.0 2025-03-10 08:51:01 +00:00
renovate[bot]
b6b3d503f8
Update Helm release redis to ~20.11.0 2025-03-10 08:50:41 +00:00
Jacob Winther
13341a88dc
Merge pull request #39 from librenms/renovate/helm-chart-testing-action-2.x
Update helm/chart-testing-action action to v2.7.0
2025-03-09 21:02:09 +13:00
Jacob Winther
00347b6d27
Merge pull request #38 from librenms/renovate/helm-chart-releaser-action-1.x
Update helm/chart-releaser-action action to v1.7.0
2025-03-09 20:43:36 +13:00
Jacob Winther
b624805f38
Merge pull request #35 from librenms/renovate/helm-kind-action-1.x
Update helm/kind-action action to v1.12.0
2025-03-09 20:42:27 +13:00
Jacob Winther
09a05df2a3
Merge pull request #42 from jacobw/custom
Fix custom.php
2025-03-09 20:37:44 +13:00
Jacob Winther
985c0fd9e2 Fix custom.php
custom.php is being placed in a location that isn't imported from config.php. This change fixes the location.

Origonally raised in PR#41 but that looks abandoned.
2025-03-09 19:22:27 +13:00
renovate[bot]
785e822f21
Update helm/chart-testing-action action to v2.7.0 2025-01-20 14:23:36 +00:00
renovate[bot]
0c0bdae1fc
Update helm/chart-releaser-action action to v1.7.0 2025-01-20 14:23:32 +00:00
Jochem
efc92a5626
Merge pull request #37 from librenms/develop
Upgrade LibreNMS
2025-01-13 11:02:48 +01:00
Jochem
be6c80bfcf
Merge pull request #34 from librenms/renovate/redis-20.x
Update Helm release redis to ~20.6.0
2025-01-08 21:42:26 +01:00
Jochem
c836396f41
Upgrade LibreNMS 2025-01-08 21:41:52 +01:00
Jochem
0890ed62e1
Merge pull request #36 from librenms/renovate/librenms-librenms-24.x
Update librenms/librenms Docker tag to v24.12.0
2025-01-08 21:40:58 +01:00
renovate[bot]
64b0561eb1 Apply automatic changes 2025-01-04 17:01:50 +00:00
renovate[bot]
e79e28375b
Update librenms/librenms Docker tag to v24.12.0 2025-01-04 17:01:38 +00:00
renovate[bot]
988be4d222
Update helm/kind-action action to v1.12.0 2024-12-23 10:51:51 +00:00
renovate[bot]
1d606523df
Update Helm release redis to ~20.6.0 2024-12-17 03:40:33 +00:00
Jochem
ddf5588472
Merge pull request #33 from librenms/develop
upgrade librenms
2024-12-03 14:23:47 +01:00
Jochem
c50632da6f
Update Chart.yaml 2024-12-03 14:13:24 +01:00
Jochem
e01578ccab
Merge pull request #31 from librenms/renovate/librenms-librenms-24.x
Update librenms/librenms Docker tag to v24.11.0
2024-12-03 14:11:29 +01:00
renovate[bot]
b09c567c54 Apply automatic changes 2024-12-03 13:11:22 +00:00
renovate[bot]
d6578502af
Update librenms/librenms Docker tag to v24.11.0 2024-12-03 13:11:11 +00:00
Jochem
56adeb51e6
Merge pull request #32 from librenms/develop
Upgrade librenms
2024-12-03 14:08:22 +01:00
Jochem
4225c25eee
Merge branch 'main' into develop 2024-12-03 13:57:10 +01:00
Jochem
04b2891002
Update Chart.yaml 2024-12-03 13:54:18 +01:00
Jochem
3c35474565
Merge pull request #30 from librenms/renovate/redis-20.x
Update Helm release redis to ~20.4.0
2024-12-03 13:53:19 +01:00
Jochem
ecd0ac7568
Merge pull request #29 from librenms/renovate/librenms-librenms-24.x
Update librenms/librenms Docker tag to v24.10.1
2024-12-03 13:52:58 +01:00
renovate[bot]
270d48319a
Update Helm release redis to ~20.4.0 2024-12-02 10:42:50 +00:00
Jochem
42250bfe2f
Merge branch 'develop' into renovate/librenms-librenms-24.x 2024-11-28 15:15:11 +01:00
Jochem
1fc504b2a7
Merge pull request #25 from librenms/renovate/redis-20.x
Update Helm release redis to ~20.3.0
2024-11-28 15:14:46 +01:00
Jochem
50385f322d
Upggrade liubrenms 2024-11-28 15:14:16 +01:00
renovate[bot]
148289bc04 Apply automatic changes 2024-11-28 01:15:09 +00:00
renovate[bot]
32e6757ac6
Update librenms/librenms Docker tag to v24.10.1 2024-11-28 01:14:57 +00:00
renovate[bot]
0298cf9752
Update Helm release redis to ~20.3.0 2024-11-14 14:30:19 +00:00
Neil Lathwood
1a5eb5f378
Merge pull request #26 from librenms/renovate/librenms-librenms-24.x
Update librenms/librenms Docker tag to v24.9.1
2024-10-15 23:30:38 +01:00
renovate[bot]
c614f34af0 Apply automatic changes 2024-10-15 21:04:07 +00:00
renovate[bot]
3a674c499e
Update librenms/librenms Docker tag to v24.9.1 2024-10-15 21:03:55 +00:00
Jochem
8ab2cf737c
Merge pull request #24 from librenms/develop
Update librenms
2024-09-01 17:26:15 +02:00
Jochem
6a3ed61098
Bump chart 2024-09-01 17:09:31 +02:00
Jochem
2b87f80fcb
Merge pull request #23 from librenms/renovate/librenms-librenms-24.x
Update librenms/librenms Docker tag to v24.8.1
2024-09-01 17:08:26 +02:00
renovate[bot]
4e563ae728 Apply automatic changes 2024-08-25 23:29:25 +00:00
renovate[bot]
767f882144
Update librenms/librenms Docker tag to v24.8.1 2024-08-25 23:29:15 +00:00
Jochem
8f119860eb
Merge pull request #22 from librenms/develop
Bump redis version
2024-08-15 14:32:28 +02:00
Jochem
70cb6d8662
Update Chart.yaml 2024-08-15 13:52:13 +02:00
Jochem
4c11249a68
Merge pull request #21 from librenms/renovate/redis-20.x
Update Helm release redis to v20
2024-08-15 13:51:38 +02:00
renovate[bot]
92c00d2780
Update Helm release redis to v20 2024-08-09 16:13:17 +00:00
Jochem
992ba1c6c2
Merge pull request #20 from librenms/develop
Update LibreNMS
2024-07-31 12:33:42 +02:00
Jochem
4f2053a1c5
Fix maintainers 2024-07-31 11:58:08 +02:00
Jochem
abdee24ec3
Merge branch 'main' into develop 2024-07-31 11:55:54 +02:00
Jochem
c90f6e3189
Bump version 2024-07-31 11:53:37 +02:00
renovate[bot]
6d597db8ee
Update librenms/librenms Docker tag to v24.6.0 (#19)
* Update librenms/librenms Docker tag to v24.6.0

* Apply automatic changes

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>
2024-07-31 11:52:22 +02:00
Jochem
62b40e4657
Add ingress object (#16) (#17)
* Add ingress object (#16)

* Add ingress and testing values

* Bump version

* Fix CI values
2024-07-12 11:29:09 +02:00
Jochem
bb54381e1d
Fix CI values 2024-07-11 22:31:11 +02:00
Jochem
8750eca39b
Add ingress object (#16)
* Add ingress and testing values

* Bump version
2024-07-11 20:46:50 +02:00
Jochem
cd178d3a0a
Merge pull request #15 from librenms/develop
Release librenms chart
2024-07-11 13:44:53 +02:00
Jochem
c9551703a0
Add Makefile and helm-docs for value injection into readme
Adjust readme, add comments to values

Bump chart version
2024-07-11 13:30:15 +02:00
renovate[bot]
ad1590bbf0
Update azure/setup-helm action to v4 2024-07-11 13:30:15 +02:00
renovate[bot]
18d0d369b4
Update actions/checkout action to v4 2024-07-11 13:30:15 +02:00
Jochem
df41fab40f
Make sure develop branch does cleanup
Adjust testing flow

Bump chart version
2024-07-11 13:30:15 +02:00
Jochem
e55ddb5781
Skip version increment check
Adjust workflow
2024-07-11 13:30:14 +02:00
renovate[bot]
2cfc457f5a
Update Helm release mysql to v11 2024-07-11 13:30:14 +02:00
renovate[bot]
b952aa4c5f
Update actions/checkout action to v4 2024-07-11 13:30:14 +02:00
Jochem
1956965950
Test pipeline
Test pipeline

Test pipeline

Fix pipeline

Fix liting
2024-07-11 13:30:14 +02:00
Jochem
7c859e8d3c Merge branch 'develop' 2024-07-05 16:33:29 +02:00
Jochem
55d9cec145 Merge branch 'develop' 2024-07-05 15:17:56 +02:00
Jochem
a5f0bb76c4
Merge pull request #8 from librenms/develop
Update redis and style changes
2024-07-05 15:15:01 +02:00
18 changed files with 520 additions and 61 deletions

59
.github/workflows/chart-testing.yml vendored Normal file
View File

@ -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.3.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.7.0
- 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.12.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

View File

@ -7,6 +7,8 @@ jobs:
if: github.ref == 'refs/heads/main'
permissions:
contents: write
packages: write
runs-on: ubuntu-latest
steps:
- name: Checkout
@ -20,7 +22,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: |
@ -29,6 +31,24 @@ jobs:
done
- name: Run chart-releaser
uses: helm/chart-releaser-action@v1.6.0
uses: helm/chart-releaser-action@v1.7.0
env:
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
# see https://github.com/helm/chart-releaser/issues/183
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Push charts to GHCR
run: |
shopt -s nullglob
for pkg in .cr-release-packages/*; do
if [ -z "${pkg:-}" ]; then
break
fi
helm push "${pkg}" "oci://ghcr.io/${GITHUB_REPOSITORY_OWNER}/charts"
done

40
Makefile Normal file
View File

@ -0,0 +1,40 @@
DOCS_IMAGE_VERSION="v1.14.2"
LINT_IMAGE_VERSION="v3.8.0"
# Charts's path relative to the current directory.
CHARTS := $(wildcard ./charts/*)
CHARTS_NAMES := $(notdir $(CHARTS))
.PHONY: lint
lint: helm-deps-update $(addprefix lint-, $(CHARTS_NAMES))
lint-%:
@docker run \
-it \
-e HOME=/home/ct \
--mount type=tmpfs,destination=/home/ct \
--workdir=/data \
--volume $$(pwd):/data \
-u $$(id -u) \
quay.io/helmpack/chart-testing:$(LINT_IMAGE_VERSION) \
ct lint --config ./ct.yaml --charts ./charts/$*
.PHONY: docs
docs: $(addprefix docs-, $(CHARTS_NAMES))
docs-%:
@docker run \
--rm \
--workdir=/helm-docs \
--volume "$$(pwd):/helm-docs" \
-u $$(id -u) \
jnorwood/helm-docs:$(DOCS_IMAGE_VERSION) \
helm-docs -c ./charts/$* -t ./README.gotmpl -o ./README.md
.PHONY: helm-deps-update
helm-deps-update: $(addprefix helm-deps-update-, $(CHARTS_NAMES))
helm-deps-update-%:
helm dependency update ./charts/$*

View File

@ -1,9 +1,9 @@
dependencies:
- name: redis
repository: https://charts.bitnami.com/bitnami
version: 19.6.1
version: 21.1.3
- name: mysql
repository: https://charts.bitnami.com/bitnami
version: 10.3.0
digest: sha256:7b8a3f1182b70837c842c8a9fe7c1fa913cadd6800f1f780f94c357af7fca21f
generated: "2024-07-05T12:50:36.211666249Z"
version: 13.0.0
digest: sha256:ab48525b17834c3b7e491483bb35fad9d11ddbf74368a352cafd59dbbe34d940
generated: "2025-05-19T07:25:23.570909791Z"

View File

@ -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
appVersion: "24.5.0"
version: 5.0.2
appVersion: "25.5.0"
maintainers:
- name: jacobw
url: https://github.com/jacobw
dependencies:
- name: redis
version: "~19.6.0"
version: "~21.1.0"
repository: "https://charts.bitnami.com/bitnami"
when: redis.enabled == true
condition: redis.enabled
- name: mysql
version: "~10.3.0"
version: "~13.0.0"
repository: "https://charts.bitnami.com/bitnami"
when: mysql.enabled == true
condition: mysql.enabled

View File

@ -0,0 +1,66 @@
# LibreNMS
{{ template "chart.badgesSection" . }}
## TL;DR
```shell
$ helm repo add librenms https://www.librenms.org/helm-charts
$ helm install my-release librenms/librenms --set appkey=<LibreNMS Application key>
```
## Prerequisites
- This chart has only been tested on Kubernetes 1.18+, but should work on 1.14+
- Recent versions of Helm 3 are supported
## Installing the Chart
To install the chart with the release name `my-release` and default configuration:
```shell
$ helm repo add librenms https://www.librenms.org/helm-charts
$ helm install my-release librenms/librenms --set appkey=<LibreNMS Application key>
```
## Values
Check the [values.yaml](./values.yaml) file for the available settings for this chart and its
dependencies.
### Required values:
```
librenms:
appkey:
```
This should be filled with a laravel appkey, this can be generated using the laravel artisan command:
```
php artisan key:generate
```
The value should look like:
```
librenms:
appkey: base64:RTMmh+i10E2RMcDxookMu47BTzJQy87hOU+k/zcuPnA=
```
### Recommendations
* `librenms.poller.replicas`: Depending on the scale of your installation, the amount of poller pods needs to b scaled up. Use the poller page in the LibreNMS interface to check for scaling issues.
### Available values
The following table lists the main configurable parameters of the {{ template "chart.name" . }} chart v{{ template "chart.version" . }} and their default values. Please, refer to [values.yaml](./values.yaml) for the full list of configurable parameters.
{{ template "chart.valuesSection" . }}
## Uninstalling the Chart
To delete the chart:
```shell
$ helm delete my-release
```
{{ template "chart.requirementsSection" . }}
{{ template "chart.maintainersSection" . }}
{{ template "helm-docs.versionFooter" . }}

View File

@ -1,7 +1,5 @@
# LibreNMS
[LibreNMS](https://docs.librenms.org/) is an IP address management (IPAM) and
data center infrastructure management (DCIM) tool.
![Version: 3.12.0](https://img.shields.io/badge/Version-3.12.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 24.5.0](https://img.shields.io/badge/AppVersion-24.5.0-informational?style=flat-square)
## TL;DR
@ -25,15 +23,74 @@ $ helm install my-release librenms/librenms --set appkey=<LibreNMS Application k
```
## Values
Check the [values.yaml](/librenms/helm-charts/charts/librenms/blob/main/values.yaml) file for the available settings for this chart and its
Check the [values.yaml](./values.yaml) file for the available settings for this chart and its
dependencies.
### Required values:
```
librenms:
appkey:
appkey:
```
This should be filled with a laravel appkey, this can be generated using the laravel artisan command:
```
php artisan key:generate
```
The value should look like:
```
librenms:
appkey: base64:RTMmh+i10E2RMcDxookMu47BTzJQy87hOU+k/zcuPnA=
```
### Recommendations
* `librenms.poller.replicas`: Depending on the scale of your installation, the amount of poller pods needs to b scaled up. Use the poller page in the LibreNMS interface to check for scaling issues.
### Available values
The following table lists the main configurable parameters of the librenms chart v3.12.0 and their default values. Please, refer to [values.yaml](./values.yaml) for the full list of configurable parameters.
## Values
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| ingress | object | `{"annotations":{},"className":"","enabled":false,"hosts":[{"host":"chart-example.local","paths":[{"path":"/","pathType":"ImplementationSpecific"}]}],"tls":[]}` | LibreNMS ingress configuration |
| ingress.annotations | object | `{}` | Ingress annotations |
| ingress.className | string | `""` | Ingress class name |
| ingress.enabled | bool | `false` | Enable or disable ingress |
| ingress.hosts | list | `[{"host":"chart-example.local","paths":[{"path":"/","pathType":"ImplementationSpecific"}]}]` | Ingress ingress rules |
| librenms.appkey | string | `nil` | Laravel appkey used by LibreNMS, this should be generated by you and is a required setting. See the README for more information |
| librenms.configuration | string | `"$config['distributed_poller_group'] = '0';\n$config['distributed_poller'] = true;\n"` | Custom configuration options for LibreNMS. Fore more infomation on options in this file check the following link: https://docs.librenms.org/Support/Configuration/ |
| librenms.extraEnvs | object | `{}` | LibreNMS frontend extra envs |
| librenms.frontend.readinessProbe.httpGet.path | string | `"/login"` | Check endpoint path |
| librenms.frontend.readinessProbe.httpGet.port | int | `8000` | Check endpoint port |
| librenms.frontend.readinessProbe.initialDelaySeconds | int | `30` | |
| librenms.frontend.readinessProbe.periodSeconds | int | `60` | |
| librenms.frontend.readinessProbe.timeoutSeconds | int | `10` | |
| librenms.frontend.replicas | int | `1` | Frontend replicas |
| librenms.frontend.resources | object | `{}` | resources defines the computing resources (CPU and memory) that are allocated to the containers running within the Pod. |
| librenms.image.repository | string | `"librenms/librenms"` | repository is the image repository to pull from. |
| librenms.image.tag | string | `"24.5.0"` | tag is image tag to pull. |
| librenms.poller.replicas | int | `2` | Poller replicas |
| librenms.poller.resources | object | `{}` | resources defines the computing resources (CPU and memory) that are allocated to the containers running within the Pod. |
| librenms.rrdcached | object | `{"envs":[{"name":"TZ","value":"Europe/Amsterdam"},{"name":"WRITE_JITTER","value":"1800"},{"name":"WRITE_TIMEOUT","value":"1800"}],"extraEnvs":{},"image":{"repository":"crazymax/rrdcached","tag":"1.8.0"},"livenessProbe":{"initialDelaySeconds":15,"periodSeconds":20,"tcpSocket":{"port":42217}},"persistence":{"enabled":true,"journal":{"size":"1Gi"},"rrdcached":{"size":"10Gi"}},"resources":{}}` | RRD cached is the tool that allows for distributed polling and is mandatory in this LibreNMS helm chart. See the rrdcached documentation for more information: https://oss.oetiker.ch/rrdtool/doc/rrdcached.en.html |
| librenms.rrdcached.envs[0] | object | `{"name":"TZ","value":"Europe/Amsterdam"}` | env variables RRD Cached |
| librenms.rrdcached.extraEnvs | object | `{}` | Extra environment variable for RRDCACHED container |
| librenms.rrdcached.image.repository | string | `"crazymax/rrdcached"` | repository is the image repository to pull from. |
| librenms.rrdcached.image.tag | string | `"1.8.0"` | tag is image tag to pull. |
| librenms.rrdcached.livenessProbe.tcpSocket | object | `{"port":42217}` | RRD cached liveness probe |
| librenms.rrdcached.persistence.enabled | bool | `true` | RRDCached persistent volume enabled |
| librenms.rrdcached.persistence.journal.size | string | `"1Gi"` | RRDCached journal PV size |
| librenms.rrdcached.persistence.rrdcached.size | string | `"10Gi"` | RRDCached RRD storage PV size |
| librenms.rrdcached.resources | object | `{}` | resources defines the computing resources (CPU and memory) that are allocated to the containers running within the Pod. |
| librenms.snmp_scanner | object | `{"cron":"15 * * * *","enabled":false,"extraEnvs":{},"resources":{}}` | 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 'nets' confifuration in the custom config on in the admin interface See the following link for more information: https://docs.librenms.org/Extensions/Auto-Discovery/ |
| librenms.snmp_scanner.cron | string | `"15 * * * *"` | SNMP scanner cornjob syntac interval |
| librenms.snmp_scanner.enabled | bool | `false` | SNMP scanner enabled |
| librenms.snmp_scanner.extraEnvs | object | `{}` | SNMP scanner extra envs |
| librenms.snmp_scanner.resources | object | `{}` | resources defines the computing resources (CPU and memory) that are allocated to the containers running within the Pod. |
| librenms.timezone | string | `"UTC"` | Timezone used by librenms for communication with RRD cached |
| mysql | object | `{"auth":{"database":"librenms","username":"librenms"},"enabled":true}` | Configuration for MySQL dependency chart by Bitnami. See their chart for more information: https://github.com/bitnami/charts/tree/master/bitnami/mysql |
| redis | object | `{"architecture":"standalone","auth":{"enabled":false,"sentinel":false},"enabled":true,"master":{"disableCommands":[]},"sentinel":{"enabled":false}}` | Configuration for redis dependency chart by Bitnami. See their chart for more information: https://github.com/bitnami/charts/tree/master/bitnami/redis |
## Uninstalling the Chart
To delete the chart:
@ -42,21 +99,18 @@ To delete the chart:
$ helm delete my-release
```
## License
## Requirements
> The following notice applies to all files contained within this Helm Chart and
> the Git repository which contains it:
>
> Copyright 2022 Jochem Bruijns
>
> Licensed under the Apache License, Version 2.0 (the "License");
> you may not use this file except in compliance with the License.
> You may obtain a copy of the License at
>
> http://www.apache.org/licenses/LICENSE-2.0
>
> Unless required by applicable law or agreed to in writing, software
> distributed under the License is distributed on an "AS IS" BASIS,
> WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> See the License for the specific language governing permissions and
> limitations under the License.
| Repository | Name | Version |
|------------|------|---------|
| https://charts.bitnami.com/bitnami | mysql | ~11.1.0 |
| https://charts.bitnami.com/bitnami | redis | ~19.6.0 |
## Maintainers
| Name | Email | Url |
| ---- | ------ | --- |
| TheChef23 | | <https://github.com/TheChef23> |
----------------------------------------------
Autogenerated from chart metadata using [helm-docs v1.14.2](https://github.com/norwoodj/helm-docs/releases/v1.14.2)

View File

@ -0,0 +1,4 @@
librenms:
appkey: base64:RTMmh+i10E2RMcDxookMu47BTzJQy87hOU+k/zcuPnA=
ingress:
enabled: true

View File

@ -1 +0,0 @@
APP_KEY={{.Values.librenms.appkey}}

View File

@ -1,7 +1,7 @@
#!/bin/sh
TARGET="/data/env-volume/env"
echo "Target: $TARGET"
cp /data/files/env $TARGET
echo -e "\nNODE_ID=`hostname`" >> $TARGET
echo "APP_KEY=$(cat /data/key/appkey)" > $TARGET
echo "NODE_ID=$(hostname)" >> $TARGET
cat $TARGET

View File

@ -1,3 +1,77 @@
{{- define "librenms.configChecksum" -}}
{{- include (print $.Template.BasePath "/librenms-configmap.yml") . | sha256sum -}}
{{- end -}}
{{/*
Expand the name of the chart.
*/}}
{{- define "librenms.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
{{- end }}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "librenms.fullname" -}}
{{- if .Values.fullnameOverride }}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- $name := default .Chart.Name .Values.nameOverride }}
{{- if contains $name .Release.Name }}
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
{{- end }}
{{- end }}
{{- end }}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "librenms.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
{{- end }}
{{/*
Common labels
*/}}
{{- define "librenms.labels" -}}
helm.sh/chart: {{ include "librenms.chart" . }}
{{ include "librenms.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end }}
{{/*
Selector labels
*/}}
{{- define "librenms.selectorLabels" -}}
app.kubernetes.io/name: {{ include "librenms.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}
{{/*
Create the name of the service account to use
*/}}
{{- define "librenms.serviceAccountName" -}}
{{- if .Values.serviceAccount.create }}
{{- default (include "librenms.fullname" .) .Values.serviceAccount.name }}
{{- else }}
{{- default "default" .Values.serviceAccount.name }}
{{- end }}
{{- end }}
{{/*
Create the name of the secret to use
*/}}
{{- define "librenms.secretName" -}}
{{- if .Values.librenms.existingSecret -}}
{{- .Values.librenms.existingSecret -}}
{{- else -}}
{{- .Release.Name -}}
{{- end -}}
{{- end -}}

View File

@ -0,0 +1,62 @@
{{- if .Values.ingress.enabled -}}
{{- $fullName := .Release.Name -}}
{{- $svcPort := 8000 -}}
{{- if and .Values.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }}
{{- if not (hasKey .Values.ingress.annotations "kubernetes.io/ingress.class") }}
{{- $_ := set .Values.ingress.annotations "kubernetes.io/ingress.class" .Values.ingress.className}}
{{- end }}
{{- end }}
{{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}}
apiVersion: networking.k8s.io/v1
{{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}}
apiVersion: networking.k8s.io/v1beta1
{{- else -}}
apiVersion: extensions/v1beta1
{{- end }}
kind: Ingress
metadata:
name: {{ .Release.Name }}
labels:
app.kubernetes.io/name: {{ .Release.Name }}
app.kubernetes.io/instance: frontend
{{- with .Values.ingress.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
{{- if and .Values.ingress.className (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion) }}
ingressClassName: {{ .Values.ingress.className }}
{{- end }}
{{- if .Values.ingress.tls }}
tls:
{{- range .Values.ingress.tls }}
- hosts:
{{- range .hosts }}
- {{ . | quote }}
{{- end }}
secretName: {{ .secretName }}
{{- end }}
{{- end }}
rules:
{{- range .Values.ingress.hosts }}
- host: {{ .host | quote }}
http:
paths:
{{- range .paths }}
- path: {{ .path }}
{{- if and .pathType (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion) }}
pathType: {{ .pathType }}
{{- end }}
backend:
{{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }}
service:
name: {{ $fullName }}
port:
number: {{ $svcPort }}
{{- else }}
serviceName: {{ $fullName }}
servicePort: {{ $svcPort }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}

View File

@ -23,7 +23,5 @@ metadata:
data:
custom.php: |-
{{ tpl (.Files.Get "files/custom.php") . | indent 4 }}
env: |-
{{ tpl (.Files.Get "files/env") . | indent 4 }}
init.sh: |-
{{ tpl (.Files.Get "files/init.sh") . | indent 4 }}
{{ .Files.Get "files/init.sh" | indent 4 }}

View File

@ -19,6 +19,9 @@ spec:
volumes:
- name: env-volume
emptyDir: {}
- name: key
secret:
secretName: {{ include "librenms.secretName" . }}
- name: files
configMap:
name: {{ .Release.Name }}-files
@ -33,6 +36,8 @@ spec:
volumeMounts:
- name: env-volume
mountPath: /data/env-volume
- name: key
mountPath: /data/key
- name: files
mountPath: /data/files
containers:
@ -55,7 +60,7 @@ spec:
- name: files
mountPath: /data/files
- name: files
mountPath: /opt/librenms/custom.php
mountPath: /data/config/custom.php
subPath: custom.php
readOnly: true
- name: mysql

View File

@ -20,6 +20,9 @@ spec:
volumes:
- name: env-volume
emptyDir: {}
- name: key
secret:
secretName: {{ include "librenms.secretName" . }}
- name: files
configMap:
name: {{ .Release.Name }}-files
@ -33,6 +36,8 @@ spec:
volumeMounts:
- name: env-volume
mountPath: /data/env-volume
- name: key
mountPath: /data/key
- name: files
mountPath: /data/files
containers:

View File

@ -0,0 +1,10 @@
{{- if not .Values.librenms.existingSecret }}
---
apiVersion: v1
kind: Secret
metadata:
name: {{ .Release.Name }}
type: Opaque
data:
appkey: {{ .Values.librenms.appkey | b64enc | quote }}
{{- end }}

View File

@ -3,90 +3,120 @@
# Declare variables to be passed into your templates.
librenms:
image:
# -- repository is the image repository to pull from.
repository: librenms/librenms
tag: 24.5.0
# -- tag is image tag to pull.
tag: 25.5.0
# 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:
# -- Laravel appkey used by LibreNMS, this should be generated by you and is a
# required setting. See the README for more information
appkey:
# Timezone used by librenms for communication with RRD cached
# -- Existing secret name to use for appkey
# Must have the key 'appkey' as above
existingSecret: false
# -- Timezone used by librenms for communication with RRD cached
timezone: UTC
# Custom configuration options for LibreNMS. Fore more infomation on options
# -- Custom configuration options for LibreNMS. Fore more infomation on options
# in this file check the following link:
# https://docs.librenms.org/Support/Configuration/
configuration: |-
configuration: |
$config['distributed_poller_group'] = '0';
$config['distributed_poller'] = true;
# Frontend container configurations options
frontend:
# -- Frontend replicas
replicas: 1
readinessProbe:
httpGet:
# -- Check endpoint path
path: /login
# -- Check endpoint port
port: 8000
initialDelaySeconds: 30
periodSeconds: 60
timeoutSeconds: 10
# -- resources defines the computing resources (CPU and memory)
# that are allocated to the containers running within the Pod.
resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# requests:
# cpu: 50m
# memory: 150M
# Distributed poller container configurations options
poller:
# -- Poller replicas
replicas: 2
# -- resources defines the computing resources (CPU and memory)
# that are allocated to the containers running within the Pod.
resources: {}
# requests:
# cpu: 500m
# 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
# -- 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
# '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:
# -- SNMP scanner enabled
enabled: false
# -- SNMP scanner cornjob syntac interval
cron: 15 * * * *
# -- resources defines the computing resources (CPU and memory)
# that are allocated to the containers running within the Pod.
resources: {}
# requests:
# cpu: 500m
# memory: 200M
# Extra environment variable for LibreNMS SNMP scanner container
# -- SNMP scanner extra envs
extraEnvs: {}
# Extra environment variable for LibreNMS container
# -- LibreNMS frontend extra envs
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
# -- RRD cached is the tool that allows for distributed polling and is mandatory
# in this LibreNMS helm chart. See the rrdcached documentation for more
# information: https://oss.oetiker.ch/rrdtool/doc/rrdcached.en.html
rrdcached:
image:
# -- repository is the image repository to pull from.
repository: crazymax/rrdcached
# -- tag is image tag to pull.
tag: 1.8.0
persistence:
# -- RRDCached persistent volume enabled
enabled: true
journal:
# -- RRDCached journal PV size
size: 1Gi
rrdcached:
# -- RRDCached RRD storage PV size
size: 10Gi
# -- resources defines the computing resources (CPU and memory)
# that are allocated to the containers running within the Pod.
resources: {}
# requests:
# cpu: 100m
# memory: 500M
livenessProbe:
# -- RRD cached liveness probe
tcpSocket:
port: 42217
initialDelaySeconds: 15
periodSeconds: 20
envs:
# -- env variables RRD Cached
- name: TZ
value: "Europe/Amsterdam"
- name: WRITE_JITTER
@ -94,10 +124,31 @@ librenms:
- name: WRITE_TIMEOUT
value: '1800'
# Extra environment variable for RRDCACHED container
# -- Extra environment variable for RRDCACHED container
extraEnvs: {}
# Configuration for MySQL dependency chart by Bitnami. See their chart for
# -- LibreNMS ingress configuration
ingress:
# -- Enable or disable ingress
enabled: false
# -- Ingress class name
className: ""
# -- Ingress annotations
annotations: {}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
# -- Ingress ingress rules
hosts:
- host: chart-example.local
paths:
- path: /
pathType: ImplementationSpecific
tls: []
# - secretName: chart-example-tls
# hosts:
# - chart-example.local
# -- 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 +156,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 +170,4 @@ redis:
master:
disableCommands: []
architecture: standalone
architecture: standalone

9
ct.yaml Normal file
View File

@ -0,0 +1,9 @@
remote: origin
validate-maintainers: false
target-branch: main
chart-repos:
- librenms=https://www.librenms.org/helm-charts/
- bitnami=https://charts.bitnami.com/bitnami/
helm-extra-args: --timeout 800s
chart-dirs:
- charts