automate helm deployment with CI
This commit is contained in:
parent
48ff92b367
commit
566d177010
|
@ -43,11 +43,6 @@ jobs:
|
||||||
DOCKER_PASSWORD: ${{ secrets.DOCKER_API_KEY }}
|
DOCKER_PASSWORD: ${{ secrets.DOCKER_API_KEY }}
|
||||||
BUDIBASE_RELEASE_VERSION: ${{ steps.previoustag.outputs.tag }}
|
BUDIBASE_RELEASE_VERSION: ${{ steps.previoustag.outputs.tag }}
|
||||||
|
|
||||||
- name: Configure Git
|
|
||||||
run: |
|
|
||||||
git config user.name "Budibase Production Bot"
|
|
||||||
git config user.email "<>"
|
|
||||||
|
|
||||||
- uses: azure/setup-helm@v1
|
- uses: azure/setup-helm@v1
|
||||||
id: install
|
id: install
|
||||||
|
|
||||||
|
@ -55,10 +50,12 @@ jobs:
|
||||||
env:
|
env:
|
||||||
BUDIBASE_RELEASE_VERSION: ${{ steps.previoustag.outputs.tag }}
|
BUDIBASE_RELEASE_VERSION: ${{ steps.previoustag.outputs.tag }}
|
||||||
|
|
||||||
|
- name: Configure Git
|
||||||
|
run: |
|
||||||
|
git config user.name "Budibase Helm Bot"
|
||||||
|
git config user.email "<>"
|
||||||
|
|
||||||
- name: Run chart-releaser
|
- name: Run chart-releaser
|
||||||
uses: helm/chart-releaser-action@v1.1.0
|
uses: helm/chart-releaser-action@v1.2.0
|
||||||
with:
|
|
||||||
charts_dir: docs
|
|
||||||
branch: helm-repo
|
|
||||||
env:
|
env:
|
||||||
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
|
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
|
|
@ -11,8 +11,8 @@ sources:
|
||||||
- https://github.com/Budibase/budibase
|
- https://github.com/Budibase/budibase
|
||||||
- https://budibase.com
|
- https://budibase.com
|
||||||
type: application
|
type: application
|
||||||
version: 0.2.4
|
version: 0.2.6
|
||||||
appVersion: 1.0.6
|
appVersion: 1.0.10
|
||||||
dependencies:
|
dependencies:
|
||||||
- name: couchdb
|
- name: couchdb
|
||||||
version: 3.3.4
|
version: 3.3.4
|
|
@ -106,7 +106,7 @@ spec:
|
||||||
value: {{ .Values.globals.accountPortalApiKey | quote }}
|
value: {{ .Values.globals.accountPortalApiKey | quote }}
|
||||||
- name: COOKIE_DOMAIN
|
- name: COOKIE_DOMAIN
|
||||||
value: {{ .Values.globals.cookieDomain | quote }}
|
value: {{ .Values.globals.cookieDomain | quote }}
|
||||||
image: budibase/apps:{{ .Chart.appVersion }}
|
image: budibase/apps:{{ .Values.globals.appVersion }}
|
||||||
imagePullPolicy: Always
|
imagePullPolicy: Always
|
||||||
name: bbapps
|
name: bbapps
|
||||||
ports:
|
ports:
|
|
@ -30,9 +30,9 @@ spec:
|
||||||
- name: SOURCE
|
- name: SOURCE
|
||||||
value: {{ .Values.services.couchdb.url }}
|
value: {{ .Values.services.couchdb.url }}
|
||||||
- name: TARGET
|
- name: TARGET
|
||||||
value: {{ .Values.services.couchdb.backup.target }}
|
value: {{ .Values.services.couchdb.backup.target | quote }}
|
||||||
- name: RUN_EVERY_SECS
|
- name: RUN_EVERY_SECS
|
||||||
value: {{ .Values.services.couchdb.backup.interval }}
|
value: {{ .Values.services.couchdb.backup.interval | quote }}
|
||||||
- name: VERBOSE
|
- name: VERBOSE
|
||||||
value: "true"
|
value: "true"
|
||||||
image: redgeoff/replicate-couchdb-cluster
|
image: redgeoff/replicate-couchdb-cluster
|
|
@ -111,7 +111,7 @@ spec:
|
||||||
value: {{ .Values.globals.smtp.from | quote }}
|
value: {{ .Values.globals.smtp.from | quote }}
|
||||||
- name: APPS_URL
|
- name: APPS_URL
|
||||||
value: http://app-service:{{ .Values.services.apps.port }}
|
value: http://app-service:{{ .Values.services.apps.port }}
|
||||||
image: budibase/worker:{{ .Chart.appVersion }}
|
image: budibase/worker:{{ .Values.globals.appVersion }}
|
||||||
imagePullPolicy: Always
|
imagePullPolicy: Always
|
||||||
name: bbworker
|
name: bbworker
|
||||||
ports:
|
ports:
|
|
@ -85,6 +85,7 @@ tolerations: []
|
||||||
affinity: {}
|
affinity: {}
|
||||||
|
|
||||||
globals:
|
globals:
|
||||||
|
appVersion: "latest"
|
||||||
budibaseEnv: PRODUCTION
|
budibaseEnv: PRODUCTION
|
||||||
enableAnalytics: true
|
enableAnalytics: true
|
||||||
sentryDSN: ""
|
sentryDSN: ""
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,9 +0,0 @@
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title>Budibase Helm Chart Repo</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<h1>Budibase Charts Repo</h1>
|
|
||||||
<p>Point Helm at this repo to see charts.</p>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
158
docs/index.yaml
158
docs/index.yaml
|
@ -1,158 +0,0 @@
|
||||||
apiVersion: v1
|
|
||||||
entries:
|
|
||||||
budibase:
|
|
||||||
- apiVersion: v2
|
|
||||||
appVersion: 1.0.6
|
|
||||||
created: "2021-12-08T16:26:47.061065Z"
|
|
||||||
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: 9e3d5b600368a4fd65ba827986c943b65d7ffae6544b3fda0418e760866e8929
|
|
||||||
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.4.tgz
|
|
||||||
version: 0.2.4
|
|
||||||
- apiVersion: v2
|
|
||||||
appVersion: 0.9.169
|
|
||||||
created: "2021-12-08T16:26:47.055284Z"
|
|
||||||
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: 57f365d799fcaace4658883cb8ec961a7905383a68acf065af4f6e57f9878ff8
|
|
||||||
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.2.tgz
|
|
||||||
version: 0.2.2
|
|
||||||
- apiVersion: v2
|
|
||||||
appVersion: 0.9.163
|
|
||||||
created: "2021-12-08T16:26:47.051008Z"
|
|
||||||
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: ebac6d8631cc38b266c3689508b5123f5afc395f23bdb02738be26c7cae0b0b5
|
|
||||||
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.1.tgz
|
|
||||||
version: 0.2.1
|
|
||||||
- apiVersion: v2
|
|
||||||
appVersion: 0.9.163
|
|
||||||
created: "2021-12-08T16:26:47.046825Z"
|
|
||||||
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
|
|
||||||
appVersion: 0.9.56
|
|
||||||
created: "2021-12-08T16:26:47.042113Z"
|
|
||||||
dependencies:
|
|
||||||
- condition: services.couchdb.enabled
|
|
||||||
name: couchdb
|
|
||||||
repository: https://apache.github.io/couchdb-helm
|
|
||||||
version: 3.3.4
|
|
||||||
- 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: 8dc4f2ed4d98cad5adf25936aefea680042d3e4e17832f846b961fd8708ad192
|
|
||||||
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.1.1.tgz
|
|
||||||
version: 0.1.1
|
|
||||||
- apiVersion: v2
|
|
||||||
appVersion: 0.9.56
|
|
||||||
created: "2021-12-08T16:26:47.036016Z"
|
|
||||||
dependencies:
|
|
||||||
- condition: services.couchdb.enabled
|
|
||||||
name: couchdb
|
|
||||||
repository: https://apache.github.io/couchdb-helm
|
|
||||||
version: 3.3.4
|
|
||||||
- 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: 08031b0803cce0eff64472e569d454d9176119c8207aa9873a9c95ee66cc7d3f
|
|
||||||
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.1.0.tgz
|
|
||||||
version: 0.1.0
|
|
||||||
generated: "2021-12-08T16:26:47.031998Z"
|
|
|
@ -1,5 +1,4 @@
|
||||||
const yaml = require("js-yaml")
|
const yaml = require("js-yaml")
|
||||||
const { execSync } = require("child_process")
|
|
||||||
const fs = require("fs")
|
const fs = require("fs")
|
||||||
const path = require("path")
|
const path = require("path")
|
||||||
|
|
||||||
|
@ -9,7 +8,7 @@ const UpgradeTypes = {
|
||||||
PATCH: "patch"
|
PATCH: "patch"
|
||||||
}
|
}
|
||||||
|
|
||||||
const CHART_PATH = path.join(__dirname, "../", "hosting", "kubernetes", "budibase", "Chart.yaml")
|
const CHART_PATH = path.join(__dirname, "../", "charts", "budibase", "Chart.yaml")
|
||||||
const UPGRADE_VERSION = process.env.BUDIBASE_RELEASE_VERSION
|
const UPGRADE_VERSION = process.env.BUDIBASE_RELEASE_VERSION
|
||||||
const UPGRADE_TYPE = process.env.HELM_CHART_UPGRADE_TYPE || UpgradeTypes.PATCH
|
const UPGRADE_TYPE = process.env.HELM_CHART_UPGRADE_TYPE || UpgradeTypes.PATCH
|
||||||
|
|
||||||
|
@ -30,9 +29,6 @@ try {
|
||||||
chart.version = [major, minor, newPatch].join(".")
|
chart.version = [major, minor, newPatch].join(".")
|
||||||
const updatedChartYaml = yaml.dump(chart)
|
const updatedChartYaml = yaml.dump(chart)
|
||||||
fs.writeFileSync(CHART_PATH, updatedChartYaml)
|
fs.writeFileSync(CHART_PATH, updatedChartYaml)
|
||||||
|
|
||||||
// package the chart and write to docs dir
|
|
||||||
execSync(`helm package hosting/kubernetes/budibase --destination docs`)
|
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.error("Error releasing helm chart")
|
console.error("Error releasing helm chart")
|
||||||
throw err
|
throw err
|
||||||
|
|
Loading…
Reference in New Issue