Page MenuHomePhabricator

[[Chore]] provision and run local development environments in kubernetes using skaffold
Open, Needs TriagePublic

Description

It has become apparent that there is a need to deploy and itterate on production-like developer environments on kuberenetes. Different team members have come up with adhoc solutions, namely around syncing files to a patchdemo running on kubernetes. These approaches are working well, but they don't solve the problem of

  • automatically deploying these environments (which is especially needed for new and fly-by contributors)
  • compiling, syncing, and restarting the goland Catalyst api

Skaffold is an open source project by Google that feature deploying production-like development environments, syncing files with them while developing them, and restarting services that need to be restarted after syncing. It also has other features that we don't need now, namely container image building, pushing, and redeployment

This task is to

  • configure skaffold (via skaffold.yaml) to deploy a working catalyst environment on a kubernetes environment (note: these can and probably should use the production helm charts with appropriate values)
  • set up files syncing for development with patchdemo
  • set up recompile, syncing, and restarting for catalyst-api