Files
TSYSDevStack/Toolbox/base/README.md
2025-11-11 21:00:37 -06:00

116 lines
3.0 KiB
Markdown

# 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.