odctl 0.2.0__tar.gz → 0.2.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. {odctl-0.2.0 → odctl-0.2.2}/PKG-INFO +1 -1
  2. {odctl-0.2.0 → odctl-0.2.2}/pyproject.toml +1 -1
  3. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/compose-infra.yml +7 -4
  4. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/registry.yml +2 -2
  5. odctl-0.2.0/src/odctl/resources/trino/catalog/kafka_avro.properties → odctl-0.2.2/src/odctl/resources/trino/catalog/kafka.properties +3 -3
  6. odctl-0.2.0/src/odctl/resources/trino/catalog/kafka.properties +0 -7
  7. {odctl-0.2.0 → odctl-0.2.2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  8. {odctl-0.2.0 → odctl-0.2.2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  9. {odctl-0.2.0 → odctl-0.2.2}/.github/renovate.json +0 -0
  10. {odctl-0.2.0 → odctl-0.2.2}/.github/workflows/build-deps.yml +0 -0
  11. {odctl-0.2.0 → odctl-0.2.2}/.github/workflows/build-platform-images.yml +0 -0
  12. {odctl-0.2.0 → odctl-0.2.2}/.github/workflows/ci.yml +0 -0
  13. {odctl-0.2.0 → odctl-0.2.2}/.github/workflows/e2e-test.yml +0 -0
  14. {odctl-0.2.0 → odctl-0.2.2}/.github/workflows/pipeline.yml +0 -0
  15. {odctl-0.2.0 → odctl-0.2.2}/.github/workflows/publish.yml +0 -0
  16. {odctl-0.2.0 → odctl-0.2.2}/.gitignore +0 -0
  17. {odctl-0.2.0 → odctl-0.2.2}/.pre-commit-config.yaml +0 -0
  18. {odctl-0.2.0 → odctl-0.2.2}/.vscode/settings.json +0 -0
  19. {odctl-0.2.0 → odctl-0.2.2}/LICENSE +0 -0
  20. {odctl-0.2.0 → odctl-0.2.2}/README.md +0 -0
  21. {odctl-0.2.0 → odctl-0.2.2}/image/diagram.png +0 -0
  22. {odctl-0.2.0 → odctl-0.2.2}/image/diagram1.drawio +0 -0
  23. {odctl-0.2.0 → odctl-0.2.2}/image/diagram2.drawio +0 -0
  24. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/__init__.py +0 -0
  25. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/config.py +0 -0
  26. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/docker.py +0 -0
  27. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/main.py +0 -0
  28. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/planner.py +0 -0
  29. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/registry.py +0 -0
  30. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/clickhouse/config.xml +0 -0
  31. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/clickhouse/init.sql +0 -0
  32. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/clickhouse/keeper_config.xml +0 -0
  33. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/clickhouse/macros-11.xml +0 -0
  34. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/clickhouse/macros-12.xml +0 -0
  35. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/clickhouse/macros-21.xml +0 -0
  36. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/clickhouse/macros-22.xml +0 -0
  37. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/clickhouse/users.xml +0 -0
  38. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/compose-analytics.yml +0 -0
  39. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/compose-deps.yml +0 -0
  40. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/compose-flink.yml +0 -0
  41. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/compose-kafka.yml +0 -0
  42. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/compose-metadata.yml +0 -0
  43. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/compose-mlops.yml +0 -0
  44. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/compose-obsv.yml +0 -0
  45. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/compose-orch.yml +0 -0
  46. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/compose-spark.yml +0 -0
  47. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/compose-store.yml +0 -0
  48. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/deps/Dockerfile +0 -0
  49. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/deps/build.gradle +0 -0
  50. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/deps/build_connectors.sh +0 -0
  51. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/deps/fetch_flink_dependencies.sh +0 -0
  52. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/deps/fetch_spark_dependencies.sh +0 -0
  53. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/deps/fetch_standalone_plugins.sh +0 -0
  54. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/docker/airflow/Dockerfile +0 -0
  55. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/docker/ray-mlops/Dockerfile +0 -0
  56. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/docker/spark/Dockerfile +0 -0
  57. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/flink/flink1-conf.yml +0 -0
  58. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/grafana/prometheus.yml +0 -0
  59. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/marquez/marquez.yml +0 -0
  60. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/mlops/serving/lightgbm_inference.py.example +0 -0
  61. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/mlops/serving/vector_search.py.example +0 -0
  62. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/postgres/01-init-databases.sh +0 -0
  63. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/prometheus/alertmanager.yml +0 -0
  64. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/prometheus/prometheus.yml +0 -0
  65. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/seaweed/s3.json +0 -0
  66. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/spark/log4j2.properties +0 -0
  67. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/spark/spark-defaults.conf +0 -0
  68. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/trino/catalog/clickhouse.properties +0 -0
  69. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/trino/catalog/iceberg.properties +0 -0
  70. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/trino/catalog/postgres.properties +0 -0
  71. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/resources/trino/catalog/valkey.properties +0 -0
  72. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/ui.py +0 -0
  73. {odctl-0.2.0 → odctl-0.2.2}/src/odctl/workspace.py +0 -0
  74. {odctl-0.2.0 → odctl-0.2.2}/tests/conftest.py +0 -0
  75. {odctl-0.2.0 → odctl-0.2.2}/tests/test_cli.py +0 -0
  76. {odctl-0.2.0 → odctl-0.2.2}/tests/test_cli_extended.py +0 -0
  77. {odctl-0.2.0 → odctl-0.2.2}/tests/test_config.py +0 -0
  78. {odctl-0.2.0 → odctl-0.2.2}/tests/test_docker.py +0 -0
  79. {odctl-0.2.0 → odctl-0.2.2}/tests/test_planner.py +0 -0
  80. {odctl-0.2.0 → odctl-0.2.2}/tests/test_registry.py +0 -0
  81. {odctl-0.2.0 → odctl-0.2.2}/tests/test_workspace.py +0 -0
  82. {odctl-0.2.0 → odctl-0.2.2}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: odctl
3
- Version: 0.2.0
3
+ Version: 0.2.2
4
4
  Summary: Orchestrator for the Open Data Stack
5
5
  Project-URL: Homepage, https://github.com/jaehyeon-kim/odctl
6
6
  Project-URL: Repository, https://github.com/jaehyeon-kim/odctl
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "odctl"
3
- version = "0.2.0"
3
+ version = "0.2.2"
4
4
  description = "Orchestrator for the Open Data Stack"
5
5
  readme = "README.md"
6
6
  authors = [
@@ -124,10 +124,13 @@ services:
124
124
  - CATALOG_WAREHOUSE=s3://warehouse/
125
125
  - CATALOG_IO__IMPL=org.apache.iceberg.aws.s3.S3FileIO
126
126
  - CATALOG_S3_ENDPOINT=http://seaweed:8333
127
- - CATALOG_S3_ACCESS_KEY_ID=user
128
- - CATALOG_S3_SECRET_ACCESS_KEY=password
129
- - CATALOG_S3_PATH_STYLE_ACCESS=true
130
- - CATALOG_IO__S3_PATH_STYLE_ACCESS=true
127
+ # The image maps a double underscore to a hyphen and a single one to a dot,
128
+ # so hyphenated Iceberg properties need __ or they resolve to names Iceberg
129
+ # ignores. With path-style access silently dropped, S3FileIO addressed
130
+ # buckets virtual-host style and SeaweedFS read the namespace as the bucket.
131
+ - CATALOG_S3_ACCESS__KEY__ID=user
132
+ - CATALOG_S3_SECRET__ACCESS__KEY=password
133
+ - CATALOG_S3_PATH__STYLE__ACCESS=true
131
134
  # Explicit AWS SDK overrides (just in case)
132
135
  - AWS_REGION=us-east-1
133
136
  - AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID:-user}
@@ -202,8 +202,8 @@ stacks:
202
202
  • Trino UI & JDBC connection (user: user, password: none):
203
203
  * External (Localhost): http://localhost:8080
204
204
  * Internal (Docker): http://trino:8080
205
- • Catalogs: iceberg, kafka (JSON topics), kafka_avro (Avro via
206
- the schema registry), clickhouse, postgres, valkey
205
+ • Catalogs: iceberg, kafka (topics discovered from the schema
206
+ registry), clickhouse, postgres, valkey
207
207
  metabase: |
208
208
  • Metabase Dashboard Engine:
209
209
  * External (Localhost): http://localhost:3000
@@ -2,9 +2,9 @@ connector.name=kafka
2
2
  kafka.nodes=broker-1:19092
3
3
  kafka.default-schema=default
4
4
  # Tables are discovered from the schema registry, so topics carrying Confluent
5
- # Avro appear without being listed and their fields arrive typed. This supplier
6
- # replaces file-based discovery rather than extending it, which is why plain JSON
7
- # topics live in the separate 'kafka' catalog.
5
+ # Avro appear without being listed and their fields arrive typed. The file-based
6
+ # supplier cannot work this way: it requires every topic to be named up front,
7
+ # which no general-purpose stack can know.
8
8
  kafka.table-description-supplier=CONFLUENT
9
9
  kafka.confluent-schema-registry-url=http://karapace:8081
10
10
  kafka.hide-internal-columns=false
@@ -1,7 +0,0 @@
1
- connector.name=kafka
2
- kafka.nodes=broker-1:19092
3
- kafka.default-schema=default
4
- kafka.table-names=web_events,logs
5
- # Expose _message, _key and the other underscore columns so raw JSON topics can
6
- # be read without a table description file
7
- kafka.hide-internal-columns=false
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes