Built by the creators and maintainers of Open Policy Agent (OPA), Styra Enterprise OPA is the only enterprise-grade authorization engine built to provide resource-efficient performance for data-heavy workloads while connecting natively to your existing data sources.
Styra Enterprise OPA is designed to offer:
- Reduced costs of data-heavy authorization: Styra Enterprise OPA allows you to reduce OPA’s memory overhead by 10x and gain the ability to get 40% more CPU throughput at the policy decision point.
- Increase integration speed: By offering the ability to natively connect to existing data sources without custom code, Styra Enterprise OPA allows teams to reduce development costs and get into production quickly.
- Minimize risk with powerful analysis: Extending the industry’s only impact analysis tool, Styra Enterprise OPA allows policy validation early and throughout the policy lifecycle, shrinking deployment failure, and costly issues before enforcement.
Try it out!
brew install styrainc/packages/eopa
export EOPA_LICENSE_KEY=<your license key>
eopa run -s https://dl.styra.com/enterprise-opa/bundle-enterprise-opa-400.tar.gz
curl 'http://localhost:8181/metrics/alloc_bytes?pretty=true'
To compare with OPA:
opa run -s -a localhost:8282 https://dl.styra.com/enterprise-opa/bundle-opa-400.tar.gz
curl 'http://localhost:8282/metrics/alloc_bytes?pretty=true'
Note: both Styra Enterprise OPA and OPA will show "peak" memory usage if queried just after launch, so waiting a few minutes before checking the metrics will provide numbers closer to real-world use.
This repository provides:
- The Styra Enterprise OPA Docker images
- The Styra Enterprise OPA binaries
- Example code and deployment blueprints for Styra Enterprise OPA
For Styra Enterprise OPA documentation, see docs.styra.com
Styra Enterprise OPA can run either containerized with Docker, or as a standalone executable.
MacOS and Linux
brew install styrainc/packages/eopa
Manual download options
MacOS (Apple Silicon)
curl -L -o eopa "https://github.com/StyraInc/enterprise-opa/releases/latest/download/eopa_Darwin_arm64"
xattr -d com.apple.quarantine eopa
chmod +x eopa
MacOS (x86_64)
curl -L -o eopa "https://github.com/StyraInc/enterprise-opa/releases/latest/download/eopa_Darwin_x86_64"
xattr -d com.apple.quarantine eopa
chmod +x eopa
Linux (x86_64)
curl -L -o eopa "https://github.com/StyraInc/enterprise-opa/releases/latest/download/eopa_Linux_x86_64"
chmod +x eopa
Windows
curl.exe -L -o eopa.exe "https://github.com/StyraInc/enterprise-opa/releases/latest/download/eopa_Windows_x86_64.exe"
See all versions, and checksum files, at the Styra Enterprise OPA releases page.
Alternatively, download the Styra Enterprise OPA Docker image:
docker pull ghcr.io/styrainc/enterprise-opa:latest
Checksums for all binaries may optionally be retrieved from here.
Running Styra Enterprise OPA requires a valid license key. To evaluate Styra Enterprise OPA, a free 14 day trial license may be obtained from here.
The license key can either be provided the eopa
command via an environment variable:
export EOPA_LICENSE_KEY=<license key here>
Or via the filesystem using the --license-key
flag:
eopa run --server --license-key <path to file containing license key here> ...
docker run -v $(pwd):/enterprise-opa -w /enterprise-opa ghcr.io/styrainc/enterprise-opa:latest run --config-file /enterprise-opa/enterprise-opa-conf.yml
Run the Styra eopa
binary same as you would run opa
:
eopa run --server --license-key ...
eopa eval --data policy.rego --input input.json ...
This repository additionally contains companion examples and blueprints from the Styra Enterprise OPA documentation.
- Performance testing
- Kubernetes deployment example
- Streaming data from Apache Kafka
For questions, discussions and announcements related to Styra products, services and open source projects, please join the Styra community on Slack!