Skip to content

Please, add nodeSelector spec into PGO Helm values #3759

@zalejus

Description

@zalejus

Could you, please, add nodeSelector or Affinity definition to the templates/manager.yaml in the Helm definition so that I could set it in the values section of the helmRelese manifest for flux2? I have the following operator implementation definition:

apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: HelmRepository
metadata:
  name: postgresql-operator
  namespace: postgresql-operator
spec:
  type: oci
  interval: 10m0s
  url: oci://registry.developers.crunchydata.com/crunchydata

and

apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
  name: postgresql-operator
  namespace: postgresql-operator
spec:
  interval: 10m
  chart:
    spec:
      chart: pgo
      version: 5.4.2
      sourceRef:
        kind: HelmRepository
        name: postgresql-operator
      interval: 5m
  values:
    controllerImages:
      cluster: registry.developers.crunchydata.com/crunchydata/postgres-operator:ubi8-5.4.2-0
    singleNamespace: false
    disable_check_for_upgrades: true

I'd like my pdo to always be provisioned on an ARM64 kubernetes node.
How can I configure this behavior? Any ideas? I didn't find any possibility in the deployment template:

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: {{ .Chart.Name }}
  labels:
    {{- include "install.labels" . | nindent 4 }}
    {{- include "install.clusterLabels" . | nindent 4 }}
spec:
  replicas: 1
  strategy: { type: Recreate }
  selector:
    matchLabels:
      {{- include "install.clusterLabels" . | nindent 6 }}
  template:
    metadata:
      labels:
        {{- include "install.clusterLabels" . | nindent 8 }}
        {{- include "install.customPodLabels" . | nindent 8 }}
    spec:
      {{- include "install.imagePullSecrets" . | indent 6 }}
      serviceAccountName: {{ include "install.serviceAccountName" . }}
      containers:
      - name: operator
        image: {{ required ".Values.controllerImages.cluster is required" .Values.controllerImages.cluster | quote }}
        env:
        - name: CRUNCHY_DEBUG
          value: {{ .Values.debug | ne false | quote }}
        - name: PGO_NAMESPACE
          valueFrom: { fieldRef: { apiVersion: v1, fieldPath: metadata.namespace } }
        {{- if .Values.singleNamespace }}
        - name: PGO_TARGET_NAMESPACE
          valueFrom: { fieldRef: { apiVersion: v1, fieldPath: metadata.namespace } }
        {{- end }}
        {{- if .Values.workers }}
        - name: PGO_WORKERS
          value: {{ .Values.workers | quote }}
        {{- end }}
        {{- include "install.relatedImages" . | indent 8 }}
        {{- if .Values.disable_check_for_upgrades }}
        - name: CHECK_FOR_UPGRADES
          value: "false"
        {{- end }}
        {{- if .Values.resources.controller }}
        resources:
        {{- toYaml .Values.resources.controller | nindent 10 }}
        {{- end }}
        securityContext:
          allowPrivilegeEscalation: false
          capabilities: { drop: [ALL] }
          readOnlyRootFilesystem: true
          runAsNonRoot: true

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions