|
1 | | -# Discovery Agent (Wails + Go) |
| 1 | +# Discovery Agent |
2 | 2 |
|
3 | | -Agente desktop/servico para inventario, automacao e distribuicao P2P em ambientes Windows, com UI local em Wails e modo headless via Windows Service. |
| 3 | +PT_BR: agente Windows para inventario, automacao, distribuicao P2P, atualizacao e operacao local/remota, com interface Wails e execucao headless como Windows Service. |
4 | 4 |
|
5 | | -## Repositórios Relacionados |
| 5 | +EN: Windows agent for inventory, automation, P2P distribution, update delivery and local/remote operation, with a Wails desktop UI and headless Windows Service mode. |
6 | 6 |
|
7 | | -- Agent (este repositório): https://github.com/pedrostefanogv/DiscoveryRMM_Agent |
8 | | -- Servidor de API: https://github.com/pedrostefanogv/DiscoveryRMM_API |
| 7 | +## AI / VibeCode Notice |
9 | 8 |
|
10 | | -## Capacidades Atuais |
| 9 | +PT_BR: este repositorio contem partes desenvolvidas com apoio de fluxos assistidos por IA, incluindo VibeCode e ferramentas similares. Ao usar, estudar, copiar, contribuir ou redistribuir este codigo, voce concorda que deve revisar, validar e testar tudo antes de uso produtivo. Se sua politica interna restringe codigo assistido por IA, nao utilize este repositorio sem aprovacao formal. |
11 | 10 |
|
12 | | -- Execucao em dois modos: |
13 | | - - GUI desktop (Wails) |
14 | | - - Serviço Windows headless (`--service`) |
15 | | -- Inventario de hardware/software com integracao osquery e fallback PowerShell. |
16 | | -- App store e operações de pacote (install/remove/upgrade) com integração winget. |
17 | | -- Automacao com politicas, execucao de tarefas e coleta de resultados. |
18 | | -- P2P com descoberta local/libp2p, onboarding e distribuicao de artefatos. |
19 | | -- Chat/IA integrado com ferramentas MCP internas. |
20 | | -- Update do agente e fluxo de bootstrap via instalador NSIS. |
| 11 | +EN: this repository contains parts developed with AI-assisted workflows, including VibeCode and similar tooling. By using, reviewing, copying, contributing to, or redistributing this code, you agree that all changes must be manually reviewed, validated and tested before production use. If your internal policy restricts AI-assisted code, do not use this repository without formal approval. |
21 | 12 |
|
22 | | -## Estrutura do Projeto |
| 13 | +## Related Repositories / Repositorios Relacionados |
23 | 14 |
|
24 | | -- `src/main.go`: entrypoint (GUI, service e flags de startup). |
25 | | -- `src/app`: domínio principal do agente (P2P, sync, bridges e runtime). |
26 | | -- `src/internal`: serviços internos (automação, inventário, service, update, mcp). |
27 | | -- `src/frontend`: UI HTML/CSS/JS do Wails. |
28 | | -- `src/build/windows/installer`: arquivos NSIS do instalador. |
29 | | -- `DOCs`: documentacao tecnica e operacional. |
| 15 | +- Agent: https://github.com/pedrostefanogv/DiscoveryRMM_Agent |
| 16 | +- API Server / Servidor de API: https://github.com/pedrostefanogv/DiscoveryRMM_API |
30 | 17 |
|
31 | | -## Requisitos de Build Local |
| 18 | +## Downloads / Downloads |
32 | 19 |
|
33 | | -- Windows 10+. |
34 | | -- Go 1.23+. |
35 | | -- NSIS (makensis) no PATH. |
36 | | -- Opcional para build GUI: CLI do Wails. |
| 20 | +- Stable release / Release estavel: https://github.com/pedrostefanogv/DiscoveryRMM_Agent/releases/tag/v1.0.0 |
| 21 | +- Beta release / Release beta: https://github.com/pedrostefanogv/DiscoveryRMM_Agent/releases/tag/v1.0.0-beta.1 |
| 22 | +- LTS release / Release LTS: https://github.com/pedrostefanogv/DiscoveryRMM_Agent/releases/tag/v1.0.0-lts.1 |
| 23 | +- All releases / Todas as releases: https://github.com/pedrostefanogv/DiscoveryRMM_Agent/releases |
37 | 24 |
|
38 | | -## Build Local (Agente) |
| 25 | +## Current Scope / Escopo Atual |
| 26 | + |
| 27 | +- PT_BR: execucao em GUI desktop ou como servico Windows headless. |
| 28 | +- EN: runs either as a desktop GUI or as a headless Windows service. |
| 29 | +- PT_BR: inventario de hardware e software com integracao osquery e fallback PowerShell. |
| 30 | +- EN: hardware and software inventory with osquery integration and PowerShell fallback. |
| 31 | +- PT_BR: automacao operacional, execucao de tarefas e coleta de resultados. |
| 32 | +- EN: operational automation, task execution and result collection. |
| 33 | +- PT_BR: distribuicao P2P com descoberta local, onboarding e replicacao de artefatos. |
| 34 | +- EN: P2P distribution with local discovery, onboarding and artifact replication. |
| 35 | +- PT_BR: integracao com chat/IA e ferramentas MCP internas. |
| 36 | +- EN: integration with chat/AI flows and internal MCP tooling. |
| 37 | +- PT_BR: instalador NSIS, bootstrap online e versionamento por tag. |
| 38 | +- EN: NSIS installer, online bootstrap flow and tag-driven versioning. |
| 39 | + |
| 40 | +## Project Structure / Estrutura do Projeto |
| 41 | + |
| 42 | +- `src/main.go`: GUI and service entrypoint / entrypoint de GUI e servico. |
| 43 | +- `src/app`: main runtime domain / dominio principal do runtime. |
| 44 | +- `src/internal`: internal services and integrations / servicos e integracoes internas. |
| 45 | +- `src/frontend`: Wails front-end / interface Wails. |
| 46 | +- `src/build/windows/installer`: NSIS installer sources / fontes do instalador NSIS. |
| 47 | +- `DOCs`: technical and operational docs / documentacao tecnica e operacional. |
| 48 | + |
| 49 | +## Local Build Requirements / Requisitos de Build Local |
| 50 | + |
| 51 | +- Windows 10 or newer / Windows 10 ou superior. |
| 52 | +- Go 1.23 or newer / Go 1.23 ou superior. |
| 53 | +- NSIS (`makensis`) in `PATH`. |
| 54 | +- Optional for GUI development / opcional para GUI: Wails CLI. |
| 55 | + |
| 56 | +## Local Build / Build Local |
39 | 57 |
|
40 | 58 | ```powershell |
41 | | -# raiz do repositório |
42 | 59 | Set-Location .\src |
43 | 60 | go mod tidy |
44 | 61 | go test ./... |
45 | 62 | go build ./... |
46 | 63 | ``` |
47 | 64 |
|
48 | | -## Build Automatizado do Instalador (Padrão) |
49 | | - |
50 | | -Script criado para gerar instalador padrao do agent (servico + discovery/p2p habilitado por padrao): |
| 65 | +## Standard Installer Build / Build do Instalador Padrao |
51 | 66 |
|
52 | 67 | ```powershell |
53 | | -# raiz do repositório |
54 | 68 | .\build\scripts\build-install-installer.ps1 -ProjectRoot $PWD |
55 | 69 | ``` |
56 | 70 |
|
57 | | -Saida esperada: |
| 71 | +Expected output / Saida esperada: |
58 | 72 |
|
59 | | -- Binario do agent: `src/build/bin/discovery.exe` |
60 | | -- Instalador: `src/build/bin/discovery-agent-install.exe` |
| 73 | +- `src/build/bin/discovery.exe` |
| 74 | +- `src/build/bin/discovery-agent-install.exe` |
61 | 75 |
|
62 | | -Parâmetros úteis: |
| 76 | +Useful parameters / Parametros uteis: |
63 | 77 |
|
64 | 78 | ```powershell |
65 | 79 | .\build\scripts\build-install-installer.ps1 ` |
66 | | - -ProjectRoot $PWD ` |
67 | | - -OutputName discovery-agent-acme.exe ` |
68 | | - -DefaultUrl api.exemplo.com ` |
69 | | - -DefaultKey <token> ` |
70 | | - -DiscoveryEnabled 1 ` |
71 | | - -MinimalDefault |
| 80 | + -ProjectRoot $PWD ` |
| 81 | + -OutputName discovery-agent-acme.exe ` |
| 82 | + -DefaultUrl api.example.com ` |
| 83 | + -DefaultKey <token> ` |
| 84 | + -DiscoveryEnabled 1 ` |
| 85 | + -MinimalDefault |
72 | 86 | ``` |
73 | 87 |
|
74 | | -## Build Bootstrap (Online) |
75 | | - |
76 | | -Script para gerar bootstrapper (baixa segunda etapa e executa instalador completo): |
| 88 | +## Bootstrap Build / Build do Bootstrap |
77 | 89 |
|
78 | 90 | ```powershell |
79 | 91 | .\build\scripts\build-bootstrap-installer.ps1 ` |
80 | | - -ProjectRoot $PWD ` |
81 | | - -PayloadUrl "https://cdn.exemplo.com/discovery-agent-install.exe" ` |
82 | | - -PayloadSha256 "<sha256-opcional>" |
| 92 | + -ProjectRoot $PWD ` |
| 93 | + -PayloadUrl "https://cdn.example.com/discovery-agent-install.exe" ` |
| 94 | + -PayloadSha256 "<optional-sha256>" |
83 | 95 | ``` |
84 | 96 |
|
85 | | -## Automacao de Build no GitHub Actions |
| 97 | +## GitHub Actions / Automacao no GitHub Actions |
86 | 98 |
|
87 | | -Workflows adicionados: |
| 99 | +Workflows / Workflows: |
88 | 100 |
|
89 | 101 | - `.github/workflows/build-agent-installer.yml` |
90 | 102 | - `.github/workflows/build-agent-bootstrap.yml` |
91 | 103 | - `.github/workflows/release-agent-on-tag.yml` |
92 | 104 |
|
93 | | -Execucao: |
| 105 | +How to run manually / Como executar manualmente: |
94 | 106 |
|
95 | | -1. Acesse Actions no GitHub. |
96 | | -2. Selecione `Build Agent Installer` para o instalador padrao ou `Build Agent Bootstrap Installer` para o bootstrap. |
97 | | -3. Execute via `Run workflow` preenchendo os parametros opcionais. |
98 | | -4. Baixe o artefato gerado (`discovery-agent-installer` ou `discovery-agent-bootstrap`). |
| 107 | +1. Open GitHub Actions / Abra o GitHub Actions. |
| 108 | +2. Select `Build Agent Installer` or `Build Agent Bootstrap Installer` / Selecione `Build Agent Installer` ou `Build Agent Bootstrap Installer`. |
| 109 | +3. Use `Run workflow` and fill the inputs / Use `Run workflow` e preencha os parametros. |
| 110 | +4. Download the generated artifact / Baixe o artefato gerado. |
99 | 111 |
|
100 | | -## Release Automatizado por Tag |
| 112 | +## Tag-Based Releases / Releases por Tag |
101 | 113 |
|
102 | | -Quando uma tag Git no formato abaixo for enviada ao GitHub, o workflow `release-agent-on-tag.yml` faz o build do agent e publica os executaveis automaticamente em GitHub Releases: |
| 114 | +Supported channels / Canais suportados: |
103 | 115 |
|
104 | | -- Release normal: `v1.2.3` |
| 116 | +- Stable: `v1.2.3` |
105 | 117 | - Beta: `v1.2.3-beta.1` |
106 | 118 | - LTS: `v1.2.3-lts.1` |
107 | 119 |
|
108 | | -Comportamento: |
| 120 | +Behavior / Comportamento: |
| 121 | + |
| 122 | +- `v1.2.3`: stable GitHub release / release estavel. |
| 123 | +- `v1.2.3-beta.1`: prerelease / prerelease. |
| 124 | +- `v1.2.3-lts.1`: LTS release without `latest` / release LTS sem `latest`. |
109 | 125 |
|
110 | | -- `v1.2.3`: release estavel normal. |
111 | | -- `v1.2.3-beta.1`: release marcada como prerelease. |
112 | | -- `v1.2.3-lts.1`: release LTS sem promover como latest. |
| 126 | +The workflow embeds the tag version into the binaries and publishes customer-facing assets automatically / O workflow embute a versao da tag no binario e publica os assets automaticamente. |
113 | 127 |
|
114 | | -O workflow utiliza a propria tag como versao embutida no binario via ldflags e publica os artefatos em GitHub Releases. |
| 128 | +## Network Operation Note / Observacao sobre Operacao em Rede |
115 | 129 |
|
116 | | -## Observacao sobre Operacao em Rede |
| 130 | +PT_BR: o instalador padrao registra e inicia o Windows Service do agent com discovery/P2P habilitado por padrao para operacao em rede local. Regras de firewall e politicas do ambiente ainda podem ser necessarias. |
117 | 131 |
|
118 | | -O instalador padrao ja registra e inicia o Windows Service do agent e mantem discovery/p2p habilitado para operacao em rede local. A comunicacao de entrada pode depender de regra de firewall da maquina/ambiente. |
| 132 | +EN: the standard installer registers and starts the Windows Service with discovery/P2P enabled by default for local network operation. Firewall rules and environment policies may still be required. |
119 | 133 |
|
120 | | -## Documentação |
| 134 | +## Documentation / Documentacao |
121 | 135 |
|
122 | | -- Mapa de documentacao: `DOCs/README.md` |
123 | | -- Guia operacional de instalador (ponteiro atual): `DOCs/GUIA_INSTALADOR_OFFLINE_ONLINE_API.md` |
124 | | -- Arquitetura detalhada: `ARCHITECTURE.md` |
| 136 | +- `DOCs/README.md` |
| 137 | +- `DOCs/GUIA_INSTALADOR_OFFLINE_ONLINE_API.md` |
| 138 | +- `ARCHITECTURE.md` |
0 commit comments