Installation
Prerequisites
Section titled “Prerequisites”| Requirement | Version |
|---|---|
| Kubernetes | 1.25+ |
| Helm | 3.14+ (for OCI chart support) |
| kubectl | Matching cluster version |
Install the CRD
Section titled “Install the CRD”The MinecraftServer and MinecraftServerCluster CRDs must be installed before the operator:
kubectl apply -f https://raw.githubusercontent.com/danihengeveld/mc-operator/main/manifests/crd/minecraftservers.yamlkubectl apply -f https://raw.githubusercontent.com/danihengeveld/mc-operator/main/manifests/crd/minecraftserverclusters.yamlInstall the operator
Section titled “Install the operator”The Helm chart is published as an OCI artifact to GHCR:
helm install mc-operator oci://ghcr.io/danihengeveld/charts/mc-operator \ --version 1.0.0 \ --namespace mc-operator-system \ --create-namespaceTo see available versions:
helm show chart oci://ghcr.io/danihengeveld/charts/mc-operatorTo upgrade:
helm upgrade mc-operator oci://ghcr.io/danihengeveld/charts/mc-operator \ --version <new-version> \ --namespace mc-operator-systemApply the bundled Kustomize manifests directly:
kubectl apply -f manifests/crd/minecraftservers.yamlkubectl apply -f manifests/crd/minecraftserverclusters.yamlkubectl apply -f manifests/rbac/kubectl apply -k manifests/operator/You can use Kustomize overlays to customize the deployment for your environment.
Verify the installation
Section titled “Verify the installation”# Operator pod should be Runningkubectl get pods -n mc-operator-system
# CRDs should be establishedkubectl get crd minecraftservers.mc-operator.dhv.shkubectl get crd minecraftserverclusters.mc-operator.dhv.shHelm values reference
Section titled “Helm values reference”Key values you may want to override:
| Key | Default | Description |
|---|---|---|
image.repository | ghcr.io/danihengeveld/mc-operator | Operator container image |
image.tag | Chart appVersion | Image tag |
replicaCount | 1 | Number of operator replicas |
resources.requests.cpu | 100m | CPU request |
resources.requests.memory | 64Mi | Memory request |
resources.limits.cpu | 200m | CPU limit |
resources.limits.memory | 128Mi | Memory limit |
logLevel | Information | Log verbosity |
Full values reference: helm show values oci://ghcr.io/danihengeveld/charts/mc-operator
Webhooks
Section titled “Webhooks”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.