Skip to content

Adding an existing cluster to CI/CD -> Clusters has poor UX

I spent a while trying to get our cluster integration to work with an existing Kubernetes cluster and found the whole process very frustrating from a UX perspective.

After filling out the "Add an existing cluster" form, I clicked "Add cluster" and it was accepted (it shouldn't have been, as I later discovered). I then clicked the "Install" button to add Helm Tiller (which has a very confusing behavior of showing a loading spinner which then immediately disappears without feedback, replaced eventually with the text "installing" or an error message below)

install-animation

I was then presented with this very unhelpful error message:

Screen_Shot_2018-01-29_at_4.34.12_PM

There was no indication as to why this wasn't working and I was left to tinker around with the settings until I could figure it out.

It turns out the CA certificate was incorrectly formatted. I had copied and pasted it directly from the GKE interface:

creds

It turns out that this had screwed up the whitespace near the -----BEGIN CERTIFICATE----- and -----END CERTIFICATE----- bits (should be newlines). Nothing in the error message indicated it was unable to authenticate, or that it could not connect, or anything else that could have pointed me to this. Also, a simple validation on the initial "add an existing cluster" form could have caught this.

I also think it would have been helpful to automatically attempt to connect to the Kubernetes cluster with the credentials provided before the form is submitted. If there is a problem with the credentials it should be found before the integration is added to the DB, not afterword.

To sum up, here are the improvements I'd like to see:

  1. Validate the connection to Kubernetes as well as the certificate and the token before submitting the "Add existing cluster" form.
  2. Keep the spinner next to the disabled "Install" text until there is some resolution to that action. Right now after clicking, it will say "Install" disabled with a spinner, then the spinner disappears, then after a few seconds the spinner will either re-appear with the text changing to "Installing", or an error will appear, but in the interim there is no feedback.
  3. Change disabled "Install" button into "Retry" when there is an error present, and dismiss the original error once this is clicked, so that if it re-appears you know it is related to this second attempt. Currently, the only way to attempt to install again is to refresh the page which removes the "disabled" attribute on the button.
  4. Produce more useful error messages when problems arise while installing apps to the cluster.

/cc @joshlambert