# Install opa with Homebrew, apk, scoop, zypper

Open source, general-purpose policy engine. Version 1.18.2 via Homebrew; verified 2026-07-02.

## Install

```sh
sudo av install brew:opa
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install opa
```

  Evidence: local Homebrew formula metadata

### Linux

- apk (92%):

```sh
sudo apk add opa
```

  Evidence: Alpine Linux edge package indexes: opa from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz

- zypper (92%):

```sh
sudo zypper install opa
```

  Evidence: openSUSE Tumbleweed package metadata: opa from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

### Windows

- Scoop (92%):

```sh
scoop install main/opa
```

  Evidence: Scoop official bucket manifest trees: bucket/opa.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:opa
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/opa>
- **Version:** 1.18.2
- **Source summary:** Open source, general-purpose policy engine
- **Homepage:** <https://www.openpolicyagent.org>
- **Repository:** <https://github.com/open-policy-agent/opa>
- **Upstream docs:** <https://www.openpolicyagent.org/docs/latest>
- **License:** Apache-2.0
- **Source archive:** <https://github.com/open-policy-agent/opa/archive/refs/tags/v1.18.2.tar.gz>
- **Last updated:** 2026-07-02T16:41:00Z
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- opa (cli)
- opa (alias)

## Build dependencies

- go

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.18.2
- Package-manager updated: 2026-07-02
- Local data: ok
- Upstream repository: https://github.com/open-policy-agent/opa
- Upstream latest detected: v1.18.2 (current)
## Project history and usage

Open Policy Agent, usually invoked as opa, is a general-purpose policy engine for policy-as-code. It lets teams move authorization and operational policy out of application code into Rego policies evaluated by a standalone binary, sidecar, library, or service integration.

### Project history

OPA was created to provide a unified policy decision point across the stack. The official docs describe it as an open-source, general-purpose policy engine with simple APIs for offloading policy decisions and a high-level declarative language, Rego, for writing policies against structured data.

OPA entered the Cloud Native Computing Foundation on March 29, 2018, moved to Incubating on April 2, 2019, and reached Graduated maturity on January 29, 2021. CNCF's graduation announcement emphasized open governance, feature maturity, sustainability, and production use across cloud-native environments.

### Adoption history

By the 2021 CNCF graduation announcement, OPA had more than 90 contributors from roughly 30 organizations, maintainers from Google, Microsoft, VMware, and Styra, and production adoption at organizations including Goldman Sachs, Netflix, Pinterest, and T-Mobile. CNCF also reported survey data from more than 150 organizations, with 91% using OPA in some stage from QA to production.

OPA's ecosystem expanded through Kubernetes admission control, Envoy authorization, CI/CD checks, API gateways, service meshes, and infrastructure-as-code validation. Gatekeeper became the Kubernetes-native policy-controller companion, while related tools such as Conftest and OPA's official ecosystem entries made the opa binary useful both in clusters and in developer workflows.

### How it is used

Developers write Rego policies and feed OPA JSON-like input and data. The opa CLI is used to run policies locally, test Rego, build bundles, evaluate decisions, and support CI checks; services can call OPA over APIs or embed policy evaluation into a broader control plane.

Platform and security teams use OPA to enforce Kubernetes admission rules, API authorization, deployment guardrails, configuration rules, and audit policies without hard-coding every rule in each application. The same policy language can be reused from local command-line checks to production admission controllers.

### Why package nerds care

OPA is one of the canonical examples of a single CLI package representing a much larger cloud-native control-plane concept. The Homebrew formula is just opa, but the binary brings a policy language, evaluator, test runner, bundle format, server mode, WebAssembly targets, and a CNCF ecosystem with it.

### Timeline

- 2018-03-29: OPA was accepted into the CNCF.
- 2019-04-02: OPA moved to CNCF Incubating maturity.
- 2019: Kubernetes Gatekeeper work helped make OPA a common choice for admission control and cluster policy.
- 2021-01-29: OPA reached CNCF Graduated maturity.
- 2021-02-04: CNCF announced OPA's graduation and summarized contributor, maintainer, and adopter data.

### Related projects

- Related projects include OPA Gatekeeper, Conftest, Rego Playground, Kubernetes admission webhooks, Envoy external authorization integrations, SPIFFE/SPIRE, Helm, CoreDNS, and other policy-as-code tooling.

### Sources

- <https://formulae.brew.sh/formula/opa>
- <https://kubernetes.io/blog/2019/08/06/opa-gatekeeper-policy-and-governance-for-kubernetes/>
- <https://openpolicyagent.org/ecosystem/entry/gatekeeper>
- <https://www.cncf.io/announcements/2021/02/04/cloud-native-computing-foundation-announces-open-policy-agent-graduation/>
- <https://www.cncf.io/projects/open-policy-agent-opa/>
- <https://www.openpolicyagent.org/docs>
- <https://www.openpolicyagent.org/docs/policy-language>


## Security Notes

No matching local secret-handling manifest was found for opa. Nucleus package metadata is still published here so future coverage has a stable package URL.


## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** opa
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- apk - opa - 1.15.2-r1: normalized package name match | Alpine Linux edge package indexes: opa from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Open source, general-purpose policy engine | https://www.openpolicyagent.org/
- apk - opa-bash-completion - 1.15.2-r1: normalized package name match | Alpine Linux edge package indexes: opa-bash-completion from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Bash completions for opa | https://www.openpolicyagent.org/
- apk - opa-doc - 1.15.2-r1: normalized package name match | Alpine Linux edge package indexes: opa-doc from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Open source, general-purpose policy engine (documentation) | https://www.openpolicyagent.org/
- apk - opa-fish-completion - 1.15.2-r1: normalized package name match | Alpine Linux edge package indexes: opa-fish-completion from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Fish completions for opa | https://www.openpolicyagent.org/
- apk - opa-zsh-completion - 1.15.2-r1: normalized package name match | Alpine Linux edge package indexes: opa-zsh-completion from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Zsh completions for opa | https://www.openpolicyagent.org/
- zypper - opa - 1.17.1-1.1: normalized package name match | openSUSE Tumbleweed package metadata: opa from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Open source, general-purpose policy engine | https://github.com/open-policy-agent/opa
- zypper - opa-bash-completion - 1.17.1-1.1: normalized package name match | openSUSE Tumbleweed package metadata: opa-bash-completion from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Bash Completion for opa | https://github.com/open-policy-agent/opa
- zypper - opa-fish-completion - 1.17.1-1.1: normalized package name match | openSUSE Tumbleweed package metadata: opa-fish-completion from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Fish Completion for opa | https://github.com/open-policy-agent/opa
- zypper - opa-zsh-completion - 1.17.1-1.1: normalized package name match | openSUSE Tumbleweed package metadata: opa-zsh-completion from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Zsh Completion for opa | https://github.com/open-policy-agent/opa
- Scoop - main/opa: normalized package name match | Scoop official bucket manifest trees: bucket/opa.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Security and crypto packages](https://www.automicvault.com/pkg/security-crypto-tools/) - Matched security, identity, cryptography, password, signing, or certificate metadata.
- [Homebrew utility packages](https://www.automicvault.com/pkg/brew-utility-packages/) - Matched Homebrew package provider.
- [go](https://www.automicvault.com/pkg/brew/go/) - Build dependency declared by Homebrew.
- [permify](https://www.automicvault.com/pkg/brew/permify/) - Shares av.db curated category or tags: authorization, cli, policy-engine, security.
- [authz0](https://www.automicvault.com/pkg/brew/authz0/) - Shares av.db curated category or tags: authorization, cli, security.
- [chainloop-cli](https://www.automicvault.com/pkg/brew/chainloop-cli/) - Shares av.db curated category or tags: cli, policy-as-code, security.
- [intercept](https://www.automicvault.com/pkg/brew/intercept/) - Shares av.db curated category or tags: cli, policy-as-code, security.
- [minder](https://www.automicvault.com/pkg/brew/minder/) - Shares av.db curated category or tags: cli, policy-as-code, security.
- [openfga](https://www.automicvault.com/pkg/brew/openfga/) - Shares av.db curated category or tags: authorization, cli, security.
- [policy-engine](https://www.automicvault.com/pkg/brew/policy-engine/) - Shares av.db curated category or tags: cli, policy-engine, security.
- [spicedb](https://www.automicvault.com/pkg/brew/spicedb/) - Shares av.db curated category or tags: authorization, cli, security.
- [regal](https://www.automicvault.com/pkg/brew/regal/) - Local package facts share a topical domain. Shared terms: cli, code, opa, policy, policy-as-code.

## Combined YAML source

View the package source record on GitHub. [combined/opa.yml](https://github.com/automic-vault/db/blob/main/combined/opa.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
