apiVersion: batch/v1 kind: Job metadata: name: ql3-security-administration namespace: qinglong3-system labels: app.kubernetes.io/name: ql3-security-administration app.kubernetes.io/component: security-administration app.kubernetes.io/part-of: qinglong3 qinglong.io/execution-model: caller-driven spec: backoffLimit: 0 activeDeadlineSeconds: 300 ttlSecondsAfterFinished: 600 template: metadata: labels: app.kubernetes.io/name: ql3-security-administration app.kubernetes.io/component: security-administration app.kubernetes.io/part-of: qinglong3 qinglong.io/execution-model: caller-driven spec: serviceAccountName: ql3-security-administration automountServiceAccountToken: false enableServiceLinks: false restartPolicy: Never securityContext: runAsNonRoot: true runAsUser: 10001 runAsGroup: 10001 fsGroup: 10001 fsGroupChangePolicy: OnRootMismatch seccompProfile: type: RuntimeDefault initContainers: - name: stage-private-input image: qinglong3-cluster-admin:3.0.0-alpha.2 imagePullPolicy: IfNotPresent command: - node - /opt/qinglong/node_modules/@qinglong/cluster-admin/dist/security-administration/clusterAdministrationKubernetesInputStageCli.js args: - --source=/var/run/secrets/qinglong3/security-administration-projected - --target=/var/run/qinglong3/security-administration-private/input securityContext: allowPrivilegeEscalation: false readOnlyRootFilesystem: true capabilities: drop: - ALL resources: requests: cpu: 25m memory: 48Mi limits: cpu: 250m memory: 128Mi volumeMounts: - name: projected-input mountPath: /var/run/secrets/qinglong3/security-administration-projected readOnly: true - name: private-input mountPath: /var/run/qinglong3/security-administration-private containers: - name: administrator image: qinglong3-cluster-admin:3.0.0-alpha.2 imagePullPolicy: IfNotPresent command: - node - /opt/qinglong/node_modules/@qinglong/cluster-admin/dist/security-administration/clusterAdministrationCli.js args: - --command=/var/run/qinglong3/security-administration-private/input/command.json - --assertion=/var/run/qinglong3/security-administration-private/input/assertion.jwt - --keyset=/var/run/qinglong3/security-administration-private/input/keyset.json - --pepper-keyring=/var/run/qinglong3/security-administration-private/input/pepper-keyring.json securityContext: allowPrivilegeEscalation: false readOnlyRootFilesystem: true capabilities: drop: - ALL env: - name: QL3_POSTGRES_ADMIN_TLS_MODE value: verify-full - name: QL3_POSTGRES_ADMIN_TLS_CA_FILE value: /var/run/secrets/qinglong3/postgres-security-administration/ca.crt - name: QL3_POSTGRES_ADMIN_URL valueFrom: secretKeyRef: name: ql3-security-administration-database key: postgres-admin-url - name: QL3_POSTGRES_ADMIN_TLS_SERVERNAME valueFrom: secretKeyRef: name: ql3-security-administration-database key: postgres-tls-servername resources: requests: cpu: 25m memory: 48Mi limits: cpu: 250m memory: 128Mi volumeMounts: - name: private-input mountPath: /var/run/qinglong3/security-administration-private readOnly: true - name: postgres-ca mountPath: /var/run/secrets/qinglong3/postgres-security-administration readOnly: true volumes: - name: projected-input secret: secretName: ql3-security-administration-input defaultMode: 288 items: - key: command.json path: command.json - key: assertion.jwt path: assertion.jwt - key: keyset.json path: keyset.json - key: pepper-keyring.json path: pepper-keyring.json - name: private-input emptyDir: medium: Memory sizeLimit: 1Mi - name: postgres-ca secret: secretName: ql3-security-administration-database defaultMode: 292 items: - key: postgres-ca.crt path: ca.crt