Forem Creators and Builders

Abenet Tamiru
Abenet Tamiru

Posted on

Would / Should Forem get a HELM chart?

As forem is maturing further and further and I am wondering that once some kind of 1.0 release is reached whether it would not make sense to also create a HELM chart for forem so one can easily deploy a new instance on their existing or new kubernetes cluster. There is already docker support for the platform, it might be necessary to make the docker images production ready instead of just using them for development but doing so would allow an easier deployment process with kubernetes HELM charts and also easier migrations as they can also be specified in helm to occure without or very little downtime.

Discussion (4)

jdoss profile image
Joe Doss

We actually are using containers to run right now in production. The containers are about as production ready as they can be right now.

The main reason why we are not focusing on running Forem on Kubernetes is due to the operational overhead and costs of using it is pretty high. I would argue that most self hosted users need Forem to be run as cheaply and easily as possible. They don't need a highly available kubernetes cluster to fit their community needs.

We want to enable as many users to run Forem on their own easily and securely. If we focused on supporting the most complex and expensive methods for running software online, that would be a pretty big barrier for a lot of people to overcome. Instead we are starting with the basics by running Forem in containers on a VM. Using containers gives us the flexibility to keep things as modular as possible and support more complex setups (like k8s) down the road. Using VMs is also very cheap and easy for most people that want to self host Forem.

I just don't think k8s the best path to enable most of our self hosted users to get started with Forem right now. Long term, I guess maybe we should have an official method for running on k8s if it helps enable users to run Forem on their own. Personally I am am a pretty big fan of the Operator Framework over Helm. If we had a burning need for getting Forem running on k8s, I think I would create an Operator to get that going.

downey profile image
Tim Downey

I totally get why you wouldn't want to focus on this out of the gate and agree that Helm isn't necessarily the best option even if you are providing K8s installation artifacts. But I wouldn't write this off so readily...

Kubernetes is due to the operational overhead and costs of using it is pretty high
Using VMs is also very cheap and easy for most people that want to self host Forem.

There may be classes of users you're not considering here.

  1. Those who are already operating or using a managed Kubernetes service.
  2. Those who have access to a multi-tenant Kubernetes cluster that is managed for them.

For those using managed Kubernetes having to provision and manage raw VMs for this might actually impose higher burdens and cost.

I personally would be way more likely to deploy Forem to one of my existing clusters (especially if its just a kubectl apply away) to kick the tires than I would be to provision EC2 instances specifically for it.

jdoss profile image
Joe Doss

It's not written off at all Tim. Installing Forem to Kubernetes is a valid use case for a percentage of people that have access to a working cluster and I think we should support something down the road. What I am arguing is that most people do not have such access or understanding of operating code on k8s. Not to mention Kubernetes based deployments are total overkill for most users and use cases.

It's just a matter of providing the biggest impact in the shortest amount of time users that want to self host Forem. VMs with Containers is the path we picked. Pretty boring I know... :)

ben profile image
Ben Halpern

I'll punt this to @jdoss for most relevant opinion. :)