in pkg/operator/operator.go [135:165]
func (o *Options) defaultAndValidate(_ logr.Logger) error {
if o.OperatorNamespace == "" {
o.OperatorNamespace = DefaultOperatorNamespace
}
if o.PublicNamespace == "" {
// For non-managed deployments, default to same namespace
// as operator, assuming cluster operators prefer consolidating
// resources in a single namespace.
o.PublicNamespace = DefaultOperatorNamespace
}
// ProjectID and Cluster must be always be set. Collectors and rule-evaluator can
// auto-discover them but we need them in the operator to scope generated rules.
if o.ProjectID == "" {
return errors.New("projectID must be set")
}
if o.Cluster == "" {
return errors.New("cluster must be set")
}
if o.TargetPollConcurrency == 0 {
o.TargetPollConcurrency = defaultTargetPollConcurrency
}
if o.CollectorHTTPClient == nil {
// Matches the default Prometheus API library HTTP client.
o.CollectorHTTPClient = &http.Client{
Transport: api.DefaultRoundTripper,
}
}
return nil
}