DevOps Tools

Comprehensive configurations for Docker, Kubernetes, Terraform, tmux, ctags, and AWS CLI with helpful aliases and functions.

Installation

# Install all DevOps tools configurations make install-tools # Install individual tools make install-tmux make install-ctags # Or manually ./install.sh tools

tmux Configuration

Advanced terminal multiplexer with enhanced navigation and session management:

# Key Features - Prefix key: Ctrl-a (easier than default Ctrl-b) - Mouse support for modern workflows - Alt-arrow keys for pane navigation - Alt-number keys for window switching - Custom status bar with system info - Vi copy mode for efficient text selection # Key Bindings Ctrl-a | # Split pane horizontally Ctrl-a - # Split pane vertically Alt-arrow # Navigate between panes Ctrl-arrow # Resize panes Alt-1-9 # Switch to window 1-9 Ctrl-a r # Reload configuration # Usage Examples tmux # Start new session tmux new-session -s devops # Start named session tmux attach -t devops # Attach to existing session tmux list-sessions # List all sessions

ctags Configuration

Enhanced code navigation and indexing for multiple programming languages:

# Supported Languages - Python: Classes, functions, decorators - JavaScript/TypeScript: Functions, classes, variables - Go: Functions, types, variables, constants - Shell: Function definitions - Docker: Images, labels, environment variables - Terraform: Resources, data sources, variables - YAML/JSON: Key definitions # Usage Examples ctags -R . # Generate tags for current directory ctags -R --languages=Python . # Generate tags for specific language vim -t function_name # Jump to function in Vim Ctrl-] # Jump to tag under cursor in Vim Ctrl-t # Return from tag in Vim

Available Aliases

This tools configuration includes comprehensive aliases for all major DevOps tools:

Docker Aliases

d - docker (docker command) dc - docker-compose (docker-compose command) dps - docker ps (list running containers) dpsa - docker ps -a (list all containers) di - docker images (list images) dex - docker exec -it (execute in container) dlog - docker logs (show container logs) dstop- docker stop (stop container) drm - docker rm (remove container) drmi - docker rmi (remove image)

Kubernetes Aliases

k - kubectl (kubectl command) kgp - kubectl get pods (list pods) kgs - kubectl get services (list services) kgd - kubectl get deployments (list deployments) kgn - kubectl get nodes (list nodes) kdp - kubectl describe pod (describe pod) kds - kubectl describe service (describe service) kdd - kubectl describe deployment (describe deployment) klog - kubectl logs (show pod logs) kex - kubectl exec -it (execute in pod)

Terraform Aliases

tf - terraform (terraform command) tfi - terraform init (initialize terraform) tfp - terraform plan (plan changes) tfa - terraform apply (apply changes) tfd - terraform destroy (destroy infrastructure) tfo - terraform output (show outputs) tfs - terraform show (show state)

Docker Configuration

Docker aliases and functions for container management:

# Basic Docker aliases alias dps='docker ps' alias dpa='docker ps -a' alias di='docker images' alias drm='docker rm' alias drmi='docker rmi' # Docker Compose aliases alias dc='docker-compose' alias dcu='docker-compose up' alias dcd='docker-compose down' alias dcb='docker-compose build' # Docker cleanup function dcleanup() { docker system prune -f docker volume prune -f }

Kubernetes Configuration

Kubectl aliases and functions for cluster management:

# Kubernetes aliases alias k='kubectl' alias kgp='kubectl get pods' alias kgs='kubectl get services' alias kgd='kubectl get deployments' alias kd='kubectl describe' alias kl='kubectl logs' alias ke='kubectl edit' # Context switching function kctx() { kubectl config use-context "$1" }

Terraform Configuration

Terraform aliases and functions for infrastructure management:

# Terraform aliases alias tf='terraform' alias tfi='terraform init' alias tfp='terraform plan' alias tfa='terraform apply' alias tfd='terraform destroy' alias tfo='terraform output' alias tfs='terraform show' # Terraform workspace function tfws() { terraform workspace select "$1" }

AWS CLI Configuration

AWS CLI aliases and functions for cloud management:

# AWS CLI aliases alias aws='aws' alias awsls='aws s3 ls' alias awscp='aws s3 cp' alias awssync='aws s3 sync' alias awsec2='aws ec2' alias awslambda='aws lambda' # AWS profile switching function awsprof() { export AWS_PROFILE="$1" echo "Switched to AWS profile: $1" }

Configuration Files

Sample Docker Compose

version: '3.8' services: web: build: . ports: - "3000:3000" environment: - NODE_ENV=development volumes: - .:/app depends_on: - db db: image: postgres:13 environment: - POSTGRES_DB=myapp - POSTGRES_USER=user - POSTGRES_PASSWORD=password volumes: - postgres_data:/var/lib/postgresql/data volumes: postgres_data:

Sample Terraform Configuration

# terraform.tfvars.example project_name = "my-project" environment = "dev" region = "us-west-2" # VPC Configuration vpc_cidr = "10.0.0.0/16" public_cidr = "10.0.1.0/24" private_cidr = "10.0.2.0/24" # Instance Configuration instance_type = "t3.micro" instance_count = 2
View Docker Aliases View Terraform Aliases View K8s Config