A Gradle project (in ./policygen) for generating random Cedar policies for testing purposes.
Gradle projects in ./rsvp:
app: Java CLI (currently just placeholder, not useful)webserver: Spring Boot web server for interacting with the React web interface (runs in conjunction with the React application in./webapp)policy-ast: AST library for modelling policies and schemas in Javapolicy-dl: Datalog encoding of Cedar policiessupport: library with common interfaces/classes between other componentsverification: library to perform verification checks and generate reports (to be consumed by the web application, for example)
React application (in ./webapp) provides a GUI for running queries using the Java libraries
and displaying the resulting reports in a user-friendly way.
A Gradle project (in ./childrenclinic) for a Spring Boot application based on Spring PetClinic to demonstrate Cedar.
The prototype consists of several Java libraries, two Java command line applications and a web application. These instructions are for running verification via the web application.
Note
Although the tooling is cross-platform, it has been tested on only Linux and macOS. There
is no guarantee that it will run correctly on Windows.
The instructions below assume a bash or zsh terminal running in the root directory of the
repository.
-
Ensure you have Java Development Kit 21 or later installed
java -versionInstall from Oracle or elsewhere, if required.
-
Install Soufflé
-
Ubuntu (via APT)
wget https://github.com/souffle-lang/souffle/releases/download/2.5/x86_64-ubuntu-2404-souffle-2.5-Linux.deb sudo apt install ./x86_64-ubuntu-2404-souffle-2.5-Linux.deb -
macOS (via Homebrew)
brew install souffle -
Other downloads from their GitHub releases page
-
-
Build the Java libraries and start the web server back-end
./rsvp/gradlew -p ./rsvp :webserver:bootRun -
For further instructions on the Java tooling, see rsvp/README.md.
Note
The application has been tested using only Firefox. Some additional issues have been detected in Google Chrome, so it is suggested that Firefox be used to access the web application.
-
Ensure you have Node.js 24 installed
node -vInstall Node.js, if required
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.5/install.sh | bash nvm install 24More detailed instructions can be found in the npm documentation.
-
Enable pnpm
corepack enable pnpm -
Install project dependencies using pnpm
pnpm --dir ./webapp install -
Build the application
pnpm --dir ./webapp build -
Run the front-end web server
pnpm --dir ./webapp start -
Access the web application by navigating to http://localhost:3000 in Firefox.
-
For further instructions on the web application front-end, see webapp/README.md.