Skip to content

Latest commit

 

History

History
145 lines (95 loc) · 5.39 KB

README.md

File metadata and controls

145 lines (95 loc) · 5.39 KB

OPA v0.70.0 Regal v0.29.0

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!