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.

Prerequisites

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.

Create a basic PACE configuration

The following config is used for configuring your PACE application. If you use your own Postgres instance, modify accordingly.

config/application.yaml
spring:
  datasource:
    url: jdbc:postgresql://postgres:5432/postgres
    hikari:
      username: postgres
      password: postgres
      schema: public

If you're not familiar with JVM / Spring Boot applications, hikari is a widely adopted connection pooling library.

Create a Docker Compose setup

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
version: '3.5'

services:
  postgres:
    container_name: pace_postgres
    image: postgres
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: postgres
      PGDATA: /data/postgres
    volumes:
      - postgres:/data/postgres
    ports:
      - "5432:5432"
    networks:
      - postgres

  pace:
    container_name: pace
    image: ghcr.io/getstrm/pace:latest-alpha
    volumes:
      - ./config/:/app/config/

    ports:
      - "8080:8080" # Spring Boot
      - "9090:9090" # Envoy JSON / gRPC Proxy
      - "50051:50051" # gRPC
    networks:
      - postgres

networks:
  postgres:
    driver: bridge

volumes:
  postgres:

Start interacting with your PACE instance

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:

pace list catalogs -o table
 ID                       TYPE

 COLLIBRA-testdrive   COLLIBRA
 datahub-on-dev        DATAHUB

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 updated