A complete Setup Script for Sugarizer School Portal dependencies, environment, and the helm chart.
Sugarizer School Portal Chart supports three providers:
- Amazon Elastic Kubernetes Service (Amazon EKS)
- Azure Kubernetes Service (AKS)
- Google Kubernetes Engine (GKE)
Navigate into scripts directory and run sh setup.sh -p <provider> -s <true/false>
from your terminal to set-up the environment for Sugarizer School Portal on the cluster.
# Clone the repository
git clone git@github.com:NikhilM98/sugarizer-school-portal.git
# Navigate into scripts directory
cd sugarizer-school-portal/scripts
# Execute setup script
sh setup.sh -p <provider> -s <true/false>
# <providers> can be aws/azure/gke
Provider (-p) : Cloud provider for the Kubernetes Cluster. Options: aws
, azure
, gke
.
SSL (-s) : Whether to install HTTPS components. Options: true
, false
.
After setting up the environment, the setup will pause. Navigate to the repository root, update the chart ssp-values.yaml file.
Update the hostName
and deployment.host
values in the ssp-values.yaml file. You don't need to update the cluster
values if you have set SSL (-s) to false
(sh setup.sh -p <provider> -s false
).
If you want client email validation in the Sugarizer School Portal deployment, set verification.enabled
to true
and fill the SMTP server details in the following sub-fields.
You can look at this documentation for more info about the supported values.
Press Enter
to proceed once you have edited the chart values.
The Sugarizer School Portal Chart will be installed with the release name ssp
.
Note: Point the Address (A
) Record of your Cloud DNS zone to the Cluster IP of the NGINX Ingress Controller.
The setup checks and installs these prerequisites if they're not already present:
- GCloud - (If provider is
gke
) - Azure CLI - (If provider is
azure
) - AWS CLI - (If provider is
aws
) - kubectl
- Git
- Curl - (If required)
- GnuPG - (If required)
- Helm 3
It then checks and installs the required Helm charts:
- MongoDB Replicaset as
mymongodb
indefault
namespace. - Kubernetes-Reflector as
reflector
indefault
namespace. - (If SSL istrue
) - NGINX Ingress Controller as
ingress-nginx
indefault
namespace. - Cert-Manager as
cert-manager
incert-manager
namespace. - (If SSL istrue
)
It then checks and installs Sugarizer School Portal Helm Chart if everything is fine.