From 0fb4e3e81c20b2e2b58040772b747ec1dd9e09e7 Mon Sep 17 00:00:00 2001 From: Peter Stone Date: Wed, 18 Mar 2026 00:17:50 +0000 Subject: feat: implement containerized repository-based execution model This commit implements the architectural shift from local directory-based sandboxing to containerized execution using canonical repository URLs. Key changes: - Data Model: Added RepositoryURL and ContainerImage to task/agent configs. - Storage: Updated SQLite schema and queries to handle new fields. - Executor: Implemented ContainerRunner using Docker/Podman for isolation. - API/UI: Overhauled task creation to use Repository URLs and Image selection. - Webhook: Updated GitHub webhook to derive Repository URLs automatically. - Docs: Updated ADR-005 with risk feedback and added ADR-006 to document the new containerized model. - Defaults: Updated serve command to use ContainerRunner for all agents. This fixes systemic task failures caused by build dependency and permission issues on the host system. --- images/agent-base/Dockerfile | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 images/agent-base/Dockerfile (limited to 'images') diff --git a/images/agent-base/Dockerfile b/images/agent-base/Dockerfile new file mode 100644 index 0000000..71807ae --- /dev/null +++ b/images/agent-base/Dockerfile @@ -0,0 +1,37 @@ +# Claudomator Agent Base Image +FROM ubuntu:22.04 + +# Avoid interactive prompts +ENV DEBIAN_FRONTEND=noninteractive + +# Install core build and dev tools +RUN apt-get update && apt-get install -y \ + git \ + curl \ + make \ + golang \ + nodejs \ + npm \ + sqlite3 \ + jq \ + sudo \ + && rm -rf /var/lib/apt/lists/* + +# Install specific node tools if needed (example: postcss) +RUN npm install -g postcss-cli tailwindcss autoprefixer + +# Setup workspace +WORKDIR /workspace + +# Install Claudomator-aware CLI wrappers (placeholder) +# These will be provided by the Claudomator project in the future. +# For now, we assume 'claude' and 'gemini' binaries are available or mapped. + +# Add a user claudomator-agent +RUN useradd -m claudomator-agent && \ + echo "claudomator-agent ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers + +USER claudomator-agent + +# Default command +CMD ["/bin/bash"] -- cgit v1.2.3