Skip to content

Commit 568035d

Browse files
authored
Multiple warehouses (#134)
### Summary Big overhaul of Ansible code to support defining multiple Lakekeeper warehouses along with multiple Superset instances. The Lakekeeper catalog warehouses are defined by a dict in `infra/ansible-docker/group_vars/all/lakekeeper.yml`. The list of Superset instances is defined in `infra/ansible-docker/group_vars/all/superset.yml` with each specific instance configured by a `infra/ansible-docker/playbooks/superset/group_vars`. The definitions here create a single node to house multiple Superset instances to reduce the resource requirements at these early stages of usage. Each Superset instance uses a separate schema in the same backend database hosted by DB services. The DB schema currently needs to be created manually. We now also have a single `create_vm` playbook that can be parametrized instead of a separate create playbook for each playbook.
1 parent 8a4202a commit 568035d

232 files changed

Lines changed: 2465 additions & 3490 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 1 addition & 1 deletion

.github/workflows/pipelines-common_e2e_tests.yml renamed to .github/workflows/elt-common_e2e_tests.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
1-
name: End-to-end tests for pipelines-common package
1+
name: End-to-end tests for elt-common package
22
on:
33
push:
44
branches:
55
- "main"
66
paths:
7-
- ".github/workflows/pipelines-common_e2e_tests.yml"
7+
- ".github/workflows/elt-common_e2e_tests.yml"
88
- "infra/local/**"
9-
- "pipelines/pipelines-common/**"
9+
- "elt-common/**"
1010
pull_request:
1111
types: [opened, synchronize, reopened]
1212
paths:
13-
- ".github/workflows/pipelines-common_e2e_tests.yml"
13+
- ".github/workflows/elt-common_e2e_tests.yml"
1414
- "infra/local/**"
15-
- "pipelines/pipelines-common/**"
15+
- "elt-common/**"
1616
workflow_dispatch:
1717
inputs:
1818
ref:
@@ -43,7 +43,7 @@ jobs:
4343
- name: Bring up Lakekeeper & dependent services
4444
uses: hoverkraft-tech/compose-action@v2.0.1
4545
with:
46-
compose-file: "pipelines/pipelines-common/tests/docker-compose.yml"
46+
compose-file: "elt-common/tests/docker-compose.yml"
4747

4848
- name: Run pipeline-common end-to-end tests
4949
run: >
@@ -53,4 +53,4 @@ jobs:
5353
--env CI=1
5454
python-uv
5555
uv run pytest --durations-min=0.5 --exitfirst tests/e2e_tests --cache-clear
56-
working-directory: ./pipelines/pipelines-common
56+
working-directory: ./elt-common

.github/workflows/pipelines-common_unit_tests.yml renamed to .github/workflows/elt-common_unit_tests.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
name: Unit tests for pipelines-common package
1+
name: Unit tests for elt-common package
22
on:
33
push:
44
branches:
55
- "main"
66
paths:
7-
- ".github/workflows/pipelines-common_unit_tests.yml"
8-
- "pipelines/pipelines-common/**"
7+
- ".github/workflows/elt-common_unit_tests.yml"
8+
- "pipelines/elt-common/**"
99
pull_request:
1010
types: [opened, synchronize, reopened]
1111
paths:
12-
- ".github/workflows/pipelines-common_unit_tests.yml"
13-
- "pipelines/pipelines-common/**"
12+
- ".github/workflows/elt-common_unit_tests.yml"
13+
- "pipelines/elt-common/**"
1414
workflow_dispatch:
1515
inputs:
1616
ref:
@@ -43,12 +43,12 @@ jobs:
4343
with:
4444
# Install a specific version of uv.
4545
version: "0.7.3"
46-
cache-dependency-glob: "pipelines/pipelines-common/pyproject.toml"
46+
cache-dependency-glob: "elt-common/pyproject.toml"
4747

4848
- name: Install the project
4949
run: uv sync --locked --all-extras --dev
50-
working-directory: pipelines/pipelines-common
50+
working-directory: elt-common
5151

5252
- name: Run tests
5353
run: uv run pytest --durations-min=0.5 --exitfirst tests/unit_tests --cache-clear
54-
working-directory: pipelines/pipelines-common
54+
working-directory: elt-common

.pre-commit-config.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ repos:
1212
hooks:
1313
# Run the linter.
1414
- id: ruff-check
15-
files: pipelines/pipelines-common
15+
files: elt-common
1616
# Run the formatter.
1717
- id: ruff-format
18-
files: pipelines/pipelines-common
18+
files: elt-common
Lines changed: 2 additions & 2 deletions
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ requires = ["setuptools>=61.0.0", "wheel"]
33
build-backend = "setuptools.build_meta"
44

55
[project]
6-
name = "pipelines-common"
6+
name = "elt-common"
77
version = "0.1.0"
88
description = "A set of common utility routines for data pipelines."
99
readme = "README.md"

pipelines/pipelines-common/src/pipelines_common/__init__.py renamed to elt-common/src/elt_common/__init__.py

File renamed without changes.

pipelines/pipelines-common/src/pipelines_common/cli.py renamed to elt-common/src/elt_common/cli.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ def cli_main(
9393
).parse_args()
9494
# TODO: Make the log filtering more configurable
9595
logging_utils.configure_logging(
96-
args.log_level, keep_records_from=["dlt", "pipelines_common", "__main__"]
96+
args.log_level, keep_records_from=["dlt", "elt_common", "__main__"]
9797
)
9898

9999
pipeline = dlt.pipeline(

0 commit comments

Comments
 (0)