fix: MinecraftServer | use volume claim templates

This commit is contained in:
2025-11-23 14:57:07 +05:00
parent 1bdc20b215
commit 8172a327e4

View File

@@ -6,7 +6,7 @@ import {
import { KubernetesProvider } from "@cdktf/provider-kubernetes/lib/provider"; import { KubernetesProvider } from "@cdktf/provider-kubernetes/lib/provider";
import { ServiceV1 } from "@cdktf/provider-kubernetes/lib/service-v1"; import { ServiceV1 } from "@cdktf/provider-kubernetes/lib/service-v1";
import { IngressRouteTcp, LonghornPvc } from "../../../utils"; import { IngressRouteTcp } from "../../../utils";
export type MinecraftServerOptions = { export type MinecraftServerOptions = {
provider: KubernetesProvider; provider: KubernetesProvider;
@@ -23,13 +23,6 @@ export class MinecraftServer extends Construct {
const { provider, namespace, name, image, env, size = "10Gi" } = opts; const { provider, namespace, name, image, env, size = "10Gi" } = opts;
const pvc = new LonghornPvc(this, "pvc", {
provider,
namespace,
name,
size,
});
new ServiceV1(this, "service", { new ServiceV1(this, "service", {
provider, provider,
metadata: { metadata: {
@@ -56,14 +49,42 @@ export class MinecraftServer extends Construct {
name, name,
namespace, namespace,
}, },
waitForRollout: false,
spec: { spec: {
replicas: "1", replicas: "1",
serviceName: name, serviceName: name,
updateStrategy: [
{
type: "OnDelete",
},
],
selector: { selector: {
matchLabels: { matchLabels: {
app: name, app: name,
}, },
}, },
persistentVolumeClaimRetentionPolicy: [
{
whenDeleted: "Retain",
whenScaled: "Retain",
},
],
volumeClaimTemplate: [
{
metadata: {
name: `${name}-data`,
},
spec: {
accessModes: ["ReadWriteOnce"],
resources: {
requests: {
storage: size,
},
},
storageClassName: "longhorn",
},
},
],
template: { template: {
metadata: { metadata: {
labels: { labels: {
@@ -78,7 +99,7 @@ export class MinecraftServer extends Construct {
{ {
name: `${name}-data`, name: `${name}-data`,
persistentVolumeClaim: { persistentVolumeClaim: {
claimName: pvc.name, claimName: `${name}-data-${name}-0`,
}, },
}, },
], ],