101 lines
1.8 KiB
Markdown
101 lines
1.8 KiB
Markdown
# Phase 5: Network Simplification
|
|
|
|
## Agent Assignment
|
|
**Primary Agent:** infra-agent
|
|
**Duration:** 15 minutes
|
|
|
|
## Prerequisites
|
|
- Phase 1 (Docker Compose) must be complete
|
|
|
|
## Objectives
|
|
1. Reduce networks from 5 to 3
|
|
2. Remove platform and egress networks
|
|
3. Update service network assignments
|
|
4. Maintain proper isolation
|
|
|
|
## Step-by-Step Instructions
|
|
|
|
### Step 1: Update docker-compose.yml Networks Section
|
|
|
|
**Remove these networks:**
|
|
```yaml
|
|
# DELETE:
|
|
platform:
|
|
driver: bridge
|
|
egress:
|
|
driver: bridge
|
|
```
|
|
|
|
**Keep these networks:**
|
|
```yaml
|
|
networks:
|
|
frontend:
|
|
driver: bridge
|
|
backend:
|
|
driver: bridge
|
|
database:
|
|
driver: bridge
|
|
```
|
|
|
|
### Step 2: Update Service Network Assignments
|
|
|
|
```yaml
|
|
mvp-traefik:
|
|
networks:
|
|
- frontend
|
|
|
|
mvp-frontend:
|
|
networks:
|
|
- frontend
|
|
- backend # Needs to reach backend API
|
|
|
|
mvp-backend:
|
|
networks:
|
|
- backend
|
|
- database # Needs to reach postgres and redis
|
|
|
|
mvp-postgres:
|
|
networks:
|
|
- database
|
|
|
|
mvp-redis:
|
|
networks:
|
|
- database
|
|
|
|
mvp-platform:
|
|
networks:
|
|
- backend # Reached by mvp-backend
|
|
- database # Reaches postgres and redis
|
|
```
|
|
|
|
### Step 3: Restart Services
|
|
```bash
|
|
docker compose down
|
|
docker compose up -d
|
|
```
|
|
|
|
### Step 4: Verify Network Configuration
|
|
```bash
|
|
# List networks
|
|
docker network ls | grep motovaultpro
|
|
# Expected: 3 networks (frontend, backend, database)
|
|
|
|
# Test connectivity
|
|
docker compose exec mvp-backend ping -c 1 mvp-postgres
|
|
docker compose exec mvp-backend ping -c 1 mvp-platform
|
|
# Expected: Successful
|
|
```
|
|
|
|
## Validation Criteria
|
|
- [ ] Only 3 networks exist (frontend, backend, database)
|
|
- [ ] All services can communicate as needed
|
|
- [ ] No platform or egress networks
|
|
- [ ] Traefik routing still works
|
|
|
|
## Update EXECUTION-STATE.json
|
|
```json
|
|
{
|
|
"phases": {"5": {"status": "completed", "validation_passed": true}}
|
|
}
|
|
```
|