PaloAltoNetworks / minemeld

Main MineMeld documentation repo
379 stars 64 forks source link

Kubernetes incompatibilites and other issues #45

Open junkiebev opened 4 years ago

junkiebev commented 4 years ago

Hey y'all - I've been asked to spin up this application inside a kubernetes cluster, but I'm looking at the docker image and it seems to be odd because it runs at least 10 different daemons(!) within the container, several of which log to files(?), and that isn't dockeresque or a modern microservice architecture design in the slightest.

I've been digging through the code and documentation, and it's not obvious to me if or how the system would run mindmeld/syslog/cron(?)/redis/collectd as microsevices, with, perhaps, environmental variables used to configure their locations. I've also been unable to glean what the individual components requirements are in terms of IPC.

The largest "blocker" for me is the inclusion of an NGINX daemon that serves 301 redirects to https, which makes it hard to run behind the Cluster Ingress which would (ideally) assume the ssl offloading role.

Is it possible to publish stand-alone, documented, docker images for the Core and UI applications which have the ability to set the locations and ports for redis, syslog-ng, syslog-forwarder, and collectd (if required?) via environmental variables or is there some reason they all need to be on the same host/in the same container?

For people interested in running it outside of Kubernetes, a docker-compose.yml file would suffice.

junkiebev commented 4 years ago

If y'all have documentation for the environmental variables (if any) used by the Docker images, I could probably look into this for you.