Erstellen eines Chart packages
All checks were successful
Build Helm Chart / helm-package (push) Successful in 3s
All checks were successful
Build Helm Chart / helm-package (push) Successful in 3s
This commit is contained in:
parent
d7a10faf7c
commit
bd07e88308
44
.gitea/workflows/build.yml
Normal file
44
.gitea/workflows/build.yml
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
name: "Build Helm Chart"
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths:
|
||||||
|
- "Chart.yaml"
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths:
|
||||||
|
- "Chart.yaml"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
helm-package:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Set Helm Chart App Name and Version
|
||||||
|
id: get_version
|
||||||
|
run: |
|
||||||
|
APP_NAME=$(grep -oP '(?<=^name: ).*' Chart.yaml)
|
||||||
|
echo "Helm Chart App Name: $APP_NAME"
|
||||||
|
echo "::set-output name=app::$APP_NAME"
|
||||||
|
|
||||||
|
CHART_VERSION=$(grep -oP '(?<=^version: ).*' Chart.yaml)
|
||||||
|
echo "Helm Chart version: $CHART_VERSION"
|
||||||
|
echo "::set-output name=tag::$CHART_VERSION"
|
||||||
|
|
||||||
|
- name: Setup Helm
|
||||||
|
run: |
|
||||||
|
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
|
||||||
|
helm version
|
||||||
|
|
||||||
|
- name: Package Helm Chart
|
||||||
|
run: |
|
||||||
|
helm lint .
|
||||||
|
helm package .
|
||||||
|
|
||||||
|
- name: Upload Helm Package to repo
|
||||||
|
run: |
|
||||||
|
#curl --user ${{ secrets.USER }}:${{ secrets.TOKEN }} -X POST --upload-file ./${{ steps.get_version.outputs.app }}-${{ steps.get_version.outputs.tag }}.tgz ${{ vars.HELMREGISTRY }}/api/packages/${{ vars.OWNER }}/helm/api/charts
|
@ -2,7 +2,7 @@ apiVersion: v2
|
|||||||
maintainers:
|
maintainers:
|
||||||
- name: Marko Oldenburg
|
- name: Marko Oldenburg
|
||||||
email: fhemdevelopment@cooltux.net
|
email: fhemdevelopment@cooltux.net
|
||||||
url: https://git.cooltux.net/kubernetes/helm-charts
|
url: https://git.cooltux.net/FHEM/fhem-docker_helm-chart
|
||||||
name: fhem
|
name: fhem
|
||||||
description: FHEM (TM) is a GPL'd perl server for house automation. It is used to automate some common tasks in the household like switching lamps / shutters / heating / etc. and to log events like temperature / humidity / power consumption.
|
description: FHEM (TM) is a GPL'd perl server for house automation. It is used to automate some common tasks in the household like switching lamps / shutters / heating / etc. and to log events like temperature / humidity / power consumption.
|
||||||
home: https://fhem.de
|
home: https://fhem.de
|
||||||
@ -20,5 +20,5 @@ annotations:
|
|||||||
category: Houseautomation
|
category: Houseautomation
|
||||||
licenses: GPL'd
|
licenses: GPL'd
|
||||||
type: application
|
type: application
|
||||||
version: 0.4.9
|
version: 4.0.5
|
||||||
appVersion: "3.3.1-bullseye"
|
appVersion: "4.0.5-bullseye"
|
||||||
|
@ -56,14 +56,6 @@ spec:
|
|||||||
resources:
|
resources:
|
||||||
{{- toYaml .Values.resources | nindent 12 }}
|
{{- toYaml .Values.resources | nindent 12 }}
|
||||||
env:
|
env:
|
||||||
- name: APT_PKGS
|
|
||||||
value: {{ default "" .Values.aptPkgs | quote }}
|
|
||||||
- name: CPAN_PKGS
|
|
||||||
value: {{ default "" .Values.cpanPkgs | quote }}
|
|
||||||
- name: PIP_PKGS
|
|
||||||
value: {{ default "" .Values.pipPkgs | quote }}
|
|
||||||
- name: NPM_PKGS
|
|
||||||
value: {{ default "" .Values.npmPkgs | quote }}
|
|
||||||
- name: LOGFILE
|
- name: LOGFILE
|
||||||
value: {{ default "./log/fhem-%Y-%m-%d.log" .Values.logfile | quote }}
|
value: {{ default "./log/fhem-%Y-%m-%d.log" .Values.logfile | quote }}
|
||||||
- name: TELNETPORT
|
- name: TELNETPORT
|
||||||
@ -85,7 +77,9 @@ spec:
|
|||||||
- name: I2C_GID
|
- name: I2C_GID
|
||||||
value: {{ default "6003" .Values.i2cGID | quote }}
|
value: {{ default "6003" .Values.i2cGID | quote }}
|
||||||
- name: TIMEOUT
|
- name: TIMEOUT
|
||||||
value: {{ default "" .Values.timeout | quote }}
|
value: {{ default "10" .Values.timeout | quote }}
|
||||||
|
- name: TIMEOUT_STARTING
|
||||||
|
value: {{ default "60" .Values.timeout | quote }}
|
||||||
- name: LANG
|
- name: LANG
|
||||||
value: {{ default "en_US.UTF-8" .Values.lang | quote }}
|
value: {{ default "en_US.UTF-8" .Values.lang | quote }}
|
||||||
- name: LANGUAGE
|
- name: LANGUAGE
|
||||||
@ -111,7 +105,7 @@ spec:
|
|||||||
- name: TZ
|
- name: TZ
|
||||||
value: {{ default "Europe/Berlin" .Values.timezone | quote }}
|
value: {{ default "Europe/Berlin" .Values.timezone | quote }}
|
||||||
- name: CONFIGTYPE
|
- name: CONFIGTYPE
|
||||||
value: {{ default "" .Values.configtype | quote }}
|
value: {{ default "fhem.cfg.demo" .Values.configtype | quote }}
|
||||||
{{- with .Values.nodeSelector }}
|
{{- with .Values.nodeSelector }}
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
{{- toYaml . | nindent 8 }}
|
{{- toYaml . | nindent 8 }}
|
||||||
|
@ -5,9 +5,8 @@ metadata:
|
|||||||
name: {{ include "fhem.fullname" . }}
|
name: {{ include "fhem.fullname" . }}
|
||||||
labels:
|
labels:
|
||||||
{{- include "fhem.labels" . | nindent 4 }}
|
{{- include "fhem.labels" . | nindent 4 }}
|
||||||
annotations:
|
|
||||||
volume.beta.kubernetes.io/storage-class: {{ .Values.persistence.storageClass | quote }}
|
|
||||||
spec:
|
spec:
|
||||||
|
storageClassName: {{ .Values.persistence.storageClass | quote }}
|
||||||
accessModes:
|
accessModes:
|
||||||
{{- if not (empty .Values.persistence.accessModes) }}
|
{{- if not (empty .Values.persistence.accessModes) }}
|
||||||
{{- range .Values.persistence.accessModes }}
|
{{- range .Values.persistence.accessModes }}
|
||||||
|
24
values.yaml
24
values.yaml
@ -10,7 +10,7 @@ replicaCount: 1
|
|||||||
updateStrategy: RollingUpdate
|
updateStrategy: RollingUpdate
|
||||||
|
|
||||||
image:
|
image:
|
||||||
repository: fhem/fhem-minimal
|
repository: ghcr.io/fhem/fhem-minimal-docker
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
# Overrides the image tag whose default is the chart appVersion.
|
# Overrides the image tag whose default is the chart appVersion.
|
||||||
tag: ""
|
tag: ""
|
||||||
@ -20,14 +20,6 @@ nameOverride: ""
|
|||||||
fullnameOverride: ""
|
fullnameOverride: ""
|
||||||
|
|
||||||
### Tweak container settings using environment variables
|
### Tweak container settings using environment variables
|
||||||
## Debian APT packages: "App::Name1 App::Name2"
|
|
||||||
aptPkgs: ""
|
|
||||||
## Perl CPAN modules: "package1 package2"
|
|
||||||
cpanPkgs: ""
|
|
||||||
## Python PIP packages: "package1 package2"
|
|
||||||
pipPkgs: ""
|
|
||||||
## Node.js NPM packages: "package1 package2"
|
|
||||||
npmPkgs: ""
|
|
||||||
## Change FHEM logfile format: To set a different logfile path and format (default is ./log/fhem-%Y-%m-%d.log):
|
## Change FHEM logfile format: To set a different logfile path and format (default is ./log/fhem-%Y-%m-%d.log):
|
||||||
logfile: ""
|
logfile: ""
|
||||||
## Change FHEM local Telnet port for health check and container restart handling: To set a different Telnet port for local connection during health check and container restart (default is 7072):
|
## Change FHEM local Telnet port for health check and container restart handling: To set a different Telnet port for local connection during health check and container restart (default is 7072):
|
||||||
@ -50,6 +42,9 @@ gpioGID: ""
|
|||||||
i2cGID: ""
|
i2cGID: ""
|
||||||
## Change shutdown timeout: To set a different setting for the timer during FHEM shutdown handling, you may add this environment variable: 10
|
## Change shutdown timeout: To set a different setting for the timer during FHEM shutdown handling, you may add this environment variable: 10
|
||||||
timeout: ""
|
timeout: ""
|
||||||
|
## Set FHEM startup timeout: Set a Timeout, how long the docker container waits until the FHEM process will finished starting. If the timeout is over, and FHEM is not started, the container is stopped. You will see an error like this in the container log, if starting wasn't finished early enough: ERROR: Fatal: No message from FHEM since 60 seconds that server has started.
|
||||||
|
## If you have a slow system and a module which blocks FHEM to be ready adjust this to a higher value.
|
||||||
|
timeout_starting: ""
|
||||||
## Set locale: For maximum compatibility, standard locale is set to US english with some refinements towards the European standards and German defaults. This may be changed according to your needs (also see Debian Wiki for more information):
|
## Set locale: For maximum compatibility, standard locale is set to US english with some refinements towards the European standards and German defaults. This may be changed according to your needs (also see Debian Wiki for more information):
|
||||||
lang: ""
|
lang: ""
|
||||||
language: ""
|
language: ""
|
||||||
@ -66,12 +61,12 @@ lcTime: ""
|
|||||||
timezone: ""
|
timezone: ""
|
||||||
## Using configDB: Should you be using FHEM config type configDB, you need to change the FHEM configuration source for correct startup by setting the following environment variable: configDB
|
## Using configDB: Should you be using FHEM config type configDB, you need to change the FHEM configuration source for correct startup by setting the following environment variable: configDB
|
||||||
## fhem.cfg.demo for Democonfig
|
## fhem.cfg.demo for Democonfig
|
||||||
configtype: "fhem.cfg.demo"
|
configtype: ""
|
||||||
### ENDE Container environment variables
|
### ENDE Container environment variables
|
||||||
|
|
||||||
serviceAccount:
|
serviceAccount:
|
||||||
# Specifies whether a service account should be created
|
# Specifies whether a service account should be created
|
||||||
create: true
|
create: false
|
||||||
# Annotations to add to the service account
|
# Annotations to add to the service account
|
||||||
annotations: {}
|
annotations: {}
|
||||||
# The name of the service account to use.
|
# The name of the service account to use.
|
||||||
@ -126,7 +121,7 @@ service:
|
|||||||
## @param service.type Kubernetes Service type
|
## @param service.type Kubernetes Service type
|
||||||
## For minikube, set this to NodePort, elsewhere use LoadBalancer
|
## For minikube, set this to NodePort, elsewhere use LoadBalancer
|
||||||
##
|
##
|
||||||
type: LoadBalancer # LoadBalancer
|
type: NodePort # LoadBalancer, ClusterIP
|
||||||
## @param service.loadBalancerIP Use serviceLoadBalancerIP to request a specific static IP, otherwise leave blank
|
## @param service.loadBalancerIP Use serviceLoadBalancerIP to request a specific static IP, otherwise leave blank
|
||||||
##
|
##
|
||||||
loadBalancerIP: ""
|
loadBalancerIP: ""
|
||||||
@ -134,7 +129,7 @@ service:
|
|||||||
## @param service.ports.https Service HTTPS port
|
## @param service.ports.https Service HTTPS port
|
||||||
##
|
##
|
||||||
ports:
|
ports:
|
||||||
fhemweb: 80
|
fhemweb: 8083
|
||||||
##
|
##
|
||||||
## @param service.nodePorts [object] Use nodePorts to request some specific ports when using NodePort
|
## @param service.nodePorts [object] Use nodePorts to request some specific ports when using NodePort
|
||||||
## nodePorts:
|
## nodePorts:
|
||||||
@ -173,7 +168,7 @@ ingress:
|
|||||||
# kubernetes.io/ingress.class: nginx
|
# kubernetes.io/ingress.class: nginx
|
||||||
# kubernetes.io/tls-acme: "true"
|
# kubernetes.io/tls-acme: "true"
|
||||||
hosts:
|
hosts:
|
||||||
- host:
|
- host: # Hostname
|
||||||
paths:
|
paths:
|
||||||
- path: /
|
- path: /
|
||||||
pathType: ImplementationSpecific
|
pathType: ImplementationSpecific
|
||||||
@ -183,7 +178,6 @@ ingress:
|
|||||||
# - chart-example.local
|
# - chart-example.local
|
||||||
|
|
||||||
resources:
|
resources:
|
||||||
|
|
||||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
# 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
|
# 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
|
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
||||||
|
Loading…
Reference in New Issue
Block a user