rolling snapshot rollup capture
This commit is contained in:
@@ -10,7 +10,7 @@ Current state:
|
||||
- Dockerfile installs shell tooling (zsh/bash/fish with Starship & oh-my-zsh), core CLI utilities (curl, wget, git, tmux, screen, httpie, tea, bc, etc.), build-essential + headers, aqua, and mise. Aqua is pinned to specific versions for gh, lazygit, direnv, git-delta, zoxide, just, yq, xh, curlie, chezmoi, shfmt, shellcheck, hadolint; direnv/zoxide hooks are enabled for all shells (direnv logging muted).
|
||||
- aqua-managed CLI inventory lives in README.md alongside usage notes; tea installs via direct download with checksum verification (TEA_VERSION build arg).
|
||||
- mise handles language/tool runtimes; activation wired into zsh, bash, and fish.
|
||||
- docker-compose.yml runs container with host UID/GID, `sleep infinity`, and docker socket mount; run via run.sh/build.sh.
|
||||
- docker-compose.yml runs container with host UID/GID, `sleep infinity`, and docker socket mount; run via run.sh/build.sh. Host directories `~/.local/share/mise` and `~/.cache/mise` are mounted for persistent runtimes.
|
||||
- Devcontainer config ( .devcontainer/devcontainer.json ) references the compose service.
|
||||
- Documentation: README.md (tooling inventory & workflow) and this PROMPT must stay current. README also notes that build.sh now uses docker buildx with a local cache directory.
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@ Daily-driver development container for ToolboxStack work. It provides a reproduc
|
||||
```bash
|
||||
./run.sh up
|
||||
```
|
||||
> Mise runtimes persist to your host in `~/.local/share/mise` and `~/.cache/mise` so language/tool downloads are shared across projects.
|
||||
3. **Attach to a shell**
|
||||
```bash
|
||||
docker exec -it tsysdevstack-toolboxstack-toolbox-base zsh
|
||||
|
||||
@@ -16,3 +16,5 @@ services:
|
||||
stdin_open: true
|
||||
volumes:
|
||||
- .:/workspace:rw
|
||||
- ${HOME}/.local/share/mise:/home/toolbox/.local/share/mise:rw
|
||||
- ${HOME}/.cache/mise:/home/toolbox/.cache/mise:rw
|
||||
|
||||
@@ -17,6 +17,10 @@ fi
|
||||
ACTION="${1:-up}"
|
||||
shift || true
|
||||
|
||||
if [[ "${ACTION}" == "up" ]]; then
|
||||
mkdir -p "${HOME}/.local/share/mise" "${HOME}/.cache/mise"
|
||||
fi
|
||||
|
||||
case "${ACTION}" in
|
||||
up)
|
||||
docker compose -f "${COMPOSE_FILE}" up --build --detach "$@"
|
||||
|
||||
63
collab/SupportStack/NewChatSummary.md
Normal file
63
collab/SupportStack/NewChatSummary.md
Normal file
@@ -0,0 +1,63 @@
|
||||
# New Chat Summary: TSYSDevStack SupportStack End-to-End Build
|
||||
|
||||
## Overview
|
||||
This chat will focus on executing the end-to-end build of the TSYSDevStack SupportStack using the comprehensive prompt file. The implementation will follow strict Test Driven Development (TDD) principles with all requirements specified in the prompt.
|
||||
|
||||
## Key Components to Build
|
||||
1. **docker-socket-proxy** - Enable Docker socket access for containers that need it (not homepage)
|
||||
2. **homepage** - Configure to access Docker socket directly for automatic label discovery
|
||||
3. **wakaapi** - Integrate with homepage using proper labels
|
||||
|
||||
## Key Requirements from Prompt
|
||||
- Use atomic commits with conventional commit messages
|
||||
- Follow strict TDD: Write test → Execute test → Test fails → Write minimal code to pass test
|
||||
- 75%+ code coverage requirement
|
||||
- 100% test pass requirement
|
||||
- Component-by-component development approach
|
||||
- Complete one component before moving to the next
|
||||
- All Docker artifacts must be prefixed with `tsysdevstack-supportstack-demo-`
|
||||
- Run exclusively on localhost (localhost binding only)
|
||||
- Ephemeral volumes only (no persistent storage)
|
||||
- Resource limits set for single-user demo capacity
|
||||
- No external network access (localhost bound only)
|
||||
- Homepage container needs direct Docker socket access for labels to auto-populate
|
||||
- Docker socket proxy provides controlled access for other containers that need Docker access
|
||||
- All containers need proper UID/GID mapping for security
|
||||
- Docker group GID must be mapped properly for containers using Docker socket
|
||||
- Non-Docker socket using containers should use invoking UID/GID
|
||||
- Use SQLite for every service that will support it to avoid heavier databases where possible
|
||||
- Only use heavier databases when SQLite is not supported or inadequate for the service
|
||||
|
||||
## Implementation Process
|
||||
1. Start with docker-socket-proxy (dependency for homepage)
|
||||
2. Implement homepage (requires docker-socket-proxy)
|
||||
3. Implement wakaapi (integrates with homepage)
|
||||
4. Validate all components work together with proper service discovery
|
||||
5. Run comprehensive test suite with >75% coverage
|
||||
6. Ensure all tests pass with 100% success rate
|
||||
|
||||
## Files to Reference
|
||||
- **Prompt File**: `/home/localuser/TSYSDevStack/collab/SupportStack/BuildTheStack`
|
||||
- **Status Tracking**: `/home/localuser/TSYSDevStack/collab/SupportStack/STATUS.md`
|
||||
- **Human Help**: `/home/localuser/TSYSDevStack/collab/SupportStack/HUMANHELP.md`
|
||||
- **Production Roadmap**: `/home/localuser/TSYSDevStack/collab/SupportStack/ProdRoadmap.md`
|
||||
|
||||
## Directory Structure
|
||||
All artifacts will be created in:
|
||||
- `/home/localuser/TSYSDevStack/artifacts/SupportStack/`
|
||||
|
||||
## Success Criteria
|
||||
- ✅ All 3 MVP components implemented and tested
|
||||
- ✅ Docker socket proxy providing access for homepage discovery
|
||||
- ✅ Homepage successfully discovering and displaying services through Docker labels
|
||||
- ✅ WakaAPI properly integrated with homepage via Docker labels
|
||||
- ✅ All tests passing with 100% success rate
|
||||
- ✅ Code coverage >75%
|
||||
- ✅ All containers running with proper resource limits
|
||||
- ✅ All containers using correct naming convention (`tsysdevstack-supportstack-demo-*`)
|
||||
- ✅ All containers with proper UID/GID mapping for security
|
||||
- ✅ All services accessible on localhost only
|
||||
- ✅ SQLite used for database-backed services where possible
|
||||
- ✅ Zero technical debt accrued during implementation
|
||||
|
||||
Let's begin the end-to-end build process by reading and implementing the requirements from the prompt file!
|
||||
Reference in New Issue
Block a user