79 lines
1.6 KiB
TypeScript
79 lines
1.6 KiB
TypeScript
import { Construct } from "constructs";
|
|
import { KubernetesProvider } from "@cdktf/provider-kubernetes/lib/provider";
|
|
|
|
import { MinecraftServer } from "./utils";
|
|
|
|
export class TerraFirmaGreg extends Construct {
|
|
constructor(
|
|
scope: Construct,
|
|
id: string,
|
|
provider: KubernetesProvider,
|
|
namespace: string,
|
|
) {
|
|
super(scope, id);
|
|
|
|
new MinecraftServer(this, "tfg", {
|
|
provider,
|
|
namespace,
|
|
image: "itzg/minecraft-server:java17",
|
|
name: "tfg",
|
|
env: [
|
|
{
|
|
name: "EULA",
|
|
value: "TRUE",
|
|
},
|
|
{
|
|
name: "MODE",
|
|
value: "survival",
|
|
},
|
|
{
|
|
name: "MODPACK_PLATFORM",
|
|
value: "AUTO_CURSEFORGE",
|
|
},
|
|
{
|
|
name: "CF_API_KEY",
|
|
valueFrom: {
|
|
secretKeyRef: {
|
|
name: "curseforge",
|
|
key: "credential",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "CF_PAGE_URL",
|
|
value:
|
|
"https://www.curseforge.com/minecraft/modpacks/terrafirmagreg-modern/",
|
|
},
|
|
{
|
|
name: "CF_FILENAME_MATCHER",
|
|
value: "0.10.17",
|
|
},
|
|
{
|
|
name: "VERSION",
|
|
value: "1.20.1",
|
|
},
|
|
{
|
|
name: "INIT_MEMORY",
|
|
value: "2G",
|
|
},
|
|
{
|
|
name: "MAX_MEMORY",
|
|
value: "12G",
|
|
},
|
|
{
|
|
name: "ALLOW_FLIGHT",
|
|
value: "TRUE",
|
|
},
|
|
{
|
|
name: "ENABLE_ROLLING_LOGS",
|
|
value: "TRUE",
|
|
},
|
|
{
|
|
name: "USE_MEOWICE_FLAGS",
|
|
value: "TRUE",
|
|
},
|
|
],
|
|
});
|
|
}
|
|
}
|