#zeropsPreprocessor=on # Minimal disposable staging: one control plane, one worker, and the same # two-instance Keepalived VRRP/HAProxy edge contract used by other profiles. # Each node runtime builds the pinned image locally; no S3 or observability # service is required. project: name: zerops-k8s-staging corePackage: LIGHT tags: - zerops-recipe - kubernetes - github-samyazz-zerops-k8s - zerops-k8s-profile-staging envVariables: K8S_MANAGED: "true" K8S_PROFILE: staging K8S_REPOSITORY: Samyazz/zerops-k8s K8S_VERSION: v1.36.2 K8S_NODE_IMAGE: zerops-k8s-node:v1.36.2 K8S_VRRP_PREFIX_LENGTH: "22" K8S_VRRP_HOST_OCTET: "222" K8S_VRRP_VIRTUAL_ROUTER_ID: "222" K8S_POD_CIDR: 10.244.0.0/16 K8S_SERVICE_CIDR: 10.96.0.0/16 services: # Single control plane; API maintenance causes an expected staging outage. # Secret material is generated by Zerops and never appears in source. - hostname: k8scp1 type: docker@26.1.5 startWithoutCode: true minContainers: 1 maxContainers: 1 verticalAutoscaling: cpuMode: SHARED minCpu: 2 maxCpu: 2 startCpuCoreCount: 2 minRam: 4 maxRam: 4 minDisk: 20 maxDisk: 20 swapEnabled: false # One fixed worker hosts Traefik and the staging workload. The profile has no # horizontal resize, durable storage, backups, or dedicated observability. - hostname: k8sworker1 type: docker@26.1.5 startWithoutCode: true enableSubdomainAccess: true minContainers: 1 maxContainers: 1 verticalAutoscaling: cpuMode: SHARED minCpu: 2 maxCpu: 2 startCpuCoreCount: 2 minRam: 4 maxRam: 4 minDisk: 20 maxDisk: 20 swapEnabled: false - hostname: k8sedge type: go@1.22 startWithoutCode: true enableSubdomainAccess: true minContainers: 2 maxContainers: 2 verticalAutoscaling: cpuMode: SHARED minCpu: 1 maxCpu: 1 startCpuCoreCount: 1 minRam: 0.5 maxRam: 0.5 minDisk: 1 maxDisk: 1 swapEnabled: false