Monolith image with every toolchain in the spec: - Python 3.12 + uv/ruff/mypy/pytest/pip-audit/semgrep - Node 22 LTS + bun - Go 1.22 + govulncheck/staticcheck - Rust stable + cargo-audit/cargo-deny - Ruby 3.x + bundler-audit - PHP 8.x + composer/phpstan - JDK 17 + 21 + Maven + Gradle - .NET 8 SDK - Swift 5.9.2 - Kotlin 1.9.25 - clang + cmake + valgrind + ASan/UBSan/TSan - bash + shellcheck smoke.sh proves each toolchain compiles + runs a hello-world. compose.yml uses the existing 'sulkta' bridge network. No API yet (steps 2-3); no MCP yet (step 7); no runner yet (step 4). This is the foundation. NOTE: docker build + smoke verification not yet run — sandbox doesn't have docker. Needs `docker compose build && docker compose up` on Lucy or any real Docker host before we trust the Dockerfile. Spec: memory/spec-crafting-table.md
28 lines
579 B
YAML
28 lines
579 B
YAML
# crafting-table v0.1 — step 1 compose.
|
|
#
|
|
# Builds the monolith image and runs the smoke test once.
|
|
# In step 2+ the `command:` is replaced with the API server entrypoint.
|
|
name: crafting-table
|
|
|
|
services:
|
|
crafting-table:
|
|
build: .
|
|
image: crafting-table:local
|
|
container_name: crafting-table
|
|
command: ["/usr/local/bin/smoke.sh"]
|
|
user: crafter
|
|
working_dir: /workspace
|
|
volumes:
|
|
- workspace:/workspace
|
|
- caches:/caches
|
|
- data:/data
|
|
networks: [sulkta]
|
|
|
|
volumes:
|
|
workspace:
|
|
caches:
|
|
data:
|
|
|
|
networks:
|
|
sulkta:
|
|
external: true
|