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).
|
- 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).
|
- 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.
|
- 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.
|
- 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.
|
- 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
|
```bash
|
||||||
./run.sh up
|
./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**
|
3. **Attach to a shell**
|
||||||
```bash
|
```bash
|
||||||
docker exec -it tsysdevstack-toolboxstack-toolbox-base zsh
|
docker exec -it tsysdevstack-toolboxstack-toolbox-base zsh
|
||||||
|
|||||||
@@ -16,3 +16,5 @@ services:
|
|||||||
stdin_open: true
|
stdin_open: true
|
||||||
volumes:
|
volumes:
|
||||||
- .:/workspace:rw
|
- .:/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}"
|
ACTION="${1:-up}"
|
||||||
shift || true
|
shift || true
|
||||||
|
|
||||||
|
if [[ "${ACTION}" == "up" ]]; then
|
||||||
|
mkdir -p "${HOME}/.local/share/mise" "${HOME}/.cache/mise"
|
||||||
|
fi
|
||||||
|
|
||||||
case "${ACTION}" in
|
case "${ACTION}" in
|
||||||
up)
|
up)
|
||||||
docker compose -f "${COMPOSE_FILE}" up --build --detach "$@"
|
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