Major changes: - Add internal/logging package with field constants, context propagation, sensitive data auto-redaction, and per-component log levels - Add worker timeout constants (TimeoutQuickOp, TimeoutHealthCheck, etc.) - Extend SDLC with callback handlers, generate endpoints, and executor - Add new cookbook trees for aeries and slackpath progression - Add skeleton templates for queue, realtime, and microservices - Add worker component template with async job processing - Refactor services and handlers to use new logging infrastructure - Split component.go into component_infra.go and component_listing.go Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
62 lines
1.6 KiB
Docker
62 lines
1.6 KiB
Docker
# rdev claudebox - Claude Code in a container
|
|
# v0.4 - Git integration + SDLC CLI
|
|
|
|
# Build stage for Go binaries
|
|
FROM golang:1.25-alpine AS builder
|
|
WORKDIR /build
|
|
COPY go.mod go.sum ./
|
|
RUN go mod download
|
|
COPY . .
|
|
RUN CGO_ENABLED=0 GOOS=linux go build -ldflags="-s -w" -o sdlc ./cmd/sdlc
|
|
|
|
# Runtime stage
|
|
FROM ubuntu:22.04
|
|
|
|
# Prevent interactive prompts during package installation
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
# Install system dependencies
|
|
RUN apt-get update && apt-get install -y \
|
|
curl \
|
|
wget \
|
|
git \
|
|
vim \
|
|
build-essential \
|
|
ca-certificates \
|
|
gnupg \
|
|
openssh-client \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Install Node.js 20 (required for Claude Code CLI)
|
|
RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
|
|
&& apt-get install -y nodejs \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Install Claude Code CLI
|
|
RUN npm install -g @anthropic-ai/claude-code
|
|
|
|
# Copy sdlc binary from builder stage
|
|
COPY --from=builder /build/sdlc /usr/local/bin/sdlc
|
|
|
|
# Configure git for rdev-bot identity
|
|
RUN git config --global user.name "rdev-bot" \
|
|
&& git config --global user.email "rdev@orchard9.ai" \
|
|
&& git config --global init.defaultBranch main \
|
|
&& git config --global push.autoSetupRemote true
|
|
|
|
# Create workspace directory
|
|
RUN mkdir -p /workspace
|
|
|
|
# Create SSH directory with correct permissions
|
|
RUN mkdir -p /root/.ssh && chmod 700 /root/.ssh
|
|
|
|
# Set working directory
|
|
WORKDIR /workspace
|
|
|
|
# Create a simple healthcheck script
|
|
RUN echo '#!/bin/bash\nclaude --version > /dev/null 2>&1' > /healthcheck.sh \
|
|
&& chmod +x /healthcheck.sh
|
|
|
|
# Keep container running (will exec into it)
|
|
CMD ["tail", "-f", "/dev/null"]
|