{"record":{"id":"35962ad6201804a1","repo":"windmill-labs/windmill","slug":"k8s-operator-is-not-available-in-this-build","errorCode":null,"errorMessage":"K8s operator is not available in this build","messagePattern":"K8s operator is not available in this build","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"backend/windmill-operator/src/operator_oss.rs","lineNumber":6,"sourceCode":"#[cfg(feature = \"private\")]\npub use crate::reconciler_ee::run;\n\n#[cfg(not(feature = \"private\"))]\npub async fn run(_db: sqlx::Pool<sqlx::Postgres>) -> anyhow::Result<()> {\n    anyhow::bail!(\"K8s operator is not available in this build\")\n}\n","sourceCodeStart":1,"sourceCodeEnd":8,"githubUrl":"https://github.com/windmill-labs/windmill/blob/e474e8803ce2ff5c2df09a58dab51d45f5c922ca/backend/windmill-operator/src/operator_oss.rs#L1-L8","documentation":"The Kubernetes operator in windmill-operator is enterprise-only (`private` feature). The OSS stub `run` exists so the binary links, but starting the operator without the EE feature immediately bails. It indicates the deployment is attempting to run a feature not present in the build.","triggerScenarios":"Calling `windmill_operator::operator_oss::run` (starting the K8s operator worker) on a build compiled without the `private`/EE feature.","commonSituations":"Running the open-source image with K8s operator workers enabled in configuration; attempting to use the Kubernetes executor on OSS instead of EE.","solutions":["Use an enterprise-licensed Windmill build/image that includes the EE K8s operator","Disable K8s operator workers in configuration and use the default Docker-based worker pool","If you have an EE license, deploy the EE-enabled image rather than the OSS one"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"// check build capability before configuring a K8s operator worker\nif !cfg!(feature = \"private\") {\n  eprintln!(\"K8s operator requires the enterprise (private) feature; skipping\");\n  return;\n}","typeGuard":null,"tryCatchPattern":"match operator_oss::run(db).await {\n  Err(e) if e.to_string().contains(\"not available in this build\") =>\n    eprintln!(\"use an EE build or disable K8s operator workers\"),\n  Err(e) => return Err(e),\n  Ok(()) => (),\n}","preventionTips":["Only enable K8s operator workers on EE builds","Gate worker configuration on license/feature availability at startup","Document that the Kubernetes executor is enterprise-only"],"tags":["kubernetes","operator","enterprise","feature-flag"],"backgroundTag":"enterprise-only-feature","analyzedSha":"e474e8803ce2ff5c2df09a58dab51d45f5c922ca","analyzedAt":"2026-09-03T12:38:19.024Z","contentChangedAt":"2026-09-03T12:38:19.024Z","schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}