Skip to content
30 changes: 28 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,33 @@ A Helm chart for Kubernetes

![Version: 4.1.6](https://img.shields.io/badge/Version-4.1.6-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.1.0](https://img.shields.io/badge/AppVersion-4.1.0-informational?style=flat-square)

## CI/CD
## About Appstore

Appstore is a backend API that creates running instances of applications that are private to a user that is logged in through some SSO, like Google or UNC Shibboleth. The HeLx product is basically appstore overlayed with the helx-ui user interface. Through appstore, helx-ui can allow a user to create an arbitrary number of instances of applications as containers in Kubernetes, with minimal configuration.

## Deployment

### Minimum Viable Deployment

The following values in a Helm values file will give you a minimum viable deployment for appstore:

logLevel: "info"
django:
DEV_PHASE: prod
global:
stdnfsPvc: stdnfs

This assumes you don't have to change things like the default user that the application is run as or the DOCKSTORE_APPS_BRANCH value, which you likely do depending on your intended configuration. See the values.yaml file for more information about what each value does.

It also assumes that you want to use the default value of having appstore create a new PVC for user storage. This PVC will be used as the storage location for things like users' home directories. It will be named whatever value you use for the stdnfsPvc helm value.

### stdnfsPvc

The stdnfsPvc Helm value takes in the name of the PVC to use for students' files. This value will either be used to name the PVC when it's created or to mount an already existing PVC.

Note that the stdnfs PVC itself must be created prior to the deployment if using `userStorage:createPVC: false`. To create this PVC, the cluster of the deployment must be capable of creating PVCs with an `accessModes:` value of `ReadWriteMany`. This is by default true in Sterling and ASHE, but not for some other environments like Azure.

### CI/CD

When the main branch of this chart is updated, using Github Actions we send the updated version to helm-charts repo to be indexed and packaged automatically.

Expand Down Expand Up @@ -169,7 +195,7 @@ Additionally there is a workflow that allows bumping the chart version, if this
| userStorage.nfs.createPV | bool | `false` | |
| userStorage.nfs.path | string | `nil` | |
| userStorage.nfs.server | string | `nil` | |
| userStorage.retain | bool | `true` | |
| userStorage.retain | bool | `true` | Keep the PVC alive when uninstalling the helm release. Set to false if the PVC should be deleted once the helm release is uninstalled. This option only applies if createPVC is set to true. No matter what this is set to, app deployments will have to be manually deleted if needed. |
| userStorage.storageClass | string | `nil` | |
| userStorage.storageSize | string | `"10Gi"` | |
| webtop.enabled | bool | `true` | Disabling will turn off the creation of secrets/configmaps for Webtop |
Expand Down
28 changes: 27 additions & 1 deletion README.md.gotmpl
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,33 @@

{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }}

## CI/CD
## About Appstore

Appstore is a backend API that creates running instances of applications that are private to a user that is logged in through some SSO, like Google or UNC Shibboleth. The HeLx product is basically appstore overlayed with the helx-ui user interface. Through appstore, helx-ui can allow a user to create an arbitrary number of instances of applications as containers in Kubernetes, with minimal configuration.

## Deployment

### Minimum Viable Deployment

The following values in a Helm values file will give you a minimum viable deployment for appstore:

logLevel: "info"
django:
DEV_PHASE: prod
global:
stdnfsPvc: stdnfs

This assumes you don't have to change things like the default user that the application is run as or the DOCKSTORE_APPS_BRANCH value, which you likely do depending on your intended configuration. See the values.yaml file for more information about what each value does.

It also assumes that you want to use the default value of having appstore create a new PVC for user storage. This PVC will be used as the storage location for things like users' home directories. It will be named whatever value you use for the stdnfsPvc helm value.

### stdnfsPvc

The stdnfsPvc Helm value takes in the name of the PVC to use for students' files. This value will either be used to name the PVC when it's created or to mount an already existing PVC.

Note that the stdnfs PVC itself must be created prior to the deployment if using `userStorage:createPVC: false`. To create this PVC, the cluster of the deployment must be capable of creating PVCs with an `accessModes:` value of `ReadWriteMany`. This is by default true in Sterling and ASHE, but not for some other environments like Azure.

### CI/CD

When the main branch of this chart is updated, using Github Actions we send the updated version to helm-charts repo to be indexed and packaged automatically.

Expand Down
4 changes: 4 additions & 0 deletions values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -251,6 +251,10 @@ userStorage:
# -- Create a PVC for user's files. If false then the PVC needs to be created
# outside of the appstore chart.
createPVC: true
# -- Keep the PVC alive when uninstalling the helm release.
# Set to false if the PVC should be deleted once the helm release is uninstalled.
# This option only applies if createPVC is set to true.
# No matter what this is set to, app deployments will have to be manually deleted if needed.
retain: true
storageSize: 10Gi
storageClass:
Expand Down