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",
|
|
|
|
|
};
|