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

Endor Labs Buildkite Plugin

CI

Buildkite plugin to run endorctl after your step command — aligned with the Endor Labs GitHub Action for scan flags and outputs.

Documentation

Quick example (vendored plugin)

secrets:
  - ENDOR_NAMESPACE
  - ENDOR_API_CREDENTIALS_KEY
  - ENDOR_API_CREDENTIALS_SECRET

steps:
  - label: ":hammer: Build and scan"
    command: "make build"
    plugins:
      - ./.buildkite/vendor/endorlabs-buildkite-plugin:
          namespace: "${ENDOR_NAMESPACE}"
          api_key_env: ENDOR_API_CREDENTIALS_KEY
          api_secret_env: ENDOR_API_CREDENTIALS_SECRET
          scan_dependencies: true
          annotate: true

Vendor with scripts/sync-vendor-endorlabs-plugin.sh. Public git ref: https://github.com/endorlabs/endorlabs-buildkite-plugin.git#v0.1.4 (or endorlabs#v0.1.4 after directory sync). Demo: repro-sandbox.

How it works

  • Single post-command hook — your command runs first, then install/auth/scan (avoids replacing the user command).
  • plugin.yml — full JSON Schema; validated by plugin-linter in CI (additionalProperties: false).
  • Credentialsapi_key_env / api_secret_env (or pre-exported ENDOR_API_CREDENTIALS_*); never passed as --api-key on the CLI. See SECURITY.md.
  • Build tools — plugin installs endorctl only; put Bazel/Node/etc. on the agent or in command. See docs/setup.md §2.
  • Windowspost-command.bat / .ps1 delegate to Bash; requires Git Bash on the agent (writing plugins).

Annotations

With annotate: true (and jq on the agent for JSON output), the plugin posts an HTML summary: severity counts, admission policy status, and a findings table filtered to the scan kinds enabled on that step. Use annotate_scope: job for per-step annotations in parallel scan pipelines.

Endor Labs dependency scan annotation in Buildkite — severity counts, policy status, and critical/high findings table

Example from repro-sandbox (dev branch): parallel secrets, dependencies, SAST, and AI-SAST steps each with job-scoped annotations.

Common options

OptionDefaultNotes
namespace(required)Endor tenant
scan_dependenciestrueSCA
scan_secrets / scan_sastfalseEnable per need
scan_containerfalseRequires image or image_tar; separate from repo scans
annotatefalseHTML summary after scan (severity counts, top findings table, artifact link)
annotate_scopebuildjob shows annotation on the step job drawer (agent v3.112+)
annotate_findings_limit-1-1 = all critical/high in table; N>0 adds up to N medium/low rows; 0 = counts only (needs jq + JSON output)
fail_on_policytrueExit 128 fails the step
soft_failfalseSoftens other exits; does not bypass 128 when fail_on_policy is true
modescansign / verify for artifact signing

All keys, validation rules, and cloud keyless auth: plugin.yml. Copy-paste pipelines: docs/examples.md.

Buildkite context mapping

Buildkite envendorctl
BUILDKITE_BRANCH--detached-ref-name=
BUILDKITE_PULL_REQUEST (numeric)--pr=true, --scm-pr-id= (unless pr: false)
BUILDKITE_PULL_REQUEST_BASE_BRANCH--pr-baseline=

PR comments need enable_pr_comments + scm_token_env — see docs/troubleshooting.md.

Developing

docker compose run --rm tests

See CONTRIBUTING.md. E2E validation: vendored plugin in repro-sandbox.

License

Apache License 2.0.

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