Skip to content

Installation

This guide walks you through installing the Forkspacer operator in your Kubernetes cluster using Helm (recommended).

  • Kubernetes cluster (v1.20 or later)
  • kubectl configured to access your cluster
  • helm (v3.0 or later)
  • Cluster admin permissions

Forkspacer is installed using Helm charts for flexible and manageable deployments.

Forkspacer requires cert-manager for managing TLS certificates used by webhooks.

Terminal window
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.18.2/cert-manager.yaml

Wait for cert-manager to be ready:

Terminal window
kubectl wait --for=condition=available --timeout=300s deployment/cert-manager -n cert-manager
kubectl wait --for=condition=available --timeout=300s deployment/cert-manager-cainjector -n cert-manager
kubectl wait --for=condition=available --timeout=300s deployment/cert-manager-webhook -n cert-manager

Add the Forkspacer Helm repository:

Terminal window
helm repo add forkspacer https://forkspacer.github.io/forkspacer
helm repo update

Operator Only (Minimal)

Install just the core operator for managing workspaces and modules:

Terminal window
helm install forkspacer forkspacer/forkspacer \
--namespace forkspacer-system \
--create-namespace

Check that the operator is running:

Terminal window
kubectl get pods -n forkspacer-system

You should see the operator pod in Running state:

NAME READY STATUS RESTARTS AGE
forkspacer-controller-manager-xxxxxxxxx-xxxxx 1/1 Running 0 30s

Verify the CRDs are installed:

Terminal window
kubectl get crds | grep batch.forkspacer.com

You should see:

modules.batch.forkspacer.com
workspaces.batch.forkspacer.com

If cert-manager pods are not starting, check the logs:

Terminal window
kubectl logs -n cert-manager deployment/cert-manager

Ensure your Kubernetes version is v1.19 or later:

Terminal window
kubectl version --short

Check the operator logs:

Terminal window
kubectl logs -n forkspacer-system deployment/forkspacer-controller-manager

Ensure all required CRDs are installed:

Terminal window
kubectl get crds | grep batch.forkspacer.com

To remove Forkspacer from your cluster:

Terminal window
# Delete all workspaces and modules first
kubectl delete workspaces --all -A
kubectl delete modules --all -A
# Remove the operator using Helm
helm uninstall forkspacer -n forkspacer-system
# Optionally remove cert-manager
kubectl delete -f https://github.com/cert-manager/cert-manager/releases/download/v1.18.2/cert-manager.yaml