Skip to content

halilbsp/cloudops-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CloudOps Manager

CloudOps Manager, bulut kaynakları, konteynerler, izleme, loglar, maliyet, pipeline ve uyarı süreçlerini tek panelden yönetmek için hazırlanmış tam yığın bir yönetim platformudur.

Proje; FastAPI tabanlı bir backend, React + Vite tabanlı bir frontend ve PostgreSQL, Redis, InfluxDB, Elasticsearch gibi servisleri içeren Docker altyapısından oluşur.

Özellikler

  • Kullanıcı kimlik doğrulama ve oturum yönetimi
  • Dashboard üzerinden genel durum takibi
  • Bulut kaynaklarını listeleme ve yönetme
  • Konteyner verilerini görüntüleme
  • İzleme ve metrik akışlarını takip etme
  • Log yönetimi
  • Maliyet görünürlüğü
  • Pipeline süreçlerini izleme
  • Uyarı ve bildirim ekranları

Teknoloji Yığını

Backend

  • FastAPI
  • SQLAlchemy
  • Alembic
  • Pydantic Settings
  • Celery
  • Redis
  • InfluxDB Client

Frontend

  • React 18
  • Vite
  • React Router
  • Axios
  • Tailwind CSS
  • Recharts
  • Socket.IO Client

Altyapı

  • PostgreSQL
  • Redis
  • InfluxDB
  • Elasticsearch
  • Docker Compose
  • Nginx

Proje Yapısı

cloudops-manager/
|- backend/           # FastAPI uygulaması
|- frontend/          # React + Vite arayüzü
|- infrastructure/    # Alternatif docker-compose altyapı dosyaları
|- nginx/             # Nginx yapılandırması
|- docker-compose.yml # Ana servis tanımları
|- .env.example       # Kök ortam değişkeni örnekleri
`- README.md

Gereksinimler

  • Python 3.11+
  • Node.js 18+
  • npm
  • Docker
  • Docker Compose

Kurulum

1. Repo'yu klonlayın

git clone https://github.com/halilbsp/cloudops-manager.git
cd cloudops-manager

2. Ortam değişkenlerini hazırlayın

Kök dizindeki örnek dosyayı kopyalayın:

cp .env.example .env

Backend için örnek dosyayı kopyalayın:

cp backend/.env.example backend/.env

Windows PowerShell kullanıyorsanız:

Copy-Item .env.example .env
Copy-Item backend/.env.example backend/.env

Ardından .env ve backend/.env dosyalarındaki şifre, token ve bağlantı bilgilerini kendi ortamınıza göre güncelleyin.

Çalıştırma

Seçenek 1: Altyapıyı Docker ile başlatın

Kök dizinden:

docker compose up -d

Bu komut şu servisleri ayağa kaldırır:

  • PostgreSQL
  • Redis
  • InfluxDB
  • Elasticsearch

Seçenek 2: Backend'i başlatın

cd backend
python -m venv .venv

Windows:

.venv\Scripts\Activate.ps1
pip install -r requirements.txt
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000

macOS / Linux:

source .venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000

Backend varsayılan olarak http://localhost:8000 adresinde çalışır.

Seçenek 3: Frontend'i başlatın

Yeni bir terminal açın:

cd frontend
npm install
npm run dev

Frontend varsayılan olarak Vite üzerinden http://localhost:5173 adresinde çalışır.

API ve Erişim Bilgileri

  • Backend ana adresi: http://localhost:8000
  • Backend sağlık kontrolü: http://localhost:8000/health
  • Backend Swagger arayüzü: http://localhost:8000/docs
  • Frontend: http://localhost:5173

Backend Modülleri

Backend tarafında aşağıdaki API grupları bulunur:

  • /api/auth
  • /api/dashboard
  • /api/cloud
  • /api/containers
  • /api/monitoring
  • /api/pipelines
  • /api/logs
  • /api/cost
  • /api/alerts
  • /api/settings

Frontend Sayfaları

Frontend tarafında öne çıkan sayfalar:

  • Dashboard
  • Bulut Kaynakları
  • Konteynerler
  • İzleme
  • Pipeline
  • Loglar
  • Maliyet
  • Uyarılar
  • Ayarlar
  • Giriş / Kayıt

Geliştirme Notları

  • API istekleri frontend tarafında merkezi olarak frontend/src/lib/api.js üzerinden yönetilir.
  • Kimlik doğrulama akışı frontend/src/contexts/AuthContext.jsx içinde bulunur.
  • Backend ayarları backend/app/core/config.py üzerinden okunur.
  • Ortam değişkenleri repo içine gerçek değerlerle eklenmemelidir.

GitHub'a Yükleme Öncesi

Aşağıdaki dosya ve klasörler repoya dahil edilmemelidir:

  • .env
  • backend/.env
  • frontend/node_modules/
  • backend/cloudops.db

Projedeki .gitignore bu dosyaları hariç tutacak şekilde düzenlenmiştir.

Faydalı Komutlar

Frontend

cd frontend
npm run dev
npm run build
npm run preview
npm run lint

Backend

cd backend
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000

Docker

docker compose up -d
docker compose down
docker compose logs -f

Durum

Bu repo aktif geliştirme altındadır. Ortam değişkenlerini doldurduktan ve altyapı servislerini başlattıktan sonra proje yerel geliştirme için hazırdır.

About

Bulut kaynakları yönetimi, maliyet analizi, CI/CD pipeline takibi ve konteyner orkestrasyonunu tek bir modern arayüzde birleştiren gelişmiş bir bulut yönetim (CloudOps) çözümü.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors