Daniel Doubrovkine bio photo

Daniel Doubrovkine

aka dB., @awscloud, former CTO @artsy, +@vestris, NYC

Email Twitter LinkedIn Github Strava
Creative Commons License

I use DigitalOcean to run a bunch of apps. It’s working out great.

Yesterday, they sent me an email with a menacing “Ubuntu 18 is no longer supported and so it’s not receiving security updates.” note. To be fair, Ubuntu 18 is very old.

Their email included instructions to go to settings to find out what stack you’re using. Let’s find out what apps use what stack on the command line to save time using doctl and yq.

$ for app_id in $(doctl apps list --no-header | cut -d' ' -f1); do \
    doctl apps spec get $app_id | yq ".name,.features"; \
    done

app-1
- buildpack-stack=ubuntu-22
app-2
- buildpack-stack=ubuntu-18

Should I upgrade now, or wait till the second and third notice?

Update 10/24: many of my Ruby apps required an upgrade to Ruby 3.3 before booting successfully on Ubuntu 22, failing with an Faraday::SSLError: SSL_CTX_load_verify_file error, caused by various HTTP libraries attempting to set their SSL certificate paths in older versions. There were many related changes as a consequence of upgrading Mongoid and ActiveSupport, RuboCop, slack-ruby-client, Faraday, and others. Links to the upgrade diffs/commits below in case you’re going through something similar.