Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/dolevf/Open-Policy-Agent-Alfred

Reasonably Usable Self-hosted Version of OPA's Playground
https://github.com/dolevf/Open-Policy-Agent-Alfred

Last synced: 24 days ago
JSON representation

Reasonably Usable Self-hosted Version of OPA's Playground

Awesome Lists containing this project

README

        


Alfred

# Table of Contents
* [About](#about)
* [Features](#features)
* [Screenshot](#screenshot)
* [Install](#how-to-install)
* [Installation - Docker](#docker)
* [Installation - Docker Registry](#docker-registry)
* [Installation - Server](#server)
* [Maintainers](#maintainers)
* [License](#license)

# OPA Alfred
Reasonably usable self-hosted version of OPA's Playground

# About
Ever wanted to have your own version of [OPA's Playground](https://play.openpolicyagent.org)? now it's possible with a reasonably usable version of the original Playground, called Alfred!

# Features
- Syntax Highlighting
- Policy Publishing
- Coverage Highlighting
- Data / Input / Policy Editor
- Restrict Execution of Builtins, such as: `http.send` or `opa.runtime`
- Download Policy as File / Copy to Clipboard

# Screenshot


Alfred

# Configuration
There is not a whole lot of configurations required for Alfred. If you want to restrict certain builtins from running in policies, you can do so in `config.py`:

```
RESTRICTED_BUILTINS = [
'http.send',
'opa.runtime'
]
```

By default, all builtins are allowed.

# How to Install
## Clone repository
`git clone https://github.com/dolevf/Open-Policy-Agent-Alfred`

`cd Open-Policy-Agent-Alfred`

## Docker
### Build Docker Image
`docker build -t alfred .`

### Run Alfred Container
`docker run -d -p 5000:5000 alfred`

## Docker Registry
### Pull Alfred from Registry
`docker pull dolevf/alfred`

### Run Alfred Container
`docker run -d -p 5000:5000 dolevf/alfred`

## Server
### Install requirements

`pip3 install -r requirements.txt`

### Download OPA binary
For Linux:

`curl -L -o bin/opa https://openpolicyagent.org/downloads/latest/opa_linux_amd64_static`

For MacOSX:

`curl -L -o bin/opa https://openpolicyagent.org/downloads/latest/opa_darwin_amd64`

### Set permissions
`chmod u+x bin/opa`

### Run Alfred
`python3 alfred.py`

# Open Alfred
[http://localhost:5000](http://localhost:5000)

# Maintainers
- Dolev Farhi

# License
It is distributed under the MIT License. See LICENSE for more information.