Scaffold: HTTP Service Packaging
This document is an entrypoint for service packaging scaffolding. The step-by-step flow is in /.system/skills/ssot/repo/scaffolding/devops-packaging-service/SKILL.md.
1. Purpose & Scope
Purpose: Generate packaging skeleton for deploying a module as an HTTP service (Docker, container registry, etc.).
Scope:
- •Creates packaging configuration files
- •Sets up Dockerfile template
- •Configures build scripts
- •Records packaging decisions in workdocs
Out of scope:
- •Actual Docker image building
- •Container registry authentication
- •Deployment (see devops_deploy_service.md)
- •Job/batch workload packaging (see devops_packaging_job.md)
2. Inputs & Preconditions
Required Inputs
| Parameter | Type | Description |
|---|---|---|
service_name | string | Service identifier (used in image tags) |
module_id | string | Source module being packaged |
port | integer | Service port (default: 8080) |
Optional Inputs
| Parameter | Type | Default | Description |
|---|---|---|---|
base_image | string | python:3.11-slim | Docker base image |
build_command | string | (derived) | Custom build command |
health_check_path | string | /health | Health check endpoint |
registry | string | "" | Container registry URL |
Preconditions
- •Target module exists in
/modules/<module_id>/ - •Module has a runnable entrypoint (src/ contains application code)
- •
/ops/packaging/directory exists - •Human has container registry credentials (if pushing images)
3. Step-by-Step Flow (AI + Human)
See /.system/skills/ssot/repo/scaffolding/devops-packaging-service/SKILL.md.
4. Tools & Scripts
| Tool | Purpose |
|---|---|
scripts/devops/scaffold/devops_packaging_service.py | Orchestrator script |
/ops/packaging/scripts/build.sh | Generated build script |
5. Outputs & Side Effects
Files Created
code
ops/packaging/services/<service_name>/ Dockerfile # Docker build configuration build.sh # Build script config.yaml # Packaging configuration README.md # Human-facing documentation
Dockerfile Template
dockerfile
# Auto-generated by devops_packaging_service scaffold FROM python:3.11-slim WORKDIR /app # Install dependencies COPY modules/<module_id>/requirements.txt . RUN pip install --no-cache-dir -r requirements.txt # Copy application code COPY modules/<module_id>/src/ ./src/ # Health check HEALTHCHECK --interval=30s --timeout=3s CMD curl -f http://localhost:<port>/health || exit 1 # Run application EXPOSE <port> CMD ["python", "-m", "src.main"]
Configuration File
yaml
service_name: <service_name>
module_id: <module_id>
port: <port>
base_image: python:3.11-slim
health_check_path: /health
registry: ""
build_args: {}
6. Safety & Rollback
Safety Measures
- •
--dry-runalways available for preview - •Human approval required before execution
- •No actual Docker builds during scaffold
- •Credentials not stored in generated files
Rollback Procedure
If scaffold fails or needs reverting:
- •Delete the packaging directory:
bash
rm -rf ops/packaging/services/<service_name>/
7. Next Steps After Scaffolding
- •Review and customize generated Dockerfile
- •Build image locally:
bash
cd ops/packaging/services/<service_name> ./build.sh
- •Push to registry (requires credentials):
bash
docker push <registry>/<service_name>:latest
- •Configure deployment (see
/.system/skills/ssot/repo/scaffolding/devops-deploy-service/SKILL.md)
8. Related Documents
- •
/.system/skills/ssot/repo/scaffolding/devops-packaging-job/templates/packaging_template.md- Packaging knowledge template - •
/.system/skills/ssot/repo/scaffolding/devops-packaging-job/SKILL.md- Job packaging scaffold - •
/.system/skills/ssot/repo/scaffolding/devops-deploy-service/SKILL.md- Service deployment scaffold - •
/ops/packaging/AGENTS.md- Packaging strategy