Skip to content

Commit 00eedba

Browse files
authored
Merge pull request #15 from amitai-devops/main
Working improved helm chart
2 parents 9a70ce1 + 4ff3465 commit 00eedba

File tree

11 files changed

+421
-225
lines changed

11 files changed

+421
-225
lines changed

.github/workflows/helm_test.yml

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ on:
66
- main
77
# Allows you to run this workflow manually from the Actions tab
88
workflow_dispatch:
9-
9+
pull_request:
10+
1011
jobs:
1112
lint-test:
1213
runs-on: ubuntu-latest
@@ -23,7 +24,7 @@ jobs:
2324

2425
- uses: actions/setup-python@v4
2526
with:
26-
python-version: '3.9'
27+
python-version: "3.9"
2728
check-latest: true
2829

2930
- name: Set up chart-testing
@@ -37,11 +38,17 @@ jobs:
3738
echo "::set-output name=changed::true"
3839
fi
3940
41+
- name: Add Dependencies
42+
run: |
43+
helm repo add bitnami https://charts.bitnami.com/bitnami
44+
helm repo update
45+
4046
- name: Run chart-testing (lint)
4147
run: ct lint --target-branch ${{ github.event.repository.default_branch }}
4248

43-
- name: Create kind cluster
44-
uses: helm/kind-action@v1.4.0
49+
# Currently error in name resolution
50+
# - name: Create kind cluster
51+
# uses: helm/kind-action@v1.4.0
4552

46-
- name: Run chart-testing (install)
47-
run: ct install --all
53+
# - name: Run chart-testing (install)
54+
# run: ct install --all

README.md

Lines changed: 51 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
- [Direct from cloned repo](#direct-from-cloned-repo)
66
- [Kubernetes hosting tips](#kubernetes-hosting-tips)
77
- [Enterprise features](#enterprise-features)
8-
- [Values](#values)
98

109
# Windmill Helm Chart
1110

@@ -169,26 +168,57 @@ Enterprise users can use S3 storage for dependency caching for performance. Cac
169168
The sync relies on rclone and uses its methods of authentication to s3 per [Rclone documentation](https://rclone.org/s3/#authentication)
170169

171170

172-
# Values
173-
174-
| Key | Type | Default | Description |
175-
| ------------------------- | ------ | -------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
176-
| enterprise.enabled | bool | `false` | enable Windmill Enterprise , requires license key. |
177-
| enterprise.licenseKey | string | `"123456F"` | Windmill provided Enterprise license key. Sets LICENSE_KEY environment variable in frontend and worker container. |
178-
| enterprise.s3CacheBucket | string | `"mybucketname"` | S3 bucket to use for dependency cache. Sets S3_CACHE_BUCKET environment variable in worker container |
179-
| postgres.dbName | string | `"windmill"` | database name for postgres demo container |
180-
| postgres.enabled | bool | `true` | enabled included Postgres container for demo purposes only |
181-
| postgres.password | string | `"changeme"` | password for postgres demo container |
182-
| windmill.baseInternalUrl | string | `"http://windmill-app:8000"` | used internally by the app, should match the service for the frontend deployment, sets BASE_INTERNAL_URL environment variable in frontend and worker container |
183-
| windmill.baseUrl | string | `"http://localhost"` | domain as shown in browser, change to https etc based on your endpoint/ingress configuration, sets BASE_URL environment variable in frontend and worker container |
184-
| windmill.databaseUrl | string | `"postgres://postgres:changeme@postgres/windmill?sslmode=disable"` | Postgres URI, pods will crashloop if database is unreachable, sets DATABASE_URL environment variable in frontend and worker container | |
185-
| windmill.frontendReplicas | int | `2` | replica for the application frontend |
186-
| windmill.lspReplicas | int | `2` | replicas for the lsp containers used by the frontend |
187-
| windmill.numWorkers | int | `1` | workers per worker container, default and recommended is 1 to isolate one process per container, sets NUM_WORKER environment variable for worker container. Frontend container has 0 NUM_WORKERS by default |
188-
| windmill.oauthConfig | string | `"{\n \"github\": {\n \"id\": \"asdfasdf\",\n \"secret\": \"asdfasdfasdf\"\n }\n }\n"` | Oauth configuration for logins etc |
189-
| windmill.rustBacktrace | int | `1` | rust back trace information enabled, sets RUST_BACKTRACE environment variable in frontend and worker container |
190-
| windmill.rustLog | string | `"info"` | rust log level, set to debug for more information etc, sets RUST_LOG environment variable in frontend and worker container |
191-
| windmill.workerReplicas | int | `4` | replicas for the workers, jobs are executed on the workers |
171+
| Key | Type | Default | Description |
172+
|-----|------|---------|-------------|
173+
| enterprise.enabled | bool | `false` | enable Windmill Enterprise , requires license key. |
174+
| enterprise.licenseKey | string | `"123456F"` | Windmill provided Enterprise license key. Sets LICENSE_KEY environment variable in frontend and worker container. |
175+
| enterprise.s3CacheBucket | string | `"mybucketname"` | S3 bucket to use for dependency cache. Sets S3_CACHE_BUCKET environment variable in worker container |
176+
| lsp | string | `"latest"` | lsp image tag |
177+
| postgresql.auth.database | string | `"windmill"` | |
178+
| postgresql.auth.postgresPassword | string | `"windmill"` | |
179+
| postgresql.auth.username | string | `"postgres"` | |
180+
| postgresql.enabled | bool | `true` | enabled included Postgres container for demo purposes only using bitnami |
181+
| postgresql.primary.persistence.enabled | bool | `true` | |
182+
| windmill.baseInternalUrl | string | `"http://windmill-app:8000"` | used internally by the app, should match the service for the frontend deployment, sets BASE_INTERNAL_URL environment variable in frontend and worker container |
183+
| windmill.baseUrl | string | `"http://localhost"` | domain as shown in browser, change to https etc based on your endpoint/ingress configuration, sets BASE_URL environment variable in frontend and worker container |
184+
| windmill.databaseUrl | string | `"postgres://postgres:windmill@windmill-postgresql/windmill?sslmode=disable"` | Postgres URI, pods will crashloop if database is unreachable, sets DATABASE_URL environment variable in frontend and worker container |
185+
| windmill.denoPath | string | `"/usr/bin/deno"` | deno binary built into Windmill image, should not be changed. Sets DENO_PATH environment variable in frontend and worker container |
186+
| windmill.disableNsjail | bool | `true` | enables/disables nsjail which provide isolation in untrusted environment is disabled by default. Sets DISABLE_NJSAIL environment variable in worker container |
187+
| windmill.disableNuser | bool | `true` | nsjail user . Sets DISABLE_NUSER environment variable in worker container |
188+
| windmill.frontend.affinity | object | `{}` | Affinity rules to apply to the pods |
189+
| windmill.frontend.annotations | object | `{}` | Annotations to apply to the pods |
190+
| windmill.frontend.autoscaling.enabled | bool | `true` | enable or disable autoscaling |
191+
| windmill.frontend.autoscaling.maxReplicas | int | `10` | maximum autoscaler replicas |
192+
| windmill.frontend.autoscaling.targetCPUUtilizationPercentage | int | `80` | target CPU utilization |
193+
| windmill.frontend.nodeSelector | object | `{}` | Node selector to use for scheduling the pods |
194+
| windmill.frontend.resources | object | `{}` | Resource limits and requests for the pods |
195+
| windmill.frontend.tolerations | list | `[]` | Tolerations to apply to the pods |
196+
| windmill.frontendReplicas | int | `2` | replica for the application frontend |
197+
| windmill.image | string | `"main"` | windmill app image tag |
198+
| windmill.lsp.affinity | object | `{}` | Affinity rules to apply to the pods |
199+
| windmill.lsp.annotations | object | `{}` | Annotations to apply to the pods |
200+
| windmill.lsp.autoscaling.enabled | bool | `true` | enable or disable autoscaling |
201+
| windmill.lsp.autoscaling.maxReplicas | int | `10` | maximum autoscaler replicas |
202+
| windmill.lsp.autoscaling.targetCPUUtilizationPercentage | int | `80` | target CPU utilization |
203+
| windmill.lsp.nodeSelector | object | `{}` | Node selector to use for scheduling the pods |
204+
| windmill.lsp.resources | object | `{}` | Resource limits and requests for the pods |
205+
| windmill.lsp.tolerations | list | `[]` | Tolerations to apply to the pods |
206+
| windmill.lspReplicas | int | `2` | replicas for the lsp containers used by the frontend |
207+
| windmill.nsjailPath | string | `"nsjail"` | nsjail binary. Sets NSJAIL_PATH environment variable in worker container |
208+
| windmill.numWorkers | int | `1` | workers per worker container, default and recommended is 1 to isolate one process per container, sets NUM_WORKER environment variable for worker container. Frontend container has 0 NUM_WORKERS by default |
209+
| windmill.oauthConfig | string | `"{}\n"` | Oauth configuration for logins and connections. e.g of values "github": { "id": "asdfasdf", "secret": "asdfasdfasdf" } |
210+
| windmill.pythonPath | string | `"/usr/local/bin/python3"` | python binary built into Windmill image, should not be changed. Sets PYTHON_PATH environment variable in frontend and worker container |
211+
| windmill.rustBacktrace | int | `1` | rust back trace information enabled, sets RUST_BACKTRACE environment variable in frontend and worker container |
212+
| windmill.rustLog | string | `"info"` | rust log level, set to debug for more information etc, sets RUST_LOG environment variable in frontend and worker container |
213+
| windmill.workerReplicas | int | `4` | replicas for the workers, jobs are executed on the workers |
214+
| windmill.workers.affinity | object | `{}` | Affinity rules to apply to the pods |
215+
| windmill.workers.annotations | object | `{}` | Annotations to apply to the pods |
216+
| windmill.workers.autoscaling.enabled | bool | `true` | enable or disable autoscaling |
217+
| windmill.workers.autoscaling.maxReplicas | int | `10` | maximum autoscaler replicas |
218+
| windmill.workers.autoscaling.targetCPUUtilizationPercentage | int | `80` | target CPU utilization |
219+
| windmill.workers.nodeSelector | object | `{}` | Node selector to use for scheduling the pods |
220+
| windmill.workers.resources | object | `{}` | Resource limits and requests for the pods |
221+
| windmill.workers.tolerations | list | `[]` | Tolerations to apply to the pods |
192222

193223
----------------------------------------------
194224

charts/windmill/Chart.yaml

Lines changed: 25 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,28 @@
11
apiVersion: v2
22
name: windmill
3-
description: A Helm chart for Kubernetes
4-
5-
# A chart can be either an 'application' or a 'library' chart.
6-
#
7-
# Application charts are a collection of templates that can be packaged into versioned archives
8-
# to be deployed.
9-
#
10-
# Library charts provide useful utilities or functions for the chart developer. They're included as
11-
# a dependency of application charts to inject those utilities and functions into the rendering
12-
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
133
type: application
14-
15-
# This is the chart version. This version number should be incremented each time you make changes
16-
# to the chart and its templates, including the app version.
17-
# Versions are expected to follow Semantic Versioning (https://semver.org/)
18-
version: 1.1.2
19-
20-
# This is the version number of the application being deployed. This version number should be
21-
# incremented each time you make changes to the application. Versions are not expected to
22-
# follow Semantic Versioning. They should reflect the version the application is using.
23-
# It is recommended to use it with quotes.
24-
appVersion: 1.87.0
4+
version: 1.2.0
5+
appVersion: 1.87.2
6+
dependencies:
7+
- condition: postgresql.enabled
8+
name: postgresql
9+
repository: https://charts.bitnami.com/bitnami
10+
version: 12.3.1
11+
deprecated: false
12+
description: Windmill - Turn scripts into workflows and UIs in minutes
13+
home: https://www.windmill.dev/
14+
icon: https://www.windmill.dev/img/windmill.svg
15+
keywords:
16+
- windmill
17+
- scripts
18+
- flows
19+
- workflows
20+
- internal
21+
- apps
22+
- open-source
23+
maintainers:
24+
- email: ruben@windmill.dev
25+
name: windmill
26+
url: https://www.windmill.dev/
27+
sources:
28+
- https://github.com/windmill-labs/windmill-helm-charts.git

0 commit comments

Comments
 (0)