1103 lines
32 KiB
Plaintext
1103 lines
32 KiB
Plaintext
{
|
|
"$schema": "http://json-schema.org/schema#",
|
|
"type": "object",
|
|
"properties": {
|
|
"wordpress": {
|
|
"wordpressUsername": {
|
|
"type": "string",
|
|
"title": "Username",
|
|
"form": true
|
|
},
|
|
"wordpressPassword": {
|
|
"type": "string",
|
|
"title": "Password",
|
|
"form": true,
|
|
"description": "Defaults to a random 10-character alphanumeric string if not set"
|
|
},
|
|
"wordpressEmail": {
|
|
"type": "string",
|
|
"title": "Admin email",
|
|
"form": true
|
|
},
|
|
"wordpressBlogName": {
|
|
"type": "string",
|
|
"title": "Blog Name",
|
|
"form": true
|
|
}
|
|
},
|
|
"s3": {
|
|
"description": "Configuration of temporary identity",
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "Add S3 temporary identity inside your environment",
|
|
"default": true
|
|
},
|
|
"accessKeyId": {
|
|
"description": "AWS Access Key",
|
|
"type": "string",
|
|
"x-onyxia": {
|
|
"overwriteDefaultWith": "{{s3.AWS_ACCESS_KEY_ID}}"
|
|
},
|
|
"hidden": {
|
|
"value": false,
|
|
"path": "s3/enabled"
|
|
}
|
|
},
|
|
"endpoint": {
|
|
"description": "AWS S3 Endpoint",
|
|
"type": "string",
|
|
"x-onyxia": {
|
|
"overwriteDefaultWith": "{{s3.AWS_S3_ENDPOINT}}"
|
|
},
|
|
"hidden": {
|
|
"value": false,
|
|
"path": "s3/enabled"
|
|
}
|
|
},
|
|
"defaultRegion": {
|
|
"description": "AWS S3 default region",
|
|
"type": "string",
|
|
"x-onyxia": {
|
|
"overwriteDefaultWith": "{{s3.AWS_DEFAULT_REGION}}"
|
|
},
|
|
"hidden": {
|
|
"value": false,
|
|
"path": "s3/enabled"
|
|
}
|
|
},
|
|
"secretAccessKey": {
|
|
"description": "AWS S3 secret access key",
|
|
"type": "string",
|
|
"render": "password",
|
|
"x-onyxia": {
|
|
"overwriteDefaultWith": "{{s3.AWS_SECRET_ACCESS_KEY}}"
|
|
},
|
|
"hidden": {
|
|
"value": false,
|
|
"path": "s3/enabled"
|
|
}
|
|
},
|
|
"sessionToken": {
|
|
"description": "AWS S3 session Token",
|
|
"type": "string",
|
|
"render": "password",
|
|
"x-onyxia": {
|
|
"overwriteDefaultWith": "{{s3.AWS_SESSION_TOKEN}}"
|
|
},
|
|
"hidden": {
|
|
"value": false,
|
|
"path": "s3/enabled"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"ingress": {
|
|
"type": "object",
|
|
"form": true,
|
|
"title": "Ingress Details",
|
|
"properties": {
|
|
"enabled": {
|
|
"description": "Enable Ingress",
|
|
"type": "boolean",
|
|
"default": true,
|
|
"x-onyxia": {
|
|
"hidden": true,
|
|
"overwriteDefaultWith": "k8s.ingress"
|
|
}
|
|
},
|
|
"hostname": {
|
|
"type": "string",
|
|
"form": true,
|
|
"title": "Hostname",
|
|
"x-onyxia": {
|
|
"hidden": false,
|
|
"overwriteDefaultWith": "{{project.id}}-mlflow.{{k8s.domain}}"
|
|
}
|
|
},
|
|
"ingressClassName": {
|
|
"type": "string",
|
|
"form": true,
|
|
"title": "ingressClassName",
|
|
"default": "",
|
|
"x-onyxia": {
|
|
"hidden": true,
|
|
"overwriteDefaultWith": "{{k8s.ingressClassName}}"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"route": {
|
|
"type": "object",
|
|
"form": true,
|
|
"title": "Route details",
|
|
"properties": {
|
|
"enabled": {
|
|
"description": "Enable route",
|
|
"type": "boolean",
|
|
"default": false,
|
|
"x-onyxia": {
|
|
"hidden": false,
|
|
"overwriteDefaultWith": "k8s.route"
|
|
}
|
|
},
|
|
"hostname": {
|
|
"type": "string",
|
|
"form": true,
|
|
"title": "Hostname",
|
|
"x-onyxia": {
|
|
"hidden": false,
|
|
"overwriteDefaultWith": "{{project.id}}-mlflow.{{k8s.domain}}"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": {
|
|
"description": "security specific configuration",
|
|
"type": "object",
|
|
"properties": {
|
|
"password": {
|
|
"type": "string",
|
|
"description": "Password",
|
|
"default": "changeme",
|
|
"render": "password",
|
|
"x-onyxia": {
|
|
"overwriteDefaultWith": "{{project.password}}"
|
|
}
|
|
},
|
|
"allowlist": {
|
|
"type": "object",
|
|
"description": "IP protection",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"title": "Enable IP protection",
|
|
"description": "Only the configured set of IPs will be able to reach the service",
|
|
"default": true,
|
|
"x-onyxia": {
|
|
"overwriteDefaultWith": "region.defaultIpProtection"
|
|
}
|
|
},
|
|
"ip": {
|
|
"type": "string",
|
|
"description": "the white list of IP is whitespace",
|
|
"title": "Whitelist of IP",
|
|
"default": "0.0.0.0",
|
|
"x-onyxia": {
|
|
"overwriteDefaultWith": "{{user.ip}}"
|
|
},
|
|
"hidden": {
|
|
"value": false,
|
|
"path": "security/allowlist/enabled"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"networkPolicy": {
|
|
"type": "object",
|
|
"description": "Define access policy to the service",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"title": "Enable network policy",
|
|
"description": "Only pod from the same namespace will be allowed",
|
|
"default": true,
|
|
"x-onyxia": {
|
|
"overwriteDefaultWith": "region.defaultNetworkPolicy"
|
|
}
|
|
},
|
|
"from": {
|
|
"type": "array",
|
|
"description": "Array of source allowed to have network access to your service",
|
|
"default": [
|
|
{
|
|
"namespaceSelector": {
|
|
"matchLabels": {
|
|
"kubernetes.io/metadata.name": "ingress"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"x-onyxia": {
|
|
"overwriteDefaultWith": "region.from"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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"
|
|
},
|
|
"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"
|
|
}
|
|
}
|
|
},
|
|
"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"
|
|
},
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"mariadb": {
|
|
"type": "object",
|
|
"title": "MariaDB Details",
|
|
"form": true,
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"title": "Use a new MariaDB database hosted in the cluster",
|
|
"form": true,
|
|
"description": "Whether to deploy a mariadb server to satisfy the applications database requirements. To use an external database switch this off and configure the external database details"
|
|
},
|
|
"primary": {
|
|
"type": "object",
|
|
"properties": {
|
|
"persistence": {
|
|
"type": "object",
|
|
"properties": {
|
|
"size": {
|
|
"type": "string",
|
|
"title": "Volume Size",
|
|
"form": true,
|
|
"hidden": {
|
|
"value": false,
|
|
"path": "mariadb/primary/persistence/enabled"
|
|
},
|
|
"render": "slider",
|
|
"sliderMin": 1,
|
|
"sliderMax": 100,
|
|
"sliderUnit": "Gi"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"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",
|
|
"description": "Password",
|
|
"default": "changeme",
|
|
"render": "password",
|
|
"x-onyxia": {
|
|
"overwriteDefaultWith": "{{project.password}}"
|
|
}
|
|
},
|
|
"allowlist": {
|
|
"type": "object",
|
|
"description": "IP protection",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"title": "Enable IP protection",
|
|
"description": "Only the configured set of IPs will be able to reach the service",
|
|
"default": true,
|
|
"x-onyxia": {
|
|
"overwriteDefaultWith": "region.defaultIpProtection"
|
|
}
|
|
},
|
|
"ip": {
|
|
"type": "string",
|
|
"description": "the white list of IP is whitespace",
|
|
"title": "Whitelist of IP",
|
|
"x-onyxia": {
|
|
"overwriteDefaultWith": "{{user.ip}}"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"networkPolicy": {
|
|
"type": "object",
|
|
"description": "Define access policy to the service",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"title": "Enable network policy",
|
|
"description": "Only pod from the same namespace will be allowed",
|
|
"default": true,
|
|
"x-onyxia": {
|
|
"overwriteDefaultWith": "region.defaultNetworkPolicy"
|
|
}
|
|
},
|
|
"from": {
|
|
"type": "array",
|
|
"description": "Array of source allowed to have network access to your service",
|
|
"default": [],
|
|
"x-onyxia": {
|
|
"hidden": true,
|
|
"overwriteDefaultWith": "region.from"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"kubernetes": {
|
|
"description": "configuration of your kubernetes access",
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "allow your service to access your namespace ressources",
|
|
"default": true
|
|
},
|
|
"role": {
|
|
"type": "string",
|
|
"description": "bind your service account to this kubernetes default role",
|
|
"default": "view",
|
|
"hidden": {
|
|
"value": false,
|
|
"path": "kubernetes/enabled"
|
|
},
|
|
"enum": [
|
|
"view",
|
|
"edit",
|
|
"admin"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"git": {
|
|
"description": "Git user configuration",
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "Add git config inside your environment",
|
|
"default": true
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "user name for git",
|
|
"default": "",
|
|
"x-onyxia": {
|
|
"overwriteDefaultWith": "{{git.name}}"
|
|
},
|
|
"hidden": {
|
|
"value": false,
|
|
"path": "git/enabled"
|
|
}
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"description": "user email for git",
|
|
"default": "",
|
|
"x-onyxia": {
|
|
"overwriteDefaultWith": "{{git.email}}"
|
|
},
|
|
"hidden": {
|
|
"value": false,
|
|
"path": "git/enabled"
|
|
}
|
|
},
|
|
"cache": {
|
|
"type": "string",
|
|
"description": "duration in seconds of the credentials cache duration",
|
|
"default": "",
|
|
"x-onyxia": {
|
|
"overwriteDefaultWith": "{{git.credentials_cache_duration}}"
|
|
},
|
|
"hidden": {
|
|
"value": false,
|
|
"path": "git/enabled"
|
|
}
|
|
},
|
|
"token": {
|
|
"type": "string",
|
|
"description": "personal access token",
|
|
"default": "",
|
|
"render": "password",
|
|
"x-onyxia": {
|
|
"overwriteDefaultWith": "{{git.token}}"
|
|
},
|
|
"hidden": {
|
|
"value": false,
|
|
"path": "git/enabled"
|
|
}
|
|
},
|
|
"repository": {
|
|
"type": "string",
|
|
"description": "projet",
|
|
"default": "",
|
|
"x-onyxia": {
|
|
"overwriteDefaultWith": "{{git.project}}"
|
|
},
|
|
"hidden": {
|
|
"value": false,
|
|
"path": "git/enabled"
|
|
}
|
|
},
|
|
"branch": {
|
|
"type": "string",
|
|
"description": "Branch automatically checked out",
|
|
"default": "",
|
|
"hidden": {
|
|
"value": "",
|
|
"path": "git/repository"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"vault": {
|
|
"description": "Configuration of vault client",
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "Add vault temporary identity inside your environment",
|
|
"default": true
|
|
},
|
|
"token": {
|
|
"description": "token vault",
|
|
"type": "string",
|
|
"render": "password",
|
|
"x-onyxia": {
|
|
"overwriteDefaultWith": "{{vault.VAULT_TOKEN}}"
|
|
},
|
|
"hidden": {
|
|
"value": false,
|
|
"path": "vault/enabled"
|
|
}
|
|
},
|
|
"url": {
|
|
"description": "url of vault server",
|
|
"type": "string",
|
|
"x-onyxia": {
|
|
"overwriteDefaultWith": "{{vault.VAULT_ADDR}}"
|
|
},
|
|
"hidden": {
|
|
"value": false,
|
|
"path": "vault/enabled"
|
|
}
|
|
},
|
|
"mount": {
|
|
"description": "mount of the v2 secret engine",
|
|
"type": "string",
|
|
"x-onyxia": {
|
|
"overwriteDefaultWith": "{{vault.VAULT_MOUNT}}"
|
|
},
|
|
"hidden": {
|
|
"value": false,
|
|
"path": "vault/enabled"
|
|
}
|
|
},
|
|
"directory": {
|
|
"description": "top level directory",
|
|
"type": "string",
|
|
"x-onyxia": {
|
|
"overwriteDefaultWith": "{{vault.VAULT_TOP_DIR}}"
|
|
},
|
|
"hidden": {
|
|
"value": false,
|
|
"path": "vault/enabled"
|
|
}
|
|
},
|
|
"secret": {
|
|
"description": "the path of the secret to convert into a list of environment variables",
|
|
"type": "string",
|
|
"default": "",
|
|
"hidden": {
|
|
"value": false,
|
|
"path": "vault/enabled"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"s3": {
|
|
"description": "Configuration of temporary identity",
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "Add S3 temporary identity inside your environment",
|
|
"default": true
|
|
},
|
|
"accessKeyId": {
|
|
"description": "AWS Access Key",
|
|
"type": "string",
|
|
"x-onyxia": {
|
|
"overwriteDefaultWith": "s3.AWS_ACCESS_KEY_ID"
|
|
},
|
|
"hidden": {
|
|
"value": false,
|
|
"path": "s3/enabled"
|
|
}
|
|
},
|
|
"endpoint": {
|
|
"description": "AWS S3 Endpoint",
|
|
"type": "string",
|
|
"x-onyxia": {
|
|
"overwriteDefaultWith": "{{s3.AWS_S3_ENDPOINT}}"
|
|
},
|
|
"hidden": {
|
|
"value": false,
|
|
"path": "s3/enabled"
|
|
}
|
|
},
|
|
"defaultRegion": {
|
|
"description": "AWS S3 default region",
|
|
"type": "string",
|
|
"x-onyxia": {
|
|
"overwriteDefaultWith": "{{s3.AWS_DEFAULT_REGION}}"
|
|
},
|
|
"hidden": {
|
|
"value": false,
|
|
"path": "s3/enabled"
|
|
}
|
|
},
|
|
"secretAccessKey": {
|
|
"description": "AWS S3 secret access key",
|
|
"type": "string",
|
|
"render": "password",
|
|
"x-onyxia": {
|
|
"overwriteDefaultWith": "{{s3.AWS_SECRET_ACCESS_KEY}}"
|
|
},
|
|
"hidden": {
|
|
"value": false,
|
|
"path": "s3/enabled"
|
|
}
|
|
},
|
|
"sessionToken": {
|
|
"description": "AWS S3 session Token",
|
|
"type": "string",
|
|
"render": "password",
|
|
"x-onyxia": {
|
|
"overwriteDefaultWith": "{{s3.AWS_SESSION_TOKEN}}"
|
|
},
|
|
"hidden": {
|
|
"value": false,
|
|
"path": "s3/enabled"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"ingress": {
|
|
"type": "object",
|
|
"form": true,
|
|
"title": "Ingress Details",
|
|
"properties": {
|
|
"enabled": {
|
|
"description": "Enable Ingress",
|
|
"type": "boolean",
|
|
"default": true,
|
|
"x-onyxia": {
|
|
"hidden": true,
|
|
"overwriteDefaultWith": "k8s.ingress"
|
|
}
|
|
},
|
|
"hostname": {
|
|
"type": "string",
|
|
"form": true,
|
|
"title": "Hostname",
|
|
"x-onyxia": {
|
|
"hidden": true,
|
|
"overwriteDefaultWith": "{{project.id}}-{{k8s.randomSubdomain}}-0.{{k8s.domain}}"
|
|
}
|
|
},
|
|
"userHostname": {
|
|
"type": "string",
|
|
"form": true,
|
|
"title": "Hostname",
|
|
"x-onyxia": {
|
|
"hidden": true,
|
|
"overwriteDefaultWith": "{{project.id}}-{{k8s.randomSubdomain}}-user.{{k8s.domain}}"
|
|
}
|
|
},
|
|
"ingressClassName": {
|
|
"type": "string",
|
|
"form": true,
|
|
"title": "ingressClassName",
|
|
"default": "",
|
|
"x-onyxia": {
|
|
"hidden": true,
|
|
"overwriteDefaultWith": "{{k8s.ingressClassName}}"
|
|
}
|
|
},
|
|
"useCertManager": {
|
|
"type": "boolean",
|
|
"description": "Whether CertManager should be used to generate a certificate",
|
|
"default": false,
|
|
"x-onyxia": {
|
|
"hidden": true,
|
|
"overwriteDefaultWith": "k8s.useCertManager"
|
|
}
|
|
},
|
|
"certManagerClusterIssuer":{
|
|
"type": "string",
|
|
"description": "certManager cluster issuer",
|
|
"title": "CertManager Cluster Issuer",
|
|
"default": "",
|
|
"x-onyxia": {
|
|
"hidden": true,
|
|
"overwriteDefaultWith": "k8s.certManagerClusterIssuer"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"route": {
|
|
"type": "object",
|
|
"form": true,
|
|
"title": "Route details",
|
|
"properties": {
|
|
"enabled": {
|
|
"description": "Enable route",
|
|
"type": "boolean",
|
|
"default": false,
|
|
"x-onyxia": {
|
|
"hidden": true,
|
|
"overwriteDefaultWith": "k8s.route"
|
|
}
|
|
},
|
|
"hostname": {
|
|
"type": "string",
|
|
"form": true,
|
|
"title": "Hostname",
|
|
"x-onyxia": {
|
|
"hidden": true,
|
|
"overwriteDefaultWith": "{{project.id}}-{{k8s.randomSubdomain}}-0.{{k8s.domain}}"
|
|
}
|
|
},
|
|
"userHostname": {
|
|
"type": "string",
|
|
"form": true,
|
|
"title": "Hostname",
|
|
"x-onyxia": {
|
|
"hidden": true,
|
|
"overwriteDefaultWith": "{{project.id}}-{{k8s.randomSubdomain}}-user.{{k8s.domain}}"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"networking": {
|
|
"type": "object",
|
|
"form": true,
|
|
"title": "Networking detail",
|
|
"properties": {
|
|
"user": {
|
|
"type": "object",
|
|
"description": "user defined port",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"title": "Enable a custom service port",
|
|
"description": "Enable a custom service port",
|
|
"default": false
|
|
},
|
|
"port": {
|
|
"type": "integer",
|
|
"description": "port of the custom service",
|
|
"title": "Custom service port",
|
|
"hidden": {
|
|
"value": false,
|
|
"path": "networking/user/enabled"
|
|
},
|
|
"default": 5000
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"init": {
|
|
"description": "Init parameters",
|
|
"type": "object",
|
|
"properties": {
|
|
"regionInit": {
|
|
"type": "string",
|
|
"description": "region initialization script",
|
|
"default": "",
|
|
"x-onyxia": {
|
|
"hidden": true,
|
|
"overwriteDefaultWith": "{{k8s.initScriptUrl}}"
|
|
}
|
|
},
|
|
"regionInitCheckSum": {
|
|
"type": "string",
|
|
"description": "region initialization script",
|
|
"default": "",
|
|
"x-onyxia": {
|
|
"hidden": true,
|
|
"overwriteDefaultWith": "{{k8s.initScriptCheckSum}}"
|
|
}
|
|
},
|
|
"personalInit": {
|
|
"type": "string",
|
|
"description": "user initialization script",
|
|
"default": ""
|
|
},
|
|
"personalInitArgs": {
|
|
"type": "string",
|
|
"description": "args for user initialization script",
|
|
"default": ""
|
|
}
|
|
}
|
|
},
|
|
"repository": {
|
|
"description": "python repositories for pip and conda",
|
|
"type": "object",
|
|
"properties": {
|
|
"pipRepository": {
|
|
"type": "string",
|
|
"description": "python repository for pip",
|
|
"default": "",
|
|
"x-onyxia": {
|
|
"hidden": true,
|
|
"overwriteDefaultWith": "{{packageRepositoryInjection.pypiProxyUrl}}"
|
|
}
|
|
},
|
|
"condaRepository": {
|
|
"type": "string",
|
|
"description": "python repository for pip",
|
|
"default": "",
|
|
"x-onyxia": {
|
|
"hidden": true,
|
|
"overwriteDefaultWith": "{{packageRepositoryInjection.condaProxyUrl}}"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"startupProbe": {
|
|
"type": "object",
|
|
"description": "Start up probe",
|
|
"default": {},
|
|
"x-onyxia": {
|
|
"hidden": true,
|
|
"overwriteDefaultWith": "region.startupProbe"
|
|
}
|
|
},
|
|
"tolerations": {
|
|
"type": "array",
|
|
"description": "Array of tolerations",
|
|
"default": [],
|
|
"x-onyxia": {
|
|
"hidden": true,
|
|
"overwriteDefaultWith": "region.tolerations"
|
|
}
|
|
},
|
|
"nodeSelector": {
|
|
"type": "object",
|
|
"description": "NodeSelector",
|
|
"default": {},
|
|
"x-onyxia": {
|
|
"hidden": true,
|
|
"overwriteDefaultWith": "region.nodeSelector"
|
|
}
|
|
},
|
|
"userPreferences": {
|
|
"description": "User Preferences",
|
|
"type": "object",
|
|
"properties": {
|
|
"darkMode": {
|
|
"type": "boolean",
|
|
"description": "dark mode is or is not enabled",
|
|
"default": false,
|
|
"x-onyxia": {
|
|
"hidden": true,
|
|
"overwriteDefaultWith": "user.darkMode"
|
|
}
|
|
},
|
|
"language": {
|
|
"type": "string",
|
|
"description": "Preferred language",
|
|
"default": "en",
|
|
"x-onyxia": {
|
|
"hidden": true,
|
|
"overwriteDefaultWith": "user.lang"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"global": {
|
|
"description": "Suspend",
|
|
"type": "object",
|
|
"properties": {
|
|
"suspend": {
|
|
"type": "boolean",
|
|
"description": "Suspend this service",
|
|
"default": false,
|
|
"x-onyxia": {
|
|
"hidden": true
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |