Home

Awesome

This is a fork

This repo is fork, but we didn't go anywhere :)

To the official OPAL repo, go here: https://github.com/permitio/opal


<p align="center"> <img src="https://i.ibb.co/BGVBmMK/opal.png" height=170 alt="opal" border="0" /> </p> <h1 align="center"> ⚡OPAL⚡ </h1> <h2 align="center"> Open Policy Administration Layer </h2> <a href="https://github.com/authorizon/opal/actions?query=workflow%3ATests" target="_blank"> <img src="https://github.com/authorizon/opal/workflows/Tests/badge.svg" alt="Tests"> </a> <a href="https://pypi.org/project/opal-server/" target="_blank"> <img src="https://img.shields.io/pypi/v/opal-server?color=%2331C654&label=OPAL%20Server%20%28PyPi%29" alt="Package"> </a> <a href="https://pypi.org/project/opal-client/" target="_blank"> <img src="https://img.shields.io/pypi/v/opal-client?color=%2331C654&label=OPAL%20Client%20%28PyPi%29" alt="Package"> </a> <a href="https://pepy.tech/project/opal-server" target="_blank"> <img src="https://static.pepy.tech/personalized-badge/opal-server?period=total&units=international_system&left_color=black&right_color=blue&left_text=Downloads" alt="Downloads"> </a> <a href="https://hub.docker.com/r/authorizon/opal-server" target="_blank"> <img src="https://img.shields.io/docker/pulls/authorizon/opal-server?label=Docker%20pulls" alt="Docker pulls"> </a> <a href="https://opal-access.slack.com/" target="_blank"> <img src="https://img.shields.io/badge/Slack%20Community-4A154B?logo=slack&logoColor=white" alt="Join our Slack!"> </a>

OPAL is an administration layer for Open Policy Agent (OPA), detecting changes to both policy and policy data in realtime and pushing live updates to your agents.

OPAL brings open-policy up to the speed needed by live applications. As your application state changes (whether it's via your APIs, DBs, git, S3 or 3rd-party SaaS services), OPAL will make sure your services are always in sync with the authorization data and policy they need (and only those they need).

Check out our main site at <a href="https://opal.ac">OPAL.ac</a> <br/> and this <a href="https://youtu.be/tG8jrdcc7Zo">Microsoft video briefly explaining OPAL and how it works with OPA</a>.

Give us a star ⭐️ - If you are using OPAL or think it is an interesting project, we would love a star ❤️

Table of contents

<a name="getting-started"></a>🛠️ Getting started

OPAL is available both as python packages with a built-in CLI as well as pre-built docker images ready-to-go.

Getting started with the pre-built docker containers

Getting started with the python packages and CLI

<a name="intro"></a>📖 Introduction to OPAL - data and policy realtime delivery

<a name="why-use-opal"></a> Why use OPAL

Why OPA + OPAL == 💪 💜

OPA (Open Policy Agent) is great! It decouples policy from code in a highly-performant and elegant way. But the challege of keeping policy agents up-to-date is hard - especially in applications - where each user interaction or API call may affect access-control decisions. OPAL runs in the background, supercharging policy-agents, keeping them in sync with events in realtime.

What OPAL is not

<a name="architecture"></a>📡 Architecture

<img src="https://i.ibb.co/CvmX8rR/simplified-diagram-highlight.png" alt="simplified" border="0">

See a more detailed diagram

<a name="key-concepts"></a>💡 Key Concepts

👩‍🏫 <a name="how-tos"></a> HOW-TOs

<a name="foundations"></a> 🗿 Foundations

OPAL is built on the shoulders of open-source giants, including:

<a name="design"></a> 🎨 Design choices

<a name="community"></a>

Joining the community

Contacting us (the authors)

Contributing to OPAL