Skip to content

Release wiring for datumctl-inventory plugin (goreleaser) #42

Description

@ecv

Problem

The datumctl-inventory plugin (#41) has no release/distribution wiring. Until it does, users can only build it from source and trust it as an unmanaged plugin (datumctl plugin trust inventory). datumctl plugin install needs published release archives with a checksums.txt in goreleaser's two-column format, binary named datumctl-inventory inside each archive.

Goal

Publish datumctl-inventory release archives so it installs via:

datumctl plugin install milo-os/datumctl-inventory          # direct GitHub
datumctl plugin install inventory                           # curated index (later)

Tasks

  • .goreleaser.datumctl-inventory.yaml — builds ./cmd/datumctl-inventory for linux/darwin/windows × amd64/arm64; binary datumctl-inventory; archive names datumctl-inventory_{OS}_{Arch}.{tar.gz|zip}; checksums.txt; -X main.version.
  • Decouple plugin releases from the operator: use tag prefix datumctl-inventory/vX.Y.Z (goreleaser monorepo tag_prefix).
  • Release workflow triggered on datumctl-inventory/v* tags.
  • Guard the operator publish.yaml so plugin tags/releases don't rebuild the operator image (tags-ignore on push + if: on the release: published jobs).
  • Verify archive/checksums naming matches what datumctl's GitHub-install path expects.

Follow-on (separate)

Follow-up to #41.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions