Add initial files
All checks were successful
Helm Chart CI / Package and Register Helm Chart (push) Successful in 18s
All checks were successful
Helm Chart CI / Package and Register Helm Chart (push) Successful in 18s
This commit is contained in:
parent
455f7bb803
commit
7385346105
60
.gitea/workflows/ci_workflows.yml
Normal file
60
.gitea/workflows/ci_workflows.yml
Normal file
@ -0,0 +1,60 @@
|
||||
name: Helm Chart CI
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- "*"
|
||||
branches-ignore:
|
||||
- main
|
||||
jobs:
|
||||
package-and-register:
|
||||
name: Package and Register Helm Chart
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
# Step 1: Checkout Repository
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v3
|
||||
|
||||
# Step 2: Check Helm Installation
|
||||
- name: Check Helm Installation
|
||||
id: helm_installed
|
||||
run: |
|
||||
if command -v helm >/dev/null 2>&1; then
|
||||
echo "helm_installed=true" >> $GITHUB_OUTPUT
|
||||
else
|
||||
echo "helm_installed=false" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
|
||||
# Step 3: Install Helm
|
||||
- name: Install Helm
|
||||
if: steps.helm_installed.outputs.helm_installed == 'false'
|
||||
run: |
|
||||
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
|
||||
chmod 700 get_helm.sh
|
||||
./get_helm.sh
|
||||
|
||||
|
||||
# Step 4: Validate Helm Chart
|
||||
- name: Lint Helm Chart
|
||||
run: |
|
||||
helm lint ./ # Validate chart structure and syntax
|
||||
|
||||
# Step 5: Package Helm Chart with Updated Version
|
||||
- name: Package Helm Chart
|
||||
env:
|
||||
COMMIT_SHA: ${{ github.sha }}
|
||||
run: |
|
||||
# Package the Helm chart
|
||||
helm package ./ --destination ./packages
|
||||
|
||||
# Step 6: Push Helm Chart to Gitea
|
||||
- name: Push Helm Chart to Gitea
|
||||
env:
|
||||
CI_USER: ${{ secrets.CI_USER }}
|
||||
CI_USER_TOKEN: ${{ secrets.CI_USER_TOKEN }}
|
||||
run: |
|
||||
# Login to the registry
|
||||
echo $CI_USER_TOKEN | helm registry login centurion-version-control.default.svc.cluster.local:3000 \
|
||||
--username $CI_USER --password-stdin --insecure
|
||||
|
||||
# Push Helm chart to Gitea
|
||||
helm push ./packages/*.tgz oci://centurion-version-control.default.svc.cluster.local:3000/centurion/helm --plain-http
|
||||
6
Chart.yaml
Normal file
6
Chart.yaml
Normal file
@ -0,0 +1,6 @@
|
||||
apiVersion: v2
|
||||
name: block-worker
|
||||
description: A Helm chart for deploying a flow
|
||||
type: application
|
||||
version: 0.1.4
|
||||
appVersion: 1.0.0
|
||||
11
templates/configmap.yaml
Normal file
11
templates/configmap.yaml
Normal file
@ -0,0 +1,11 @@
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: {{ .Values.repoName }}-{{ .Values.branchName }}-{{ .Values.shortVersion }}-config
|
||||
labels:
|
||||
app: {{ .Values.repoName }}-{{ .Values.branchName }}-{{ .Values.shortVersion }}
|
||||
namespace: {{ .Values.namespace }}
|
||||
data:
|
||||
{{- range .Values.environment.variables }}
|
||||
{{ .name }}: {{ .value }}
|
||||
{{- end }}
|
||||
47
templates/deployment.yaml
Normal file
47
templates/deployment.yaml
Normal file
@ -0,0 +1,47 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: {{ .Values.repoName }}-{{ .Values.branchName }}-{{ .Values.shortVersion }}
|
||||
namespace: {{ .Values.namespace }}
|
||||
labels:
|
||||
app: {{ .Values.repoName }}-{{ .Values.branchName }}-{{ .Values.shortVersion }}
|
||||
spec:
|
||||
replicas: {{ .Values.replicaCount }}
|
||||
selector:
|
||||
matchLabels:
|
||||
app: {{ .Values.repoName }}-{{ .Values.branchName }}-{{ .Values.shortVersion }}
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: {{ .Values.repoName }}-{{ .Values.branchName }}-{{ .Values.shortVersion }}
|
||||
spec:
|
||||
containers:
|
||||
- name: {{ .Values.repoName }}-{{ .Values.branchName }}-{{ .Values.shortVersion }}
|
||||
image: "{{ .Values.imageRegistry.server }}/centurion/{{ .Values.name }}:{{ .Values.version }}"
|
||||
insecure: true
|
||||
imagePullPolicy: Always
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: {{ .Values.repoName }}-{{ .Values.branchName }}-{{ .Values.shortVersion }}-config
|
||||
- secretRef:
|
||||
name: {{ .Values.repoName }}-{{ .Values.branchName }}-{{ .Values.shortVersion }}-secret
|
||||
imagePullSecrets:
|
||||
- name: {{ .Values.repoName }}-{{ .Values.branchName }}-{{ .Values.shortVersion }}-registry-secret
|
||||
resources:
|
||||
limits:
|
||||
cpu: {{ .Values.resources.limits.cpu | quote }}
|
||||
memory: {{ .Values.resources.limits.memory | quote }}
|
||||
requests:
|
||||
cpu: {{ .Values.resources.requests.cpu | quote }}
|
||||
memory: {{ .Values.resources.requests.memory | quote }}
|
||||
{{- if .Values.persistence.enabled }}
|
||||
volumeMounts:
|
||||
- mountPath: /mnt/temporal-worker-data
|
||||
name: worker-storage
|
||||
{{- end }}
|
||||
volumes:
|
||||
{{- if .Values.persistence.enabled }}
|
||||
- name: worker-storage
|
||||
persistentVolumeClaim:
|
||||
claimName: {{ .Values.repoName }}-{{ .Values.branchName }}-{{ .Values.version }}-pvc
|
||||
{{- end }}
|
||||
17
templates/pvc.yaml
Normal file
17
templates/pvc.yaml
Normal file
@ -0,0 +1,17 @@
|
||||
{{- if .Values.persistence.enabled }}
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: {{ .Values.repoName }}-{{ .Values.branchName }}-{{ .Values.shortVersion }}-pvc
|
||||
labels:
|
||||
app: {{ .Values.repoName }}-{{ .Values.branchName }}-{{ .Values.shortVersion }}
|
||||
namespace: {{ .Values.namespace }}
|
||||
spec:
|
||||
accessModes:
|
||||
{{- range .Values.persistence.accessModes }}
|
||||
- {{ . }}
|
||||
{{- end }}
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.persistence.size }}
|
||||
{{- end }}
|
||||
11
templates/registrysecret.yaml
Normal file
11
templates/registrysecret.yaml
Normal file
@ -0,0 +1,11 @@
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: {{ .Values.repoName }}-{{ .Values.branchName }}-{{ .Values.shortVersion }}-registry-secret
|
||||
labels:
|
||||
app: {{ .Values.repoName }}-{{ .Values.branchName }}-{{ .Values.shortVersion }}
|
||||
namespace: {{ .Values.namespace }}
|
||||
type: kubernetes.io/dockerconfigjson
|
||||
data:
|
||||
.dockerconfigjson: >
|
||||
{{ printf "{\"auths\":{\"%s\":{\"username\":\"%s\",\"password\":\"%s\",\"email\":\"dummy@example.com\"}}}" .Values.imageRegistry.server .Values.imageRegistry.username .Values.imageRegistry.password | b64enc }}
|
||||
12
templates/secret.yaml
Normal file
12
templates/secret.yaml
Normal file
@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: {{ .Values.repoName }}-{{ .Values.branchName }}-{{ .Values.shortVersion }}-secret
|
||||
labels:
|
||||
app: {{ .Values.repoName }}-{{ .Values.branchName }}-{{ .Values.shortVersion }}
|
||||
namespace: {{ .Values.namespace }}
|
||||
type: Opaque
|
||||
data:
|
||||
{{- range .Values.environment.secrets }}
|
||||
{{ .name }}: {{ .value | b64enc }}
|
||||
{{- end }}
|
||||
17
templates/service.yaml
Normal file
17
templates/service.yaml
Normal file
@ -0,0 +1,17 @@
|
||||
{{- if .Values.service.enabled }}
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ .Values.repoName }}-{{ .Values.branchName }}-{{ .Values.shortVersion }}-service
|
||||
namespace: {{ .Values.namespace }}
|
||||
labels:
|
||||
app: {{ .Values.repoName }}-{{ .Values.branchName }}-{{ .Values.shortVersion }}
|
||||
spec:
|
||||
selector:
|
||||
app: {{ .Values.repoName }}-{{ .Values.branchName }}-{{ .Values.shortVersion }}
|
||||
ports:
|
||||
- protocol: TCP
|
||||
port: {{ .Values.service.port }}
|
||||
targetPort: 8080
|
||||
type: {{ .Values.service.type }}
|
||||
{{- end }}
|
||||
36
values.yaml
Normal file
36
values.yaml
Normal file
@ -0,0 +1,36 @@
|
||||
namespace: default
|
||||
name: "name"
|
||||
repoName: "default-repo-name"
|
||||
branchName: "default-branch"
|
||||
version: "0.0.0"
|
||||
shortVersion: "0.0.0"
|
||||
replicaCount: 1
|
||||
FLOWX_ENGINE_ADDRESS: "centurion-workflow-frontend.default.svc.cluster.local:7233"
|
||||
imageRegistry:
|
||||
server: "centurion-version-control.default.svc.cluster.local:3000"
|
||||
username: "your-username"
|
||||
password: "your-token" # Corrected missing closing quote here
|
||||
|
||||
environment:
|
||||
secrets:
|
||||
- name: "default-secret"
|
||||
value: "default-value"
|
||||
variables:
|
||||
- name: "default-variable"
|
||||
value: "default-value"
|
||||
resources:
|
||||
limits:
|
||||
cpu: "100m"
|
||||
memory: "128Mi"
|
||||
requests:
|
||||
cpu: "100m"
|
||||
memory: "128Mi"
|
||||
persistence:
|
||||
enabled: false
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
size: "1Gi"
|
||||
service:
|
||||
enabled: false
|
||||
port: 80
|
||||
type: ClusterIP
|
||||
Loading…
x
Reference in New Issue
Block a user