Skip to content

feat: register Network Services in the service catalog #155

@scotwells

Description

@scotwells

Summary

Network Services needs to be registered in the Datum Cloud service catalog so it can be discovered, enabled, and billed through the platform. This covers three pieces of work:

  1. Service registration — create the Service resource that makes Network Services visible in the catalog with a display name, description, and published phase.

  2. Metering configuration — create the ServiceConfiguration resource that defines what gets measured and billed. For an edge proxy, the most important signals to capture are:

    • Request count — number of requests proxied, the primary unit of consumption
    • Bytes transferred — total response bytes sent to clients (egress)
    • Bytes received — total request bytes received from clients (ingress)
    • Active connection seconds — time connections are held open, useful for persistent/long-lived connections
  3. Usage pipeline integration — investigate how to extract the above signals from the proxy and feed them into the billing pipeline. This includes:

    • How to collect usage data from the proxy (e.g. access logs, stats endpoint, gRPC metrics sink)
    • How to transform and emit that data as usage events in the CloudEvents format expected by the billing pipeline
    • Any buffering, batching, or reliability considerations for getting events from the data plane to the pipeline

Both the Service and ServiceConfiguration resources should be packaged as a Kustomize component (following the pattern established in the compute service) so they can be applied consistently across environments.

Acceptance criteria

  • Service appears in the platform-wide service catalog in Published phase
  • Metering configuration covers request count, egress bytes, ingress bytes, and connection seconds
  • Resources are packaged as a service-catalog Kustomize component under config/components/
  • Investigation complete with a clear approach for collecting and emitting usage events from the proxy to the billing pipeline

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