github.com/verrazzano/verrazzano@v1.7.0/platform-operator/thirdparty/charts/mysql-operator/templates/deployment.yaml (about)

     1  {{- $imagePullPolicies := list "ifnotpresent" "always" "never" }}
     2  {{- if (((.Values).image).pullPolicy) }}
     3    {{- if not (has (lower (((.Values).image).pullPolicy)) ($imagePullPolicies)) }}
     4      {{- $err := printf "Unknown image pull policy %s. Must be one of %v" (((.Values).image).pullPolicy) $imagePullPolicies }}
     5      {{- fail $err }}
     6    {{- end }}
     7  {{- end }}
     8  apiVersion: apps/v1
     9  kind: Deployment
    10  metadata:
    11    name: mysql-operator
    12    namespace: {{ if and (.Release.IsInstall) (eq .Release.Namespace "default") }}{{ fail "Please provide a namespace with -n/--namespace" }}{{ else }}{{  .Release.Namespace }}{{ end }}
    13    labels:
    14      version: "{{ default .Chart.AppVersion }}"
    15      app.kubernetes.io/name: mysql-operator
    16      app.kubernetes.io/instance: {{ .Release.Name }}
    17      app.kubernetes.io/version: "{{ default .Chart.AppVersion }}"
    18      app.kubernetes.io/component: controller
    19      app.kubernetes.io/managed-by: helm
    20      app.kubernetes.io/created-by: helm
    21  spec:
    22    replicas: 1
    23    selector:
    24      matchLabels:
    25        name: mysql-operator
    26    template:
    27      metadata:
    28        labels:
    29          name: mysql-operator
    30        annotations:
    31          traffic.sidecar.istio.io/excludeOutboundPorts: "443"
    32      spec:
    33        containers:
    34          - name: mysql-operator
    35            image: {{ if (((.Values).image).registry) }}{{ trimSuffix "/" .Values.image.registry }}/{{- end }}{{- if (((.Values).image).repository) }}{{ trimSuffix "/" .Values.image.repository }}/{{ end }}{{ (required "image.name is required" ((.Values).image).name) }}:{{ default .Chart.AppVersion (((.Values).image).tag) }}
    36            imagePullPolicy: {{ required "image.pullPolicy is required" (((.Values).image).pullPolicy) }}
    37            args: ["mysqlsh", "--log-level=@INFO", "--pym", "mysqloperator", "operator"]
    38            env:
    39            - name: MYSQLSH_USER_CONFIG_HOME
    40              value: /mysqlsh
    41            {{ if (((.Values).envs).imagesDefaultRegistry) }}
    42            - name: MYSQL_OPERATOR_DEFAULT_REPOSITORY
    43              value: {{ trimSuffix "/" .Values.envs.imagesDefaultRegistry }}{{ if .Values.envs.imagesDefaultRepository }}/{{ trimSuffix "/" .Values.envs.imagesDefaultRepository }}{{ end }}
    44            {{ else if (((.Values).envs).imagesDefaultRepository) }}
    45            - name: MYSQL_OPERATOR_DEFAULT_REPOSITORY
    46              value: {{ trimSuffix "/" .Values.envs.imagesDefaultRepository }}
    47            {{ end }}
    48            {{- if (((.Values).envs).imagesPullPolicy) }}
    49              {{- if not (has (lower .Values.envs.imagesPullPolicy) ($imagePullPolicies)) }}
    50                {{- $err := printf "Unknown envs.imagesPullPolicy %s. Must be one of %v" .Values.envs.imagesPullPolicy $imagePullPolicies}}
    51                {{- fail $err }}
    52              {{- end }}
    53            - name: MYSQL_OPERATOR_IMAGE_PULL_POLICY
    54              value: {{ .Values.envs.imagesPullPolicy }}
    55            {{- end }}
    56            volumeMounts:
    57              - name: mysqlsh-home
    58                mountPath: /mysqlsh
    59            securityContext:
    60              allowPrivilegeEscalation: false
    61              privileged: false
    62              readOnlyRootFilesystem: true
    63              capabilities:
    64                drop:
    65                - ALL
    66        volumes:
    67          - name: mysqlsh-home
    68            emptyDir: {}
    69        serviceAccountName: mysql-operator-sa
    70        securityContext:
    71          runAsGroup: 27  # mysql group
    72          runAsUser: 27   # mysql user
    73          runAsNonRoot: true
    74          seccompProfile:
    75            type: RuntimeDefault