Changeset View
Changeset View
Standalone View
Standalone View
helm/dagster/values.schema.json
{ | { | ||||
"$schema": "http://json-schema.org/draft-07/schema#", | "title": "HelmValues", | ||||
"description": "Schema for Helm values.", | |||||
"type": "object", | "type": "object", | ||||
"title": "values", | "properties": { | ||||
"dagit": { | |||||
"$ref": "#/definitions/Dagit" | |||||
}, | |||||
"scheduler": { | |||||
"$ref": "#/definitions/Scheduler" | |||||
} | |||||
}, | |||||
"required": [ | |||||
"dagit", | |||||
"scheduler" | |||||
], | |||||
"definitions": { | "definitions": { | ||||
"k8s": { | "PullPolicy": { | ||||
"image": { | "title": "PullPolicy", | ||||
"description": "An enumeration.", | |||||
"enum": [ | |||||
"Always", | |||||
"IfNotPresent", | |||||
"Never" | |||||
], | |||||
"type": "string" | |||||
}, | |||||
"Image": { | |||||
"title": "Image", | |||||
"type": "object", | "type": "object", | ||||
"properties": { | "properties": { | ||||
"repository": { | "repository": { | ||||
"title": "Repository", | |||||
"type": "string" | "type": "string" | ||||
}, | }, | ||||
"tag": { | "tag": { | ||||
"title": "Tag", | |||||
"type": "string" | "type": "string" | ||||
}, | }, | ||||
"pullPolicy": { | "pullPolicy": { | ||||
"type": "string", | "$ref": "#/definitions/PullPolicy" | ||||
"enum": [ | |||||
"Always", | |||||
"IfNotPresent", | |||||
"Never" | |||||
] | |||||
} | } | ||||
}, | }, | ||||
"required": [ | "required": [ | ||||
"repository", | "repository", | ||||
"tag", | "tag", | ||||
"pullPolicy" | "pullPolicy" | ||||
], | ], | ||||
"additionalProperties": false | "additionalProperties": false | ||||
}, | }, | ||||
"env": { | "Service": { | ||||
"title": "Service", | |||||
"type": "object", | "type": "object", | ||||
"patternProperties": { | "properties": { | ||||
".+": { | "type": { | ||||
"title": "Type", | |||||
"type": "string" | "type": "string" | ||||
} | |||||
} | |||||
}, | }, | ||||
"env_config_maps": { | "port": { | ||||
"type": "array", | "title": "Port", | ||||
"items": { | "type": "integer" | ||||
"type": "string" | |||||
} | } | ||||
}, | }, | ||||
"env_secrets": { | "required": [ | ||||
"type": "array", | "type", | ||||
"items": { | "port" | ||||
"type": "string" | ], | ||||
} | "additionalProperties": false | ||||
} | |||||
} | |||||
}, | }, | ||||
"properties": { | "NodeSelector": { | ||||
"dagit": { | "title": "NodeSelector", | ||||
"type": "object", | "type": "object", | ||||
"title": "Configuration for the Dagit webserver.", | "properties": {}, | ||||
"properties": { | "$ref": "https://kubernetesjsonschema.dev/v1.15.0/_definitions.json#/definitions/io.k8s.api.core.v1.PodSpec/properties/nodeSelector" | ||||
"replicaCount": { | |||||
"type": "integer" | |||||
}, | }, | ||||
"image": { | "Affinity": { | ||||
"$ref": "#/definitions/k8s/image" | "title": "Affinity", | ||||
"type": "object", | |||||
"properties": {}, | |||||
"$ref": "https://kubernetesjsonschema.dev/v1.15.0/_definitions.json#/definitions/io.k8s.api.core.v1.Affinity" | |||||
}, | }, | ||||
"service": { | "Tolerations": { | ||||
"title": "Tolerations", | |||||
"type": "object", | "type": "object", | ||||
"properties": { | "properties": {}, | ||||
"type": { | "$ref": "https://kubernetesjsonschema.dev/v1.15.0/_definitions.json#/definitions/io.k8s.api.core.v1.PodSpec/properties/tolerations" | ||||
"type": "string" | |||||
}, | }, | ||||
"port": { | "PodSecurityContext": { | ||||
"type": "integer" | "title": "PodSecurityContext", | ||||
} | "type": "object", | ||||
"properties": {}, | |||||
"$ref": "https://kubernetesjsonschema.dev/v1.15.0/_definitions.json#/definitions/io.k8s.api.core.v1.PodSecurityContext" | |||||
}, | }, | ||||
"additionalProperties": false | "SecurityContext": { | ||||
"title": "SecurityContext", | |||||
"type": "object", | |||||
"properties": {}, | |||||
"$ref": "https://kubernetesjsonschema.dev/v1.15.0/_definitions.json#/definitions/io.k8s.api.core.v1.SecurityContext" | |||||
}, | }, | ||||
"env": { | "Resources": { | ||||
"$ref": "#/definitions/k8s/env" | "title": "Resources", | ||||
"type": "object", | |||||
"properties": {}, | |||||
"$ref": "https://kubernetesjsonschema.dev/v1.15.0/_definitions.json#/definitions/io.k8s.api.core.v1.ResourceRequirements" | |||||
}, | }, | ||||
"env_config_maps": { | "LivenessProbe": { | ||||
"$ref": "#/definitions/k8s/env_config_maps" | "title": "LivenessProbe", | ||||
"type": "object", | |||||
"properties": {}, | |||||
"$ref": "https://kubernetesjsonschema.dev/v1.15.0/_definitions.json#/definitions/io.k8s.api.core.v1.Container/properties/livenessProbe" | |||||
}, | }, | ||||
"env_secrets": { | "StartupProbe": { | ||||
"$ref": "#/definitions/k8s/env_secrets" | "title": "StartupProbe", | ||||
"type": "object", | |||||
"properties": {}, | |||||
"$ref": "https://kubernetesjsonschema.dev/v1.16.0/_definitions.json#/definitions/io.k8s.api.core.v1.Container/properties/startupProbe" | |||||
}, | |||||
"Dagit": { | |||||
"title": "Dagit", | |||||
"type": "object", | |||||
"properties": { | |||||
"replicaCount": { | |||||
"title": "Replicacount", | |||||
"type": "integer" | |||||
}, | |||||
"image": { | |||||
"$ref": "#/definitions/Image" | |||||
}, | |||||
"service": { | |||||
"$ref": "#/definitions/Service" | |||||
}, | }, | ||||
"nodeSelector": { | "nodeSelector": { | ||||
"$ref": "https://kubernetesjsonschema.dev/v1.15.0/_definitions.json#/definitions/io.k8s.api.core.v1.PodSpec/properties/nodeSelector" | "$ref": "#/definitions/NodeSelector" | ||||
}, | }, | ||||
"affinity": { | "affinity": { | ||||
"$ref": "https://kubernetesjsonschema.dev/v1.15.0/_definitions.json#/definitions/io.k8s.api.core.v1.Affinity" | "$ref": "#/definitions/Affinity" | ||||
}, | }, | ||||
"tolerations": { | "tolerations": { | ||||
"$ref": "https://kubernetesjsonschema.dev/v1.15.0/_definitions.json#/definitions/io.k8s.api.core.v1.PodSpec/properties/tolerations" | "$ref": "#/definitions/Tolerations" | ||||
}, | }, | ||||
"podSecurityContext": { | "podSecurityContext": { | ||||
"$ref": "https://kubernetesjsonschema.dev/v1.15.0/_definitions.json#/definitions/io.k8s.api.core.v1.PodSecurityContext" | "$ref": "#/definitions/PodSecurityContext" | ||||
}, | }, | ||||
"securityContext": { | "securityContext": { | ||||
"$ref": "https://kubernetesjsonschema.dev/v1.15.0/_definitions.json#/definitions/io.k8s.api.core.v1.SecurityContext" | "$ref": "#/definitions/SecurityContext" | ||||
}, | }, | ||||
"resources": { | "resources": { | ||||
"$ref": "https://kubernetesjsonschema.dev/v1.15.0/_definitions.json#/definitions/io.k8s.api.core.v1.ResourceRequirements" | "$ref": "#/definitions/Resources" | ||||
}, | }, | ||||
"livenessProbe": { | "livenessProbe": { | ||||
"$ref": "https://kubernetesjsonschema.dev/v1.15.0/_definitions.json#/definitions/io.k8s.api.core.v1.Container/properties/livenessProbe", | "$ref": "#/definitions/LivenessProbe" | ||||
"additionalProperties": false | |||||
}, | }, | ||||
"startupProbe": { | "startupProbe": { | ||||
"$ref": "https://kubernetesjsonschema.dev/v1.16.0/_definitions.json#/definitions/io.k8s.api.core.v1.Container/properties/startupProbe" | "$ref": "#/definitions/StartupProbe" | ||||
} | } | ||||
}, | }, | ||||
"required": [ | "required": [ | ||||
"replicaCount", | "replicaCount", | ||||
"image", | "image", | ||||
"service" | "service" | ||||
] | |||||
}, | |||||
"SchedulerType": { | |||||
"title": "SchedulerType", | |||||
"description": "An enumeration.", | |||||
"enum": [ | |||||
"CronScheduler", | |||||
"K8sScheduler" | |||||
], | |||||
"type": "string" | |||||
}, | |||||
"SecretEnvSource": { | |||||
"title": "SecretEnvSource", | |||||
"type": "object", | |||||
"properties": {}, | |||||
"$ref": "https://kubernetesjsonschema.dev/v1.15.0/_definitions.json#/definitions/io.k8s.api.core.v1.SecretEnvSource" | |||||
}, | |||||
"K8sSchedulerConfig": { | |||||
"title": "K8sSchedulerConfig", | |||||
"type": "object", | |||||
"properties": { | |||||
"image": { | |||||
"$ref": "#/definitions/Image" | |||||
}, | |||||
"schedulerNamespace": { | |||||
"title": "Schedulernamespace", | |||||
"type": "string" | |||||
}, | |||||
"loadInclusterConfig": { | |||||
"title": "Loadinclusterconfig", | |||||
"type": "boolean" | |||||
}, | |||||
"kubeconfigFile": { | |||||
"title": "Kubeconfigfile", | |||||
"type": "string" | |||||
}, | |||||
"envSecrets": { | |||||
"title": "Envsecrets", | |||||
"type": "array", | |||||
"items": { | |||||
"$ref": "#/definitions/SecretEnvSource" | |||||
} | |||||
} | |||||
}, | |||||
"required": [ | |||||
"image", | |||||
"schedulerNamespace" | |||||
], | ], | ||||
"additionalProperties": false | "additionalProperties": false | ||||
}, | |||||
"SchedulerConfig": { | |||||
"title": "SchedulerConfig", | |||||
"type": "object", | |||||
"properties": { | |||||
"K8sScheduler": { | |||||
"$ref": "#/definitions/K8sSchedulerConfig" | |||||
} | |||||
}, | |||||
"additionalProperties": false | |||||
}, | |||||
"Scheduler": { | |||||
"title": "Scheduler", | |||||
"type": "object", | |||||
"properties": { | |||||
"type": { | |||||
"$ref": "#/definitions/SchedulerType" | |||||
}, | |||||
"config": { | |||||
"$ref": "#/definitions/SchedulerConfig" | |||||
} | } | ||||
}, | }, | ||||
"required": [ | "required": [ | ||||
"dagit" | "type", | ||||
"config" | |||||
], | |||||
"additionalProperties": false, | |||||
"allOf": [ | |||||
{ | |||||
"if": { | |||||
"properties": { | |||||
"type": { | |||||
"const": "K8sScheduler" | |||||
} | |||||
} | |||||
}, | |||||
"then": { | |||||
"properties": { | |||||
"config": { | |||||
"required": [ | |||||
"K8sScheduler" | |||||
] | |||||
} | |||||
} | |||||
} | |||||
} | |||||
] | ] | ||||
} | |||||
} | |||||
} | } | ||||
No newline at end of file | No newline at end of file |