Comment on page
Installation
Learn how to run PACE in your local environment
There are several ways to run PACE – including starting the Spring Boot application from your IDE – but the easiest way to run it, is via Docker. This way, no JVM is needed, and a REST interface to PACE is included out of the box (whereas the standalone Spring Boot application only exposes a gRPC interface).
This document focuses on getting PACE up and running on your local machine. We will discuss other environments – such as Kubernetes – elsewhere in the documentation.
Before you get started, make sure you've installed the following tools:
The relative location of the files created in the rest of this document can be seen as titles in the respective code blocks.
The following config is used for configuring your PACE application. If you use your own Postgres instance, modify accordingly.
config/application.yaml
1
spring:
2
datasource:
3
url: jdbc:postgresql://postgres:5432/postgres
4
hikari:
5
username: postgres
6
password: postgres
7
schema: public
If you're not familiar with JVM / Spring Boot applications,
hikari
is a widely adopted connection pooling library.Create the following
docker-compose.yaml
in the parent directory of where you created config/application.yaml
.Extra Spring Boot configuration is configured to be read from an**
/app/config
**volume. Be sure to add all relevant Spring Boot configuration files there. The below setup mounts the config dir to this volume.docker-compose.yaml
1
version: '3.5'
2
3
services:
4
postgres:
5
container_name: pace_postgres
6
image: postgres
7
environment:
8
POSTGRES_USER: postgres
9
POSTGRES_PASSWORD: postgres
10
PGDATA: /data/postgres
11
volumes:
12
- postgres:/data/postgres
13
ports:
14
- "5432:5432"
15
networks:
16
- postgres
17
18
pace:
19
container_name: pace
20
# you may want to update the image to the latest version
21
image: ghcr.io/getstrm/pace:1.0.0-alpha.7
22
volumes:
23
- ./config/:/app/config/
24
25
ports:
26
- "8080:8080" # Spring Boot
27
- "9090:9090" # Envoy JSON / gRPC Proxy
28
- "50051:50051" # gRPC
29
networks:
30
- postgres
31
32
networks:
33
postgres:
34
driver: bridge
35
36
volumes:
37
postgres:
38
If you are already logged in to ghcr.io with Docker, you can skip this step. If not, or if you get an unauthorized exception during the next step, you most likely need to do follow the GitHub Authentication instructions.
To start pace, execute
docker compose up
in the directory containing your docker-compose.yaml
file. You should see the Spring Boot startup logs, which will end with Started PaceApplicationKt [...]
, if all went well.Next up, you can start interacting with your PACE instance, by accessing the REST interface, gRPC interface or through the CLI. Here's an example listing the available Data Catalog integrations through the REST interface:
CLI
curl
pace list catalogs -o table
ID TYPE
COLLIBRA-testdrive COLLIBRA
datahub-on-dev DATAHUB
curl --silent http://localhost:9090/catalogs | jq
{
"catalogs": [
{
"id": "COLLIBRA-testdrive",
"type": "COLLIBRA",
"databases": [],
"tags": []
},
{
"id": "datahub-on-dev",
"type": "DATAHUB",
"databases": [],
"tags": []
}
]
}
Since we have not configured any catalogs, the result is not particularly interesting, though it confirms that your PACE instance is running correctly.
In order to put your PACE instance to good use, you'll need to add at least one Processing Platform. Optionally connect it to a Data Catalog, in order to use table definitions from the data catalog as a starting point for defining policies.
Last modified 15d ago