UNPKG

swarm-pilot

Version:
33 lines (32 loc) 2.27 kB
import { Context, Layer } from "effect"; export class Config extends Context.Tag("Config")() { } export const ConfigLayer = (args) => { return Layer.succeed(Config, Config.of({ config: { prom_host: process.env.PROM_HOST || "localhost", prom_pass: process.env.PROM_PASS || "", prom_user: process.env.PROM_USER || "", prom_port: Number(process.env.PROM_PORT) || 9090, prom_path: process.env.PROM_PATH || "api/v1/query", prom_schema: process.env.PROM_SCHEMA || "http", telegram_bot_token: process.env.TELEGRAM_BOT_TOKEN || "", telegram_chat_id: process.env.TELEGRAM_CHAT_ID || "", batch_size: Number(process.env.BATCH_SIZE) || 5, autoscaler_interval: Number(process.env.AUTOSCALER_INTERVAL) || 60, enable_autoscaler_label: process.env.ENABLE_AUTOSCALER_LABEL || "swarm.autoscaler", autoscaler_minimum_cpu_label: process.env.AUTOSCALER_MINIMUM_CPU_LABEL || "swarm.autoscaler.minimum_cpu", autoscaler_minimum_cpu_default: Number(process.env.AUTOSCALER_CPU_MINIMUM_DEFAULT) || 25, autoscaler_maximum_cpu_label: process.env.AUTOSCALER_MAXIMUM_CPU_LABEL || "swarm.autoscaler.maximum_cpu", autoscaler_maximum_cpu_default: Number(process.env.AUTOSCALER_MAXIMUM_CPU_DEFAULT) || 85, autoscaler_minimum_mem_label: process.env.AUTOSCALER_MINIMUM_MEM_LABEL || "swarm.autoscaler.minimum_mem", autoscaler_minimum_mem_default: Number(process.env.AUTOSCALER_MEM_MINIMUM_DEFAULT) || 25, autoscaler_maximum_mem_label: process.env.AUTOSCALER_MAXIMUM_MEM_LABEL || "swarm.autoscaler.maximum_mem", autoscaler_maximum_mem_default: Number(process.env.AUTOSCALER_MAXIMUM_MEM_DEFAULT) || 85, autoscaler_min_replicas_label: process.env.AUTOSCALER_MIN_REPLICAS_LABEL || "swarm.autoscaler.min_replicas", autoscaler_min_replicas_default: Number(process.env.AUTOSCALER_MIN_REPLICAS_DEFAULT) || 1, autoscaler_max_replicas_default: Number(process.env.AUTOSCALER_MAX_REPLICAS_DEFAULT) || 0, autoscaler_max_replicas_label: process.env.AUTOSCALER_MAX_REPLICAS_LABEL || "swarm.autoscaler.max_replicas", } })); };