Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make the remaining bash script part of the installer image instead of the KOTS job template. #12196

Closed
10 tasks done
Tracked by #12140
mrsimonemms opened this issue Aug 18, 2022 · 3 comments
Closed
10 tasks done
Tracked by #12140
Assignees
Labels
meta: stale This issue/PR is stale and will be closed soon team: delivery Issue belongs to the self-hosted team

Comments

@mrsimonemms
Copy link
Contributor

mrsimonemms commented Aug 18, 2022

Motivation

The installation script of the installer job in KOTS is currently a bash script defined in the K8s job template YAML file. That's hard to maintain, hard to test, makes it rather cumbersome to write that script, and prevents re-using stuff from this script (e.g. for implementing a preflight check that checks the KOTS config. For that reason, the functionality of the bash script should be part of the installer image instead. That allows re-using it in preflight checks and gives this functionality a proper home. Where appropriate, functions should be moved to the Gitpod installer binary and simply called from the bash script.

Objectives

  • Improve maintainability. Maintaining a bash script as part of a YAML file is rather cumbersome.
  • Moving parts of the functionality to the installer brings type safety and allows better code testing.
  • Allow re-using functions.
  • Break the functionality into parts so that they can be tested separately. (Currently, the bash script can hardly be tested.)

Tasks

@csweichel
Copy link
Contributor

Is there a way we could make the shell script go away entirely, and instead make it part of the installer (without incurring a hard KOTS dependency)?

Motivation:

  • Go is often easier to maintain than bash
  • This might be a path how we can empower the other teams to understand the installation process completely again
  • We might learn things that could come in handy should we need to move to away from KOTS

@mrsimonemms
Copy link
Contributor Author

@csweichel yeah, that's basically the intention

@mrsimonemms mrsimonemms moved this from 📓Scheduled to ⚒In Progress in 🚚 Security, Infrastructure, and Delivery Team (SID) Sep 15, 2022
@stale
Copy link

stale bot commented Dec 23, 2022

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the meta: stale This issue/PR is stale and will be closed soon label Dec 23, 2022
@stale stale bot closed this as completed Jan 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
meta: stale This issue/PR is stale and will be closed soon team: delivery Issue belongs to the self-hosted team
Projects
No open projects
Development

No branches or pull requests

2 participants