Skip to main content

Installation

Let's discover how to install Kadras Engineering Platform on a local Kubernetes cluster with kind.

Prerequisites

Ensure you have the following tools installed in your local environment:

Then, create a local Kubernetes cluster with kind.

cat <<EOF | kind create cluster --config=-
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
name: kadras
nodes:
- role: control-plane
extraPortMappings:
- containerPort: 80
hostPort: 80
protocol: TCP
- containerPort: 443
hostPort: 443
protocol: TCP
EOF

Deploy Carvel kapp-controller

The platform relies on the Kubernetes-native package management capabilities offered by Carvel kapp-controller. You can install it with Carvel kapp (recommended choice) or kubectl.

kapp deploy -a kapp-controller -y \
-f https://github.com/carvel-dev/kapp-controller/releases/latest/download/release.yml

Add the Kadras Repository

Add the Kadras repository to make the platform packages available to the cluster.

kctrl package repository add -r kadras-packages \
--url ghcr.io/kadras-io/kadras-packages:0.25.0 \
-n kadras-system --create-namespace

Configure the Platform

The installation of the Kadras Engineering Platform can be configured via YAML. Create a values.yml file with any configuration you need for the platform. The following is a minimal configuration example for a local environment, based on the run installation profile.

values.yml
platform:
profile: run
ingress:
domain: 127.0.0.1.sslip.io
contour:
envoy:
service: NodePort

The Ingress is configured with the special domain 127.0.0.1.sslip.io which will resolve to your localhost and be accessible via the kind cluster.

Install the Platform

Reference the values.yml file you created in the previous step and install the Kadras Engineering Platform.

kctrl package install -i engineering-platform \
-p engineering-platform.packages.kadras.io \
-v 0.25.0 \
-n kadras-system \
--values-file values.yml

Verify the Installation

Verify that all the platform components have been installed and properly reconciled.

kctrl package installed list -n kadras-system