Skip to content

milo-os/inventory

Repository files navigation

Inventory Service

Kubernetes operator implementing Datum Cloud's Asset Inventory (inventory.miloapis.com) -- see the enhancement at github.com/datum-cloud/infra/docs/enhancements/infrastructure-platform/asset-inventory.

Asset Inventory is a pure-data-model registry of infrastructure assets (regions, sites, clusters, nodes, network devices, and the links between them) and their geographic placement. It answers "what do we have and where is it?" and is written by Fleet Operations and read by Fleet Networking, compliance tools, capacity planners, and operators. It is explicitly not an operational system: no agents, no provisioning, no configuration delivery, no provider integrations.

Usage

Inventory resources are project-scoped and served by the inventory.miloapis.com API group, behind project access control. Manage them with datumctl against the project's control plane:

datumctl auth update-kubeconfig --project your-project

cat <<'EOF' | datumctl apply -f -
apiVersion: inventory.miloapis.com/v1alpha1
kind: Region
metadata:
  name: us-east
spec:
  displayName: US East
EOF

datumctl get regions

See docs/usage.md for an end-to-end walkthrough, and docs/api/inventory.md for the generated API reference.

Development

task build       # Build the binary
task test        # Run tests
task lint        # Run linter
task generate    # Run code generation
task manifests   # Generate CRD, RBAC, and webhook manifests
task api-docs    # Generate the API reference (docs/api) from the CRDs
task dev:setup   # Bring up a kind cluster, build, load, and deploy
task e2e         # Run chainsaw e2e tests against the dev cluster

About

Every asset. Always accounted for.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors