Skip to content

fix(inventory): point at milo-os/inventory v0.2.0 - #10

Open
0xmc wants to merge 1 commit into
mainfrom
fix/inventory-milo-os-v0.2.0
Open

0xmc wants to merge 1 commit into
mainfrom
fix/inventory-milo-os-v0.2.0

Conversation

@0xmc

@0xmc 0xmc commented Sep 15, 2026

Copy link
Copy Markdown

Why

This entry points at datum-cloud/inventory v0.1.0 — a build that speaks graph.inventory.miloapis.com/v1alpha2, an API group that has never held a single object. Installing the plugin from this catalog gives you a CLI that reports an empty system:

$ datumctl inventory get Site
No matching inventory found.

…while inventory.miloapis.com/v1alpha1 serves 173 live records (Region 19, Site 20, Cluster 20, Node 110, Provider 4).

The plugin has moved to milo-os/inventory, joining ipam and search in shipping from its service repo, and now speaks v1alpha1 again.

What

Rewrite plugins/inventory.yaml:

  • homepagehttps://github.com/milo-os/inventory
  • versionv0.2.0
  • all six uri / sha256 pairs → the milo-inventory_* assets

The archive basenames change with the repo, because milo-os names plugin binaries milo-<service> (milo-ipam, milo-search) where datum-cloud uses datumctl-<service>.

Also adds the two-line header comment ipam.yaml and search.yaml carry, and quotes the sha256 values to match them.

Why this is manual

update-plugin-index ran on the v0.2.0 release and failed:

::error::archives missing from checksums.txt:
  datumctl-inventory_Linux_x86_64.tar.gz, ...
available assets:
  milo-inventory_Linux_x86_64.tar.gz, ...

The action bumps the version inside the existing URIs and looks the resulting basenames up in checksums.txt. It cannot re-derive a filename or a homepage, so the rename made every lookup miss. Once this lands the names agree and future releases update automatically — no further manual edits.

The app token worked fine; this was purely the rename.

Verification

Checksums come from the v0.2.0 release checksums.txt, generated into the manifest programmatically rather than transcribed. Two archives were independently downloaded and re-hashed:

99f0977cbf315dc586011887c2fd9eacc6cb2fe4ac8077bac58abf5ac433d372  milo-inventory_Darwin_arm64.tar.gz
70176008d984c8d67869385b152025c6b7debc7d2a0bd0e219742c098af74ea5  milo-inventory_Linux_x86_64.tar.gz

Both match.

After merge

datumctl plugin install inventory
datumctl inventory get sites

Until then, installing by owner/repo works and bypasses the catalog:

datumctl plugin install milo-os/inventory@v0.2.0

Context: milo-os/inventory#50.

🤖 Generated with Claude Code

The inventory plugin moved from datum-cloud/inventory to
milo-os/inventory and, with it, to the milo-os naming convention: the
binary and its release archives are milo-inventory_*, not
datumctl-inventory_*.

This entry still pointed at datum-cloud/inventory v0.2.0 -- a build that
speaks graph.inventory.miloapis.com/v1alpha2, an API group with no
objects in it. Installing from the catalog gave you a plugin that
reported an empty system while inventory.miloapis.com/v1alpha1 served
173 live records.

Rewrite homepage, version, and all six uri/sha256 pairs. Checksums are
from the v0.2.0 release's checksums.txt, spot-verified by downloading
and hashing two of the archives.

update-plugin-index could not do this itself: it rewrites the version in
existing uris and looks the resulting basenames up in checksums.txt, so
the rename made every lookup miss. Once this lands the names agree and
future releases update automatically.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant