Skip to content

Inventory (M6): operator discovery, get/describe, and activity query for inventory.miloapis.com #204

Description

@ecv

Downstream client work for milo-os/inventory#34 — M6: Audit & query, under the physical-inventory enhancement datum-cloud/tmp_datum-cloud_enhancements_713_Physical-inventory-f_2138d0c1#1.

Context

The inventory operator (inventory.miloapis.com/v1alpha1) ships cluster-scoped CRDs — Region, Site, Cluster, Node, NetworkDevice, Link, Provider, Rack, Port, Cable, Circuit, VirtualMachine — on the Milo control plane. M6 makes them auditable (Activity capability) and queryable (printer columns, topology.* labels, field indexers). datumctl is the first operator-facing client.

Audience is staff / operators, not per-project consumers.

Goal

Confirm operators can discover, read, and audit inventory through datumctl — mostly via the existing kubectl-style surface, plus activity query. New code only where gaps exist.

Tasks

  • datumctl api-resources lists all inventory kinds against a control plane with the CRDs installed
  • datumctl get <kind> / describe <kind> work and render the printer columns M6 defines (key refs, type, topology)
  • --selector topology.inventory.miloapis.com/...=… returns assets by region/site/cluster/rack
  • datumctl activity query --filter "<CEL>" returns readable inventory timelines (verify against the ActivityPolicies M6 ships) — e.g. filter objectRef.apiGroup == 'inventory.miloapis.com'
  • Identify and file any gaps (missing convenience views, output formatting) as follow-ups; no new view code unless a gap blocks operators

Depends on

  • M6 datum-cloud/datum-os#370 ActivityPolicies + printer-column pass merged and deployed to the target control plane.

Non-goals

  • No project-scoped / consumer-facing inventory surfacing — operators only.

cc @scotwells

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions