Merge pull request #2987 from Budibase/feature/k8s-templates

Feature/k8s templates
This commit is contained in:
Martin McKeaveney 2021-10-12 22:05:47 +01:00 committed by GitHub
commit d1db72fbf6
9 changed files with 86 additions and 37 deletions

BIN
docs/budibase-0.2.0.tgz Normal file

Binary file not shown.

View File

@ -1,9 +1,35 @@
apiVersion: v1 apiVersion: v1
entries: entries:
budibase: budibase:
- apiVersion: v2
appVersion: 0.9.163
created: "2021-10-12T21:58:00.515555+01:00"
dependencies:
- condition: services.couchdb.enabled
name: couchdb
repository: https://apache.github.io/couchdb-helm
version: 3.3.4
- condition: ingress.nginx
name: ingress-nginx
repository: https://github.com/kubernetes/ingress-nginx
version: 3.35.0
description: Budibase is an open source low-code platform, helping thousands of teams build apps for their workplace in minutes.
digest: f369536c0eac1f6959d51e8ce6d74a87a7a9df29ae84fb9cbed0a273ab77429b
keywords:
- low-code
- database
- cluster
name: budibase
sources:
- https://github.com/Budibase/budibase
- https://budibase.com
type: application
urls:
- https://budibase.github.io/budibase/budibase-0.2.0.tgz
version: 0.2.0
- apiVersion: v2 - apiVersion: v2
appVersion: 0.9.56 appVersion: 0.9.56
created: "2021-08-18T18:41:52.640176+01:00" created: "2021-10-12T21:58:00.512062+01:00"
dependencies: dependencies:
- condition: services.couchdb.enabled - condition: services.couchdb.enabled
name: couchdb name: couchdb
@ -28,7 +54,7 @@ entries:
version: 0.1.1 version: 0.1.1
- apiVersion: v2 - apiVersion: v2
appVersion: 0.9.56 appVersion: 0.9.56
created: "2021-08-18T18:41:52.635603+01:00" created: "2021-10-12T21:58:00.507257+01:00"
dependencies: dependencies:
- condition: services.couchdb.enabled - condition: services.couchdb.enabled
name: couchdb name: couchdb
@ -51,4 +77,4 @@ entries:
urls: urls:
- https://budibase.github.io/budibase/budibase-0.1.0.tgz - https://budibase.github.io/budibase/budibase-0.1.0.tgz
version: 0.1.0 version: 0.1.0
generated: "2021-08-18T18:41:52.629415+01:00" generated: "2021-10-12T21:58:00.503447+01:00"

View File

@ -22,13 +22,13 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes # This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version. # to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/) # Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.1.1 version: 0.2.0
# This is the version number of the application being deployed. This version number should be # This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to # incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using. # follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes. # It is recommended to use it with quotes.
appVersion: "0.9.56" appVersion: "0.9.163"
dependencies: dependencies:
- name: couchdb - name: couchdb
@ -37,5 +37,5 @@ dependencies:
condition: services.couchdb.enabled condition: services.couchdb.enabled
- name: ingress-nginx - name: ingress-nginx
version: 3.35.0 version: 3.35.0
repository: https://kubernetes.github.io/ingress-nginx repository: https://github.com/kubernetes/ingress-nginx
condition: services.ingress.nginx condition: ingress.nginx

View File

@ -7,6 +7,8 @@ metadata:
kubernetes.io/ingress.class: alb kubernetes.io/ingress.class: alb
alb.ingress.kubernetes.io/scheme: internet-facing alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/target-type: ip alb.ingress.kubernetes.io/target-type: ip
alb.ingress.kubernetes.io/success-codes: 200,301
alb.ingress.kubernetes.io/healthcheck-path: /
{{- if .Values.ingress.certificateArn }} {{- if .Values.ingress.certificateArn }}
alb.ingress.kubernetes.io/actions.ssl-redirect: '{"Type": "redirect", "RedirectConfig": { "Protocol": "HTTPS", "Port": "443", "StatusCode": "HTTP_301"}}' alb.ingress.kubernetes.io/actions.ssl-redirect: '{"Type": "redirect", "RedirectConfig": { "Protocol": "HTTPS", "Port": "443", "StatusCode": "HTTP_301"}}'
alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS":443}]' alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS":443}]'

View File

@ -14,7 +14,7 @@ spec:
matchLabels: matchLabels:
io.kompose.service: app-service io.kompose.service: app-service
strategy: strategy:
type: Recreate type: RollingUpdate
template: template:
metadata: metadata:
annotations: annotations:
@ -73,13 +73,11 @@ spec:
name: {{ template "budibase.fullname" . }} name: {{ template "budibase.fullname" . }}
key: objectStoreSecret key: objectStoreSecret
- name: MINIO_URL - name: MINIO_URL
{{ if .Values.services.objectStore.url }}
value: {{ .Values.services.objectStore.url }} value: {{ .Values.services.objectStore.url }}
{{ else }}
value: http://minio-service:{{ .Values.services.objectStore.port }}
{{ end }}
- name: PORT - name: PORT
value: {{ .Values.services.apps.port | quote }} value: {{ .Values.services.apps.port | quote }}
- name: MULTI_TENANCY
value: "1"
- name: REDIS_PASSWORD - name: REDIS_PASSWORD
value: {{ .Values.services.redis.password }} value: {{ .Values.services.redis.password }}
- name: REDIS_URL - name: REDIS_URL
@ -92,14 +90,20 @@ spec:
value: {{ .Values.globals.selfHosted | quote }} value: {{ .Values.globals.selfHosted | quote }}
- name: SENTRY_DSN - name: SENTRY_DSN
value: {{ .Values.globals.sentryDSN }} value: {{ .Values.globals.sentryDSN }}
- name: POSTHOG_TOKEN
value: {{ .Values.globals.posthogToken }}
- name: WORKER_URL - name: WORKER_URL
value: worker-service:{{ .Values.services.worker.port }} value: http://worker-service:{{ .Values.services.worker.port }}
- name: COOKIE_DOMAIN - name: PLATFORM_URL
value: {{ .Values.globals.cookieDomain | quote }} value: {{ .Values.globals.platformUrl | quote }}
- name: USE_QUOTAS
value: "1"
- name: ACCOUNT_PORTAL_URL - name: ACCOUNT_PORTAL_URL
value: {{ .Values.globals.accountPortalUrl | quote }} value: {{ .Values.globals.accountPortalUrl | quote }}
- name: ACCOUNT_PORTAL_API_KEY - name: ACCOUNT_PORTAL_API_KEY
value: {{ .Values.globals.accountPortalApiKey | quote }} value: {{ .Values.globals.accountPortalApiKey | quote }}
- name: COOKIE_DOMAIN
value: {{ .Values.globals.cookieDomain | quote }}
image: budibase/apps image: budibase/apps
imagePullPolicy: Always imagePullPolicy: Always
name: bbapps name: bbapps

View File

@ -14,7 +14,7 @@ spec:
matchLabels: matchLabels:
app.kubernetes.io/name: budibase-proxy app.kubernetes.io/name: budibase-proxy
strategy: strategy:
type: Recreate type: RollingUpdate
template: template:
metadata: metadata:
annotations: annotations:
@ -26,7 +26,7 @@ spec:
spec: spec:
containers: containers:
- image: budibase/proxy - image: budibase/proxy
imagePullPolicy: "" imagePullPolicy: Always
name: proxy-service name: proxy-service
ports: ports:
- containerPort: {{ .Values.services.proxy.port }} - containerPort: {{ .Values.services.proxy.port }}

View File

@ -15,7 +15,7 @@ spec:
matchLabels: matchLabels:
io.kompose.service: worker-service io.kompose.service: worker-service
strategy: strategy:
type: Recreate type: RollingUpdate
template: template:
metadata: metadata:
annotations: annotations:
@ -70,13 +70,11 @@ spec:
name: {{ template "budibase.fullname" . }} name: {{ template "budibase.fullname" . }}
key: objectStoreSecret key: objectStoreSecret
- name: MINIO_URL - name: MINIO_URL
{{ if .Values.services.objectStore.url }}
value: {{ .Values.services.objectStore.url }} value: {{ .Values.services.objectStore.url }}
{{ else }}
value: http://minio-service:{{ .Values.services.objectStore.port }}
{{ end }}
- name: PORT - name: PORT
value: {{ .Values.services.worker.port | quote }} value: {{ .Values.services.worker.port | quote }}
- name: MULTI_TENANCY
value: "1"
- name: REDIS_PASSWORD - name: REDIS_PASSWORD
value: {{ .Values.services.redis.password | quote }} value: {{ .Values.services.redis.password | quote }}
- name: REDIS_URL - name: REDIS_URL
@ -91,8 +89,22 @@ spec:
value: {{ .Values.globals.accountPortalUrl | quote }} value: {{ .Values.globals.accountPortalUrl | quote }}
- name: ACCOUNT_PORTAL_API_KEY - name: ACCOUNT_PORTAL_API_KEY
value: {{ .Values.globals.accountPortalApiKey | quote }} value: {{ .Values.globals.accountPortalApiKey | quote }}
- name: PLATFORM_URL
value: {{ .Values.globals.platformUrl | quote }}
- name: COOKIE_DOMAIN - name: COOKIE_DOMAIN
value: {{ .Values.globals.cookieDomain | quote }} value: {{ .Values.globals.cookieDomain | quote }}
- name: SMTP_FALLBACK_ENABLED
value: {{ .Values.globals.smtp.enabled | quote }}
- name: SMTP_USER
value: {{ .Values.globals.smtp.user | quote }}
- name: SMTP_PASSWORD
value: {{ .Values.globals.smtp.password | quote }}
- name: SMTP_HOST
value: {{ .Values.globals.smtp.host | quote }}
- name: SMTP_PORT
value: {{ .Values.globals.smtp.port | quote }}
- name: SMTP_FROM_ADDRESS
value: {{ .Values.globals.smtp.from | quote }}
image: budibase/worker image: budibase/worker
imagePullPolicy: Always imagePullPolicy: Always
name: bbworker name: bbworker

View File

@ -40,11 +40,12 @@ service:
port: 10000 port: 10000
ingress: ingress:
enabled: true enabled: false
nginx: true aws: false
certificateArn: "" nginx: true
certificateArn: ""
className: "" className: ""
annotations: annotations:
kubernetes.io/ingress.class: nginx kubernetes.io/ingress.class: nginx
hosts: hosts:
- host: # change if using custom domain - host: # change if using custom domain
@ -55,7 +56,7 @@ ingress:
service: service:
name: proxy-service name: proxy-service
port: port:
number: 10000 number: 10000
resources: {} resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious # We usually recommend not to specify default resources and to leave this as a conscious
@ -84,20 +85,24 @@ affinity: {}
globals: globals:
budibaseEnv: PRODUCTION budibaseEnv: PRODUCTION
enableAnalytics: false enableAnalytics: true
posthogToken: ""
sentryDSN: "" sentryDSN: ""
posthogToken: ""
logLevel: info logLevel: info
selfHosted: 1 selfHosted: ""
accountPortalUrL: "" accountPortalUrl: ""
accountPortalApiKey: "" accountPortalApiKey: ""
cookieDomain: "" cookieDomain: ""
platformUrl: ""
createSecrets: true # creates an internal API key, JWT secrets and redis password for you createSecrets: true # creates an internal API key, JWT secrets and redis password for you
# if createSecrets is set to false, you can hard-code your secrets here # if createSecrets is set to false, you can hard-code your secrets here
internalApiKey: "" internalApiKey: ""
jwtSecret: "" jwtSecret: ""
smtp:
enabled: false
services: services:
dns: cluster.local dns: cluster.local
@ -118,12 +123,12 @@ services:
couchdb: couchdb:
enabled: true enabled: true
replicaCount: 3 replicaCount: 3
url: "" # only change if pointing to existing couch server # url: "" # only change if pointing to existing couch server
user: "" # only change if pointing to existing couch server # user: "" # only change if pointing to existing couch server
password: "" # only change if pointing to existing couch server # password: "" # only change if pointing to existing couch server
port: 5984 port: 5984
storage: 100Mi storage: 100Mi
redis: redis:
enabled: true # disable if using external redis enabled: true # disable if using external redis
port: 6379 port: 6379
@ -131,7 +136,7 @@ services:
url: "" # only change if pointing to existing redis cluster and enabled: false url: "" # only change if pointing to existing redis cluster and enabled: false
password: "budibase" # recommended to override if using built-in redis password: "budibase" # recommended to override if using built-in redis
storage: 100Mi storage: 100Mi
objectStore: objectStore:
minio: true minio: true
browser: true browser: true