Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

# 🚀 DevOps Toolbox — Локальная CI/CD-платформа "из коробки"

Готовое решение для локального запуска инструментов DevOps — для обучения, тестирования и демонстрации реального DevOps-процесса с CI/CD, мониторингом и логированием.

---

## 🎯 Цель проекта

**DevOps Toolbox** предназначен для:
- студентов и джуниор-инженеров, осваивающих DevOps-инструменты,
- разработчиков, которым нужно CI/CD и мониторинг для pet-проектов,
- всех, кто хочет быстро поднять инфраструктуру, похожую на продакшн, — **на локальной машине**.

---

## 📦 Что входит в состав

| Компонент       | Инструмент                 | Назначение                                     |
|------------------|----------------------------|------------------------------------------------|
| CI/CD            | Jenkins или GitHub Actions | Сборка, тестирование и деплой приложений       |
| Kubernetes       | k3d или k3s                | Лёгкий кластер K8s для локального запуска      |
| Мониторинг       | Prometheus + Grafana       | Сбор и визуализация метрик                     |
| Логирование      | Loki                       | Централизованное логирование                   |
| GitOps           | ArgoCD                     | Декларативный деплой через Git                 |
| Секреты          | Kubernetes Secrets         | Безопасное хранение конфигураций               |
| Ingress          | Nginx или Traefik          | Доступ к сервисам через домены localhost       |
| Демонстрационное приложение | Flask или Node.js | Пример реального CI/CD-пайплайна               |

---

## 🧱 Архитектура

```
Локальный компьютер
│
├── k3d (кластер Kubernetes)
│   ├── Jenkins (CI/CD)
│   ├── ArgoCD (GitOps-деплой)
│   ├── Prometheus + Grafana (метрики)
│   ├── Loki (логи)
│   ├── Demo App (Flask или Node.js)
│   └── Ingress (Traefik или Nginx)
│
└── Git-репозиторий
    ├── YAML пайплайны
    ├── Манифесты K8s
    └── ArgoCD конфигурации
```

---

## 🚀 Быстрый старт

```bash
git clone https://github.com/yourusername/devops-toolbox.git
cd devops-toolbox
make init         # Установка зависимостей (Docker, k3d и т.д.)
make up           # Запуск всех сервисов
make deploy-app   # Развёртывание тестового приложения
```

Доступ к интерфейсам:
- Jenkins: [http://localhost:8080](http://localhost:8080)
- Grafana: [http://localhost:3000](http://localhost:3000)
- ArgoCD: [http://localhost:9000](http://localhost:9000)

---

## 🛠️ Стек технологий

- 🐳 Docker, docker-compose или k3d
- ☸️ Kubernetes
- ⚙️ Jenkins или GitHub Actions (self-hosted)
- 📈 Prometheus + Grafana
- 📝 Loki
- 🔁 ArgoCD
- 🌐 Ingress (Traefik или Nginx)
- 🐍 Flask / Node.js — демонстрационное приложение

---

## 🧪 Возможности

- Пример пайплайна: билд → тест → деплой через ArgoCD.
- Сбор метрик с приложений и кластеров.
- Логирование pod’ов и контейнеров через Loki.
- Поддержка Ingress — легко доступен интерфейс каждого сервиса.

---

## 🔐 Дополнительно (опционально)

- Интеграция с Vault для управления секретами.
- Telegram / Slack уведомления при падении пайплайна.
- Расширение Terraform для развертывания в облаке.

---

## 📍 Планы на будущее

- [ ] Поддержка GitHub Actions в дополнение к Jenkins.
- [ ] Интеграция Vault.
- [ ] Автоматический генератор постмортемов (AI).
- [ ] Туториал-серия: “CI/CD с нуля с DevOps Toolbox”.
- [ ] Режим “для обучения” — задания и тесты.

---

## 👥 Для кого этот проект

- 🎓 Студенты и выпускники ИТ-направлений
- 🛠️ Джуниор DevOps / SRE инженеры
- 👨‍💻 Разработчики, которым нужна локальная CI/CD инфраструктура
- 🧪 Разработчики PoC и тестовых сред

---

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

- [`docs/setup.md`](./docs/setup.md): запуск на локальной машине
- [`docs/ci-cd.md`](./docs/ci-cd.md): описание пайплайнов
- [`docs/troubleshooting.md`](./docs/troubleshooting.md): устранение неполадок
- [`docs/extending.md`](./docs/extending.md): подключение новых сервисов

---

## 🤝 Контрибуции

Приветствуются Pull Request’ы, идеи, улучшения и ошибки! Если ты студент — этот проект создан именно для тебя 💙

---

## 📄 Лицензия

MIT License — можно использовать, модифицировать и распространять свободно.

About

Toolbox demo

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages