Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions deploy/helm/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Chart dependencies
**/charts/*.tgz
26 changes: 26 additions & 0 deletions deploy/helm/all-in-one/.helmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# 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/
9 changes: 9 additions & 0 deletions deploy/helm/all-in-one/Chart.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
dependencies:
- name: image-factory
repository: file://../image-factory
version: 0.0.0-alpha.1
- name: registry
repository: file://../registry
version: 0.0.0-alpha.1
digest: sha256:d595d523b7dc2afce4c43120d0f8de439e9333a9206ab5f69f2e51ac024672d2
generated: "2025-09-30T15:57:15.646371+02:00"
17 changes: 17 additions & 0 deletions deploy/helm/all-in-one/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
apiVersion: v2
type: application
name: image-factory
description: |
A service to generate Talos boot assets.
home: https://github.com/siderolabs/image-factory
version: 0.0.0-alpha.1
appVersion: "0.0.0-alpha.1"
sources:
- https://github.com/siderolabs/image-factory
dependencies:
- name: image-factory
version: "0.0.0-alpha.1"
repository: "file://../image-factory"
- name: registry
version: "0.0.0-alpha.1"
repository: "file://../registry"
22 changes: 22 additions & 0 deletions deploy/helm/all-in-one/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
image-factory:
config:
externalUrl: https://localhost:8080

cacheRepository: registry:5000/cache
insecureCacheRepository: true

schematicServiceRepository: registry:5000/schematic
insecureSchematicServiceRepository: true

installerInternalRepository: registry:5000/siderolabs
insecureInstallerInternalRepository: true

installerExternalRepository: registry:5000/siderolabs

imageRegistry: registry:5000
insecureImageRegistry: true

registry:
service:
name: registry
port: 5000
26 changes: 26 additions & 0 deletions deploy/helm/image-factory/.helmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# 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/
10 changes: 10 additions & 0 deletions deploy/helm/image-factory/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
apiVersion: v2
type: application
name: image-factory
description: |
A service to generate Talos boot assets.
home: https://github.com/siderolabs/image-factory
version: 0.0.0-alpha.1
appVersion: "v0.8.4"
sources:
- https://github.com/siderolabs/image-factory
12 changes: 12 additions & 0 deletions deploy/helm/image-factory/templates/NOTES.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
Get the application URL by running these commands:
{{- if .Values.ingress.default.enabled }}
{{- range $host := .Values.ingress.default.hosts }}
{{- range .paths }}
http{{ if $.Values.ingress.default.tls }}s{{ end }}://{{ $host.host }}{{ .path }}
{{- end }}
{{- end }}
{{- else }}
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "imageFactory.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
echo "Visit http://127.0.0.1:8080 to use your application"
kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:8080
{{- end }}
80 changes: 80 additions & 0 deletions deploy/helm/image-factory/templates/_helpers.tpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
{{/*
Expand the name of the chart.
*/}}
{{- define "imageFactory.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 "imageFactory.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 "imageFactory.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
{{- end }}

{{/*
Common labels
*/}}
{{- define "imageFactory.labels" -}}
helm.sh/chart: {{ include "imageFactory.chart" . }}
{{ include "imageFactory.selectorLabels" . }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end }}

{{/*
Selector labels
*/}}
{{- define "imageFactory.selectorLabels" -}}
app.kubernetes.io/name: {{ include "imageFactory.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}

{{/*
Create the name of the service account to use
*/}}
{{- define "imageFactory.serviceAccountName" -}}
{{- if .Values.serviceAccount.create }}
{{- default (include "imageFactory.fullname" .) .Values.serviceAccount.name }}
{{- else }}
{{- default "default" .Values.serviceAccount.name }}
{{- end }}
{{- end }}

{{/*
Create secret name used for configuring imageFactory.
*/}}
{{- define "imageFactory.secret" -}}
{{- default (printf "%s" (include "imageFactory.fullname" .)) .Values.secret.name }}
{{- end }}

{{/*
Create TLS secret name used for configuring imageFactory.
*/}}
{{- define "imageFactory.secretTls" -}}
{{- default (printf "%s-tls" (include "imageFactory.fullname" .)) .Values.secret.name }}
{{- end }}

{{/*
Create PXE ingress name used for configuring imageFactory.
*/}}
{{- define "imageFactory.ingressPxe" -}}
{{- default (printf "%s-pxe" (include "imageFactory.fullname" .)) .Values.secret.name }}
{{- end }}
Loading