# Resource nubes_flask Service ID: `89` Service Name: Web-сервер с фреймворком Flask [Manual](flask.md) | [Create params](flask_params_create.md) | [Modify params](flask_params_modify.md) | [Output params](flask_outputs.md) | [Operations](flask_ops.md) | [Example](flask_example.md) ## MAN
# Инструкция по развертыванию Web-сервер с фреймворком Flask через платформу

## 1. Общая информация

Сервис **Web-сервер с фреймворком Flask** предназначен для развертывания веб-приложений на базе Flask.

### Доступные операции

create — включить сервис, развернуть веб-приложение с указанными параметрами.
delete — удалить сервис, только после suspend.
modify — изменить настройки сервиса и переразвернуть.
suspend — выключить веб-приложение, остановить обслуживание.
resume — включить веб-приложение после suspend.

---

## 2. Параметры развертывания

Параметры входных данных операции **create**:

### Имя домена
Описание: доменное имя для доступа к веб-приложению. Если указан FQDN, происходит проверка DNS на валидность А-записи. А-запись должна указывать на балансировщик ресурсной платформы. Если указано имя в рамках одного октета, оно будет добавлено в публичную DNS-зону.
Пример значения: строка, допустимые FQDN или имя в одном октете. Пример: example.com или myapp.

### Платформа для развертывания
Описание: кластер Kubernetes, в котором будет развернуто приложение.
Пример значения: идентификатор кластера Kubernetes.

### Квота ядра пода
Описание: количество CPU, выделяемое на под, в Milicores.
Пример значения: целое число, например 500 для 0.5 ядра.

### Квота памяти пода
Описание: количество памяти, выделяемое на под, в Megabytes.
Пример значения: целое число, например 512 для 512 MB.

### Кол-во реплик пода
Описание: количество инстансов пода для масштабирования.
Пример значения: целое число, шт, например 2.

### URL Проекта (gitpath)
Описание: полный HTTPS путь до проекта в Git-репозитории.
Пример значения: URL в формате https://github.com/myuser/myproject.git. Доступ к репозиторию должен быть публичным.

### URL HealthCheck
Описание: путь для проверки здоровья приложения внутри пода.
Пример значения: строка, путь, например /api/v1/health.

### Переменные окружения пода
Описание: структура данных, которая будет передана как переменные окружения в под.
Пример значения: ключ-значение, например {"ENV": "production"}.

---

## 3. Рекомендованные характеристики

### Тестовое окружение
- Квота ядра пода: 300m (0.3 ядра)
- Квота памяти пода: 256 MB
- Кол-во реплик пода: 1

### Промышленное окружение
- Квота ядра пода: от 1000m (1 ядро) в зависимости от нагрузки
- Квота памяти пода: от 1024 MB (1 GB) с учетом потребностей приложения
- Кол-во реплик пода: от 2 для обеспечения отказоустойчивости

---

## 4. Выходные параметры
Операция create не возвращает явных выходных параметров. Успешное выполнение операции приводит к развертыванию сервиса, доступного по указанному домену.

---

## 5. Дополнительная информация
- В корне проекта должен находиться файл requirements.txt со списком зависимостей Python.
- Исходный код веб-приложения должен располагаться в директории site.
- Запуск веб-сервера осуществляется командой python app.py.
- Используется версия Python: python:3.12-slim.
- Git-репозиторий должен быть публично доступен для платформы.
- Операция delete возможна только после suspend.
- Операция modify приводит к переразвертыванию с новыми параметрами.