Hızlı Başlangıç
Bu rehberde Consul Guardian'ı kurup yerel bir Consul instance'ı ile çalıştırmayı göreceksin.
Gereksinimler
- Go 1.22+ (kaynak koddan derleme için)
- Git (versiyon takibi için)
- Consul (test için yerel instance yeterli)
- Node.js 18+ (dashboard frontend'i derlemek için)
Go ve Node.js kurulumuna gerek yok. Doğrudan Docker ile kurulum bölümüne atla.
Kaynak Koddan Kurulum
# Repo'yu klonla
git clone https://github.com/consul-guardian/consul-guardian.git
cd consul-guardian
# Backend'i derle
go build -o consul-guardian .
# Frontend'i derle
cd frontend && npm install && npm run build && cd ..
Derleme tamamlandıktan sonra ./consul-guardian version komutuyla çalıştığını doğrula:
$ ./consul-guardian version
consul-guardian v0.1.0 (abc1234) built 2026-04-04T10:00:00Z
Docker ile Kurulum
docker pull ghcr.io/consul-guardian/consul-guardian:latest
Yerel Consul ile Çalıştırma
Eğer Consul kurulu değilse, en hızlı yol Docker ile başlatmak:
# Yerel Consul başlatma (dev modu)
docker run -d --name consul-dev \
-p 8500:8500 \
hashicorp/consul:1.18 agent -dev -client=0.0.0.0
Consul'un çalıştığını kontrol et:
curl http://localhost:8500/v1/status/leader
# "127.0.0.1:8300" gibi bir cevap dönmeli
Test Verisi Yükleme
Consul'a birkaç örnek key/value ekleyelim:
# Config key'leri
consul kv put config/production/database '{"host":"db.prod.internal","port":5432,"pool_size":20}'
consul kv put config/production/redis '{"host":"redis.prod.internal","port":6379}'
consul kv put config/staging/database '{"host":"db.staging.internal","port":5432,"pool_size":5}'
# Feature flag'ler
consul kv put feature-flags/dark-mode '{"enabled":true,"rollout":0.5}'
consul kv put feature-flags/new-checkout '{"enabled":false}'
# Environment değişkenleri
consul kv put env/production/API_KEY 'sk-prod-abc123'
consul kv put env/staging/API_KEY 'sk-staging-xyz789'
curl ile de ekleyebilirsin:
curl -X PUT -d '{"host":"db.prod.internal","port":5432}' \
http://localhost:8500/v1/kv/config/production/database
Watch Başlatma
Şimdi Guardian'ın değişiklikleri izlemesini başlat:
# Git repo'su oluştur (Guardian burada commit yapacak)
mkdir -p ./consul-backup && cd ./consul-backup && git init && cd ..
# Watch başlat
./consul-guardian watch \
--consul-addr http://localhost:8500 \
--prefix "config/,feature-flags/,env/" \
--git-repo ./consul-backup
Başka bir terminal'de bir key değiştir:
consul kv put config/production/database '{"host":"db.prod.internal","port":5432,"pool_size":50}'
Guardian'ın log'unda değişikliği yakaladığını göreceksin. Git repo'sunda da yeni commit oluşmuş olacak:
cd consul-backup && git log --oneline
# abc1234 consul-guardian: 1 keys changed
# def5678 consul-guardian: Initial sync
Dashboard'u Başlatma
Dashboard, watch + web UI'ı tek bir process'te çalıştırır:
./consul-guardian dashboard \
--consul-addr http://localhost:8500 \
--prefix "config/,feature-flags/,env/" \
--git-repo ./consul-backup \
--static-dir ./frontend/dist \
--listen :9090
Tarayıcıda http://localhost:9090 adresini aç. KV store'unu görebilir, değişiklikleri canlı takip edebilir, drift kontrolü yapabilirsin.
Docker ile Tek Komutla
Hepsini Docker ile çalıştırmak için:
docker run -d \
--name consul-guardian \
-e CONSUL_GUARDIAN_CONSUL_ADDRESS=http://host.docker.internal:8500 \
-v $(pwd)/consul-backup:/home/guardian/repo \
-p 9090:9090 \
ghcr.io/consul-guardian/consul-guardian:latest \
dashboard --prefix "config/,feature-flags/" --listen :9090
Sonraki Adımlar
- Watch Rehberi -- İzleme mekanizmasının detayları
- Dashboard Rehberi -- 10 sayfanın tam açıklaması
- Drift Tespiti -- Konfigürasyon sapmalarını bulma
- Yapılandırma -- Tüm ayarların referansı