Installation
ADM is a Java web application that can either be run via a Docker container package or run as a jar-file from the command line.
Running ADM in a Docker container
Note: This assumes that Docker is already installed, and that the ADM distribution .zip file has been downloaded.
Installing the application
- Extract the distribution .zip file to the folder from where you want to run ADM.
- Navigate to the
docker/
folder of the extracted distribution. - Open the file
credentials.txt
in a text editor. - Update the placeholder values for Access key ID and Secret access key with the values provided by Axiomatics. (These are the same values that were use in setting up AWS CLI.)
- Save and close
credentials.txt
. - Run
docker-compose up --build
on the same folder. This starts the installation process.
Note: This step of the installation requires an Internet connection as some components will be downloaded from a secure Axiomatics repository during the process.
When the "Authorization Domain Manager" banner is displayed in the console, the installation is finished and the application is running.
Stopping the application
The application will run in the foreground, thus using CTRL+C
will stop the Docker containers and the application will shut down.
Restarting the application
To restart the application, navigate to the docker/
folder inside of the distribution and run:
docker-compose up
Running ADM on the command line
Before running the command to start ADM, the following items must also be set up and available.
- The Authorization Domain Manager jar file. See Preparing to install ADM.
- A deployment configuration file. See the section Deployment configuration for a description of the various settings of the deployment configuration file.
- A user configuration file. This file is referenced in the deployment configuration file, and necessary for user authentication. See Authentication for a description of this configuration.
- Access to a PostgreSQL database for storage (including JDBC drivers).
Starting the application
ADM is a Java application and needs to be started with the required resources added to the classpath.
On Windows:
java -cp "authorization-domain-manager-<version>.jar;JDBC.jar" com.axiomatics.domainmanager.App server <path\to\>deployment.yaml
On Linux:
java -cp authorization-domain-manager-<version>.jar:JDBC.jar com.axiomatics.domainmanager.App server <path/to/>deployment.yaml
The main class is com.axiomatics.domainmanager.App.
Note: 1. When adding a jar file to the classpath, all of its dependencies must be included. 2. When using the classpath option to retrieve files, the files must either be packaged in a jar or zip file, or accessed using the directory reference to where the file is located.
When the "Authorization Domain Manager" banner is displayed in the console, the application is running.
Configuration validation
The check command parses and validates the configuration of the application.
java -jar authorization-domain-manager-<version>.jar check <path/to/>deployment.yaml
It can be used to verify that the deployment configuration file and the user file are correct.
By default, errors are output to stderr, for example:
<path/to/>deployment.yaml has an error:
* auth Authentication configuration is missing
If no errors are found, an OK message is given.
Checking that ADM is running
To verify that everything is running smoothly, you can run a simple healthcheck by running a GET request:
GET http://localhost:8081/healthcheck
This will result in Status: 200 OK and a JSON reply, like the following:
{
"DomainManager": {
"healthy": true,
...
},
"deadlocks": {
"healthy": true,
...
},
"postgresql": {
"healthy": true,
...
}
}
Next steps
- The instructions above assume ADM is started with a basic deployment configuration file. This file can be further edited to adapt to your configuration requirements. See the section Deployment configuration for more information.
- There are also additional configurations you may want to consider for your implementation of ADM. See the section Additional configuration for more information.