Skip to content

reporting operator refactoring  #1357

@pweil-

Description

@pweil-

Validation

  • break out validation into it's own space and remove it from the types
  • add validation for newPrometheusConnFromURL file check
  • stat the kubeconfig file if set
  • HiveUSETLS + HiveCAFile validation (return fmt.Errorf("error loading Hive CA File: %s", err))
  • HiveUseClientCertAuth - should it only be set to true when HiveUseTLS is true?
  • ensure the *Host fields are valid host/port pairs
  • PrometheusDataSourceMaxBackfillImportDuration and PrometheusDataSourceGlobalImportFromTime: PrometheusDataSourceGlobalImportFromTime overrides duration. Should we validate?
  • Cert/key pairs should be set together (search for CertFile/KeyFile)
  • Stat cert key files
  • AllNamespaces/TargetNamespaces Validation

#1356

Workers

  • determine why we have so many workers threads vs performance gains

TargetNamespaces []string

  • TODO why do we require the setting of both here? In operator.go#New we could just check length of this and do the right thing. Also need to look at how this actually filters the informer.

DependencyResolver

  • should probably be in its own package and not part of the reporting operator types.

operator.go#New

  • remove client configuration loading here and just accept the client (move it to cmd/ pakcage)

operator.go

  • kubeClient corev1.CoreV1Interface As a side note, this also seems a bit strange to me as to why we would use a corev1.Corev1Interface instead of a kubernetes.Interface, but this isn't something we need to tackle here.

cmd

  • refactor to the Complete, Validate, Run pattern

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions