How To Properly Update Self-Hosted Instance

Greetings!

How does one keep their self-hosted instance up to date? I couldn’t find anything in the docs regarding this. Of note, my instance is running on the Google Cloud Platform.

Thanks!

Hi @astuffedtiger,

you’re absolutely right, the doc is still lacking there.

The same line that installed Gitpod will update the kubernetes resources: helm upgrade --install $(for i in $(cat configuration.txt); do echo -e "-f $i"; done) gitpod .

However, this is not sufficient (atm): if your change results in a mere config change some services do not pick up those until they are restarted. For gitpod.io we have a mechanism that does that automatically but it has not been ported to self-hosted, yet: https://github.com/gitpod-io/self-hosted/issues/23

So the workaround is to restart the affected/all pods services (which might incur some sort of downtime).

Hey @geropl! Thanks for the response!

So in my fiddling around with the self-hosted version, I actually did run this a couple times to make some updates. When doing so I noticed it seems to also create new databases (at least I saw what I thought was it creating new SQL databases). Is that okay/normal?

So the workaround is to restart the affected/all pods services (which might incur some sort of downtime).

Forgive my newbieness, I am completely new to Kubernetes, how do you restart all the pod services, from Google Cloud Platform for example, or even better what would the kubectl command be?

I’m actually very appreciative to Gitpod, I knew nothing about Kubernetes before diving into this and now I know a little bit haha I just wish it didn’t cost so much, I think Google was charging me $165USD for the base install, and I actually mostly got it going on DigitalOcean and they were charging like ~$75USD a month (for all the components - Kubernetes cluster, load balancing, database cluster, droplets, etc). I ended up killing the project at GCP and DigitalOcean cause I couldn’t afford it, but it was a really fun learning experience!

How do I know which pods are affected?

Thanks!

Hi @astuffedtiger,

How do I know which pods are affected?

if in doubt, restart all: kubectl delete pods -l app=gitpod
This will delete all gitpod pods in namespace default. This will incure several few seconds “downtime” but will guarantee all pods are restarted freshly.

Hope this helps.

Cool, that works! Thanks!

I actually thought of a follow up question to this. Is there a change log, release notes, RSS feed, or something that would identify/announce when new changes are made to the self-hosted version so we would know a new update is available?

We’d usually release every two weeks, but are going through a major refactoring and have therefore decided to skip some releases during the summer break. The ETA for the next release is End of August. Sorry it takes so long, but I’m sure you’ll like what we are releasing.

@svenefftinge Hey I’d rather y’all take your time and create some awesome stuff :slight_smile:

Is there a link to a public changelog or public release notes?

Not, yet. That is part of the thing we are working on. Development will be much more transparent.

How about now? Or is there any sort of ETA on when this might be available?