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 (inclusivelocalhost), 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, oreviewfalha ao carregar com exit 1. artifacts.Options.APIBasevazio, ou igual aDefaultAPIBase, significa "nao escolhido pelo chamador": vale a variavel. Qualquer outro valor (testes do pacoteinternal/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.goainda inicializaAnalysisDataAPIBasecomartifacts.DefaultAPIBase(fora dospathsdeste card); funciona pela regra doAPIBaseacima, mas pode passar a vazio.internal/git/githubclient.DefaultBaseURLmantem o proprio literal do host padrao (fora dospaths); unificar comconfig.DefaultGitHubAPIURL.demo/tutoriais/README.mdedocs/specs/AUR-563.mdainda descrevem o servidor falso com CA e o endereco fixo (fora dospaths).