forked from RemoteSync/librnms-helm-charts
Compare commits
52 Commits
librenms-3
...
librenms-e
Author | SHA1 | Date | |
---|---|---|---|
22056e3944 | |||
|
e96aafcb1d | ||
|
f12cd6636b | ||
|
db52c5ce10 | ||
|
1d8729a2d4 | ||
|
ed759f6cd2 | ||
|
6ea6e19c12 | ||
|
126e5d1308 | ||
|
10e3bf6e3c | ||
|
5a11d5a1da | ||
|
3d95ae7da4 | ||
|
c6a75c9f73 | ||
|
8924ca512c | ||
|
a3269b5660 | ||
|
a90a92e28e | ||
|
ff183d966b | ||
|
6f475c1805 | ||
|
74d812de38 | ||
|
e2b796d3ab | ||
|
d4d64e857d | ||
|
a37879be3d | ||
|
0a99414d6a | ||
|
9e10305468 | ||
|
3d20312f7b | ||
|
250731eac6 | ||
|
1a0505e922 | ||
|
4e36066209 | ||
|
898d96c47f | ||
|
e73232c1f7 | ||
|
390dad5420 | ||
|
b9d2d7938c | ||
|
0f1273e210 | ||
|
c9dc30d003 | ||
|
1c38283500 | ||
|
c5ef28897e | ||
|
a4aae9d8bd | ||
|
b4a29df58c | ||
|
b03dcec8dd | ||
|
9bb7058da6 | ||
|
9746efa489 | ||
|
0c6c9d3bef | ||
|
69892fd155 | ||
|
4ef38d9ce1 | ||
|
43e9b90822 | ||
|
62d381f444 | ||
|
61f573cf40 | ||
|
d6725a562f | ||
|
e52e4ca911 | ||
|
d7d5a25941 | ||
|
dab97a4d19 | ||
|
45db6b2ba7 | ||
|
5d508b16df |
22
.github/workflows/release.yml
vendored
22
.github/workflows/release.yml
vendored
@@ -7,6 +7,8 @@ jobs:
|
|||||||
if: github.ref == 'refs/heads/main'
|
if: github.ref == 'refs/heads/main'
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
|
packages: write
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
@@ -31,4 +33,22 @@ jobs:
|
|||||||
- name: Run chart-releaser
|
- name: Run chart-releaser
|
||||||
uses: helm/chart-releaser-action@v1.7.0
|
uses: helm/chart-releaser-action@v1.7.0
|
||||||
env:
|
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
|
@@ -1,9 +1,9 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
- name: redis
|
- name: redis
|
||||||
repository: https://charts.bitnami.com/bitnami
|
repository: https://charts.bitnami.com/bitnami
|
||||||
version: 20.11.2
|
version: 21.1.3
|
||||||
- name: mysql
|
- name: mysql
|
||||||
repository: https://charts.bitnami.com/bitnami
|
repository: https://charts.bitnami.com/bitnami
|
||||||
version: 11.1.20
|
version: 13.0.0
|
||||||
digest: sha256:98e21356d5f7a0ae37cc2bcd0fe3b55ad80bb892e0ecee13551164ed5580f527
|
digest: sha256:ab48525b17834c3b7e491483bb35fad9d11ddbf74368a352cafd59dbbe34d940
|
||||||
generated: "2025-03-10T08:50:31.291990148Z"
|
generated: "2025-05-19T07:25:23.570909791Z"
|
||||||
|
@@ -2,17 +2,17 @@ apiVersion: v2
|
|||||||
name: librenms
|
name: librenms
|
||||||
description: LibreNMS is an autodiscovering PHP/MySQL-based network monitoring system.
|
description: LibreNMS is an autodiscovering PHP/MySQL-based network monitoring system.
|
||||||
type: application
|
type: application
|
||||||
version: 3.19.0
|
version: 5.0.2
|
||||||
appVersion: "25.2.0"
|
appVersion: "25.5.0"
|
||||||
maintainers:
|
maintainers:
|
||||||
- name: jochbru
|
- name: jacobw
|
||||||
url: https://github.com/jochbru
|
url: https://github.com/jacobw
|
||||||
dependencies:
|
dependencies:
|
||||||
- name: redis
|
- name: redis
|
||||||
version: "~20.11.0"
|
version: "~21.1.0"
|
||||||
repository: "https://charts.bitnami.com/bitnami"
|
repository: "https://charts.bitnami.com/bitnami"
|
||||||
condition: redis.enabled
|
condition: redis.enabled
|
||||||
- name: mysql
|
- name: mysql
|
||||||
version: "~11.1.0"
|
version: "~13.0.0"
|
||||||
repository: "https://charts.bitnami.com/bitnami"
|
repository: "https://charts.bitnami.com/bitnami"
|
||||||
condition: mysql.enabled
|
condition: mysql.enabled
|
||||||
|
@@ -1 +0,0 @@
|
|||||||
APP_KEY={{.Values.librenms.appkey}}
|
|
@@ -1,7 +1,7 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
TARGET="/data/env-volume/env"
|
TARGET="/data/env-volume/env"
|
||||||
echo "Target: $TARGET"
|
echo "Target: $TARGET"
|
||||||
cp /data/files/env $TARGET
|
echo "APP_KEY=$(cat /data/key/appkey)" > $TARGET
|
||||||
echo -e "\nNODE_ID=`hostname`" >> $TARGET
|
echo "NODE_ID=$(hostname)" >> $TARGET
|
||||||
|
|
||||||
cat $TARGET
|
cat $TARGET
|
||||||
|
@@ -64,3 +64,14 @@ Create the name of the service account to use
|
|||||||
{{- default "default" .Values.serviceAccount.name }}
|
{{- default "default" .Values.serviceAccount.name }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- 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 -}}
|
@@ -6,15 +6,19 @@ metadata:
|
|||||||
data:
|
data:
|
||||||
TZ: {{ .Values.librenms.timezone}}
|
TZ: {{ .Values.librenms.timezone}}
|
||||||
DB_TIMEOUT: "60"
|
DB_TIMEOUT: "60"
|
||||||
|
RRDCACHED_SERVER: "{{ .Release.Name }}-rrdcached:42217"
|
||||||
|
{{- if .Values.redis.enabled }}
|
||||||
REDIS_HOST: {{ .Release.Name }}-redis-master
|
REDIS_HOST: {{ .Release.Name }}-redis-master
|
||||||
REDIS_PORT: "6379"
|
REDIS_PORT: "6379"
|
||||||
REDIS_DB: "0"
|
REDIS_DB: "0"
|
||||||
RRDCACHED_SERVER: "{{ .Release.Name }}-rrdcached:42217"
|
|
||||||
CACHE_DRIVER: redis
|
CACHE_DRIVER: redis
|
||||||
SESSION_DRIVER: redis
|
SESSION_DRIVER: redis
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.mysql.enabled }}
|
||||||
DB_HOST: {{ .Release.Name }}-mysql
|
DB_HOST: {{ .Release.Name }}-mysql
|
||||||
DB_USERNAME: {{.Values.mysql.auth.username}}
|
DB_USERNAME: {{.Values.mysql.auth.username}}
|
||||||
DB_DATABASE: {{.Values.mysql.auth.database}}
|
DB_DATABASE: {{.Values.mysql.auth.database}}
|
||||||
|
{{- end }}
|
||||||
---
|
---
|
||||||
kind: ConfigMap
|
kind: ConfigMap
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
@@ -23,7 +27,5 @@ metadata:
|
|||||||
data:
|
data:
|
||||||
custom.php: |-
|
custom.php: |-
|
||||||
{{ tpl (.Files.Get "files/custom.php") . | indent 4 }}
|
{{ tpl (.Files.Get "files/custom.php") . | indent 4 }}
|
||||||
env: |-
|
|
||||||
{{ tpl (.Files.Get "files/env") . | indent 4 }}
|
|
||||||
init.sh: |-
|
init.sh: |-
|
||||||
{{ tpl (.Files.Get "files/init.sh") . | indent 4 }}
|
{{ .Files.Get "files/init.sh" | indent 4 }}
|
@@ -19,13 +19,18 @@ spec:
|
|||||||
volumes:
|
volumes:
|
||||||
- name: env-volume
|
- name: env-volume
|
||||||
emptyDir: {}
|
emptyDir: {}
|
||||||
|
- name: key
|
||||||
|
secret:
|
||||||
|
secretName: {{ include "librenms.secretName" . }}
|
||||||
- name: files
|
- name: files
|
||||||
configMap:
|
configMap:
|
||||||
name: {{ .Release.Name }}-files
|
name: {{ .Release.Name }}-files
|
||||||
|
{{- if .Values.mysql.enabled }}
|
||||||
- name: mysql
|
- name: mysql
|
||||||
secret:
|
secret:
|
||||||
secretName: {{ .Release.Name }}-mysql
|
secretName: {{ .Release.Name }}-mysql
|
||||||
optional: false
|
optional: false
|
||||||
|
{{- end }}
|
||||||
initContainers:
|
initContainers:
|
||||||
- name: init
|
- name: init
|
||||||
image: busybox:1.28
|
image: busybox:1.28
|
||||||
@@ -33,6 +38,8 @@ spec:
|
|||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: env-volume
|
- name: env-volume
|
||||||
mountPath: /data/env-volume
|
mountPath: /data/env-volume
|
||||||
|
- name: key
|
||||||
|
mountPath: /data/key
|
||||||
- name: files
|
- name: files
|
||||||
mountPath: /data/files
|
mountPath: /data/files
|
||||||
containers:
|
containers:
|
||||||
@@ -43,11 +50,13 @@ spec:
|
|||||||
- configMapRef:
|
- configMapRef:
|
||||||
name: {{ .Release.Name }}
|
name: {{ .Release.Name }}
|
||||||
env:
|
env:
|
||||||
|
{{- if .Values.mysql.enabled }}
|
||||||
- name: DB_PASSWORD
|
- name: DB_PASSWORD
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: {{ .Release.Name }}-mysql
|
name: {{ .Release.Name }}-mysql
|
||||||
key: mysql-password
|
key: mysql-password
|
||||||
|
{{- end }}
|
||||||
{{- with .Values.librenms.extraEnvs }}
|
{{- with .Values.librenms.extraEnvs }}
|
||||||
{{- toYaml . | nindent 8 }}
|
{{- toYaml . | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
@@ -58,8 +67,10 @@ spec:
|
|||||||
mountPath: /data/config/custom.php
|
mountPath: /data/config/custom.php
|
||||||
subPath: custom.php
|
subPath: custom.php
|
||||||
readOnly: true
|
readOnly: true
|
||||||
|
{{- if .Values.mysql.enabled }}
|
||||||
- name: mysql
|
- name: mysql
|
||||||
mountPath: "/opt/secrets/mysql/"
|
mountPath: "/opt/secrets/mysql/"
|
||||||
|
{{- end }}
|
||||||
- name: env-volume
|
- name: env-volume
|
||||||
mountPath: /data/.env
|
mountPath: /data/.env
|
||||||
subPath: env
|
subPath: env
|
||||||
|
@@ -20,12 +20,17 @@ spec:
|
|||||||
volumes:
|
volumes:
|
||||||
- name: env-volume
|
- name: env-volume
|
||||||
emptyDir: {}
|
emptyDir: {}
|
||||||
|
- name: key
|
||||||
|
secret:
|
||||||
|
secretName: {{ include "librenms.secretName" . }}
|
||||||
- name: files
|
- name: files
|
||||||
configMap:
|
configMap:
|
||||||
name: {{ .Release.Name }}-files
|
name: {{ .Release.Name }}-files
|
||||||
|
{{- if .Values.mysql.enabled }}
|
||||||
- name: mysql
|
- name: mysql
|
||||||
secret:
|
secret:
|
||||||
secretName: {{ .Release.Name }}-mysql
|
secretName: {{ .Release.Name }}-mysql
|
||||||
|
{{- end }}
|
||||||
initContainers:
|
initContainers:
|
||||||
- name: init
|
- name: init
|
||||||
image: busybox:1.28
|
image: busybox:1.28
|
||||||
@@ -33,6 +38,8 @@ spec:
|
|||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: env-volume
|
- name: env-volume
|
||||||
mountPath: /data/env-volume
|
mountPath: /data/env-volume
|
||||||
|
- name: key
|
||||||
|
mountPath: /data/key
|
||||||
- name: files
|
- name: files
|
||||||
mountPath: /data/files
|
mountPath: /data/files
|
||||||
containers:
|
containers:
|
||||||
@@ -42,11 +49,13 @@ spec:
|
|||||||
env:
|
env:
|
||||||
- name: SIDECAR_DISPATCHER
|
- name: SIDECAR_DISPATCHER
|
||||||
value: "1"
|
value: "1"
|
||||||
|
{{- if .Values.mysql.enabled }}
|
||||||
- name: DB_PASSWORD
|
- name: DB_PASSWORD
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: {{ .Release.Name }}-mysql
|
name: {{ .Release.Name }}-mysql
|
||||||
key: mysql-password
|
key: mysql-password
|
||||||
|
{{- end }}
|
||||||
{{- with .Values.librenms.poller.extraEnvs }}
|
{{- with .Values.librenms.poller.extraEnvs }}
|
||||||
{{- toYaml . | nindent 8 }}
|
{{- toYaml . | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
@@ -61,15 +70,18 @@ spec:
|
|||||||
- name: env-volume
|
- name: env-volume
|
||||||
mountPath: /data/.env
|
mountPath: /data/.env
|
||||||
subPath: env
|
subPath: env
|
||||||
|
{{- if .Values.mysql.enabled }}
|
||||||
- name: mysql
|
- name: mysql
|
||||||
mountPath: "/opt/secrets/mysql/"
|
mountPath: "/opt/secrets/mysql/"
|
||||||
readOnly: true
|
readOnly: true
|
||||||
{{- if .Values.librenms.poller.resources }}
|
{{- if .Values.librenms.poller.resources }}
|
||||||
resources: {{ toYaml .Values.librenms.poller.resources | nindent 10 }}
|
resources: {{ toYaml .Values.librenms.poller.resources | nindent 10 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- if .Values.mysql.enabled }}
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
exec:
|
exec:
|
||||||
command: ["nc", "-z", "-v", "-w1", "{{ .Release.Name }}-mysql", "3306"]
|
command: ["nc", "-z", "-v", "-w1", "{{ .Release.Name }}-mysql", "3306"]
|
||||||
initialDelaySeconds: 0
|
initialDelaySeconds: 0
|
||||||
periodSeconds: 1
|
periodSeconds: 1
|
||||||
failureThreshold: 3
|
failureThreshold: 3
|
||||||
|
{{- end }}
|
10
charts/librenms/templates/librenms-secret.yml
Normal file
10
charts/librenms/templates/librenms-secret.yml
Normal 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 }}
|
@@ -27,10 +27,12 @@ spec:
|
|||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
claimName: {{ .Release.Name }}-rrdcached-journal
|
claimName: {{ .Release.Name }}-rrdcached-journal
|
||||||
{{end}}
|
{{end}}
|
||||||
|
{{- if .Values.mysql.enabled }}
|
||||||
- name: mysql
|
- name: mysql
|
||||||
secret:
|
secret:
|
||||||
secretName: {{ .Release.Name }}-mysql
|
secretName: {{ .Release.Name }}-mysql
|
||||||
optional: false # default setting; "mysecret" must exist
|
optional: false # default setting; "mysecret" must exist
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
containers:
|
containers:
|
||||||
- name: rrdcached
|
- name: rrdcached
|
||||||
@@ -42,9 +44,11 @@ spec:
|
|||||||
mountPath: /data/db
|
mountPath: /data/db
|
||||||
- name: journal
|
- name: journal
|
||||||
mountPath: /data/journal
|
mountPath: /data/journal
|
||||||
|
{{- if .Values.mysql.enabled }}
|
||||||
- name: mysql
|
- name: mysql
|
||||||
mountPath: "/opt/mysql/"
|
mountPath: "/opt/mysql/"
|
||||||
readOnly: true
|
readOnly: true
|
||||||
|
{{- end }}
|
||||||
{{end}}
|
{{end}}
|
||||||
env:
|
env:
|
||||||
{{- with .Values.librenms.rrdcached.envs }}
|
{{- with .Values.librenms.rrdcached.envs }}
|
||||||
|
@@ -6,12 +6,16 @@ librenms:
|
|||||||
# -- repository is the image repository to pull from.
|
# -- repository is the image repository to pull from.
|
||||||
repository: librenms/librenms
|
repository: librenms/librenms
|
||||||
# -- tag is image tag to pull.
|
# -- tag is image tag to pull.
|
||||||
tag: 25.2.0
|
tag: 25.5.0
|
||||||
|
|
||||||
# -- Laravel appkey used by LibreNMS, this should be generated by you and is a
|
# -- Laravel appkey used by LibreNMS, this should be generated by you and is a
|
||||||
# required setting. See the README for more information
|
# required setting. See the README for more information
|
||||||
appkey:
|
appkey:
|
||||||
|
|
||||||
|
# -- 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 used by librenms for communication with RRD cached
|
||||||
timezone: UTC
|
timezone: UTC
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user