.
This commit is contained in:
116
Toolbox/base/README.md
Normal file
116
Toolbox/base/README.md
Normal file
@@ -0,0 +1,116 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user