Scoold is a Q&A platform inspired by Stack Overflow.
This chart bootstraps a Scoold deployment on a Kubernetes cluster using the Helm package manager.
This chart does not install Para next to Scoold in the K8s cluster. There is a separate Helm chart for Para. We also offer a fully managed Para service at ParaIO.com
- Para backend service (latest version recommended; Helm chart)
- Helm 3.0+
- Kubernetes 1.21+ (for the optional CronJob helper)
In the ./helm/ directory of this repo, execute the following console command:
$ helm install scoold ./scooldThe command deploys Scoold on the Kubernetes cluster in the default configuration. The configuration section lists the parameters that can be configured during installation.
If you want to auto-initialize Scoold from scratch, deploy the Para Helm chart first, then take note of the root app secret key.
The root app secret key is stored in the para-application.conf file located inside /para/application.conf inside the Para pod.
Then modify values.yaml and add this Scoold configuration property:
scoold.autoinit.root_app_secret_key="{secret key for root Para app}"Finally, run helm upgrade --install scoold ./scoold.
Tip: List all releases using
helm list
To uninstall/delete the scoold deployment:
$ helm uninstall scooldThe command removes all the Kubernetes components associated with the chart and deletes the release.
The following table lists the configurable parameters inside [values.yaml](values.yaml) and their default values.
| Parameter | Description | Default |
|---|---|---|
image.repository |
Scoold image name | erudikaltd/scoold |
image.tag |
Scoold image tag | 1.65.0 |
image.pullPolicy |
Image pull policy | IfNotPresent |
image.pullSecrets |
References to image pull secrets | [] |
service.type |
Kubernetes Service type | ClusterIP |
service.port |
Service HTTP port | 8000 |
service.name |
Service port name | http |
applicationConf |
Scoold configuration | Sample block in values.yaml |
javaOpts |
JAVA_OPTS JVM arguments |
-Xmx512m -Xms512m -Dconfig.file=/scoold/config/application.conf |
podAnnotations |
Pod annotations | {} |
extraEnvs |
Extra environment variables | [] |
updateStrategy |
Deployment update strategy | RollingUpdate |
ingress.enabled |
Create Ingress | false |
ingress.className |
Ingress class name | "" |
ingress.hosts[0].host |
Hostname for the Ingress | scoold.local |
ingress.hosts[0].paths[0].path |
HTTP path served by the Ingress | / |
ingress.tls |
TLS configuration | [] |
resources |
CPU/Memory resource requests/limits | {} |
nodeSelector |
Node selector | {} |
tolerations |
Tolerations | [] |
affinity |
Affinity rules | {} |
A YAML file that specifies the values for the above parameters can be provided while installing the chart. For example,
$ helm install scoold ./scoold -f values.yamlOr, when updating the chart with new configuration:
$ helm upgrade --install scoold ./scoold -f values.yamlFor more Scoold configuration options, please refer to the Scoold README.