With the move towards supporting Kubernetes, has anyone given any
thought to better handling packages that require a persistent service
be deployed somewhere (alarms, rss, etc)?

When running on Kubernetes, I think we have the opportunity to make
using packages with persistent services a nicer experience. I have a
couple of ideas on that, and want to get feedback before going
further (and see if there are other approaches that would work):

* Provide a deployment yaml file in the package repo that deploys the
  persistent service, allowing the user to easily deploy via
  kubectl. This may also require a script to create the deployment
  config based on the environment needed by the service (database url,
  credentials, etc).

* Modify the setup actions to create deployments on demand when
  needed, and destroying them when no longer needed (for example: only
  having the cron service running when there are active cron
  jobs). This option is much more invasive, and requires the setup
  action to have Kubernetes credentials (and to know it is running
  inside kube), but does reduce resource usage.

Of those, I think the first option is probably what makes sense
currently. If that makes sense to others, I'm happy to provide PR's to
the package repos.

- Toby

Reply via email to