Pre-requisites
Infra Requirements
Kubernetes Cluster with 3 worker nodes each of 16 Core 64 GB RAM
Fully Qualified Domain Name (FQDN)
SSL Certificate - A FullChain, consisting of the private key and Certificate+CA_Bundle
Object Storage with CORS enabled
CORS Policy:
[ { "origin": ["<domain-name>"], "method": ["GET", "HEAD", "OPTIONS", "PUT", "POST"], "responseHeader": ["Content-Type", "Authorization", "x-goog-resumable", "x-amz-acl", "x-ms-blob-type"], "maxAgeSeconds": 3600 } ]
Google OAuth Credentials
Steps to create: https://developers.google.com/workspace/guides/create-credentials#oauth-client-id
Google V3 ReCaptcha Credentials
Steps to create: Login to https://www.google.com/recaptcha/admin and create one for the domain
Maxmind city database (free or paid)
Email service provider
MSG91 sms service provider API Token (optional)
Note: This is required to get OTPs to registered email addresses when a user registers or resets
YouTube API Token (optional)
Note: This is required to upload video content directly using the YouTube URL
Slack account and slack bot with API Token for monitoring alerts(optional)
Required CLI Tools
yq (for YAML processing)
Linux / MacOS / GitBash (Windows)
Python 3
PyJWT Python Package (install via pip)
Git
Clone the installation scripts repository
Cloud Specific Tools
Based on the cloud provider, install the respective tools
Required tools and permissions
Ensure that the user or service principal running the Terraform script has the necessary privileges as listed here
NOTE: We will overwrite the following files. Please take a backup of your existing files in the following locations
~/.config/rclone/rclone.conf
Authentication
Post installation of the CLI tool and providing necessary permissions, use the following command to login to Azure via CLI.
Note: Make sure you replace the AZURE_TENANT_ID with the tenant id from Azure Console.
Infra Setup
Post login, update the terraform/azure/<env>/global-values.yaml with the variables as per your environment
Create a project on google cloud and export it as a variable. Please see Creating and Managing Projects for reference and enable the Kubernetes Engine API for the project, as it is required to create and manage Kubernetes clusters within Google Cloud You can enable the API by following the guide Enable the Kubernetes Engine API.
Required tools and permissions
Ensure that the user or service account running the Terraform script has the necessary privileges as listed here.
NOTE: We will overwrite the following files. Please take a backup of your existing files in the following locations
~/.config/rclone/rclone.conf
Authentication
Post installation of the CLI tool and providing necessary permissions, use the following commands to login to GCP via CLI.
Then initialize the GCP configuration:
Authenticate the application with default credentials:
Install the GKE gcloud authentication plugin:
Note: Make sure you select the correct project and authenticate with the appropriate credentials.
Infra Setup
Post login, update the terraform/gcp/<env>/global-values.yaml with the variables as per your environment
Last updated