Skip to main content
Hardcoded secrets in CI/CD pipelines, container images, infrastructure configs, and production environments are a leading cause of credential exposure at scale. For example, if a secret is hardcoded in a .github/workflows or Jenkinsfile, anyone with access to the repository can see it. A single leaked token can compromise your entire deployment chain, and historically rotating exposed secrets required extensive code and configuration updates. 1Password developer tools eliminate secret sprawl across your deployment infrastructure and make rotating secrets simple. Store your credentials in 1Password, then securely load them into your CI/CD pipelines, containers, and production applications at runtime without exposing anything in plaintext in your source control or configuration files. Rotate your secrets by updating them in 1Password.
Not sure where to start? Use the configuration tables to find the best tool and authentication method for your specific use case.

Environments

You can use 1Password Environments to store and manage the complete set of secrets for each stage of your deployment infrastructure (for example staging, production, or per-application) then load them all at once at runtime. Because Environments map directly to how applications consume secrets from the environment, they fit naturally into any deployment workflow that uses environment variables or .env files. You can use Environments across your entire deployment infrastructure. For example:

Get started with Environments

Create and manage Environments.

Programmatically read Environments

Load variables from Environments with 1Password CLI or SDKs.

Sync secrets to AWS Secrets Manager

Centralize secrets management and simplify your AWS Secrets Manager workflow.
You can also replace hardcoded secrets in your deployment configs using secret references.

Pre-built integrations

1Password provides pre-built integrations for the most popular CI/CD platforms, container orchestration tools, and Infrastructure as Code tools. Each integration uses secret references to securely load secrets from 1Password into your pipelines and workflows. Secret references are URIs that point to the names or IDs of the specific vault, item, section, and field where an individual secret is stored in your 1Password account.
When a pipeline step runs, the integration resolves each reference and makes the actual secrets available as environment variables or step outputs. Sensitive values are automatically masked in build logs.

GitHub Actions

The Load Secrets from 1Password GitHub Action adds a step to your workflow that resolves secret references and exposes them as environment variables or step outputs. To get started:
  1. Create a service account with access to the vaults your pipeline needs.
  2. Store the service account token as a GitHub repository secret (for example, OP_SERVICE_ACCOUNT_TOKEN).
  3. Add the 1password/load-secrets-action/configure step to set the token.
  4. Add the 1password/load-secrets-action step to set your environment variables to secret references.

GitHub Actions integration

Full setup guide with examples for service accounts and Connect server.

CircleCI

The 1Password Secrets orb provides two commands for loading secrets: exec (resolves secrets on demand with automatic masking) and export (makes secrets available to subsequent steps). To get started:
  1. Create a service account and set OP_SERVICE_ACCOUNT_TOKEN in your CircleCI project settings .
  2. Add the onepassword/secrets orb to your config.yml .
  3. Install 1Password CLI using the 1password/install-cli command.
  4. Use 1password/exec or 1password/export to load secrets in your pipeline steps.

CircleCI integration

Full setup guide with examples for service accounts and Connect server.

Jenkins

The 1Password Secrets plugin for Jenkins loads secrets into pipeline steps using the withSecrets function. Configuration can be set globally, per folder, or per job, with more specific levels overriding broader ones. To get started:
  1. Install the 1Password Secrets plugin for Jenkins.
  2. Install 1Password CLI on the machine running your Jenkins pipelines.
  3. Configure the plugin with your service account token or Connect server credentials.
  4. Use the withSecrets function in your Jenkinsfile to access secrets by reference.

Jenkins integration

Full setup guide with Declarative and Scripted Jenkinsfile examples.

Kubernetes

Use the Kubernetes Operator to sync 1Password items to native Kubernetes Secrets, the Kubernetes Secrets Injector to inject secrets directly into pods at runtime (avoiding the need to store them as Kubernetes Secret resources), or op inject to inject secret references in manifests when you deploy.

Kubernetes integrations

Kubernetes Operator, Secrets Injector, and Helm chart integrations.

Terraform, Pulumi, and Ansible

1Password integrates with popular Infrastructure as Code (IaC) tools so you can reference and manage secrets as part of your provisioning workflow without committing plaintext credentials to version control or hardcoding them in HCL or YAML.
  • Terraform: The 1Password Terraform provider lets you reference 1Password items as data sources or create and update items as managed resources.
  • Pulumi: The 1Password Pulumi provider gives you programmatic access to 1Password items in TypeScript, Python, or Go.
  • Pulumi ESC: The Pulumi ESC integration lets you dynamically import secrets from 1Password into Pulumi ESC environment definitions for centralized configuration.
  • Ansible: The 1Password Ansible collection lets you interact with your 1Password Connect deployment from playbooks. It supports managing 1Password vaults and items through create, read, update, and delete operations.

Terraform provider

Reference, create, or update 1Password items from Terraform.

Pulumi provider

Access vault items programmatically from Pulumi.

Ansible collection

Manage 1Password vaults and items from playbooks with Connect.

Choose your configuration

Use the tables below to find the best tools and authentication method for your deployment use case. Every scenario includes a recommended tool and authentication method.

Tool options

  • 1Password Environments: Best for managing project secrets in 1Password and eliminating plaintext secrets in code.
  • Platform-specific integrations: Load secrets using secret references into Ansible, AWS Secrets Manager, CircleCI, ECS Fargate, GitHub Actions, Jenkins, Kubernetes, Pulumi, and Terraform.
  • Secret references: Secure URIs that point to where a secret is stored in 1Password.
  • 1Password CLI: Best for quick testing, shell scripts, CI/CD pipelines, Infrastructure as Code, build tools and task runners. Environments require the latest CLI beta.
  • 1Password SDKs: Best for native integrations with Go, Python, or JavaScript applications. Environments require the latest SDK beta.
  • 1Password Connect Server: Deploy a private REST API within your own infrastructure. After the initial fetch, secrets are cached locally for subsequent requests, reducing latency and dependency on external API availability.

Authentication options

All deployment workflows require non-interactive authentication. 1Password offers two options depending on your infrastructure needs.

Scenarios

CI/CD pipelines

Containers and orchestration

Infrastructure as Code

Production applications

Next steps

Choose what you want to do next:

Secure local development

Access credentials in your terminal, IDE, and local projects without exposing your secrets in plaintext.

Build integrations

Build integrations and scripts that can securely interact with your 1Password account.

Get help

To get help, join the discussion in our Developer community or join our Developer Slack workspace.