Skip to main content

Collibra Connector

The Collibra connector enables you to extract data about your catalogs and models from AtScale, then upload and use it in the Collibra data catalog.

Note

To obtain the latest version of the Collibra connector, open a support ticket with AtScale.

The following sections describe how to set up and run the Collibra connector.

Prerequisites

  • You have a data catalog API-enabled AtScale license.
  • You obtained the latest Collibra connector from AtScale Support.
  • You have a development system with Maven, IntelliJ IDEA, and Git installed.
  • You know the user names and passwords for accessing the APIs for AtScale and Collibra.

Extract the Collibra connector .zip file

Once you have obtained the Collibra connector, extract the .zip file on your machine. The contents should look like the following:

1. atscale-to-collibra-integration-boot-1.4.1/ 
├── logs / # logs directory
├── config/
│ └── application.properties # configuration
├── lib/
│ └── atscale-to-collibra-integration-1.4.1
├── bin/
└── update_metadata.sh
└── atscale-to-collibra-integration.bat # For windows
└── atscale-to-collibra-integration # For Linux and MAC

Configure the Collibra connector

Before using the connector, update the config/application.properties file to configure it for your environment.

View file
# =============================================================================
# AtScale-Collibra Connector Configuration
# =============================================================================
# Legend:
# [REQUIRED] - must be set; the application will not start without it
# [OPTIONAL] - has a sensible default; override only if needed
# =============================================================================


# =============================================================================
# SECTION 1: AtScale Connection [REQUIRED]
# =============================================================================

# Product type: "container" (default) or "installer"
# This determines which authentication flow is used (see subsections below)
atscale.api.product=container

# --- 1a. API server [REQUIRED for both product types] ---

# API host and port (Design Center / API server)
atscale.api.apihost=
atscale.api.apiport= # leave empty

# AtScale user credentials
atscale.api.username=
# Password - can be omitted here and supplied via Vault instead (see Section 3)
atscale.api.password=

# [OPTIONAL] Disable SSL verification (set true for self-signed certs, default: false)
atscale.api.disablessl=false

# [OPTIONAL] Restrict sync to specific projects (comma-separated names, empty = all projects)
# Example: atscale.filter.project=Sales Insights,DW Sales Test
# atscale.filter.project=

# [OPTIONAL] AtScale organization GUID (found in Design Center URL; empty = default org)
atscale.api.organization=

# --- 1b. Keycloak / OAuth2 [REQUIRED only when atscale.api.product=container] ---

# Auth server host and port
atscale.api.authhost=
atscale.api.authport= # leave empty

# Keycloak realm used for authentication
atscale.api.authrealm=atscale

# OAuth2 client registered in Keycloak
atscale.api.client.id=
# [OPTIONAL] client secret - required for confidential clients
atscale.api.client.secret=


# =============================================================================
# SECTION 2: Collibra Connection [REQUIRED]
# =============================================================================

collibra.url=https://atscale.collibra.com
collibra.username=
# Password - can be omitted here and supplied via Vault instead (see Section 3)
collibra.password=

# UUIDs of the Collibra out-of-the-box communities
# See: https://productresources.collibra.com/docs/collibra/latest/Content/Communities/co_communities.htm
collibra.business.analysts.community.id=00000000-0000-0000-0001-000100000001
collibra.schemas.community.id=00000000-0000-0000-0001-000100000002


# =============================================================================
# SECTION 3: HashiCorp Vault [OPTIONAL]
# =============================================================================
# Vault loads secrets at startup and overrides matching properties in this file.
# Recommended for: atscale.api.password, collibra.password
#
# Setup:
# 1. Start Vault (see docker-compose.vault.yml)
# 2. Store secrets:
# vault kv put secret/atscale-collibra-connector \
# "atscale.api.password=<value>" \
# "collibra.password=<value>"
# 3. Set spring.cloud.vault.enabled=true and provide credentials below
# =============================================================================

spring.application.name=atscale-collibra-connector
spring.cloud.vault.enabled=false
spring.config.import=optional:vault://
spring.cloud.vault.uri=
spring.cloud.vault.kv.enabled=true
spring.cloud.vault.kv.backend=secret

# --- Token authentication (development) ---
spring.cloud.vault.authentication=TOKEN
spring.cloud.vault.token=

# --- AppRole authentication (production - comment out TOKEN lines above and uncomment below) ---
# spring.cloud.vault.authentication=APPROLE
# spring.cloud.vault.app-role.role-id=
# spring.cloud.vault.app-role.secret-id=


# =============================================================================
# SECTION 4: Integration Trigger [OPTIONAL]
# =============================================================================

# Listening port for the REST API trigger endpoint (default: 8081)
server.port=8081

# Basic auth credentials for the REST trigger endpoint (/api/trigger)
trigger.api.username=test
trigger.api.password=test

# Internal scheduler trigger (set enabled=true to activate cron-based sync)
trigger.scheduler.cron.enabled=false
# Cron for AtScale -> Collibra sync (default: daily at 02:00)
trigger.scheduler.cron.expression=0 0 2 * * *
# Cron for Collibra -> AtScale sync (default: daily at 02:00)
trigger.scheduler.cron.expression.collibraToAtScale=0 0 2 * * *


# =============================================================================
# SECTION 5: Collibra Community & Domain Mapping [OPTIONAL]
# =============================================================================

# AtScale community in Collibra
# If atscale.community.id is empty, collibra.business.analysts.community.id is used
atscale.community.id=
atscale.community.name=AtScale Community
atscale.community.description=

# Business Asset Domain (Projects, Cubes, Dimensions, Hierarchies, Measures, Folders)
# [OPTIONAL] Provide ID to use an existing domain, or leave empty to create by name
# atscale.business.asset.domain.id=
atscale.business.asset.domain.name=AtScale Business Asset Domain
atscale.business.asset.domain.description=Holds AtScale business assets: projects, cubes, dimensions, hierarchies, levels, secondary attributes, measures and folders

# [OPTIONAL] Domain type for business assets (leave empty to use default)
# collibra.business.asset.domain-type.id=
collibra.business.asset.domain-type.name=AtScale Business Asset Domain Type
collibra.business.asset.domain-type.description=

# Data Asset Domain (ConnectionGroups, Connections, Datasets, Columns)
# [OPTIONAL] Provide ID to use an existing domain, or leave empty to create by name
# atscale.data.asset.domain.id=
atscale.data.asset.domain.name=AtScale Data Asset Domain Name
atscale.data.asset.domain.description=Holds AtScale physical assets: ConnectionGroups, connections, datasets, columns (calculated columns and columns on QDSs)

# [OPTIONAL] Domain type for data assets
# collibra.data.asset.domain-type.id=
collibra.data.asset.domain-type.name=AtScale Data Asset Domain Type


# =============================================================================
# SECTION 6: Advanced / Debugging [OPTIONAL]
# =============================================================================

# Number of projects fetched per page from AtScale API (default: 50)
atscale.api.page.limit=50

# Enable verbose debug logging for AtScale API calls (default: false)
atscale.debug=false

# Log file location
logging.file.name=logs/atscale-collibra-connector.log


# =============================================================================
# SECTION 7: HTTPS for Trigger Endpoint [OPTIONAL]
# =============================================================================
# Uncomment to enable HTTPS on the REST trigger endpoint (self-signed cert)

# server.ssl.enabled=false
# server.ssl.key-alias=
# server.ssl.key-store=
# server.ssl.key-store-password=
# server.ssl.key-password=


# =============================================================================
# SECTION 8: Health Monitoring [OPTIONAL]
# =============================================================================
# Uncomment to expose Spring Boot Actuator health endpoints

# management.endpoints.enabled-by-default=
# management.endpoint.info.enabled=
# management.endpoints.web.exposure.include=*
# management.endpoints.web.base-path=

Run the listener

To start the listener, navigate to the connector directory and run the following command:

cd atscale-to-collibra-integration-boot-1.4.1
./bin/atscale-to-collibra-integration

Run setup (first time only)

Setup must be run once, before performing any extractions, to create the object types in Collibra required by the AtScale connector.

To run setup, execute the following REST call using either CURL or an application:

curl -X POST http://localhost:8081/api/setup -u “admin:admin”

Use basic authentication with the credentials defined by the trigger.api.username and trigger.api.password parameters in application.properties.

Run a sync

Note

To run a sync with the Collibra connector, you must have one of the following roles/combinations of roles: admin, application_admin, or datawarehouse_admin AND repository_project_read.

To trigger a push of AtScale metadata to Collibra, execute the following REST call using either CURL or an application:

curl -X POST http://localhost:8081/api/sync -u “admin:admin”

Use basic authentication with the credentials defined by the trigger.api.username and trigger.api.password parameters in application.properties.