Pular para conteúdo

AUR-571: endereco da API do GitHub do analysis_data vem de configuracao

Contrato

  • O resolvedor do analysis_data (internal/artifacts) e o cliente de PR (cmd/aurumcode/pr.go) leem a mesma variavel, AURUMCODE_GITHUB_API_URL, pela mesma funcao: config.GitHubAPIURL / config.ValidateGitHubAPIURL (internal/config/githubapi.go). Padrao: config.DefaultGitHubAPIURL (https://api.github.com), declarado nesse unico arquivo.
  • Aceito: https:// com host; http:// somente para IP de loopback literal (127.0.0.1, ::1). Recusado: http:// com nome ou IP nao loopback (inclusive localhost), outro esquema, credenciais, query ou fragmento. O erro nomeia a variavel.
  • No resolvedor, endereco invalido e analysis_data_invalid (inconclusivo pela politica, sem requisicao e sem recair no cache de outra origem); no cliente de PR, o review falha ao carregar com exit 1.
  • artifacts.Options.APIBase vazio, ou igual a DefaultAPIBase, significa "nao escolhido pelo chamador": vale a variavel. Qualquer outro valor (testes do pacote internal/gate) e usado como dado, validado do mesmo modo.

Prova

tests/acceptance/AUR-571.sh (AC-001, AC-002, AC-003, AC-001-MUT-001). Tutorial dados-de-analise regravado com AURUMCODE_GITHUB_API_URL apontando para servidor-local.py (HTTP em loopback, dentro do container, rede none), sem CA, sem --add-host, sem .estado/ com certificado.

Fora do escopo / pendencias

  • internal/gate/analysisdata.go ainda inicializa AnalysisDataAPIBase com artifacts.DefaultAPIBase (fora dos paths deste card); funciona pela regra do APIBase acima, mas pode passar a vazio.
  • internal/git/githubclient.DefaultBaseURL mantem o proprio literal do host padrao (fora dos paths); unificar com config.DefaultGitHubAPIURL.
  • demo/tutoriais/README.md e docs/specs/AUR-563.md ainda descrevem o servidor falso com CA e o endereco fixo (fora dos paths).