1. Resources
  2. /
  3. Plugins
  4. /
  5. buildkite-akeyless-plugin

Buildkite Akeyless Plugin

Load secrets from Akeyless into Buildkite jobs: static, dynamic, and rotated items (see below), plus environment exports, ssh-agent keys, and Git HTTPS credentials.

Uses the official Akeyless Go SDK (v5) and akeyless-go-cloud-id for AWS IAM auth.

Repository: github.com/akeyless-community/buildkite-akeyless-plugin

Install on the agent

Build the helper once per plugin checkout (or bake into your agent image):

make build

Pipeline usage

Reference the plugin by GitHub coordinates and tag:

plugins:
  - akeyless-community/buildkite-akeyless-plugin#v1.0.0:
      auth:
        method: access_key
        access-id: "p-XXXX"

Buildkite exposes settings as environment variables with prefix BUILDKITE_PLUGIN_BUILDKITE_AKEYLESS_PLUGIN_ (derived from the repository name). The Go code reads that prefix automatically.

Examples

Access key

steps:
  - command: ./scripts/ci.sh
    plugins:
      - akeyless-community/buildkite-akeyless-plugin#v1.0.0:
          gateway: "https://api.akeyless.io"
          auth:
            method: access_key
            access-id: "p-XXXX"
            secret-env: "AKEYLESS_ACCESS_KEY"

Provide AKEYLESS_ACCESS_KEY on the agent (environment hook, secrets manager, etc.).

AWS IAM

steps:
  - command: ./scripts/ci.sh
    plugins:
      - akeyless-community/buildkite-akeyless-plugin#v1.0.0:
          gateway: "https://api.akeyless.io"
          auth:
            method: aws_iam
            access-id: "p-XXXX"

JWT (or OIDC via access-type)

steps:
  - command: ./scripts/ci.sh
    plugins:
      - akeyless-community/buildkite-akeyless-plugin#v1.0.0:
          gateway: "https://api.akeyless.io"
          auth:
            method: jwt
            access-id: "p-XXXX"
            jwt-env: "AKEYLESS_JWT"
            # access-type: "oidc"  # if your Akeyless auth method requires it

Dynamic / rotated options

steps:
  - command: ./scripts/ci.sh
    plugins:
      - akeyless-community/buildkite-akeyless-plugin#v1.0.0:
          gateway: "https://api.akeyless.io"
          include_dynamic_secrets: true
          include_rotated_secrets: true
          dynamic_secret_timeout: 60
          rotated_secret_host: "db.internal.example"
          auth:
            method: access_key
            access-id: "p-XXXX"

Secret layout

Default Akeyless folder base: /buildkite (override with path). The plugin scans:

  1. Pipeline folder: /buildkite/{prefix}/{pipeline-slug} when prefix is set, otherwise /buildkite/{pipeline-slug} (Buildkite sets pipeline-slug from the pipeline).
  2. Shared folder: /buildkite

Items are matched by the last path segment (static, dynamic, or rotated):

NameRole
env / environmentEnv: KEY=value lines, JSON, or API JSON for dynamic/rotated
private_ssh_key / id_rsa_githubPEM or JSON with ssh_key / private_key / similar → ssh-add
git-credentialsStatic only — lines like https://user:token@host/... for Git credential helper
customWith secret: myname, an item named myname is loaded like env

Set include_dynamic_secrets: false or include_rotated_secrets: false to limit listing.

Configuration reference

KeyPurpose
gatewayAPI base URL (default https://api.akeyless.io; self-hosted gateways use the URL your team documents).
pathBase folder in Akeyless (default /buildkite).
prefixOptional path segment between base and pipeline slug.
secretOptional extra item name (last segment) merged as env-style exports.
debugVerbose logs.
dump_envLog variables added by the plugin (avoid on shared logs).
include_dynamic_secretsDefault on; set false to skip dynamic secrets.
include_rotated_secretsDefault on; set false to skip rotated secrets.
dynamic_secret_timeoutSeconds for get-dynamic-secret-value.
dynamic_secret_argsString array passed to dynamic secret provisioning.
rotated_secret_hostOptional host for get-rotated-secret-value (linked targets).
authRequired: method, access-id, and method-specific fields (see examples).

Develop

make fmt
make test
make build

License

MIT — see LICENSE.

The plugins listed on this webpage are provided for informational purposes only. They have not undergone any formal security review or assessment. While we strive to provide useful resources, we cannot guarantee the safety, reliability, or integrity of these plugins. Users are strongly advised to conduct their own security evaluations before downloading, installing, or using any plugin. By using these plugins, you acknowledge and accept any risks associated with their use. We disclaim any liability for any harm or damages arising from the use of the plugins listed.

Start turning complexity into an advantage

Create an account to get started for free.

Buildkite Pipelines

Platform

  1. Pipelines
  2. Public pipelines
  3. Test Engine
  4. Package Registries
  5. Mobile Delivery Cloud
  6. Pricing

Hosting options

  1. Self-hosted agents
  2. Mac hosted agents
  3. Linux hosted agents

Resources

  1. Docs
  2. Blog
  3. Changelog
  4. Example pipelines
  5. Plugins
  6. Webinars
  7. Case studies
  8. Events
  9. Migration Services
  10. CI/CD perspectives

Company

  1. About
  2. Careers
  3. Press
  4. Security
  5. Brand assets
  6. Contact

Solutions

  1. Replace Jenkins
  2. Workflows for MLOps
  3. Testing at scale
  4. Monorepo mojo
  5. Bazel orchestration

Legal

  1. Terms of Service
  2. Acceptable Use Policy
  3. Privacy Policy
  4. Subprocessors
  5. Service Level Agreement
  6. Supplier Code of Conduct
  7. Modern Slavery Statement

Support

  1. System status
  2. Forum
© Buildkite Pty Ltd 2026