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
    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