#!/bin/bash # ============================================================================= # DevOps Toolbox Entrypoint # ============================================================================= # Executa a ferramenta especificada ou mostra ajuda # ============================================================================= set -e # Ferramentas disponíveis TOOLS="terraform tofu kubectl helm aws ansible k9s" show_help() { echo "DevOps Toolbox - Demonstração de eStargz Lazy Pulling" echo "" echo "Uso: docker run toolbox [argumentos]" echo "" echo "Ferramentas disponíveis:" echo " terraform - Infrastructure as Code" echo " tofu - OpenTofu (Terraform fork)" echo " kubectl - Kubernetes CLI" echo " helm - Kubernetes package manager" echo " aws - AWS CLI" echo " ansible - Configuration management" echo " k9s - Kubernetes TUI" echo "" echo "Exemplos:" echo " docker run toolbox terraform version" echo " docker run toolbox kubectl version --client" echo " docker run toolbox helm version" echo "" echo "Com eStargz, apenas a camada da ferramenta usada é baixada!" } show_versions() { echo "Versões instaladas:" echo "" terraform version 2>/dev/null | head -1 || echo "terraform: não disponível" tofu version 2>/dev/null | head -1 || echo "tofu: não disponível" kubectl version --client 2>/dev/null | head -1 || echo "kubectl: não disponível" helm version --short 2>/dev/null || echo "helm: não disponível" aws --version 2>/dev/null || echo "aws: não disponível" ansible --version 2>/dev/null | head -1 || echo "ansible: não disponível" k9s version --short 2>/dev/null || echo "k9s: não disponível" } # Processa argumentos case "$1" in --help|-h|"") show_help ;; --versions|-v) show_versions ;; terraform|tofu|kubectl|helm|aws|ansible|k9s) exec "$@" ;; *) echo "Erro: Ferramenta '$1' não reconhecida" echo "" show_help exit 1 ;; esac