Inventory Customization Guide for Local Deployment
This guide provides the instructions on how to set up your inventory file for your local deployment of the CIVITAS/CORE platform.
You can start from the default inventory file available here.
Below, we describe the minimum required changes to the default inventory for a successful local installation. To further customize your inventory (e.g., by enabling or disabling specific platform components), you can check the inventory customization guide.
For validation of your inventory, please refer to the inventory customization guide, too.
Section 1: Initial Setup
-
DOMAIN Variable:
-
Define the domain for your local deployment in the inventory file (before starting the startup script, we set the
DOMAIN
environment variable tocivitas.test
). -
You can also use other values like
civitas1.test
orstaging.example.com
.DOMAIN: "civitas.test"
-
-
ENVIRONMENT Variable:
-
The environment name serves as a prefix for Kubernetes namespaces. You can define it to distinguish between different deployments like
cc-loc
for local orcc-tst
for testing.ENVIRONMENT: 'cc-loc'
-
-
Kubeconfig File:
-
Specify the path to the Kubernetes configuration file generated by Minikube or your Kubernetes distribution. The file must reside in your home directory in the
.kube
folder. -
Linux/ macOS:
kubeconfig_file: config
-
Windows:
kubeconfig_file: config.wsl
-
-
Kubernetes Context:
-
Set the context in your kubeconfig file for your cluster. Here we used
minikube
.inv_k8s.config.context: "minikube"
-
For the k3s cluster created with the configuration from the CIVITAS/CORE repository, we use
k3d-civitas-local
as the context.inv_k8s.config.context: "k3d-civitas-local"
-
-
Proxy Configuration
-
Set your proxy information with your actual proxy configuration details:
## Proxy environment variables
https_proxy: "http://user:password@proxy:3128"
http_proxy: "http://user:password@proxy:3128"
no_proxy: "localhost,127.0.0.1,10.1.0.0/16,10.152.183.0/24"
-
Section 2: Configuring Kubernetes Storage and Certificates
-
Storage Class:
-
Define storage classes for Kubernetes Persistent Volumes (PVs). The storage class will differ based on your Kubernetes setup. For Minikube it is
standard
. You can check the variable for example in OpenLens (Storage -> Storage Classes).inv_k8s.storage_class.rwo: "standard"
inv_k8s.storage_class.rwx: "standard"
inv_k8s.storage_class.loc: "standard"
-
-
Ingress Class:
-
Define the ingress class for your Kubernetes setting. For example
nginx
. You can check the variable for example in OpenLens (Network -> Ingress Classes).inv_k8s.ingress_class: "nginx"
-
-
Cert Manager Issuer:
-
Configure the issuer for certificates using Kubernetes Cert-Manager. For local deployments, self-signed certificates are used.
inv_k8s.cert_manager.issuer_name: "selfsigned-ca"
-
-
Ingress Certificate Path:
-
Define the path to the SSL certificate for ingress. This path must point to your local certificate file. It is located in the local_deployment folder of the respository. As the relative paths are changing depending on from where you start the installation, it is recommended to copy the absolute path here.
inv_k8s.ingress.ca_path: "/path/to/civitas/core/repository/local_deployment/.ssl/civitas.crt"
-
Section 3: Email Server Configuration
- Email Server Details:
-
Set up your email server configurations to enable email notifications from various CIVITAS/CORE services.
-
Example configuration:
inv_email:
server: "mail.example.com"
user: "admin@example.com"
password: "password"
email_from: "noreply@example.com" -
Ensure the email server is properly configured to send emails.
-
Section 4: Managed and Central Databases
Managed Databases are hosted externally (in another Kubernetes namespace or a managed cloud provider).
We disable them for local deployment.
inv_mngd_db.enable: false
We use a central database. This will create a single database for all platform components.
inv_central_db.enable: true
Section 5: Access Stack
Be sure to set your master password here.
inv_access.platform.master_password: "verySafePW123"
To further customize the platform stacks, please refer to the inventory customization guide.
Then, proceed with the installation as it is explained here.