Improvement: Add helm
This commit is contained in:
parent
a3ce01a90f
commit
900388cdd3
58
.github/workflows/helm-publish.yml
vendored
Normal file
58
.github/workflows/helm-publish.yml
vendored
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
name: Build and Push Helm Chart
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
tags:
|
||||||
|
- 'v*.*.*'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-and-push:
|
||||||
|
name: Build image & push
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
packages: write
|
||||||
|
|
||||||
|
steps:
|
||||||
|
# Step 1: Check out the repository
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
# Step 2: Extract version from __version__.py
|
||||||
|
- name: Extract version
|
||||||
|
run: |
|
||||||
|
VERSION=$(python -c "exec(open('__version__.py').read()); print(__version__)")
|
||||||
|
echo "Version is $VERSION"
|
||||||
|
echo "VERSION=$VERSION" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
# Step 3: Set up Helm
|
||||||
|
- name: Set up Helm
|
||||||
|
uses: azure/setup-helm@v3
|
||||||
|
with:
|
||||||
|
version: v3.12.0
|
||||||
|
|
||||||
|
# Step 4: Authenticate to GitHub Container Registry
|
||||||
|
- name: Log in to GitHub Container Registry
|
||||||
|
uses: docker/login-action@v2
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ github.actor }}
|
||||||
|
password: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
# Step 5: Package the Helm Chart
|
||||||
|
- name: Package Helm Chart
|
||||||
|
run: |
|
||||||
|
helm package helm/openspoolman --destination ./
|
||||||
|
|
||||||
|
# Step 6: Push the Helm Chart to GHCR
|
||||||
|
- name: Push Helm Chart to GHCR
|
||||||
|
run: |
|
||||||
|
CHART_NAME=$(helm show chart helm/openspoolman | grep '^name:' | awk '{print $2}')
|
||||||
|
CHART_VERSION=${{ env.VERSION }}
|
||||||
|
CHART_FILE="${CHART_NAME}-${CHART_VERSION}.tgz"
|
||||||
|
echo "Pushing chart: $CHART_FILE"
|
||||||
|
|
||||||
|
# Push chart to GHCR
|
||||||
|
helm push "$CHART_FILE" oci://ghcr.io/${{ github.repository }}/helm
|
@ -48,6 +48,5 @@ TBD:
|
|||||||
- Filament spending based on printing
|
- Filament spending based on printing
|
||||||
- Evidently needed GUI improvements
|
- Evidently needed GUI improvements
|
||||||
- Code cleanup
|
- Code cleanup
|
||||||
- Deployment as Helm chart
|
|
||||||
- Video showcase
|
- Video showcase
|
||||||
- TODOs
|
- TODOs
|
||||||
|
23
helm/openspoolman/.helmignore
Normal file
23
helm/openspoolman/.helmignore
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
# Patterns to ignore when building packages.
|
||||||
|
# This supports shell glob matching, relative path matching, and
|
||||||
|
# negation (prefixed with !). Only one pattern per line.
|
||||||
|
.DS_Store
|
||||||
|
# Common VCS dirs
|
||||||
|
.git/
|
||||||
|
.gitignore
|
||||||
|
.bzr/
|
||||||
|
.bzrignore
|
||||||
|
.hg/
|
||||||
|
.hgignore
|
||||||
|
.svn/
|
||||||
|
# Common backup files
|
||||||
|
*.swp
|
||||||
|
*.bak
|
||||||
|
*.tmp
|
||||||
|
*.orig
|
||||||
|
*~
|
||||||
|
# Various IDEs
|
||||||
|
.project
|
||||||
|
.idea/
|
||||||
|
*.tmproj
|
||||||
|
.vscode/
|
6
helm/openspoolman/Chart.lock
Normal file
6
helm/openspoolman/Chart.lock
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
dependencies:
|
||||||
|
- name: common
|
||||||
|
repository: oci://tccr.io/truecharts
|
||||||
|
version: 25.1.7
|
||||||
|
digest: sha256:136293235d994e0b8f6742629bcfc6e177b6d601e13f9271c18d15647c55d452
|
||||||
|
generated: "2024-12-13T17:39:20.5007907+01:00"
|
14
helm/openspoolman/Chart.yaml
Normal file
14
helm/openspoolman/Chart.yaml
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
apiVersion: v2
|
||||||
|
appVersion: 0.0.1
|
||||||
|
description: A Helm chart for Kubernetes
|
||||||
|
name: openspoolman
|
||||||
|
type: application
|
||||||
|
version: 0.0.1
|
||||||
|
dependencies:
|
||||||
|
- name: common
|
||||||
|
version: 25.1.7
|
||||||
|
repository: oci://tccr.io/truecharts
|
||||||
|
condition: ""
|
||||||
|
alias: ""
|
||||||
|
tags: []
|
||||||
|
import-values: []
|
BIN
helm/openspoolman/charts/common-25.1.7.tgz
Normal file
BIN
helm/openspoolman/charts/common-25.1.7.tgz
Normal file
Binary file not shown.
2
helm/openspoolman/templates/common.yaml
Normal file
2
helm/openspoolman/templates/common.yaml
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
{{/* Render the templates */}}
|
||||||
|
{{ include "tc.v1.common.loader.all" . }}
|
35
helm/openspoolman/values.yaml
Normal file
35
helm/openspoolman/values.yaml
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
image:
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
repository: ghcr.io/drndos/openspoolman
|
||||||
|
portal:
|
||||||
|
open:
|
||||||
|
enabled: false
|
||||||
|
operator:
|
||||||
|
verify:
|
||||||
|
enabled: false
|
||||||
|
global:
|
||||||
|
addTraefikAnnotations: false
|
||||||
|
podOptions:
|
||||||
|
nodeSelector: {}
|
||||||
|
topologySpreadConstraints: []
|
||||||
|
defaultSpread: false
|
||||||
|
securityContext:
|
||||||
|
container:
|
||||||
|
readOnlyRootFilesystem: false
|
||||||
|
runAsGroup: 0
|
||||||
|
runAsUser: 0
|
||||||
|
service:
|
||||||
|
main:
|
||||||
|
ports:
|
||||||
|
main:
|
||||||
|
port: 8000
|
||||||
|
protocol: tcp
|
||||||
|
workload:
|
||||||
|
main:
|
||||||
|
podSpec:
|
||||||
|
containers:
|
||||||
|
main:
|
||||||
|
env:
|
||||||
|
ENTRY: "{{ .Values.service.main.ports.main.port }}"
|
||||||
|
PORT: "{{ .Values.service.main.ports.main.port }}"
|
||||||
|
SCHEME: http
|
Loading…
x
Reference in New Issue
Block a user