Skip to content

digitalocean/action-doctl

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

GitHub Actions for DigitalOcean

This action enables you to interact with DigitalOcean services by installing the doctl command-line client.

Usage

To install the latest version of doctl and use it in GitHub Actions workflows, create a DigitalOcean API token, add it as a secret to your repository, and add the following step to your workflow:

    - name: Install doctl
      uses: digitalocean/action-doctl@v2
      with:
        token: ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN }}

doctl will now be available in the virtual environment and can be used directly in following steps. As an example, one common use case is retrieving the credentials for a Kubernetes cluster hosted on DigitalOcean for use in a deployment workflow:

    - name: Save DigitalOcean kubeconfig
      run: doctl kubernetes cluster kubeconfig save testing-cluster

See this repository for a full end-to-end example that also demonstrates building a Docker image, pushing it to a private DigitalOcean container registry, and using kubectl to deploy it to the Kubernetes cluster on DigitalOcean.

Arguments

  • token – (Required) A DigitalOcean personal access token (more info).
  • version – (Optional) The version of doctl to install. If excluded, the latest release will be used.
  • no_auth – (Optional) Set to true to skip the authentication step. The API token parameter is Optional in this case.
    • Note: This can be useful when running in workflows in untrusted environments, or where auth isn't necessary (e.g. doctl app spec validate --schema-only)
    • This depends on doctl >= v1.101.0 (digitalocean/doctl#1450)

Contributing

To install the needed dependencies, run npm install. The resulting node_modules/ directory is not checked in to Git.

Before submitting a pull request, run npm run package to package the code using ncc. Packaging assembles the code including dependencies into one file in the dist/ directory that is checked in to Git.

Pull requests should be made against the v2 branch.

License

This GitHub Action and associated scripts and documentation in this project are released under the MIT License.