Attributes of Stack YAML manifest¶
Structure of a Stack YAML¶
# Stack-specific section
stack:
# Stack meta section
name: ${{stack name}}
flavor: ${{stack flavor}}
version: ${{stack version}}
reconciler: ${{reconciler}}
# Image specification section
image:
registry: ${{continer registry}}
repository: ${{repository}}
image: ${{image}}
tag: ${{tag}}
auth:
imagePullSecret: ${{secret}}
# Command and argument sections
command:
- ${{list of commands}}
arguments:
- ${{arguments}}
# Environment variables
environmentVars:
${{environment variables}}
# Port configuration
ports:
name: ${{port name}}
servicePort: ${{service port}}
targetPort: ${{target port}}
# Stack Spec value JSON schema
stackSpecValueSchema:
jsonSchema: ${{json schema}}
# Orchestrator configuration
workflowJobConfig:
configFileTemplate: ${{config file template}}
conatinerResourceTemplate: ${{container resource template}}
resourceTemplateConfig:
resourceTemplate: ${{resource template}}
successCondition: ${{success condition}}
failureCondition: ${{failure condition}}
serviceConfig:
configFileTemplate: ${{config file template}}
conatinerResourceTemplate: ${{container resource template}}
workerConfig:
configFileTemplate: ${{config file template}}
conatinerResourceTemplate: ${{container resource template}}
resourceTemplate: ${{resource template}}
# Secret Projection
secretProjection:
type: ${{secret projection type}}
# DataOS Address JQ Filters
dataOsAddressJqFilters:
- .inputs[].dataset
Configuration Attributes¶
stack¶
Description: Mapping for the attributes of Stack Resource
| Data Type | Requirement | Default Value | Possible Value |
|---|---|---|---|
| mapping | mandatory | none | none |
Example Usage:
name¶
Description: Name of the Stack Resource
| Data Type | Requirement | Default Value | Possible Value |
|---|---|---|---|
| string | mandatory | none | any string (if there is any regex check) |
Example Usage:
flavor¶
Description: Flavor of the Stack Resource
| Data Type | Requirement | Default Value | Possible Value |
|---|---|---|---|
| string | optional | none | none |
Example Usage:
version¶
Description: Version of the Stack Resource
| Data Type | Requirement | Default Value | Possible Value |
|---|---|---|---|
| string | mandatory | none | ‘1.0’, ‘2.0’, or any other stack version in string format |
Example Usage:
reconciler¶
Description: Specifies the reconciler responsible for managing this stack
| Data Type | Requirement | Default Value | Possible Value |
|---|---|---|---|
| string | mandatory | none | none |
Example Usage:
dataOsAddressJqFilters¶
Description: DataOS Address JQ Filters specify which attributes within the YAML manifest need to be interpolated with DataOS Addresses for the retrieval of depot definitions and credentials.
| Data Type | Requirement | Default Value | Possible Value |
|---|---|---|---|
| string | optional | none | none |
Example Usage:
# Example 1
dataOsAddressJqFilters:
- .inputs[]
- .outputs[]
# Example 2
dataOsAddressJqFilters:
- .inputs[].dataset
- .outputs[].depot
- .job.inputs[].dataset
- .job.outputs[].depot
# Example 3
dataOsAddressJqFilters:
- .inputs[].dataset
image¶
Description: container image configuration
| Data Type | Requirement | Default Value | Possible Value |
|---|---|---|---|
| mapping | optional | none | any other container registry |
Example Usage:
image:
registry: docker.io
repository: abcd
image: random
tag: 0.0.8-dev
auth:
imagePullSecret: dataos-container-registry
registry¶
Description: specifies the container registry name
| Data Type | Requirement | Default Value | Possible Value |
|---|---|---|---|
| string | optional | none | any valid container registry |
Example Usage:
repository¶
Description: Specifies the repository where image is hosted
| Data Type | Requirement | Default Value | Possible Value |
|---|---|---|---|
| string | optional | none | any other container registry |
Example Usage:
image¶
Description: specifies the image name
| Data Type | Requirement | Default Value | Possible Value |
|---|---|---|---|
| string | optional | none | any valid image name present in the specified repository |
Example Usage:
tag¶
Description: specifies the version tag of image
| Data Type | Requirement | Default Value | Possible Value |
|---|---|---|---|
| string | optional | none | valid image tag |
Example Usage:
auth¶
Description: authentication details for pulling the image
| Data Type | Requirement | Default Value | Possible Value |
|---|---|---|---|
| mapping | optional | none | none |
Example Usage:
imagePullSecret¶
Description: specifies the Secret Resource for the container registry
| Data Type | Requirement | Default Value | Possible Value |
|---|---|---|---|
| string | optional | none | valid image tag |
Example Usage:
command¶
Description: specifies the commands mentioned within the Docker file's CMD section. This includes the commands that are to be executed within the container.
| Data Type | Requirement | Default Value | Possible Value |
|---|---|---|---|
| list of strings | optional | none | valid command |
Example Usage:
arguments¶
Description: specifies the additional arguments apart from the primary command specified within the Dockerfile. Addtional arguments for the command, indicating to run and specify a configuration file.
| Data Type | Requirement | Default Value | Possible Value |
|---|---|---|---|
| list of strings | optional | none | valid command |
Example Usage:
# Example 1
arguments:
- main.py
- '--configuration'
- /etc/dataos/config/jobconfig.yaml
# Example 2
arguments:
- run
- '-c'
- /etc/dataos/config/jobconfig.yaml
environmentVars¶
Description: environment variables
| Data Type | Requirement | Default Value | Possible Value |
|---|---|---|---|
| mapping | optional | none | none |
Example Usage:
environmentVars:
PULSAR_TOPIC_NAME: persistent://system/soda/data_quality_result
RESOURCE_DIR_PATH: /etc/dataos/resources
| Name | Value |
|---|---|
| DEPOT_SERVICE_URL | https://${{dataos-context}}/ds |
| GATEWAY_URL | https://${{dataos-context}}/gateway |
| HEIMDALL_URL | https://${{dataos-context}}/heimdall |
| HERA_URL | https://${{dataos-context}}/hera/api |
| SCS_SERVICE_URL | http://stack-exec-context-sink.poros.svc.cluster.local:39100/sink |
| METIS_URL | https://${{dataos-context}}/metis2 |
| PULSAR_SERVICE_URL | pulsar+ssl://tcp.${{dataos-context}}:6651 |
| MINERVA_JDBC_URL | jdbc:trino://tcp.${{dataos-context}}:7432 |
| DATAOS_NAME | sanity-read-azure-nabeel-05 |
| DATAOS_RESOURCE_ID | workflow:v1:sanity-read-azure-nabeel-05:public |
| DATAOS_RUN_ID | cvi31p4sagw0 |
| DATAOS_TYPE | workflow |
| DATAOS_WORKSPACE | public |
| DATAOS_FQDN | ${{dataos-context}} |
| DATAOS_TAGS | sanity,tags |
| DATAOS_DESCRIPTION | The purpose of this job is to verify if we are able to read different file formats from azure abfss or not. |
| DATAOS_CONFIG_DIR | /etc/dataos/config |
| DATAOS_TEMP_DIR | /var/dataos/temp_data |
| DATAOS_SECRET_DIR | /etc/dataos/secret |
| RUNNABLE_ARTIFACT_DIR | /etc/dataos/work |
| RUNNABLE_TYPE | workflow |
| DATAOS_RUN_AS_APIKEY | ${{dataos user apikey token}} |
| DATAOS_RUN_AS_USER | ${{user id of the user}} |
| DATAOS_STAMP | -boo1 |
| DATAOS_UID | 15d4b6bb-2aaa-45b3-8a57-2e302cff06fb |
| HERA_SSL | false |
| LOG_LEVEL | INFO |
| DATAOS_LOG_LEVEL | INFO |
| METIS_AUTH_PROVIDER | dataos-apikey |
| MINERVA_TCP_HOST | tcp.${{dataos-context}} |
| MINERVA_TCP_PORT | 7432 |
| SSL_KEYSTORE_PASSWORD | ${{ssl keystore password}} |
| SSL_TRUSTSTORE_PASSWORD | ${{ssl truststore password}} |
| DATAOS_IS_DRY_RUN | false |
ports¶
Description: port specification
| Data Type | Requirement | Default Value | Possible Value |
|---|---|---|---|
| mapping | optional | none | none |
Example Usage:
name¶
Description: port name declaration
| Data Type | Requirement | Default Value | Possible Value |
|---|---|---|---|
| string | optional | none | none |
Example Usage:
servicePort¶
Description: service port declaration
| Data Type | Requirement | Default Value | Possible Value |
|---|---|---|---|
| integer | optional | none | none |
Example Usage:
targetPort¶
Description: target port declaration
| Data Type | Requirement | Default Value | Possible Value |
|---|---|---|---|
| integer | optional | none | none |
Example Usage:
stackSpecValueSchema¶
Description: schema for the value used in the Stack’s specification
| Data Type | Requirement | Default Value | Possible Value |
|---|---|---|---|
| mapping | mandatory | none | none |
Example Usage:
jsonSchema¶
Description: JSON schema specifying the structure of the Stack's configuration values
| Data Type | Requirement | Default Value | Possible Value |
|---|---|---|---|
| string | mandatory | none | valid json schema |
Example Usage:
# Example 1
jsonSchema: >
{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"inputs":{"type":"array","items":[{"type":"object","properties":{"dataset":{"type":"string"},"checks":{"type":"array","additionalProperties":{"type":"object"}},"options":{"type":"object","additionalProperties":{"type":"string"}},"profile":{"type":"object","properties":{"columns":{"type":"array","minItems":1,"items":[{"type":"string"}]}},"required":["columns"]}},"required":["dataset"],"oneOf":[{"required":["checks","profile"]},{"required":["checks"],"not":{"allOf":[{"required":["profile"]}]}},{"required":["profile"],"not":{"allOf":[{"required":["checks"]}]}}]}]}},"required":["inputs"]}
# Example 2
jsonSchema: |
{
"$schema": "http://json-schema.org/draft-04/schema",
"type": "object",
"properties": {
"input": {
"type": "object"
},
"metrics": {
"type": "object"
},
"logger": {
"type": "object"
},
"http": {
"type": "object"
},
"pipeline": {
"type": "object"
},
"output": {
"type": "object"
}
},
"required": [
"input"
]
}
# Example 3
jsonSchema: >
{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://dataos.io/v1.0/sparkapplication","type":"object","properties":{"driver":{"type":"object","properties":{"coreLimit":{"type":"string"},"cores":{"type":"integer"},"memory":{"type":"string"}},"required":["coreLimit","cores","memory"]},"executor":{"type":"object","properties":{"coreLimit":{"type":"string"},"cores":{"type":"integer"},"instances":{"type":"integer"},"memory":{"type":"string"}},"required":["coreLimit","cores","instances","memory"]},"sparkConf":{"type":"object","additionalProperties":{"type":"string"}},"jarFile":{"type":"string"},"mainClass":{"type":"string"},"image":{"type":"string"},"inputs":{"type":"array","items":{"type":"string"}},"outputs":{"type":"array","items":{"type":"string"}}},"required":["driver","executor","jarFile","mainClass","image","inputs","outputs"]}
# Example 4
jsonSchema: >
{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"inputs":{"type":"array","items":[{"type":"object","properties":{"dataset":{"type":"string"},"checks":{"type":"array","additionalProperties":{"type":"object"}},"options":{"type":"object","additionalProperties":{"type":"string"}},"profile":{"type":"object","properties":{"columns":{"type":"array","minItems":1,"items":[{"type":"string"}]}},"required":["columns"]}},"required":["dataset"],"oneOf":[{"required":["checks","profile"]},{"required":["checks"],"not":{"allOf":[{"required":["profile"]}]}},{"required":["profile"],"not":{"allOf":[{"required":["checks"]}]}}]}]}},"required":["inputs"]}
workflowJobConfig¶
Description: specifies Workflow Resource’s Job config for a Stack
| Data Type | Requirement | Default Value | Possible Value |
|---|---|---|---|
| mapping | mandatory | none | none |
Example Usage:
configFileTemplate¶
Description: specifies config file template
| Data Type | Requirement | Default Value | Possible Value |
|---|---|---|---|
| string | mandatory | none | none |
Example Usage:
configFileTemplate: |
jobconfig.yaml: |
{{ toYaml .ApplicationSpec.StackSpec | indent 2 }}
# Service Config File Template (Example 1)
configFileTemplate: |
jobconfig.yaml: |
{{ toYaml .ApplicationSpec.StackSpec | indent 2 }}
logger:
level: {{.ApplicationSpec.LogLevel}}
add_timestamp: true
format: json
static_fields:
'@service': {{.Name}}
http:
address: 0.0.0.0:{{.MetricPort}}
root_path: /dataos-bento
debug_endpoints: false
metrics:
prometheus:
push_url: "http://prometheus-pushgateway.sentinel.svc.cluster.local:9091"
push_interval: "5s"
push_job_name: "{{ .Name }}-{{ .Type }}{{ .Stamp }}"
# Service Config File Template (Example 2)
configFileTemplate: |
jobconfig.yaml: |
{{ toYaml .ApplicationSpec.StackSpec | indent 2 }}
logger:
level: {{.ApplicationSpec.LogLevel}}
add_timestamp: true
format: json
static_fields:
'@service': {{.Name}}
http:
address: 0.0.0.0:{{.MetricPort}}
root_path: /dataos-bento
debug_endpoints: false
metrics:
prometheus:
use_histogram_timing: false
histogram_buckets: []
add_process_metrics: false
add_go_metrics: false
push_url: "http://prometheus-pushgateway.sentinel.svc.cluster.local:9091"
push_interval: "5s"
push_job_name: "{{ .Name }}-{{ .Type }}{{ .Stamp }}"
# Worker Config File Template (Example 1)
configFileTemplate: |
jobconfig.yaml: |
{{ toYaml .ApplicationSpec.StackSpec | indent 2 }}
logger:
level: {{.ApplicationSpec.LogLevel}}
add_timestamp: true
format: json
static_fields:
'@service': {{.Name}}
http:
address: 0.0.0.0:{{.MetricPort}}
root_path: /dataos-bento
debug_endpoints: false
metrics:
prometheus:
use_histogram_timing: false
histogram_buckets: []
add_process_metrics: false
add_go_metrics: false
push_url: "http://prometheus-pushgateway.sentinel.svc.cluster.local:9091"
push_interval: "5s"
push_job_name: "{{ .Name }}-{{ .Type }}{{ .Stamp }}"
# Worker Config File Template (Example 2)
configFileTemplate: |
jobconfig.yaml: |
{{ toYaml .ApplicationSpec.StackSpec | indent 2 }}
logger:
level: {{.ApplicationSpec.LogLevel}}
add_timestamp: true
format: json
static_fields:
'@service': {{.Name}}
http:
address: 0.0.0.0:{{.MetricPort}}
root_path: /dataos-bento
debug_endpoints: false
metrics:
prometheus:
push_url: "http://prometheus-pushgateway.sentinel.svc.cluster.local:9091"
push_interval: "5s"
push_job_name: "{{ .Name }}-{{ .Type }}{{ .Stamp }}"
# Workflow Config File Template (Example 1)
configFileTemplate: |
jobconfig.yaml: |
{{ toYaml .ApplicationSpec.StackSpec | indent 2 }}
containerResourceTemplate¶
Description: specifies container resource template
| Data Type | Requirement | Default Value | Possible Value |
|---|---|---|---|
| string | mandatory | none | none |
Example Usage:
resourceTemplateConfig¶
Description: specifies resource template configuration
| Data Type | Requirement | Default Value | Possible Value |
|---|---|---|---|
| mapping | mandatory | none | none |
Example Usage:
resourceTemplate¶
Description: specifies resource template
| Data Type | Requirement | Default Value | Possible Value |
|---|---|---|---|
| mapping | optional | none | none |
Example Usage:
resourceTemplateConfig:
resourceTemplate: |
apiVersion: sparkoperator.k8s.io/v1beta2
kind: SparkApplication
metadata:
name: {{.Name}}{{.Stamp}}-{{`{{workflow.creationTimestamp.m}}{{workflow.creationTimestamp.d}}{{workflow.creationTimestamp.H}}{{workflow.creationTimestamp.M}}{{workflow.creationTimestamp.S}}`}}
namespace: {{ .Workspace }}
labels:
app: {{.Name}}
app.kubernetes.io/name: '{{.Name}}'
app.kubernetes.io/component: 'application'
spark.application/name: '{{.Name}}{{.Stamp}}'
workflow/stamp: '{{`{{workflow.creationTimestamp.m}}{{workflow.creationTimestamp.d}}{{workflow.creationTimestamp.H}}{{workflow.creationTimestamp.M}}{{workflow.creationTimestamp.S}}`}}'
spec:
image: "{{getNested .ApplicationSpec.StackSpec "image"}}"
imagePullPolicy: IfNotPresent
imagePullSecrets:
- dataos-container-registry
mainApplicationFile: "{{getNested .ApplicationSpec.StackSpec "jarFile"}}"
mainClass: "{{getNested .ApplicationSpec.StackSpec "mainClass"}}"
mode: cluster
{{ if .NodeSelector }}
nodeSelector:
{{- range $key, $value := .NodeSelector }}
{{$key | quote }}: {{ $value | quote }}
{{- end }}
{{- end }}
sparkConf:
"spark.driverEnv.spark.app.name": "{{.Name}}"
"spark.kubernetes.executor.podNamePrefix": "{{.Name}}-{{.Stamp}}"
{{- if .ApplicationSpec.StackSpec.sparkConf }}
{{- range $conf, $value := getNested .ApplicationSpec.StackSpec "sparkConf" }}
{{ $conf | quote }}: {{ $value | quote }}
{{- end }}
{{- end }}
sparkVersion: 3.3.0
type: Scala
volumes:
- name: dataos-config-mount
configMap:
name: "{{.Name}}-{{.Type}}{{.Stamp}}"
- name: dataos-secret-mount
projected:
defaultMode: 420
sources:
- secret:
name: {{ .Name }}-ds-{{ .Type }}{{ .Stamp }}
{{- if .ApplicationSpec.Secrets }}
- name: dataos-secret-mount
projected:
sources:
{{- range $data := .ApplicationSpec.Secrets }}
- secret:
name: {{ $data | quote }}
{{- end }}
{{- end }}
{{- if .ApplicationSpec.TempVolume -}}
- name: {{.Name}}-{{.Type}}{{.Stamp}}-tdm
persistentVolumeClaim:
claimName: "{{.Name}}-{{.Type}}{{.Stamp}}-tv"
{{- end }}
{{- if .ApplicationSpec.PersistentVolume -}}
- name: {{list .Name "persistent-data-mount" | join "-"}}
persistentVolumeClaim:
claimName: "{{.ApplicationSpec.PersistentVolume.Name}}"
{{- end }}
{{- if .Volumes }}
{{- range $volume := .Volumes }}
- name: {{$volume.Name}}
{{ if $volume.IsPvc }}
persistentVolumeClaim:
claimName: "{{$volume.Name}}"
{{ else }}
projected:
sources:
{{- range $data := $volume.Secrets }}
- secret:
name: {{ $data | quote }}
{{- end }}
{{- range $data := $volume.ConfigMaps }}
- configMap:
name: {{ $data | quote }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}
driver:
coreLimit: "{{getNested .ApplicationSpec.StackSpec "driver.coreLimit"}}"
cores: {{getNested .ApplicationSpec.StackSpec "driver.cores"}}
env:
- name: DEPOT_SERVICE_URL
value: "https://{{.DataOsFqdn}}/ds"
- name: METIS_URL
value: "https://{{.DataOsFqdn}}/metis"
- name: STORE_URL
value: "https://{{.DataOsFqdn}}/stores/api/v1"
{{ if not .IsDryRun }}
- name: RUNNABLE_NAME
value: "{{`{{inputs.parameters.name}}`}}"
- name: RUNNABLE_RUN_ID
value: "{{`{{inputs.parameters.run-id}}`}}"
- name: RUNNABLE_WORKFLOW_NAME
value: "{{`{{inputs.parameters.workflow-name}}`}}"
- name: RUNNABLE_WORKFLOW_RUN_ID
value: "{{`{{inputs.parameters.workflow-run-id}}`}}"
{{- end}}
- name: METIS_JOB_NAME
value: "{{.Name}}"
- name: METIS_JOB_OWNER_NAME
value: "{{.Owner}}"
- name: DATAOS_JOB_TAGS
value: "{{.PivotTags}}"
- name: DATAOS_JOB_DESCRIPTION
value: "{{.Description}}"
- name: NAMESPACE
value: "{{.Workspace}}"
- name: PULSAR_SSL
value: "false"
- name: FLARE_AUDIT_MODE
value: "{{.AuditMode}}"
- name: IOSA_RECEIVER_URL
value: "{{.IosaReceiverUrl}}"
- name: MINERVA_JDBC_URL
value: "{{.MinervaJdbcUrl}}"
- name: GATEWAY_BASE_URL
value: "{{.GatewayPublicBaseUrl}}"
- name: MINERVA_SSL
value: "{{.MinervaJdbcSsl}}"
- name: DATAPOLICY_GATEWAY_SSL
value: "{{.DatapolicyGatewaySsl}}"
{{- range $conf, $value := .ApplicationSpec.EnvironmentVars }}
- name: {{$conf}}
value: {{ $value | quote }}
{{- end }}
envFrom:
- secretRef:
name: "{{.Name}}-{{.Type}}{{.Stamp}}-env"
{{ if .EnvironmentVarsFromSecret }}
{{- range $secName := .EnvironmentVarsFromSecret }}
- secretRef:
name: "{{$secName}}"
{{- end }}
{{- end }}
memory: "{{getNested .ApplicationSpec.StackSpec "driver.memory"}}"
volumeMounts:
- mountPath: "{{.DataOsSecretMountPath}}"
name: dataos-secret-mount
readOnly: true
{{- if .ApplicationSpec.Secrets }}
- name: dataos-secret-mount
mountPath: "{{.DataOsSecretMountPath}}"
readOnly: true
{{- end }}
{{- if .Volumes }}
{{- range $volume := .Volumes }}
- name: {{$volume.Name}}
mountPath: "{{$volume.MountPath}}"
readOnly: {{$volume.ReadOnly}}
{{ if $volume.SubPath }}
subPath: "{{$volume.SubPath}}"
{{- end }}
{{- end }}
{{- end }}
{{- if .Tolerations }}
tolerations:
{{toYaml .Tolerations | indent 6}}
{{- end }}
serviceAccount: "{{.RunnableServiceAccount}}"
executor:
coreLimit: "{{getNested .ApplicationSpec.StackSpec "executor.coreLimit"}}"
cores: {{getNested .ApplicationSpec.StackSpec "executor.cores"}}
env:
- name: DEPOT_SERVICE_URL
value: "https://{{.DataOsFqdn}}/ds"
- name: METIS_URL
value: "https://{{.DataOsFqdn}}/metis"
- name: STORE_URL
value: "https://{{.DataOsFqdn}}/stores/api/v1"
{{ if not .IsDryRun }}
- name: RUNNABLE_NAME
value: "{{`{{inputs.parameters.name}}`}}"
- name: RUNNABLE_RUN_ID
value: "{{`{{inputs.parameters.run-id}}`}}"
- name: RUNNABLE_WORKFLOW_NAME
value: "{{`{{inputs.parameters.workflow-name}}`}}"
- name: RUNNABLE_WORKFLOW_RUN_ID
value: "{{`{{inputs.parameters.workflow-run-id}}`}}"
{{- end}}
- name: METIS_JOB_NAME
value: "{{.Name}}"
- name: METIS_JOB_OWNER_NAME
value: "{{.Owner}}"
- name: DATAOS_JOB_TAGS
value: "{{.PivotTags}}"
- name: DATAOS_JOB_DESCRIPTION
value: "{{.Description}}"
- name: GATEWAY_BASE_URL
value: "{{.GatewayPublicBaseUrl}}"
- name: NAMESPACE
value: "{{.Workspace}}"
- name: FLARE_AUDIT_MODE
value: "{{.AuditMode}}"
- name: IOSA_RECEIVER_URL
value: "{{.IosaReceiverUrl}}"
{{- range $conf, $value := .ApplicationSpec.EnvironmentVars }}
- name: {{$conf}}
value: {{ $value | quote }}
{{- end }}
envFrom:
- secretRef:
name: "{{.Name}}-{{.Type}}{{.Stamp}}-env"
{{ if .EnvironmentVarsFromSecret }}
{{- range $secName := .EnvironmentVarsFromSecret }}
- secretRef:
name: "{{$secName}}"
{{- end }}
{{- end }}
volumeMounts:
{{- if .ApplicationSpec.Secrets }}
- name: dataos-secret-mount
mountPath: "{{.DataOsSecretMountPath}}"
readOnly: true
{{- end }}
{{- if .Volumes }}
{{- range $volume := .Volumes }}
- name: {{$volume.Name}}
mountPath: "{{$volume.MountPath}}"
readOnly: {{$volume.ReadOnly}}
{{ if $volume.SubPath }}
subPath: "{{$volume.SubPath}}"
{{- end }}
{{- end }}
{{- end }}
instances: {{getNested .ApplicationSpec.StackSpec "executor.instances"}}
memory: "{{getNested .ApplicationSpec.StackSpec "executor.memory"}}"
{{- if .Tolerations }}
tolerations:
{{toYaml .Tolerations | indent 6}}
{{- end }}
successCondition¶
Description: specifies success condition
| Data Type | Requirement | Default Value | Possible Value |
|---|---|---|---|
| string | optional | none | none |
Example Usage:
failureCondition¶
Description: specifies failure condition
| Data Type | Requirement | Default Value | Possible Value |
|---|---|---|---|
| string | optional | none | none |
Example Usage:
workerConfig¶
Description: specifies Worker Resource’s configuration for a Stack
| Data Type | Requirement | Default Value | Possible Value |
|---|---|---|---|
| mapping | mandatory | none | none |
Example Usage:
configFileTemplate¶
containerResourceTemplate¶
serviceConfig¶
Description: specifies Service Resource’s configuration for a Stack
| Data Type | Requirement | Default Value | Possible Value |
|---|---|---|---|
| mapping | mandatory | none | none |
Example Usage:
configFileTemplate¶
containerResourceTemplate¶
resourceTemplate¶
Description: specifies Resource Template
| Data Type | Requirement | Default Value | Possible Value |
|---|---|---|---|
| string | optional | none | none |
Example Usage:
secretProjection¶
Description: describes how secrets are projected for this Stack
| Data Type | Requirement | Default Value | Possible Value |
|---|---|---|---|
| mapping | mandatory | none | none |
Example Usage:
type¶
Description: specifies the type of secret projection
| Data Type | Requirement | Default Value | Possible Value |
|---|---|---|---|
| string | mandatory | none | propFile |
Example Usage: