Skip to content

Installation

RequirementVersion
Kubernetes1.25+
Helm3.14+ (for OCI chart support)
kubectlMatching cluster version

The MinecraftServer and MinecraftServerCluster CRDs must be installed before the operator:

Terminal window
kubectl apply -f https://raw.githubusercontent.com/danihengeveld/mc-operator/main/manifests/crd/minecraftservers.yaml
kubectl apply -f https://raw.githubusercontent.com/danihengeveld/mc-operator/main/manifests/crd/minecraftserverclusters.yaml

The Helm chart is published as an OCI artifact to GHCR:

Terminal window
helm install mc-operator oci://ghcr.io/danihengeveld/charts/mc-operator \
--version 1.0.0 \
--namespace mc-operator-system \
--create-namespace

To see available versions:

Terminal window
helm show chart oci://ghcr.io/danihengeveld/charts/mc-operator

To upgrade:

Terminal window
helm upgrade mc-operator oci://ghcr.io/danihengeveld/charts/mc-operator \
--version <new-version> \
--namespace mc-operator-system
Terminal window
# Operator pod should be Running
kubectl get pods -n mc-operator-system
# CRDs should be established
kubectl get crd minecraftservers.mc-operator.dhv.sh
kubectl get crd minecraftserverclusters.mc-operator.dhv.sh

Key values you may want to override:

KeyDefaultDescription
image.repositoryghcr.io/danihengeveld/mc-operatorOperator container image
image.tagChart appVersionImage tag
replicaCount1Number of operator replicas
resources.requests.cpu100mCPU request
resources.requests.memory64MiMemory request
resources.limits.cpu200mCPU limit
resources.limits.memory128MiMemory limit
logLevelInformationLog verbosity

Full values reference: helm show values oci://ghcr.io/danihengeveld/charts/mc-operator

The operator runs validating and mutating admission webhooks on port 5001 (HTTPS). Webhooks are always enabled and the Helm chart automatically generates a self-signed CA and TLS certificate for the webhook service during installation.

The generated caBundle is injected into the ValidatingWebhookConfiguration and MutatingWebhookConfiguration resources automatically. Certificates are persisted across helm upgrade operations — the chart reuses existing certificates if the webhook Secret already exists in the cluster.