# getpgdata
Flask-приложение для доступа к PostgreSQL (managed k8s, internal-only).
Развёртывается на платформе Nubes как Python managed service (структура `site/app.py`).
## Возможности
- Главная — состояние подключения и список таблиц (не системные схемы)
- `GET /table?schema=public&name=
` — просмотр содержимого таблицы с пагинацией
- `POST /query` — SQL-консоль (read-only, только `SELECT`)
- `GET /healthz` — liveness-проба для k8s
## Структура
```
getpgdata/
├── requirements.txt
└── site/
├── app.py
├── static/
│ └── style.css
└── templates/
├── index.html
├── table.html
├── query.html
└── error.html
```
## Переменные окружения (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": "5",
"QUERY_MAX_ROWS": "200",
"APP_ENV": "production",
"FLASK_DEBUG": "false"
}
```
БД доступна только изнутри k8s (internal `.svc.cluster.local`), поэтому приложение
должно работать внутри кластера Nubes.
## Локальный запуск
```bash
pip install -r requirements.txt
DB_HOST= DB_USER= DB_PASS= python site/app.py
```
Если БД недоступна — приложение стартует и показывает ошибку на странице,
а не падает (важно для k8s health-проб и диагностики).