Skip to content

Commit 577b625

Browse files
committed
rename all links except docker hub
1 parent f788f38 commit 577b625

28 files changed

+176
-179
lines changed

CODE_OF_CONDUCT.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@
33
OPAL follows the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md).
44

55
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting
6-
the maintainers via <conduct@authorizon.com>.
6+
the maintainers via <conduct@permit.io>.

README.md

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66
</h1>
77

88
<h2 align="center">
9-
Open Policy Administration Layer
9+
Open Policy Administration Layer
1010
</h2>
1111

12-
<a href="https://github.com/authorizon/opal/actions?query=workflow%3ATests" target="_blank">
13-
<img src="https://github.com/authorizon/opal/workflows/Tests/badge.svg" alt="Tests">
12+
<a href="https://github.com/permitio/opal/actions?query=workflow%3ATests" target="_blank">
13+
<img src="https://github.com/permitio/opal/workflows/Tests/badge.svg" alt="Tests">
1414
</a>
1515
<a href="https://pypi.org/project/opal-server/" target="_blank">
1616
<img src="https://img.shields.io/pypi/v/opal-server?color=%2331C654&label=OPAL%20Server%20%28PyPi%29" alt="Package">
@@ -60,21 +60,21 @@ OPAL is available both as **python packages** with a built-in CLI as well as pre
6060
<!-- - this tutorial is great for learning about OPAL core features and see what OPAL can do for you. -->
6161
* [Try the getting started guide for containers](docs/HOWTO/get_started_with_opal_using_docker.md)
6262
<!-- - this tutorial will show you how to configure OPAL to your specific needs and run the official docker containers locally or in production. -->
63-
* [Check out the Helm Chart for Kubernetes](https://github.com/authorizon/opal-helm-chart)
63+
* [Check out the Helm Chart for Kubernetes](https://github.com/permitio/opal-helm-chart)
6464

6565
### Getting started with the python packages and CLI
6666
- Install
67-
- ```pip install opal-client```
68-
- ```pip install opal-server```
67+
- ```pip install opal-client```
68+
- ```pip install opal-server```
6969
- Run server (example):
7070
```sh
71-
# Run server
71+
# Run server
7272
# in secure mode -verifying client JWTs (Replace secrets with actual secrets ;-) )
73-
export OPAL_AUTH_PRIVATE_KEY=~/opal
74-
export OPAL_AUTH_PUBLIC_KEY=~/opal.pub
73+
export OPAL_AUTH_PRIVATE_KEY=~/opal
74+
export OPAL_AUTH_PUBLIC_KEY=~/opal.pub
7575
export OPAL_AUTH_MASTER_TOKEN="RANDOM-SECRET-STRING"
7676
# Watching a GIT repository from a webhook
77-
export OPAL_POLICY_REPO_URL=https://github.com/authorizon/opal-example-policy-repo.git
77+
export OPAL_POLICY_REPO_URL=https://github.com/permitio/opal-example-policy-repo.git
7878
export OPAL_POLICY_REPO_WEBHOOK_SECRET="RANDOM-SECRET-STRING-SHARED-WITH-GITHUB"
7979
opal-server run
8080
```
@@ -101,8 +101,8 @@ OPAL is available both as **python packages** with a built-in CLI as well as pre
101101

102102
### <a name="why-use-opal"></a> Why use OPAL
103103
- OPAL is the easiest way to keep your solution's authorization layer up-to-date in realtime.
104-
- OPAL aggregates policy and data from across the field and integrates them seamlessly into the authorization layer.
105-
- OPAL is microservices and cloud-native (see [key concepts](#key-concepts) below)
104+
- OPAL aggregates policy and data from across the field and integrates them seamlessly into the authorization layer.
105+
- OPAL is microservices and cloud-native (see [key concepts](#key-concepts) below)
106106
107107
### Why OPA + OPAL == 💪 💜
108108
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.
@@ -112,15 +112,15 @@ OPAL runs in the background, supercharging policy-agents, keeping them in sync w
112112
- A Policy Engine:
113113
- OPAL uses a policy-engine, but isn't one itself
114114
- Check out <a href="https://www.openpolicyagent.org/" target="_blank">Open-Policy-Agent</a>, and <a href="https://www.osohq.com/" target="_blank">OSO</a>
115-
116-
- Large scale Global FGA:
115+
116+
- Large scale Global FGA:
117117
- Currently OPAL is not meant for managing ridiculous (>100GB) amounts of data within one layer. Though it can complement a CDN to achieve a similar result - [see below](#large-scale-fga).
118118
- Check out <a href="https://research.google/pubs/pub48190/" target="_blank">Google-Zanzibar</a>
119-
120-
- Fullstack authorization:
119+
120+
- Fullstack authorization:
121121
- OPAL and OPA essentially provide microservices for authorization
122-
- Developers still need to add control interfaces on top (e.g. user-management, api-key-management, audit, impersonation, invites) both as APIs and UIs
123-
- Check out <a href="https://authorizon.com" target="_blank">**auth**orizon</a>
122+
- Developers still need to add control interfaces on top (e.g. user-management, api-key-management, audit, impersonation, invites) both as APIs and UIs
123+
- Check out <a href="https://permit.io" target="_blank">Permit.io</a>
124124

125125

126126
## <a name="architecture"></a>📡 Architecture
@@ -130,7 +130,7 @@ OPAL runs in the background, supercharging policy-agents, keeping them in sync w
130130

131131
See a [more detailed diagram](https://i.ibb.co/kGc9nDd/main.png)
132132
- ### OPAL consists of two key components that work together:
133-
1. OPAL Server
133+
1. OPAL Server
134134
- Creates a Pub/Sub channel clients subscribe to
135135
- Tracks a git repository (via webhook / polling) for updates to policy (or static data)
136136
- Additional versioned repositories can be supported (e.g. S3, SVN)
@@ -140,9 +140,9 @@ See a [more detailed diagram](https://i.ibb.co/kGc9nDd/main.png)
140140

141141
2. OPAL Client
142142
- Deployed alongside a policy-agent, and keeping it up to date
143-
- Subscribes to Pub/Sub updates, based on topics for data and policy
143+
- Subscribes to Pub/Sub updates, based on topics for data and policy
144144
- Downloads data-source configurations from server
145-
- Fetches data from multiple sources (e.g. DBs, APIs, 3rd party services)
145+
- Fetches data from multiple sources (e.g. DBs, APIs, 3rd party services)
146146
- Downloads policy from server
147147
- Keeps policy agents up to date
148148

@@ -184,19 +184,19 @@ See a [more detailed diagram](https://i.ibb.co/kGc9nDd/main.png)
184184
OPAL is built on the shoulders of open-source giants, including:
185185
- [Open Policy Agent](https://www.openpolicyagent.org/)- the default policy agent managed by OPAL.
186186
- [FastAPI](https://github.com/tiangolo/fastapi) - the ASGI API framework used by OPAL-servers and OPAL-clients.
187-
- [FastAPI Websocket PubSub](https://github.com/authorizon/fastapi_websocket_pubsub) - powering the live realtime update channels
187+
- [FastAPI Websocket PubSub](https://github.com/permitio/fastapi_websocket_pubsub) - powering the live realtime update channels
188188
- [Broadcaster](https://pypi.org/project/broadcaster/) allowing syncing server instances through a backend backbone (e.g. Redis, Kafka)
189189

190190
## <a name="design"></a> 🎨 Design choices
191191

192192
- ### Networking
193-
- OPAL creates a highly efficient communications channel using [websocket Pub/Sub connections](https://github.com/authorizon/fastapi_websocket_pubsub) to subscribe to both data and policy updates. This allows OPAL clients (and the services they support) to be deployed anywhere - in your VPC, at the edge, on-premises, etc.
193+
- OPAL creates a highly efficient communications channel using [websocket Pub/Sub connections](https://github.com/permitio/fastapi_websocket_pubsub) to subscribe to both data and policy updates. This allows OPAL clients (and the services they support) to be deployed anywhere - in your VPC, at the edge, on-premises, etc.
194194
- By using **outgoing** websocket connections to establish the Pub/Sub channel most routing/firewall concerns are circumnavigated.
195195
- Using Websocket connections allows network connections to stay idle most of the time, saving CPU cycles for both clients and servers (especially when comparing to polling-based methods).
196196

197197
- ### Implementation with Python
198198
- OPAL is written completely in Python3 using asyncio, FastAPI and Pydantic.
199-
OPAL was initially created as a component of [**auth**orizon.com](https://www.authorizon.com), and we've chosen Python for development speed, ease of use and extensibility (e.g. fetcher providers).
199+
OPAL was initially created as a component of [Permit.io](https://permit.io), and we've chosen Python for development speed, ease of use and extensibility (e.g. fetcher providers).
200200
- Python3 with coroutines (Asyncio) and FastAPI has presented [significant improvements for Python server performance](https://www.techempower.com/benchmarks/#section=test&runid=7464e520-0dc2-473d-bd34-dbdfd7e85911&hw=ph&test=composite&a=2&f=zik0zj-qmx0qn-zhwum7-zijx1b-z8kflr-zik0zj-zik0zj-zijunz-zik0zj-zik0zj-zik0zj-1kv). While still not on par with Go or Rust - the results match and in some cases even surpass Node.js.
201201
202202
- ### Performance
@@ -214,7 +214,7 @@ OPAL is built on the shoulders of open-source giants, including:
214214
- OPAL was built initially with OPA in mind, and OPA is mostly a first-class citizen in OPAL. That said OPAL can support various and multiple policy agents, even in parallel - allowing developers to choose the best policy agent for their needs.
215215

216216
- ### <a name="large-scale-fga"></a> FGA, large scale / global authorization (e.g. Google Zanzibar)
217-
- OPAL is built for fine grained authorizon (FGA), allowing developers to aggregate all and any data they need and restructure it for the authorization layer.
217+
- OPAL is built for fine grained authorization (FGA), allowing developers to aggregate all and any data they need and restructure it for the authorization layer.
218218
- OPAL achieves this by making sure each policy-agent is loaded with only the data it needs via topic subscriptions (i.e: data focus and separation).
219219
- Examples of data separation: the back-office service doesn't need to know about customer users, a tenant specific service doesn't need the user list of other tenants, ...
220220
- That said OPAL is still limited by OPA's [resource utilization capacity](https://www.openpolicyagent.org/docs/latest/policy-performance/#resource-utilization).
@@ -228,22 +228,22 @@ OPAL is built on the shoulders of open-source giants, including:
228228
- If you'd like to use OPAL or some of its underlying modules for other update cases - please contact us (See below), we'd love to help you do that.
229229
230230
- ### Administration capabilities and UI
231-
- We've already built policy editors, back-office, frontend-embeddable interfaces, and more as part of [**auth**orizon.com](https://www.authorizon.com).
232-
- We have plans to migrate more parts of [**auth**orizon.com](https://www.authorizon.com) to be open-source; please let us know what you'd like to see next.
231+
- We've already built policy editors, back-office, frontend-embeddable interfaces, and more as part of [Permit.io](https://permit.io).
232+
- We have plans to migrate more parts of [Permit.io](https://permit.io) to be open-source; please let us know what you'd like to see next.
233233
# <a name="community"></a>
234234
235-
## Joining the community
236-
- We are eager to hear from you 😃
237-
- Raise questions and ask for features to be added to the road-map in our [Github discussions](https://github.com/authorizon/opal/discussions)
238-
- Report issues in [Github issues](https://github.com/authorizon/opal/issues)
235+
## Joining the community
236+
- We are eager to hear from you 😃
237+
- Raise questions and ask for features to be added to the road-map in our [Github discussions](https://github.com/permitio/opal/discussions)
238+
- Report issues in [Github issues](https://github.com/permitio/opal/issues)
239239
- Chat with us in our [Slack community](https://join.slack.com/t/opal-access/shared_invite/zt-nz6yjgnp-RlP9rtOPwO0n0aH_vLbmBQ)
240240
241241
## Contacting us (the authors)
242242
- We love talking about authorization, open-source, realtime communication, and tech in general.
243-
- Feel free to reach out to us on our [GitHub discussions](https://github.com/authorizon/opal/discussions) or directly over [email](mailto:or@authorizon.com).
243+
- Feel free to reach out to us on our [GitHub discussions](https://github.com/permitio/opal/discussions) or directly over [email](mailto:or@permit.io).
244244
## Contributing to OPAL
245245
- Pull requests are welcome! (please make sure to include *passing* tests and docs)
246-
- Prior to submitting a PR - open an issue on GitHub, or make sure your PR addresses an existing issue well.
246+
- Prior to submitting a PR - open an issue on GitHub, or make sure your PR addresses an existing issue well.
247+
248+
247249
248-
249-

docker/docker-compose-api-policy-source-example.yml

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ services:
1313
- POSTGRES_USER=postgres
1414
- POSTGRES_PASSWORD=postgres
1515

16-
1716
opal_server:
1817
# by default we run opal-server from latest official image
1918
image: authorizon/opal-server:latest
@@ -33,7 +32,7 @@ services:
3332
- OPAL_POLICY_REPO_CLONE_PATH=~/opal
3433
# in this example we will use a polling interval of 30 seconds to check for new policy updates (new bundle files).
3534
# however, it is better to utilize a api *webhook* to trigger the server to check for changes only when the bundle server has new bundle.
36-
# for more info see: https://github.com/authorizon/opal/blob/master/docs/HOWTO/track_an_api_bundle_server.md
35+
# for more info see: https://github.com/permitio/opal/blob/master/docs/HOWTO/track_an_api_bundle_server.md
3736
- OPAL_POLICY_REPO_POLLING_INTERVAL=30
3837
# configures from where the opal client should initially fetch data (when it first goes up, after disconnection, etc).
3938
# the data sources represents from where the opal clients should get a "complete picture" of the data they need.
@@ -46,7 +45,6 @@ services:
4645
depends_on:
4746
- broadcast_channel
4847

49-
5048
opal_client:
5149
# by default we run opal-client from latest official image
5250
image: authorizon/opal-client:latest
@@ -73,9 +71,8 @@ services:
7371
image: nginx
7472
# expose internal port 80 to localhost 8000
7573
ports:
76-
- 8000:80
74+
- 8000:80
7775
# map files into the docker to edit nginx conf and put the bundle files into the container
7876
volumes:
79-
- ./docker_files/bundle_files:/usr/share/nginx/html
80-
- ./docker_files/nginx.conf:/etc/nginx/nginx.conf
81-
77+
- ./docker_files/bundle_files:/usr/share/nginx/html
78+
- ./docker_files/nginx.conf:/etc/nginx/nginx.conf

docker/docker-compose-example.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,11 @@ services:
2323
# the git repo hosting our policy
2424
# - if this repo is not public, you can pass an ssh key via `OPAL_POLICY_REPO_SSH_KEY`)
2525
# - the repo we pass in this example is *public* and acts as an example repo with dummy rego policy
26-
# - for more info, see: https://github.com/authorizon/opal/blob/master/docs/HOWTO/track_a_git_repo.md
27-
- OPAL_POLICY_REPO_URL=https://github.com/authorizon/opal-example-policy-repo
26+
# - for more info, see: https://github.com/permitio/opal/blob/master/docs/HOWTO/track_a_git_repo.md
27+
- OPAL_POLICY_REPO_URL=https://github.com/permitio/opal-example-policy-repo
2828
# in this example we will use a polling interval of 30 seconds to check for new policy updates (git commits affecting the rego policy).
2929
# however, it is better to utilize a git *webhook* to trigger the server to check for changes only when the repo has new commits.
30-
# for more info see: https://github.com/authorizon/opal/blob/master/docs/HOWTO/track_a_git_repo.md
30+
# for more info see: https://github.com/permitio/opal/blob/master/docs/HOWTO/track_a_git_repo.md
3131
- OPAL_POLICY_REPO_POLLING_INTERVAL=30
3232
# configures from where the opal client should initially fetch data (when it first goes up, after disconnection, etc).
3333
# the data sources represents from where the opal clients should get a "complete picture" of the data they need.

docker/docker-compose-with-callbacks.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,11 @@ services:
2323
# the git repo hosting our policy
2424
# - if this repo is not public, you can pass an ssh key via `OPAL_POLICY_REPO_SSH_KEY`)
2525
# - the repo we pass in this example is *public* and acts as an example repo with dummy rego policy
26-
# - for more info, see: https://github.com/authorizon/opal/blob/master/docs/HOWTO/track_a_git_repo.md
27-
- OPAL_POLICY_REPO_URL=https://github.com/authorizon/opal-example-policy-repo
26+
# - for more info, see: https://github.com/permitio/opal/blob/master/docs/HOWTO/track_a_git_repo.md
27+
- OPAL_POLICY_REPO_URL=https://github.com/permitio/opal-example-policy-repo
2828
# in this example we will use a polling interval of 30 seconds to check for new policy updates (git commits affecting the rego policy).
2929
# however, it is better to utilize a git *webhook* to trigger the server to check for changes only when the repo has new commits.
30-
# for more info see: https://github.com/authorizon/opal/blob/master/docs/HOWTO/track_a_git_repo.md
30+
# for more info see: https://github.com/permitio/opal/blob/master/docs/HOWTO/track_a_git_repo.md
3131
- OPAL_POLICY_REPO_POLLING_INTERVAL=30
3232
# configures from where the opal client should initially fetch data (when it first goes up, after disconnection, etc).
3333
# the data sources represents from where the opal clients should get a "complete picture" of the data they need.

docker/docker-compose-with-security.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,11 @@ services:
2525
# the git repo hosting our policy
2626
# - if this repo is not public, you can pass an ssh key via `OPAL_POLICY_REPO_SSH_KEY`)
2727
# - the repo we pass in this example is *public* and acts as an example repo with dummy rego policy
28-
# - for more info, see: https://github.com/authorizon/opal/blob/master/docs/HOWTO/track_a_git_repo.md
29-
- OPAL_POLICY_REPO_URL=https://github.com/authorizon/opal-example-policy-repo
28+
# - for more info, see: https://github.com/permitio/opal/blob/master/docs/HOWTO/track_a_git_repo.md
29+
- OPAL_POLICY_REPO_URL=https://github.com/permitio/opal-example-policy-repo
3030
# in this example we will use a polling interval of 30 seconds to check for new policy updates (git commits affecting the rego policy).
3131
# however, it is better to utilize a git *webhook* to trigger the server to check for changes only when the repo has new commits.
32-
# for more info see: https://github.com/authorizon/opal/blob/master/docs/HOWTO/track_a_git_repo.md
32+
# for more info see: https://github.com/permitio/opal/blob/master/docs/HOWTO/track_a_git_repo.md
3333
- OPAL_POLICY_REPO_POLLING_INTERVAL=30
3434
# server secure mode
3535
# in order to run in "secure mode", meaning OPAL server will authenticate all API requests

docker/docker-compose-with-statistics.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,11 @@ services:
2323
# the git repo hosting our policy
2424
# - if this repo is not public, you can pass an ssh key via `OPAL_POLICY_REPO_SSH_KEY`)
2525
# - the repo we pass in this example is *public* and acts as an example repo with dummy rego policy
26-
# - for more info, see: https://github.com/authorizon/opal/blob/master/docs/HOWTO/track_a_git_repo.md
27-
- OPAL_POLICY_REPO_URL=https://github.com/authorizon/opal-example-policy-repo
26+
# - for more info, see: https://github.com/permitio/opal/blob/master/docs/HOWTO/track_a_git_repo.md
27+
- OPAL_POLICY_REPO_URL=https://github.com/permitio/opal-example-policy-repo
2828
# in this example we will use a polling interval of 30 seconds to check for new policy updates (git commits affecting the rego policy).
2929
# however, it is better to utilize a git *webhook* to trigger the server to check for changes only when the repo has new commits.
30-
# for more info see: https://github.com/authorizon/opal/blob/master/docs/HOWTO/track_a_git_repo.md
30+
# for more info see: https://github.com/permitio/opal/blob/master/docs/HOWTO/track_a_git_repo.md
3131
- OPAL_POLICY_REPO_POLLING_INTERVAL=30
3232
# configures from where the opal client should initially fetch data (when it first goes up, after disconnection, etc).
3333
# the data sources represents from where the opal clients should get a "complete picture" of the data they need.

0 commit comments

Comments
 (0)