Last Updated: 2025-01-19
Eos is a powerful Go-based CLI tool that simplifies Ubuntu server administration through automation, orchestration, and security hardening. Built by Code Monkey Cybersecurity, Eos transforms complex server management tasks into simple commands.
Eos provides a comprehensive suite of tools for:
- Infrastructure Automation: Deploy and manage services like Kubernetes, Docker, Nomad, and OpenStack
- Security Hardening: Implement fail2ban, LDAP, Vault secrets management, and security monitoring
- Service Orchestration: Manage web services, databases, reverse proxies, and monitoring systems
- System Administration: Handle backups, user management, and system maintenance
- Verb-First Architecture: Intuitive command structure (
eos create
,eos read
,eos update
) - Built-in Safety: Assess → Intervene → Evaluate pattern ensures reliable operations
- Interactive Prompts: User-friendly prompts for missing configuration
- Comprehensive Logging: Structured logging with OpenTelemetry integration
- Error Recovery: Intelligent error handling with clear, actionable messages
- Ubuntu 20.04+ (primary target)
- Go 1.21 or higher
- Root/sudo access for system operations
# Clone the repository
sudo -i
cd /opt
git clone https://github.com/CodeMonkeyCybersecurity/eos.git
cd eos
# Install Go if needed
apt update && apt install golang -y
# Build and install
go mod tidy
go build -o eos .
sudo cp eos /usr/local/bin/
# Or use the install script
./install.sh
sudo -i
cd /opt
git clone https://github.com/CodeMonkeyCybersecurity/eos.git
cd eos
yum update && yum install golang -y
go mod tidy
go build -o eos .
sudo cp eos /usr/local/bin/
# Install Homebrew if needed
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Install Go
brew update && brew install go
# Clone and build
cd /opt
git clone https://github.com/CodeMonkeyCybersecurity/eos.git
cd eos
go mod tidy
go build -o eos .
sudo cp eos /usr/local/bin/
# Deploy Kubernetes cluster
eos create k3s --cluster-name=production
# Set up HashiCorp Vault
eos create vault --auto-unseal
# Install monitoring stack
eos create monitoring --prometheus --grafana
# Deploy reverse proxy
eos create hecate --domain=example.com
# Check service status
eos read status --service=nginx
# View system metrics
eos read metrics --format=json
# Inspect logs
eos read logs --service=docker --tail=100
# Manage users
eos update users --add-user=john --groups=sudo,docker
# Update system packages
eos update system --packages --security-only
# Rotate secrets
eos update vault rotate-secrets
# List all services
eos list services
# Show containers
eos list containers --all
# Display users
eos list users --system
eos create k3s
- Lightweight Kuberneteseos create nomad
- HashiCorp Nomad orchestratoreos create consul
- Service mesh and discoveryeos create vault
- Secrets managementeos create docker
- Container runtimeeos create openstack
- Private cloud platform
eos create fail2ban
- Intrusion preventioneos create osquery
- System monitoringeos create delphi
- Security monitoring platformeos create hecate
- Reverse proxy with security featureseos create ldap
- Directory serviceseos create zabbix
- Infrastructure monitoring
eos create saltstack
- Configuration managementeos create terraform
- Infrastructure as Codeeos create ansible
- Automation platformeos create gitlab
- Version control platform
eos backup create
- System backupseos self update
- Update Eos itselfeos self git commit
- Commit Eos changes
Eos follows a modular architecture:
cmd/ # Command definitions (verb-first structure)
├── create/ # Creation commands
├── read/ # Read/inspection commands
├── update/ # Modification commands
├── delete/ # Deletion commands
├── list/ # Listing commands
└── self/ # Eos self-management
pkg/ # Business logic packages
├── eos_cli/ # CLI utilities
├── eos_io/ # I/O and runtime context
├── eos_err/ # Error handling
└── [feature]/ # Feature-specific logic
# Run all tests
go test -v ./pkg/...
# Check code quality
golangci-lint run
# Build verification
go build -o /tmp/eos-build ./cmd/
All code must follow the Assess → Intervene → Evaluate pattern and use structured logging. See CLAUDE.md for detailed development guidelines.
- Knowledge Base: Athena Wiki
- Architecture: See STACK.md for design principles
- Development: See CLAUDE.md for coding standards
- Email: [email protected]
- Website: cybermonkey.net.au
- GitHub Issues: Report bugs or request features
# ___ _ __ __ _
# / __|___ __| |___ | \/ |___ _ _ | |_____ _ _
# | (__/ _ \/ _` / -_) | |\/| / _ \ ' \| / / -_) || |
# \___\___/\__,_\___| |_| |_\___/_||_|_\_\___|\_, |
# / __| _| |__ ___ _ _ |__/
# | (_| || | '_ \/ -_) '_|
# \___\__, |_.__/\___|_|
# |__/
© 2025 Code Monkey Cybersecurity. ABN: 77 177 673 061. All rights reserved.