Topology: AI separate (cloud) (was
[mode: cloud-copilot]) — Pulse Copilot as a managed-cloud service against an on-prem historian
Source: pulse_multi_agents:Dockerfile
FROM dev.exactspace.co/python3.11-base-es-new2:r1
WORKDIR /src
EXPOSE 8001
COPY . /src/
RUN pip install -r /src/requirements_new.txt --no-cache-dir
RUN pip install asyncpg==0.29.0
ENTRYPOINT ["./main"]
Key details:
dev.exactspace.co/python3.11-base-es-new2:r1 (internal ExactSpace base)./main (produced by Cython + GCC compilation in CI)requirements_new.txt + asyncpg==0.29.0 (PostgreSQL async driver)pulse_multi_agents:Dockerfile
JenkinsfileSource: pulse_multi_agents:Jenkinsfile
Registry: dev.exactspace.co
App name: pulse_multi_agents-es
| Branch | Build tag | Deploy targets |
|---|---|---|
main |
:r1 |
Prod, UTCL, BPCL, ONGC, HRD, LPG |
develop |
:d1 |
QA |
sandbox |
:s1 |
Sandbox |
main branch pipeline stagesexact-space/pulse_multi_agents (with submodules)cython index.py --embedgcc index.c -I/usr/include/python3.10/ -O2 -o index -lpython3.10:r1 to dev.exactspace.codeployservice/cicd/api/pulse_multi_agents-esdevelop branch pipeline stages*/developdata.exactspace.co/sonarqube_reports)qa-smoke-test-es:r1 container, 120s timeout:d1qa.exactspace.co)Prod: data.exactspace.coUTCL: utcl.exactspace.coBPCL: bpcl.exactspace.coONGC: ongc.exactspace.coHRD: hrd.exactspace.co/hrdLPG: lpg.exactspace.co/lpgpulse_multi_agents:Jenkinsfile
Jenkinsfile-thermaxSource: pulse_multi_agents:Jenkinsfile-thermax
This is a separate pipeline targeting the Thermax customer deployment on Azure.
Registry: tmxedgelivepprodakscontainerregistry.azurecr.io (Azure Container Registry)
App name: pulse_multi_agents-es
Authentication: az acr login --name tmxedgelivepprodakscontainerregistry before pull and push
| Aspect | Standard | Thermax |
|---|---|---|
| Registry | dev.exactspace.co |
Azure ACR (tmxedgelivepprodakscontainerregistry.azurecr.io) |
| Registry auth | None (uses docker credential store) | az acr login before pull and push |
main Cython compilation |
Yes (in pipeline) | Skipped (commented out) |
| Production deploy target | Multiple ExactSpace-hosted envs | TMX internal IP 10.212.127.196:3186 |
develop deploy target |
QA (qa.exactspace.co) |
UAT (10.211.19.101:3190) |
| Post-deploy sleep | None | 45s sleep after deploy before status check |
| Branch | Build tag | Deploy target |
|---|---|---|
main |
:r1 |
TMX production (10.212.127.196:3186) |
develop |
:d1 |
UAT (10.211.19.101:3190) |
pulse_multi_agents:Jenkinsfile-thermax
Environment variables read by pulse_multi_agents/index.py:
| Variable | Default | Purpose |
|---|---|---|
pulse_manager_path |
./sessions.db |
SQLite session DB path |
USE_POST_GRESQL_DB |
0 |
Set to 1 to use PostgreSQL instead of SQLite |
POSTGRES_HOST |
— | PostgreSQL host |
POSTGRES_PORT |
— | PostgreSQL port |
POSTGRES_DB |
— | PostgreSQL database name |
POSTGRES_USER |
— | PostgreSQL username |
POSTGRES_PASSWORD |
— | PostgreSQL password |
PORT |
8001 |
Uvicorn listen port |
Session credentials (auth_token, base_url) are passed into session state by the client on session creation, allowing agents to authenticate against the customer's on-premise clarity instance without embedding credentials in the container.
pulse_multi_agents:index.py:47-69
Last updated: 2026-06-02 from pulse_multi_agents@e278054