Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expose more StatefulSet+Pod+Container functionality through Habitat CRD #345

Open
HT154 opened this issue Aug 22, 2018 · 3 comments
Open

Comments

@HT154
Copy link

HT154 commented Aug 22, 2018

The Habitat operator is great for running simple services, but for services with more advanced requirements, it can be rather limiting. Here are some features of Pods that the Habitat CRD should consider exposing:

  • affinity
  • containers - in addition to the primary operator-managed habitat-service container (e.g. running a Splunk forwarder)
  • dnsConfig, dnsPolicy, hostAliases, subdomain
  • initContainers
  • nodeSelector, tolerations
  • securityContext - particularly for setting fsGroup: 42 (the hab user's gid) to fix persistent volume permissions issues
  • serviceAccountName - potentially useful for running operators under the habitat operator
  • volumes - in addition to the volumes configured by the operator (e.g. for sharing a logs directory with a Splunk forwarder sidecar)

Properties on the habitat-service Container that should be adjustable:

  • lifecycle, livenessProbe, readinessProbe
  • resources - required for running in clusters that enforce pod resource limits/requests
  • securityContext
  • volumeMounts - in addition to operator-configured mounts, enables aforementioned Splunk use case

Properties on the StatefulSet that should be exposed:

  • podManagementPolicy
  • serviceName
  • volumeClaimTemplates - in addition to operator-configured PVC templates
@irvingpop
Copy link

Great list - the lack of liveness & readyness probes is a bummer. I've also found myself wishing that the operator would expose topology type and leader election status.

@HT154
Copy link
Author

HT154 commented Aug 22, 2018

+1 On leader election status. It'd be great to set up a Service with a selector that selects for only the leader of a group. I was just wishing for this the other day for setting up redis replication.

@HT154
Copy link
Author

HT154 commented Sep 14, 2018

Updated original issue to remove StatefulSet updateStrategy from consideration. This is used internally by the operator to manage deleting pods and probably shouldn't be overridden.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants