The integration catalog contains a list of connectors that represent possible application integrations and provides a set of available operations that can be performed on them. It serves as a central point for managing application integrations, allowing users to easily browse, upload, or download existing connectors.
Make sure you have installed:
- Docker
- Docker Compose (v2+)
Also, verify that the following secret files exist in docker/secrets/:
- db_password.txt
- github_token.txt
- jenkins_token.txt
- jenkins_username.txt
cd dockerThis folder contains docker-compose.yml and entrypoint scripts.
docker-compose up --build--buildensures that Angular frontend and Spring Boot backend are rebuilt.- Two containers will start:
db→ PostgreSQL database (with init scripts executed automatically)integration-catalog→ Spring Boot application with Angular 19.2.11 frontend
- Spring Boot app: http://localhost:8080
- PostgreSQL database: port
5432
Check logs:
docker-compose logs -f integration-catalog
docker-compose logs -f db- Stop containers:
docker-compose down- To remove persistent DB data and restart clean:
docker-compose down -v
docker-compose up --build- The application reads secrets from the mounted secret files and sets them as environment variables automatically.
- SQL scripts in
config/sql/is executed only on the first database initialization.
The database schema version is tracked in the database_version table (the current version
is the highest version row). On startup the application compares it with the version it
requires (DatabaseSchemaVersionValidator.REQUIRED_VERSION) and refuses to start with a clear
error message when the database is outdated (or newer than the application build).
- Fresh database:
config/sql/postgres.sqlcreates the schema already at the current version. In Docker this happens automatically on the first start of thedbcontainer. - Existing database: re-run the whole cumulative upgrade script:
psql -v ON_ERROR_STOP=1 -U integration_catalog -d integration_catalog -f config/sql/postgres-upgrade.sqlThe script has one section per schema version and is safe to run repeatedly. From
version 5 on, each section is a call apply_change(N, ...) that executes only when the
database version is lower than N, records the version row and commits — the SQL inside
no longer has to be idempotent. Use plain psql (not pgAdmin or other tools with their
own transaction handling): apply_change commits internally, which fails inside a
wrapping transaction block.
- Append a new
-- region version N: <name>section toconfig/sql/postgres-upgrade.sql:If a statement depends on a previous one being committed (typicallycall apply_change(N, '<short description>', $aa$ <any SQL, does not have to be idempotent> $aa$);
ALTER TYPE ... ADD VALUEfollowed by a use of the new value), split them into twoapply_changecalls (two versions). - Make the same change in
config/sql/postgres.sqland bump the version inserted at the end of that script. - Bump
REQUIRED_VERSIONinDatabaseSchemaVersionValidator.
This project is licensed under European Union Public License.