I wanted to deploy gobuffalo on kubernetes using gitlab-ci and found several guides but still had to peice together some info on my own and wanted to share that in case anyone else is looking to do the same thing. I initially started with Gitlab Auto DevOps but it came up a bit inflexible and tricky to use for some of my use cases. The biggest one being that I wanted to pass in build-args into my docker build so that I could pass in API key secrets.
DigitalOcean recently launched managed kubernetes on their cloud which was really interesting to me. Doing some rough math it looked around 30-50% cheaper than the big three (AWS, GCP, Azure). DigitalOcean is considerably simpler than AWS which is great for small teams like ours. In addition I really liked the idea of kubernetes instead of vendor lock in like fargate or elasticbeanstalk because I could more easily switch to another cloud provider or even use two of them in the future.