From 8fb7c79de6cd907d558db3014fd792b297d61ade Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Pedro=20Toledo?= Date: Sun, 25 Jan 2026 19:50:44 -0300 Subject: [PATCH] =?UTF-8?q?feat:=20Expans=C3=A3o=20da=20Base=20de=20Conhec?= =?UTF-8?q?imento=20e=20Automa=C3=A7=C3=A3o=20de=20Status?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Atualização completa do README.md com novas seções críticas (Backup, Endpoints, Processos). - Integração de verticais de mercado (Saúde, Indústria, Jurídico, Criativo, Hotelaria, Construção, Call Center). - Inclusão de tópicos do plano original (VoIP, Monitoramento, Dev, Ferramentas). - Implementação de barras de progresso visuais automáticas no README. - Criação do script .gemini/update_progress.py para atualização dos indicadores. - Atualização do System Prompt (GEMINI.md) para tornar a atualização de status mandatória. --- .gemini/GEMINI.md | 10 +++ .gemini/update_progress.py | 137 +++++++++++++++++++++++++++++++ README.md | 160 +++++++++++++++++++++++++++++++++++-- 3 files changed, 301 insertions(+), 6 deletions(-) create mode 100644 .gemini/update_progress.py diff --git a/.gemini/GEMINI.md b/.gemini/GEMINI.md index b72644f..e17058c 100644 --- a/.gemini/GEMINI.md +++ b/.gemini/GEMINI.md @@ -295,6 +295,16 @@ O Agente DEVE salvar o PDF **exatamente** na estrutura de pastas definida abaixo * `Nivel_2` (Técnico Pleno): **Técnico (NOC/Infra).** * `Nivel_3` (Especialista/Sr): **Engenharia e Crise.** +### Fase 5: Atualização de Indicadores (Status Update) + +Sempre que alterar o status de um manual no `README.md` (marcar de `[ ]` para `[x]`), é **OBRIGATÓRIO** atualizar as barras de progresso visuais. + +1. **Execução:** + ```powershell + python .gemini/update_progress.py + ``` +2. **Validação:** Verifique se as porcentagens no topo do `README.md` foram recalculadas. + --- diff --git a/.gemini/update_progress.py b/.gemini/update_progress.py new file mode 100644 index 0000000..54d6e0e --- /dev/null +++ b/.gemini/update_progress.py @@ -0,0 +1,137 @@ +import re +import sys + +def generate_progress_bar(total, current, length=20): + if total == 0: + percent = 0 + else: + percent = (current / total) * 100 + + filled_length = int(length * current // total) if total > 0 else 0 + bar = '▓' * filled_length + '░' * (length - filled_length) + return f"> **Status:** `{bar}` **{int(percent)}%** ({current}/{total})" + +def update_readme(file_path): + with open(file_path, 'r', encoding='utf-8') as f: + lines = f.readlines() + + # Pass 1: Analyze sections + sections = [] + current_section = None + global_total = 0 + global_done = 0 + + # Store line indices for sections to insert bars later + # Structure: {'line_index': int, 'total': int, 'done': int, 'is_global': bool} + + # First, let's identify section headers and count tasks + # We will reconstruct the file content dynamically + + new_lines = [] + + # Global stats + total_tasks = 0 + done_tasks = 0 + + # Temporary buffer to hold section content so we can count before writing the header + # This approach is tricky because we need to insert the bar *after* the header + # simpler approach: Read all, parse structure, then process. + + # Let's map sections: (start_line, end_line, title, tasks_total, tasks_done) + + section_map = [] + current_header_index = -1 + + # Logic moved to second pass + + + # Refined Logic: + # 1. Parse file into blocks. + # 2. Check checkboxes in blocks. + # 3. Reassemble. + + output_lines = [] + + # Regex for progress bar to remove existing ones + progress_regex = re.compile(r'^>\s*\*\*Status:\*\*\s*`[▓░]+`\s*\*\*\d+%\*\*.*$') + + i = 0 + while i < len(lines): + line = lines[i] + + # Skip existing progress bars + if progress_regex.match(line.strip()): + i += 1 + continue + + output_lines.append(line) + i += 1 + + # Now we have clean lines without progress bars. Let's process them to add bars. + final_lines = [] + + # We need to do a pass to count EVERYTHING first for the Global Bar + for line in output_lines: + if re.search(r'^\s*-\s*\[ \]', line): + total_tasks += 1 + elif re.search(r'^\s*-\s*\[x\]', line, re.IGNORECASE): + total_tasks += 1 + done_tasks += 1 + + # Insert Global Bar after the main title (assuming first H1 or similar) + # Finding "Quadro de Status" header + inserted_global = False + + # Process sections + curr_section_total = 0 + curr_section_done = 0 + section_start_index = -1 + + # We need to know counts PER SECTION. + # Let's iterate and build a dict of section_index -> counts + # But checking lines again is inefficient? No, it's fast enough. + + section_stats = {} + current_sec_idx = -1 + + for idx, line in enumerate(output_lines): + if line.strip().startswith('### '): + current_sec_idx = idx + section_stats[current_sec_idx] = {'total': 0, 'done': 0} + + if current_sec_idx != -1: + if re.search(r'^\s*-\s*\[ \]', line): + section_stats[current_sec_idx]['total'] += 1 + elif re.search(r'^\s*-\s*\[x\]', line, re.IGNORECASE): + section_stats[current_sec_idx]['total'] += 1 + section_stats[current_sec_idx]['done'] += 1 + + # Now Write + for idx, line in enumerate(output_lines): + final_lines.append(line) + + # Global Bar insertion + if "## 📊 Quadro de Status dos Manuais" in line and not inserted_global: + bar = generate_progress_bar(total_tasks, done_tasks, length=30) + final_lines.append(f"\n{bar}\n") + inserted_global = True + + # Section Bar insertion + if idx in section_stats: + stats = section_stats[idx] + if stats['total'] > 0: # Only show if there are tasks + bar = generate_progress_bar(stats['total'], stats['done']) + final_lines.append(f"{bar}\n") + + with open(file_path, 'w', encoding='utf-8') as f: + f.writelines(final_lines) + + print(f"Updated README.md with progress bars. Global: {done_tasks}/{total_tasks}") + +if __name__ == "__main__": + if len(sys.argv) > 1: + target_file = sys.argv[1] + else: + target_file = r"c:\Users\joao.goncalves\Desktop\manuais zammad\README.md" + + update_readme(target_file) diff --git a/README.md b/README.md index 5392226..a8eed03 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,10 @@ Este repositório contém a documentação técnica da iT Guys, organizada por s ## 📊 Quadro de Status dos Manuais +> **Status:** `▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░░░` **45%** (80/175) + ### 1. Rede e Segurança (pfSense / Suricata / OpenVPN) +> **Status:** `▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░` **68%** (15/22) - [x] [Nível 3] Planejamento de Hardware e Virtualização - [x] [Nível 2] Instalação Inicial e Setup Wizard - [x] [Nível 2] Customização e Identidade Visual @@ -20,16 +23,27 @@ Este repositório contém a documentação técnica da iT Guys, organizada por s - [x] [Nível 2] VPN Road Warrior (OpenVPN + LDAP) - [x] [Nível 3] VPN Site-to-Site (OpenVPN) - [x] [Nível 3] Diagnóstico Avançado, Shell Recovery e Logs +- [ ] [Nível 3] Tuning de Wi-Fi para Alta Densidade (Unifi/Omada) +- [ ] [Nível 3] VPN Site-to-Site Avançada (Mesh / Hub-and-Spoke) +- [ ] [Nível 3] Segregação de Redes Críticas (VLAN de Equipamentos Médicos/Industriais) +- [ ] [Nível 3] Isolamento de Sistemas Legados (Windows XP/7 em Rede Segregada) +- [ ] [Nível 2] Configuração de Captive Portal e Vouchers (Hotelaria/Eventos) +- [ ] [Nível 3] QoS e Priorização de Tráfego VoIP/SIP (Call Centers) +- [ ] [Nível 3] Redes Temporárias e Failover 4G/Starlink (Obras/Eventos) ### 2. Storage (TrueNAS / ZFS) +> **Status:** `▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░` **75%** (6/8) - [x] [Nível 1] Monitoramento de Saúde de Discos - [x] [Nível 2] Gestão de Users, Groups e ACLs - [x] [Nível 2] Configuração de Snapshots e Replicação - [x] [Nível 3] Arquitetura ZFS e Planejamento - [x] [Nível 3] Manutenção de ZFS (Scrub/Resilver) - [x] [Nível 3] Configuração de iSCSI Target +- [ ] [Nível 3] Otimização de Storage para Edição de Vídeo (10GbE/Jumbo Frames) +- [ ] [Nível 3] Otimização de Protocolo SMB para Arquivos Grandes (AutoCAD/Revit) ### 3. Bancos de Dados (PostgreSQL / MySQL / Redis) +> **Status:** `▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓` **100%** (7/7) - [x] [Nível 1] Diagnóstico de Conectividade e Status - [x] [Nível 1] Procedimento de Backup e Restore Manual - [x] [Nível 2] Instalação e Configuração Base @@ -39,6 +53,7 @@ Este repositório contém a documentação técnica da iT Guys, organizada por s - [x] [Nível 3] Arquitetura de Persistência e Troubleshooting Avançado ### 4. Windows Server (AD / DNS / GPO) +> **Status:** `▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░` **77%** (7/9) - [x] [Nível 1] Criação e Gestão do Ciclo de Vida de Usuários (AD) - [x] [Nível 2] Padrões de Senha e Configuração Inicial (Post-Install) - [x] [Nível 2] Gestão Avançada de DNS e DHCP @@ -46,8 +61,11 @@ Este repositório contém a documentação técnica da iT Guys, organizada por s - [x] [Nível 3] Diagnóstico de Replicação (DCDIAG) - [x] [Nível 3] Gestão Centralizada via GPO - [x] [Nível 3] Disaster Recovery e Continuidade de Negócios (AD) +- [ ] [Nível 3] RDS/Terminal Services: Otimização para Alta Latência +- [ ] [Nível 3] Gestão de Impressão Centralizada e Cotas (PaperCut) ### 5. Microsoft Exchange (Exchange 2019) +> **Status:** `▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓` **100%** (17/17) - [x] [Nível 0] Como Acessar e Configurar Webmail e Celular - [x] [Nível 0] Como Configurar Resposta Automatica de Ferias - [x] [Nível 1] Diagnostico Basico - Usuario nao recebe e-mail @@ -67,6 +85,7 @@ Este repositório contém a documentação técnica da iT Guys, organizada por s - [x] [Nível 3] Renovacao de Certificado SSL ### 6. Virtualização (VMware / Proxmox) +> **Status:** `▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░` **75%** (12/16) **VMware:** - [x] [Nível 1] Visão Geral e Escopo - [x] [Nível 1] Verificação Básica de VM @@ -88,6 +107,7 @@ Este repositório contém a documentação técnica da iT Guys, organizada por s - [ ] [Nível 3] Troubleshooting de Rede ### 7. Conteineres (Docker / Portainer) +> **Status:** `▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓` **100%** (9/9) - [x] [Nível 0] Docker para Devs e Ferramentas - [x] [Nível 1] Instalação e Configuração (Docker + Compose) - [x] [Nível 1] Deploy Portainer CE @@ -99,6 +119,7 @@ Este repositório contém a documentação técnica da iT Guys, organizada por s - [x] [Nível 3] Kubernetes: Visão Geral e Ferramentas Básicas ### 8. Linux Server +> **Status:** `▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓` **100%** (7/7) - [x] [Nível 1] Comandos Essenciais de Diagnóstico - [x] [Nível 2] Gerenciamento de Pacotes e Updates - [x] [Nível 2] Configuração de Rede e Firewall @@ -107,12 +128,139 @@ Este repositório contém a documentação técnica da iT Guys, organizada por s - [x] [Nível 3] Análise de Logs (Journalctl) - [x] [Nível 3] Scripting e Automação Avançada -**Novas Seções (Fase 2 & 3):** -- [ ] [Nível 1-3] Service Desk (Zammad) -- [ ] [Nível 1-3] Hardware e Infraestrutura (iDRAC/UPS) -- [ ] [Nível 1-3] Processos e SOPs (NOC/Incidentes) -- [ ] [Nível 1-3] Ferramentas e Web Servers (Nginx/Apache/FTP/Certbot) -- [ ] [Nível 1-3] Cloud e Colaboração (Nextcloud/Office) +### 9. Service Desk (Zammad) +> **Status:** `░░░░░░░░░░░░░░░░░░░░` **0%** (0/6) +- [ ] [Nível 1] Criação, Classificação e Fusão de Tickets +- [ ] [Nível 2] Configuração de Triggers e Automações +- [ ] [Nível 2] Gerenciamento de SLAs, Grupos e Roles +- [ ] [Nível 2] Configuração de Canais de Entrada (Email / Chat / Telegram) +- [ ] [Nível 3] Integrações via API e Webhooks +- [ ] [Nível 3] Backup, Restore e Manutenção do Zammad + +### 10. Hardware - Gerenciamento Out-of-Band (OOB) +> **Status:** `░░░░░░░░░░░░░░░░░░░░` **0%** (0/3) +- [ ] [Nível 2] Acesso e Gerenciamento via iDRAC (Dell PowerEdge) +- [ ] [Nível 2] Acesso e Gerenciamento via IMM (Lenovo System x) +- [ ] [Nível 3] Atualização de Firmware, BIOS e Lifecycle Controller + +### 11. Hardware - Energia e Monitoramento +> **Status:** `░░░░░░░░░░░░░░░░░░░░` **0%** (0/4) +- [ ] [Nível 2] Monitoramento de UPS/Nobreaks (APC PowerChute) +- [ ] [Nível 2] Gerenciamento de Réguas PDU Metrificadas (Voltagem/Consumo) +- [ ] [Nível 2] Monitoramento Ambiental (Sensores de Temperatura/Umidade) +- [ ] [Nível 3] Configuração de Shutdown Automático em Falha de Energia + +### 12. Web Servers - Nginx +> **Status:** `░░░░░░░░░░░░░░░░░░░░` **0%** (0/4) +- [ ] [Nível 1] Comandos Básicos (Start/Stop/Reload/Logs) +- [ ] [Nível 2] Configuração de Virtual Hosts (Server Blocks) +- [ ] [Nível 3] Reverse Proxy e Load Balancing +- [ ] [Nível 3] Tuning de Performance e Caching + +### 13. Web Servers - Apache +> **Status:** `░░░░░░░░░░░░░░░░░░░░` **0%** (0/3) +- [ ] [Nível 1] Comandos Básicos (Start/Stop/Reload/Logs) +- [ ] [Nível 2] Configuração de Virtual Hosts (Sites-Available) +- [ ] [Nível 3] Gerenciamento de Módulos e Security Hardening + +### 14. Segurança Web - Certificados (Certbot/SSL) +> **Status:** `░░░░░░░░░░░░░░░░░░░░` **0%** (0/3) +- [ ] [Nível 2] Emissão Padrão (Webroot Nginx/Apache) +- [ ] [Nível 2] Emissão Standalone (Sem Web Server Ativo) +- [ ] [Nível 2] Configuração de Renovação Automática e Hooks + +### 15. Cloud - Nextcloud Hub +> **Status:** `░░░░░░░░░░░░░░░░░░░░` **0%** (0/7) +- [ ] [Nível 0] Guia de Uso Básico (Interface Web e App Mobile) +- [ ] [Nível 1] Diagnóstico de Logs e Erros Comuns do PHP/System +- [ ] [Nível 2] Administração de Usuários, Grupos e Cotas +- [ ] [Nível 2] Migração e Transferência de Dados entre Usuários +- [ ] [Nível 3] Integração com Office Online Server (OOS/Collabora) +- [ ] [Nível 3] Troubleshooting de WebDAV, Disco e Permissões +- [ ] [Nível 3] Tuning de PHP-FPM e Caching (Redis/APCu) + +### 16. Cloud - Microsoft 365 +> **Status:** `░░░░░░░░░░░░░░░░░░░░` **0%** (0/5) +- [ ] [Nível 2] Gestão de Licenças e Usuários (Admin Center) +- [ ] [Nível 2] Configuração de Grupos e Equipes (Teams) +- [ ] [Nível 3] Configuração de Sincronização de Diretório (Entra ID Connect) +- [ ] [Nível 3] Políticas de Segurança e Acesso Condicional +- [ ] [Nível 2] Configuração de Criptografia de Email (S/MIME e OME) para Jurídico + +### 17. Cloud - Google Workspace (Edu/Corp) +> **Status:** `░░░░░░░░░░░░░░░░░░░░` **0%** (0/3) +- [ ] [Nível 1] Gestão de Usuários e Rollover de Alunos (Edu) +- [ ] [Nível 2] Filtro de Conteúdo e SafeSearch (Chrome Policies) +- [ ] [Nível 2] Gestão de Chromebooks (Google Admin Console) + +### 18. Processos e SOPs (NOC / Incidentes) +> **Status:** `░░░░░░░░░░░░░░░░░░░░` **0%** (0/4) +- [ ] [Nível 1] Fluxo de Atendimento e Triagem Nível 1 +- [ ] [Nível 2] Procedimento de Escalonamento de Incidentes +- [ ] [Nível 3] Gestão de Crise (War Room) e Comunicação +- [ ] [Nível 3] Relatórios de Post-Mortem (RCA) + +### 19. Backup & DR - Infraestrutura Virtual (Veeam) +> **Status:** `░░░░░░░░░░░░░░░░░░░░` **0%** (0/5) +- [ ] [Nível 1] Verificação Diária de Jobs de VM (Success/Failure) +- [ ] [Nível 2] Restauração de Arquivos Guest (Windows/Linux) +- [ ] [Nível 2] Instant VM Recovery (Restauração Rápida) +- [ ] [Nível 3] Configuração de Repositórios Imutáveis (Hardened Linux) +- [ ] [Nível 3] Criação de Rotinas de Teste de Restore (SureBackup) + +### 20. Gestão de Endpoints e Periféricos (ManageEngine) +> **Status:** `░░░░░░░░░░░░░░░░░░░░` **0%** (0/12) +- [ ] [Nível 1] Inventário de Ativos (Hardware/Software) +- [ ] [Nível 1] Ferramentas de Acesso Remoto e Chat +- [ ] [Nível 2] Gestão de Patches e Atualizações Críticas +- [ ] [Nível 2] Distribuição de Software (Pacotes .msi/.exe) +- [ ] [Nível 2] MDM para Coletores Android (Kiosk Mode) +- [ ] [Nível 2] Configuração de Impressoras Térmicas (Zebra) em Massa +- [ ] [Nível 2] Instalação e Troubleshooting de Tokens/Smartcards (A3) +- [ ] [Nível 3] Configuração de Políticas de Bloqueio USB/DLP +- [ ] [Nível 3] Configuração de Assinadores Digitais e Banking +- [ ] [Nível 2] Integração Básica de macOS em Redes Windows (SMB/Printers) +- [ ] [Nível 2] Configuração de Scanners de Alta Produção e Fluxo GED (Jurídico) +- [ ] [Nível 2] Gestão de Fontes e Assets Criativos (Agências) + +### 21. Padronização de Workstations (Setup Base) +> **Status:** `░░░░░░░░░░░░░░░░░░░░` **0%** (0/4) +- [ ] [Nível 1] Checklist de Configuração Inicial (OOBE) +- [ ] [Nível 1] Instalação do Agente de Gestão e Antivírus +- [ ] [Nível 2] Script de Debloat e Otimização do Windows +- [ ] [Nível 2] Configuração de Criptografia de Disco (Bitlocker) + +### 22. Ferramentas e Utilitários (SSH / Editores / Transferência) +> **Status:** `░░░░░░░░░░░░░░░░░░░░` **0%** (0/4) +- [ ] [Nível 0] Acesso Remoto Seguro (SSH Keys/Putty) +- [ ] [Nível 1] Transferência de Arquivos via SCP/WinSCP +- [ ] [Nível 1] Editores de Texto em Terminal (Nano/Vim Básico) +- [ ] [Nível 2] Tunelamento SSH (Port Forwarding) para Acesso Seguro + +### 23. Monitoramento e VoIP (Zabbix / Asterisk) +> **Status:** `░░░░░░░░░░░░░░░░░░░░` **0%** (0/5) +- [ ] [Nível 1] Zabbix: Adição de Hosts e Templates +- [ ] [Nível 2] Zabbix: Criação de Triggers e Alertas +- [ ] [Nível 1] VoIP: Diagnóstico de Ramais e Softphones +- [ ] [Nível 2] VoIP: Troubleshooting de Áudio (RTP/NAT) e Logs +- [ ] [Nível 2] MagnusBilling: Gestão de Tarifas e Troncos SIP + +### 24. Desenvolvimento e BI (VSCode / PowerBI) +> **Status:** `░░░░░░░░░░░░░░░░░░░░` **0%** (0/3) +- [ ] [Nível 1] VSCode Server: Ambiente de Desenvolvimento Remoto +- [ ] [Nível 2] PowerBI Report Server: Deploy e Atualização de Relatórios (.pbix) +- [ ] [Nível 1] Gitea: Gestão Básica de Repositórios Git Self-Hosted + +### 25. Segurança de E-mail (Proxmox Mail Gateway) +> **Status:** `░░░░░░░░░░░░░░░░░░░░` **0%** (0/3) +- [ ] [Nível 1] Rastreamento de Logs (Tracking Center) +- [ ] [Nível 2] Gestão de Whitelist/Blacklist e Regras de Spam +- [ ] [Nível 3] Cluster PMG e Alta Disponibilidade + +### 26. Administração Web (Webmin) +> **Status:** `░░░░░░░░░░░░░░░░░░░░` **0%** (0/2) +- [ ] [Nível 1] Instalação e Acesso Seguro ao Webmin +- [ ] [Nível 2] Gestão de Serviços (Apache/Postfix) via Interface Web ---