Files
stack/tests/integration/docker/README.md
Jason Woltje 973502f26e feat(#37-41): Add domains, ideas, relationships, agents, widgets schema
Schema additions for issues #37-41:

New models:
- Domain (#37): Life domains (work, marriage, homelab, etc.)
- Idea (#38): Brain dumps with pgvector embeddings
- Relationship (#39): Generic entity linking (blocks, depends_on)
- Agent (#40): ClawdBot agent tracking with metrics
- AgentSession (#40): Conversation session tracking
- WidgetDefinition (#41): HUD widget registry
- UserLayout (#41): Per-user dashboard configuration

Updated models:
- Task, Event, Project: Added domainId foreign key
- User, Workspace: Added new relations

New enums:
- IdeaStatus: CAPTURED, PROCESSING, ACTIONABLE, ARCHIVED, DISCARDED
- RelationshipType: BLOCKS, BLOCKED_BY, DEPENDS_ON, etc.
- AgentStatus: IDLE, WORKING, WAITING, ERROR, TERMINATED
- EntityType: Added IDEA, DOMAIN

Migration: 20260129182803_add_domains_ideas_agents_widgets
2026-01-29 12:29:21 -06:00

1.8 KiB

Docker Integration Tests

This directory contains integration tests for Docker Compose deployment modes.

Traefik Integration Tests

Tests for Traefik reverse proxy integration in bundled, upstream, and none modes.

Prerequisites

  • Docker and Docker Compose installed
  • jq for JSON parsing: apt install jq or brew install jq
  • curl for HTTP testing

Running Tests

# Run all tests
./traefik.test.sh all

# Run specific mode tests
./traefik.test.sh bundled
./traefik.test.sh upstream
./traefik.test.sh none

Test Coverage

Bundled Mode Tests

  • Traefik container starts with traefik-bundled profile
  • Traefik dashboard is accessible
  • Traefik API responds correctly
  • Services have proper Traefik labels
  • Routes are registered with Traefik

Upstream Mode Tests

  • Bundled Traefik does not start
  • Services connect to external Traefik network
  • Services have labels for external discovery
  • Correct network configuration

None Mode Tests

  • No Traefik container starts
  • Traefik labels are disabled
  • Direct port access works
  • Services accessible via published ports

CI/CD Integration

These tests can be run in CI/CD pipelines:

# Example GitHub Actions
test-docker:
  runs-on: ubuntu-latest
  steps:
    - uses: actions/checkout@v3
    - name: Install dependencies
      run: sudo apt-get install -y jq
    - name: Run Traefik integration tests
      run: ./tests/integration/docker/traefik.test.sh all

Troubleshooting

Test cleanup issues

If tests fail and leave containers running:

docker compose -f docker-compose.test.yml down -v
docker network rm traefik-public-test

Permission denied

Make sure the test script is executable:

chmod +x traefik.test.sh

Port conflicts

Ensure ports 8080, 3000, 3001 are available before running tests.