Ana içeriğe geç

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)
Docker Kullanıyorsan

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'
consul CLI yoksa

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