{"record":{"id":"98991db832f4360b","repo":"crowdsecurity/crowdsec","slug":"invalid-selector-q-in-kubernetes-acquisition-w","errorCode":null,"errorMessage":"invalid selector %q in kubernetes acquisition: %w","messagePattern":"invalid selector %q in kubernetes acquisition: %w","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/acquisition/modules/kubernetes/config.go","lineNumber":63,"sourceCode":"\t\tc.Namespace = \"default\"\n\t}\n\n\tif c.Mode == \"\" {\n\t\tc.Mode = configuration.TAIL_MODE\n\t}\n\tif c.KubeConfigFile == \"\" {\n\t\tif home, err := os.UserHomeDir(); err == nil {\n\t\t\tc.KubeConfigFile = filepath.Join(home, \".kube\", \"config\")\n\t\t}\n\t}\n}\n\nfunc (c *Configuration) Validate() error {\n\tif c.Selector == \"\" {\n\t\treturn errors.New(\"selector must be set in kubernetes acquisition\")\n\t}\n\tif _, err := labels.Parse(c.Selector); err != nil {\n\t\treturn fmt.Errorf(\"invalid selector %q in kubernetes acquisition: %w\", c.Selector, err)\n\t}\n\tif c.Mode != configuration.TAIL_MODE {\n\t\treturn fmt.Errorf(\"unsupported mode %q in kubernetes acquisition, only %q is supported\", c.Mode, configuration.TAIL_MODE)\n\t}\n\treturn nil\n}\n\nfunc (s *Source) UnmarshalConfig(yamlConfig []byte) error {\n\tcfg, err := ConfigurationFromYAML(yamlConfig)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tif s.logger != nil {\n\t\ts.logger.Tracef(\"Kubernetes configuration: %+v\", cfg)\n\t}\n\n\ts.config = cfg","sourceCodeStart":45,"sourceCodeEnd":81,"githubUrl":"https://github.com/crowdsecurity/crowdsec/blob/909b5157986a2b2c2163300fdaef5ed01289f7d2/pkg/acquisition/modules/kubernetes/config.go#L45-L81","documentation":"Validate rejects a kubernetes acquisition config whose selector is not a parseable Kubernetes label selector. labels.Parse fails on malformed expressions like 'app=,' or unbalanced parentheses, aborting datasource setup.","triggerScenarios":"Thrown at pkg/acquisition/modules/kubernetes/config.go:63 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Fix the selector syntax, e.g. selector: app=nginx or selector: environment in (prod,staging)","Test the selector with kubectl get pods -l '<selector>'"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"909b5157986a2b2c2163300fdaef5ed01289f7d2","analyzedAt":"2026-09-06T12:27:26.012Z","contentChangedAt":"2026-09-06T12:27:26.012Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}