adding functionality and cleaning up

This commit is contained in:
Zack Brady
2024-04-06 02:06:33 -04:00
parent 7447aad20a
commit 8ac1ecaf29
12 changed files with 80 additions and 35 deletions

View File

@@ -1,6 +1,6 @@
apiVersion: v2
name: hauler
description: Hauler Helm Chart for Kubernetes
description: Hauler Helm Chart - Airgap Swiss Army Knife
icon: https://raw.githubusercontent.com/rancherfederal/hauler/main/static/rgs-hauler-logo-icon.svg
type: application
version: 0.1.0

View File

@@ -0,0 +1,21 @@
# Hauler Helm Chart
| Type | Chart Version | App Version |
| ----------- | ------------- | ----------- |
| application | `0.1.0` | `1.0.2` |
## Installing the Chart
```bash
helm install hauler hauler/hauler -n hauler-system -f values.yaml
```
```bash
helm status hauler -n hauler-system
```
## Uninstalling the Chart
```bash
helm uninstall hauler -n hauler-system
```

View File

@@ -18,7 +18,9 @@ spec:
app: hauler-fileserver
{{- include "hauler.selectorLabels" . | nindent 8 }}
spec:
{{- if or .Values.haulerJobs.hauls.enabled .Values.haulerJobs.manifests.enabled }}
initContainers:
{{- if .Values.haulerJobs.hauls.enabled }}
- name: wait-for-hauler-hauls-job
image: {{ .Values.hauler.initContainers.image.repository }}:{{ .Values.hauler.initContainers.image.tag }}
imagePullPolicy: {{ .Values.hauler.initContainers.imagePullPolicy }}
@@ -31,6 +33,8 @@ spec:
runAsUser: 1001
seccompProfile:
type: RuntimeDefault
{{- end }}
{{- if .Values.haulerJobs.manifests.enabled }}
- name: wait-for-hauler-manifests-job
image: {{ .Values.hauler.initContainers.image.repository }}:{{ .Values.hauler.initContainers.image.tag }}
imagePullPolicy: {{ .Values.hauler.initContainers.imagePullPolicy }}
@@ -43,13 +47,15 @@ spec:
runAsUser: 1001
seccompProfile:
type: RuntimeDefault
{{- end }}
{{- end }}
containers:
- name: hauler-fileserver
image: {{ .Values.hauler.image.repository }}:{{ .Values.hauler.image.tag }}
imagePullPolicy: {{ .Values.hauler.imagePullPolicy }}
args: ["store", "serve", "fileserver"]
args: ["store", "serve", "fileserver", "--port", "{{ .Values.haulerFileserver.port }}"]
ports:
- containerPort: {{ .Values.haulerFileserver.service.ports.port }}
- containerPort: {{ .Values.haulerFileserver.port }}
volumeMounts:
- name: hauler-data
mountPath: /store

View File

@@ -15,7 +15,7 @@ spec:
service:
name: hauler-fileserver
port:
number: 8080
number: {{ $.Values.haulerFileserver.service.ports.targetPort }}
path: /
pathType: Prefix
{{- end }}

View File

@@ -18,7 +18,9 @@ spec:
app: hauler-registry
{{- include "hauler.selectorLabels" . | nindent 8 }}
spec:
{{- if or .Values.haulerJobs.hauls.enabled .Values.haulerJobs.manifests.enabled }}
initContainers:
{{- if .Values.haulerJobs.hauls.enabled }}
- name: wait-for-hauler-hauls-job
image: {{ .Values.hauler.initContainers.image.repository }}:{{ .Values.hauler.initContainers.image.tag }}
imagePullPolicy: {{ .Values.hauler.initContainers.imagePullPolicy }}
@@ -31,6 +33,8 @@ spec:
runAsUser: 1001
seccompProfile:
type: RuntimeDefault
{{- end }}
{{- if .Values.haulerJobs.manifests.enabled }}
- name: wait-for-hauler-manifests-job
image: {{ .Values.hauler.initContainers.image.repository }}:{{ .Values.hauler.initContainers.image.tag }}
imagePullPolicy: {{ .Values.hauler.initContainers.imagePullPolicy }}
@@ -43,13 +47,15 @@ spec:
runAsUser: 1001
seccompProfile:
type: RuntimeDefault
{{- end }}
{{- end }}
containers:
- name: hauler-registry
image: {{ .Values.hauler.image.repository }}:{{ .Values.hauler.image.tag }}
imagePullPolicy: {{ .Values.hauler.imagePullPolicy }}
args: ["store", "serve", "registry"]
args: ["store", "serve", "registry", "--port", "{{ .Values.haulerRegistry.port }}"]
ports:
- containerPort: {{ .Values.haulerRegistry.service.ports.port }}
- containerPort: {{ .Values.haulerRegistry.port }}
volumeMounts:
- name: hauler-data
mountPath: /store

View File

@@ -16,7 +16,7 @@ spec:
service:
name: hauler-registry
port:
number: 5000
number: {{ $.Values.haulerRegistry.service.ports.targetPort }}
path: /
pathType: Prefix
{{- end }}

View File

@@ -17,7 +17,9 @@ spec:
app: hauler
{{- include "hauler.selectorLabels" . | nindent 8 }}
spec:
{{- if or .Values.haulerJobs.hauls.enabled .Values.haulerJobs.manifests.enabled }}
initContainers:
{{- if .Values.haulerJobs.hauls.enabled }}
- name: wait-for-hauler-hauls-job
image: {{ .Values.hauler.initContainers.image.repository }}:{{ .Values.hauler.initContainers.image.tag }}
imagePullPolicy: {{ .Values.hauler.initContainers.imagePullPolicy }}
@@ -30,6 +32,8 @@ spec:
runAsUser: 1001
seccompProfile:
type: RuntimeDefault
{{- end }}
{{- if .Values.haulerJobs.manifests.enabled }}
- name: wait-for-hauler-manifests-job
image: {{ .Values.hauler.initContainers.image.repository }}:{{ .Values.hauler.initContainers.image.tag }}
imagePullPolicy: {{ .Values.hauler.initContainers.imagePullPolicy }}
@@ -42,12 +46,14 @@ spec:
runAsUser: 1001
seccompProfile:
type: RuntimeDefault
{{- end }}
{{- end }}
containers:
- name: hauler
image: {{ .Values.hauler.image.repository }}:{{ .Values.hauler.image.tag }}
imagePullPolicy: {{ .Values.hauler.imagePullPolicy }}
ports:
- containerPort: {{ .Values.hauler.service.ports.port }}
- containerPort: {{ .Values.hauler.port }}
volumeMounts:
- name: hauler-data
mountPath: /store

View File

@@ -16,7 +16,7 @@ spec:
service:
name: hauler-service
port:
number: 80
number: {{ $.Values.hauler.service.ports.targetPort }}
path: /
pathType: Prefix
{{- end }}

View File

@@ -16,9 +16,10 @@ spec:
command: ["/bin/sh", "-c"]
args:
- |
curl -o /hauls/longhorn.tar.zst https://rancher-airgap.s3.amazonaws.com/longhorn.tar.zst &&
curl -o /hauls/neuvector.tar.zst https://rancher-airgap.s3.amazonaws.com/neuvector.tar.zst &&
echo 'hauler fetch completed'
{{- range .Values.haulerJobs.hauls.artifacts }}
curl -o /hauls/{{ .name }} {{ .path }} &&
{{- end }}
echo hauler fetch completed
volumeMounts:
- name: hauler-data
mountPath: /hauls
@@ -37,8 +38,9 @@ spec:
args:
- "store"
- "load"
- "/hauls/longhorn.tar.zst"
- "/hauls/neuvector.tar.zst"
{{- range .Values.haulerJobs.hauls.artifacts }}
- "/hauls/{{ .name }}"
{{- end }}
volumeMounts:
- name: hauler-data
mountPath: /hauls
@@ -77,9 +79,10 @@ spec:
command: ["/bin/sh", "-c"]
args:
- |
curl -o /manifests/rancher-airgap-cosign.yaml https://rancher-airgap.s3.amazonaws.com/rancher-airgap-cosign.yaml &&
curl -o /manifests/rancher-airgap-helm.yaml https://rancher-airgap.s3.amazonaws.com/rancher-airgap-helm.yaml &&
echo 'hauler fetch completed'
{{- range .Values.haulerJobs.manifests.artifacts }}
curl -o /manifests/{{ .name }} {{ .path }} &&
{{- end }}
echo hauler fetch completed
volumeMounts:
- name: hauler-data
mountPath: /manifests
@@ -96,11 +99,12 @@ spec:
image: {{ .Values.hauler.image.repository }}:{{ .Values.hauler.image.tag }}
imagePullPolicy: {{ .Values.hauler.imagePullPolicy }}
args:
{{- range .Values.haulerJobs.manifests.artifacts }}
- "store"
- "sync"
- "--files"
- "/manifests/rancher-airgap-cosign.yaml"
- "/manifests/rancher-airgap-helm.yaml"
- "/manifests/{{ .name }}"
{{- end }}
volumeMounts:
- name: hauler-data
mountPath: /manifests

View File

@@ -1,6 +0,0 @@
apiVersion: v1
kind: Namespace
metadata:
name: {{ .Release.Namespace }}
labels:
{{- include "hauler.labels" . | nindent 4 }}

View File

@@ -11,4 +11,6 @@ spec:
resources:
requests:
storage: {{ .Values.hauler.data.pvc.storageRequest }}
{{- if .Values.hauler.data.pvc.storageClass }}
storageClassName: {{ .Values.hauler.data.pvc.storageClass }}
{{- end }}

View File

@@ -3,8 +3,8 @@
hauler:
image:
repository: zackbradys/hauler
tag: v1.0.2
repository: ghcr.io/rancherfederal/hauler
tag: v1.0.2-rc.4
imagePullPolicy: Always
initContainers:
@@ -20,6 +20,8 @@ hauler:
storageClass: longhorn
storageRequest: 48Gi
port: 80
ingress:
enabled: true
hosts:
@@ -38,7 +40,7 @@ hauler:
targetPort: 80
# Helm Chart Values for the Hauler Jobs
# Docs: http://hauler.dev
# Docs: https://rancherfederal.github.io/hauler-docs/docs/introduction/quickstart
haulerJobs:
image:
@@ -50,24 +52,26 @@ haulerJobs:
enabled: true
artifacts:
- path: https://rancher-airgap.s3.amazonaws.com/longhorn.tar.zst
name: /hauls/longhorn.tar.zst
name: longhorn.tar.zst
- path: https://rancher-airgap.s3.amazonaws.com/neuvector.tar.zst
name: /hauls/neuvector.tar.zst
name: neuvector.tar.zst
manifests:
enabled: true
stuff:
artifacts:
- path: https://rancher-airgap.s3.amazonaws.com/rancher-airgap-cosign.yaml
name: /manifests/rancher-airgap-cosign.yaml
name: rancher-airgap-cosign.yaml
- path: https://rancher-airgap.s3.amazonaws.com/rancher-airgap-helm.yaml
name: /manifests/rancher-airgap-helm.yaml
name: rancher-airgap-helm.yaml
# Helm Chart Values for the Hauler Fileserver
# Docs: http://hauler.dev
# Docs: https://rancherfederal.github.io/hauler-docs/docs/guides-references/command-line/hauler-store#hauler-store-serve-fileserver
haulerFileserver:
enabled: true
port: 8080
ingress:
enabled: true
hosts:
@@ -86,11 +90,13 @@ haulerFileserver:
targetPort: 8080
# Helm Chart Values for the Hauler Registry
# Docs: http://hauler.dev
# Docs: https://rancherfederal.github.io/hauler-docs/docs/guides-references/command-line/hauler-store#hauler-store-serve-registry
haulerRegistry:
enabled: true
port: 5000
ingress:
enabled: true
hosts: