Quick Start: Local Cluster Setup Script
Once you have installed all the necessary tools, you can proceed with setting up your Kubernetes cluster. This cluster is your local environment for running CIVITAS/CORE.
For installing the basic cluster services (Ingress, cert-manager, and load balancer) you can run the startup.sh
script.
Windows Users: Since the
startup.sh
script is a Unix shell script, you must use a terminal that supports Unix-like commands, such as:
Clone the Civitas Repository
First, clone the repository to your local machine. This repository contains all the necessary files.
git clone https://gitlab.com/civitas-connect/civitas-core/civitas-core.git
cd civitas-core/local_deployment
The necessary files for local Kubernetes deployment are located in the local_deployment
folder within the repository.
Definition of the Custom Domain
The default domain for local deployment is civitas.test
. If you want to define a custom domain for your local environment, set the DOMAIN
environment variable as follows:
export DOMAIN=civitas.test
If you want to use a proxy for the local deployment services, you must export the environment variables HTTP_PROXY
, HTTPS_PROXY
, and NO_PROXY
as well.
Run the startup.sh
Script
Run the script based on your status:
If Minikube cluster is not ready
If a Minikube cluster is not yet up and running, run the following command to install Minikube and start a new cluster:
./startup.sh -m # The flag -m will install and start a Minikube cluster
To see the help page, run ./startup.sh -h
.
If you have a Minikube cluster up and running
If a Minikube cluster is already running or you want to use an existing cluster, run the following command to setup CIVITAS/CORE:
./startup.sh # Without any flag the script will install CIVITAS/CORE
To see the help page, run ./startup.sh -h
.
If you use another Kubernetes cluster
If you already have another Kubernetes cluster, you can use environment variables to connect to your cluster. See ./startup.sh -h
for more details. Example:
export KUBECONTEXT=k3d-civitas-local
./startup.sh
After Running startup.sh
The startup.sh
script automates the setup of key components for platform deployment:
- Ingress-nginx: Manages external access to your services.
- MetalLB: Assigns external IPs to services.
- Cert-Manager: Manages SSL/TLS certificates.
If you are using Minikube, you must start the Minikube tunnel to access the cluster via 127.0.0.1
:
minikube tunnel
After the setup completes, access the platform at http://civitas.test.
Next, proceed with deploying the CIVITAS/CORE platform as described in the following sections for local deployment.