https://github.com/kubex-ecosystem/shellscript_template
This repository provides a robust template for writing secure, maintainable, and modular Bash scripts. It includes best practices for error handling, logging, colorized output, and safe environment setup. The structure is designed to help you avoid common pitfalls in shell scripting, such as accidental root execution, function name collisions, etc.
https://github.com/kubex-ecosystem/shellscript_template
linux security shell templates
Last synced: about 1 month ago
JSON representation
This repository provides a robust template for writing secure, maintainable, and modular Bash scripts. It includes best practices for error handling, logging, colorized output, and safe environment setup. The structure is designed to help you avoid common pitfalls in shell scripting, such as accidental root execution, function name collisions, etc.
- Host: GitHub
- URL: https://github.com/kubex-ecosystem/shellscript_template
- Owner: kubex-ecosystem
- License: mit
- Created: 2025-05-18T19:57:05.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-07T00:57:38.000Z (about 1 year ago)
- Last Synced: 2025-10-07T14:27:22.606Z (9 months ago)
- Topics: linux, security, shell, templates
- Language: Shell
- Homepage:
- Size: 50.8 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: docs/CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Secure and Modular Bash Script Template
> **License:** MIT
> **Copyright (C) 2025 Rafael Mori**
> **Inspired by Adrelanos' [helper-scripts](https://github.com/Whonix/helper-scripts)**
Este repositório fornece um template robusto para escrever scripts Bash seguros, modulares e fáceis de manter — agora com foco em automação cloud-native, incluindo ambientes Kubernetes em Azure!
---
## Sumário
- [Destaque: Cloud-Native com Azure/Kubernetes](#destaque-cloud-native-com-azurekubernetes)
- [Principais Características](#principais-características)
- [Exemplo Clássico de Uso](#exemplo-clássico-de-uso)
- [Por que usar este template?](#por-que-usar-este-template)
- [Comparativo Prático](docs/COMPARATIVO.md)
- [Casos de Uso Detalhados](#casos-de-uso-detalhados)
- [Como contribuir](#como-contribuir)
- [Licença](#licença)
## Destaque: Cloud-Native com Azure/Kubernetes
Este template agora inclui exemplos e configurações otimizadas para ambientes cloud-native, especialmente aqueles baseados em Azure Kubernetes Service (AKS). Aproveite os benefícios de escalabilidade, resiliência e gerenciamento simplificado que o Kubernetes oferece.
## Principais Características
- **Segurança em Primeiro Lugar**: Previne execução como root ou via sudo, e impõe opções de shell seguras (`errexit`, `nounset`, `pipefail`).
- **Design Modular**: Funções são prefixadas e exportadas seletivamente para evitar poluição do namespace global.
- **Registro e Cores**: Logger embutido com suporte a cores, detecção de fundo e saída em alto contraste para melhor UX.
- **Exemplo de Wrapper**: Demonstra como criar um ponto de entrada seguro para seus scripts, com roteamento de argumentos e validação de ambiente.
- **Utilitários Extensíveis**: Inclui utilitários para prompts de usuário, entrada de segredos e gerenciamento de buffer de terminal.
## Exemplo Clássico de Uso
```bash
# Uso do wrapper seguro
./examples/secure_wrapper.sh 2 arg1 arg2
```
Isso roteará a execução de forma segura para o script e função apropriados, garantindo que todas as verificações de ambiente e registro estejam em vigor.
## Por que usar este template?
- Evita erros comuns de script shell.
- Facilita a manutenção e extensão dos seus scripts.
- Fornece uma base profissional para automação, DevOps e tarefas de CI/CD.
## Casos de Uso Detalhados
Para uma compreensão mais profunda de como este template pode ser utilizado, consulte os casos de uso detalhados incluídos na documentação. Eles fornecem exemplos práticos e explicações sobre como tirar o máximo proveito das funcionalidades oferecidas.
## Como contribuir
Contribuições são bem-vindas! Sinta-se à vontade para enviar pull requests ou relatar problemas. Juntos, podemos melhorar ainda mais este template e ajudar a comunidade a criar scripts Bash seguros e eficientes.
## Licença
Este projeto está licenciado sob a Licença MIT - veja o arquivo [LICENSE](LICENSE) para detalhes.
---
### Compartilhe com a Comunidade
Sinta-se à vontade para usar este template como base para seus próprios scripts e compartilhar melhorias ou casos de uso com a comunidade via Gist, DEV.to ou outras plataformas!