 9bdcbe0447
			
		
	
	9bdcbe0447
	
	
	
		
			
			Major integrations and fixes: - Added BACKBEAT SDK integration for P2P operation timing - Implemented beat-aware status tracking for distributed operations - Added Docker secrets support for secure license management - Resolved KACHING license validation via HTTPS/TLS - Updated docker-compose configuration for clean stack deployment - Disabled rollback policies to prevent deployment failures - Added license credential storage (CHORUS-DEV-MULTI-001) Technical improvements: - BACKBEAT P2P operation tracking with phase management - Enhanced configuration system with file-based secrets - Improved error handling for license validation - Clean separation of KACHING and CHORUS deployment stacks 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
		
			
				
	
	
		
			68 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
| # CHORUS - Container-First P2P Task Coordination System
 | |
| # Multi-stage build for minimal production image
 | |
| 
 | |
| FROM golang:1.23-alpine AS builder
 | |
| 
 | |
| # Install build dependencies
 | |
| RUN apk --no-cache add git ca-certificates
 | |
| 
 | |
| WORKDIR /build
 | |
| 
 | |
| # Copy go mod files first (for better caching)
 | |
| COPY go.mod go.sum ./
 | |
| 
 | |
| # Copy vendor directory for local dependencies
 | |
| COPY vendor/ vendor/
 | |
| 
 | |
| # Copy source code
 | |
| COPY . .
 | |
| 
 | |
| # Build the CHORUS binary with vendor mode
 | |
| RUN CGO_ENABLED=0 GOOS=linux go build \
 | |
|     -mod=vendor \
 | |
|     -ldflags='-w -s -extldflags "-static"' \
 | |
|     -o chorus \
 | |
|     ./cmd/chorus
 | |
| 
 | |
| # Final minimal runtime image
 | |
| FROM alpine:3.18
 | |
| 
 | |
| # Install runtime dependencies
 | |
| RUN apk --no-cache add \
 | |
|     ca-certificates \
 | |
|     tzdata \
 | |
|     curl
 | |
| 
 | |
| # Create non-root user for security
 | |
| RUN addgroup -g 1000 chorus && \
 | |
|     adduser -u 1000 -G chorus -s /bin/sh -D chorus
 | |
| 
 | |
| # Create application directories
 | |
| RUN mkdir -p /app/data && \
 | |
|     chown -R chorus:chorus /app
 | |
| 
 | |
| # Copy binary from builder stage
 | |
| COPY --from=builder /build/chorus /app/chorus
 | |
| RUN chmod +x /app/chorus
 | |
| 
 | |
| # Switch to non-root user
 | |
| USER chorus
 | |
| WORKDIR /app
 | |
| 
 | |
| # Expose ports
 | |
| EXPOSE 8080 8081 9000
 | |
| 
 | |
| # Health check
 | |
| HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
 | |
|     CMD curl -f http://localhost:8081/health || exit 1
 | |
| 
 | |
| # Set default environment variables
 | |
| ENV LOG_LEVEL=info \
 | |
|     LOG_FORMAT=structured \
 | |
|     CHORUS_BIND_ADDRESS=0.0.0.0 \
 | |
|     CHORUS_API_PORT=8080 \
 | |
|     CHORUS_HEALTH_PORT=8081 \
 | |
|     CHORUS_P2P_PORT=9000
 | |
| 
 | |
| # Start CHORUS
 | |
| ENTRYPOINT ["/app/chorus"] |