Skip to content

Enterprise OPA is a distribution of Open Policy Agent with enterprise-grade features to get OPA into production quickly, easily, and inexpensively.

StyraInc/enterprise-opa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OPA v0.64.1 Regal v0.21.3

Styra Enterprise OPA

Styra

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.

👋 Hello World!

Hello World

Try it out!
  1. brew install styrainc/packages/eopa
  2. export EOPA_LICENSE_KEY=<your license key>
  3. eopa run -s https://dl.styra.com/enterprise-opa/bundle-enterprise-opa-400.tar.gz
  4. curl 'http://localhost:8181/metrics/alloc_bytes?pretty=true'

To compare with OPA:

  1. opa run -s -a localhost:8282 https://dl.styra.com/enterprise-opa/bundle-opa-400.tar.gz
  2. 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.


📖 About This Repository

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

🏃 Getting Started

Styra Enterprise OPA can run either containerized with Docker, or as a standalone executable.

⬇️ Download Styra Enterprise OPA

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.

🔑 Obtaining a License

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> ...

🐳 Running Enterprise OPA with Docker

docker run -v $(pwd):/enterprise-opa -w /enterprise-opa ghcr.io/styrainc/enterprise-opa:latest run --config-file /enterprise-opa/enterprise-opa-conf.yml

⚡ Running the Enterprise OPA Binary

Run the Styra eopa binary same as you would run opa:

eopa run --server --license-key  ...
eopa eval --data policy.rego --input input.json ...

🖋️ Examples

This repository additionally contains companion examples and blueprints from the Styra Enterprise OPA documentation.

🗣️ Community

For questions, discussions and announcements related to Styra products, services and open source projects, please join the Styra community on Slack!

About

Enterprise OPA is a distribution of Open Policy Agent with enterprise-grade features to get OPA into production quickly, easily, and inexpensively.

Topics

Resources

Stars

Watchers

Forks

Languages