tracksolid_timescale_grafan.../docs/CONNECTIONS.md
david kiania d5093f0a1c
Some checks failed
Static Analysis / static (push) Waiting to run
Tests / test (push) Waiting to run
Static Analysis / static (pull_request) Has been cancelled
Tests / test (pull_request) Has been cancelled
chore(cleanup): purge n8n, Grafana, and DWH references + dead artifacts
These subsystems are retired and replaced by better alternatives (FleetNow /
FleetOps SPAs via dashboard_api; in-process pooling; reporting.v_ingest_health).
Remove them so the repo reflects the live stack only. Nothing running depends
on the deleted artifacts.

Deleted (dead artifacts):
- n8n-workflows/ (retired webhook exports), grafana/ (provisioning for the
  removed service), dwh/ (migrations for the decommissioned external warehouse)
- runbooks: DWH_PIPELINE.md, DWH_Execution_Manual.md, grafanaDeployment.md,
  grafanaOperationalManual.md

Code/config:
- run_migrations.py: drop sync_role_passwords() (its only entries were the now
  -dead grafana_ro + pgbouncer syncs; the guard already made it inert)
- .env: remove the two unused GRAFANA_* vars
- ingest_movement_rev.py / db_audit / deploy_dashboard_api_staging.sh: reword
  stale Grafana/grafana_ro comments

Docs: scrub n8n/Grafana/DWH from CLAUDE.md, CONNECTIONS, DATA_FLOW,
OPERATIONS_MANUAL, docker_commands, KPI_FRAMEWORK, PLATFORM_OVERVIEW,
STAGING_FLEETOPS, and deprecation-banner the two large SQL libraries
(dwh_gold was already dropped 2026-06-05).

Kept deliberately: the grafana_ro DB role (now an unused read-only login),
applied migration history, dated docs/reports/*, and docs/superpowers/* specs.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 21:41:27 +03:00

94 lines
2.2 KiB
Markdown

# Connection Parameters Reference
**No secrets are stored here. All values come from `.env` at runtime.**
---
## SSH
```
Host: stage.rahamafresh.com
User: kianiadee
Key: ~/.ssh/id_ed25519
```
```bash
ssh -i ~/.ssh/id_ed25519 kianiadee@stage.rahamafresh.com
```
---
## Database
| Parameter | Value |
|---|---|
| Database | `tracksolid_db` |
| Host (internal) | `timescale_db` (Docker service name) |
| Port | `5432` |
| App user | `tracksolid_owner` |
| Read-only user | `dashboard_ro` (used by the staging bridge) · `grafana_ro` (legacy, retained but unused) |
| Superuser | `postgres` |
### `.env` variable names
```
POSTGRES_DB=tracksolid_db
POSTGRES_USER=...
POSTGRES_PASSWORD=...
DATABASE_URL=postgresql://tracksolid_owner:<password>@timescale_db:5432/tracksolid_db
```
### Run a query from host
```bash
DB=$(docker ps --filter name=timescale_db --format "{{.Names}}" | head -1)
docker exec $DB psql -U postgres -d tracksolid_db -c "SELECT COUNT(*) FROM tracksolid.devices;"
```
### Run a query file
```bash
docker exec -i $DB psql -U postgres -d tracksolid_db < migration.sql
```
---
## Tracksolid Pro API
| Parameter | Env var |
|---|---|
| App key | `TRACKSOLID_APP_KEY` |
| App secret | `TRACKSOLID_APP_SECRET` |
| User ID | `TRACKSOLID_USER_ID` |
| Target account | `TRACKSOLID_TARGET_ACCOUNT` (defaults to USER_ID) |
| Password MD5 | `TRACKSOLID_PWD_MD5` |
| Base URL | `TRACKSOLID_API_URL` (default: `https://eu-open.tracksolidpro.com/route/rest`) |
---
## Container Name Resolution
Coolify appends a random suffix to all container names. Never hardcode. Always resolve:
```bash
# Pattern
docker ps --filter name=<service_name> --format "{{.Names}}" | head -1
# Examples
docker ps --filter name=timescale_db --format "{{.Names}}" | head -1
docker ps --filter name=ingest_worker --format "{{.Names}}" | head -1
docker ps --filter name=webhook_receiver --format "{{.Names}}" | head -1
docker ps --filter name=dashboard_api --format "{{.Names}}" | head -1
```
Current suffix (may change on redeploy): `bo3nov2ija7g8wn9b1g2paxs-19xxxxxxxxxx`
---
## Forgejo
```
Host: https://repo.rahamafresh.com
Repo: kianiadee/tracksolid_timescale_grafana_prod
Remote: https://repo.rahamafresh.com/kianiadee/tracksolid_timescale_grafana_prod.git
```