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)