Support installing and upgrading GitLab Shell
What does this MR do?
The MR adds support for GitLab shell installations & configuration.
It adds 2 workflows:
-
GenerateHostKeys
: will generate host keys if there are no existing ones -
InstallGitLabShell
: will configure and install GitLab Shell
And updates the DevKit:
- Add a script to install ingress-nginx.
OrbStack
andkind
are supported. - Add a README
Current limitations:
Please also see the comments below.
- GitLab Shell images are tagged differently, this MR uses
gitlab-shell:{gitlab-version}
. We may need to clarify this later. - Inside the
gitlabShell.config.monitoring
,only, it must be enabled, other fields will be ignored.enabled
is used- GitLab shell uses the same port for health check and metrics, defaults to 9122
- The endpoints are barely customizable
- Expect for
enabled
; there is little point in customizing other monitoring settings.
- The
Service
object is not customizable, it will create a ClusterIP service by default.- DevKit includes an example for exposing SSH port with ingress-nginx
- Some defaulting logic should be moved to a defaulter
Test plan
Follow the same steps described in https://gitlab.com/gitlab-org/cloud-native/operator/-/tree/9-add-gitlab-shell/scripts/development-kit
Except:
- Set the TAG to
9-add-gitlab-shell
- Use
scripts/development-kit/install-nginx.sh
to configure an example ingress onkind
ororbstack
or GKE clusters.- Or manually configure the ingress for other platforms, see: https://kubernetes.github.io/ingress-nginx/user-guide/exposing-tcp-udp-services/
The GitLab Shell service should be up and accessible from the specified port, 32022
see install-nginx.sh
.
Author's Checklist
For anything in this list which will not be completed, please provide a reason in the MR discussion.
Required
-
Ensure a release milestone is set. -
MR title and description are up to date, accurate, and descriptive. -
MR targeting the appropriate branch. -
MR has a green pipeline on GitLab.com. -
When ready for review, MR is labeled workflowready for review per the MR workflow.
Expected
-
Test plan indicating conditions for success has been posted and passes. -
Documentation is created or updated. -
Tests are added.
Related issues
Closes #9
Edited by Lucas Li