Files
qinglong/deploy/kubernetes/ql3-cluster/operations/provider-credential-test-executor/base/job.yaml
T

136 lines
5.3 KiB
YAML

apiVersion: batch/v1
kind: Job
metadata:
name: ql3-provider-credential-test-executor
namespace: qinglong3-system
labels:
app.kubernetes.io/name: ql3-provider-credential-test-executor
app.kubernetes.io/component: provider-credential-test-executor
app.kubernetes.io/part-of: qinglong3
qinglong.io/execution-model: caller-driven
spec:
backoffLimit: 0
activeDeadlineSeconds: 60
ttlSecondsAfterFinished: 300
template:
metadata:
labels:
app.kubernetes.io/name: ql3-provider-credential-test-executor
app.kubernetes.io/component: provider-credential-test-executor
app.kubernetes.io/part-of: qinglong3
qinglong.io/execution-model: caller-driven
spec:
serviceAccountName: ql3-provider-credential-test-executor
automountServiceAccountToken: false
enableServiceLinks: false
restartPolicy: Never
securityContext:
runAsNonRoot: true
runAsUser: 10001
runAsGroup: 10001
fsGroup: 10001
seccompProfile:
type: RuntimeDefault
containers:
- name: executor
image: qinglong3-cluster-admin:3.0.0-alpha.2
imagePullPolicy: IfNotPresent
command:
- node
- /opt/qinglong/node_modules/@qinglong/cluster-admin/dist/model-provider-credential/modelProviderCredentialTestExecutorCli.js
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities:
drop:
- ALL
env:
- name: QL3_PROFILE
value: cluster-admin
- name: QL3_MODEL_PROVIDER_CREDENTIAL_TEST_EXECUTOR_ENABLED
value: 'true'
- name: QL3_MODEL_PROVIDER_CREDENTIAL_TEST_WRITE_TERMINATION_MESSAGE
value: 'true'
- name: QL3_MODEL_PROVIDER_CREDENTIAL_TEST_COMMAND_FILE
value: /var/run/qinglong3/provider-credential-test/command.json
- name: QL3_MODEL_PROVIDER_CREDENTIAL_TEST_ALLOWLIST_FILE
value: /var/run/qinglong3/provider-credential-test/allowlist.json
- name: QL3_MODEL_PROVIDER_CREDENTIAL_TEST_SECRET_ROOT
value: /var/run/secrets/qinglong3/provider-credential-test
- name: QL3_MODEL_PROVIDER_CREDENTIAL_TEST_DENY_CANARY_HOST
value: kubernetes.default.svc
- name: QL3_MODEL_PROVIDER_CREDENTIAL_TEST_DENY_CANARY_PORT
value: '443'
- name: QL3_POSTGRES_AI_CREDENTIAL_TESTER_TLS_MODE
value: verify-full
- name: QL3_POSTGRES_AI_CREDENTIAL_TESTER_TLS_CA_FILE
value: /var/run/secrets/qinglong3/postgres-ai-credential-tester/ca.crt
- name: QL3_POSTGRES_AI_CREDENTIAL_TESTER_APPLICATION_NAME
value: qinglong3-ai-credential-tester
- name: QL3_POSTGRES_AI_CREDENTIAL_TESTER_POOL_MAX
value: '1'
- name: QL3_POSTGRES_AI_CREDENTIAL_TESTER_URL
valueFrom:
secretKeyRef:
name: ql3-cluster-provider-credential-test-database
key: postgres-ai-credential-tester-url
- name: QL3_POSTGRES_AI_CREDENTIAL_TESTER_TLS_SERVERNAME
valueFrom:
secretKeyRef:
name: ql3-cluster-provider-credential-test-database
key: postgres-tls-servername
resources:
requests:
cpu: 25m
memory: 48Mi
limits:
cpu: 500m
memory: 192Mi
volumeMounts:
- name: tmp
mountPath: /tmp
- name: command
mountPath: /var/run/qinglong3/provider-credential-test
readOnly: true
- name: provider-secret
mountPath: /var/run/secrets/qinglong3/provider-credential-test
readOnly: true
- name: postgres-ai-credential-tester-ca
mountPath: /var/run/secrets/qinglong3/postgres-ai-credential-tester
readOnly: true
volumes:
- name: tmp
emptyDir:
medium: Memory
sizeLimit: 8Mi
- name: command
projected:
defaultMode: 292
sources:
- configMap:
name: ql3-provider-credential-test-command
items:
- key: command.json
path: command.json
- configMap:
name: ql3-provider-credential-test-allowlist
items:
- key: allowlist.json
path: allowlist.json
- name: provider-secret
secret:
secretName: ql3-provider-credential-test-material
defaultMode: 288
items:
# SHA-256 of the canonical qlsecret:v1 SecretRef selected by the
# durable binding. Replace both the key and path together.
- key: 31cf30a7b013bd31aa88867b1a8c48e35e7b88b5b49fb37eedd6222354679d02
path: 31cf30a7b013bd31aa88867b1a8c48e35e7b88b5b49fb37eedd6222354679d02
- name: postgres-ai-credential-tester-ca
secret:
secretName: ql3-cluster-provider-credential-test-database
defaultMode: 292
items:
- key: postgres-ca.crt
path: ca.crt