220 lines
6.9 KiB
JSON
220 lines
6.9 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/schema#",
|
|
"type": "object",
|
|
"properties": {
|
|
"resources": {
|
|
"description": "Your service will have at least the requested resources and never more than its limits. No limit for a resource and you can consume everything left on the host machine.",
|
|
"type": "object",
|
|
"properties": {
|
|
"requests": {
|
|
"description": "Guaranteed resources",
|
|
"type": "object",
|
|
"properties": {
|
|
"cpu": {
|
|
"description": "The amount of cpu guaranteed",
|
|
"title": "CPU",
|
|
"type": "string",
|
|
"default": "100m",
|
|
"render": "slider",
|
|
"sliderMin": 50,
|
|
"sliderMax": 40000,
|
|
"sliderStep": 50,
|
|
"sliderUnit": "m",
|
|
"sliderExtremity": "down",
|
|
"sliderExtremitySemantic": "guaranteed",
|
|
"sliderRangeId": "cpu",
|
|
"x-onyxia": {
|
|
"overwriteDefaultWith": "region.resources.cpuRequest",
|
|
"useRegionSliderConfig": "cpu"
|
|
}
|
|
},
|
|
"memory": {
|
|
"description": "The amount of memory guaranteed",
|
|
"title": "memory",
|
|
"type": "string",
|
|
"default": "2Gi",
|
|
"render": "slider",
|
|
"sliderMin": 1,
|
|
"sliderMax": 200,
|
|
"sliderStep": 1,
|
|
"sliderUnit": "Gi",
|
|
"sliderExtremity": "down",
|
|
"sliderExtremitySemantic": "guaranteed",
|
|
"sliderRangeId": "memory",
|
|
"x-onyxia": {
|
|
"overwriteDefaultWith": "region.resources.memoryRequest",
|
|
"useRegionSliderConfig": "memory"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"limits": {
|
|
"description": "max resources",
|
|
"type": "object",
|
|
"properties": {
|
|
"cpu": {
|
|
"description": "The maximum amount of cpu",
|
|
"title": "CPU",
|
|
"type": "string",
|
|
"default": "30000m",
|
|
"render": "slider",
|
|
"sliderMin": 50,
|
|
"sliderMax": 40000,
|
|
"sliderStep": 50,
|
|
"sliderUnit": "m",
|
|
"sliderExtremity": "up",
|
|
"sliderExtremitySemantic": "Maximum",
|
|
"sliderRangeId": "cpu",
|
|
"x-onyxia": {
|
|
"overwriteDefaultWith": "region.resources.cpuLimit",
|
|
"useRegionSliderConfig": "cpu"
|
|
}
|
|
},
|
|
"memory": {
|
|
"description": "The maximum amount of memory",
|
|
"title": "Memory",
|
|
"type": "string",
|
|
"default": "50Gi",
|
|
"render": "slider",
|
|
"sliderMin": 1,
|
|
"sliderMax": 200,
|
|
"sliderStep": 1,
|
|
"sliderUnit": "Gi",
|
|
"sliderExtremity": "up",
|
|
"sliderExtremitySemantic": "Maximum",
|
|
"sliderRangeId": "memory",
|
|
"x-onyxia": {
|
|
"overwriteDefaultWith": "region.resources.memoryLimit",
|
|
"useRegionSliderConfig": "memory"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"discovery": {
|
|
"description": "configure your service to autodetect some ressources.",
|
|
"type": "object",
|
|
"properties": {
|
|
"hive": {
|
|
"type": "boolean",
|
|
"title": "Enable hive metastore discovery",
|
|
"description": "discover your hive metastore service",
|
|
"default": true
|
|
},
|
|
"mlflow": {
|
|
"type": "boolean",
|
|
"title": "Enable mlflow discovery",
|
|
"description": "discover your mlflow service",
|
|
"default": true
|
|
},
|
|
"metaflow": {
|
|
"type": "boolean",
|
|
"title": "Enable metaflow discovery",
|
|
"description": "discover your metaflow service",
|
|
"default": true
|
|
}
|
|
}
|
|
},
|
|
"service": {
|
|
"description": "spark-history specific configuration",
|
|
"type": "object",
|
|
"properties": {
|
|
"image": {
|
|
"description": "image docker",
|
|
"type": "object",
|
|
"properties": {
|
|
"pullPolicy": {
|
|
"type": "string",
|
|
"description": "option when pulling the docker image",
|
|
"default": "IfNotPresent",
|
|
"enum": [
|
|
"IfNotPresent",
|
|
"Always",
|
|
"Never"
|
|
]
|
|
},
|
|
"version": {
|
|
"description": "vscode supported version",
|
|
"type": "string",
|
|
"default": "inseefrlab/onyxia-vscode-python:py3.11.6",
|
|
"listEnum": [
|
|
"inseefrlab/onyxia-vscode-python:py3.11.6",
|
|
"inseefrlab/onyxia-vscode-python:py3.10.13"
|
|
],
|
|
"render": "list",
|
|
"hidden": {
|
|
"value": true,
|
|
"path": "service/image/custom/enabled"
|
|
}
|
|
},
|
|
"custom": {
|
|
"description": "use a custom vscode docker image",
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"title": "custom image",
|
|
"type": "boolean",
|
|
"description": "use a custom vscode docker images",
|
|
"default": false
|
|
},
|
|
"version": {
|
|
"description": "vscode unsupported version",
|
|
"type": "string",
|
|
"default": "inseefrlab/onyxia-vscode-python:py3.11.6",
|
|
"hidden": {
|
|
"value": false,
|
|
"path": "service/image/custom/enabled"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"persistence": {
|
|
"description": "Configuration for persistence",
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "Create a persistent volume",
|
|
"default": true
|
|
},
|
|
"size": {
|
|
"type": "string",
|
|
"title": "Persistent volume size",
|
|
"description": "Size of the persistent volume",
|
|
"default": "10Gi",
|
|
"form": true,
|
|
"render": "slider",
|
|
"sliderMin": 1,
|
|
"sliderMax": 100,
|
|
"sliderStep": 1,
|
|
"sliderUnit": "Gi",
|
|
"x-onyxia": {
|
|
"overwriteDefaultWith": "region.resources.disk",
|
|
"useRegionSliderConfig": "disk"
|
|
},
|
|
"hidden": {
|
|
"value": false,
|
|
"path": "persistence/enabled"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": {
|
|
"description": "security specific configuration",
|
|
"type": "object",
|
|
"properties": {
|
|
"password": {
|
|
"type": "string",
|
|
"title": "Password for your service",
|
|
"description": "Password for your service"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|