Files
headquarter/openspec/changes/archive/2026-05-14-deployment-config/tasks.md
T
alex 8b4784f5ed
CI / Web CI (push) Failing after 10s
CI / API CI (push) Failing after 11s
chore(openspec): archive completed changes
- Archive config-secrets (FN-009) - 31 tasks complete
- Archive runfusion-poc (FN-008) - 25 tasks complete
- Archive deployment-config (FN-006) - 27 tasks complete
- All changes moved to openspec/changes/archive/
2026-05-16 11:33:37 +02:00

1.7 KiB

1. Traefik Label Generator

  • 1.1 Create apps/api/app/services/traefik.py with TraefikLabelGenerator class
  • 1.2 Implement subdomain generation from tool_id, project_slug, user_slug
  • 1.3 Generate router labels (rule, service, tls)
  • 1.4 Generate service labels (loadBalancer, port)
  • 1.5 Add middleware labels for security headers
  • 1.6 Write unit tests for label generation

2. Backend Integration

  • 2.1 Integrate label generation into tool instance spawn endpoint
  • 2.2 Store generated labels in tool_instance metadata
  • 2.3 Remove/disable labels on tool instance stop
  • 2.4 Update ToolInstance model to store labels JSON

3. Production Docker Compose

  • 3.1 Create docker-compose.prod.yml with api, web, traefik, db services
  • 3.2 Configure Traefik service with Let's Encrypt certificates
  • 3.3 Set up platform and tools networks
  • 3.4 Add health checks for all services
  • 3.5 Configure logging (JSON format, rotation)

4. Portainer Deployment

  • 4.1 Create deploy/portainer-stack.yml
  • 4.2 Add Portainer-specific environment variable documentation
  • 4.3 Create deploy/.env.example for production
  • 4.4 Test stack deployment locally with docker compose -f docker-compose.prod.yml

5. Documentation

  • 5.1 Update docs/deployment.md with production deployment steps
  • 5.2 Add Traefik configuration guide
  • 5.3 Document subdomain scheme and DNS requirements
  • 5.4 Update README.md with deployment section

6. Testing & Verification

  • 6.1 Test label generation for all built-in tools
  • 6.2 Verify Traefik routes correctly in local stack
  • 6.3 Run backend tests: cd apps/api && pytest
  • 6.4 Run linters: ruff check app/ and mypy app/