From ae3554d7b1f16b998179a97c8315351d5e2bc2c2 Mon Sep 17 00:00:00 2001 From: trivernis Date: Sat, 27 Jan 2024 21:46:44 +0100 Subject: [PATCH] apps(minecraft): Add minecraft deployment --- apps/minecraft/app.yaml | 9 +++++ apps/minecraft/app/namespace.yaml | 6 +++ apps/minecraft/app/release.yaml | 61 +++++++++++++++++++++++++++++++ apps/minecraft/app/route.yaml | 13 +++++++ cluster/apps.yaml | 17 +++++++++ repos/minecraft.yaml | 9 +++++ 6 files changed, 115 insertions(+) create mode 100644 apps/minecraft/app.yaml create mode 100644 apps/minecraft/app/namespace.yaml create mode 100644 apps/minecraft/app/release.yaml create mode 100644 apps/minecraft/app/route.yaml create mode 100644 repos/minecraft.yaml diff --git a/apps/minecraft/app.yaml b/apps/minecraft/app.yaml new file mode 100644 index 0000000..dc69824 --- /dev/null +++ b/apps/minecraft/app.yaml @@ -0,0 +1,9 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: minecraft +metadata: + name: minecraft +resources: + - app/namespace.yaml + - app/release.yaml + - app/route.yaml diff --git a/apps/minecraft/app/namespace.yaml b/apps/minecraft/app/namespace.yaml new file mode 100644 index 0000000..cbe2fbb --- /dev/null +++ b/apps/minecraft/app/namespace.yaml @@ -0,0 +1,6 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: minecraft + labels: + name: minecraft diff --git a/apps/minecraft/app/release.yaml b/apps/minecraft/app/release.yaml new file mode 100644 index 0000000..11f0c5e --- /dev/null +++ b/apps/minecraft/app/release.yaml @@ -0,0 +1,61 @@ +apiVersion: helm.toolkit.fluxcd.io/v2beta1 +kind: HelmRelease +metadata: + name: minecraft + namespace: minecraft +spec: + releaseName: minecraft + chart: + spec: + chart: minecraft + sourceRef: + kind: GitRepository + name: minecraft + namespace: repos + interval: 60m + install: + remediation: + retries: 3 + values: + resources: + requests: + memory: 512Mi + persistence: + storageClass: ebs-ssd + dataDir: + enabled: true + extraEnv: + USE_AIKAR_FLAGS: true + minecraftServer: + eula: true + type: FABRIC + version: 1.20.4 + difficulty: hard + motd: Welcome to ClusterCraft! + ops: trivernis + pvp: true + forceRedownload: true + removeOldMods: true + rcon: + enabled: true + withGeneratedPassword: true + memory: 4G + modrinth: + projects: + - fabric-api + - silk + - bluemap + - bmarker + - chunky + - chunkyborder + - carpet + - carpet-tis-addition + - fabric-language-kotlin + - universal-graves + - ledger + - lithium + - phosphor + - spark + - simple-voice-chat + - debugify + diff --git a/apps/minecraft/app/route.yaml b/apps/minecraft/app/route.yaml new file mode 100644 index 0000000..b7ad33b --- /dev/null +++ b/apps/minecraft/app/route.yaml @@ -0,0 +1,13 @@ +apiVersion: traefik.containo.us/v1alpha1 +kind: IngressRouteTCP +metadata: + name: minecraft + namespace: minecraft +spec: + entryPoints: + - minecraft + routes: + - match: HostSNI(`*`) + services: + - name: minecraft + port: minecraft diff --git a/cluster/apps.yaml b/cluster/apps.yaml index fb1e329..f5b98be 100644 --- a/cluster/apps.yaml +++ b/cluster/apps.yaml @@ -337,3 +337,20 @@ spec: prune: true wait: true timeout: 5m0s +--- +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: apps-minecraft + namespace: flux-system +spec: + dependsOn: + - name: repos + interval: 5m + sourceRef: + kind: GitRepository + name: flux-system + path: ./apps/minecraft + prune: true + wait: true + timeout: 5m0s diff --git a/repos/minecraft.yaml b/repos/minecraft.yaml new file mode 100644 index 0000000..4326dcf --- /dev/null +++ b/repos/minecraft.yaml @@ -0,0 +1,9 @@ +apiVersion: source.toolkit.fluxcd.io/v1beta2 +kind: HelmRepository +metadata: + name: minecraft + namespace: repos +spec: + interval: 60m + url: https://itzg.github.io/minecraft-server-charts +