299 lines
8.7 KiB
JSON
299 lines
8.7 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/schema#",
|
|
"type": "object",
|
|
"properties": {
|
|
"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
|
|
},
|
|
"persistence": {
|
|
"type": "object",
|
|
"properties": {
|
|
"size": {
|
|
"type": "string",
|
|
"title": "Persistent Volume Size",
|
|
"form": true,
|
|
"render": "slider",
|
|
"sliderMin": 1,
|
|
"sliderMax": 100,
|
|
"sliderUnit": "Gi"
|
|
}
|
|
}
|
|
},
|
|
"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/enabled"
|
|
},
|
|
"render": "slider",
|
|
"sliderMin": 1,
|
|
"sliderMax": 100,
|
|
"sliderUnit": "Gi"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"externalDatabase": {
|
|
"type": "object",
|
|
"title": "External Database Details",
|
|
"description": "If MariaDB is disabled. Use this section to specify the external database details",
|
|
"form": true,
|
|
"properties": {
|
|
"host": {
|
|
"type": "string",
|
|
"form": true,
|
|
"title": "Database Host"
|
|
},
|
|
"user": {
|
|
"type": "string",
|
|
"form": true,
|
|
"title": "Database Username"
|
|
},
|
|
"password": {
|
|
"type": "string",
|
|
"form": true,
|
|
"title": "Database Password"
|
|
},
|
|
"database": {
|
|
"type": "string",
|
|
"form": true,
|
|
"title": "Database Name"
|
|
},
|
|
"port": {
|
|
"type": "integer",
|
|
"form": true,
|
|
"title": "Database Port"
|
|
}
|
|
}
|
|
},
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"service": {
|
|
"type": "object",
|
|
"form": true,
|
|
"title": "Service Configuration",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"form": true,
|
|
"title": "Service Type",
|
|
"description": "Allowed values: \"ClusterIP\", \"NodePort\" and \"LoadBalancer\""
|
|
}
|
|
}
|
|
},
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"volumePermissions": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"form": true,
|
|
"title": "Enable Init Containers",
|
|
"description": "Use an init container to set required folder permissions on the data volume before mounting it in the final destination"
|
|
}
|
|
}
|
|
},
|
|
"metrics": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"title": "Enable Metrics",
|
|
"description": "Prometheus Exporter / Metrics",
|
|
"form": true
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|