No description
  • TypeScript 59.3%
  • Shell 24.5%
  • JavaScript 16.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Josh a5efa8d16b
chore: upgrade npm dependencies (#119)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-08-05 19:51:18 -06:00
.devcontainer feat: Action 2025-06-11 16:50:42 -06:00
.github feat: raise max expires-in to 6 hours (#118) 2026-08-04 14:44:23 -06:00
.licenses/npm Initial commit 2025-06-03 12:30:51 -06:00
.vscode Initial commit 2025-06-03 12:30:51 -06:00
__fixtures__ ensure access token is redacted in workflow logs (#27) 2025-09-27 11:49:50 -06:00
__tests__ feat: raise max expires-in to 6 hours (#118) 2026-08-04 14:44:23 -06:00
badges Rename inputs to kebab-case, deprecate snake_case aliases (#106) 2026-07-28 16:50:17 -06:00
dist chore: upgrade npm dependencies (#119) 2026-08-05 19:51:18 -06:00
script Initial commit 2025-06-03 12:30:51 -06:00
src feat: raise max expires-in to 6 hours (#118) 2026-08-04 14:44:23 -06:00
.env.example Initial commit 2025-06-03 12:30:51 -06:00
.gitattributes Initial commit 2025-06-03 12:30:51 -06:00
.gitignore Initial commit 2025-06-03 12:30:51 -06:00
.licensed.yaml feat: Action 2025-06-11 16:50:42 -06:00
.markdown-lint.yaml feat: Action 2025-06-11 16:50:42 -06:00
.node-version chore: Upgrade to Node 24 (#78) 2026-06-15 19:00:56 -06:00
.npmrc ci: add ignore-scripts to Node package manager config (20260527-193123) (#73) 2026-06-02 11:49:12 -05:00
.poutine.yaml chore: Pin actions and format (#72) 2026-06-01 14:09:55 -06:00
.prettierignore Initial commit 2025-06-03 12:30:51 -06:00
.prettierrc.yaml feat: Action 2025-06-11 16:50:42 -06:00
.trivyignore chore: Pin actions and format (#72) 2026-06-01 14:09:55 -06:00
.yaml-lint.yaml feat: Action 2025-06-11 16:50:42 -06:00
action.yaml feat: raise max expires-in to 6 hours (#118) 2026-08-04 14:44:23 -06:00
eslint.config.mjs chore: upgrade npm dependencies (#119) 2026-08-05 19:51:18 -06:00
jest.config.js feat: Action 2025-06-11 16:50:42 -06:00
LICENSE feat: Action 2025-06-11 16:50:42 -06:00
package-lock.json chore: upgrade npm dependencies (#119) 2026-08-05 19:51:18 -06:00
package.json chore: upgrade npm dependencies (#119) 2026-08-05 19:51:18 -06:00
README.md feat: raise max expires-in to 6 hours (#118) 2026-08-04 14:44:23 -06:00
rollup.config.ts chore: upgrade npm dependencies (#119) 2026-08-05 19:51:18 -06:00
SECURITY.md feat: Add required security files (#92) 2026-07-20 13:15:30 -06:00
tsconfig.base.json Initial commit 2025-06-03 12:30:51 -06:00
tsconfig.eslint.json Initial commit 2025-06-03 12:30:51 -06:00
tsconfig.json Initial commit 2025-06-03 12:30:51 -06:00

Docker OIDC Action

GitHub Super-Linter CI Check dist/ CodeQL Coverage

The official GitHub Action for authenticating to Docker with OIDC.

It exchanges the GitHub-issued OIDC token for your workflow for a short-lived Docker access token — so you can log in to Docker Hub without storing a long-lived password or personal access token as a secret.

Note: The returned token's scope is currently limited to registry login (for example, with docker/login-action). Broader use, such as authenticating to the Docker Hub API, is not supported yet.

Prerequisites

Create an OIDC connection in your Docker organization and note its connection ID. Follow the steps in the Docker documentation.

Usage

The action requires id-token: write permission so the workflow can request a GitHub OIDC token. The exchanged Docker token is returned as the token output and is automatically masked in workflow logs.

jobs:
  build:
    runs-on: ubuntu-latest
    permissions:
      id-token: write # required to request the GitHub OIDC token
    steps:
      - name: Get Docker token
        id: docker_oidc
        uses: docker/oidc-action@v1
        with:
          connection-id: <my-connection-id>

      - name: Log in to Docker Hub
        uses: docker/login-action@v4
        with:
          username: <my-org-name>
          password: ${{ steps.docker_oidc.outputs.token }}

Inputs

Input Required Default Description
connection-id Yes The OIDC connection ID from your Docker organization. Must be a v4 UUID.
expires-in No 300 Lifetime of the returned token, in seconds. Must be between 300 (5 min) and 21600 (6 hours).

Outputs

Output Description
token The short-lived Docker access token. Use it as the password for registry login.

License

Distributed under the terms of the Apache 2.0 License.