Files
Minikura/packages/k8s-operator/src/config/constants.ts
T

50 lines
1.3 KiB
TypeScript
Raw Normal View History

2025-05-12 12:34:09 +07:00
import { dotenvLoad } from "dotenv-mono";
const dotenv = dotenvLoad();
2026-01-16 12:32:36 +07:00
export const API_GROUP = "minikura.kirameki.cafe";
export const API_VERSION = "v1alpha1";
2025-05-12 12:34:09 +07:00
export const KUBERNETES_NAMESPACE_ENV = process.env.KUBERNETES_NAMESPACE;
2026-01-16 12:32:36 +07:00
export const NAMESPACE = process.env.KUBERNETES_NAMESPACE || "minikura";
2025-05-12 12:34:09 +07:00
2026-01-16 12:32:36 +07:00
export const ENABLE_CRD_REFLECTION = process.env.ENABLE_CRD_REFLECTION === "true";
export const SKIP_TLS_VERIFY = process.env.KUBERNETES_SKIP_TLS_VERIFY === "true";
2025-05-12 12:34:09 +07:00
if (SKIP_TLS_VERIFY) {
2026-01-16 12:32:36 +07:00
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
2025-05-12 12:34:09 +07:00
}
// Resource types
export const RESOURCE_TYPES = {
MINECRAFT_SERVER: {
2026-01-16 12:32:36 +07:00
kind: "MinecraftServer",
plural: "minecraftservers",
singular: "minecraftserver",
shortNames: ["mcs"],
2025-05-12 12:34:09 +07:00
},
REVERSE_PROXY_SERVER: {
2026-01-16 12:32:36 +07:00
kind: "ReverseProxyServer",
plural: "reverseproxyservers",
singular: "reverseproxyserver",
shortNames: ["rps"],
2025-05-12 12:34:09 +07:00
},
};
// Kubernetes resource label prefixes
2026-01-16 12:32:36 +07:00
export const LABEL_PREFIX = "minikura.kirameki.cafe";
2025-05-12 12:34:09 +07:00
// Polling intervals (in milliseconds)
export const SYNC_INTERVAL = 30 * 1000; // 30 seconds
export const IMAGES = {
2026-01-16 12:32:36 +07:00
MINECRAFT: "itzg/minecraft-server",
REVERSE_PROXY: "itzg/minecraft-server",
2025-05-12 12:34:09 +07:00
};
export const DEFAULTS = {
2026-01-16 12:32:36 +07:00
MEMORY: "1G",
CPU_REQUEST: "250m",
CPU_LIMIT: "1000m",
STORAGE_SIZE: "1Gi",
};