Skip to content

Provide a reusable setup-datumctl #78

Description

@ecv

Context

Follow-up from review on datum-cloud/infra#2728 (review).

The current provisioning/setup-datumctl script installs datumctl and authenticates a service account, but it lives in this repo and is invoked as a raw script. Per @scotwells, this should instead be packaged like google-github-actions/setup-gcloud so any consumer can install datumctl and authenticate with a service account to access their projects.

Goal

Publish a reusable, versioned GitHub Action that:

  • Installs a pinned (or input-selectable) datumctl version, cross-platform (Linux/macOS, x86_64/arm64).
  • Authenticates a Datum service account from a credentials input, storing the session in the datumctl keyring for subsequent datumctl/kubectl calls.
  • Exposes inputs for version, auth hostname, and credentials (tolerating both raw-JSON and base64-encoded credentials, matching the fix in datum-cloud/infra#2728).
  • Is consumable by external repos, not just datum-cloud/infra.

Notes

  • Likely belongs in its own repo (e.g. datum-cloud/setup-datumctl) for independent versioning/tagging.
  • Once shipped, migrate this repo's E2E workflow off provisioning/setup-datumctl to the published action.

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