5c5e11c5a8e035af7ca85e6df714f4701ad90b1c
getpgdata
Flask-приложение для доступа к PostgreSQL (managed k8s, internal-only).
Развёртывается на платформе Nubes как Python managed service (структура site/app.py).
Возможности
- Главная — состояние подключения и список таблиц (не системные схемы)
GET /table?schema=public&name=<table>— просмотр содержимого таблицы с пагинацией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)
{
"DB_HOST": "postgresqlk8s-master.60bdf3e3-5087-41ff-b760-fe6ea544a80e.svc.cluster.local",
"DB_PORT": "5432",
"DB_NAME": "postgres",
"DB_USER": "super",
"DB_PASS": "<secret>",
"DB_SSLMODE": "disable",
"DB_CONNECT_TIMEOUT": "5",
"QUERY_MAX_ROWS": "200",
"APP_ENV": "production",
"FLASK_DEBUG": "false"
}
БД доступна только изнутри k8s (internal .svc.cluster.local), поэтому приложение
должно работать внутри кластера Nubes.
Локальный запуск
pip install -r requirements.txt
DB_HOST=<host> DB_USER=<user> DB_PASS=<pass> python site/app.py
Если БД недоступна — приложение стартует и показывает ошибку на странице, а не падает (важно для k8s health-проб и диагностики).
Languages
PLpgSQL
49.3%
JavaScript
28%
EJS
16.3%
CSS
6.4%