Skip to content

[Feature Request] Support for OpenShift #558

@hishamanver

Description

@hishamanver

Is your feature request related to a problem? Please describe.

I attempted to deploy temporal via helm into an OpenShift cluster

Ran into issues running the temporal server and temporal ui containers on openshift due to security constraints (running on openshift - https://cloud.redhat.com/blog/a-guide-to-openshift-and-uids)

Identified the root cause to be the following sections:

Essentially what we are observing is this helm chart enforces specific UID and GID for the running containers that do not match the predefined ranges in OpenShift and therefore fail with the following error:

# kubectl get events 
17s         Warning   FailedCreate                      replicaset/og-common-temporal-worker-6cfb86c44d       Error creating: pods "og-common-temporal-worker-6cfb86c44d-" is forbidden: unable to validate against any security context constraint: [provider "builder-scc": Forbidden: not usable by user or serviceaccount, provider "anyuid": Forbidden: not usable by user or serviceaccount, provider restricted-v2: .spec.securityContext.fsGroup: Invalid value: []int64{1000}: 1000 is not an allowed group, provider restricted-v2: .containers[0].runAsUser: Invalid value: 1000: must be in the ranges: [1001650000, 1001659999], provider restricted: .spec.securityContext.fsGroup: Invalid value: []int64{1000}: 1000 is not an allowed group, provider restricted: .containers[0].runAsUser: Invalid value: 1000: must be in the ranges: [1001650000, 1001659999], provider "nonroot-v2": Forbidden: not usable by user or serviceaccount, provider "nonroot": Forbidden: not usable by user or serviceaccount, provider "hostmount-anyuid": Forbidden: not usable by user or serviceaccount, provider "splunk-log-forwarder-scc": Forbidden: not usable by user or serviceaccount, provider "logging-scc": Forbidden: not usable by user or serviceaccount, provider "machine-api-termination-handler": Forbidden: not usable by user or serviceaccount, provider "hostnetwork-v2": Forbidden: not usable by user or serviceaccount, provider "hostnetwork": Forbidden: not usable by user or serviceaccount, provider "hostaccess": Forbidden: not usable by user or serviceaccount, provider "node-exporter": Forbidden: not usable by user or serviceaccount, provider "etcd-backup-scc": Forbidden: not usable by user or serviceaccount, provider "newrelic-scc": Forbidden: not usable by user or serviceaccount, provider "privileged": Forbidden: not usable by user or serviceaccount, provider "velero-privileged": Forbidden: not usable by user or serviceaccount]

Describe the solution you'd like

Helm chart should not enforce a default uid or gid, users should inject these values if required

To get around this issue the following values file was used and confirmed to work

temporal:
  server:
    securityContext:
      fsGroup:
      runAsUser:

Essentially I am unsetting the predefined values

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions