-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* set up helm release * update GH * syntax * try again * update on part of the action * switch bitnami repo * add readme * use env to replace set output which will be deprecated soon * fix typos * more changes * debugging * enable default so helm template can build correctly on the GH action sever * more defaults * remove release to github part since we are manually release clowder for now * test release * experimenting current folder * point to working directory * hardcode * add condition back * switch to release published * Update helm-release.yaml only keep the release part
- Loading branch information
1 parent
962010a
commit 64afb8d
Showing
4 changed files
with
215 additions
and
12 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
name: Release Helm Charts | ||
|
||
defaults: | ||
run: | ||
working-directory: deployments/kubernetes/charts/clowder2 | ||
|
||
on: | ||
release: | ||
types: [published] | ||
|
||
env: | ||
MAIN_REPO: clowder-framework/clowder2 | ||
|
||
jobs: | ||
release: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Get dependencies | ||
run: | | ||
helm repo add bitnami https://charts.bitnami.com/bitnami | ||
helm repo add ncsa https://opensource.ncsa.illinois.edu/charts | ||
helm dep build | ||
- name: Get release info | ||
id: release_info | ||
run: | | ||
version="$(awk '/^version:/ { print $2} ' Chart.yaml)" | ||
changelog="$(sed -e "1,/^### ${version}/d" -e "/^###/,\$d" -e '/^$/d' README.md)" | ||
changelog="${changelog//'%'/'%25'}" | ||
changelog="${changelog//$'\n'/'%0A'}" | ||
changelog="${changelog//$'\r'/'%0D'}" | ||
echo "version=${version}" >> $GITHUB_ENV | ||
echo "changelog=${changelog}" >> $GITHUB_ENV | ||
echo "version: ${version}" | ||
echo "changelog: ${changelog}" | ||
- name: Print Github Info | ||
run: | | ||
echo "github.event_name: ${{ github.event_name }}" | ||
echo "github.repository: ${{ github.repository }}" | ||
echo "github.ref: ${{ github.ref }}" | ||
- name: run helm template | ||
run: helm template . | ||
|
||
- name: Publish to NCSA OpenSource | ||
if: | | ||
github.event_name != 'pull_request' | ||
&& github.repository == env.MAIN_REPO | ||
uses: bsord/[email protected] | ||
with: | ||
username: ${{ secrets.HELM_USERNAME }} | ||
password: ${{ secrets.HELM_PASSWORD }} | ||
registry-url: "https://opensource.ncsa.illinois.edu/charts" | ||
chart-folder: "deployments/kubernetes/charts/clowder2" | ||
force: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,141 @@ | ||
# Clowder v2 Helm Charts | ||
|
||
Helm charts depend on some subcharts, make sure to have them installed if you plan on modifying the helm chart: | ||
|
||
```bash | ||
helm repo add bitnami https://charts.bitnami.com/bitnami | ||
helm dep build | ||
``` | ||
|
||
The chart has some common values; you can overwrite with your own values following below examples: | ||
|
||
```yaml | ||
# helm upgrade --namespace clowder2 --values clowder2-software-dev.yaml clowder2 clowder2 | ||
|
||
hostname: { your hostname. E.g. clowder2.software-dev.ncsa.illinois.edu } | ||
|
||
frontend: | ||
image: | ||
repository: clowder/clowder2-frontend | ||
tag: 2.0.0-beta.1 | ||
pullPolicy: Always | ||
|
||
backend: | ||
image: | ||
repository: clowder/clowder2-backend | ||
tag: 2.0.0-beta.1 | ||
pullPolicy: Always | ||
|
||
geoserver: | ||
enabled: true | ||
username: { your geoserver username } | ||
password: { your geoserver password } | ||
persistence: | ||
storageClass: { your storage class name } | ||
size: { your geoserver storage size e.g. 8Gi } | ||
ingress: | ||
hostname: { your hostname } | ||
|
||
minio: | ||
auth: | ||
rootUser: { your minio username } | ||
rootPassword: { your minio password } | ||
persistence: | ||
storageClass: { your storage class name } | ||
size: { your minio storage size e.g. 20Gi } | ||
ingress: | ||
hostname: { "minio."+ hostname } | ||
apiIngress: | ||
hostname: { "minio-api." + hostname } | ||
|
||
rabbitmq: | ||
# login | ||
auth: | ||
username: { your rabbitmq username } | ||
password: { your rabbitmq password } | ||
erlangCookie: { your rabbitmq cookie } | ||
ingress: | ||
hostname: { "rabbitmq." + hostname } | ||
persistence: | ||
storageClass: { your storage class name e.g.csi-cinder-sc-delete } | ||
size: { your rabbitmq storage size e.g. 8Gi } | ||
|
||
mongodb: | ||
persistence: | ||
storageClass: { your storage class name e.g. csi-cinder-sc-delete } | ||
size: { your mongodb storage size e.g. 8Gi } | ||
|
||
elasticsearch: | ||
master: | ||
persistence: | ||
storageClass: { your storage class name e.g. csi-cinder-sc-delete } | ||
size: { your elasticsearch storage size e.g. 8Gi } | ||
data: | ||
persistence: | ||
storageClass: { your storage class name e.g. csi-cinder-sc-delete } | ||
size: { your elasticsearch storage size e.g. 8Gi } | ||
|
||
keycloak: | ||
auth: | ||
adminUser: { your keycloak admin username } | ||
adminPassword: { your keycloak admin password } | ||
ingress: | ||
hostname: { hostname } | ||
postgresql: | ||
auth: | ||
password: { your postgresql password } | ||
postgresPassword: { your postgresql password } | ||
primary: | ||
persistence: | ||
storageClass: { your storage class name e.g. csi-cinder-sc-delete } | ||
size: { your postgresql storage size e.g. 8Gi } | ||
|
||
message: | ||
image: | ||
repository: clowder/clowder2-messages | ||
tag: main | ||
|
||
heartbeat: | ||
image: | ||
repository: clowder/clowder2-heartbeat | ||
tag: main | ||
``` | ||
Now you can install (or upgrade) clowder using: | ||
```bash | ||
helm upgrade --install --namespace clowder2 --create-namespace --values local.yaml clowder2 . | ||
``` | ||
|
||
## Ingress Controller | ||
|
||
You will need an ingress controller. Traefik works well as ingress controller. You can install it with: | ||
|
||
```bash | ||
helm install --namespace traefik --create-namespace traefik traefik/traefik | ||
``` | ||
|
||
If you want to enable the dashboard, you need the following file (dashboard.yaml): | ||
|
||
```yaml | ||
apiVersion: traefik.containo.us/v1alpha1 | ||
kind: IngressRoute | ||
metadata: | ||
name: dashboard | ||
spec: | ||
entryPoints: | ||
- web | ||
routes: | ||
- match: Host(`traefik.clowder2.ncsa.illinois.edu`) | ||
kind: Rule | ||
services: | ||
- name: api@internal | ||
kind: TraefikService | ||
``` | ||
and apply it using: | ||
```bash | ||
kubectl -n traefik apply -f dashboard.yaml | ||
``` | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters