helm/templates/testsuite-pod.yaml

166 lines
6.3 KiB
YAML

apiVersion: batch/v1
kind: Job
metadata:
name: testsuite
spec:
backoffLimit: 0
completions: 1
parallelism: 1
template:
metadata:
annotations:
prometheus.io/scrape: "true"
prometheus.io/port: "8080"
prometheus.io/path: "/metrics"
spec:
{{- if .Values.global.imagePullSecrets }}
imagePullSecrets:
{{- range .Values.global.imagePullSecrets }}
- name: {{ . }}
{{- end }}
{{- end }}
restartPolicy: Never
# stdin: true
# tty: true
containers:
- name: testsuite
image: "{{ .Values.global.imageRegistry }}/red/testsuite-v1:{{ .Values.testsuite_imagetag | default $.Chart.AppVersion }}"
imagePullPolicy: {{ .Values.global.imagePullPolicy }}
env:
- name: GATEWAY_HOST
value: "persistence-service-v1"
- name: GATEWAY_PORT
value: {{ .Values.basic.gatewayPort | quote }}
- name: AUTH_HOST
{{- if .Values.basic.keycloakDynamicUrl }}
value: "keycloak"
{{- else }}
value: {{ .Values.basic.keycloakURL | quote }}
{{- end }}
- name: AUTH_PORT
value: {{ .Values.basic.keycloakPort | quote }}
- name: TEST_DOC_COUNT
value: "19"
- name: RUN_LOCAL
value: {{ .Values.basic.disablePostgres | quote }}
- name: RUN_VERSION
value: {{ .Values.basic.runVersion | quote }}
- name: RUN_CONTROLLER
value: {{ .Values.basic.runController | quote }}
- name: GATEWAY_PORT
value: {{ .Values.basic.gatewayPort | quote }}
- name: RUN_DEBUG_MODE
value: {{ .Values.basic.runDebugMode | quote }}
- name: REALM_1
value: {{ .Values.basic.realms.first.realm | quote }}
- name: REALM_EMAIL_1
value: {{ .Values.basic.realms.first.email | quote }}
- name: REALM_PASSWORD_1
{{- if .Values.basic.realms.first.existingSecret }}
valueFrom:
secretKeyRef:
name: {{ .Values.basic.realms.first.existingSecret.secretName }}
key: {{ .Values.basic.realms.first.existingSecret.secretKey }}
{{- else }}
value: {{ .Values.basic.realms.first.password | quote }}
{{- end }}
- name: REALM_2
value: {{ .Values.basic.realms.second.realm | quote }}
- name: REALM_EMAIL_2
value: {{ .Values.basic.realms.second.email | quote }}
- name: REALM_PASSWORD_2
{{- if .Values.basic.realms.second.existingSecret }}
valueFrom:
secretKeyRef:
name: {{ .Values.basic.realms.second.existingSecret.secretName }}
key: {{ .Values.basic.realms.second.existingSecret.secretKey }}
{{- else }}
value: {{ .Values.basic.realms.second.password | quote }}
{{- end }}
- name: NEXTCLOUD_USERNAME
value: {{ .Values.nextcloud.username | quote }}
- name: NEXTCLOUD_PASSWORD
value: {{ .Values.nextcloud.password | quote }}
- name: NEXTCLOUD_URL
value: {{ .Values.nextcloud.url | quote }}
- name: CONTENT_PROCESSING_TIMEOUT
value: "10"
- name: WARMUP_WAIT_TIME
value: {{ .Values.test.config.warmup_wait_time | quote }}
- name: DISCOVERY_RETRIES
value: {{ .Values.test.config.discovery.retries | quote }}
- name: DISCOVERY_TIMEOUT
value: {{ .Values.test.config.discovery.timeout | quote }}
- name: LOADTEST_USERS
value: {{ .Values.test.config.loadtest.users | quote }}
- name: LOADTEST_REQUESTS
value: {{ .Values.test.config.loadtest.requests | quote }}
- name: LOADTEST_RPS
value: {{ .Values.test.config.loadtest.rps | quote }}
- name: LOADTEST_DURATION
value: {{ .Values.test.config.loadtest.duration | quote }}
- name: INFRA_USER
value: {{ .Values.test.config.infratest.user | quote }}
- name: INFRA_PASSWORD
{{- if .Values.test.config.infratest.existingSecret }}
valueFrom:
secretKeyRef:
name: {{ .Values.test.config.infratest.existingSecret.secretName }}
key: {{ .Values.test.config.infratest.existingSecret.secretKey }}
{{- else }}
value: {{ .Values.test.config.infratest.password | quote }}
{{- end }}
- name: INFRA_USERS
value: {{ .Values.test.config.infratest.users | quote }}
- name: INFRA_ITERATIONS
value: {{ .Values.test.config.infratest.iteratons | quote }}
- name: INFRA_DURATION_IN_MIN
value: {{ .Values.test.config.infratest.duration | quote }}
- name: RUN_CLEANUP_AFTER_PERF
value: {{ .Values.test.config.performancetest.run_cleanup | quote }}
- name: SLEEP_BEFORE_CHECKING_200_FILES_MINUTES
value: {{ .Values.test.config.performancetest.wait_time_200_files | quote }}
- name: CHECK_TIMEOUT_200_FILES_MINUTES
value: {{ .Values.test.config.performancetest.processing_timeout_200_files | quote }}
- name: SIGNATURE
value: {{ .Values.signature | quote }}
- name: SIGNATURE_PW
value: {{ .Values.signaturePW | quote }}
- name: DVC_ADDRESS
value: {{ .Values.dvc.address | quote }}
- name: DVC_HOST
value: {{ .Values.dvc.host | quote }}
- name: DVC_USER
value: {{ .Values.dvc.user | quote }}
- name: RUN_BURN_MINUTES
value: "10"
- name: PARSE_BURN_OUTPUT
value: "false"
- name: STABLE_STATS
value: {{ .Values.test.config.stats | quote }}
- name: ENABLE_METRICS
value: {{ .Values.test.metrics.enabled | quote }}
- name: UI_HOST
value: "ui-service-v1"
- name: UI_PORT
value: {{ .Values.basic.uiPort | quote }}
- name: UI_EXTERN_ADDRESS
value: {{ .Values.basic.uiExternAddress | quote }}
resources:
limits:
cpu: "2000m"
memory: "8192Mi"
requests:
cpu: "500m"
memory: "4096Mi"
volumeMounts:
- mountPath: /keys
name: ssh-keys-dvc
readOnly: true
volumes:
# ToDo add known_hosts
- name: ssh-keys-dvc
secret:
defaultMode: 0400
secretName: ssh-keys-dvc