ctk_restAPI#
Такая книга ресурсов развернет один под ctk-restapi — сервис для безопасного ролевого подключения к API Kubernetes.
ctk-restapi предоставляет REST API с аутентификацией через JWT и управлением доступом на основе разрешений. Он позволяет управлять Kubernetes-сервисами и выполнять операции в кластере с контролем доступа.
Публикация книги ресурсов#
Сервис может быть опубликован через Ingress или через указание внешнего IP (external_ip).
Конфигурационные значения (values)#
port#
Порт, на котором работает REST API (по умолчанию: 8000).
replicas#
Количество реплик пода (по умолчанию: 1).
env#
Окружение приложения: production, development или test (по умолчанию: production).
jwt_algorithm#
Алгоритм подписи JWT (по умолчанию: HS256).
access_token_expire_minutes#
Время жизни access-токена в минутах (по умолчанию: 15).
login_rate_limit_requests#
Лимит запросов на аутентификацию в минуту (по умолчанию: 5).
rate_limit_requests_per_minute#
Общий лимит запросов к API в минуту (по умолчанию: 10).
log_level#
Уровень логирования: DEBUG, INFO, WARNING, ERROR, CRITICAL (по умолчанию: INFO).
audit_enabled#
Включить аудит-логирование (по умолчанию: true).
max_reason_length#
Максимальная длина причины для операций (например, перезагрузки) в символах (по умолчанию: 500).
cors_origins#
Список разрешённых источников для CORS (по умолчанию: [«*»]).
cors_allow_credentials#
Разрешить передачу учётных данных в CORS (по умолчанию: false).
cors_allow_methods#
Разрешённые HTTP-методы для CORS (по умолчанию: [«GET», «POST»]).
cors_allow_headers#
Разрешённые HTTP-заголовки для CORS (по умолчанию: [«Content-Type», «Authorization»]).
kubernetes_services#
Список конфигураций Kubernetes-сервисов, к которым предоставляется доступ через API. Каждый элемент включает:
name — имя сервиса,
namespace — пространство имён,
service_name — имя Kubernetes-сервиса,
label_selector — селектор меток.
users_config#
Список пользователей и их разрешений. Каждый пользователь включает:
username — имя пользователя,
permissions — список разрешений в форматах: service:all, service:view, service:restart, service:NAME:view, service:NAME:restart.
Конфигурационные характеристики (spec)#
containers.ctk-restapi.resources#
Ресурсы контейнера:
requests — запрашиваемые ресурсы (память и CPU),
limits — ограничения ресурсов (память и CPU).
port#
Порт сервиса (должен соответствовать значению из values)