Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
uses: actions/checkout@v4

- name: Validate Docker Compose
run: docker-compose config
run: docker compose config

- name: Validate Nginx config
run: |
Expand Down Expand Up @@ -116,7 +116,7 @@ jobs:
sudo mv kubeconform /usr/local/bin/

- name: Validate Manifests
run: kubeconform -summary -output text k8s/
run: kubeconform -summary -output text -ignore-missing-schemas k8s/

# Integration test
integration-test:
Expand All @@ -128,12 +128,12 @@ jobs:
uses: actions/checkout@v4

- name: Start all services
run: docker-compose up -d
run: docker compose up -d

- name: Wait for services to be ready
run: |
sleep 30
docker-compose ps
docker compose ps

- name: Test Nginx reverse proxy
run: |
Expand Down Expand Up @@ -162,11 +162,11 @@ jobs:

- name: Show logs on failure
if: failure()
run: docker-compose logs
run: docker compose logs

- name: Cleanup
if: always()
run: docker-compose down -v
run: docker compose down -v

# Deployment (optional - uncomment when ready)
# deploy:
Expand Down
16 changes: 8 additions & 8 deletions MIGRATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ Panduan migrasi CloudLab dari Docker Compose ke Kubernetes.
| Aspek | Docker Compose | Kubernetes |
|--------|---------------|------------|
| **Orkestrasi** | Single host | Multi-node cluster |
| **Penskalaan (Scaling)** | Manual (`docker-compose scale`) | Otomatis (HPA) |
| **Penskalaan (Scaling)** | Manual (`docker compose scale`) | Otomatis (HPA) |
| **Ketersediaan Tinggi** | Terbatas | Built-in (replika, pemulihan mandiri) |
| **Load Balancing** | Dasar | Lanjutan (Services, Ingress) |
| **Penyimpanan** | Docker volumes | PersistentVolumes |
| **Jaringan** | Bridge network | Service mesh, Network Policies |
| **Konfigurasi** | Environment variables | ConfigMaps, Secrets |
| **Deployment** | `docker-compose up` | `kubectl apply` |
| **Deployment** | `docker compose up` | `kubectl apply` |
| **Monitoring** | Setup manual | Integrasi native |

## Pemetaan Komponen
Expand Down Expand Up @@ -119,13 +119,13 @@ depends_on:
1. **Audit Setup Saat Ini**
```bash
# List running services
docker-compose ps
docker compose ps

# Cek penggunaan resource
docker stats

# Ekspor konfigurasi
docker-compose config > docker-compose-backup.yml
docker compose config > docker-compose-backup.yml
```

2. **Build dan Tag Images**
Expand Down Expand Up @@ -296,10 +296,10 @@ depends_on:
2. **Hentikan Docker Compose**
```bash
# Hentikan services
docker-compose down
docker compose down

# Simpan volumes untuk backup
# docker-compose down -v # Hanya jika ingin menghapus volumes
# docker compose down -v # Hanya jika ingin menghapus volumes
```

3. **Verifikasi Trafik Produksi**
Expand All @@ -318,10 +318,10 @@ Jika terjadi masalah, rollback kembali ke Docker Compose:
kubectl delete -k k8s/

# 2. Jalankan Docker Compose
docker-compose up -d
docker compose up -d

# 3. Verifikasi services
docker-compose ps
docker compose ps
```

## Masalah Umum (Common Issues)
Expand Down
50 changes: 25 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,12 +63,12 @@ CloudLab dapat di-deploy dengan dua metode:

3. **Jalankan semua layanan**
```bash
docker-compose up -d
docker compose up -d
```

4. **Verifikasi layanan berjalan**
```bash
docker-compose ps
docker compose ps
```

## Endpoint Layanan
Expand Down Expand Up @@ -291,14 +291,14 @@ cloud-lab/

```bash
# Semua services
docker-compose logs -f
docker compose logs -f

# Service tertentu
docker-compose logs -f nodejs-app
docker-compose logs -f python-app
docker-compose logs -f nginx
docker-compose logs -f prometheus
docker-compose logs -f grafana
docker compose logs -f nodejs-app
docker compose logs -f python-app
docker compose logs -f nginx
docker compose logs -f prometheus
docker compose logs -f grafana
```

## Operasi (Kubernetes)
Expand Down Expand Up @@ -329,7 +329,7 @@ kubectl get hpa -n cloudlab-apps

```bash
# Docker Compose
docker-compose down
docker compose down

# Kubernetes
./k8s/scripts/cleanup.sh
Expand All @@ -345,7 +345,7 @@ kubectl delete -k k8s/
3. Konfigurasi reverse proxy di `nginx/nginx.conf`
4. Tambahkan scrape config di `monitoring/prometheus.yml`
5. Tambahkan ke CI/CD pipeline di `ci/github-actions.yml` (matrix strategy)
6. Rebuild: `docker-compose up -d --build`
6. Rebuild: `docker compose up -d --build`

**Kubernetes:**
1. Buat direktori di `k8s/apps/<app-name>/`
Expand All @@ -359,14 +359,14 @@ kubectl delete -k k8s/

```bash
# Semua services
docker-compose logs -f
docker compose logs -f

# Service tertentu
docker-compose logs -f nodejs-app
docker-compose logs -f python-app
docker-compose logs -f nginx
docker-compose logs -f prometheus
docker-compose logs -f grafana
docker compose logs -f nodejs-app
docker compose logs -f python-app
docker compose logs -f nginx
docker compose logs -f prometheus
docker compose logs -f grafana
```

## Monitoring
Expand Down Expand Up @@ -488,7 +488,7 @@ Lihat dokumentasi lengkap di [`ci/README.md`](ci/README.md)
### Pengembangan

```bash
docker-compose up -d
docker compose up -d
```

### Produksi
Expand All @@ -498,7 +498,7 @@ docker-compose up -d
3. Update password admin Grafana
4. Deploy dengan:
```bash
docker-compose -f docker-compose.yml up -d
docker compose -f docker-compose.yml up -d
```

## Pemecahan Masalah (Troubleshooting)
Expand All @@ -519,10 +519,10 @@ sudo lsof -i :9090

```bash
# Cek logs
docker-compose logs <service-name>
docker compose logs <service-name>

# Rebuild container
docker-compose up -d --build --force-recreate <service-name>
docker compose up -d --build --force-recreate <service-name>
```

### Error Sertifikat SSL
Expand All @@ -544,7 +544,7 @@ openssl req -x509 -nodes -days 365 -newkey rsa:2048 \

### Grafana tidak bisa terhubung ke Prometheus

1. Cek Prometheus berjalan: `docker-compose ps prometheus`
1. Cek Prometheus berjalan: `docker compose ps prometheus`
2. Verifikasi config datasource di `monitoring/grafana/datasources.yml`
3. Test koneksi dari Grafana UI: Configuration → Data Sources

Expand All @@ -564,20 +564,20 @@ docker cp cloudlab-prometheus:/prometheus ./backup/prometheus

```bash
# Pull images terbaru
docker-compose pull
docker compose pull

# Recreate containers
docker-compose up -d --force-recreate
docker compose up -d --force-recreate
```

### Pembersihan

```bash
# Hentikan semua layanan
docker-compose down
docker compose down

# Hapus volumes (PERINGATAN: akan menghapus data)
docker-compose down -v
docker compose down -v

# Hapus images yang tidak digunakan
docker image prune -a
Expand Down
6 changes: 3 additions & 3 deletions scripts/cleanup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,14 @@ if [[ ! $REPLY =~ ^[Yy]$ ]]; then
fi

echo "🛑 Stopping services..."
docker-compose down
docker compose down

read -p "🗑️ Remove volumes (all data will be lost)? (y/N) " -n 1 -r
echo ""

if [[ $REPLY =~ ^[Yy]$ ]]; then
echo "🗑️ Removing volumes..."
docker-compose down -v
docker compose down -v
echo "✅ Volumes removed"
fi

Expand All @@ -35,7 +35,7 @@ echo ""

if [[ $REPLY =~ ^[Yy]$ ]]; then
echo "🗑️ Removing images..."
docker-compose down --rmi all
docker compose down --rmi all
echo "✅ Images removed"
fi

Expand Down
22 changes: 11 additions & 11 deletions scripts/setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,13 @@ if ! command -v docker &> /dev/null; then
fi
echo "✅ Docker found: $(docker --version)"

# Check Docker Compose
# Check Docker Compose (v2)
echo "📦 Checking Docker Compose installation..."
if ! command -v docker-compose &> /dev/null; then
echo "❌ Docker Compose is not installed. Please install Docker Compose first."
if ! docker compose version &> /dev/null; then
echo "❌ Docker Compose (v2) is not installed/enabled. Please install Docker Desktop or Docker Compose v2 plugin."
exit 1
fi
echo "✅ Docker Compose found: $(docker-compose --version)"
echo "✅ Docker Compose found: $(docker compose version --short)"

# Create necessary directories
echo ""
Expand Down Expand Up @@ -61,25 +61,25 @@ fi
# Validate Docker Compose configuration
echo ""
echo "🔍 Validating Docker Compose configuration..."
docker-compose config > /dev/null
docker compose config > /dev/null
echo "✅ Docker Compose configuration is valid"

# Pull images
echo ""
echo "📥 Pulling Docker images..."
docker-compose pull
docker compose pull
echo "✅ Images pulled"

# Build custom images
echo ""
echo "🔨 Building application images..."
docker-compose build
docker compose build
echo "✅ Images built"

# Start services
echo ""
echo "🚀 Starting services..."
docker-compose up -d
docker compose up -d
echo "✅ Services started"

# Wait for services to be ready
Expand Down Expand Up @@ -128,8 +128,8 @@ echo " • Grafana: http://localhost:3000 (admin/admin123)"
echo " • Prometheus: http://localhost:9090"
echo ""
echo "📝 Useful commands:"
echo " • View logs: docker-compose logs -f"
echo " • Stop: docker-compose down"
echo " • Restart: docker-compose restart"
echo " • View logs: docker compose logs -f"
echo " • Stop: docker compose down"
echo " • Restart: docker compose restart"
echo ""
echo "🎉 Happy coding!"
Loading