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

Feature Request: allow installing and starting an application from the command line. #471

Open
4 of 5 tasks
MadVikingGod opened this issue Apr 27, 2020 · 5 comments
Open
4 of 5 tasks

Comments

@MadVikingGod
Copy link

MadVikingGod commented Apr 27, 2020

Currently, to install a kots application there are a number of steps that can not be done on the command line. For example, setting the password, inputting config values, and the first deploy. The ask is to enable automatic testing of the user's workflow of installing an application to it up and running without having to open the browser.

Here are the minimum steps to install a running application, and ideally, each of these should be configured at the command line in some way:

  • Choose a namespace. Can use -n/--namespace
  • Choose a password.
  • Choose a license file. Can use --license-file, but this has interesting side effects.
  • Configure the application. A --config flag would be a useful start
  • Click the deploy button from the version history page.

Ideally, I would like to run a single command to have an application installed in my CI pipeline. For example kubectl kots install app-name -n namespace --pasword supersecret --license-file license.yaml --config config.yaml --deploy. I could then wait for my application to be ready and perform tests.

@marccampbell
Copy link
Member

You can use the --shared-password flags for the second checkbox.

KOTS 1.15.0 has a --config-values flag to provide the config now (#470). This is supported for the initial install.

KOTS 1.15.0 also reworked the --license-file flag to better handle those side effects (it was unexpectedly different): #459

Then (if the preflights pass), there shouldn't be a need to click the Deploy button -- the application will deploy.

This still has a lot of unhappy paths that aren't yet covered (bad data, preflights not working, etc).

Also KOTS 1.15.0 is scheduled to ship by 5/1

@MikaelSmith
Copy link
Contributor

MikaelSmith commented Jun 16, 2020

I'm definitely running into an issue with this where the preflights never seem to finish.

I started this install 11 minutes ago with essentially

kubectl kots install app-slug --license-file license.yaml --config-values config.yaml --namespace default --shared-password password --port-forward=false

Nothing new in the logs for the last 10 minutes. When I kubectl kots admin-console and look at Version History, it shows 'Status: Running Checks` and a spinner.

@MikaelSmith
Copy link
Contributor

Could #847 explain why deploys aren't happening automatically?

@MikaelSmith
Copy link
Contributor

#861 also seems related.

@dexhorthy
Copy link
Member

dexhorthy commented Aug 5, 2020

@MikaelSmith I think #847 may be part of this, although it kind of depends on your preflights. My expectation is that, with 1.17.x, that if you pass all the flags and the preflights pass (no warnings), then the "deploy" action should happen automatically, and I think this has been confirmed in the field by some folks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants