added skeleton and new-chart script

This commit is contained in:
Jonas Forsberg 2024-11-11 17:13:49 +01:00
parent 6472903b4f
commit bde3115c9c
6 changed files with 79 additions and 1 deletions

View File

@ -1 +1,6 @@
# My helm-charts
Create a new chart with script:
```
scripts/new-chart <chart-name>
```

View File

@ -3,5 +3,25 @@ if [[ "$(git rev-parse --abbrev-ref HEAD)" == "main" ]]; then
echo "Create a new branch first!"
exit 1;
fi
CHART_NAME="$1"
REPO_PATH=$(git rev-parse --show-toplevel)
echo "running"
type yq >/dev/null 2>&1 || { echo "yq not found, quitting!"; exit 1; }
if [[ -z "$CHART_NAME" ]]; then
echo "no chartname given"
exit 1;
fi
if [[ -d "${REPO_PATH}/charts/${CHART_NAME}" ]]; then
echo "chart-name already exists"
exit 1;
fi
cp -r "${REPO_PATH}/skeleton" "${REPO_PATH}/charts/${CHART_NAME}"
yq -i ".name=\"${CHART_NAME}\"" "${REPO_PATH}/charts/${CHART_NAME}/Chart.yaml"
yq -i ".maintainers[0].name=\"$(git config user.name)\"" "${REPO_PATH}/charts/${CHART_NAME}/Chart.yaml"
yq -i ".maintainers[0].email=\"$(git config user.email)\"" "${REPO_PATH}/charts/${CHART_NAME}/Chart.yaml"
echo "Start editing your chart at: "${REPO_PATH}/charts/${CHART_NAME}/"

18
skeleton/Chart.yaml Normal file
View File

@ -0,0 +1,18 @@
---
apiVersion: v2
name:
description:
type: application
version: 1.0.0
appVersion:
kubeVersion: ">=1.27.0"
home:
sources:
- https://git.rre.nu/jonas/helm-charts
maintainers:
- name:
email:
dependencies:
- name: lib
repository: https://git.rre.nu/api/packages/jonas/helm
version: 1.0.3

2
skeleton/Makefile Normal file
View File

@ -0,0 +1,2 @@
doc:
frigate gen --output-format markdown --no-deps --no-credits ./ > README.md

View File

@ -0,0 +1 @@
{{ include "lib.all" . }}

32
skeleton/values.yaml Normal file
View File

@ -0,0 +1,32 @@
image:
repository:
tag:
controller: # main workload
enabled: true # should the main workload be included or not
type: deployment # valid options are deployment, statefulset, job
service:
http:
enabled: false
ports:
http:
port: 80
targetPort: 8123
ingress:
enabled: false
service: http # what service should the ingress target
servicePort: 80
className: "nginx"
hosts:
- host: example.local
paths:
- path: /
pathType: Prefix
annotations:
{}
tls: []
# - secretName: chart-example-tls
# hosts:
# - chart-example.local