feat(config): adicionar suporte a arquivo de configuracao .envguard.yaml e flag --config - #24
Merged
Merged
Conversation
…aml e flag --config - adiciona pacote internal/config com parsing estrito YAML e validacao - suporta ordem de descoberta: flag --config > .envguard.yaml > .envguard.yml > padroes embutidos - permite configurar ignore_dirs, custom_patterns, allowlist e severity_overrides - integra configuracoes aos modulos scanner, detector e comandos da CLI - adiciona testes unitarios e de integracao completos Closes#15
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Descrição
Implementa o suporte completo a arquivo de configuração (
.envguard.yamle.envguard.yml) e à flag de linha de comando--config(-c) para os comandosscanecheck.Permite que os projetos personalizem o comportamento da ferramenta através da definição de diretórios ignorados customizados, padrões de nomes de arquivos de ambiente adicionais, regras de allowlist/templates seguros e sobrescritas de níveis de severidade.
Closes#15
Tipo de Alteração
feat: Nova funcionalidadefix: Correção de bugrefactor: Refatoração de código sem alteração no comportamentoperf: Melhoria de performancedocs: Alteração ou adição na documentaçãostyle: Formatação, linting, imports (sem mudança de lógica)test: Adição ou ajuste de testes automatizadoschore: Dependências, scripts ou configurações geraisAlterações Realizadas
internal/config:Config,ScannerConfig,DetectorConfig,SeverityOverride).gopkg.in/yaml.v3com validação semântica (fail-fast para chaves desconhecidas ou sintaxe incorreta).--config>.envguard.yaml>.envguard.yml> defaults embutidos.internal/detector:custom_patterns) e expansão de allowlists.internal/scanner:scanner.ignore_dirs) combinados com os padrões seguros.severity_overrides) na classificação de cada finding.internal/cli:--confige-cadicionadas aos comandosscanecheck.internal/config,internal/detector,internal/scannereinternal/cli.CONTEXT.mde decisão arquitetural emdocs/adr/0001-yaml-configuration-support.md.Como Testar
go test -v ./....envguard.yaml:.envguard.yamlna raiz de um projeto de teste:./envguard scan --path .e verifique se.env.custom.sampleé classificado como INFO e*.env.vaulté detectado.--config:./envguard check --path . --config custom-rules.yamlscan/check. Oenvguarddeve retornar erro de uso e encerrar imediatamente.Checklist do Contribuinte (Pré-Envio)
git diffegit status..env), token ou arquivo temporário foi comitado.gofmt -s -w .e.editorconfig).go test ./...ego build ./...).Breaking Changes / Observações