Skip to content

Commit

Permalink
Merge pull request #4494 from tyriis/feature/minecraft-public-adoptions
Browse files Browse the repository at this point in the history
feat(minecraft): adjust public server config
  • Loading branch information
tyriis authored Feb 5, 2025
2 parents a450583 + 7f89cec commit 443364e
Show file tree
Hide file tree
Showing 27 changed files with 671 additions and 206 deletions.
Original file line number Diff line number Diff line change
@@ -1,3 +1,29 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: &appname minecraft-public-global-secrets
namespace: flux-system
labels:
substitution.flux.home.arpa/enabled: "true"
spec:
targetNamespace: gaming-public
commonMetadata:
labels:
app.kubernetes.io/name: *appname
path: ./kubernetes/talos-flux/apps/gaming-public/minecraft-java/global-secrets
prune: true
sourceRef:
kind: GitRepository
name: home-ops
wait: true
interval: 30m
retryInterval: 1m
timeout: 5m
dependsOn:
- name: apps-external-secrets-stores

---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json
apiVersion: kustomize.toolkit.fluxcd.io/v1
Expand All @@ -22,8 +48,10 @@ spec:
retryInterval: 1m
timeout: 5m
dependsOn:
- name: cilium-config
- name: minecraft-public-global-secrets
- name: apps-external-secrets-stores
# required for the loadbalancer config (it is not a hard dependency)
- name: cilium-config

---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json
Expand All @@ -49,8 +77,10 @@ spec:
retryInterval: 1m
timeout: 5m
dependsOn:
- name: minecraft-public-velocity-proxy
- name: minecraft-public-global-secrets
- name: apps-volsync
- name: apps-rook-ceph-cluster
- name: apps-kube-prometheus-stack

---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json
Expand All @@ -76,5 +106,7 @@ spec:
retryInterval: 1m
timeout: 5m
dependsOn:
- name: minecraft-public-velocity-proxy
- name: minecraft-public-global-secrets
- name: apps-volsync
- name: apps-rook-ceph-cluster
- name: apps-kube-prometheus-stack
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/external-secrets.io/externalsecret_v1beta1.json
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: &name curseforge-api-key
spec:
refreshInterval: 1m
secretStoreRef:
name: vault-backend
kind: ClusterSecretStore
target:
name: *name
creationPolicy: Owner
data:
- secretKey: CF_API_KEY
remoteRef:
key: infra/techtales/gaming-public/minecraft
property: CF_API_KEY
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/external-secrets.io/externalsecret_v1beta1.json
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: &name minecraft-proxy-forwarding
spec:
refreshInterval: 1m
secretStoreRef:
name: vault-backend
kind: ClusterSecretStore
target:
name: *name
creationPolicy: Owner
template:
engineVersion: v2
data:
forwarding.secret: "{{ .PROXY_FORWARDING_SECRET }}"
dataFrom:
- extract:
key: infra/techtales/gaming-public/minecraft
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/external-secrets.io/externalsecret_v1beta1.json
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: &name minecraft-rcon
spec:
refreshInterval: 1m
secretStoreRef:
name: vault-backend
kind: ClusterSecretStore
target:
name: *name
creationPolicy: Owner
data:
- secretKey: RCON_PASSWORD
remoteRef:
key: infra/techtales/gaming-public/minecraft
property: RCON_PASSWORD
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2.json
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: external-secret-minecraft-curseforge-api-key
spec:
dependsOn:
- name: external-secrets
namespace: secops
interval: 15m
chart:
spec:
chart: k8s-resource
version: 0.3.0
sourceRef:
kind: HelmRepository
name: mirceanton-charts
namespace: flux-system
install:
createNamespace: true
remediation:
retries: 3
upgrade:
cleanupOnFail: true
remediation:
retries: 3
uninstall:
keepHistory: false
valuesFrom:
- kind: ConfigMap
name: curseforge-api-key

---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2.json
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: external-secret-minecraft-proxy-forwarding
spec:
dependsOn:
- name: external-secrets
namespace: secops
interval: 15m
chart:
spec:
chart: k8s-resource
version: 0.3.0
sourceRef:
kind: HelmRepository
name: mirceanton-charts
namespace: flux-system
install:
createNamespace: true
remediation:
retries: 3
upgrade:
cleanupOnFail: true
remediation:
retries: 3
uninstall:
keepHistory: false
valuesFrom:
- kind: ConfigMap
name: minecraft-proxy-forwarding

---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2.json
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: external-secret-minecraft-rcon
spec:
dependsOn:
- name: external-secrets
namespace: secops
interval: 15m
chart:
spec:
chart: k8s-resource
version: 0.3.0
sourceRef:
kind: HelmRepository
name: mirceanton-charts
namespace: flux-system
install:
createNamespace: true
remediation:
retries: 3
upgrade:
cleanupOnFail: true
remediation:
retries: 3
uninstall:
keepHistory: false
valuesFrom:
- kind: ConfigMap
name: minecraft-rcon
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
# yaml-language-server: $schema=https://json.schemastore.org/kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- helm-release.yaml
configMapGenerator:
- name: minecraft-proxy-forwarding
files:
- values.yaml=./external-secrets/minecraft-proxy-forwarding.yaml
- name: minecraft-rcon
files:
- values.yaml=./external-secrets/minecraft-rcon.yaml
- name: curseforge-api-key
files:
- values.yaml=./external-secrets/minecraft-curseforge-api-key.yaml
generatorOptions:
disableNameSuffixHash: true
configurations:
- kustomize-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
nameReference:
- kind: ConfigMap
version: v1
fieldSpecs:
- path: spec/valuesFrom/name
kind: HelmRelease
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
apiVersion: v1
kind: ConfigMap
metadata:
name: minecraft-playground-world-env
data:
EULA: "true"
DIFFICULTY: peaceful
OPS: "tyriis,jazzlyin"
MAX_PLAYERS: "25"
ALLOW_NETHER: "true"
ENABLE_COMMAND_BLOCK: "true"
GENERATE_STRUCTURES: "false"
SPAWN_ANIMALS: "false"
SPAWN_MONSTERS: "false"
SPAWN_NPCS: "false"
SPAWN_PROTECTION: "0"
VIEW_DISTANCE: "14"
MODE: creative
MOTD: techicraft playground
PVP: "false"
LEVEL_TYPE: FLAT
ONLINE_MODE: "false"
CF_PARALLEL_DOWNLOADS: "4"
ENABLE_RCON: "true"
MAX_BUILD_HEIGHT: "256"
ENABLE_ROLLING_LOGS: "true"
LOG_TIMESTAMP: "true"
SNOOPER_ENABLED: "true"
LEVEL: playground
SERVER_NAME: playground
STOP_SERVER_ANNOUNCE_DELAY: "30"
STOP_DURATION: "30"
USE_AIKAR_FLAGS: "true"
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ proxies:
velocity:
enabled: true
online-mode: true
secret: "TEST"
secret: "${CFG_PROXY_SECRET}"
scoreboards:
save-empty-scoreboard-teams: true
track-plugin-scoreboards: false
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# UnifiedMetrics https://hangar.papermc.io/cubxity/UnifiedMetrics
https://github.com/Cubxity/UnifiedMetrics/releases/download/v0.3.8/unifiedmetrics-platform-bukkit-0.3.8.jar
Loading

0 comments on commit 443364e

Please sign in to comment.