Skip to content

Installation

This guide walks you through installing the Forkspacer operator in your Kubernetes cluster.

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

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

Install the Forkspacer operator and Custom Resource Definitions (CRDs):

Terminal window
kubectl apply -f https://raw.githubusercontent.com/forkspacer/forkspacer/main/dist/install.yaml

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
kubectl delete -f https://raw.githubusercontent.com/forkspacer/forkspacer/main/dist/install.yaml
# Optionally remove cert-manager
kubectl delete -f https://github.com/cert-manager/cert-manager/releases/download/v1.18.2/cert-manager.yaml