Skip to content

Repository files navigation

Addon Operator

Kubernetes Operator для декларативного управления аддонами кластера через интеграцию с Argo CD.

Что это?

Addon Operator автоматизирует установку, обновление и управление жизненным циклом дополнительных компонентов (аддонов) в Kubernetes кластерах. Вместо ручного управления Helm релизами, вы описываете желаемое состояние через Custom Resources, а оператор обеспечивает его достижение.

Ключевые возможности

  • Декларативное управление — аддоны описываются как Kubernetes ресурсы
  • Агрегация конфигурации — сборка Helm values из нескольких источников с приоритетами
  • Условная конфигурация — активация настроек в зависимости от состояния кластера
  • Управление зависимостями — контроль порядка развёртывания аддонов
  • GitOps интеграция — Argo CD как backend для развёртывания

Архитектура

┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│   Addon     │────▶│   Addon     │────▶│  Argo CD    │
│    CRD      │     │ Controller  │     │ Application │
└─────────────┘     └─────────────┘     └─────────────┘
       ▲                   │
       │                   ▼
┌─────────────┐     ┌─────────────┐
│ AddonValue  │     │  Агрегация  │
│    CRD      │     │   Values    │
└─────────────┘     └─────────────┘
       ▲                   ▲
       │                   │
┌─────────────┐     ┌─────────────┐
│ AddonPhase  │────▶│  Движок     │
│    CRD      │     │  Criteria   │
└─────────────┘     └─────────────┘

Быстрый старт

Установка CRD

make install

Развёртывание оператора

make deploy IMG=<your-registry>/addon-operator:latest

Создание первого аддона

apiVersion: addons.in-cloud.io/v1alpha1
kind: Addon
metadata:
  name: prometheus
spec:
  chart: kube-prometheus-stack
  repoURL: https://prometheus-community.github.io/helm-charts
  version: "55.6.0"
  targetCluster: in-cluster
  targetNamespace: monitoring
kubectl apply -f prometheus-addon.yaml

Проверка статуса

kubectl get addon prometheus

Документация

Подробная документация доступна в директории docs/:

Раздел Описание
Быстрый старт Установка и первые шаги
Концепции Addon, AddonValue, AddonPhase
Руководство Пошаговые инструкции
Справочник API Спецификации CRD
Примеры Готовые конфигурации
Устранение неполадок Решение проблем

Требования

  • Kubernetes 1.28+
  • Argo CD 2.8+
  • Go 1.21+ (для сборки)

Разработка

# Запуск локально
make run

# Тесты
make test

# Линтер
make lint

# Генерация CRD манифестов
make manifests

Лицензия

Apache License 2.0. См. LICENSE.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages