Write Blueprint: Associate GitLab Agents for Kubernetes with GitLab Environments
Summary
We should write a blueprint for Integration of Environment/Deployment and GitLab Agent for Kubernetes. This allows us to get on the same page.
Recent discussions
Let's start working on this feature! I think some next steps could be:
- Align on the feature direction (Viktor has a video for this)
- Determining the first MVC for this feature (GitLab built-in Kubernetes dashboard Design (#365901) and connecting Environments to that could be an option)
- Designing/scoping that MVC
I am open to any proposal, but I don't know what would be the scope of the tech eval issue. In the video, I presented 3 issues:
- frontend access to the cluster through KAS
Environment
kind- design
I guess there is no need to tech evaluate the design, but the other two issues in themselves might be big enough for a tech eval. Would you mind opening the tech evaluation issue with the scope you propose for it?
And then you'd need something to put that object into the cluster from a git repo for version control. And then we'd need gitops. And then configuration for it would need to come from somewhere, version controlled. So we're back to where we are now :) I don't see a problem that needs to be solved.
🤷 My concern is that we are trying to build something without a good definition of what an environment is. Building on top of loosely defined terms will not work well. @nagyv-gitlab and I started working on that problem but didn't finish. See !75338 (closed). In my personal opinion this needs to be addressed first. Then we need to understand what user problems we want to solve / what are the use cases. And then we plan what we do and how and only then we have tech evaluations/spikes. I'm sorry, I haven't read all the text on the photos, don't have context so I don't understand what's happening here but it seems to me we're skipping some steps.
References
- Architecture Blueprint: https://docs.gitlab.com/ee/architecture/
Current status
- Deployment tracking with ArgoCD is supported => https://docs.gitlab.com/ee/ci/environments/external_deployment_tools.html#example-track-deployments-of-argocd