Skip to content

Commit 83d45d9

Browse files
committed
om to omt and include profile
1 parent d30e68c commit 83d45d9

File tree

2 files changed

+78
-55
lines changed

2 files changed

+78
-55
lines changed

compose-metadata.yml

Lines changed: 72 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,29 @@
11
services:
2-
om-db:
2+
omt-db:
33
image: docker.getcollate.io/openmetadata/postgresql:1.11.3
4-
container_name: om_db
4+
container_name: omt_db
55
restart: always
66
command: "--work_mem=10MB"
77
environment:
8-
POSTGRES_USER: om_user
9-
POSTGRES_PASSWORD: om_pass
10-
POSTGRES_DB: om_db
8+
POSTGRES_USER: omt_user
9+
POSTGRES_PASSWORD: omt_pass
10+
POSTGRES_DB: omt_db
1111
ports:
1212
- "5434:5432"
1313
networks:
1414
- factorhouse
15+
profiles:
16+
- omt
1517
healthcheck:
16-
test: ["CMD-SHELL", "pg_isready -U om_user -d om_db"]
18+
test: ["CMD-SHELL", "pg_isready -U omt_user -d omt_db"]
1719
interval: 2s
1820
timeout: 2s
1921
retries: 10
2022
start_period: 3s
21-
om-es:
23+
24+
omt-es:
2225
image: docker.elastic.co/elasticsearch/elasticsearch:8.11.4
23-
container_name: om_es
26+
container_name: omt_es
2427
environment:
2528
- discovery.type=single-node
2629
- ES_JAVA_OPTS=-Xms1024m -Xmx1024m
@@ -30,17 +33,22 @@ services:
3033
- "9300:9300"
3134
networks:
3235
- factorhouse
36+
profiles:
37+
- omt
3338
healthcheck:
3439
test: "curl -s http://localhost:9200/_cluster/health?pretty | grep status | grep -qE 'green|yellow' || exit 1"
3540
interval: 15s
3641
timeout: 10s
3742
retries: 10
38-
om-migrate:
43+
44+
omt-migrate:
3945
image: docker.getcollate.io/openmetadata/server:1.11.3
40-
container_name: om_migrate
46+
container_name: omt_migrate
4147
command: "./bootstrap/openmetadata-ops.sh migrate"
4248
networks:
4349
- factorhouse
50+
profiles:
51+
- omt
4452
environment:
4553
OPENMETADATA_CLUSTER_NAME: ${OPENMETADATA_CLUSTER_NAME:-openmetadata}
4654
SERVER_PORT: ${SERVER_PORT:-8585}
@@ -60,66 +68,69 @@ services:
6068
# JWT Configuration (Required for session management)
6169
RSA_PUBLIC_KEY_FILE_PATH: ${RSA_PUBLIC_KEY_FILE_PATH:-"./conf/public_key.der"}
6270
RSA_PRIVATE_KEY_FILE_PATH: ${RSA_PRIVATE_KEY_FILE_PATH:-"./conf/private_key.der"}
63-
JWT_ISSUER: ${JWT_ISSUER:-"open-metadata.org"}
71+
JWT_ISSUER: ${JWT_ISSUER:-"factorhouse.io"}
6472
JWT_KEY_ID: ${JWT_KEY_ID:-"Gb389a-9f76-gdjs-a92j-0242bk94356"}
6573
# OpenMetadata Server Pipeline Service Client Configuration
66-
PIPELINE_SERVICE_CLIENT_ENDPOINT: ${PIPELINE_SERVICE_CLIENT_ENDPOINT:-http://om-ingestion:8080}
74+
PIPELINE_SERVICE_CLIENT_ENDPOINT: ${PIPELINE_SERVICE_CLIENT_ENDPOINT:-http://omt-ingestion:8080}
6775
PIPELINE_SERVICE_CLIENT_HEALTH_CHECK_INTERVAL: ${PIPELINE_SERVICE_CLIENT_HEALTH_CHECK_INTERVAL:-300}
68-
SERVER_HOST_API_URL: ${SERVER_HOST_API_URL:-http://om-server:8585/api}
76+
SERVER_HOST_API_URL: ${SERVER_HOST_API_URL:-http://omt-server:8585/api}
6977
PIPELINE_SERVICE_CLIENT_VERIFY_SSL: ${PIPELINE_SERVICE_CLIENT_VERIFY_SSL:-"no-ssl"}
7078
PIPELINE_SERVICE_CLIENT_SSL_CERT_PATH: ${PIPELINE_SERVICE_CLIENT_SSL_CERT_PATH:-""}
71-
#Database configuration for postgresql
79+
# Database configuration for postgresql
7280
DB_DRIVER_CLASS: ${DB_DRIVER_CLASS:-org.postgresql.Driver}
7381
DB_PARAMS: ${DB_PARAMS:-allowPublicKeyRetrieval=true&useSSL=false&serverTimezone=UTC}
74-
DB_USER: ${DB_USER:-om_user}
75-
DB_USER_PASSWORD: ${DB_USER_PASSWORD:-om_pass}
76-
DB_HOST: ${DB_HOST:-om-db}
82+
DB_USER: ${DB_USER:-omt_user}
83+
DB_USER_PASSWORD: ${DB_USER_PASSWORD:-omt_pass}
84+
DB_HOST: ${DB_HOST:-omt-db}
7785
DB_PORT: ${DB_PORT:-5432}
78-
OM_DATABASE: ${OM_DATABASE:-om_db}
86+
OM_DATABASE: ${OM_DATABASE:-omt_db}
7987
DB_SCHEME: ${DB_SCHEME:-postgresql}
8088
# ElasticSearch Configurations
81-
ELASTICSEARCH_HOST: ${ELASTICSEARCH_HOST:- om-es}
89+
ELASTICSEARCH_HOST: ${ELASTICSEARCH_HOST:- omt-es}
8290
ELASTICSEARCH_PORT: ${ELASTICSEARCH_PORT:-9200}
8391
ELASTICSEARCH_SCHEME: ${ELASTICSEARCH_SCHEME:-http}
8492
SEARCH_TYPE: ${SEARCH_TYPE:- "elasticsearch"}
85-
#eventMonitoringConfiguration
93+
# Event Monitoring Configuration
8694
EVENT_MONITOR: ${EVENT_MONITOR:-prometheus}
8795
EVENT_MONITOR_BATCH_SIZE: ${EVENT_MONITOR_BATCH_SIZE:-10}
8896
EVENT_MONITOR_PATH_PATTERN: ${EVENT_MONITOR_PATH_PATTERN:-["/api/v1/tables/*", "/api/v1/health-check"]}
8997
EVENT_MONITOR_LATENCY: ${EVENT_MONITOR_LATENCY:-[]}
90-
#pipelineServiceClientConfiguration
98+
# Pipeline Service Client Configuration
9199
PIPELINE_SERVICE_CLIENT_ENABLED: ${PIPELINE_SERVICE_CLIENT_ENABLED:-true}
92100
PIPELINE_SERVICE_CLIENT_CLASS_NAME: ${PIPELINE_SERVICE_CLIENT_CLASS_NAME:-"org.openmetadata.service.clients.pipeline.airflow.AirflowRESTClient"}
93101
PIPELINE_SERVICE_IP_INFO_ENABLED: ${PIPELINE_SERVICE_IP_INFO_ENABLED:-false}
94102
PIPELINE_SERVICE_CLIENT_HOST_IP: ${PIPELINE_SERVICE_CLIENT_HOST_IP:-""}
95103
PIPELINE_SERVICE_CLIENT_SECRETS_MANAGER_LOADER: ${PIPELINE_SERVICE_CLIENT_SECRETS_MANAGER_LOADER:-"noop"}
96-
#airflow parameters
104+
# Airflow Parameters
97105
AIRFLOW_USERNAME: ${AIRFLOW_USERNAME:-admin}
98106
AIRFLOW_PASSWORD: ${AIRFLOW_PASSWORD:-admin}
99107
AIRFLOW_TIMEOUT: ${AIRFLOW_TIMEOUT:-10}
100108
FERNET_KEY: ${FERNET_KEY:-jJ/9sz0g0OHxsfxOoSfdFdmk3ysNmPRnH3TUAbz3IHA=}
101-
#secretsManagerConfiguration
109+
# Secrets Manager Configuration
102110
SECRET_MANAGER: ${SECRET_MANAGER:-db}
103111
# Heap OPTS Configurations
104112
OPENMETADATA_HEAP_OPTS: ${OPENMETADATA_HEAP_OPTS:--Xmx1G -Xms1G}
105113
# Mask passwords values in UI
106114
MASK_PASSWORDS_API: ${MASK_PASSWORDS_API:-false}
107-
#OpenMetadata Web Configuration
115+
# OpenMetadata Web Configuration
108116
WEB_CONF_URI_PATH: ${WEB_CONF_URI_PATH:-"/api"}
109117
depends_on:
110-
om-es:
118+
omt-es:
111119
condition: service_healthy
112-
om-db:
120+
omt-db:
113121
condition: service_healthy
114-
om-server:
122+
123+
omt-server:
115124
image: docker.getcollate.io/openmetadata/server:1.11.3
116-
container_name: om_server
125+
container_name: omt_server
117126
restart: always
118127
ports:
119128
- "8585:8585"
120129
- "8586:8586"
121130
networks:
122131
- factorhouse
132+
profiles:
133+
- omt
123134
environment:
124135
OPENMETADATA_CLUSTER_NAME: ${OPENMETADATA_CLUSTER_NAME:-openmetadata}
125136
SERVER_PORT: ${SERVER_PORT:-8585}
@@ -137,59 +148,65 @@ services:
137148
# JWT Configuration (Required for session management)
138149
RSA_PUBLIC_KEY_FILE_PATH: ${RSA_PUBLIC_KEY_FILE_PATH:-"./conf/public_key.der"}
139150
RSA_PRIVATE_KEY_FILE_PATH: ${RSA_PRIVATE_KEY_FILE_PATH:-"./conf/private_key.der"}
140-
JWT_ISSUER: ${JWT_ISSUER:-"open-metadata.org"}
151+
JWT_ISSUER: ${JWT_ISSUER:-"factorhouse.io"}
141152
JWT_KEY_ID: ${JWT_KEY_ID:-"Gb389a-9f76-gdjs-a92j-0242bk94356"}
142153
# OpenMetadata Server Pipeline Service Client Configuration
143-
PIPELINE_SERVICE_CLIENT_ENDPOINT: ${PIPELINE_SERVICE_CLIENT_ENDPOINT:-http://om-ingestion:8080}
154+
PIPELINE_SERVICE_CLIENT_ENDPOINT: ${PIPELINE_SERVICE_CLIENT_ENDPOINT:-http://omt-ingestion:8080}
144155
PIPELINE_SERVICE_CLIENT_HEALTH_CHECK_INTERVAL: ${PIPELINE_SERVICE_CLIENT_HEALTH_CHECK_INTERVAL:-300}
145-
SERVER_HOST_API_URL: ${SERVER_HOST_API_URL:-http://om-server:8585/api}
156+
SERVER_HOST_API_URL: ${SERVER_HOST_API_URL:-http://omt-server:8585/api}
146157
PIPELINE_SERVICE_CLIENT_VERIFY_SSL: ${PIPELINE_SERVICE_CLIENT_VERIFY_SSL:-"no-ssl"}
147158
PIPELINE_SERVICE_CLIENT_SSL_CERT_PATH: ${PIPELINE_SERVICE_CLIENT_SSL_CERT_PATH:-""}
148-
#Database configuration for postgresql
159+
# Database configuration for postgresql
149160
DB_DRIVER_CLASS: ${DB_DRIVER_CLASS:-org.postgresql.Driver}
150161
DB_PARAMS: ${DB_PARAMS:-allowPublicKeyRetrieval=true&useSSL=false&serverTimezone=UTC}
151-
DB_USER: ${DB_USER:-om_user}
152-
DB_USER_PASSWORD: ${DB_USER_PASSWORD:-om_pass}
153-
DB_HOST: ${DB_HOST:-om-db}
162+
DB_USER: ${DB_USER:-omt_user}
163+
DB_USER_PASSWORD: ${DB_USER_PASSWORD:-omt_pass}
164+
DB_HOST: ${DB_HOST:-omt-db}
154165
DB_PORT: ${DB_PORT:-5432}
155-
OM_DATABASE: ${OM_DATABASE:-om_db}
166+
OM_DATABASE: ${OM_DATABASE:-omt_db}
156167
DB_SCHEME: ${DB_SCHEME:-postgresql}
157168
# ElasticSearch Configurations
158-
ELASTICSEARCH_HOST: ${ELASTICSEARCH_HOST:- om-es}
169+
ELASTICSEARCH_HOST: ${ELASTICSEARCH_HOST:- omt-es}
159170
ELASTICSEARCH_PORT: ${ELASTICSEARCH_PORT:-9200}
160171
ELASTICSEARCH_SCHEME: ${ELASTICSEARCH_SCHEME:-http}
161172
SEARCH_TYPE: ${SEARCH_TYPE:- "elasticsearch"}
162-
#pipelineServiceClientConfiguration
173+
# Event Monitoring Configuration
174+
EVENT_MONITOR: ${EVENT_MONITOR:-prometheus}
175+
EVENT_MONITOR_BATCH_SIZE: ${EVENT_MONITOR_BATCH_SIZE:-10}
176+
EVENT_MONITOR_PATH_PATTERN: ${EVENT_MONITOR_PATH_PATTERN:-["/api/v1/tables/*", "/api/v1/health-check"]}
177+
EVENT_MONITOR_LATENCY: ${EVENT_MONITOR_LATENCY:-[]}
178+
# Pipeline Service Client Configuration
163179
PIPELINE_SERVICE_CLIENT_ENABLED: ${PIPELINE_SERVICE_CLIENT_ENABLED:-true}
164180
PIPELINE_SERVICE_CLIENT_CLASS_NAME: ${PIPELINE_SERVICE_CLIENT_CLASS_NAME:-"org.openmetadata.service.clients.pipeline.airflow.AirflowRESTClient"}
165181
PIPELINE_SERVICE_IP_INFO_ENABLED: ${PIPELINE_SERVICE_IP_INFO_ENABLED:-false}
166182
PIPELINE_SERVICE_CLIENT_HOST_IP: ${PIPELINE_SERVICE_CLIENT_HOST_IP:-""}
167183
PIPELINE_SERVICE_CLIENT_SECRETS_MANAGER_LOADER: ${PIPELINE_SERVICE_CLIENT_SECRETS_MANAGER_LOADER:-"noop"}
168-
#airflow parameters
184+
# Airflow Parameters
169185
AIRFLOW_USERNAME: ${AIRFLOW_USERNAME:-admin}
170186
AIRFLOW_PASSWORD: ${AIRFLOW_PASSWORD:-admin}
171187
AIRFLOW_TIMEOUT: ${AIRFLOW_TIMEOUT:-10}
172188
FERNET_KEY: ${FERNET_KEY:-jJ/9sz0g0OHxsfxOoSfdFdmk3ysNmPRnH3TUAbz3IHA=}
173-
#secretsManagerConfiguration
189+
# Secrets Manager Configuration
174190
SECRET_MANAGER: ${SECRET_MANAGER:-db}
175191
# Heap OPTS Configurations
176192
OPENMETADATA_HEAP_OPTS: ${OPENMETADATA_HEAP_OPTS:--Xmx1G -Xms1G}
177193
# Mask passwords values in UI
178194
MASK_PASSWORDS_API: ${MASK_PASSWORDS_API:-false}
179-
#OpenMetadata Web Configuration
195+
# OpenMetadata Web Configuration
180196
WEB_CONF_URI_PATH: ${WEB_CONF_URI_PATH:-"/api"}
181197
depends_on:
182-
om-es:
198+
omt-es:
183199
condition: service_healthy
184-
om-db:
200+
omt-db:
185201
condition: service_healthy
186-
om-migrate:
202+
omt-migrate:
187203
condition: service_completed_successfully
188204
healthcheck:
189205
test: [ "CMD", "wget", "-q", "--spider", "http://localhost:8586/healthcheck" ]
190-
om-ingestion:
206+
207+
omt-ingestion:
191208
image: docker.getcollate.io/openmetadata/ingestion:1.11.3
192-
container_name: om_ingestion
209+
container_name: omt_ingestion
193210
entrypoint: /bin/bash
194211
# command:
195212
# - "/opt/airflow/ingestion_dependency.sh"
@@ -199,30 +216,32 @@ services:
199216
- "8080:8080"
200217
networks:
201218
- factorhouse
219+
profiles:
220+
- omt
202221
environment:
203222
AIRFLOW__API__AUTH_BACKENDS: "airflow.api.auth.backend.basic_auth,airflow.api.auth.backend.session"
204223
AIRFLOW__CORE__EXECUTOR: LocalExecutor
205224
AIRFLOW__OPENMETADATA_AIRFLOW_APIS__DAG_GENERATED_CONFIGS: "/opt/airflow/dag_generated_configs"
206-
DB_HOST: ${AIRFLOW_DB_HOST:-om-db}
225+
DB_HOST: ${AIRFLOW_DB_HOST:-omt-db}
207226
DB_PORT: ${AIRFLOW_DB_PORT:-5432}
208227
AIRFLOW_DB: ${AIRFLOW_DB:-airflow_db}
209-
DB_USER: ${AIRFLOW_DB_USER:-om_user}
210-
DB_PASSWORD: ${AIRFLOW_DB_PASSWORD:-om_pass}
228+
DB_USER: ${AIRFLOW_DB_USER:-omt_user}
229+
DB_PASSWORD: ${AIRFLOW_DB_PASSWORD:-omt_pass}
211230
DB_SCHEME: ${AIRFLOW_DB_SCHEME:-postgresql+psycopg2}
212231
DB_PROPERTIES: ${AIRFLOW_DB_PROPERTIES:-}
213232
# To test the lineage backend
214233
AIRFLOW__LINEAGE__BACKEND: airflow_provider_openmetadata.lineage.backend.OpenMetadataLineageBackend
215234
AIRFLOW__LINEAGE__AIRFLOW_SERVICE_NAME: local_airflow
216-
AIRFLOW__LINEAGE__OPENMETADATA_API_ENDPOINT: http://om-server:8585/api
235+
AIRFLOW__LINEAGE__OPENMETADATA_API_ENDPOINT: http://omt-server:8585/api
217236
volumes:
218237
- ./resources/openmetadata/run.sh:/opt/airflow/run.sh
219238
- ./resources/openmetadata/generate_token_and_start.sh:/opt/airflow/generate_token_and_start.sh
220239
depends_on:
221-
om-es:
240+
omt-es:
222241
condition: service_healthy
223-
om-db:
242+
omt-db:
224243
condition: service_healthy
225-
om-server:
244+
omt-server:
226245
condition: service_started
227246

228247
networks:

resources/openmetadata/generate_token_and_start.sh

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
#!/bin/bash
22
set -e
33

4+
## TODO: Currently it exports a token from an admin user. Create a bot and token from it!
5+
46
# This script will wait for the OpenMetadata server to be ready,
57
# then create a bot and generate a JWT token for the Airflow lineage backend.
68

79
OM_ADMIN_USER=admin@factorhouse.io
810
OM_ADMIN_PASSWORD=admin
911
ENCODED_PASSWORD=$(echo -n "${OM_ADMIN_PASSWORD}" | base64)
10-
OM_SERVER_URL="http://om-server:8585/api"
11-
OM_HEALTH_URL="http://om-server:8586/healthcheck"
12+
OM_SERVER_URL="http://omt-server:8585/api"
13+
OM_HEALTH_URL="http://omt-server:8586/healthcheck"
1214
BOT_NAME="airflow_lineage_bot"
1315
BOT_USER_JSON="{ \"name\": \"${BOT_NAME}\", \"displayName\": \"Airflow Lineage Bot\" }"
1416

@@ -42,3 +44,5 @@ echo "Successfully obtained admin token."
4244
export AIRFLOW__LINEAGE__JWT_TOKEN="${ADMIN_TOKEN}"
4345

4446
echo "JWT Token has been set for the Airflow lineage backend using the ADMIN token."
47+
echo "You can check the value of AIRFLOW__LINEAGE__JWT_TOKEN by executing the following command:"
48+
echo "docker exec omt_ingestion cat /proc/1/environ | tr '\0' '\n' | grep AIRFLOW__LINEAGE__JWT_TOKEN"

0 commit comments

Comments
 (0)