Skip to content

Permite selecionar diretórios de logs por padrão configurável - #154

Open
pitangainnovare wants to merge 7 commits into
scieloorg:mainfrom
pitangainnovare:melhoria/padrao-subdiretorios
Open

pitangainnovare wants to merge 7 commits into
scieloorg:mainfrom
pitangainnovare:melhoria/padrao-subdiretorios

Conversation

@pitangainnovare

Copy link
Copy Markdown
Contributor

O que esse PR faz?

Permite configurar um padrão opcional de subdiretórios para descobrir novos meses automaticamente, evitando cadastrar cada pasta separadamente. Campo vazio preserva a busca recursiva existente. A escolha do tradutor verifica o caminho sem consultar o disco.

Onde a revisão poderia começar?

log_manager_config/models.py, nos métodos get_log_directories() e matches_log_path(). Depois, log_manager/services/catalog.py e metrics/services/parsing/metadata.py.

Como este poderia ser testado manualmente?

  1. Aplicar as migrações e editar uma configuração de coleção no admin.
  2. Informar uma raiz e o padrão */*/preprints-scielo-org, mantendo o tradutor apropriado.
  3. Catalogar logs e conferir que apenas as pastas correspondentes entram, incluindo seus arquivos de acesso e erro.
  4. Criar uma nova pasta mensal correspondente e repetir a catalogação, sem alterar a configuração.
  5. Deixar o padrão vazio e conferir a busca recursiva anterior.

Validação automatizada: 42 testes relevantes passaram em Docker, além de formatação, lint e verificação de consistência das migrações.

Algum cenário de contexto que queira dar?

Preprints possui diretórios mensais sob uma raiz compartilhada com outras aplicações. A configuração por padrão permite selecionar somente suas pastas. As regras de validação, contagem e exportação permanecem inalteradas. Este PR não migra configurações existentes automaticamente.

Screenshots

Não incluídos. O campo utiliza o formulário existente do admin Wagtail.

Quais são os tickets relevantes?

Nenhuma issue específica vinculada.

Referências

Biblioteca padrão do Python: glob.iglob, fnmatch.fnmatchcase e os.path.


Segurança da informação (NSI.04)

Este PR manipula dados sensíveis ou pessoais (LGPD)?

  • Sim — integra o fluxo existente de logs, que podem conter endereços IP. A alteração trata a seleção dos caminhos, sem adicionar exposição do conteúdo dos logs.
  • Não

Este PR altera autenticação, autorização, controle de acesso ou gerenciamento de sessão?

  • Sim — descreva o que mudou e por quê:
  • Não

Este PR introduz, atualiza ou remove dependências de terceiros?

  • Sim — as novas dependências foram verificadas no SBOM/Trivy sem vulnerabilidades críticas/altas em aberto?
    • Verificado e aprovado
    • Pendente / vulnerabilidade aceita com justificativa:
  • Não

Este PR foi validado pelo pipeline de segurança (SonarQube / Trivy)?

  • Sim — link do job:
  • Não aplicável a este PR (justifique):

Pendente de execução/verificação no remoto. Os testes e verificações locais não substituem esse pipeline.

Este PR concatena, monta ou executa comandos SQL, HTML ou JavaScript a partir de entrada externa?

  • Sim — confirme que há sanitização/parametrização (prepared statements, escaping, etc.):
  • Não

Este PR expõe novos endpoints, telas ou serviços?

  • Sim — HTTPS obrigatório está garantido e o acesso segue o princípio de menor privilégio?
  • Não — acrescenta somente um campo à configuração administrativa existente.

Algum segredo, senha, chave ou token está sendo adicionado ao código-fonte?

  • Não, nenhum segredo foi commitado
  • Sim (bloquear merge e corrigir antes de prosseguir)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant