1a454f76cf
Add api/cdc_consumer.py: aiokafka background consumer subscribes to the CDC topics (postgres_sales/mysql_hr/mongodb_supplychain + cassandra/neo4j), parses Debezium before/after envelopes, keeps a ring buffer and publishes each change live as type=cdc_change. Endpoints /api/changes, /api/changes/stats, /status.
12 lines
769 B
Docker
12 lines
769 B
Docker
FROM python:3.12-slim
|
|
|
|
WORKDIR /app
|
|
RUN apt-get update && apt-get install -y --no-install-recommends curl && rm -rf /var/lib/apt/lists/*
|
|
COPY requirements.txt .
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
COPY main.py lab_context.py agent_terminal.py workload.py node_registry.py node_ops.py topology_views.py supervisor.py approval_service.py db.py dockhand_envs.py presentation.py database_inventory.py presentation_upload.py presentation_static.py storage_s3.py elasticsearch_api.py sql_console.py hdfs_api.py ssh_terminal.py pipeline_ops.py hadoop_analytics.py agent_ops.py cdc_consumer.py hive_bench_seed.json .
|
|
RUN mkdir -p /data
|
|
ENV DATABASE_URL=sqlite:////data/atc-agents.db
|
|
EXPOSE 3201
|
|
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "3201"]
|