# 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-проб и диагностики).