fix: MinecraftServer | use volume claim templates
This commit is contained in:
@@ -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`,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|||||||
Reference in New Issue
Block a user