Обновлен Kubernetes манифест с новыми возможностями

- Добавлена поддержка MAX/VK мессенджера (MAX_ACCESS_TOKEN, MAX_API_VERSION, MAX_ENABLED)
- Добавлена переменная TELEGRAM_ENABLED для управления Telegram
- Добавлена переменная DEFAULT_MESSENGER для выбора мессенджера по умолчанию
- Заменен GROUPS_ADMIN_PASSWORD на API_KEY для авторизации
- Обновлен формат groups.json в ConfigMap с поддержкой мессенджеров
- Исправлены health check endpoints (оба используют /api/v1/health)
- Улучшена структура секретов с комментариями

Автор: Сергей Антропов
Сайт: https://devops.org.ru
This commit is contained in:
2025-11-12 20:29:59 +03:00
parent b90def35ed
commit b1e2f7fd22

View File

@@ -11,14 +11,29 @@ metadata:
namespace: message-gateway
type: Opaque
stringData:
# Telegram настройки
telegram_bot_token: "" # Установите токен через kubectl create secret или SealedSecret
telegram_enabled: "true" # Включить Telegram (true/false)
# MAX/VK настройки
max_access_token: "" # Access Token для MAX/VK (опционально)
max_api_version: "5.131" # Версия API MAX/VK
max_enabled: "false" # Включить MAX/VK (true/false)
# Общие настройки мессенджеров
default_messenger: "telegram" # Мессенджер по умолчанию (telegram/max)
# API ключ для авторизации
api_key: "" # API ключ для авторизации (обязательно для управления группами)
# Prometheus Pushgateway настройки
pushgateway_url: "" # URL Pushgateway (опционально)
pushgateway_job: "MessageGateway"
# Grafana настройки
grafana_url: "" # URL Grafana (опционально)
# Zabbix настройки
zabbix_url: "" # URL Zabbix (опционально)
# Kubernetes кластер настройки
k8s_cluster_grafana_subdomain: "" # Поддомен Grafana для K8S кластеров (опционально)
k8s_cluster_prometheus_subdomain: "" # Поддомен Prometheus для K8S кластеров (опционально)
k8s_cluster_alertmanager_subdomain: "" # Поддомен AlertManager для K8S кластеров (опционально)
# OpenTelemetry настройки
otel_enabled: "false" # Включить OpenTelemetry (true/false)
otel_service_name: "monitoring-message-gateway"
otel_exporter_otlp_endpoint: "" # Endpoint OpenTelemetry (опционально)
@@ -26,13 +41,13 @@ stringData:
otel_traces_exporter: "otlp_proto_http"
otel_exporter_otlp_insecure: "true"
otel_python_log_correlation: "false"
groups_admin_password: "" # Пароль для управления группами (опционально)
# Jira настройки
jira_enabled: "false" # Включить интеграцию с Jira (true/false)
jira_url: "" # URL Jira (опционально)
jira_email: "" # Email пользователя Jira (опционально)
jira_api_token: "" # API Token Jira (опционально)
jira_project_key: "" # Ключ проекта Jira (опционально)
jira_default_assignee: "" # Email исполнителя по умолчанию (опционально)
jira_default_assignee: "" # Email или accountId исполнителя по умолчанию (опционально)
jira_default_issue_type: "Bug" # Тип задачи по умолчанию
jira_create_on_alert: "true" # Создавать тикет при алерте (true/false)
jira_create_on_resolved: "false" # Создавать тикет при resolved (true/false)
@@ -72,23 +87,66 @@ spec:
ports:
- containerPort: 8000
env:
# Telegram настройки
- name: TELEGRAM_BOT_TOKEN
valueFrom:
secretKeyRef:
name: message-gateway-secret
key: telegram_bot_token
- name: TELEGRAM_ENABLED
valueFrom:
secretKeyRef:
name: message-gateway-secret
key: telegram_enabled
optional: true
# MAX/VK настройки
- name: MAX_ACCESS_TOKEN
valueFrom:
secretKeyRef:
name: message-gateway-secret
key: max_access_token
optional: true
- name: MAX_API_VERSION
valueFrom:
secretKeyRef:
name: message-gateway-secret
key: max_api_version
optional: true
- name: MAX_ENABLED
valueFrom:
secretKeyRef:
name: message-gateway-secret
key: max_enabled
optional: true
# Общие настройки мессенджеров
- name: DEFAULT_MESSENGER
valueFrom:
secretKeyRef:
name: message-gateway-secret
key: default_messenger
optional: true
# API ключ для авторизации
- name: API_KEY
valueFrom:
secretKeyRef:
name: message-gateway-secret
key: api_key
optional: true
# Grafana настройки
- name: GRAFANA_URL
valueFrom:
secretKeyRef:
name: message-gateway-secret
key: grafana_url
optional: true
# Zabbix настройки
- name: ZABBIX_URL
valueFrom:
secretKeyRef:
name: message-gateway-secret
key: zabbix_url
optional: true
# Kubernetes кластер настройки
- name: K8S_CLUSTER_GRAFANA_SUBDOMAIN
valueFrom:
secretKeyRef:
@@ -107,6 +165,7 @@ spec:
name: message-gateway-secret
key: k8s_cluster_alertmanager_subdomain
optional: true
# Prometheus Pushgateway настройки
- name: PUSHGATEWAY_URL
valueFrom:
secretKeyRef:
@@ -119,6 +178,7 @@ spec:
name: message-gateway-secret
key: pushgateway_job
optional: true
# OpenTelemetry настройки
- name: OTEL_ENABLED
valueFrom:
secretKeyRef:
@@ -161,12 +221,7 @@ spec:
name: message-gateway-secret
key: otel_python_log_correlation
optional: true
- name: GROUPS_ADMIN_PASSWORD
valueFrom:
secretKeyRef:
name: message-gateway-secret
key: groups_admin_password
optional: true
# Jira настройки
- name: JIRA_ENABLED
valueFrom:
secretKeyRef:
@@ -234,7 +289,7 @@ spec:
# Readiness проба
readinessProbe:
httpGet:
path: /api/v1/health/ready
path: /api/v1/health
port: 8000
initialDelaySeconds: 10
periodSeconds: 10
@@ -274,9 +329,24 @@ metadata:
data:
groups.json: |
{
"kubernetes": -1002108349725,
"monitoring": -1001997464975,
"oldmonitoring": -1001469966749
"kubernetes": {
"messenger": "telegram",
"chat_id": -1002108349725,
"thread_id": 0,
"config": {}
},
"monitoring": {
"messenger": "telegram",
"chat_id": -1001997464975,
"thread_id": 0,
"config": {}
},
"oldmonitoring": {
"messenger": "telegram",
"chat_id": -1001469966749,
"thread_id": 0,
"config": {}
}
}
---
apiVersion: v1