Deployment is supported on the following platforms:
- Kubernetes
- Docker-Compose
Common instructions:
- Clone or Download the repository
- Fill
env
file with credentials
cp env .env
nano .env # use your favourite editor
Runs CMS on Kubernetes cluster. Suitable for hosting actual contests:
- Requires Kubernetes Cluster with the following:
- preconfigured default storage class (check with
kubectl get sc
) - ingress (nginx-ingress available as optional addon)
- preconfigured default storage class (check with
helm install k8s-cms chart
Additional deployment configuration in
values.yaml
:
- change
replicas
to control the no. of replicas created for autoscaling
Optionally configure addons the following in values.yaml
before helm install .
:
- Import addon charts before enabling addons:
helm repo add stable https://kubernetes-charts.storage.googleapis.com
helm repo add jetstack https://charts.jetstack.io
helm dep update
- Expose services with ingress
- deploy nginx ingress controller setting
nginx-ingress.enabled
totrue
- set
ingress.enabled
totrue
and configure dns hosts
- deploy nginx ingress controller setting
- Automatically provision TLS certificates for HTTPs:
- expose services and test services with ingress first
- deploy cert-manage by setting
cert-manager.enabled
totrue
- set
certGenerate.enabled
totrue
and configure email
- Mointoring with monitoring and alerts and prometheus and grafana
- deploy cert-manage by setting
prometheus-operator.enabled
totrue
- Port forward the grafana service to access monitoing dashboards.
- deploy cert-manage by setting
Runs CMS on a single machine. Suitable for testing:
- Only requires
docker
anddocker-compose
. No kubernetes required. - Limited to only 2 workers.
docker-compose pull
docker-compose up