Epic: [Self-Hosted] Towards an independent installation job #12140
Labels
component: install
Terraform installation scripts, helm charts, installer images
meta: stale
This issue/PR is stale and will be closed soon
team: delivery
Issue belongs to the self-hosted team
type: epic
Current State
In the current installation process, users configuring the Gitpod instance in the KOT UI. KOTS starts a Kubernetes job based on the installer image that runs a bash script where the values of the KOTS UI configuration are replaced by KOTS directly in the bash script. The job prepares the installer config and runs the installer to install Gitpod.
We have several dedicated images specified in KOTS to run preflight checks and gather support bundle data. These are not designed to run independently of KOTS.
This approach has the following drawbacks:
Objectives
Proposed Solution and Tasks
Generate installer config inside KOTS #12152
Make the remaining bash script part of the installer image instead of the KOTS job template. #12196
Move Gitpod-related preflight checks to the installer image so that they can be executed independently of KOTS.
Provide an preflight check entry point that allows running a single preflight check or all preflight checks. Use the installer image for all preflight checks in KOTS.
Move Gitpod-related support bundle functions to the installer image and call them from KOTS.
Add post-installation tests to the installer image.
These can be executed by customers to verify an installation and can also be executed by the installer job after the installation. Maybe we have different checks like
quick
andextensive
.Move the installer job to a dedicated and KOTS-independent container following the operator pattern.
KOTS updates the Gitpod config and the Gitpod operator picks up the config on changes.
Minimize the KOTS config to the minimum needed for the initial installation of Gitpod (mainly ingress like domain, certs, etc.). Build an admin dashboard that allows configuring/migrating everything else afterwards.
This will allow us to counter the limitations we currently experience with the KOTS UI. With an admin dashboard, we have more freedom to build the config surface we need. (see also [1, 2, 3], all internal)
For every step, we need to maintain backward compatibility or have a path to migrate customers.
Remark: Instead of having everything in the installer image, we could also think about having a dedicated installer, preflight, post-installation check, and support bundle image.
The text was updated successfully, but these errors were encountered: