Ciao Federico,
intanto grazie!
1) metti la CA sulle macchine che chiamano gitlab, così validano il
> certificato come trusted
>
Il certificato l'ho già installato sui server (ad esempio dal server con
Docker posso fare login sul Docker Registry esposto dal server di GitLab).
L'esecuzione delle pipeline viene tuttavia eseguita da un demone chiamato
GitLab-Runner, che per il momento (fino a quando non avrò messo Kubernetes)
eseguo tramite Docker.
Quindi, anche se sul server di Docker il certificato c'è, il container del
GitLab-Runner Docker executor, presente sullo stesso server, non ne sa
nulla.
Quando creo il container, però, gli condivido un volume con il CA e vedo
che lui se lo prende. Se entro nel container e controllo, il CA nuovo c'è.
Per qualche motivo però, questa informazione non è trasmessa alle "istanze"
che vengono "spawnate" quando viene richiamato da una pipeline...
2) per git passi a ssh invece che https, e a wget passi
> --no-check-certificate per saltare la validazione
>
La soluzione di bypassare i criteri di sicurezza l'avevo già provata e
funziona (non serve nemmeno switchare git ad ssh, basta mettere una
variabile GIT_SSL_NO_VERIFY: "1" nel gitlab-ci.yml), ed anche il
--no-check-certificate sul wget.
Il problema del bypass è che:
1. è brutto (è fatto per i self-signed)
2. teoricamente è tutto a posto, e penso di essere ad un millimetro
dalla soluzione (il che lo rende ancora più frustrante)
3. potrebbero saltare fuori presto altri servizi da usare che magari non
prevedono la possibilità di *non *verificare il certificato
Aspetto la fine del bounty su StackOverflow e qualche giorno per vedere se
rispondono su GitLab, poi al limite uso la suddetta variabile per farmi dei
ternari e mettere o meno --no-check-certificate ed altre eventuali opzioni.
Grazie ancora,
Andrea
Il giorno mer 14 nov 2018 alle ore 10:15 Federico Fissore feder...@fsfe.org
[it-torino-java-jug] ha scritto:
>
>
> Conosco gitlab solo di nome quindi mi vengono in mente solo 2 work around
>
> 1) metti la CA sulle macchine che chiamano gitlab, così validano il
> certificato come trusted
> 2) per git passi a ssh invece che https, e a wget passi
> --no-check-certificate per saltare la validazione
>
> federico
>
>
>