# TSYS DevStack Toolbox Base Container This is the base development container for the TSYS DevStack project. It provides a secure, non-root development environment with common utilities and tools for day-to-day development tasks. ## Overview - **Base Image**: Debian stable - **Default User**: `tsysdevstack` (non-root) - **Default Shell**: Fish shell - **Security**: No sudo/su access for the tsysdevstack user - **Purpose**: Interactive development and container orchestration - **Docker Client**: Includes Docker CLI for orchestrating containers on the host ## Pre-installed Tools ### Development & Version Control - Git (`git`) - Vim editor (`vim`) ### Network & Web Tools - cURL (`curl`) - Wget (`wget`) - Ping (`iputils-ping`) - Netcat (`netcat-openbsd`) - DNS utilities (`bind9-dnsutils` - includes `nslookup`, `dig`, etc.) ### Container Orchestration - Docker Client (`docker.io` and `docker-cli`) ### Data Processing & Formatting - JQ for JSON processing (`jq`) - Ripgrep for fast searching (`ripgrep`) - FZF for fuzzy finding (`fzf`) - Less pager (`less`) ### Archiving & File Management - Zip/Unzip (`zip`, `unzip`) - Rsync for file sync (`rsync`) - Tree for directory visualization (`tree`) ### System Monitoring & Debugging - HTop system monitor (`htop`) - Lsof for listing open files (`lsof`) - Strace for system call tracing (`strace`) - Tcpdump for network packet capture (`tcpdump`) - Procps for process utilities (`procps`) ### Security & Encryption - GnuPG for encryption (`gnupg2`, `gnupg-agent`) ### SSH - OpenSSH client (`openssh-client`) ## Usage ### Building the Image ```bash ./build.sh ``` ### Running the Container ```bash ./run.sh ``` ### Running Commands ```bash # Run a single command docker run --rm tsysdevstack-toolboxstack-toolbox-base [command] # Run with interactive shell docker run -it --rm tsysdevstack-toolboxstack-toolbox-base ``` ### Testing To verify all tools work properly: ```bash ./test.sh ``` ## Security - The container runs as the `tsysdevstack` user, not root - No sudo or su access available to prevent privilege escalation - Built with security best practices in mind - Regular vulnerabilities are monitored and addressed in base image updates ## Quality of Life Features - Fish shell provides advanced command-line features - FZF enables fuzzy-finding for faster navigation - Ripgrep offers fast file searching capabilities - HTop provides an interactive process viewer - All common development tools are pre-installed ## Purpose This container is designed for: - Interactive development work - Container orchestration tasks - Running as a headless orchestrator for other specialized containers - Providing a consistent development environment It is **not** designed for: - Running system-wide language runtimes (Python, Rust, Node, etc.) - those will be in specialized containers - Production workloads - Long-running services ## Integration with DevStack This container serves as the base for the TSYS DevStack toolbox stack and will be used to orchestrate other specialized containers in the development lifecycle.