Skip to main content
Version: 1.1

Installation and upgrade

This topic will guide you through the installation of Axiomatics Policy DevOps (APD). Before you start, make sure you have the following requirements:

  • Java 17 or later
  • Git
  • Internet access
  • Axiomatics S3 credentials
  • an IDE (optional, but Visual Studio Code is recommended)
  • Axiomatics Decision Service (ADS) license (optional)
  • Docker (optional)

Installation and configuration

Follow these steps to get started with the Axiomatics Policy DevOps:

  1. Clone the APD project from GitHub.

    git clone https://github.com/axiomatics/axiomatics-policy-devops
    note

    If you are asked for credentials, log in with the credentials provided by Axiomatics.

  2. Navigate to the cloned repository and configure the repository key for accessing the Axiomatics Maven repository in the gradle.properties file.

    gradle.properties
       AXIOMATICS_ACCESS_KEY_ID=<key_id>
    AXIOMATICS_SECRET_ACCESS_KEY=<access_key>
  1. If you have an ADS license, copy it to the license directory.

    ADS versionFilename
    ADS 1axiomatics_PDP.license
    ADS 2axiomatics_ADS.license

Project structure

The APD project has the following structure:

Directory/FileDescription
buildSrcContains internal scripts for bootstrapping the project. Should not be modified.
extra/exampleRequests/Provides examples of sending requests using curl.
gradle/Gradle internal files. Should not be modified.
license/The directory for your Axiomatics ADS license file.
src/authorizationDomainFetches the attribute connector configuration as outlined in the Authorization domain V2 directory layout convention.
src/testContains your Java-based tests for policies and attribute connectors.
src/extraContains additional files required by ADS or during test execution, such as ADS 1.x and 2.x deployment.yaml files, and keystores/truststores.
build.gradleThe Gradle build script for configuring the project.
📦alfa                               
┣ 📂build 📖 Temporary directory with outputs
┣ 📂buildSrc ⛔ Axiomatics internal bootstrapping scripts
┣ 📂extra 📖 Extra resources
┃ ┗ 📂exampleRequests Provides examples of sending requests using curl
┣ 📂gradle ⛔ Gradle internal bootstrapping scripts
┣ 📂license ✍ Axiomatics software licenses directory
┣ 📂src Source code directory
┃ ┣ 📂authorizationDomain Authorization domain source code directory
┃ ┃ ┣ 📂alfaSpecifications ✍ ALFA policies
┃ ┃ ┣ 📂attributeConnectors ✍ Attribute connectors
┃ ┃ ┣ 📜attributeCache.yaml ✍ Attribute cache settings
┃ ┃ ┣ 📜attributes.yaml ✍ Attribute dictionary
┃ ┃ ┣ 📜decisionParameters.yaml ✍ ADS evaluation parameters
┃ ┃ ┣ 📜identity.yaml Authorization Domain identifier, override automatic identity based on Git
┃ ┃ ┗ 📜metadata.yaml ✍ Authorization Domain metadata
┃ ┣ 📂extra ✍ Runtime resources (keystores, trustores, scripts)
┃ ┗ 📂test Test source code directory
┃ ┣ 📂java ✍ ALFA JUnit tests
┃ ┗ 📂resources ✍ Test resources
┣ 📜build.gradle ✍ Project build definition
┣ 📜deployment.yaml ✍ ADS deployment descriptor
┣ 📜Dockerfile ✍ Dockerfile to build ADS service
┣ 📜gradle.properties ✍ Axiomatics Maven repository credentials
┣ 📜gradlew ⛔ Gradle internal bootstrapping scripts
┣ 📜gradlew.bat ⛔ Gradle internal bootstrapping scripts
┣ 📜headers.json ✍ Optional HTTP headers to ADS sample
┣ 📜README.md ✍ Project information
┗ 📜settings.gradle ✍ Project settings

---

Legend:
✍ File or directory that you'll likely modify or add to.
📖 File or directory containing output (read-only).
⛔ File or directory you should avoid modifying.
tip

For full reference of the Authorization Domain layout, read the Authorization Domain layout section.

Upgrade

Upgrade APD by pulling the latest changes from the Git repository:

git pull