Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Onboard Kestra #890

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
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
6 changes: 6 additions & 0 deletions kestra/Pluralfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
REPO kestra
ATTRIBUTES kestra repository.yaml

TF terraform/*
HELM helm/*
RECIPE plural/recipes/*
22 changes: 22 additions & 0 deletions kestra/helm/kestra/.helmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# 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
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
40 changes: 40 additions & 0 deletions kestra/helm/kestra/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: kestra
description: Infinitely scalable, event-driven, language-agnostic orchestration and scheduling platform to manage millions of workflows declaratively in code.
home: https://kestra.io
version: 0.13.0
appVersion: "0.13.0"
apiVersion: v1
keywords:
- orchestrator
- scheduler
- workflow
icon: https://kestra.io/favicon-192x192.png
sources:
- https://github.com/kestra-io/helm-charts
maintainers:
- name: tchiotludo
email: [email protected]
type: application
annotations:
artifacthub.io/links: |
- name: Documentation
url: https://kestra.io/docs/
artifacthub.io/screenshots: |
- title: Home page
url: https://raw.githubusercontent.com/kestra-io/kestra.io/main/public/docs/user-interface-guide/02-Homepage-Empty.png
- title: Flows list
url: https://raw.githubusercontent.com/kestra-io/kestra.io/main/public/docs/user-interface-guide/04-Flows.png
- title: Flow page
url: https://raw.githubusercontent.com/kestra-io/kestra.io/main/public/docs/user-interface-guide/05-Flows-Flow.png
- title: Execution list
url: https://raw.githubusercontent.com/kestra-io/kestra.io/main/public/docs/user-interface-guide/08-Executions.png
- title: Execution page
url: https://raw.githubusercontent.com/kestra-io/kestra.io/main/public/docs/user-interface-guide/09-Executions-Execution.png
- title: Execution gantt
url: https://raw.githubusercontent.com/kestra-io/kestra.io/main/public/docs/user-interface-guide/27-Executions-Gantt.png
- title: Namespaces list
url: https://raw.githubusercontent.com/kestra-io/kestra.io/main/public/docs/user-interface-guide/14-EE-Namespace.png
- title: Global logs
url: https://raw.githubusercontent.com/kestra-io/kestra.io/main/public/docs/user-interface-guide/10-Logs.png
- title: Documentation
url: https://raw.githubusercontent.com/kestra-io/kestra.io/main/public/docs/user-interface-guide/12-Documentations-Plugins-Plugin.png
1 change: 1 addition & 0 deletions kestra/helm/kestra/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
A helm chart for kestra
Binary file not shown.
Binary file added kestra/helm/kestra/charts/kafka-18.5.0.tgz
Binary file not shown.
Binary file added kestra/helm/kestra/charts/kestra-0.13.0.tgz
Binary file not shown.
Binary file added kestra/helm/kestra/charts/minio-4.1.0.tgz
Binary file not shown.
Binary file not shown.
33 changes: 33 additions & 0 deletions kestra/helm/kestra/deps.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
apiVersion: plural.sh/v1alpha1
kind: Dependencies
metadata:
application: true
description: Deploys kestra crafted for the target cloud
spec:
dependencies:
- type: helm
name: bootstrap
repo: bootstrap
version: '>= 0.5.1'


- type: helm
name: postgres
repo: postgres
version: ">= 0.1.6"

- type: terraform
name: aws
repo: kestra
version: '>= 0.1.0'
optional: true
- type: terraform
name: azure
repo: kestra
version: '>= 0.1.0'
optional: true
- type: terraform
name: gcp
repo: kestra
version: '>= 0.1.0'
optional: true
15 changes: 15 additions & 0 deletions kestra/helm/kestra/requirements.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
dependencies:
- name: elasticsearch
repository: https://helm.elastic.co
version: 7.17.3
- name: kafka
repository: https://charts.bitnami.com/bitnami
version: 18.5.0
- name: minio
repository: https://charts.min.io/
version: 4.1.0
- name: postgresql
repository: https://charts.bitnami.com/bitnami
version: 11.9.13
digest: sha256:f410fc312054189ac6f62fbf5ce08293a980f3116eec79f17dab8be11cbf3be6
generated: "2023-12-13T08:05:50.479227+01:00"
17 changes: 17 additions & 0 deletions kestra/helm/kestra/requirements.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
dependencies:
- name: elasticsearch
version: ^7.17.3
repository: https://helm.elastic.co
condition: elasticsearch.enabled
- name: kafka
version: ^18.3.1
repository: https://charts.bitnami.com/bitnami
condition: kafka.enabled
- name: minio
version: ^4.0.13
repository: https://charts.min.io/
condition: minio.enabled
- name: postgresql
condition: postgresql.enabled
repository: https://charts.bitnami.com/bitnami
version: "~11.9.2"
21 changes: 21 additions & 0 deletions kestra/helm/kestra/templates/NOTES.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
1. Get the application URL by running these commands:
{{- if .Values.ingress.enabled }}
{{- range $host := .Values.ingress.hosts }}
{{- range .paths }}
http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ . }}
{{- end }}
{{- end }}
{{- else if contains "NodePort" .Values.service.type }}
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "kestra.fullname" . }})
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
echo http://$NODE_IP:$NODE_PORT
{{- else if contains "LoadBalancer" .Values.service.type }}
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "kestra.fullname" . }}'
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "kestra.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
echo http://$SERVICE_IP:{{ .Values.service.port }}
{{- else if contains "ClusterIP" .Values.service.type }}
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "kestra.name" . }},app.kubernetes.io/instance={{ .Release.Name }},app.kubernetes.io/component={{ ternary "webserver" "standalone" (.Values.deployments.webserver.enabled) }}" -o jsonpath="{.items[0].metadata.name}")
echo "Visit http://127.0.0.1:8080 to use your application"
kubectl port-forward $POD_NAME 8080:8080
{{- end }}
Loading
Loading