Make it easier to test Auto DevOps full flow with GDK
High Level
We should have some step just like the others where we:
echo true > auto_devops_enabled
gdk reconfigure
This should take us as far as we can with automation and there should be an accompanying documentation explaining how this works and what else you need to do.
With GKE support
Having played around with testing this a lot locally I believe that the only way to test integration with GKE + full auto devops flow will be to have an internet accessible gitlab instance running locally. We can do this with ngrok but I found this does not work anyway because of limitations around ngrok max connections (docker push
uses a tonne of connections).
So I propose we automate and document the same technique we are using in QA with an SSH tunnel for internet access. We could update the config/gitlab.yml
with the internet hostname for both gitlab and registry as part of gdk reconfigure
and this would mean that GKE could speak directly to your local instance.
One consideration should be security. Probably we don't want internet tunnels accessing our machines without any security on them. One simple solution is to recommend very strongly that any user doing this changes their root
user password so that people can't just login with the default password. I'd like to know however if others have better solutions for securing this.
With local Minikube support
Instead of doing all the above internet accessible stuff we could just instead automate and document what the process involves if using minikube. This would allow us to not worry about internet tunnelling and the security risks of this but it has the limitation that we won't be able to test GKE.