TheHive-Project / TheHive

TheHive: a Scalable, Open Source and Free Security Incident Response Platform
https://thehive-project.org
GNU Affero General Public License v3.0
3.41k stars 623 forks source link

Helm Chart #1224

Open romans8 opened 4 years ago

romans8 commented 4 years ago

Request Type

Feature Request

Work Environment

K8's

Problem Description

Will there be a helm chart?

Mustache84 commented 4 years ago

++ I would also like a helm chart please.

jaredjennings commented 3 years ago

Unofficial chart https://github.com/jaredjennings/helm-thehive now exists, and already has issues. Fixes welcome!

upenderadepu-moe commented 2 years ago

@jaredjennings Any updates on the HA of thehive k8s setup ?

jaredjennings commented 2 years ago

Do you mean high availability? What exists now with TheHive 4 on k8s using the helm chart is that TheHive is run using a k8s Deployment object, with 1 replica. If that replica goes down (e.g. the node it's on goes down, or a health check against the app fails), Kubernetes will stand up a new Pod elsewhere. From outside the app, it would look like the app was restarted.

If you use local storage, indexing, or attachment storage, there is a risk that the unhealthy instance could prevent a new instance from standing up, by failing to relinquish those PersistentVolumeClaims. But for a production deployment where you care about availability, you should probably use highly available database, index, and attachment storage rather than these local storage options; if you do that, you won't face this risk.

Theoretically it is possible to do better: Akka supports clustering, and someone has made a plugin that lets Akka figure out what the members of its cluster are by asking Kubernetes. As far as I can tell, this has to be included at build time, and may require minor code changes. If this were all properly integrated, the administrator should be able merely to specify multiple replicas for the Deployment, and instantly gain both fault tolerance and load balancing. I haven't needed it yet, so I haven't found out more than this. See also https://github.com/jaredjennings/helm-thehive/issues/18.