Table of Contents
Gitlab Flux Setup
Problem Overview
The Gitlab Agent, a tool to allow continuous deployment of a gitlab project to a kubernetes server (gitops) was used for CIS*3760 during the W23 semester. At this time a couple of major issues were identified with it.
- Gitlab-Agent does not allow Kubernetes to automatically deploy a container when the image has changed. It will only deploy on updated manifests, negating the Continuous part of CD.
- Gitlab-Agent is complex and non-standard. Students were overwhelmed while learning the process.
Solution
Thankfully, Gitlab has already identified the solution. They have made the decision to deprecate Gitlab-Agent and move to Flux, one of two major, industry standard options for Continuous Deployment.
Implementation Plan
Gitlab's integration of Flux into Gitlab is still recent. As such, it is in our best interests to wait until later in the Summer Semester before setting up Flux. This will allow us to first upgrade Gitlab and ensure we have landed on a storage solution for repositories. We can also wait until the integration is more mature before migrating.
Depending on the state of Flux integration into Gitlab nearer the end of S23, the following decisions can be made
- Remain using the Gitlab agent for another semester
- Set up flux using existing directions provided by the Flux Project
- Set up Flux using new directions and integration methods provided by Gitlab