 56ea52b743
			
		
	
	56ea52b743
	
	
	
		
			
			- Replace incremental sync with full scan for new repositories - Add initial_scan status to bypass Since parameter filtering - Implement council formation detection for Design Brief issues - Add version display to WHOOSH UI header for debugging - Fix Docker token authentication with trailing newline removal - Add comprehensive council orchestration with Docker Swarm integration - Include BACKBEAT prototype integration for distributed timing - Support council-specific agent roles and deployment strategies - Transition repositories to active status after content discovery Key architectural improvements: - Full scan approach for new project detection vs incremental sync - Council formation triggered by chorus-entrypoint labeled Design Briefs - Proper token handling and authentication for Gitea API calls - Support for both initial discovery and ongoing task monitoring This enables autonomous project kickoff workflows where Design Brief issues automatically trigger formation of specialized agent councils for new projects. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
		
			
				
	
	
		
			115 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			115 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
| # Build stage
 | |
| FROM golang:1.22-alpine AS builder
 | |
| 
 | |
| # Install build dependencies
 | |
| RUN apk add --no-cache git ca-certificates
 | |
| 
 | |
| # Set working directory
 | |
| WORKDIR /app
 | |
| 
 | |
| # Copy go mod files
 | |
| COPY go.mod go.sum ./
 | |
| 
 | |
| # Download dependencies
 | |
| RUN go mod download
 | |
| 
 | |
| # Copy source code
 | |
| COPY . .
 | |
| 
 | |
| # Build all services
 | |
| RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o pulse ./cmd/pulse
 | |
| RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o reverb ./cmd/reverb
 | |
| RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o agent-sim ./cmd/agent-sim
 | |
| 
 | |
| # Pulse service image
 | |
| FROM alpine:latest AS pulse
 | |
| 
 | |
| # Install runtime dependencies
 | |
| RUN apk --no-cache add ca-certificates tzdata
 | |
| 
 | |
| # Create non-root user
 | |
| RUN addgroup -g 1001 backbeat && \
 | |
|     adduser -D -s /bin/sh -u 1001 -G backbeat backbeat
 | |
| 
 | |
| # Set working directory
 | |
| WORKDIR /app
 | |
| 
 | |
| # Copy pulse binary from builder
 | |
| COPY --from=builder /app/pulse .
 | |
| 
 | |
| # Create data directory
 | |
| RUN mkdir -p /data && chown -R backbeat:backbeat /data
 | |
| 
 | |
| # Switch to non-root user
 | |
| USER backbeat
 | |
| 
 | |
| # Expose ports (8080 for HTTP, 9000 for Raft)
 | |
| EXPOSE 8080 9000
 | |
| 
 | |
| # Health check
 | |
| HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \
 | |
|     CMD wget --no-verbose --tries=1 --spider http://localhost:8080/health || exit 1
 | |
| 
 | |
| # Default command
 | |
| ENTRYPOINT ["./pulse"]
 | |
| CMD ["-cluster", "chorus-production", \
 | |
|      "-admin-port", "8080", \
 | |
|      "-raft-bind", "0.0.0.0:9000", \
 | |
|      "-data-dir", "/data"]
 | |
| 
 | |
| # Reverb service image  
 | |
| FROM alpine:latest AS reverb
 | |
| 
 | |
| # Install runtime dependencies
 | |
| RUN apk --no-cache add ca-certificates tzdata
 | |
| 
 | |
| # Create non-root user
 | |
| RUN addgroup -g 1001 backbeat && \
 | |
|     adduser -D -s /bin/sh -u 1001 -G backbeat backbeat
 | |
| 
 | |
| # Set working directory
 | |
| WORKDIR /app
 | |
| 
 | |
| # Copy reverb binary from builder
 | |
| COPY --from=builder /app/reverb .
 | |
| 
 | |
| # Switch to non-root user
 | |
| USER backbeat
 | |
| 
 | |
| # Expose port (8080 for HTTP)
 | |
| EXPOSE 8080
 | |
| 
 | |
| # Health check
 | |
| HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \
 | |
|     CMD wget --no-verbose --tries=1 --spider http://localhost:8080/health || exit 1
 | |
| 
 | |
| # Default command
 | |
| ENTRYPOINT ["./reverb"]
 | |
| CMD ["-cluster", "chorus-production", \
 | |
|      "-nats", "nats://nats:4222", \
 | |
|      "-bar-length", "120", \
 | |
|      "-log-level", "info"]
 | |
| 
 | |
| # Agent simulator image
 | |
| FROM alpine:latest AS agent-sim
 | |
| 
 | |
| # Install runtime dependencies  
 | |
| RUN apk --no-cache add ca-certificates tzdata
 | |
| 
 | |
| # Create non-root user
 | |
| RUN addgroup -g 1001 backbeat && \
 | |
|     adduser -D -s /bin/sh -u 1001 -G backbeat backbeat
 | |
| 
 | |
| # Set working directory
 | |
| WORKDIR /app
 | |
| 
 | |
| # Copy agent-sim binary from builder
 | |
| COPY --from=builder /app/agent-sim .
 | |
| 
 | |
| # Switch to non-root user
 | |
| USER backbeat
 | |
| 
 | |
| # Default command
 | |
| ENTRYPOINT ["./agent-sim"]
 | |
| CMD ["-cluster", "chorus-production", \
 | |
|      "-nats", "nats://nats:4222"] |