f75aa322cb
SAM0123-231: Remove Kafka configuration and infrastructure references; simplify README documentation.
2026-07-23 13:41:56 -03:00
648458510d
SAM0123-231: Remove Kafka integration for data streaming and add comprehensive OPC UA client certificate management.
2026-07-23 13:37:56 -03:00
b10c226e4e
SAM0123-231: Remove Kafka integration from Ingestor service.
2026-07-23 12:25:29 -03:00
c157d1649a
SAM0123-231: Broaden quality gate workflow to include release and feature branches; correct asynchronous call for OPC server updates in ingestor.
2026-07-23 12:04:13 -03:00
0d9d7b2ebe
SAM0123-231: Update quality gate workflow to use requirements.txt for the ingestor project.
2026-07-23 12:00:54 -03:00
675f30c60e
SAM0123-231: Update GitHub Actions quality gate workflow to use python-quality-gate template and correct requirements file parameter name.
2026-07-23 11:58:26 -03:00
c209796ffb
SAM0123-231: Update sientia-dataops-library dependency to version 1.12.1.
2026-07-23 11:51:55 -03:00
046b4064d3
Merge branch 'main' into fix/SAM0123-231
2026-07-23 11:49:44 -03:00
b9c5380690
SAM0123-231: Refactor Python dependencies to use published sientia_do package, introduce requirements-local.txt for local development and quality gates, and add script for automated OPC UA client certificate generation and deployment.
2026-07-23 11:49:28 -03:00
PedroHMCosme
650280e404
chore: gitignore docs/HANDOFF.md (local handoff note, not tracked)
2026-07-17 18:31:40 -03:00
PedroHMCosme
0d60a3fb67
feat(gateway): optional .env loading for local dev (app + seed); document in e2e guide
2026-07-17 09:44:38 -03:00
PedroHMCosme
0e29cc4054
docs(gateway): e2e validation guide + seed script for the KepServer session
2026-07-15 21:45:06 -03:00
PedroHMCosme
e0d8dd3729
SIENTIAPDE-1972: F4 close-out - ledger de commits + gates de integracao (Task 21.end)
2026-07-15 15:33:03 -03:00
PedroHMCosme
cebb5215a3
chore(gateway): final sweep - README/functional Kafka cleanup, asyncua pin, 1879 checklist verification (Task 21)
2026-07-15 15:31:37 -03:00
PedroHMCosme
21d0b37105
docs(gateway): deploy notes for helm/images/platform repos (Task 19+20)
2026-07-15 14:52:50 -03:00
PedroHMCosme
3f413f8d6f
fix(gateway): app survives runtime init failure; dedupe NATS-down notifications; fix stale slot_lookup note
2026-07-15 14:17:21 -03:00
PedroHMCosme
391268776c
feat(gateway): wire engines+adapters via GatewayRuntime (write/gRPC live; subscription v2 gated on 1974)
...
GatewayRuntime builds and owns the F4 object graph (CertProvider/pool ->
WriteEngine/NatsWriteConsumer -> ActiveReadEngine -> optional GrpcServer),
reusing the existing ingestor's logger/notification_handler/metrics_controller
and DataManager (CertProvider shares its Mongo connection instead of opening
a second one). app.py starts it after prepare_ingestor, sweeps idle OPC
connections each loop iteration, and stops it on shutdown. A NATS connect
failure at startup is logged/notified but never crashes the app -- the read
path keeps working and idle_sweep() retries the consumer start.
ingestor.py needed no changes: data_manager is already reachable via
ingestor.ingestor_manager.data_manager.
Also documents the new MinIO/Postgres env vars this wiring reads (via
sientia_do's build_postgres_config for Postgres) in .env.example, and
updates test_app.py's fixture to mock GatewayConfig/GatewayRuntime so the
existing app tests keep exercising only what they mocked before.
2026-07-15 13:51:18 -03:00
PedroHMCosme
ff605eea93
feat(gateway): GatewayConfig env (NATS/gRPC/certs/write flags)
2026-07-15 08:59:19 -03:00
PedroHMCosme
e9ce9e50e2
SIENTIAPDE-1972: F3 close-out - ledger de commits + carry-forward notes (Task 16.end)
2026-07-15 08:50:59 -03:00
PedroHMCosme
52223e6c09
feat(gateway): gRPC server ReadTag (C4)
2026-07-15 08:39:54 -03:00
PedroHMCosme
1798b69c8b
feat(gateway): gRPC proto + generated stubs (C4)
2026-07-15 08:36:08 -03:00
PedroHMCosme
99a715cc16
feat(gateway): ActiveReadEngine (scheduled + read_now)
2026-07-14 22:30:06 -03:00
PedroHMCosme
4855205aa4
SIENTIAPDE-1972: adiciona commit ponytail ao ledger F2
2026-07-14 22:24:28 -03:00
PedroHMCosme
f7f356fbd5
refactor(gateway): ponytail F2 - drop dead metadata, unreachable variant fallback, redundant except member
2026-07-14 22:24:02 -03:00
PedroHMCosme
ce0db62848
SIENTIAPDE-1972: F2 close-out - ledger de commits + carry-forward notes (Task 13.end)
2026-07-14 22:18:28 -03:00
PedroHMCosme
165ac79783
feat(gateway): NatsWriteConsumer (Core NATS, queue group) (C2)
2026-07-14 21:31:53 -03:00
PedroHMCosme
abff80e0d3
fix(gateway): tighten SQL identifier validation to fullmatch (reject trailing newline)
2026-07-14 19:31:11 -03:00
PedroHMCosme
905da5151b
feat(gateway): DataSink.update_write_status Postgres by timestamp+model_id (C3); drop unused metadata param
2026-07-14 19:24:24 -03:00
PedroHMCosme
86d0f6cf23
fix(gateway): make WriteEngine + converter raise-safe against malformed write commands
2026-07-14 19:18:52 -03:00
PedroHMCosme
dcf8369638
feat(gateway): WriteEngine (status_code/timestamp/flags, safe converter, rate-limit)
2026-07-14 16:59:43 -03:00
PedroHMCosme
2a9af05464
SIENTIAPDE-1972: F1 close-out - ledger de commits + carry-forward notes (Task 10.end)
2026-07-14 16:33:42 -03:00
PedroHMCosme
00c74e5606
feat(gateway): SubscriptionEngine multi-name fan-out (C1)
2026-07-14 16:17:13 -03:00
PedroHMCosme
323bf24a0f
refactor(gateway): remove legacy Kafka egress (MongoDB-only)
2026-07-14 15:58:55 -03:00
PedroHMCosme
ae88ac662e
feat(gateway): DataSink.publish_reading multi-name fan-out
2026-07-14 10:51:52 -03:00
PedroHMCosme
44df022e32
feat(gateway): slot v2 loader (contract C1)
2026-07-14 10:47:33 -03:00
PedroHMCosme
00f919cec6
SIENTIAPDE-1972: plano - modelo de PR por fase + ledger de commits (F0 registrado) + close-out por fase
2026-07-14 10:37:09 -03:00
PedroHMCosme
b57be9f5fe
refactor(gateway): drop dead error_stack and unused metadata from OpcConnectionPool (ponytail)
2026-07-14 10:06:59 -03:00
PedroHMCosme
0b29857089
fix(gateway): per-server lock in OpcConnectionPool to avoid duplicate connects
2026-07-14 09:50:14 -03:00
PedroHMCosme
a08fd88c80
test(ingestor_manager): force gc.collect() after each test to avoid __del__ flake
...
IngestorManager.__del__ calls asyncio.run(self.shutdown()). Adding
tests/unit/connection/test_pool.py shifted GC timing enough that a
cyclic-referenced IngestorManager instance from an earlier test was
swept mid test___del__, double-calling the patched asyncio mock and
failing the assertion. Deterministic gc.collect() after each test in
this file keeps finalizers scoped to their own test.
2026-07-14 09:36:01 -03:00
PedroHMCosme
5d30a5c547
feat(gateway): OpcConnectionPool (per-server, reuse, idle-evict)
2026-07-14 09:35:53 -03:00
PedroHMCosme
09e42901d1
SIENTIAPDE-1972: remover egress Kafka do Gateway (Mongo-only) no spec/plano
2026-07-14 09:06:53 -03:00
PedroHMCosme
bbe10a4f73
SIENTIAPDE-1972: resolve chamador do GRPC (sem consumidor hoje; interno, sem auth)
2026-07-14 08:51:21 -03:00
PedroHMCosme
ec2a324a84
feat(gateway): cert provider from MinIO+Mongo (sientia-dataops)
2026-07-13 19:20:41 -03:00
PedroHMCosme
b05c2fd76a
feat(gateway): Basic256Sha256 + channel>session lifetime (1879)
2026-07-13 18:47:33 -03:00
PedroHMCosme
d6cb1e492d
feat(gateway): monotonic clock helper (1879)
2026-07-13 18:39:23 -03:00
PedroHMCosme
55f67216ee
feat(gateway): safe type converter (1879 BUG-1/BUG-2)
2026-07-13 18:31:07 -03:00
PedroHMCosme
3dd4f60b0e
feat(gateway): add write/active-read/error metrics
2026-07-13 18:27:30 -03:00
PedroHMCosme
0694f6ac87
chore(gateway): add nats-py, grpcio deps (Task 1)
2026-07-13 18:24:32 -03:00
PedroHMCosme
dd41145139
SIENTIAPDE-1972: plano de implementacao do OPC Gateway (F0-F4, TDD) + revisao
2026-07-13 18:12:08 -03:00
PedroHMCosme
4225789dc8
SIENTIAPDE-1972: localiza criacao das tabelas de predicao (pandas to_sql), adiciona schema/table_name ao contrato NATS e fixa cert bucket aprovado
2026-07-13 17:46:43 -03:00