canonical / charmed-kubeflow-chisme

Shared Utilities used across Charmed Kubeflow
Apache License 2.0
1 stars 4 forks source link

Implement abstraction of observability module with function returning MetricsEndpointProvider #95

Closed rgildein closed 2 months ago

rgildein commented 2 months ago

Context

The observability module should provide create_metrics_endpoint function, which will handle the following:

  1. expose service port with ServicePort (using lightkube library)
  2. patched exposed services with KubernetesServicePatch (using kubernetes_service_patch library)
  3. creating MetricsEndpointProvider from provided list of pairs metrics_port and metrics_path (using prometheus_scrape library)
  4. Return object created with step 3

Example:

def create_metrics_endpoint(charm, list of pairs of (metrics_port, metrics path), service_port) -> MetricsEndpointProvider:
    ...

What needs to get done

  1. Add new component
  2. Provide base structure for component
  3. Add full unit tests coverage
  4. [Optional] Add integration tests
  5. Add README

Definition of Done

  1. Component was tested, and it's working (either via integration tests or draft implementation in some charm)
  2. There is proper README how to use the component
syncronize-issues-to-jira[bot] commented 2 months ago

Thank you for reporting us your feedback!

The internal ticket has been created: https://warthogs.atlassian.net/browse/KF-5710.

This message was autogenerated

rgildein commented 2 months ago

After internal discussion, we decide not to do it. The reasons are as follows: