# getpgdata Node.js приложение для доступа к PostgreSQL (managed k8s, internal-only). Развёртывается на платформе Nubes как NodeJS managed service (аналогично ipwhitelist-app). ## Возможности - `GET /` — состояние подключения и список таблиц (не системные схемы) - `GET /table?schema=public&name=` — просмотр содержимого таблицы с пагинацией - `POST /query` — SQL-консоль (read-only, только `SELECT`) - `GET /healthz` — liveness-проба для k8s ## Структура ``` getpgdata/ ├── package.json ├── server.js # точка входа (Express) ├── public/ │ └── style.css └── views/ ├── index.ejs ├── table.ejs ├── query.ejs └── error.ejs ``` ## Переменные окружения (jsonEnv) ```json { "DB_HOST": "postgresqlk8s-master.60bdf3e3-5087-41ff-b760-fe6ea544a80e.svc.cluster.local", "DB_PORT": "5432", "DB_NAME": "postgres", "DB_USER": "super", "DB_PASS": "", "DB_SSLMODE": "disable", "DB_CONNECT_TIMEOUT": "5000", "QUERY_MAX_ROWS": "200", "APP_ENV": "production", "PORT": "5000" } ``` БД доступна только изнутри k8s (internal `.svc.cluster.local`), поэтому приложение должно работать внутри кластера Nubes. ## Локальный запуск ```bash npm install DB_HOST= DB_USER= DB_PASS= npm start ``` Если БД недоступна — приложение стартует и показывает ошибку на странице, а не падает (важно для k8s health-проб и диагностики).