Skip to content
This repository was archived by the owner on Dec 15, 2020. It is now read-only.

nolte/minecraft-operator

Repository files navigation

Minecraft Operator

This is a Kuberntes Opreator implemtntes with Go operator-framework/operator-sdk.

As basement for the Minecraft Instances we use the Container Image from itzg/docker-minecraft-server.

Features

  • Different CRDs for the Server Types, (FTB,Spigot,Vanilla)
  • Plugin Handling, for Spigot/Bukkit Servers (planed)
  • Restore and Backup (planed)
    • Restore the World from S3 Backup
    • create a frequent Backup job based on implemented with stash.run

Build

Development

For easy local development use a combination of Visual Studio Code Remote - Containers and KuberntesInDocker.

As Base for the VisualStudio code, we use the qdm12/godevcontainer Project.

You will find the full VisualStudio Code Config at .devcontainer/devcontainer.json. The Development Container provide a base set of tools wich are requeired for development like the kind, terraform, helm, etc binaries.

kind create cluster

kind export kubeconfig

# Build the Operator Image
operator-sdk build minecraft-operator

# add the generated image to your local Kind Cluster
kind load docker-image minecraft-operator
kubectl delete -f /minecraft-operator/deploy/crds/minecraft.noltarium.de_v1alpha1_minecraft_cr.yaml
kubectl apply -f /minecraft-operator/deploy/crds/minecraft.noltarium.de_v1alpha1_minecraft_cr.yaml

Debugging

For debugging use the Integreatly Operator lunch configuration.

Operators SDK Commands

# Regenerate Classes by changed types
operator-sdk generate k8s


operator-sdk run --local \
  --namespace "operators-dev"

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages