Skip to content

Give operators a way to read and query inventory from datumctl #204

Open

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

Activity

  1. changed the title [-]Inventory (M6): operator discovery, get/describe, and activity query for inventory.miloapis.com[/-] [+]Give operators a way to read and query inventory from datumctl[/+] on Sep 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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