Pular para o conteúdo

Go para ferramentas de plataforma

Avançado18 min de leituraautomacao

Go é útil para ferramenta operacional distribuída como binário único, com inicialização rápida e tipos explícitos. Comece por uma CLI pequena, com entrada validada, saída legível e códigos de saída consistentes — não por um framework de subcomandos complexo.

Janela do terminal
go mod init exemplo.com/minha-cli
go test ./...
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -trimpath -o dist/minha-cli ./cmd/minha-cli

Passe context.Context até chamadas de rede para respeitar cancelamento e prazo. Use concorrência para I/O independente, com limite e coleta de erro; goroutines sem controle podem sobrecarregar API de nuvem e perder falhas. Implemente --dry-run para operações mutáveis e teste parser, decisões e cliente HTTP/Kubernetes com servidores falsos.

Publique checksums, versão e SBOM junto ao binário. -trimpath remove caminhos locais do build; fixe módulos e compile em CI para plataformas suportadas. Uma CLI que altera cluster deve usar credencial curta, escopo mínimo e log de auditoria — nunca kubeconfig de admin embutido no binário.

Próximo passo: exponha a CLI via interface do repositório e entregue-a pelo pipeline de CI/CD.