24240 lines
1.8 MiB
24240 lines
1.8 MiB
{
|
|
"18.16.15": {
|
|
"healthy": true,
|
|
"supported": true,
|
|
"healthy_error": null,
|
|
"location": "/home/runner/work/catalog/catalog/stable/gitea/18.16.15",
|
|
"last_update": "2024-04-21 06:48:05",
|
|
"required_features": [
|
|
"normalize/interfaceConfiguration",
|
|
"definitions/timezone",
|
|
"definitions/certificate",
|
|
"definitions/nodeIP",
|
|
"definitions/interface"
|
|
],
|
|
"human_version": "1.21.11_18.16.15",
|
|
"version": "18.16.15",
|
|
"chart_metadata": {
|
|
"annotations": {
|
|
"max_scale_version": "24.04.0",
|
|
"min_scale_version": "23.10.0",
|
|
"truecharts.org/SCALE-support": "true",
|
|
"truecharts.org/category": "GIT",
|
|
"truecharts.org/max_helm_version": "3.14",
|
|
"truecharts.org/min_helm_version": "3.11",
|
|
"truecharts.org/train": "stable"
|
|
},
|
|
"apiVersion": "v2",
|
|
"appVersion": "1.21.11",
|
|
"dependencies": [
|
|
{
|
|
"name": "common",
|
|
"version": "20.3.11",
|
|
"repository": "oci://tccr.io/truecharts",
|
|
"condition": "",
|
|
"alias": "",
|
|
"tags": [],
|
|
"import-values": []
|
|
},
|
|
{
|
|
"name": "memcached",
|
|
"version": "12.9.7",
|
|
"repository": "oci://tccr.io/truecharts",
|
|
"condition": "memcached.enabled",
|
|
"alias": "",
|
|
"tags": [],
|
|
"import-values": []
|
|
}
|
|
],
|
|
"deprecated": false,
|
|
"description": "Self hosted GIT repositories",
|
|
"home": "https://truecharts.org/charts/stable/gitea",
|
|
"icon": "https://truecharts.org/img/hotlink-ok/chart-icons/gitea.webp",
|
|
"keywords": [
|
|
"git",
|
|
"issue tracker",
|
|
"code review",
|
|
"wiki",
|
|
"gitea",
|
|
"gogs"
|
|
],
|
|
"kubeVersion": ">=1.24.0-0",
|
|
"maintainers": [
|
|
{
|
|
"name": "TrueCharts",
|
|
"email": "info@truecharts.org",
|
|
"url": "https://truecharts.org"
|
|
}
|
|
],
|
|
"name": "gitea",
|
|
"sources": [
|
|
"https://gitea.com/gitea/helm-chart",
|
|
"https://github.com/go-gitea/gitea",
|
|
"https://github.com/truecharts/charts/tree/master/charts/stable/gitea",
|
|
"https://hub.docker.com/r/gitea/gitea"
|
|
],
|
|
"type": "application",
|
|
"version": "18.16.15"
|
|
},
|
|
"app_metadata": null,
|
|
"schema": {
|
|
"groups": [
|
|
{
|
|
"name": "Container Image",
|
|
"description": "Image to be used for container"
|
|
},
|
|
{
|
|
"name": "General Settings",
|
|
"description": "General Deployment Settings"
|
|
},
|
|
{
|
|
"name": "Workload Settings",
|
|
"description": "Workload Settings"
|
|
},
|
|
{
|
|
"name": "App Configuration",
|
|
"description": "App Specific Config Options"
|
|
},
|
|
{
|
|
"name": "Networking and Services",
|
|
"description": "Configure Network and Services for Container"
|
|
},
|
|
{
|
|
"name": "Storage and Persistence",
|
|
"description": "Persist and Share Data that is Separate from the Container"
|
|
},
|
|
{
|
|
"name": "Ingress",
|
|
"description": "Ingress Configuration"
|
|
},
|
|
{
|
|
"name": "Security and Permissions",
|
|
"description": "Configure Security Context and Permissions"
|
|
},
|
|
{
|
|
"name": "Resources and Devices",
|
|
"description": "Specify Resources/Devices to be Allocated to Workload"
|
|
},
|
|
{
|
|
"name": "Middlewares",
|
|
"description": "Traefik Middlewares"
|
|
},
|
|
{
|
|
"name": "Metrics",
|
|
"description": "Metrics"
|
|
},
|
|
{
|
|
"name": "Addons",
|
|
"description": "Addon Configuration"
|
|
},
|
|
{
|
|
"name": "Backup Configuration",
|
|
"description": "Configure Velero Backup Schedule"
|
|
},
|
|
{
|
|
"name": "Advanced",
|
|
"description": "Advanced Configuration"
|
|
},
|
|
{
|
|
"name": "Postgresql",
|
|
"description": "Postgresql"
|
|
},
|
|
{
|
|
"name": "Dependencies",
|
|
"description": "Dependencies"
|
|
},
|
|
{
|
|
"name": "Documentation",
|
|
"description": "Documentation"
|
|
}
|
|
],
|
|
"portals": {
|
|
"open": {
|
|
"protocols": [
|
|
"$kubernetes-resource_configmap_tcportal-open_protocol"
|
|
],
|
|
"host": [
|
|
"$kubernetes-resource_configmap_tcportal-open_host"
|
|
],
|
|
"ports": [
|
|
"$kubernetes-resource_configmap_tcportal-open_port"
|
|
]
|
|
}
|
|
},
|
|
"questions": [
|
|
{
|
|
"variable": "global",
|
|
"group": "General Settings",
|
|
"label": "Global Settings",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "stopAll",
|
|
"label": "Stop All",
|
|
"description": "Stops All Running pods and hibernates cnpg",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "workload",
|
|
"group": "Workload Settings",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "main",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "type",
|
|
"label": "Type (Advanced)",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "Deployment",
|
|
"enum": [
|
|
{
|
|
"value": "Deployment",
|
|
"description": "Deployment"
|
|
},
|
|
{
|
|
"value": "DaemonSet",
|
|
"description": "DaemonSet"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "replicas",
|
|
"label": "Replicas (Advanced)",
|
|
"description": "Set the number of Replicas",
|
|
"schema": {
|
|
"type": "int",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"!=",
|
|
"DaemonSet"
|
|
]
|
|
],
|
|
"default": 1
|
|
}
|
|
},
|
|
{
|
|
"variable": "podSpec",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "containers",
|
|
"label": "Containers",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "main",
|
|
"label": "Main Container",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "envList",
|
|
"label": "Extra Environment Variables",
|
|
"description": "Please be aware that some variables are set in the background, adding duplicates here might cause issues or prevent the app from starting...",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "envItem",
|
|
"label": "Environment Variable",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"variable": "value",
|
|
"label": "Value",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "extraArgs",
|
|
"label": "Extra Args",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "arg",
|
|
"label": "Arg",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "advanced",
|
|
"label": "Show Advanced Settings",
|
|
"description": "Advanced settings are not covered by TrueCharts Support",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "command",
|
|
"label": "Command",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "param",
|
|
"label": "Param",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "TZ",
|
|
"label": "Timezone",
|
|
"group": "General Settings",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "America/Los_Angeles",
|
|
"$ref": [
|
|
"definitions/timezone"
|
|
],
|
|
"enum": [
|
|
{
|
|
"value": "Asia/Damascus",
|
|
"description": "'Asia/Damascus' timezone"
|
|
},
|
|
{
|
|
"value": "Asia/Saigon",
|
|
"description": "'Asia/Saigon' timezone"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "podOptions",
|
|
"group": "General Settings",
|
|
"label": "Global Pod Options (Advanced)",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "expertPodOpts",
|
|
"label": "Expert - Pod Options",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "hostNetwork",
|
|
"label": "Host Networking",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "dnsConfig",
|
|
"label": "DNS Configuration",
|
|
"schema": {
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "options",
|
|
"label": "Options",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [
|
|
{
|
|
"name": "ndots",
|
|
"value": "1"
|
|
}
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "optionsEntry",
|
|
"label": "Option Entry",
|
|
"schema": {
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "value",
|
|
"label": "Value",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "nameservers",
|
|
"label": "Nameservers",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "nsEntry",
|
|
"label": "Nameserver Entry",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "searches",
|
|
"label": "Searches",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "searchEntry",
|
|
"label": "Search Entry",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "imagePullSecretList",
|
|
"group": "General Settings",
|
|
"label": "Image Pull Secrets",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "pullsecretentry",
|
|
"label": "Pull Secret",
|
|
"schema": {
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "data",
|
|
"label": "Data",
|
|
"schema": {
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "registry",
|
|
"label": "Registry",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "https://index.docker.io/v1/"
|
|
}
|
|
},
|
|
{
|
|
"variable": "username",
|
|
"label": "Username",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "password",
|
|
"label": "Password",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"private": true,
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "email",
|
|
"label": "Email",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "admin",
|
|
"group": "App Configuration",
|
|
"label": "Admin Credentials",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "username",
|
|
"label": "username",
|
|
"schema": {
|
|
"type": "string",
|
|
"valid_chars": "^(?!^admin$).*$",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "password",
|
|
"label": "password",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"private": true,
|
|
"min_length": 8
|
|
}
|
|
},
|
|
{
|
|
"variable": "email",
|
|
"label": "email",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "config",
|
|
"group": "App Configuration",
|
|
"label": "Admin Configuration",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "APP_NAME",
|
|
"label": "APP_NAME",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "Gitea",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "RUN_MODE",
|
|
"label": "RUN_MODE",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "prod",
|
|
"enum": [
|
|
{
|
|
"value": "prod",
|
|
"description": "Production"
|
|
},
|
|
{
|
|
"value": "dev",
|
|
"description": "Development"
|
|
},
|
|
{
|
|
"value": "test",
|
|
"description": "Testing"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ALLOWED_HOST_LIST",
|
|
"label": "ALLOWED_HOST_LIST",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "127.0.0.1",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "nodeIP",
|
|
"label": "Node IP",
|
|
"description": "Used to generate configuration, when installed without ingress",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"$ref": [
|
|
"definitions/nodeIP"
|
|
],
|
|
"default": "192.168.0.10"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "customConfig",
|
|
"group": "App Configuration",
|
|
"label": "Custom Configuration parameters",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "catagoryItem",
|
|
"label": "Category",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Config Category Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "keys",
|
|
"label": "Configuration Parameters",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "configItem",
|
|
"label": "parameter",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Parameter Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "value",
|
|
"label": "Parameter Value",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "service",
|
|
"group": "Networking and Services",
|
|
"label": "Configure Service(s)",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "main",
|
|
"label": "Main Service",
|
|
"description": "The Primary service on which the healthcheck runs, often the webUI",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enable the Service",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"hidden": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "type",
|
|
"label": "Service Type",
|
|
"description": "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "LoadBalancer",
|
|
"enum": [
|
|
{
|
|
"value": "LoadBalancer",
|
|
"description": "LoadBalancer (Expose Ports)"
|
|
},
|
|
{
|
|
"value": "ClusterIP",
|
|
"description": "ClusterIP (Do Not Expose Ports)"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "loadBalancerIP",
|
|
"label": "LoadBalancer IP",
|
|
"description": "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"LoadBalancer"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "ports",
|
|
"label": "Service's Port(s) Configuration",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "main",
|
|
"label": "Main Service Port Configuration",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "port",
|
|
"label": "Port",
|
|
"description": "This port exposes the container port on the service",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 10037,
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ssh",
|
|
"label": "SSH Service",
|
|
"description": "The SSH service",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enable the Service",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"hidden": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "type",
|
|
"label": "Service Type",
|
|
"description": "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "LoadBalancer",
|
|
"enum": [
|
|
{
|
|
"value": "LoadBalancer",
|
|
"description": "LoadBalancer (Expose Ports)"
|
|
},
|
|
{
|
|
"value": "ClusterIP",
|
|
"description": "ClusterIP (Do Not Expose Ports)"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "loadBalancerIP",
|
|
"label": "LoadBalancer IP",
|
|
"description": "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"LoadBalancer"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "ports",
|
|
"label": "Service's Port(s) Configuration",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "ssh",
|
|
"label": "SSH Service Port Configuration",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "port",
|
|
"label": "Port",
|
|
"description": "This port exposes the container port on the service",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 2222,
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "serviceexpert",
|
|
"group": "Networking and Services",
|
|
"label": "Show Expert Config",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "scaleExternalInterface",
|
|
"description": "Add External Interfaces",
|
|
"label": "Add external Interfaces",
|
|
"group": "Networking",
|
|
"schema": {
|
|
"type": "list",
|
|
"items": [
|
|
{
|
|
"variable": "interfaceConfiguration",
|
|
"description": "Interface Configuration",
|
|
"label": "Interface Configuration",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"$ref": [
|
|
"normalize/interfaceConfiguration"
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "hostInterface",
|
|
"description": "Please Specify Host Interface",
|
|
"label": "Host Interface",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"$ref": [
|
|
"definitions/interface"
|
|
],
|
|
"enum": []
|
|
}
|
|
},
|
|
{
|
|
"variable": "ipam",
|
|
"description": "Define how IP Address will be managed",
|
|
"label": "IP Address Management",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"required": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "type",
|
|
"description": "Specify type for IPAM",
|
|
"label": "IPAM Type",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"enum": [
|
|
{
|
|
"value": "dhcp",
|
|
"description": "Use DHCP"
|
|
},
|
|
{
|
|
"value": "static",
|
|
"description": "Use Static IP"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "staticIPConfigurations",
|
|
"label": "Static IP Addresses",
|
|
"schema": {
|
|
"type": "list",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"static"
|
|
]
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "staticIP",
|
|
"label": "Static IP",
|
|
"schema": {
|
|
"type": "ipaddr",
|
|
"cidr": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "staticRoutes",
|
|
"label": "Static Routes",
|
|
"schema": {
|
|
"type": "list",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"static"
|
|
]
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "staticRouteConfiguration",
|
|
"label": "Static Route Configuration",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "destination",
|
|
"label": "Destination",
|
|
"schema": {
|
|
"type": "ipaddr",
|
|
"cidr": true,
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "gateway",
|
|
"label": "Gateway",
|
|
"schema": {
|
|
"type": "ipaddr",
|
|
"cidr": false,
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "serviceList",
|
|
"label": "Add Manual Custom Services",
|
|
"group": "Networking and Services",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "serviceListEntry",
|
|
"label": "Custom Service",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enable the service",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"hidden": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "type",
|
|
"label": "Service Type",
|
|
"description": "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "LoadBalancer",
|
|
"enum": [
|
|
{
|
|
"value": "LoadBalancer",
|
|
"description": "LoadBalancer (Expose Ports)"
|
|
},
|
|
{
|
|
"value": "ClusterIP",
|
|
"description": "ClusterIP (Do Not Expose Ports)"
|
|
},
|
|
{
|
|
"value": "Simple",
|
|
"description": "Deprecated CHANGE THIS"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "loadBalancerIP",
|
|
"label": "LoadBalancer IP",
|
|
"description": "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"LoadBalancer"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "advancedsvcset",
|
|
"label": "Show Advanced Service Settings",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "externalIPs",
|
|
"label": "External IP's",
|
|
"description": "External IP's",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "externalIP",
|
|
"label": "External IP",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ipFamilyPolicy",
|
|
"label": "IP Family Policy",
|
|
"description": "Specify the IP Policy",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "SingleStack",
|
|
"enum": [
|
|
{
|
|
"value": "SingleStack",
|
|
"description": "SingleStack"
|
|
},
|
|
{
|
|
"value": "PreferDualStack",
|
|
"description": "PreferDualStack"
|
|
},
|
|
{
|
|
"value": "RequireDualStack",
|
|
"description": "RequireDualStack"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ipFamilies",
|
|
"label": "IP Families",
|
|
"description": "(Advanced) The IP Families that should be used",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "ipFamily",
|
|
"label": "IP Family",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "portsList",
|
|
"label": "Additional Service Ports",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "portsListEntry",
|
|
"label": "Custom ports",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enable the Port",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"hidden": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "name",
|
|
"label": "Port Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "protocol",
|
|
"label": "Port Type",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "tcp",
|
|
"enum": [
|
|
{
|
|
"value": "http",
|
|
"description": "HTTP"
|
|
},
|
|
{
|
|
"value": "https",
|
|
"description": "HTTPS"
|
|
},
|
|
{
|
|
"value": "tcp",
|
|
"description": "TCP"
|
|
},
|
|
{
|
|
"value": "udp",
|
|
"description": "UDP"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "targetPort",
|
|
"label": "Target Port",
|
|
"description": "This port exposes the container port on the service",
|
|
"schema": {
|
|
"type": "int",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "port",
|
|
"label": "Container Port",
|
|
"schema": {
|
|
"type": "int",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "persistence",
|
|
"label": "Integrated Persistent Storage",
|
|
"description": "Integrated Persistent Storage",
|
|
"group": "Storage and Persistence",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "data",
|
|
"label": "App data Storage",
|
|
"description": "Stores the Application Configuration.",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "type",
|
|
"label": "Type of Storage",
|
|
"description": "Sets the persistence type, Anything other than PVC could break rollback!",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "pvc",
|
|
"enum": [
|
|
{
|
|
"value": "pvc",
|
|
"description": "PVC"
|
|
},
|
|
{
|
|
"value": "hostPath",
|
|
"description": "Host Path"
|
|
},
|
|
{
|
|
"value": "emptyDir",
|
|
"description": "emptyDir"
|
|
},
|
|
{
|
|
"value": "nfs",
|
|
"description": "NFS Share"
|
|
},
|
|
{
|
|
"value": "iscsi",
|
|
"description": "iSCSI Share"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "server",
|
|
"label": "NFS Server",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"nfs"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "path",
|
|
"label": "Path on NFS Server",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"nfs"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "iscsi",
|
|
"label": "iSCSI Options",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"iscsi"
|
|
]
|
|
],
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "targetPortal",
|
|
"label": "targetPortal",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "iqn",
|
|
"label": "iqn",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "lun",
|
|
"label": "lun",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 0
|
|
}
|
|
},
|
|
{
|
|
"variable": "authSession",
|
|
"label": "authSession",
|
|
"schema": {
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "username",
|
|
"label": "username",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "password",
|
|
"label": "password",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "usernameInitiator",
|
|
"label": "usernameInitiator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "passwordInitiator",
|
|
"label": "passwordInitiator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "authDiscovery",
|
|
"label": "authDiscovery",
|
|
"schema": {
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "username",
|
|
"label": "username",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "password",
|
|
"label": "password",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "usernameInitiator",
|
|
"label": "usernameInitiator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "passwordInitiator",
|
|
"label": "passwordInitiator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "autoPermissions",
|
|
"label": "Automatic Permissions Configuration",
|
|
"description": "Automatically set permissions",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"!=",
|
|
"pvc"
|
|
]
|
|
],
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "chown",
|
|
"label": "Run CHOWN",
|
|
"description": "It will run CHOWN on the path with the given fsGroup\n",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "chmod",
|
|
"label": "Run CHMOD",
|
|
"description": "It will run CHMOD on the path with the given value</br>\nFormat should be 3 digits, e.g. 770\n",
|
|
"schema": {
|
|
"type": "string",
|
|
"valid_chars": "[0-9]{3}",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "recursive",
|
|
"label": "Recursive",
|
|
"description": "It will run CHOWN and CHMOD recursively\n",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "readOnly",
|
|
"label": "Read Only",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "hostPath",
|
|
"label": "Host Path",
|
|
"description": "Path inside the container the storage is mounted",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"hostPath"
|
|
]
|
|
],
|
|
"type": "hostpath"
|
|
}
|
|
},
|
|
{
|
|
"variable": "medium",
|
|
"label": "EmptyDir Medium",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"emptyDir"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": "",
|
|
"enum": [
|
|
{
|
|
"value": "",
|
|
"description": "Default"
|
|
},
|
|
{
|
|
"value": "Memory",
|
|
"description": "Memory"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "size",
|
|
"label": "Size quotum of Storage (Do NOT REDUCE after installation)",
|
|
"description": "This value can ONLY be INCREASED after the installation",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"pvc"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": "256Gi"
|
|
}
|
|
},
|
|
{
|
|
"variable": "storageClass",
|
|
"label": "storageClass (Advanced)",
|
|
"description": "sets the storageClass to something other than iX default. Only for advanced usecases!",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"pvc"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "static",
|
|
"label": "Static Fixed PVC Bindings (Experimental)",
|
|
"description": "Link a PVC to a specific storage location",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"pvc"
|
|
]
|
|
],
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "mode",
|
|
"label": "mode",
|
|
"description": "disabled: use normal dynamic PVCs\nsmb: connect to an SMB share\nnfs: connect to an NFS share\n",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "disabled",
|
|
"enum": [
|
|
{
|
|
"value": "disabled",
|
|
"description": "disabled"
|
|
},
|
|
{
|
|
"value": "smb",
|
|
"description": "smb"
|
|
},
|
|
{
|
|
"value": "nfs",
|
|
"description": "nfs"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "server",
|
|
"label": "Server",
|
|
"description": "server to connect to",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"mode",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": "myserver"
|
|
}
|
|
},
|
|
{
|
|
"variable": "share",
|
|
"label": "Share",
|
|
"description": "share to connect to",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"mode",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": "/myshare"
|
|
}
|
|
},
|
|
{
|
|
"variable": "user",
|
|
"label": "User",
|
|
"description": "connecting user",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"mode",
|
|
"=",
|
|
"smb"
|
|
]
|
|
],
|
|
"default": "myuser"
|
|
}
|
|
},
|
|
{
|
|
"variable": "domain",
|
|
"label": "Domain",
|
|
"description": "user domain",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"mode",
|
|
"=",
|
|
"smb"
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "password",
|
|
"label": "Password",
|
|
"description": "connecting password",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"mode",
|
|
"=",
|
|
"smb"
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "volumeSnapshots",
|
|
"label": "Volume Snapshots (Experimental)",
|
|
"description": "Add an entry to the list to force creation of a volumeSnapshot of this PVC",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"pvc"
|
|
]
|
|
],
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "volumeSnapshotEntry",
|
|
"label": "Custom volumeSnapshot",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"description": "WARNING: renaming this, means deletion of the snapshot with the old name!",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "mysnapshot",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "volumeSnapshotClassName",
|
|
"label": "volumeSnapshot Class Name (Advanced)",
|
|
"description": "For use with PVCs using a non-default storageClass",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "persistenceList",
|
|
"label": "Additional App Storage",
|
|
"group": "Storage and Persistence",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "persistenceListEntry",
|
|
"label": "Custom Storage",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enable the storage",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"hidden": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "type",
|
|
"label": "Type of Storage",
|
|
"description": "Sets the persistence type, Anything other than PVC could break rollback!",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "hostPath",
|
|
"enum": [
|
|
{
|
|
"value": "pvc",
|
|
"description": "PVC"
|
|
},
|
|
{
|
|
"value": "hostPath",
|
|
"description": "Host Path"
|
|
},
|
|
{
|
|
"value": "emptyDir",
|
|
"description": "emptyDir"
|
|
},
|
|
{
|
|
"value": "nfs",
|
|
"description": "NFS Share"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "server",
|
|
"label": "NFS Server",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"nfs"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "path",
|
|
"label": "Path on NFS Server",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"nfs"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "iscsi",
|
|
"label": "iSCSI Options",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"iscsi"
|
|
]
|
|
],
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "targetPortal",
|
|
"label": "targetPortal",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "iqn",
|
|
"label": "iqn",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "lun",
|
|
"label": "lun",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 0
|
|
}
|
|
},
|
|
{
|
|
"variable": "authSession",
|
|
"label": "authSession",
|
|
"schema": {
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "username",
|
|
"label": "username",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "password",
|
|
"label": "password",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "usernameInitiator",
|
|
"label": "usernameInitiator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "passwordInitiator",
|
|
"label": "passwordInitiator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "authDiscovery",
|
|
"label": "authDiscovery",
|
|
"schema": {
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "username",
|
|
"label": "username",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "password",
|
|
"label": "password",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "usernameInitiator",
|
|
"label": "usernameInitiator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "passwordInitiator",
|
|
"label": "passwordInitiator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "autoPermissions",
|
|
"label": "Automatic Permissions Configuration",
|
|
"description": "Automatically set permissions",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"!=",
|
|
"pvc"
|
|
]
|
|
],
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "chown",
|
|
"label": "Run CHOWN",
|
|
"description": "It will run CHOWN on the path with the given fsGroup\n",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "chmod",
|
|
"label": "Run CHMOD",
|
|
"description": "It will run CHMOD on the path with the given value</br>\nFormat should be 3 digits, e.g. 770\n",
|
|
"schema": {
|
|
"type": "string",
|
|
"valid_chars": "[0-9]{3}",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "recursive",
|
|
"label": "Recursive",
|
|
"description": "It will run CHOWN and CHMOD recursively\n",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "readOnly",
|
|
"label": "Read Only",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "hostPath",
|
|
"label": "Host Path",
|
|
"description": "Path inside the container the storage is mounted",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"hostPath"
|
|
]
|
|
],
|
|
"type": "hostpath"
|
|
}
|
|
},
|
|
{
|
|
"variable": "mountPath",
|
|
"label": "Mount Path",
|
|
"description": "Path inside the container the storage is mounted",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true,
|
|
"valid_chars": "^\\/([a-zA-Z0-9._-]+(\\s?[a-zA-Z0-9._-]+|\\/?))+$"
|
|
}
|
|
},
|
|
{
|
|
"variable": "medium",
|
|
"label": "EmptyDir Medium",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"emptyDir"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": "",
|
|
"enum": [
|
|
{
|
|
"value": "",
|
|
"description": "Default"
|
|
},
|
|
{
|
|
"value": "Memory",
|
|
"description": "Memory"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "size",
|
|
"label": "Size Quotum of Storage",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"pvc"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": "256Gi"
|
|
}
|
|
},
|
|
{
|
|
"variable": "storageClass",
|
|
"label": "storageClass (Advanced)",
|
|
"description": "sets the storageClass to something other than iX default. Only for advanced usecases!",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"pvc"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "static",
|
|
"label": "Static Fixed PVC Bindings (Experimental)",
|
|
"description": "Link a PVC to a specific storage location",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"pvc"
|
|
]
|
|
],
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "mode",
|
|
"label": "mode",
|
|
"description": "disabled: use normal dynamic PVCs\nsmb: connect to an SMB share\nnfs: connect to an NFS share\n",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "disabled",
|
|
"enum": [
|
|
{
|
|
"value": "disabled",
|
|
"description": "disabled"
|
|
},
|
|
{
|
|
"value": "smb",
|
|
"description": "smb"
|
|
},
|
|
{
|
|
"value": "nfs",
|
|
"description": "nfs"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "server",
|
|
"label": "Server",
|
|
"description": "server to connect to",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"mode",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": "myserver"
|
|
}
|
|
},
|
|
{
|
|
"variable": "share",
|
|
"label": "Share",
|
|
"description": "share to connect to",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"mode",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": "/myshare"
|
|
}
|
|
},
|
|
{
|
|
"variable": "user",
|
|
"label": "User",
|
|
"description": "connecting user",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"mode",
|
|
"=",
|
|
"smb"
|
|
]
|
|
],
|
|
"default": "myuser"
|
|
}
|
|
},
|
|
{
|
|
"variable": "domain",
|
|
"label": "Domain",
|
|
"description": "user domain",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"mode",
|
|
"=",
|
|
"smb"
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "password",
|
|
"label": "Password",
|
|
"description": "connecting password",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"mode",
|
|
"=",
|
|
"smb"
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "volumeSnapshots",
|
|
"label": "Volume Snapshots (Experimental)",
|
|
"description": "Add an entry to the list to force creation of a volumeSnapshot of this PVC",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"pvc"
|
|
]
|
|
],
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "volumeSnapshotEntry",
|
|
"label": "Custom volumeSnapshot",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"description": "WARNING: renaming this, means deletion of the snapshot with the old name!",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "mysnapshot",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "volumeSnapshotClassName",
|
|
"label": "volumeSnapshot Class Name (Advanced)",
|
|
"description": "For use with PVCs using a non-default storageClass",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ingress",
|
|
"label": "",
|
|
"group": "Ingress",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "main",
|
|
"label": "Main Ingress",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enable Ingress",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "hosts",
|
|
"label": "Hosts",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "hostEntry",
|
|
"label": "Host",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "host",
|
|
"label": "HostName",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "paths",
|
|
"label": "Paths",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [
|
|
{
|
|
"path": "/",
|
|
"pathType": "Prefix"
|
|
}
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "pathEntry",
|
|
"label": "Host",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "path",
|
|
"label": "Path",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "/"
|
|
}
|
|
},
|
|
{
|
|
"variable": "pathType",
|
|
"label": "Path Type",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "Prefix"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "integrations",
|
|
"label": "Integrations",
|
|
"description": "Connect ingress with other charts",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "traefik",
|
|
"label": "Traefik",
|
|
"description": "Connect ingress with Traefik",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "allowCors",
|
|
"label": "Allow Cross Origin Requests (advanced)",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "entrypoints",
|
|
"label": "Entrypoints",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [
|
|
"websecure"
|
|
],
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "entrypoint",
|
|
"label": "Entrypoint",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "middlewares",
|
|
"label": "Middlewares",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "middleware",
|
|
"label": "Middleware",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "name",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "namespace",
|
|
"label": "namespace (optional)",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "certManager",
|
|
"label": "certManager",
|
|
"description": "Connect ingress with certManager",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "certificateIssuer",
|
|
"label": "certificateIssuer",
|
|
"description": "defaults to chartname",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "homepage",
|
|
"label": "Homepage",
|
|
"description": "Connect ingress with Homepage",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "name",
|
|
"label": "Name (Optional)",
|
|
"description": "Defaults to chart name",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "description",
|
|
"label": "Description (Optional)",
|
|
"description": "Defaults to chart description",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "icon",
|
|
"label": "Icon (Optional)",
|
|
"description": "Defaults to chart icon",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "group",
|
|
"label": "Group",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "default",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "widget",
|
|
"label": "Widget Settings",
|
|
"schema": {
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enable Widget",
|
|
"description": "When disabled all widget annotations are skipped.",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "custom",
|
|
"label": "Options",
|
|
"schema": {
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "key",
|
|
"label": "API-key (key)",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "customkv",
|
|
"label": "Custom Options",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "option",
|
|
"label": "Option",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "key",
|
|
"label": "Key",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "value",
|
|
"label": "Value",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "advanced",
|
|
"label": "Show Advanced Settings",
|
|
"description": "Advanced settings are not covered by TrueCharts Support",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "ingressClassName",
|
|
"label": "(Advanced/Optional) IngressClass Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"advanced",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "tls",
|
|
"label": "TLS-Settings",
|
|
"schema": {
|
|
"type": "list",
|
|
"show_if": [
|
|
[
|
|
"advanced",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "tlsEntry",
|
|
"label": "Host",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "hosts",
|
|
"label": "Certificate Hosts",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "host",
|
|
"label": "Host",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "certificateIssuer",
|
|
"label": "Use Cert-Manager clusterIssuer",
|
|
"description": "add the name of your cert-manager clusterIssuer here for automatic tls certificates.",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "clusterCertificate",
|
|
"label": "Cluster Certificate (Advanced)",
|
|
"description": "Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"certificateIssuer",
|
|
"=",
|
|
""
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "secretName",
|
|
"label": "Use Custom Certificate Secret (Advanced)",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"certificateIssuer",
|
|
"=",
|
|
""
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ingressList",
|
|
"label": "Add Manual Custom Ingresses",
|
|
"group": "Ingress",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "ingressListEntry",
|
|
"label": "Custom Ingress",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enable Ingress",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"hidden": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "ingressClassName",
|
|
"label": "IngressClass Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "hosts",
|
|
"label": "Hosts",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "hostEntry",
|
|
"label": "Host",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "host",
|
|
"label": "HostName",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "paths",
|
|
"label": "Paths",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "pathEntry",
|
|
"label": "Host",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "path",
|
|
"label": "Path",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "/"
|
|
}
|
|
},
|
|
{
|
|
"variable": "pathType",
|
|
"label": "Path Type",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "Prefix"
|
|
}
|
|
},
|
|
{
|
|
"variable": "overrideService",
|
|
"label": "Linked Service",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Service Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "port",
|
|
"label": "Service Port",
|
|
"schema": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "tls",
|
|
"label": "TLS-Settings",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"show_if": [
|
|
[
|
|
"certificateIssuer",
|
|
"=",
|
|
""
|
|
]
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "tlsEntry",
|
|
"label": "Host",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "hosts",
|
|
"label": "Certificate Hosts",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "host",
|
|
"label": "Host",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "certificateIssuer",
|
|
"label": "Use Cert-Manager clusterIssuer",
|
|
"description": "add the name of your Cert-Manager clusterIssuer here for automatic tls certificates.",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "clusterCertificate",
|
|
"label": "Cluster Certificate (Advanced)",
|
|
"description": "Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"certificateIssuer",
|
|
"=",
|
|
""
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "secretName",
|
|
"label": "Use Custom Secret (Advanced)",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"certificateIssuer",
|
|
"=",
|
|
""
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "integrations",
|
|
"label": "Integrations",
|
|
"description": "Connect ingress with other charts",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "traefik",
|
|
"label": "Traefik",
|
|
"description": "Connect ingress with Traefik",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "allowCors",
|
|
"label": "Allow Cross Origin Requests",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "entrypoints",
|
|
"label": "Entrypoints",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [
|
|
"websecure"
|
|
],
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "entrypoint",
|
|
"label": "Entrypoint",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "middlewares",
|
|
"label": "Middlewares",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "middleware",
|
|
"label": "Middleware",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "name",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "namespace",
|
|
"label": "namespace",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "certManager",
|
|
"label": "certManager",
|
|
"description": "Connect ingress with certManager",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "certificateIssuer",
|
|
"label": "certificateIssuer",
|
|
"description": "defaults to chartname",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "homepage",
|
|
"label": "Homepage",
|
|
"description": "Connect ingress with Homepage",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"description": "defaults to chartname",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "description",
|
|
"label": "Description",
|
|
"description": "defaults to chart description",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "group",
|
|
"label": "Group",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "default",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "securityContext",
|
|
"group": "Security and Permissions",
|
|
"label": "Security Context",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "container",
|
|
"label": "Container",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "runAsUser",
|
|
"label": "runAsUser",
|
|
"description": "The UserID of the user running the application",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 1000
|
|
}
|
|
},
|
|
{
|
|
"variable": "runAsGroup",
|
|
"label": "runAsGroup",
|
|
"description": "The groupID of the user running the application",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 1000
|
|
}
|
|
},
|
|
{
|
|
"variable": "PUID",
|
|
"label": "Process User ID - PUID",
|
|
"description": "When supported by the container, this sets the User ID running the Application Process. Not supported by all Apps",
|
|
"schema": {
|
|
"type": "int",
|
|
"show_if": [
|
|
[
|
|
"runAsUser",
|
|
"=",
|
|
0
|
|
]
|
|
],
|
|
"default": 568
|
|
}
|
|
},
|
|
{
|
|
"variable": "UMASK",
|
|
"label": "UMASK",
|
|
"description": "When supported by the container, this sets the UMASK for the App. Not supported by all Apps",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "0022"
|
|
}
|
|
},
|
|
{
|
|
"variable": "advanced",
|
|
"label": "Show Advanced Settings",
|
|
"description": "Advanced settings are not covered by TrueCharts Support",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "privileged",
|
|
"label": "Privileged mode",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "readOnlyRootFilesystem",
|
|
"label": "ReadOnly Root Filesystem",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "pod",
|
|
"label": "Pod",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "fsGroupChangePolicy",
|
|
"label": "When should we take ownership?",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "OnRootMismatch",
|
|
"enum": [
|
|
{
|
|
"value": "OnRootMismatch",
|
|
"description": "OnRootMismatch"
|
|
},
|
|
{
|
|
"value": "Always",
|
|
"description": "Always"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "supplementalGroups",
|
|
"label": "Supplemental Groups",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "supplementalGroupsEntry",
|
|
"label": "Supplemental Group",
|
|
"schema": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "fsGroup",
|
|
"label": "fsGroup",
|
|
"description": "The group that should own ALL storage.",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 1000
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "resources",
|
|
"group": "Resources and Devices",
|
|
"label": "Resource Limits",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "limits",
|
|
"label": "Advanced Limit Resource Consumption",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "cpu",
|
|
"label": "CPU",
|
|
"description": "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/SCALE/validation",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "4000m",
|
|
"valid_chars": "^(?!^0(\\.0|m|)$)([0-9]+)(\\.[0-9]|m?)$"
|
|
}
|
|
},
|
|
{
|
|
"variable": "memory",
|
|
"label": "RAM",
|
|
"description": "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/SCALE/validation",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "8Gi",
|
|
"valid_chars": "^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$"
|
|
}
|
|
},
|
|
{
|
|
"variable": "gpu.intel.com/i915",
|
|
"label": "Add Intel i915 GPUs",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 0
|
|
}
|
|
},
|
|
{
|
|
"variable": "nvidia.com/gpu",
|
|
"label": "Add NVIDIA GPUs (Experimental)",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 0
|
|
}
|
|
},
|
|
{
|
|
"variable": "amd.com/gpu",
|
|
"label": "Add AMD GPUs",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 0
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "requests",
|
|
"label": "Minimum Resources Required (request)",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"hidden": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "cpu",
|
|
"label": "CPU",
|
|
"description": "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/SCALE/validation",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "10m",
|
|
"hidden": true,
|
|
"valid_chars": "^(?!^0(\\.0|m|)$)([0-9]+)(\\.[0-9]|m?)$"
|
|
}
|
|
},
|
|
{
|
|
"variable": "memory",
|
|
"label": "RAM",
|
|
"description": "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/SCALE/validation",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "50Mi",
|
|
"hidden": true,
|
|
"valid_chars": "^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "deviceList",
|
|
"label": "Mount USB Devices",
|
|
"group": "Resources and Devices",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "deviceListEntry",
|
|
"label": "Device",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enable the Storage",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "type",
|
|
"label": "(Advanced) Type of Storage",
|
|
"description": "Sets the persistence type",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "device",
|
|
"hidden": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "readOnly",
|
|
"label": "readOnly",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "hostPath",
|
|
"label": "Host Device Path",
|
|
"description": "Path to the device on the host system",
|
|
"schema": {
|
|
"type": "path"
|
|
}
|
|
},
|
|
{
|
|
"variable": "mountPath",
|
|
"label": "Container Device Path",
|
|
"description": "Path inside the container the device is mounted",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "/dev/ttyACM0"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "cnpg",
|
|
"group": "Postgresql",
|
|
"label": "CloudNative-PG (CNPG)",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "main",
|
|
"label": "Main Postgresql Database",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "hibernate",
|
|
"label": "Hibernate",
|
|
"description": "enable to safely hibernate and shutdown the postgresql cluster",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "mode",
|
|
"label": "Mode",
|
|
"description": "Cluster mode of operation. Available modes: standalone - default mode. Creates new or updates an existing CNPG cluster. recovery - Same as standalone but creates a cluster from a backup, object store or via pg_basebackup replica - Creates a replica cluster from an existing CNPG cluster. # TODO.",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "standalone",
|
|
"enum": [
|
|
{
|
|
"value": "standalone",
|
|
"description": "standalone"
|
|
},
|
|
{
|
|
"value": "replica",
|
|
"description": "replica"
|
|
},
|
|
{
|
|
"value": "recovery",
|
|
"description": "recovery"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "pgVersion",
|
|
"label": "Postgres Version",
|
|
"description": "Set the Postgresql version used",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 16,
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "password",
|
|
"label": "Password",
|
|
"description": "Set the password for the database-user",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "PLACEHOLDERPASSWORD",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "cluster",
|
|
"label": "Cluster Settings",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "instances",
|
|
"label": "Instances",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 1
|
|
}
|
|
},
|
|
{
|
|
"variable": "singleNode",
|
|
"label": "singleNode",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"hidden": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "storage",
|
|
"label": "Storage",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "size",
|
|
"label": "Size",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "256Gi"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "walStorage",
|
|
"label": "WAL Storage",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "size",
|
|
"label": "Size",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "256Gi"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "monitoring",
|
|
"label": "Monitoring Settings",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enablePodMonitor",
|
|
"label": "enablePodMonitor",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "disableDefaultQueries",
|
|
"label": "disableDefaultQueries",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "pooler",
|
|
"label": "Pooler Settings",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "instances",
|
|
"label": "Instances",
|
|
"schema": {
|
|
"type": "int",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": 1
|
|
}
|
|
},
|
|
{
|
|
"variable": "createRO",
|
|
"label": "Create ReadOnly Instance",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": false
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "backups",
|
|
"label": "Backup Settings (Experimental)",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "serverName",
|
|
"label": "serverName",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "revision",
|
|
"label": "revision",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "endpointURL",
|
|
"label": "endpointURL",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "destinationPath",
|
|
"label": "destinationPath",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "retentionPolicy",
|
|
"label": "retentionPolicy",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": "30d"
|
|
}
|
|
},
|
|
{
|
|
"variable": "provider",
|
|
"label": "provider",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": "s3",
|
|
"enum": [
|
|
{
|
|
"value": "s3",
|
|
"description": "S3"
|
|
},
|
|
{
|
|
"value": "azure",
|
|
"description": "Azure"
|
|
},
|
|
{
|
|
"value": "google",
|
|
"description": "Google"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "s3",
|
|
"label": "s3",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"provider",
|
|
"=",
|
|
"s3"
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "region",
|
|
"label": "region",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "bucket",
|
|
"label": "bucket",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "path",
|
|
"label": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "/"
|
|
}
|
|
},
|
|
{
|
|
"variable": "accessKey",
|
|
"label": "accessKey",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "secretKey",
|
|
"label": "secretKey",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "azure",
|
|
"label": "azure (EXTREMELY EXPERIMENTAL)",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"provider",
|
|
"=",
|
|
"azure"
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "path",
|
|
"label": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "/"
|
|
}
|
|
},
|
|
{
|
|
"variable": "connectionString",
|
|
"label": "connectionString",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "storageAccount",
|
|
"label": "storageAccount",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "storageKey",
|
|
"label": "storageKey",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "storageSasToken",
|
|
"label": "storageSasToken",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "containerName",
|
|
"label": "containerName",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "serviceName",
|
|
"label": "serviceName",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "blob"
|
|
}
|
|
},
|
|
{
|
|
"variable": "inheritFromAzureAD",
|
|
"label": "inheritFromAzureAD",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "google",
|
|
"label": "google (EXTREMELY EXPERIMENTAL)",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"provider",
|
|
"=",
|
|
"google"
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "path",
|
|
"label": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "/"
|
|
}
|
|
},
|
|
{
|
|
"variable": "bucket",
|
|
"label": "bucket",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "gkeEnvironment",
|
|
"label": "gkeEnvironment",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "applicationCredentials",
|
|
"label": "applicationCredentials",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "recovery",
|
|
"label": "Recovery Settings (Experimental)",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "serverName",
|
|
"label": "serverName",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "revision",
|
|
"label": "revision",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "endpointURL",
|
|
"label": "endpointURL",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "method",
|
|
"label": "method",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": "object_store"
|
|
}
|
|
},
|
|
{
|
|
"variable": "backupName",
|
|
"label": "backupName",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "provider",
|
|
"label": "provider",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": "s3",
|
|
"enum": [
|
|
{
|
|
"value": "s3",
|
|
"description": "S3"
|
|
},
|
|
{
|
|
"value": "azure",
|
|
"description": "Azure"
|
|
},
|
|
{
|
|
"value": "google",
|
|
"description": "Google"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "s3",
|
|
"label": "s3",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"provider",
|
|
"=",
|
|
"s3"
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "region",
|
|
"label": "region",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "bucket",
|
|
"label": "bucket",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "path",
|
|
"label": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "/"
|
|
}
|
|
},
|
|
{
|
|
"variable": "accessKey",
|
|
"label": "accessKey",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "secretKey",
|
|
"label": "secretKey",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "azure",
|
|
"label": "azure (EXTREMELY EXPERIMENTAL)",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"provider",
|
|
"=",
|
|
"azure"
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "path",
|
|
"label": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "/"
|
|
}
|
|
},
|
|
{
|
|
"variable": "connectionString",
|
|
"label": "connectionString",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "storageAccount",
|
|
"label": "storageAccount",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "storageKey",
|
|
"label": "storageKey",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "storageSasToken",
|
|
"label": "storageSasToken",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "containerName",
|
|
"label": "containerName",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "serviceName",
|
|
"label": "serviceName",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "blob"
|
|
}
|
|
},
|
|
{
|
|
"variable": "inheritFromAzureAD",
|
|
"label": "inheritFromAzureAD",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "google",
|
|
"label": "google (EXTREMELY EXPERIMENTAL)",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"provider",
|
|
"=",
|
|
"google"
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "path",
|
|
"label": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "/"
|
|
}
|
|
},
|
|
{
|
|
"variable": "bucket",
|
|
"label": "bucket",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "gkeEnvironment",
|
|
"label": "gkeEnvironment",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "applicationCredentials",
|
|
"label": "applicationCredentials",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "networkPolicy",
|
|
"group": "Advanced",
|
|
"label": "(Advanced) Network Policy",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "netPolicyEntry",
|
|
"label": "Network Policy Entry",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "policyType",
|
|
"label": "Policy Type",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"enum": [
|
|
{
|
|
"value": "",
|
|
"description": "Default"
|
|
},
|
|
{
|
|
"value": "ingress",
|
|
"description": "Ingress"
|
|
},
|
|
{
|
|
"value": "egress",
|
|
"description": "Egress"
|
|
},
|
|
{
|
|
"value": "ingress-egress",
|
|
"description": "Ingress and Egress"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "egress",
|
|
"label": "Egress",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "egressEntry",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "to",
|
|
"label": "To",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "toEntry",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "ipBlock",
|
|
"label": "IP Block",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "cidr",
|
|
"label": "CIDR",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "except",
|
|
"label": "Except",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "exceptint",
|
|
"label": "",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "namespaceSelector",
|
|
"label": "Namespace Selector",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "matchExpressions",
|
|
"label": "Match Expressions",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "expressionEntry",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "key",
|
|
"label": "Key",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"variable": "operator",
|
|
"label": "Operator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "TCP",
|
|
"enum": [
|
|
{
|
|
"value": "In",
|
|
"description": "In"
|
|
},
|
|
{
|
|
"value": "NotIn",
|
|
"description": "NotIn"
|
|
},
|
|
{
|
|
"value": "Exists",
|
|
"description": "Exists"
|
|
},
|
|
{
|
|
"value": "DoesNotExist",
|
|
"description": "DoesNotExist"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "values",
|
|
"label": "Values",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "value",
|
|
"label": "",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "podSelector",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "matchExpressions",
|
|
"label": "Match Expressions",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "expressionEntry",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "key",
|
|
"label": "Key",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"variable": "operator",
|
|
"label": "Operator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "TCP",
|
|
"enum": [
|
|
{
|
|
"value": "In",
|
|
"description": "In"
|
|
},
|
|
{
|
|
"value": "NotIn",
|
|
"description": "NotIn"
|
|
},
|
|
{
|
|
"value": "Exists",
|
|
"description": "Exists"
|
|
},
|
|
{
|
|
"value": "DoesNotExist",
|
|
"description": "DoesNotExist"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "values",
|
|
"label": "Values",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "value",
|
|
"label": "",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ports",
|
|
"label": "Ports",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "portsEntry",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "port",
|
|
"label": "Port",
|
|
"schema": {
|
|
"type": "int"
|
|
}
|
|
},
|
|
{
|
|
"variable": "endPort",
|
|
"label": "End Port",
|
|
"schema": {
|
|
"type": "int"
|
|
}
|
|
},
|
|
{
|
|
"variable": "protocol",
|
|
"label": "Protocol",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "TCP",
|
|
"enum": [
|
|
{
|
|
"value": "TCP",
|
|
"description": "TCP"
|
|
},
|
|
{
|
|
"value": "UDP",
|
|
"description": "UDP"
|
|
},
|
|
{
|
|
"value": "SCTP",
|
|
"description": "SCTP"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ingress",
|
|
"label": "Ingress",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "ingressEntry",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "from",
|
|
"label": "From",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "fromEntry",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "ipBlock",
|
|
"label": "IP Block",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "cidr",
|
|
"label": "CIDR",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "except",
|
|
"label": "Except",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "exceptint",
|
|
"label": "",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "namespaceSelector",
|
|
"label": "Namespace Selector",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "matchExpressions",
|
|
"label": "Match Expressions",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "expressionEntry",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "key",
|
|
"label": "Key",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"variable": "operator",
|
|
"label": "Operator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "TCP",
|
|
"enum": [
|
|
{
|
|
"value": "In",
|
|
"description": "In"
|
|
},
|
|
{
|
|
"value": "NotIn",
|
|
"description": "NotIn"
|
|
},
|
|
{
|
|
"value": "Exists",
|
|
"description": "Exists"
|
|
},
|
|
{
|
|
"value": "DoesNotExist",
|
|
"description": "DoesNotExist"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "values",
|
|
"label": "Values",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "value",
|
|
"label": "",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "podSelector",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "matchExpressions",
|
|
"label": "Match Expressions",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "expressionEntry",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "key",
|
|
"label": "Key",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"variable": "operator",
|
|
"label": "Operator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "TCP",
|
|
"enum": [
|
|
{
|
|
"value": "In",
|
|
"description": "In"
|
|
},
|
|
{
|
|
"value": "NotIn",
|
|
"description": "NotIn"
|
|
},
|
|
{
|
|
"value": "Exists",
|
|
"description": "Exists"
|
|
},
|
|
{
|
|
"value": "DoesNotExist",
|
|
"description": "DoesNotExist"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "values",
|
|
"label": "Values",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "value",
|
|
"label": "",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ports",
|
|
"label": "Ports",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "portsEntry",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "port",
|
|
"label": "Port",
|
|
"schema": {
|
|
"type": "int"
|
|
}
|
|
},
|
|
{
|
|
"variable": "endPort",
|
|
"label": "End Port",
|
|
"schema": {
|
|
"type": "int"
|
|
}
|
|
},
|
|
{
|
|
"variable": "protocol",
|
|
"label": "Protocol",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "TCP",
|
|
"enum": [
|
|
{
|
|
"value": "TCP",
|
|
"description": "TCP"
|
|
},
|
|
{
|
|
"value": "UDP",
|
|
"description": "UDP"
|
|
},
|
|
{
|
|
"value": "SCTP",
|
|
"description": "SCTP"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "addons",
|
|
"group": "Addons",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "codeserver",
|
|
"label": "Codeserver",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "service",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "type",
|
|
"label": "Service Type",
|
|
"description": "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "LoadBalancer",
|
|
"enum": [
|
|
{
|
|
"value": "NodePort",
|
|
"description": "Deprecated CHANGE THIS"
|
|
},
|
|
{
|
|
"value": "ClusterIP",
|
|
"description": "ClusterIP"
|
|
},
|
|
{
|
|
"value": "LoadBalancer",
|
|
"description": "LoadBalancer"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "loadBalancerIP",
|
|
"label": "LoadBalancer IP",
|
|
"description": "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"LoadBalancer"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "ports",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "codeserver",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "port",
|
|
"label": "Port",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 36107
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ingress",
|
|
"label": "Ingress",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enable Ingress",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "hosts",
|
|
"label": "Hosts",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "hostEntry",
|
|
"label": "Host",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "host",
|
|
"label": "HostName",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "paths",
|
|
"label": "Paths",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [
|
|
{
|
|
"path": "/",
|
|
"pathType": "Prefix"
|
|
}
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "pathEntry",
|
|
"label": "Host",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "path",
|
|
"label": "Path",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "/"
|
|
}
|
|
},
|
|
{
|
|
"variable": "pathType",
|
|
"label": "Path Type",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "Prefix"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "integrations",
|
|
"label": "Integrations",
|
|
"description": "Connect ingress with other charts",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "traefik",
|
|
"label": "Traefik",
|
|
"description": "Connect ingress with Traefik",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "allowCors",
|
|
"label": "Allow Cross Origin Requests (advanced)",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "entrypoints",
|
|
"label": "Entrypoints",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [
|
|
"websecure"
|
|
],
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "entrypoint",
|
|
"label": "Entrypoint",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "middlewares",
|
|
"label": "Middlewares",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "middleware",
|
|
"label": "Middleware",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "name",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "namespace",
|
|
"label": "namespace (optional)",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "certManager",
|
|
"label": "certManager",
|
|
"description": "Connect ingress with certManager",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "certificateIssuer",
|
|
"label": "certificateIssuer",
|
|
"description": "defaults to chartname",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "advanced",
|
|
"label": "Show Advanced Settings",
|
|
"description": "Advanced settings are not covered by TrueCharts Support",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "ingressClassName",
|
|
"label": "(Advanced/Optional) IngressClass Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"advanced",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "tls",
|
|
"label": "TLS-Settings",
|
|
"schema": {
|
|
"type": "list",
|
|
"show_if": [
|
|
[
|
|
"advanced",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "tlsEntry",
|
|
"label": "Host",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "hosts",
|
|
"label": "Certificate Hosts",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "host",
|
|
"label": "Host",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "certificateIssuer",
|
|
"label": "Use Cert-Manager clusterIssuer",
|
|
"description": "add the name of your cert-manager clusterIssuer here for automatic tls certificates.",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "clusterCertificate",
|
|
"label": "Cluster Certificate (Advanced)",
|
|
"description": "Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"certificateIssuer",
|
|
"=",
|
|
""
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "secretName",
|
|
"label": "Use Custom Certificate Secret (Advanced)",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"certificateIssuer",
|
|
"=",
|
|
""
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "scaleCert",
|
|
"label": "Use TrueNAS SCALE Certificate (Deprecated)",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"certificateIssuer",
|
|
"=",
|
|
""
|
|
]
|
|
],
|
|
"type": "int",
|
|
"$ref": [
|
|
"definitions/certificate"
|
|
],
|
|
"enum": [
|
|
{
|
|
"value": null,
|
|
"description": "No Certificate"
|
|
}
|
|
],
|
|
"default": null,
|
|
"null": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "envList",
|
|
"label": "Codeserver Environment Variables",
|
|
"schema": {
|
|
"type": "list",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "envItem",
|
|
"label": "Environment Variable",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "value",
|
|
"label": "Value",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "netshoot",
|
|
"label": "Netshoot",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "envList",
|
|
"label": "Netshoot Environment Variables",
|
|
"schema": {
|
|
"type": "list",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "envItem",
|
|
"label": "Environment Variable",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "value",
|
|
"label": "Value",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "vpn",
|
|
"label": "VPN",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "type",
|
|
"label": "Type",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "disabled",
|
|
"enum": [
|
|
{
|
|
"value": "disabled",
|
|
"description": "disabled"
|
|
},
|
|
{
|
|
"value": "gluetun",
|
|
"description": "Gluetun"
|
|
},
|
|
{
|
|
"value": "tailscale",
|
|
"description": "Tailscale"
|
|
},
|
|
{
|
|
"value": "openvpn",
|
|
"description": "OpenVPN (Deprecated)"
|
|
},
|
|
{
|
|
"value": "wireguard",
|
|
"description": "Wireguard (Deprecated)"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "openvpn",
|
|
"label": "OpenVPN Settings",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"openvpn"
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "username",
|
|
"label": "Authentication Username (Optional)",
|
|
"description": "Authentication Username, Optional",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "password",
|
|
"label": "Authentication Password",
|
|
"description": "Authentication Credentials",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"username",
|
|
"!=",
|
|
""
|
|
]
|
|
],
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "tailscale",
|
|
"label": "Tailscale Settings",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"tailscale"
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "authkey",
|
|
"label": "Authentication Key",
|
|
"description": "Provide an auth key to automatically authenticate the node as your user account.",
|
|
"schema": {
|
|
"type": "string",
|
|
"private": true,
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "auth_once",
|
|
"label": "Auth Once",
|
|
"description": "Only attempt to log in if not already logged in.",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "accept_dns",
|
|
"label": "Accept DNS",
|
|
"description": "Accept DNS configuration from the admin console.",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "userspace",
|
|
"label": "Userspace",
|
|
"description": "Userspace Networking mode allows running Tailscale where you do not have access to create a VPN tunnel device.",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "routes",
|
|
"label": "Routes",
|
|
"description": "Expose physical subnet routes to your entire Tailscale network.",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "dest_ip",
|
|
"label": "Destination IP",
|
|
"description": "Tells the DNAT mechanism which Destination IP to set in the IP header, and where to send packets that are matched.",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "sock5_server",
|
|
"label": "Sock5 Server",
|
|
"description": "The address on which to listen for SOCKS5 proxying into the tailscale net.",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "outbound_http_proxy_listen",
|
|
"label": "Outbound HTTP Proxy Listen",
|
|
"description": "The address on which to listen for HTTP proxying into the tailscale net.",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "extra_args",
|
|
"label": "Extra Args",
|
|
"description": "Extra Args",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "daemon_extra_args",
|
|
"label": "Tailscale Daemon Extra Args",
|
|
"description": "Tailscale Daemon Extra Args",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "killSwitch",
|
|
"label": "Enable Killswitch",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "excludedNetworks_IPv4",
|
|
"label": "Killswitch Excluded IPv4 networks",
|
|
"description": "List of Killswitch Excluded IPv4 Addresses",
|
|
"schema": {
|
|
"type": "list",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "networkv4",
|
|
"label": "IPv4 Network",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "excludedNetworks_IPv6",
|
|
"label": "Killswitch Excluded IPv6 networks",
|
|
"description": "List of Killswitch Excluded IPv6 Addresses",
|
|
"schema": {
|
|
"type": "list",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "networkv6",
|
|
"label": "IPv6 Network",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "configFile",
|
|
"label": "VPN Config File Location",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "envList",
|
|
"label": "VPN Environment Variables",
|
|
"schema": {
|
|
"type": "list",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "envItem",
|
|
"label": "Environment Variable",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "value",
|
|
"label": "Value",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"max_length": 10240
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "docs",
|
|
"group": "Documentation",
|
|
"label": "Please read the documentation at https://truecharts.org",
|
|
"description": "Please read the documentation at <br /><a href=\"https://truecharts.org\">https://truecharts.org</a>",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "confirmDocs",
|
|
"label": "I have checked the documentation",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "donateNag",
|
|
"group": "Documentation",
|
|
"label": "Please consider supporting TrueCharts, see https://truecharts.org/sponsor",
|
|
"description": "Please consider supporting TrueCharts, see <br /><a href=\"https://truecharts.org/sponsor\">https://truecharts.org/sponsor</a>",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "confirmDonate",
|
|
"label": "I have considered donating",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"hidden": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"app_readme": "<p>Self hosted GIT repositories</p>\n<p>This App is supplied by TrueCharts, for more information visit the manual: <a href=\"https://truecharts.org/charts/stable/gitea\">https://truecharts.org/charts/stable/gitea</a></p>\n<hr />\n<p>TrueCharts can only exist due to the incredible effort of our staff.\nPlease consider making a <a href=\"https://truecharts.org/sponsor\">donation</a> or contributing back to the project any way you can!</p>",
|
|
"detailed_readme": "<hr />\n<h2>title: README</h2>\n<h2>General Info</h2>\n<p>TrueCharts can be installed as both <em>normal</em> Helm Charts or as Apps on TrueNAS SCALE.\nHowever only installations using the TrueNAS SCALE Apps system are supported.</p>\n<p>For more information about this App, please check the docs on the TrueCharts <a href=\"https://truecharts.org/charts/stable/gitea\">website</a></p>\n<p><strong>This chart is not maintained by the upstream project and any issues with the chart should be raised <a href=\"https://github.com/truecharts/charts/issues/new/choose\">here</a></strong></p>\n<h2>Support</h2>\n<ul>\n<li>Please check our <a href=\"https://truecharts.org/manual/SCALE/guides/scale-intro\">quick-start guides for TrueNAS SCALE</a>.</li>\n<li>See the <a href=\"https://truecharts.org\">Website</a></li>\n<li>Check our <a href=\"https://discord.gg/tVsPTHWTtr\">Discord</a></li>\n<li>Open a <a href=\"https://github.com/truecharts/charts/issues/new/choose\">issue</a></li>\n</ul>\n<hr />\n<h2>Sponsor TrueCharts</h2>\n<p>TrueCharts can only exist due to the incredible effort of our staff.\nPlease consider making a <a href=\"https://truecharts.org/sponsor\">donation</a> or contributing back to the project any way you can!</p>\n<p><em>All Rights Reserved - The TrueCharts Project</em></p>",
|
|
"changelog": "<p><em>for the complete changelog, please refer to the website</em></p>\n<p><strong>Important:</strong></p>"
|
|
},
|
|
"18.16.14": {
|
|
"healthy": true,
|
|
"supported": true,
|
|
"healthy_error": null,
|
|
"location": "/home/runner/work/catalog/catalog/stable/gitea/18.16.14",
|
|
"last_update": "2024-04-21 06:48:05",
|
|
"required_features": [
|
|
"normalize/interfaceConfiguration",
|
|
"definitions/timezone",
|
|
"definitions/certificate",
|
|
"definitions/nodeIP",
|
|
"definitions/interface"
|
|
],
|
|
"human_version": "1.21.11_18.16.14",
|
|
"version": "18.16.14",
|
|
"chart_metadata": {
|
|
"annotations": {
|
|
"max_scale_version": "24.04.0",
|
|
"min_scale_version": "23.10.0",
|
|
"truecharts.org/SCALE-support": "true",
|
|
"truecharts.org/category": "GIT",
|
|
"truecharts.org/max_helm_version": "3.14",
|
|
"truecharts.org/min_helm_version": "3.11",
|
|
"truecharts.org/train": "stable"
|
|
},
|
|
"apiVersion": "v2",
|
|
"appVersion": "1.21.11",
|
|
"dependencies": [
|
|
{
|
|
"name": "common",
|
|
"version": "20.3.11",
|
|
"repository": "oci://tccr.io/truecharts",
|
|
"condition": "",
|
|
"alias": "",
|
|
"tags": [],
|
|
"import-values": []
|
|
},
|
|
{
|
|
"name": "memcached",
|
|
"version": "12.9.6",
|
|
"repository": "oci://tccr.io/truecharts",
|
|
"condition": "memcached.enabled",
|
|
"alias": "",
|
|
"tags": [],
|
|
"import-values": []
|
|
}
|
|
],
|
|
"deprecated": false,
|
|
"description": "Self hosted GIT repositories",
|
|
"home": "https://truecharts.org/charts/stable/gitea",
|
|
"icon": "https://truecharts.org/img/hotlink-ok/chart-icons/gitea.webp",
|
|
"keywords": [
|
|
"git",
|
|
"issue tracker",
|
|
"code review",
|
|
"wiki",
|
|
"gitea",
|
|
"gogs"
|
|
],
|
|
"kubeVersion": ">=1.24.0-0",
|
|
"maintainers": [
|
|
{
|
|
"name": "TrueCharts",
|
|
"email": "info@truecharts.org",
|
|
"url": "https://truecharts.org"
|
|
}
|
|
],
|
|
"name": "gitea",
|
|
"sources": [
|
|
"https://gitea.com/gitea/helm-chart",
|
|
"https://github.com/go-gitea/gitea",
|
|
"https://github.com/truecharts/charts/tree/master/charts/stable/gitea",
|
|
"https://hub.docker.com/r/gitea/gitea"
|
|
],
|
|
"type": "application",
|
|
"version": "18.16.14"
|
|
},
|
|
"app_metadata": null,
|
|
"schema": {
|
|
"groups": [
|
|
{
|
|
"name": "Container Image",
|
|
"description": "Image to be used for container"
|
|
},
|
|
{
|
|
"name": "General Settings",
|
|
"description": "General Deployment Settings"
|
|
},
|
|
{
|
|
"name": "Workload Settings",
|
|
"description": "Workload Settings"
|
|
},
|
|
{
|
|
"name": "App Configuration",
|
|
"description": "App Specific Config Options"
|
|
},
|
|
{
|
|
"name": "Networking and Services",
|
|
"description": "Configure Network and Services for Container"
|
|
},
|
|
{
|
|
"name": "Storage and Persistence",
|
|
"description": "Persist and Share Data that is Separate from the Container"
|
|
},
|
|
{
|
|
"name": "Ingress",
|
|
"description": "Ingress Configuration"
|
|
},
|
|
{
|
|
"name": "Security and Permissions",
|
|
"description": "Configure Security Context and Permissions"
|
|
},
|
|
{
|
|
"name": "Resources and Devices",
|
|
"description": "Specify Resources/Devices to be Allocated to Workload"
|
|
},
|
|
{
|
|
"name": "Middlewares",
|
|
"description": "Traefik Middlewares"
|
|
},
|
|
{
|
|
"name": "Metrics",
|
|
"description": "Metrics"
|
|
},
|
|
{
|
|
"name": "Addons",
|
|
"description": "Addon Configuration"
|
|
},
|
|
{
|
|
"name": "Backup Configuration",
|
|
"description": "Configure Velero Backup Schedule"
|
|
},
|
|
{
|
|
"name": "Advanced",
|
|
"description": "Advanced Configuration"
|
|
},
|
|
{
|
|
"name": "Postgresql",
|
|
"description": "Postgresql"
|
|
},
|
|
{
|
|
"name": "Dependencies",
|
|
"description": "Dependencies"
|
|
},
|
|
{
|
|
"name": "Documentation",
|
|
"description": "Documentation"
|
|
}
|
|
],
|
|
"portals": {
|
|
"open": {
|
|
"protocols": [
|
|
"$kubernetes-resource_configmap_tcportal-open_protocol"
|
|
],
|
|
"host": [
|
|
"$kubernetes-resource_configmap_tcportal-open_host"
|
|
],
|
|
"ports": [
|
|
"$kubernetes-resource_configmap_tcportal-open_port"
|
|
]
|
|
}
|
|
},
|
|
"questions": [
|
|
{
|
|
"variable": "global",
|
|
"group": "General Settings",
|
|
"label": "Global Settings",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "stopAll",
|
|
"label": "Stop All",
|
|
"description": "Stops All Running pods and hibernates cnpg",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "workload",
|
|
"group": "Workload Settings",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "main",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "type",
|
|
"label": "Type (Advanced)",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "Deployment",
|
|
"enum": [
|
|
{
|
|
"value": "Deployment",
|
|
"description": "Deployment"
|
|
},
|
|
{
|
|
"value": "DaemonSet",
|
|
"description": "DaemonSet"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "replicas",
|
|
"label": "Replicas (Advanced)",
|
|
"description": "Set the number of Replicas",
|
|
"schema": {
|
|
"type": "int",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"!=",
|
|
"DaemonSet"
|
|
]
|
|
],
|
|
"default": 1
|
|
}
|
|
},
|
|
{
|
|
"variable": "podSpec",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "containers",
|
|
"label": "Containers",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "main",
|
|
"label": "Main Container",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "envList",
|
|
"label": "Extra Environment Variables",
|
|
"description": "Please be aware that some variables are set in the background, adding duplicates here might cause issues or prevent the app from starting...",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "envItem",
|
|
"label": "Environment Variable",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"variable": "value",
|
|
"label": "Value",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "extraArgs",
|
|
"label": "Extra Args",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "arg",
|
|
"label": "Arg",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "advanced",
|
|
"label": "Show Advanced Settings",
|
|
"description": "Advanced settings are not covered by TrueCharts Support",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "command",
|
|
"label": "Command",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "param",
|
|
"label": "Param",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "TZ",
|
|
"label": "Timezone",
|
|
"group": "General Settings",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "America/Los_Angeles",
|
|
"$ref": [
|
|
"definitions/timezone"
|
|
],
|
|
"enum": [
|
|
{
|
|
"value": "Asia/Damascus",
|
|
"description": "'Asia/Damascus' timezone"
|
|
},
|
|
{
|
|
"value": "Asia/Saigon",
|
|
"description": "'Asia/Saigon' timezone"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "podOptions",
|
|
"group": "General Settings",
|
|
"label": "Global Pod Options (Advanced)",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "expertPodOpts",
|
|
"label": "Expert - Pod Options",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "hostNetwork",
|
|
"label": "Host Networking",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "dnsConfig",
|
|
"label": "DNS Configuration",
|
|
"schema": {
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "options",
|
|
"label": "Options",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [
|
|
{
|
|
"name": "ndots",
|
|
"value": "1"
|
|
}
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "optionsEntry",
|
|
"label": "Option Entry",
|
|
"schema": {
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "value",
|
|
"label": "Value",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "nameservers",
|
|
"label": "Nameservers",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "nsEntry",
|
|
"label": "Nameserver Entry",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "searches",
|
|
"label": "Searches",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "searchEntry",
|
|
"label": "Search Entry",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "imagePullSecretList",
|
|
"group": "General Settings",
|
|
"label": "Image Pull Secrets",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "pullsecretentry",
|
|
"label": "Pull Secret",
|
|
"schema": {
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "data",
|
|
"label": "Data",
|
|
"schema": {
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "registry",
|
|
"label": "Registry",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "https://index.docker.io/v1/"
|
|
}
|
|
},
|
|
{
|
|
"variable": "username",
|
|
"label": "Username",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "password",
|
|
"label": "Password",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"private": true,
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "email",
|
|
"label": "Email",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "admin",
|
|
"group": "App Configuration",
|
|
"label": "Admin Credentials",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "username",
|
|
"label": "username",
|
|
"schema": {
|
|
"type": "string",
|
|
"valid_chars": "^(?!^admin$).*$",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "password",
|
|
"label": "password",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"private": true,
|
|
"min_length": 8
|
|
}
|
|
},
|
|
{
|
|
"variable": "email",
|
|
"label": "email",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "config",
|
|
"group": "App Configuration",
|
|
"label": "Admin Configuration",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "APP_NAME",
|
|
"label": "APP_NAME",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "Gitea",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "RUN_MODE",
|
|
"label": "RUN_MODE",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "prod",
|
|
"enum": [
|
|
{
|
|
"value": "prod",
|
|
"description": "Production"
|
|
},
|
|
{
|
|
"value": "dev",
|
|
"description": "Development"
|
|
},
|
|
{
|
|
"value": "test",
|
|
"description": "Testing"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ALLOWED_HOST_LIST",
|
|
"label": "ALLOWED_HOST_LIST",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "127.0.0.1",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "nodeIP",
|
|
"label": "Node IP",
|
|
"description": "Used to generate configuration, when installed without ingress",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"$ref": [
|
|
"definitions/nodeIP"
|
|
],
|
|
"default": "192.168.0.10"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "customConfig",
|
|
"group": "App Configuration",
|
|
"label": "Custom Configuration parameters",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "catagoryItem",
|
|
"label": "Category",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Config Category Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "keys",
|
|
"label": "Configuration Parameters",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "configItem",
|
|
"label": "parameter",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Parameter Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "value",
|
|
"label": "Parameter Value",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "service",
|
|
"group": "Networking and Services",
|
|
"label": "Configure Service(s)",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "main",
|
|
"label": "Main Service",
|
|
"description": "The Primary service on which the healthcheck runs, often the webUI",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enable the Service",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"hidden": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "type",
|
|
"label": "Service Type",
|
|
"description": "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "LoadBalancer",
|
|
"enum": [
|
|
{
|
|
"value": "LoadBalancer",
|
|
"description": "LoadBalancer (Expose Ports)"
|
|
},
|
|
{
|
|
"value": "ClusterIP",
|
|
"description": "ClusterIP (Do Not Expose Ports)"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "loadBalancerIP",
|
|
"label": "LoadBalancer IP",
|
|
"description": "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"LoadBalancer"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "ports",
|
|
"label": "Service's Port(s) Configuration",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "main",
|
|
"label": "Main Service Port Configuration",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "port",
|
|
"label": "Port",
|
|
"description": "This port exposes the container port on the service",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 10037,
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ssh",
|
|
"label": "SSH Service",
|
|
"description": "The SSH service",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enable the Service",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"hidden": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "type",
|
|
"label": "Service Type",
|
|
"description": "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "LoadBalancer",
|
|
"enum": [
|
|
{
|
|
"value": "LoadBalancer",
|
|
"description": "LoadBalancer (Expose Ports)"
|
|
},
|
|
{
|
|
"value": "ClusterIP",
|
|
"description": "ClusterIP (Do Not Expose Ports)"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "loadBalancerIP",
|
|
"label": "LoadBalancer IP",
|
|
"description": "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"LoadBalancer"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "ports",
|
|
"label": "Service's Port(s) Configuration",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "ssh",
|
|
"label": "SSH Service Port Configuration",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "port",
|
|
"label": "Port",
|
|
"description": "This port exposes the container port on the service",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 2222,
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "serviceexpert",
|
|
"group": "Networking and Services",
|
|
"label": "Show Expert Config",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "scaleExternalInterface",
|
|
"description": "Add External Interfaces",
|
|
"label": "Add external Interfaces",
|
|
"group": "Networking",
|
|
"schema": {
|
|
"type": "list",
|
|
"items": [
|
|
{
|
|
"variable": "interfaceConfiguration",
|
|
"description": "Interface Configuration",
|
|
"label": "Interface Configuration",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"$ref": [
|
|
"normalize/interfaceConfiguration"
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "hostInterface",
|
|
"description": "Please Specify Host Interface",
|
|
"label": "Host Interface",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"$ref": [
|
|
"definitions/interface"
|
|
],
|
|
"enum": []
|
|
}
|
|
},
|
|
{
|
|
"variable": "ipam",
|
|
"description": "Define how IP Address will be managed",
|
|
"label": "IP Address Management",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"required": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "type",
|
|
"description": "Specify type for IPAM",
|
|
"label": "IPAM Type",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"enum": [
|
|
{
|
|
"value": "dhcp",
|
|
"description": "Use DHCP"
|
|
},
|
|
{
|
|
"value": "static",
|
|
"description": "Use Static IP"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "staticIPConfigurations",
|
|
"label": "Static IP Addresses",
|
|
"schema": {
|
|
"type": "list",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"static"
|
|
]
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "staticIP",
|
|
"label": "Static IP",
|
|
"schema": {
|
|
"type": "ipaddr",
|
|
"cidr": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "staticRoutes",
|
|
"label": "Static Routes",
|
|
"schema": {
|
|
"type": "list",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"static"
|
|
]
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "staticRouteConfiguration",
|
|
"label": "Static Route Configuration",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "destination",
|
|
"label": "Destination",
|
|
"schema": {
|
|
"type": "ipaddr",
|
|
"cidr": true,
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "gateway",
|
|
"label": "Gateway",
|
|
"schema": {
|
|
"type": "ipaddr",
|
|
"cidr": false,
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "serviceList",
|
|
"label": "Add Manual Custom Services",
|
|
"group": "Networking and Services",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "serviceListEntry",
|
|
"label": "Custom Service",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enable the service",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"hidden": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "type",
|
|
"label": "Service Type",
|
|
"description": "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "LoadBalancer",
|
|
"enum": [
|
|
{
|
|
"value": "LoadBalancer",
|
|
"description": "LoadBalancer (Expose Ports)"
|
|
},
|
|
{
|
|
"value": "ClusterIP",
|
|
"description": "ClusterIP (Do Not Expose Ports)"
|
|
},
|
|
{
|
|
"value": "Simple",
|
|
"description": "Deprecated CHANGE THIS"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "loadBalancerIP",
|
|
"label": "LoadBalancer IP",
|
|
"description": "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"LoadBalancer"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "advancedsvcset",
|
|
"label": "Show Advanced Service Settings",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "externalIPs",
|
|
"label": "External IP's",
|
|
"description": "External IP's",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "externalIP",
|
|
"label": "External IP",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ipFamilyPolicy",
|
|
"label": "IP Family Policy",
|
|
"description": "Specify the IP Policy",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "SingleStack",
|
|
"enum": [
|
|
{
|
|
"value": "SingleStack",
|
|
"description": "SingleStack"
|
|
},
|
|
{
|
|
"value": "PreferDualStack",
|
|
"description": "PreferDualStack"
|
|
},
|
|
{
|
|
"value": "RequireDualStack",
|
|
"description": "RequireDualStack"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ipFamilies",
|
|
"label": "IP Families",
|
|
"description": "(Advanced) The IP Families that should be used",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "ipFamily",
|
|
"label": "IP Family",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "portsList",
|
|
"label": "Additional Service Ports",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "portsListEntry",
|
|
"label": "Custom ports",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enable the Port",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"hidden": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "name",
|
|
"label": "Port Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "protocol",
|
|
"label": "Port Type",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "tcp",
|
|
"enum": [
|
|
{
|
|
"value": "http",
|
|
"description": "HTTP"
|
|
},
|
|
{
|
|
"value": "https",
|
|
"description": "HTTPS"
|
|
},
|
|
{
|
|
"value": "tcp",
|
|
"description": "TCP"
|
|
},
|
|
{
|
|
"value": "udp",
|
|
"description": "UDP"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "targetPort",
|
|
"label": "Target Port",
|
|
"description": "This port exposes the container port on the service",
|
|
"schema": {
|
|
"type": "int",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "port",
|
|
"label": "Container Port",
|
|
"schema": {
|
|
"type": "int",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "persistence",
|
|
"label": "Integrated Persistent Storage",
|
|
"description": "Integrated Persistent Storage",
|
|
"group": "Storage and Persistence",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "data",
|
|
"label": "App data Storage",
|
|
"description": "Stores the Application Configuration.",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "type",
|
|
"label": "Type of Storage",
|
|
"description": "Sets the persistence type, Anything other than PVC could break rollback!",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "pvc",
|
|
"enum": [
|
|
{
|
|
"value": "pvc",
|
|
"description": "PVC"
|
|
},
|
|
{
|
|
"value": "hostPath",
|
|
"description": "Host Path"
|
|
},
|
|
{
|
|
"value": "emptyDir",
|
|
"description": "emptyDir"
|
|
},
|
|
{
|
|
"value": "nfs",
|
|
"description": "NFS Share"
|
|
},
|
|
{
|
|
"value": "iscsi",
|
|
"description": "iSCSI Share"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "server",
|
|
"label": "NFS Server",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"nfs"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "path",
|
|
"label": "Path on NFS Server",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"nfs"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "iscsi",
|
|
"label": "iSCSI Options",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"iscsi"
|
|
]
|
|
],
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "targetPortal",
|
|
"label": "targetPortal",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "iqn",
|
|
"label": "iqn",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "lun",
|
|
"label": "lun",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 0
|
|
}
|
|
},
|
|
{
|
|
"variable": "authSession",
|
|
"label": "authSession",
|
|
"schema": {
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "username",
|
|
"label": "username",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "password",
|
|
"label": "password",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "usernameInitiator",
|
|
"label": "usernameInitiator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "passwordInitiator",
|
|
"label": "passwordInitiator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "authDiscovery",
|
|
"label": "authDiscovery",
|
|
"schema": {
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "username",
|
|
"label": "username",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "password",
|
|
"label": "password",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "usernameInitiator",
|
|
"label": "usernameInitiator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "passwordInitiator",
|
|
"label": "passwordInitiator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "autoPermissions",
|
|
"label": "Automatic Permissions Configuration",
|
|
"description": "Automatically set permissions",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"!=",
|
|
"pvc"
|
|
]
|
|
],
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "chown",
|
|
"label": "Run CHOWN",
|
|
"description": "It will run CHOWN on the path with the given fsGroup\n",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "chmod",
|
|
"label": "Run CHMOD",
|
|
"description": "It will run CHMOD on the path with the given value</br>\nFormat should be 3 digits, e.g. 770\n",
|
|
"schema": {
|
|
"type": "string",
|
|
"valid_chars": "[0-9]{3}",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "recursive",
|
|
"label": "Recursive",
|
|
"description": "It will run CHOWN and CHMOD recursively\n",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "readOnly",
|
|
"label": "Read Only",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "hostPath",
|
|
"label": "Host Path",
|
|
"description": "Path inside the container the storage is mounted",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"hostPath"
|
|
]
|
|
],
|
|
"type": "hostpath"
|
|
}
|
|
},
|
|
{
|
|
"variable": "medium",
|
|
"label": "EmptyDir Medium",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"emptyDir"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": "",
|
|
"enum": [
|
|
{
|
|
"value": "",
|
|
"description": "Default"
|
|
},
|
|
{
|
|
"value": "Memory",
|
|
"description": "Memory"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "size",
|
|
"label": "Size quotum of Storage (Do NOT REDUCE after installation)",
|
|
"description": "This value can ONLY be INCREASED after the installation",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"pvc"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": "256Gi"
|
|
}
|
|
},
|
|
{
|
|
"variable": "storageClass",
|
|
"label": "storageClass (Advanced)",
|
|
"description": "sets the storageClass to something other than iX default. Only for advanced usecases!",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"pvc"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "static",
|
|
"label": "Static Fixed PVC Bindings (Experimental)",
|
|
"description": "Link a PVC to a specific storage location",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"pvc"
|
|
]
|
|
],
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "mode",
|
|
"label": "mode",
|
|
"description": "disabled: use normal dynamic PVCs\nsmb: connect to an SMB share\nnfs: connect to an NFS share\n",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "disabled",
|
|
"enum": [
|
|
{
|
|
"value": "disabled",
|
|
"description": "disabled"
|
|
},
|
|
{
|
|
"value": "smb",
|
|
"description": "smb"
|
|
},
|
|
{
|
|
"value": "nfs",
|
|
"description": "nfs"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "server",
|
|
"label": "Server",
|
|
"description": "server to connect to",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"mode",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": "myserver"
|
|
}
|
|
},
|
|
{
|
|
"variable": "share",
|
|
"label": "Share",
|
|
"description": "share to connect to",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"mode",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": "/myshare"
|
|
}
|
|
},
|
|
{
|
|
"variable": "user",
|
|
"label": "User",
|
|
"description": "connecting user",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"mode",
|
|
"=",
|
|
"smb"
|
|
]
|
|
],
|
|
"default": "myuser"
|
|
}
|
|
},
|
|
{
|
|
"variable": "domain",
|
|
"label": "Domain",
|
|
"description": "user domain",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"mode",
|
|
"=",
|
|
"smb"
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "password",
|
|
"label": "Password",
|
|
"description": "connecting password",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"mode",
|
|
"=",
|
|
"smb"
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "volumeSnapshots",
|
|
"label": "Volume Snapshots (Experimental)",
|
|
"description": "Add an entry to the list to force creation of a volumeSnapshot of this PVC",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"pvc"
|
|
]
|
|
],
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "volumeSnapshotEntry",
|
|
"label": "Custom volumeSnapshot",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"description": "WARNING: renaming this, means deletion of the snapshot with the old name!",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "mysnapshot",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "volumeSnapshotClassName",
|
|
"label": "volumeSnapshot Class Name (Advanced)",
|
|
"description": "For use with PVCs using a non-default storageClass",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "persistenceList",
|
|
"label": "Additional App Storage",
|
|
"group": "Storage and Persistence",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "persistenceListEntry",
|
|
"label": "Custom Storage",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enable the storage",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"hidden": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "type",
|
|
"label": "Type of Storage",
|
|
"description": "Sets the persistence type, Anything other than PVC could break rollback!",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "hostPath",
|
|
"enum": [
|
|
{
|
|
"value": "pvc",
|
|
"description": "PVC"
|
|
},
|
|
{
|
|
"value": "hostPath",
|
|
"description": "Host Path"
|
|
},
|
|
{
|
|
"value": "emptyDir",
|
|
"description": "emptyDir"
|
|
},
|
|
{
|
|
"value": "nfs",
|
|
"description": "NFS Share"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "server",
|
|
"label": "NFS Server",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"nfs"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "path",
|
|
"label": "Path on NFS Server",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"nfs"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "iscsi",
|
|
"label": "iSCSI Options",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"iscsi"
|
|
]
|
|
],
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "targetPortal",
|
|
"label": "targetPortal",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "iqn",
|
|
"label": "iqn",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "lun",
|
|
"label": "lun",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 0
|
|
}
|
|
},
|
|
{
|
|
"variable": "authSession",
|
|
"label": "authSession",
|
|
"schema": {
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "username",
|
|
"label": "username",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "password",
|
|
"label": "password",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "usernameInitiator",
|
|
"label": "usernameInitiator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "passwordInitiator",
|
|
"label": "passwordInitiator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "authDiscovery",
|
|
"label": "authDiscovery",
|
|
"schema": {
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "username",
|
|
"label": "username",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "password",
|
|
"label": "password",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "usernameInitiator",
|
|
"label": "usernameInitiator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "passwordInitiator",
|
|
"label": "passwordInitiator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "autoPermissions",
|
|
"label": "Automatic Permissions Configuration",
|
|
"description": "Automatically set permissions",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"!=",
|
|
"pvc"
|
|
]
|
|
],
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "chown",
|
|
"label": "Run CHOWN",
|
|
"description": "It will run CHOWN on the path with the given fsGroup\n",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "chmod",
|
|
"label": "Run CHMOD",
|
|
"description": "It will run CHMOD on the path with the given value</br>\nFormat should be 3 digits, e.g. 770\n",
|
|
"schema": {
|
|
"type": "string",
|
|
"valid_chars": "[0-9]{3}",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "recursive",
|
|
"label": "Recursive",
|
|
"description": "It will run CHOWN and CHMOD recursively\n",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "readOnly",
|
|
"label": "Read Only",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "hostPath",
|
|
"label": "Host Path",
|
|
"description": "Path inside the container the storage is mounted",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"hostPath"
|
|
]
|
|
],
|
|
"type": "hostpath"
|
|
}
|
|
},
|
|
{
|
|
"variable": "mountPath",
|
|
"label": "Mount Path",
|
|
"description": "Path inside the container the storage is mounted",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true,
|
|
"valid_chars": "^\\/([a-zA-Z0-9._-]+(\\s?[a-zA-Z0-9._-]+|\\/?))+$"
|
|
}
|
|
},
|
|
{
|
|
"variable": "medium",
|
|
"label": "EmptyDir Medium",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"emptyDir"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": "",
|
|
"enum": [
|
|
{
|
|
"value": "",
|
|
"description": "Default"
|
|
},
|
|
{
|
|
"value": "Memory",
|
|
"description": "Memory"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "size",
|
|
"label": "Size Quotum of Storage",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"pvc"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": "256Gi"
|
|
}
|
|
},
|
|
{
|
|
"variable": "storageClass",
|
|
"label": "storageClass (Advanced)",
|
|
"description": "sets the storageClass to something other than iX default. Only for advanced usecases!",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"pvc"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "static",
|
|
"label": "Static Fixed PVC Bindings (Experimental)",
|
|
"description": "Link a PVC to a specific storage location",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"pvc"
|
|
]
|
|
],
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "mode",
|
|
"label": "mode",
|
|
"description": "disabled: use normal dynamic PVCs\nsmb: connect to an SMB share\nnfs: connect to an NFS share\n",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "disabled",
|
|
"enum": [
|
|
{
|
|
"value": "disabled",
|
|
"description": "disabled"
|
|
},
|
|
{
|
|
"value": "smb",
|
|
"description": "smb"
|
|
},
|
|
{
|
|
"value": "nfs",
|
|
"description": "nfs"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "server",
|
|
"label": "Server",
|
|
"description": "server to connect to",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"mode",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": "myserver"
|
|
}
|
|
},
|
|
{
|
|
"variable": "share",
|
|
"label": "Share",
|
|
"description": "share to connect to",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"mode",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": "/myshare"
|
|
}
|
|
},
|
|
{
|
|
"variable": "user",
|
|
"label": "User",
|
|
"description": "connecting user",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"mode",
|
|
"=",
|
|
"smb"
|
|
]
|
|
],
|
|
"default": "myuser"
|
|
}
|
|
},
|
|
{
|
|
"variable": "domain",
|
|
"label": "Domain",
|
|
"description": "user domain",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"mode",
|
|
"=",
|
|
"smb"
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "password",
|
|
"label": "Password",
|
|
"description": "connecting password",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"mode",
|
|
"=",
|
|
"smb"
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "volumeSnapshots",
|
|
"label": "Volume Snapshots (Experimental)",
|
|
"description": "Add an entry to the list to force creation of a volumeSnapshot of this PVC",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"pvc"
|
|
]
|
|
],
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "volumeSnapshotEntry",
|
|
"label": "Custom volumeSnapshot",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"description": "WARNING: renaming this, means deletion of the snapshot with the old name!",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "mysnapshot",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "volumeSnapshotClassName",
|
|
"label": "volumeSnapshot Class Name (Advanced)",
|
|
"description": "For use with PVCs using a non-default storageClass",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ingress",
|
|
"label": "",
|
|
"group": "Ingress",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "main",
|
|
"label": "Main Ingress",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enable Ingress",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "hosts",
|
|
"label": "Hosts",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "hostEntry",
|
|
"label": "Host",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "host",
|
|
"label": "HostName",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "paths",
|
|
"label": "Paths",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [
|
|
{
|
|
"path": "/",
|
|
"pathType": "Prefix"
|
|
}
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "pathEntry",
|
|
"label": "Host",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "path",
|
|
"label": "Path",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "/"
|
|
}
|
|
},
|
|
{
|
|
"variable": "pathType",
|
|
"label": "Path Type",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "Prefix"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "integrations",
|
|
"label": "Integrations",
|
|
"description": "Connect ingress with other charts",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "traefik",
|
|
"label": "Traefik",
|
|
"description": "Connect ingress with Traefik",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "allowCors",
|
|
"label": "Allow Cross Origin Requests (advanced)",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "entrypoints",
|
|
"label": "Entrypoints",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [
|
|
"websecure"
|
|
],
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "entrypoint",
|
|
"label": "Entrypoint",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "middlewares",
|
|
"label": "Middlewares",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "middleware",
|
|
"label": "Middleware",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "name",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "namespace",
|
|
"label": "namespace (optional)",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "certManager",
|
|
"label": "certManager",
|
|
"description": "Connect ingress with certManager",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "certificateIssuer",
|
|
"label": "certificateIssuer",
|
|
"description": "defaults to chartname",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "homepage",
|
|
"label": "Homepage",
|
|
"description": "Connect ingress with Homepage",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "name",
|
|
"label": "Name (Optional)",
|
|
"description": "Defaults to chart name",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "description",
|
|
"label": "Description (Optional)",
|
|
"description": "Defaults to chart description",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "icon",
|
|
"label": "Icon (Optional)",
|
|
"description": "Defaults to chart icon",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "group",
|
|
"label": "Group",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "default",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "widget",
|
|
"label": "Widget Settings",
|
|
"schema": {
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enable Widget",
|
|
"description": "When disabled all widget annotations are skipped.",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "custom",
|
|
"label": "Options",
|
|
"schema": {
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "key",
|
|
"label": "API-key (key)",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "customkv",
|
|
"label": "Custom Options",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "option",
|
|
"label": "Option",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "key",
|
|
"label": "Key",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "value",
|
|
"label": "Value",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "advanced",
|
|
"label": "Show Advanced Settings",
|
|
"description": "Advanced settings are not covered by TrueCharts Support",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "ingressClassName",
|
|
"label": "(Advanced/Optional) IngressClass Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"advanced",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "tls",
|
|
"label": "TLS-Settings",
|
|
"schema": {
|
|
"type": "list",
|
|
"show_if": [
|
|
[
|
|
"advanced",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "tlsEntry",
|
|
"label": "Host",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "hosts",
|
|
"label": "Certificate Hosts",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "host",
|
|
"label": "Host",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "certificateIssuer",
|
|
"label": "Use Cert-Manager clusterIssuer",
|
|
"description": "add the name of your cert-manager clusterIssuer here for automatic tls certificates.",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "clusterCertificate",
|
|
"label": "Cluster Certificate (Advanced)",
|
|
"description": "Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"certificateIssuer",
|
|
"=",
|
|
""
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "secretName",
|
|
"label": "Use Custom Certificate Secret (Advanced)",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"certificateIssuer",
|
|
"=",
|
|
""
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ingressList",
|
|
"label": "Add Manual Custom Ingresses",
|
|
"group": "Ingress",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "ingressListEntry",
|
|
"label": "Custom Ingress",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enable Ingress",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"hidden": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "ingressClassName",
|
|
"label": "IngressClass Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "hosts",
|
|
"label": "Hosts",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "hostEntry",
|
|
"label": "Host",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "host",
|
|
"label": "HostName",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "paths",
|
|
"label": "Paths",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "pathEntry",
|
|
"label": "Host",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "path",
|
|
"label": "Path",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "/"
|
|
}
|
|
},
|
|
{
|
|
"variable": "pathType",
|
|
"label": "Path Type",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "Prefix"
|
|
}
|
|
},
|
|
{
|
|
"variable": "overrideService",
|
|
"label": "Linked Service",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Service Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "port",
|
|
"label": "Service Port",
|
|
"schema": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "tls",
|
|
"label": "TLS-Settings",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"show_if": [
|
|
[
|
|
"certificateIssuer",
|
|
"=",
|
|
""
|
|
]
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "tlsEntry",
|
|
"label": "Host",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "hosts",
|
|
"label": "Certificate Hosts",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "host",
|
|
"label": "Host",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "certificateIssuer",
|
|
"label": "Use Cert-Manager clusterIssuer",
|
|
"description": "add the name of your Cert-Manager clusterIssuer here for automatic tls certificates.",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "clusterCertificate",
|
|
"label": "Cluster Certificate (Advanced)",
|
|
"description": "Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"certificateIssuer",
|
|
"=",
|
|
""
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "secretName",
|
|
"label": "Use Custom Secret (Advanced)",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"certificateIssuer",
|
|
"=",
|
|
""
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "integrations",
|
|
"label": "Integrations",
|
|
"description": "Connect ingress with other charts",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "traefik",
|
|
"label": "Traefik",
|
|
"description": "Connect ingress with Traefik",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "allowCors",
|
|
"label": "Allow Cross Origin Requests",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "entrypoints",
|
|
"label": "Entrypoints",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [
|
|
"websecure"
|
|
],
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "entrypoint",
|
|
"label": "Entrypoint",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "middlewares",
|
|
"label": "Middlewares",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "middleware",
|
|
"label": "Middleware",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "name",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "namespace",
|
|
"label": "namespace",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "certManager",
|
|
"label": "certManager",
|
|
"description": "Connect ingress with certManager",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "certificateIssuer",
|
|
"label": "certificateIssuer",
|
|
"description": "defaults to chartname",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "homepage",
|
|
"label": "Homepage",
|
|
"description": "Connect ingress with Homepage",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"description": "defaults to chartname",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "description",
|
|
"label": "Description",
|
|
"description": "defaults to chart description",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "group",
|
|
"label": "Group",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "default",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "securityContext",
|
|
"group": "Security and Permissions",
|
|
"label": "Security Context",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "container",
|
|
"label": "Container",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "runAsUser",
|
|
"label": "runAsUser",
|
|
"description": "The UserID of the user running the application",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 1000
|
|
}
|
|
},
|
|
{
|
|
"variable": "runAsGroup",
|
|
"label": "runAsGroup",
|
|
"description": "The groupID of the user running the application",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 1000
|
|
}
|
|
},
|
|
{
|
|
"variable": "PUID",
|
|
"label": "Process User ID - PUID",
|
|
"description": "When supported by the container, this sets the User ID running the Application Process. Not supported by all Apps",
|
|
"schema": {
|
|
"type": "int",
|
|
"show_if": [
|
|
[
|
|
"runAsUser",
|
|
"=",
|
|
0
|
|
]
|
|
],
|
|
"default": 568
|
|
}
|
|
},
|
|
{
|
|
"variable": "UMASK",
|
|
"label": "UMASK",
|
|
"description": "When supported by the container, this sets the UMASK for the App. Not supported by all Apps",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "0022"
|
|
}
|
|
},
|
|
{
|
|
"variable": "advanced",
|
|
"label": "Show Advanced Settings",
|
|
"description": "Advanced settings are not covered by TrueCharts Support",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "privileged",
|
|
"label": "Privileged mode",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "readOnlyRootFilesystem",
|
|
"label": "ReadOnly Root Filesystem",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "pod",
|
|
"label": "Pod",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "fsGroupChangePolicy",
|
|
"label": "When should we take ownership?",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "OnRootMismatch",
|
|
"enum": [
|
|
{
|
|
"value": "OnRootMismatch",
|
|
"description": "OnRootMismatch"
|
|
},
|
|
{
|
|
"value": "Always",
|
|
"description": "Always"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "supplementalGroups",
|
|
"label": "Supplemental Groups",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "supplementalGroupsEntry",
|
|
"label": "Supplemental Group",
|
|
"schema": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "fsGroup",
|
|
"label": "fsGroup",
|
|
"description": "The group that should own ALL storage.",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 1000
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "resources",
|
|
"group": "Resources and Devices",
|
|
"label": "Resource Limits",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "limits",
|
|
"label": "Advanced Limit Resource Consumption",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "cpu",
|
|
"label": "CPU",
|
|
"description": "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/SCALE/validation",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "4000m",
|
|
"valid_chars": "^(?!^0(\\.0|m|)$)([0-9]+)(\\.[0-9]|m?)$"
|
|
}
|
|
},
|
|
{
|
|
"variable": "memory",
|
|
"label": "RAM",
|
|
"description": "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/SCALE/validation",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "8Gi",
|
|
"valid_chars": "^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$"
|
|
}
|
|
},
|
|
{
|
|
"variable": "gpu.intel.com/i915",
|
|
"label": "Add Intel i915 GPUs",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 0
|
|
}
|
|
},
|
|
{
|
|
"variable": "nvidia.com/gpu",
|
|
"label": "Add NVIDIA GPUs (Experimental)",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 0
|
|
}
|
|
},
|
|
{
|
|
"variable": "amd.com/gpu",
|
|
"label": "Add AMD GPUs",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 0
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "requests",
|
|
"label": "Minimum Resources Required (request)",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"hidden": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "cpu",
|
|
"label": "CPU",
|
|
"description": "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/SCALE/validation",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "10m",
|
|
"hidden": true,
|
|
"valid_chars": "^(?!^0(\\.0|m|)$)([0-9]+)(\\.[0-9]|m?)$"
|
|
}
|
|
},
|
|
{
|
|
"variable": "memory",
|
|
"label": "RAM",
|
|
"description": "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/SCALE/validation",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "50Mi",
|
|
"hidden": true,
|
|
"valid_chars": "^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "deviceList",
|
|
"label": "Mount USB Devices",
|
|
"group": "Resources and Devices",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "deviceListEntry",
|
|
"label": "Device",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enable the Storage",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "type",
|
|
"label": "(Advanced) Type of Storage",
|
|
"description": "Sets the persistence type",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "device",
|
|
"hidden": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "readOnly",
|
|
"label": "readOnly",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "hostPath",
|
|
"label": "Host Device Path",
|
|
"description": "Path to the device on the host system",
|
|
"schema": {
|
|
"type": "path"
|
|
}
|
|
},
|
|
{
|
|
"variable": "mountPath",
|
|
"label": "Container Device Path",
|
|
"description": "Path inside the container the device is mounted",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "/dev/ttyACM0"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "cnpg",
|
|
"group": "Postgresql",
|
|
"label": "CloudNative-PG (CNPG)",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "main",
|
|
"label": "Main Postgresql Database",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "hibernate",
|
|
"label": "Hibernate",
|
|
"description": "enable to safely hibernate and shutdown the postgresql cluster",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "mode",
|
|
"label": "Mode",
|
|
"description": "Cluster mode of operation. Available modes: standalone - default mode. Creates new or updates an existing CNPG cluster. recovery - Same as standalone but creates a cluster from a backup, object store or via pg_basebackup replica - Creates a replica cluster from an existing CNPG cluster. # TODO.",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "standalone",
|
|
"enum": [
|
|
{
|
|
"value": "standalone",
|
|
"description": "standalone"
|
|
},
|
|
{
|
|
"value": "replica",
|
|
"description": "replica"
|
|
},
|
|
{
|
|
"value": "recovery",
|
|
"description": "recovery"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "pgVersion",
|
|
"label": "Postgres Version",
|
|
"description": "Set the Postgresql version used",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 16,
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "password",
|
|
"label": "Password",
|
|
"description": "Set the password for the database-user",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "PLACEHOLDERPASSWORD",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "cluster",
|
|
"label": "Cluster Settings",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "instances",
|
|
"label": "Instances",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 1
|
|
}
|
|
},
|
|
{
|
|
"variable": "singleNode",
|
|
"label": "singleNode",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"hidden": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "storage",
|
|
"label": "Storage",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "size",
|
|
"label": "Size",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "256Gi"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "walStorage",
|
|
"label": "WAL Storage",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "size",
|
|
"label": "Size",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "256Gi"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "monitoring",
|
|
"label": "Monitoring Settings",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enablePodMonitor",
|
|
"label": "enablePodMonitor",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "disableDefaultQueries",
|
|
"label": "disableDefaultQueries",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "pooler",
|
|
"label": "Pooler Settings",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "instances",
|
|
"label": "Instances",
|
|
"schema": {
|
|
"type": "int",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": 1
|
|
}
|
|
},
|
|
{
|
|
"variable": "createRO",
|
|
"label": "Create ReadOnly Instance",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": false
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "backups",
|
|
"label": "Backup Settings (Experimental)",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "serverName",
|
|
"label": "serverName",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "revision",
|
|
"label": "revision",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "endpointURL",
|
|
"label": "endpointURL",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "destinationPath",
|
|
"label": "destinationPath",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "retentionPolicy",
|
|
"label": "retentionPolicy",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": "30d"
|
|
}
|
|
},
|
|
{
|
|
"variable": "provider",
|
|
"label": "provider",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": "s3",
|
|
"enum": [
|
|
{
|
|
"value": "s3",
|
|
"description": "S3"
|
|
},
|
|
{
|
|
"value": "azure",
|
|
"description": "Azure"
|
|
},
|
|
{
|
|
"value": "google",
|
|
"description": "Google"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "s3",
|
|
"label": "s3",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"provider",
|
|
"=",
|
|
"s3"
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "region",
|
|
"label": "region",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "bucket",
|
|
"label": "bucket",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "path",
|
|
"label": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "/"
|
|
}
|
|
},
|
|
{
|
|
"variable": "accessKey",
|
|
"label": "accessKey",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "secretKey",
|
|
"label": "secretKey",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "azure",
|
|
"label": "azure (EXTREMELY EXPERIMENTAL)",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"provider",
|
|
"=",
|
|
"azure"
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "path",
|
|
"label": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "/"
|
|
}
|
|
},
|
|
{
|
|
"variable": "connectionString",
|
|
"label": "connectionString",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "storageAccount",
|
|
"label": "storageAccount",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "storageKey",
|
|
"label": "storageKey",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "storageSasToken",
|
|
"label": "storageSasToken",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "containerName",
|
|
"label": "containerName",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "serviceName",
|
|
"label": "serviceName",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "blob"
|
|
}
|
|
},
|
|
{
|
|
"variable": "inheritFromAzureAD",
|
|
"label": "inheritFromAzureAD",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "google",
|
|
"label": "google (EXTREMELY EXPERIMENTAL)",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"provider",
|
|
"=",
|
|
"google"
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "path",
|
|
"label": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "/"
|
|
}
|
|
},
|
|
{
|
|
"variable": "bucket",
|
|
"label": "bucket",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "gkeEnvironment",
|
|
"label": "gkeEnvironment",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "applicationCredentials",
|
|
"label": "applicationCredentials",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "recovery",
|
|
"label": "Recovery Settings (Experimental)",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "serverName",
|
|
"label": "serverName",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "revision",
|
|
"label": "revision",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "endpointURL",
|
|
"label": "endpointURL",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "method",
|
|
"label": "method",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": "object_store"
|
|
}
|
|
},
|
|
{
|
|
"variable": "backupName",
|
|
"label": "backupName",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "provider",
|
|
"label": "provider",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": "s3",
|
|
"enum": [
|
|
{
|
|
"value": "s3",
|
|
"description": "S3"
|
|
},
|
|
{
|
|
"value": "azure",
|
|
"description": "Azure"
|
|
},
|
|
{
|
|
"value": "google",
|
|
"description": "Google"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "s3",
|
|
"label": "s3",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"provider",
|
|
"=",
|
|
"s3"
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "region",
|
|
"label": "region",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "bucket",
|
|
"label": "bucket",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "path",
|
|
"label": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "/"
|
|
}
|
|
},
|
|
{
|
|
"variable": "accessKey",
|
|
"label": "accessKey",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "secretKey",
|
|
"label": "secretKey",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "azure",
|
|
"label": "azure (EXTREMELY EXPERIMENTAL)",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"provider",
|
|
"=",
|
|
"azure"
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "path",
|
|
"label": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "/"
|
|
}
|
|
},
|
|
{
|
|
"variable": "connectionString",
|
|
"label": "connectionString",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "storageAccount",
|
|
"label": "storageAccount",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "storageKey",
|
|
"label": "storageKey",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "storageSasToken",
|
|
"label": "storageSasToken",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "containerName",
|
|
"label": "containerName",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "serviceName",
|
|
"label": "serviceName",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "blob"
|
|
}
|
|
},
|
|
{
|
|
"variable": "inheritFromAzureAD",
|
|
"label": "inheritFromAzureAD",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "google",
|
|
"label": "google (EXTREMELY EXPERIMENTAL)",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"provider",
|
|
"=",
|
|
"google"
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "path",
|
|
"label": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "/"
|
|
}
|
|
},
|
|
{
|
|
"variable": "bucket",
|
|
"label": "bucket",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "gkeEnvironment",
|
|
"label": "gkeEnvironment",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "applicationCredentials",
|
|
"label": "applicationCredentials",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "networkPolicy",
|
|
"group": "Advanced",
|
|
"label": "(Advanced) Network Policy",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "netPolicyEntry",
|
|
"label": "Network Policy Entry",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "policyType",
|
|
"label": "Policy Type",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"enum": [
|
|
{
|
|
"value": "",
|
|
"description": "Default"
|
|
},
|
|
{
|
|
"value": "ingress",
|
|
"description": "Ingress"
|
|
},
|
|
{
|
|
"value": "egress",
|
|
"description": "Egress"
|
|
},
|
|
{
|
|
"value": "ingress-egress",
|
|
"description": "Ingress and Egress"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "egress",
|
|
"label": "Egress",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "egressEntry",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "to",
|
|
"label": "To",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "toEntry",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "ipBlock",
|
|
"label": "IP Block",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "cidr",
|
|
"label": "CIDR",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "except",
|
|
"label": "Except",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "exceptint",
|
|
"label": "",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "namespaceSelector",
|
|
"label": "Namespace Selector",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "matchExpressions",
|
|
"label": "Match Expressions",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "expressionEntry",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "key",
|
|
"label": "Key",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"variable": "operator",
|
|
"label": "Operator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "TCP",
|
|
"enum": [
|
|
{
|
|
"value": "In",
|
|
"description": "In"
|
|
},
|
|
{
|
|
"value": "NotIn",
|
|
"description": "NotIn"
|
|
},
|
|
{
|
|
"value": "Exists",
|
|
"description": "Exists"
|
|
},
|
|
{
|
|
"value": "DoesNotExist",
|
|
"description": "DoesNotExist"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "values",
|
|
"label": "Values",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "value",
|
|
"label": "",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "podSelector",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "matchExpressions",
|
|
"label": "Match Expressions",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "expressionEntry",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "key",
|
|
"label": "Key",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"variable": "operator",
|
|
"label": "Operator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "TCP",
|
|
"enum": [
|
|
{
|
|
"value": "In",
|
|
"description": "In"
|
|
},
|
|
{
|
|
"value": "NotIn",
|
|
"description": "NotIn"
|
|
},
|
|
{
|
|
"value": "Exists",
|
|
"description": "Exists"
|
|
},
|
|
{
|
|
"value": "DoesNotExist",
|
|
"description": "DoesNotExist"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "values",
|
|
"label": "Values",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "value",
|
|
"label": "",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ports",
|
|
"label": "Ports",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "portsEntry",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "port",
|
|
"label": "Port",
|
|
"schema": {
|
|
"type": "int"
|
|
}
|
|
},
|
|
{
|
|
"variable": "endPort",
|
|
"label": "End Port",
|
|
"schema": {
|
|
"type": "int"
|
|
}
|
|
},
|
|
{
|
|
"variable": "protocol",
|
|
"label": "Protocol",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "TCP",
|
|
"enum": [
|
|
{
|
|
"value": "TCP",
|
|
"description": "TCP"
|
|
},
|
|
{
|
|
"value": "UDP",
|
|
"description": "UDP"
|
|
},
|
|
{
|
|
"value": "SCTP",
|
|
"description": "SCTP"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ingress",
|
|
"label": "Ingress",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "ingressEntry",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "from",
|
|
"label": "From",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "fromEntry",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "ipBlock",
|
|
"label": "IP Block",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "cidr",
|
|
"label": "CIDR",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "except",
|
|
"label": "Except",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "exceptint",
|
|
"label": "",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "namespaceSelector",
|
|
"label": "Namespace Selector",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "matchExpressions",
|
|
"label": "Match Expressions",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "expressionEntry",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "key",
|
|
"label": "Key",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"variable": "operator",
|
|
"label": "Operator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "TCP",
|
|
"enum": [
|
|
{
|
|
"value": "In",
|
|
"description": "In"
|
|
},
|
|
{
|
|
"value": "NotIn",
|
|
"description": "NotIn"
|
|
},
|
|
{
|
|
"value": "Exists",
|
|
"description": "Exists"
|
|
},
|
|
{
|
|
"value": "DoesNotExist",
|
|
"description": "DoesNotExist"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "values",
|
|
"label": "Values",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "value",
|
|
"label": "",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "podSelector",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "matchExpressions",
|
|
"label": "Match Expressions",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "expressionEntry",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "key",
|
|
"label": "Key",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"variable": "operator",
|
|
"label": "Operator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "TCP",
|
|
"enum": [
|
|
{
|
|
"value": "In",
|
|
"description": "In"
|
|
},
|
|
{
|
|
"value": "NotIn",
|
|
"description": "NotIn"
|
|
},
|
|
{
|
|
"value": "Exists",
|
|
"description": "Exists"
|
|
},
|
|
{
|
|
"value": "DoesNotExist",
|
|
"description": "DoesNotExist"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "values",
|
|
"label": "Values",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "value",
|
|
"label": "",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ports",
|
|
"label": "Ports",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "portsEntry",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "port",
|
|
"label": "Port",
|
|
"schema": {
|
|
"type": "int"
|
|
}
|
|
},
|
|
{
|
|
"variable": "endPort",
|
|
"label": "End Port",
|
|
"schema": {
|
|
"type": "int"
|
|
}
|
|
},
|
|
{
|
|
"variable": "protocol",
|
|
"label": "Protocol",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "TCP",
|
|
"enum": [
|
|
{
|
|
"value": "TCP",
|
|
"description": "TCP"
|
|
},
|
|
{
|
|
"value": "UDP",
|
|
"description": "UDP"
|
|
},
|
|
{
|
|
"value": "SCTP",
|
|
"description": "SCTP"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "addons",
|
|
"group": "Addons",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "codeserver",
|
|
"label": "Codeserver",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "service",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "type",
|
|
"label": "Service Type",
|
|
"description": "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "LoadBalancer",
|
|
"enum": [
|
|
{
|
|
"value": "NodePort",
|
|
"description": "Deprecated CHANGE THIS"
|
|
},
|
|
{
|
|
"value": "ClusterIP",
|
|
"description": "ClusterIP"
|
|
},
|
|
{
|
|
"value": "LoadBalancer",
|
|
"description": "LoadBalancer"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "loadBalancerIP",
|
|
"label": "LoadBalancer IP",
|
|
"description": "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"LoadBalancer"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "ports",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "codeserver",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "port",
|
|
"label": "Port",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 36107
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ingress",
|
|
"label": "Ingress",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enable Ingress",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "hosts",
|
|
"label": "Hosts",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "hostEntry",
|
|
"label": "Host",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "host",
|
|
"label": "HostName",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "paths",
|
|
"label": "Paths",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [
|
|
{
|
|
"path": "/",
|
|
"pathType": "Prefix"
|
|
}
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "pathEntry",
|
|
"label": "Host",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "path",
|
|
"label": "Path",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "/"
|
|
}
|
|
},
|
|
{
|
|
"variable": "pathType",
|
|
"label": "Path Type",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "Prefix"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "integrations",
|
|
"label": "Integrations",
|
|
"description": "Connect ingress with other charts",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "traefik",
|
|
"label": "Traefik",
|
|
"description": "Connect ingress with Traefik",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "allowCors",
|
|
"label": "Allow Cross Origin Requests (advanced)",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "entrypoints",
|
|
"label": "Entrypoints",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [
|
|
"websecure"
|
|
],
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "entrypoint",
|
|
"label": "Entrypoint",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "middlewares",
|
|
"label": "Middlewares",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "middleware",
|
|
"label": "Middleware",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "name",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "namespace",
|
|
"label": "namespace (optional)",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "certManager",
|
|
"label": "certManager",
|
|
"description": "Connect ingress with certManager",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "certificateIssuer",
|
|
"label": "certificateIssuer",
|
|
"description": "defaults to chartname",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "advanced",
|
|
"label": "Show Advanced Settings",
|
|
"description": "Advanced settings are not covered by TrueCharts Support",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "ingressClassName",
|
|
"label": "(Advanced/Optional) IngressClass Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"advanced",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "tls",
|
|
"label": "TLS-Settings",
|
|
"schema": {
|
|
"type": "list",
|
|
"show_if": [
|
|
[
|
|
"advanced",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "tlsEntry",
|
|
"label": "Host",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "hosts",
|
|
"label": "Certificate Hosts",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "host",
|
|
"label": "Host",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "certificateIssuer",
|
|
"label": "Use Cert-Manager clusterIssuer",
|
|
"description": "add the name of your cert-manager clusterIssuer here for automatic tls certificates.",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "clusterCertificate",
|
|
"label": "Cluster Certificate (Advanced)",
|
|
"description": "Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"certificateIssuer",
|
|
"=",
|
|
""
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "secretName",
|
|
"label": "Use Custom Certificate Secret (Advanced)",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"certificateIssuer",
|
|
"=",
|
|
""
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "scaleCert",
|
|
"label": "Use TrueNAS SCALE Certificate (Deprecated)",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"certificateIssuer",
|
|
"=",
|
|
""
|
|
]
|
|
],
|
|
"type": "int",
|
|
"$ref": [
|
|
"definitions/certificate"
|
|
],
|
|
"enum": [
|
|
{
|
|
"value": null,
|
|
"description": "No Certificate"
|
|
}
|
|
],
|
|
"default": null,
|
|
"null": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "envList",
|
|
"label": "Codeserver Environment Variables",
|
|
"schema": {
|
|
"type": "list",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "envItem",
|
|
"label": "Environment Variable",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "value",
|
|
"label": "Value",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "netshoot",
|
|
"label": "Netshoot",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "envList",
|
|
"label": "Netshoot Environment Variables",
|
|
"schema": {
|
|
"type": "list",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "envItem",
|
|
"label": "Environment Variable",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "value",
|
|
"label": "Value",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "vpn",
|
|
"label": "VPN",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "type",
|
|
"label": "Type",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "disabled",
|
|
"enum": [
|
|
{
|
|
"value": "disabled",
|
|
"description": "disabled"
|
|
},
|
|
{
|
|
"value": "gluetun",
|
|
"description": "Gluetun"
|
|
},
|
|
{
|
|
"value": "tailscale",
|
|
"description": "Tailscale"
|
|
},
|
|
{
|
|
"value": "openvpn",
|
|
"description": "OpenVPN (Deprecated)"
|
|
},
|
|
{
|
|
"value": "wireguard",
|
|
"description": "Wireguard (Deprecated)"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "openvpn",
|
|
"label": "OpenVPN Settings",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"openvpn"
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "username",
|
|
"label": "Authentication Username (Optional)",
|
|
"description": "Authentication Username, Optional",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "password",
|
|
"label": "Authentication Password",
|
|
"description": "Authentication Credentials",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"username",
|
|
"!=",
|
|
""
|
|
]
|
|
],
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "tailscale",
|
|
"label": "Tailscale Settings",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"tailscale"
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "authkey",
|
|
"label": "Authentication Key",
|
|
"description": "Provide an auth key to automatically authenticate the node as your user account.",
|
|
"schema": {
|
|
"type": "string",
|
|
"private": true,
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "auth_once",
|
|
"label": "Auth Once",
|
|
"description": "Only attempt to log in if not already logged in.",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "accept_dns",
|
|
"label": "Accept DNS",
|
|
"description": "Accept DNS configuration from the admin console.",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "userspace",
|
|
"label": "Userspace",
|
|
"description": "Userspace Networking mode allows running Tailscale where you do not have access to create a VPN tunnel device.",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "routes",
|
|
"label": "Routes",
|
|
"description": "Expose physical subnet routes to your entire Tailscale network.",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "dest_ip",
|
|
"label": "Destination IP",
|
|
"description": "Tells the DNAT mechanism which Destination IP to set in the IP header, and where to send packets that are matched.",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "sock5_server",
|
|
"label": "Sock5 Server",
|
|
"description": "The address on which to listen for SOCKS5 proxying into the tailscale net.",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "outbound_http_proxy_listen",
|
|
"label": "Outbound HTTP Proxy Listen",
|
|
"description": "The address on which to listen for HTTP proxying into the tailscale net.",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "extra_args",
|
|
"label": "Extra Args",
|
|
"description": "Extra Args",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "daemon_extra_args",
|
|
"label": "Tailscale Daemon Extra Args",
|
|
"description": "Tailscale Daemon Extra Args",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "killSwitch",
|
|
"label": "Enable Killswitch",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "excludedNetworks_IPv4",
|
|
"label": "Killswitch Excluded IPv4 networks",
|
|
"description": "List of Killswitch Excluded IPv4 Addresses",
|
|
"schema": {
|
|
"type": "list",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "networkv4",
|
|
"label": "IPv4 Network",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "excludedNetworks_IPv6",
|
|
"label": "Killswitch Excluded IPv6 networks",
|
|
"description": "List of Killswitch Excluded IPv6 Addresses",
|
|
"schema": {
|
|
"type": "list",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "networkv6",
|
|
"label": "IPv6 Network",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "configFile",
|
|
"label": "VPN Config File Location",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "envList",
|
|
"label": "VPN Environment Variables",
|
|
"schema": {
|
|
"type": "list",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "envItem",
|
|
"label": "Environment Variable",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "value",
|
|
"label": "Value",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"max_length": 10240
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "docs",
|
|
"group": "Documentation",
|
|
"label": "Please read the documentation at https://truecharts.org",
|
|
"description": "Please read the documentation at <br /><a href=\"https://truecharts.org\">https://truecharts.org</a>",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "confirmDocs",
|
|
"label": "I have checked the documentation",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "donateNag",
|
|
"group": "Documentation",
|
|
"label": "Please consider supporting TrueCharts, see https://truecharts.org/sponsor",
|
|
"description": "Please consider supporting TrueCharts, see <br /><a href=\"https://truecharts.org/sponsor\">https://truecharts.org/sponsor</a>",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "confirmDonate",
|
|
"label": "I have considered donating",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"hidden": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"app_readme": "<p>Self hosted GIT repositories</p>\n<p>This App is supplied by TrueCharts, for more information visit the manual: <a href=\"https://truecharts.org/charts/stable/gitea\">https://truecharts.org/charts/stable/gitea</a></p>\n<hr />\n<p>TrueCharts can only exist due to the incredible effort of our staff.\nPlease consider making a <a href=\"https://truecharts.org/sponsor\">donation</a> or contributing back to the project any way you can!</p>",
|
|
"detailed_readme": "<hr />\n<h2>title: README</h2>\n<h2>General Info</h2>\n<p>TrueCharts can be installed as both <em>normal</em> Helm Charts or as Apps on TrueNAS SCALE.\nHowever only installations using the TrueNAS SCALE Apps system are supported.</p>\n<p>For more information about this App, please check the docs on the TrueCharts <a href=\"https://truecharts.org/charts/stable/gitea\">website</a></p>\n<p><strong>This chart is not maintained by the upstream project and any issues with the chart should be raised <a href=\"https://github.com/truecharts/charts/issues/new/choose\">here</a></strong></p>\n<h2>Support</h2>\n<ul>\n<li>Please check our <a href=\"https://truecharts.org/manual/SCALE/guides/scale-intro\">quick-start guides for TrueNAS SCALE</a>.</li>\n<li>See the <a href=\"https://truecharts.org\">Website</a></li>\n<li>Check our <a href=\"https://discord.gg/tVsPTHWTtr\">Discord</a></li>\n<li>Open a <a href=\"https://github.com/truecharts/charts/issues/new/choose\">issue</a></li>\n</ul>\n<hr />\n<h2>Sponsor TrueCharts</h2>\n<p>TrueCharts can only exist due to the incredible effort of our staff.\nPlease consider making a <a href=\"https://truecharts.org/sponsor\">donation</a> or contributing back to the project any way you can!</p>\n<p><em>All Rights Reserved - The TrueCharts Project</em></p>",
|
|
"changelog": "<p><em>for the complete changelog, please refer to the website</em></p>\n<p><strong>Important:</strong></p>"
|
|
},
|
|
"17.4.0": {
|
|
"healthy": true,
|
|
"supported": true,
|
|
"healthy_error": null,
|
|
"location": "/home/runner/work/catalog/catalog/stable/gitea/17.4.0",
|
|
"last_update": "2024-04-21 06:48:05",
|
|
"required_features": [
|
|
"normalize/interfaceConfiguration",
|
|
"definitions/gpuConfiguration",
|
|
"definitions/timezone",
|
|
"definitions/certificate",
|
|
"definitions/nodeIP",
|
|
"definitions/interface"
|
|
],
|
|
"human_version": "1.21.5_17.4.0",
|
|
"version": "17.4.0",
|
|
"chart_metadata": {
|
|
"annotations": {
|
|
"max_scale_version": "24.04.0",
|
|
"min_scale_version": "23.10.0",
|
|
"truecharts.org/SCALE-support": "true",
|
|
"truecharts.org/category": "GIT",
|
|
"truecharts.org/max_helm_version": "3.14",
|
|
"truecharts.org/min_helm_version": "3.12",
|
|
"truecharts.org/train": "stable"
|
|
},
|
|
"apiVersion": "v2",
|
|
"appVersion": "1.21.5",
|
|
"dependencies": [
|
|
{
|
|
"name": "common",
|
|
"version": "17.5.0",
|
|
"repository": "oci://tccr.io/truecharts",
|
|
"condition": "",
|
|
"alias": "",
|
|
"tags": [],
|
|
"import-values": []
|
|
},
|
|
{
|
|
"name": "memcached",
|
|
"version": "11.2.1",
|
|
"repository": "oci://tccr.io/truecharts",
|
|
"condition": "memcached.enabled",
|
|
"alias": "",
|
|
"tags": [],
|
|
"import-values": []
|
|
}
|
|
],
|
|
"deprecated": false,
|
|
"description": "Self hosted GIT repositories",
|
|
"home": "https://truecharts.org/charts/stable/gitea",
|
|
"icon": "https://truecharts.org/img/hotlink-ok/chart-icons/gitea.png",
|
|
"keywords": [
|
|
"git",
|
|
"issue tracker",
|
|
"code review",
|
|
"wiki",
|
|
"gitea",
|
|
"gogs"
|
|
],
|
|
"kubeVersion": ">=1.24.0-0",
|
|
"maintainers": [
|
|
{
|
|
"name": "TrueCharts",
|
|
"email": "info@truecharts.org",
|
|
"url": "https://truecharts.org"
|
|
}
|
|
],
|
|
"name": "gitea",
|
|
"sources": [
|
|
"https://gitea.com/gitea/helm-chart",
|
|
"https://github.com/go-gitea/gitea",
|
|
"https://github.com/truecharts/charts/tree/master/charts/stable/gitea",
|
|
"https://hub.docker.com/r/gitea/gitea"
|
|
],
|
|
"type": "application",
|
|
"version": "17.4.0"
|
|
},
|
|
"app_metadata": null,
|
|
"schema": {
|
|
"groups": [
|
|
{
|
|
"name": "Container Image",
|
|
"description": "Image to be used for container"
|
|
},
|
|
{
|
|
"name": "General Settings",
|
|
"description": "General Deployment Settings"
|
|
},
|
|
{
|
|
"name": "Workload Settings",
|
|
"description": "Workload Settings"
|
|
},
|
|
{
|
|
"name": "App Configuration",
|
|
"description": "App Specific Config Options"
|
|
},
|
|
{
|
|
"name": "Networking and Services",
|
|
"description": "Configure Network and Services for Container"
|
|
},
|
|
{
|
|
"name": "Storage and Persistence",
|
|
"description": "Persist and Share Data that is Separate from the Container"
|
|
},
|
|
{
|
|
"name": "Ingress",
|
|
"description": "Ingress Configuration"
|
|
},
|
|
{
|
|
"name": "Security and Permissions",
|
|
"description": "Configure Security Context and Permissions"
|
|
},
|
|
{
|
|
"name": "Resources and Devices",
|
|
"description": "Specify Resources/Devices to be Allocated to Workload"
|
|
},
|
|
{
|
|
"name": "Middlewares",
|
|
"description": "Traefik Middlewares"
|
|
},
|
|
{
|
|
"name": "Metrics",
|
|
"description": "Metrics"
|
|
},
|
|
{
|
|
"name": "Addons",
|
|
"description": "Addon Configuration"
|
|
},
|
|
{
|
|
"name": "Backup Configuration",
|
|
"description": "Configure Velero Backup Schedule"
|
|
},
|
|
{
|
|
"name": "Advanced",
|
|
"description": "Advanced Configuration"
|
|
},
|
|
{
|
|
"name": "Postgresql",
|
|
"description": "Postgresql"
|
|
},
|
|
{
|
|
"name": "Documentation",
|
|
"description": "Documentation"
|
|
}
|
|
],
|
|
"portals": {
|
|
"open": {
|
|
"protocols": [
|
|
"$kubernetes-resource_configmap_tcportal-open_protocol"
|
|
],
|
|
"host": [
|
|
"$kubernetes-resource_configmap_tcportal-open_host"
|
|
],
|
|
"ports": [
|
|
"$kubernetes-resource_configmap_tcportal-open_port"
|
|
]
|
|
}
|
|
},
|
|
"questions": [
|
|
{
|
|
"variable": "global",
|
|
"group": "General Settings",
|
|
"label": "Global Settings",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "stopAll",
|
|
"label": "Stop All",
|
|
"description": "Stops All Running pods and hibernates cnpg",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "workload",
|
|
"group": "Workload Settings",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "main",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "type",
|
|
"label": "Type (Advanced)",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "Deployment",
|
|
"enum": [
|
|
{
|
|
"value": "Deployment",
|
|
"description": "Deployment"
|
|
},
|
|
{
|
|
"value": "DaemonSet",
|
|
"description": "DaemonSet"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "replicas",
|
|
"label": "Replicas (Advanced)",
|
|
"description": "Set the number of Replicas",
|
|
"schema": {
|
|
"type": "int",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"!=",
|
|
"DaemonSet"
|
|
]
|
|
],
|
|
"default": 1
|
|
}
|
|
},
|
|
{
|
|
"variable": "podSpec",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "containers",
|
|
"label": "Containers",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "main",
|
|
"label": "Main Container",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "envList",
|
|
"label": "Extra Environment Variables",
|
|
"description": "Please be aware that some variables are set in the background, adding duplicates here might cause issues or prevent the app from starting...",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "envItem",
|
|
"label": "Environment Variable",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"variable": "value",
|
|
"label": "Value",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "extraArgs",
|
|
"label": "Extra Args",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "arg",
|
|
"label": "Arg",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "advanced",
|
|
"label": "Show Advanced Settings",
|
|
"description": "Advanced settings are not covered by TrueCharts Support",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "command",
|
|
"label": "Command",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "param",
|
|
"label": "Param",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "TZ",
|
|
"label": "Timezone",
|
|
"group": "General Settings",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "America/Los_Angeles",
|
|
"$ref": [
|
|
"definitions/timezone"
|
|
],
|
|
"enum": [
|
|
{
|
|
"value": "Asia/Damascus",
|
|
"description": "'Asia/Damascus' timezone"
|
|
},
|
|
{
|
|
"value": "Asia/Saigon",
|
|
"description": "'Asia/Saigon' timezone"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "podOptions",
|
|
"group": "General Settings",
|
|
"label": "Global Pod Options (Advanced)",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "expertPodOpts",
|
|
"label": "Expert - Pod Options",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "hostNetwork",
|
|
"label": "Host Networking",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "dnsConfig",
|
|
"label": "DNS Configuration",
|
|
"schema": {
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "options",
|
|
"label": "Options",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [
|
|
{
|
|
"name": "ndots",
|
|
"value": "1"
|
|
}
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "optionsEntry",
|
|
"label": "Option Entry",
|
|
"schema": {
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "value",
|
|
"label": "Value",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "nameservers",
|
|
"label": "Nameservers",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "nsEntry",
|
|
"label": "Nameserver Entry",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "searches",
|
|
"label": "Searches",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "searchEntry",
|
|
"label": "Search Entry",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "imagePullSecretList",
|
|
"group": "General Settings",
|
|
"label": "Image Pull Secrets",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "pullsecretentry",
|
|
"label": "Pull Secret",
|
|
"schema": {
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "data",
|
|
"label": "Data",
|
|
"schema": {
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "registry",
|
|
"label": "Registry",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "https://index.docker.io/v1/"
|
|
}
|
|
},
|
|
{
|
|
"variable": "username",
|
|
"label": "Username",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "password",
|
|
"label": "Password",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"private": true,
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "email",
|
|
"label": "Email",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "admin",
|
|
"group": "App Configuration",
|
|
"label": "Admin Credentials",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "username",
|
|
"label": "username",
|
|
"schema": {
|
|
"type": "string",
|
|
"valid_chars": "^(?!^admin$).*$",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "password",
|
|
"label": "password",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"private": true,
|
|
"min_length": 8
|
|
}
|
|
},
|
|
{
|
|
"variable": "email",
|
|
"label": "email",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "config",
|
|
"group": "App Configuration",
|
|
"label": "Admin Configuration",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "APP_NAME",
|
|
"label": "APP_NAME",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "Gitea",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "RUN_MODE",
|
|
"label": "RUN_MODE",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "prod",
|
|
"enum": [
|
|
{
|
|
"value": "prod",
|
|
"description": "Production"
|
|
},
|
|
{
|
|
"value": "dev",
|
|
"description": "Development"
|
|
},
|
|
{
|
|
"value": "test",
|
|
"description": "Testing"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ALLOWED_HOST_LIST",
|
|
"label": "ALLOWED_HOST_LIST",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "127.0.0.1",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "nodeIP",
|
|
"label": "Node IP",
|
|
"description": "Used to generate configuration, when installed without ingress",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"$ref": [
|
|
"definitions/nodeIP"
|
|
],
|
|
"default": "192.168.0.10"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "customConfig",
|
|
"group": "App Configuration",
|
|
"label": "Custom Configuration parameters",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "catagoryItem",
|
|
"label": "Category",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Config Category Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "keys",
|
|
"label": "Configuration Parameters",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "configItem",
|
|
"label": "parameter",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Parameter Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "value",
|
|
"label": "Parameter Value",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "service",
|
|
"group": "Networking and Services",
|
|
"label": "Configure Service(s)",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "main",
|
|
"label": "Main Service",
|
|
"description": "The Primary service on which the healthcheck runs, often the webUI",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enable the Service",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"hidden": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "type",
|
|
"label": "Service Type",
|
|
"description": "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "LoadBalancer",
|
|
"enum": [
|
|
{
|
|
"value": "LoadBalancer",
|
|
"description": "LoadBalancer (Expose Ports)"
|
|
},
|
|
{
|
|
"value": "ClusterIP",
|
|
"description": "ClusterIP (Do Not Expose Ports)"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "loadBalancerIP",
|
|
"label": "LoadBalancer IP",
|
|
"description": "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"LoadBalancer"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "ports",
|
|
"label": "Service's Port(s) Configuration",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "main",
|
|
"label": "Main Service Port Configuration",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "port",
|
|
"label": "Port",
|
|
"description": "This port exposes the container port on the service",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 10037,
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ssh",
|
|
"label": "SSH Service",
|
|
"description": "The SSH service",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enable the Service",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"hidden": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "type",
|
|
"label": "Service Type",
|
|
"description": "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "LoadBalancer",
|
|
"enum": [
|
|
{
|
|
"value": "LoadBalancer",
|
|
"description": "LoadBalancer (Expose Ports)"
|
|
},
|
|
{
|
|
"value": "ClusterIP",
|
|
"description": "ClusterIP (Do Not Expose Ports)"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "loadBalancerIP",
|
|
"label": "LoadBalancer IP",
|
|
"description": "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"LoadBalancer"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "ports",
|
|
"label": "Service's Port(s) Configuration",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "ssh",
|
|
"label": "SSH Service Port Configuration",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "port",
|
|
"label": "Port",
|
|
"description": "This port exposes the container port on the service",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 2222,
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "serviceexpert",
|
|
"group": "Networking and Services",
|
|
"label": "Show Expert Config",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "scaleExternalInterface",
|
|
"description": "Add External Interfaces",
|
|
"label": "Add external Interfaces",
|
|
"group": "Networking",
|
|
"schema": {
|
|
"type": "list",
|
|
"items": [
|
|
{
|
|
"variable": "interfaceConfiguration",
|
|
"description": "Interface Configuration",
|
|
"label": "Interface Configuration",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"$ref": [
|
|
"normalize/interfaceConfiguration"
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "hostInterface",
|
|
"description": "Please Specify Host Interface",
|
|
"label": "Host Interface",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"$ref": [
|
|
"definitions/interface"
|
|
],
|
|
"enum": []
|
|
}
|
|
},
|
|
{
|
|
"variable": "ipam",
|
|
"description": "Define how IP Address will be managed",
|
|
"label": "IP Address Management",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"required": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "type",
|
|
"description": "Specify type for IPAM",
|
|
"label": "IPAM Type",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"enum": [
|
|
{
|
|
"value": "dhcp",
|
|
"description": "Use DHCP"
|
|
},
|
|
{
|
|
"value": "static",
|
|
"description": "Use Static IP"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "staticIPConfigurations",
|
|
"label": "Static IP Addresses",
|
|
"schema": {
|
|
"type": "list",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"static"
|
|
]
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "staticIP",
|
|
"label": "Static IP",
|
|
"schema": {
|
|
"type": "ipaddr",
|
|
"cidr": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "staticRoutes",
|
|
"label": "Static Routes",
|
|
"schema": {
|
|
"type": "list",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"static"
|
|
]
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "staticRouteConfiguration",
|
|
"label": "Static Route Configuration",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "destination",
|
|
"label": "Destination",
|
|
"schema": {
|
|
"type": "ipaddr",
|
|
"cidr": true,
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "gateway",
|
|
"label": "Gateway",
|
|
"schema": {
|
|
"type": "ipaddr",
|
|
"cidr": false,
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "serviceList",
|
|
"label": "Add Manual Custom Services",
|
|
"group": "Networking and Services",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "serviceListEntry",
|
|
"label": "Custom Service",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enable the service",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"hidden": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "type",
|
|
"label": "Service Type",
|
|
"description": "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "LoadBalancer",
|
|
"enum": [
|
|
{
|
|
"value": "LoadBalancer",
|
|
"description": "LoadBalancer (Expose Ports)"
|
|
},
|
|
{
|
|
"value": "ClusterIP",
|
|
"description": "ClusterIP (Do Not Expose Ports)"
|
|
},
|
|
{
|
|
"value": "Simple",
|
|
"description": "Deprecated CHANGE THIS"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "loadBalancerIP",
|
|
"label": "LoadBalancer IP",
|
|
"description": "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"LoadBalancer"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "advancedsvcset",
|
|
"label": "Show Advanced Service Settings",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "externalIPs",
|
|
"label": "External IP's",
|
|
"description": "External IP's",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "externalIP",
|
|
"label": "External IP",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ipFamilyPolicy",
|
|
"label": "IP Family Policy",
|
|
"description": "Specify the IP Policy",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "SingleStack",
|
|
"enum": [
|
|
{
|
|
"value": "SingleStack",
|
|
"description": "SingleStack"
|
|
},
|
|
{
|
|
"value": "PreferDualStack",
|
|
"description": "PreferDualStack"
|
|
},
|
|
{
|
|
"value": "RequireDualStack",
|
|
"description": "RequireDualStack"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ipFamilies",
|
|
"label": "IP Families",
|
|
"description": "(Advanced) The IP Families that should be used",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "ipFamily",
|
|
"label": "IP Family",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "portsList",
|
|
"label": "Additional Service Ports",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "portsListEntry",
|
|
"label": "Custom ports",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enable the Port",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"hidden": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "name",
|
|
"label": "Port Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "protocol",
|
|
"label": "Port Type",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "tcp",
|
|
"enum": [
|
|
{
|
|
"value": "http",
|
|
"description": "HTTP"
|
|
},
|
|
{
|
|
"value": "https",
|
|
"description": "HTTPS"
|
|
},
|
|
{
|
|
"value": "tcp",
|
|
"description": "TCP"
|
|
},
|
|
{
|
|
"value": "udp",
|
|
"description": "UDP"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "targetPort",
|
|
"label": "Target Port",
|
|
"description": "This port exposes the container port on the service",
|
|
"schema": {
|
|
"type": "int",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "port",
|
|
"label": "Container Port",
|
|
"schema": {
|
|
"type": "int",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "persistence",
|
|
"label": "Integrated Persistent Storage",
|
|
"description": "Integrated Persistent Storage",
|
|
"group": "Storage and Persistence",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "data",
|
|
"label": "App data Storage",
|
|
"description": "Stores the Application Configuration.",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "type",
|
|
"label": "Type of Storage",
|
|
"description": "Sets the persistence type, Anything other than PVC could break rollback!",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "pvc",
|
|
"enum": [
|
|
{
|
|
"value": "pvc",
|
|
"description": "PVC"
|
|
},
|
|
{
|
|
"value": "hostPath",
|
|
"description": "Host Path"
|
|
},
|
|
{
|
|
"value": "emptyDir",
|
|
"description": "emptyDir"
|
|
},
|
|
{
|
|
"value": "nfs",
|
|
"description": "NFS Share"
|
|
},
|
|
{
|
|
"value": "iscsi",
|
|
"description": "iSCSI Share"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "server",
|
|
"label": "NFS Server",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"nfs"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "path",
|
|
"label": "Path on NFS Server",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"nfs"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "iscsi",
|
|
"label": "iSCSI Options",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"iscsi"
|
|
]
|
|
],
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "targetPortal",
|
|
"label": "targetPortal",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "iqn",
|
|
"label": "iqn",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "lun",
|
|
"label": "lun",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 0
|
|
}
|
|
},
|
|
{
|
|
"variable": "authSession",
|
|
"label": "authSession",
|
|
"schema": {
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "username",
|
|
"label": "username",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "password",
|
|
"label": "password",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "usernameInitiator",
|
|
"label": "usernameInitiator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "passwordInitiator",
|
|
"label": "passwordInitiator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "authDiscovery",
|
|
"label": "authDiscovery",
|
|
"schema": {
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "username",
|
|
"label": "username",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "password",
|
|
"label": "password",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "usernameInitiator",
|
|
"label": "usernameInitiator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "passwordInitiator",
|
|
"label": "passwordInitiator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "autoPermissions",
|
|
"label": "Automatic Permissions Configuration",
|
|
"description": "Automatically set permissions",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"!=",
|
|
"pvc"
|
|
]
|
|
],
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "chown",
|
|
"label": "Run CHOWN",
|
|
"description": "It will run CHOWN on the path with the given fsGroup\n",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "chmod",
|
|
"label": "Run CHMOD",
|
|
"description": "It will run CHMOD on the path with the given value</br>\nFormat should be 3 digits, e.g. 770\n",
|
|
"schema": {
|
|
"type": "string",
|
|
"valid_chars": "[0-9]{3}",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "recursive",
|
|
"label": "Recursive",
|
|
"description": "It will run CHOWN and CHMOD recursively\n",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "readOnly",
|
|
"label": "Read Only",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "hostPath",
|
|
"label": "Host Path",
|
|
"description": "Path inside the container the storage is mounted",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"hostPath"
|
|
]
|
|
],
|
|
"type": "hostpath"
|
|
}
|
|
},
|
|
{
|
|
"variable": "medium",
|
|
"label": "EmptyDir Medium",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"emptyDir"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": "",
|
|
"enum": [
|
|
{
|
|
"value": "",
|
|
"description": "Default"
|
|
},
|
|
{
|
|
"value": "Memory",
|
|
"description": "Memory"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "size",
|
|
"label": "Size quotum of Storage (Do NOT REDUCE after installation)",
|
|
"description": "This value can ONLY be INCREASED after the installation",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"pvc"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": "256Gi"
|
|
}
|
|
},
|
|
{
|
|
"variable": "storageClass",
|
|
"label": "storageClass (Advanced)",
|
|
"description": "sets the storageClass to something other than iX default. Only for advanced usecases!",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"pvc"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "static",
|
|
"label": "Static Fixed PVC Bindings (Experimental)",
|
|
"description": "Link a PVC to a specific storage location",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"pvc"
|
|
]
|
|
],
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "mode",
|
|
"label": "mode",
|
|
"description": "disabled: use normal dynamic PVCs\nsmb: connect to an SMB share\nnfs: connect to an NFS share\n",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "disabled",
|
|
"enum": [
|
|
{
|
|
"value": "disabled",
|
|
"description": "disabled"
|
|
},
|
|
{
|
|
"value": "smb",
|
|
"description": "smb"
|
|
},
|
|
{
|
|
"value": "nfs",
|
|
"description": "nfs"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "server",
|
|
"label": "Server",
|
|
"description": "server to connect to",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"mode",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": "myserver"
|
|
}
|
|
},
|
|
{
|
|
"variable": "share",
|
|
"label": "Share",
|
|
"description": "share to connect to",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"mode",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": "/myshare"
|
|
}
|
|
},
|
|
{
|
|
"variable": "user",
|
|
"label": "User",
|
|
"description": "connecting user",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"mode",
|
|
"=",
|
|
"smb"
|
|
]
|
|
],
|
|
"default": "myuser"
|
|
}
|
|
},
|
|
{
|
|
"variable": "domain",
|
|
"label": "Domain",
|
|
"description": "user domain",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"mode",
|
|
"=",
|
|
"smb"
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "password",
|
|
"label": "Password",
|
|
"description": "connecting password",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"mode",
|
|
"=",
|
|
"smb"
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "volumeSnapshots",
|
|
"label": "Volume Snapshots (Experimental)",
|
|
"description": "Add an entry to the list to force creation of a volumeSnapshot of this PVC",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"pvc"
|
|
]
|
|
],
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "volumeSnapshotEntry",
|
|
"label": "Custom volumeSnapshot",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"description": "WARNING: renaming this, means deletion of the snapshot with the old name!",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "mysnapshot",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "volumeSnapshotClassName",
|
|
"label": "volumeSnapshot Class Name (Advanced)",
|
|
"description": "For use with PVCs using a non-default storageClass",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "persistenceList",
|
|
"label": "Additional App Storage",
|
|
"group": "Storage and Persistence",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "persistenceListEntry",
|
|
"label": "Custom Storage",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enable the storage",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"hidden": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "type",
|
|
"label": "Type of Storage",
|
|
"description": "Sets the persistence type, Anything other than PVC could break rollback!",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "hostPath",
|
|
"enum": [
|
|
{
|
|
"value": "pvc",
|
|
"description": "PVC"
|
|
},
|
|
{
|
|
"value": "hostPath",
|
|
"description": "Host Path"
|
|
},
|
|
{
|
|
"value": "emptyDir",
|
|
"description": "emptyDir"
|
|
},
|
|
{
|
|
"value": "nfs",
|
|
"description": "NFS Share"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "server",
|
|
"label": "NFS Server",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"nfs"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "path",
|
|
"label": "Path on NFS Server",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"nfs"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "iscsi",
|
|
"label": "iSCSI Options",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"iscsi"
|
|
]
|
|
],
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "targetPortal",
|
|
"label": "targetPortal",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "iqn",
|
|
"label": "iqn",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "lun",
|
|
"label": "lun",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 0
|
|
}
|
|
},
|
|
{
|
|
"variable": "authSession",
|
|
"label": "authSession",
|
|
"schema": {
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "username",
|
|
"label": "username",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "password",
|
|
"label": "password",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "usernameInitiator",
|
|
"label": "usernameInitiator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "passwordInitiator",
|
|
"label": "passwordInitiator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "authDiscovery",
|
|
"label": "authDiscovery",
|
|
"schema": {
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "username",
|
|
"label": "username",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "password",
|
|
"label": "password",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "usernameInitiator",
|
|
"label": "usernameInitiator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "passwordInitiator",
|
|
"label": "passwordInitiator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "autoPermissions",
|
|
"label": "Automatic Permissions Configuration",
|
|
"description": "Automatically set permissions",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"!=",
|
|
"pvc"
|
|
]
|
|
],
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "chown",
|
|
"label": "Run CHOWN",
|
|
"description": "It will run CHOWN on the path with the given fsGroup\n",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "chmod",
|
|
"label": "Run CHMOD",
|
|
"description": "It will run CHMOD on the path with the given value</br>\nFormat should be 3 digits, e.g. 770\n",
|
|
"schema": {
|
|
"type": "string",
|
|
"valid_chars": "[0-9]{3}",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "recursive",
|
|
"label": "Recursive",
|
|
"description": "It will run CHOWN and CHMOD recursively\n",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "readOnly",
|
|
"label": "Read Only",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "hostPath",
|
|
"label": "Host Path",
|
|
"description": "Path inside the container the storage is mounted",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"hostPath"
|
|
]
|
|
],
|
|
"type": "hostpath"
|
|
}
|
|
},
|
|
{
|
|
"variable": "mountPath",
|
|
"label": "Mount Path",
|
|
"description": "Path inside the container the storage is mounted",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true,
|
|
"valid_chars": "^\\/([a-zA-Z0-9._-]+(\\s?[a-zA-Z0-9._-]+|\\/?))+$"
|
|
}
|
|
},
|
|
{
|
|
"variable": "medium",
|
|
"label": "EmptyDir Medium",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"emptyDir"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": "",
|
|
"enum": [
|
|
{
|
|
"value": "",
|
|
"description": "Default"
|
|
},
|
|
{
|
|
"value": "Memory",
|
|
"description": "Memory"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "size",
|
|
"label": "Size Quotum of Storage",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"pvc"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": "256Gi"
|
|
}
|
|
},
|
|
{
|
|
"variable": "storageClass",
|
|
"label": "storageClass (Advanced)",
|
|
"description": "sets the storageClass to something other than iX default. Only for advanced usecases!",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"pvc"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "static",
|
|
"label": "Static Fixed PVC Bindings (Experimental)",
|
|
"description": "Link a PVC to a specific storage location",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"pvc"
|
|
]
|
|
],
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "mode",
|
|
"label": "mode",
|
|
"description": "disabled: use normal dynamic PVCs\nsmb: connect to an SMB share\nnfs: connect to an NFS share\n",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "disabled",
|
|
"enum": [
|
|
{
|
|
"value": "disabled",
|
|
"description": "disabled"
|
|
},
|
|
{
|
|
"value": "smb",
|
|
"description": "smb"
|
|
},
|
|
{
|
|
"value": "nfs",
|
|
"description": "nfs"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "server",
|
|
"label": "Server",
|
|
"description": "server to connect to",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"mode",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": "myserver"
|
|
}
|
|
},
|
|
{
|
|
"variable": "share",
|
|
"label": "Share",
|
|
"description": "share to connect to",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"mode",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": "/myshare"
|
|
}
|
|
},
|
|
{
|
|
"variable": "user",
|
|
"label": "User",
|
|
"description": "connecting user",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"mode",
|
|
"=",
|
|
"smb"
|
|
]
|
|
],
|
|
"default": "myuser"
|
|
}
|
|
},
|
|
{
|
|
"variable": "domain",
|
|
"label": "Domain",
|
|
"description": "user domain",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"mode",
|
|
"=",
|
|
"smb"
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "password",
|
|
"label": "Password",
|
|
"description": "connecting password",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"mode",
|
|
"=",
|
|
"smb"
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "volumeSnapshots",
|
|
"label": "Volume Snapshots (Experimental)",
|
|
"description": "Add an entry to the list to force creation of a volumeSnapshot of this PVC",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"pvc"
|
|
]
|
|
],
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "volumeSnapshotEntry",
|
|
"label": "Custom volumeSnapshot",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"description": "WARNING: renaming this, means deletion of the snapshot with the old name!",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "mysnapshot",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "volumeSnapshotClassName",
|
|
"label": "volumeSnapshot Class Name (Advanced)",
|
|
"description": "For use with PVCs using a non-default storageClass",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ingress",
|
|
"label": "",
|
|
"group": "Ingress",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "main",
|
|
"label": "Main Ingress",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enable Ingress",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "hosts",
|
|
"label": "Hosts",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "hostEntry",
|
|
"label": "Host",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "host",
|
|
"label": "HostName",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "paths",
|
|
"label": "Paths",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [
|
|
{
|
|
"path": "/",
|
|
"pathType": "Prefix"
|
|
}
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "pathEntry",
|
|
"label": "Host",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "path",
|
|
"label": "Path",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "/"
|
|
}
|
|
},
|
|
{
|
|
"variable": "pathType",
|
|
"label": "Path Type",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "Prefix"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "integrations",
|
|
"label": "Integrations",
|
|
"description": "Connect ingress with other charts",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "traefik",
|
|
"label": "Traefik",
|
|
"description": "Connect ingress with Traefik",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "allowCors",
|
|
"label": "Allow Cross Origin Requests (advanced)",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "entrypoints",
|
|
"label": "Entrypoints",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [
|
|
"websecure"
|
|
],
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "entrypoint",
|
|
"label": "Entrypoint",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "middlewares",
|
|
"label": "Middlewares",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "middleware",
|
|
"label": "Middleware",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "name",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "namespace",
|
|
"label": "namespace (optional)",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "certManager",
|
|
"label": "certManager",
|
|
"description": "Connect ingress with certManager",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "certificateIssuer",
|
|
"label": "certificateIssuer",
|
|
"description": "defaults to chartname",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "homepage",
|
|
"label": "Homepage",
|
|
"description": "Connect ingress with Homepage",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "name",
|
|
"label": "Name (Optional)",
|
|
"description": "Defaults to chart name",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "description",
|
|
"label": "Description (Optional)",
|
|
"description": "Defaults to chart description",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "icon",
|
|
"label": "Icon (Optional)",
|
|
"description": "Defaults to chart icon",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "group",
|
|
"label": "Group",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "default",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "widget",
|
|
"label": "Widget Settings",
|
|
"schema": {
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enable Widget",
|
|
"description": "When disabled all widget annotations are skipped.",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "custom",
|
|
"label": "Options",
|
|
"schema": {
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "key",
|
|
"label": "API-key (key)",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "customkv",
|
|
"label": "Custom Options",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "option",
|
|
"label": "Option",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "key",
|
|
"label": "Key",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "value",
|
|
"label": "Value",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "advanced",
|
|
"label": "Show Advanced Settings",
|
|
"description": "Advanced settings are not covered by TrueCharts Support",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "ingressClassName",
|
|
"label": "(Advanced/Optional) IngressClass Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"advanced",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "tls",
|
|
"label": "TLS-Settings",
|
|
"schema": {
|
|
"type": "list",
|
|
"show_if": [
|
|
[
|
|
"advanced",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "tlsEntry",
|
|
"label": "Host",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "hosts",
|
|
"label": "Certificate Hosts",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "host",
|
|
"label": "Host",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "certificateIssuer",
|
|
"label": "Use Cert-Manager clusterIssuer",
|
|
"description": "add the name of your cert-manager clusterIssuer here for automatic tls certificates.",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "clusterCertificate",
|
|
"label": "Cluster Certificate (Advanced)",
|
|
"description": "Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"certificateIssuer",
|
|
"=",
|
|
""
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "secretName",
|
|
"label": "Use Custom Certificate Secret (Advanced)",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"certificateIssuer",
|
|
"=",
|
|
""
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ingressList",
|
|
"label": "Add Manual Custom Ingresses",
|
|
"group": "Ingress",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "ingressListEntry",
|
|
"label": "Custom Ingress",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enable Ingress",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"hidden": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "ingressClassName",
|
|
"label": "IngressClass Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "hosts",
|
|
"label": "Hosts",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "hostEntry",
|
|
"label": "Host",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "host",
|
|
"label": "HostName",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "paths",
|
|
"label": "Paths",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "pathEntry",
|
|
"label": "Host",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "path",
|
|
"label": "Path",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "/"
|
|
}
|
|
},
|
|
{
|
|
"variable": "pathType",
|
|
"label": "Path Type",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "Prefix"
|
|
}
|
|
},
|
|
{
|
|
"variable": "overrideService",
|
|
"label": "Linked Service",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Service Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "port",
|
|
"label": "Service Port",
|
|
"schema": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "tls",
|
|
"label": "TLS-Settings",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"show_if": [
|
|
[
|
|
"certificateIssuer",
|
|
"=",
|
|
""
|
|
]
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "tlsEntry",
|
|
"label": "Host",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "hosts",
|
|
"label": "Certificate Hosts",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "host",
|
|
"label": "Host",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "certificateIssuer",
|
|
"label": "Use Cert-Manager clusterIssuer",
|
|
"description": "add the name of your Cert-Manager clusterIssuer here for automatic tls certificates.",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "clusterCertificate",
|
|
"label": "Cluster Certificate (Advanced)",
|
|
"description": "Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"certificateIssuer",
|
|
"=",
|
|
""
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "secretName",
|
|
"label": "Use Custom Secret (Advanced)",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"certificateIssuer",
|
|
"=",
|
|
""
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "integrations",
|
|
"label": "Integrations",
|
|
"description": "Connect ingress with other charts",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "traefik",
|
|
"label": "Traefik",
|
|
"description": "Connect ingress with Traefik",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "allowCors",
|
|
"label": "Allow Cross Origin Requests",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "entrypoints",
|
|
"label": "Entrypoints",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [
|
|
"websecure"
|
|
],
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "entrypoint",
|
|
"label": "Entrypoint",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "middlewares",
|
|
"label": "Middlewares",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "middleware",
|
|
"label": "Middleware",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "name",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "namespace",
|
|
"label": "namespace",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "certManager",
|
|
"label": "certManager",
|
|
"description": "Connect ingress with certManager",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "certificateIssuer",
|
|
"label": "certificateIssuer",
|
|
"description": "defaults to chartname",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "homepage",
|
|
"label": "Homepage",
|
|
"description": "Connect ingress with Homepage",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"description": "defaults to chartname",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "description",
|
|
"label": "Description",
|
|
"description": "defaults to chart description",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "group",
|
|
"label": "Group",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "default",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "securityContext",
|
|
"group": "Security and Permissions",
|
|
"label": "Security Context",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "container",
|
|
"label": "Container",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "runAsUser",
|
|
"label": "runAsUser",
|
|
"description": "The UserID of the user running the application",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 1000
|
|
}
|
|
},
|
|
{
|
|
"variable": "runAsGroup",
|
|
"label": "runAsGroup",
|
|
"description": "The groupID of the user running the application",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 1000
|
|
}
|
|
},
|
|
{
|
|
"variable": "PUID",
|
|
"label": "Process User ID - PUID",
|
|
"description": "When supported by the container, this sets the User ID running the Application Process. Not supported by all Apps",
|
|
"schema": {
|
|
"type": "int",
|
|
"show_if": [
|
|
[
|
|
"runAsUser",
|
|
"=",
|
|
0
|
|
]
|
|
],
|
|
"default": 568
|
|
}
|
|
},
|
|
{
|
|
"variable": "UMASK",
|
|
"label": "UMASK",
|
|
"description": "When supported by the container, this sets the UMASK for the App. Not supported by all Apps",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "0022"
|
|
}
|
|
},
|
|
{
|
|
"variable": "advanced",
|
|
"label": "Show Advanced Settings",
|
|
"description": "Advanced settings are not covered by TrueCharts Support",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "privileged",
|
|
"label": "Privileged mode",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "readOnlyRootFilesystem",
|
|
"label": "ReadOnly Root Filesystem",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "pod",
|
|
"label": "Pod",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "fsGroupChangePolicy",
|
|
"label": "When should we take ownership?",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "OnRootMismatch",
|
|
"enum": [
|
|
{
|
|
"value": "OnRootMismatch",
|
|
"description": "OnRootMismatch"
|
|
},
|
|
{
|
|
"value": "Always",
|
|
"description": "Always"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "supplementalGroups",
|
|
"label": "Supplemental Groups",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "supplementalGroupsEntry",
|
|
"label": "Supplemental Group",
|
|
"schema": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "fsGroup",
|
|
"label": "fsGroup",
|
|
"description": "The group that should own ALL storage.",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 1000
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "resources",
|
|
"group": "Resources and Devices",
|
|
"label": "Resource Limits",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "limits",
|
|
"label": "Advanced Limit Resource Consumption",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "cpu",
|
|
"label": "CPU",
|
|
"description": "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/SCALE/validation",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "4000m",
|
|
"valid_chars": "^(?!^0(\\.0|m|)$)([0-9]+)(\\.[0-9]|m?)$"
|
|
}
|
|
},
|
|
{
|
|
"variable": "memory",
|
|
"label": "RAM",
|
|
"description": "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/SCALE/validation",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "8Gi",
|
|
"valid_chars": "^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$"
|
|
}
|
|
},
|
|
{
|
|
"variable": "intel.com/i915",
|
|
"label": "Add Intel i915 GPUs",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 0
|
|
}
|
|
},
|
|
{
|
|
"variable": "nvidia.com/gpu",
|
|
"label": "Add NVIDIA GPUs (Experimental)",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 0
|
|
}
|
|
},
|
|
{
|
|
"variable": "amd.com/gpu",
|
|
"label": "Add AMD GPUs",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 0
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "requests",
|
|
"label": "Minimum Resources Required (request)",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"hidden": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "cpu",
|
|
"label": "CPU",
|
|
"description": "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/SCALE/validation",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "10m",
|
|
"hidden": true,
|
|
"valid_chars": "^(?!^0(\\.0|m|)$)([0-9]+)(\\.[0-9]|m?)$"
|
|
}
|
|
},
|
|
{
|
|
"variable": "memory",
|
|
"label": "RAM",
|
|
"description": "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/SCALE/validation",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "50Mi",
|
|
"hidden": true,
|
|
"valid_chars": "^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "deviceList",
|
|
"label": "Mount USB Devices",
|
|
"group": "Resources and Devices",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "deviceListEntry",
|
|
"label": "Device",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enable the Storage",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "type",
|
|
"label": "(Advanced) Type of Storage",
|
|
"description": "Sets the persistence type",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "device",
|
|
"hidden": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "readOnly",
|
|
"label": "readOnly",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "hostPath",
|
|
"label": "Host Device Path",
|
|
"description": "Path to the device on the host system",
|
|
"schema": {
|
|
"type": "path"
|
|
}
|
|
},
|
|
{
|
|
"variable": "mountPath",
|
|
"label": "Container Device Path",
|
|
"description": "Path inside the container the device is mounted",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "/dev/ttyACM0"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "scaleGPU",
|
|
"label": "GPU Configuration",
|
|
"group": "Resources and Devices",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "scaleGPUEntry",
|
|
"label": "GPU",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "gpu",
|
|
"label": "Select GPU",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"$ref": [
|
|
"definitions/gpuConfiguration"
|
|
],
|
|
"attrs": []
|
|
}
|
|
},
|
|
{
|
|
"variable": "workaround",
|
|
"label": "Workaround",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "workaround",
|
|
"hidden": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "cnpg",
|
|
"group": "Postgresql",
|
|
"label": "CloudNative-PG (CNPG)",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "main",
|
|
"label": "Main Postgresql Database",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "hibernate",
|
|
"label": "Hibernate",
|
|
"description": "enable to safely hibernate and shutdown the postgresql cluster",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "mode",
|
|
"label": "Mode",
|
|
"description": "Cluster mode of operation. Available modes: standalone - default mode. Creates new or updates an existing CNPG cluster. recovery - Same as standalone but creates a cluster from a backup, object store or via pg_basebackup replica - Creates a replica cluster from an existing CNPG cluster. # TODO.",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "standalone",
|
|
"enum": [
|
|
{
|
|
"value": "standalone",
|
|
"description": "standalone"
|
|
},
|
|
{
|
|
"value": "replica",
|
|
"description": "replica"
|
|
},
|
|
{
|
|
"value": "recovery",
|
|
"description": "recovery"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "cluster",
|
|
"label": "Cluster Settings",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "instances",
|
|
"label": "Instances",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 1
|
|
}
|
|
},
|
|
{
|
|
"variable": "singleNode",
|
|
"label": "singleNode",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"hidden": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "storage",
|
|
"label": "Storage",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "size",
|
|
"label": "Size",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "256Gi"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "walStorage",
|
|
"label": "WAL Storage",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "size",
|
|
"label": "Size",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "256Gi"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "monitoring",
|
|
"label": "Monitoring Settings",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enablePodMonitor",
|
|
"label": "enablePodMonitor",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "disableDefaultQueries",
|
|
"label": "disableDefaultQueries",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "pooler",
|
|
"label": "Pooler Settings",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "instances",
|
|
"label": "Instances",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 1
|
|
}
|
|
},
|
|
{
|
|
"variable": "createRO",
|
|
"label": "Create ReadOnly Instance",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "recovery",
|
|
"label": "Recovery Settings (Experimental)",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "endpointURL",
|
|
"label": "endpointURL",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "method",
|
|
"label": "method",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": "object_store"
|
|
}
|
|
},
|
|
{
|
|
"variable": "backupName",
|
|
"label": "backupName",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "provider",
|
|
"label": "provider",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": "s3",
|
|
"enum": [
|
|
{
|
|
"value": "s3",
|
|
"description": "S3"
|
|
},
|
|
{
|
|
"value": "azure",
|
|
"description": "Azure"
|
|
},
|
|
{
|
|
"value": "google",
|
|
"description": "Google"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "s3",
|
|
"label": "s3",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"provider",
|
|
"=",
|
|
"s3"
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "region",
|
|
"label": "region",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "bucket",
|
|
"label": "bucket",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "path",
|
|
"label": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "/"
|
|
}
|
|
},
|
|
{
|
|
"variable": "accessKey",
|
|
"label": "accessKey",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "secretKey",
|
|
"label": "secretKey",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "azure",
|
|
"label": "azure (EXTREMELY EXPERIMENTAL)",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"provider",
|
|
"=",
|
|
"azure"
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "path",
|
|
"label": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "/"
|
|
}
|
|
},
|
|
{
|
|
"variable": "connectionString",
|
|
"label": "connectionString",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "storageAccount",
|
|
"label": "storageAccount",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "storageKey",
|
|
"label": "storageKey",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "storageSasToken",
|
|
"label": "storageSasToken",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "containerName",
|
|
"label": "containerName",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "serviceName",
|
|
"label": "serviceName",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "blob"
|
|
}
|
|
},
|
|
{
|
|
"variable": "inheritFromAzureAD",
|
|
"label": "inheritFromAzureAD",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "google",
|
|
"label": "google (EXTREMELY EXPERIMENTAL)",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"provider",
|
|
"=",
|
|
"google"
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "path",
|
|
"label": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "/"
|
|
}
|
|
},
|
|
{
|
|
"variable": "bucket",
|
|
"label": "bucket",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "gkeEnvironment",
|
|
"label": "gkeEnvironment",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "applicationCredentials",
|
|
"label": "applicationCredentials",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "backups",
|
|
"label": "Backup Settings (Experimental)",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "endpointURL",
|
|
"label": "endpointURL",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "destinationPath",
|
|
"label": "destinationPath",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "retentionPolicy",
|
|
"label": "retentionPolicy",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": "30d"
|
|
}
|
|
},
|
|
{
|
|
"variable": "provider",
|
|
"label": "provider",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": "s3",
|
|
"enum": [
|
|
{
|
|
"value": "s3",
|
|
"description": "S3"
|
|
},
|
|
{
|
|
"value": "azure",
|
|
"description": "Azure"
|
|
},
|
|
{
|
|
"value": "google",
|
|
"description": "Google"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "s3",
|
|
"label": "s3",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"provider",
|
|
"=",
|
|
"s3"
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "region",
|
|
"label": "region",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "bucket",
|
|
"label": "bucket",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "path",
|
|
"label": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "/"
|
|
}
|
|
},
|
|
{
|
|
"variable": "accessKey",
|
|
"label": "accessKey",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "secretKey",
|
|
"label": "secretKey",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "azure",
|
|
"label": "azure (EXTREMELY EXPERIMENTAL)",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"provider",
|
|
"=",
|
|
"azure"
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "path",
|
|
"label": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "/"
|
|
}
|
|
},
|
|
{
|
|
"variable": "connectionString",
|
|
"label": "connectionString",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "storageAccount",
|
|
"label": "storageAccount",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "storageKey",
|
|
"label": "storageKey",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "storageSasToken",
|
|
"label": "storageSasToken",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "containerName",
|
|
"label": "containerName",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "serviceName",
|
|
"label": "serviceName",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "blob"
|
|
}
|
|
},
|
|
{
|
|
"variable": "inheritFromAzureAD",
|
|
"label": "inheritFromAzureAD",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "google",
|
|
"label": "google (EXTREMELY EXPERIMENTAL)",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"provider",
|
|
"=",
|
|
"google"
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "path",
|
|
"label": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "/"
|
|
}
|
|
},
|
|
{
|
|
"variable": "bucket",
|
|
"label": "bucket",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "gkeEnvironment",
|
|
"label": "gkeEnvironment",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "applicationCredentials",
|
|
"label": "applicationCredentials",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "scheduledBackups",
|
|
"label": "ScheduledBackups",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "backupschedule",
|
|
"label": "BackupSchedule",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "name",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "daily-backup",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "schedule",
|
|
"label": "schedule",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "0 0 0 * * *"
|
|
}
|
|
},
|
|
{
|
|
"variable": "backupOwnerReference",
|
|
"label": "backupOwnerReference",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "self"
|
|
}
|
|
},
|
|
{
|
|
"variable": "immediate",
|
|
"label": "immediate",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "suspend",
|
|
"label": "suspend",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "manualBackups",
|
|
"label": "manualBackups",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "backup",
|
|
"label": "Backup",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "name",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "networkPolicy",
|
|
"group": "Advanced",
|
|
"label": "(Advanced) Network Policy",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "netPolicyEntry",
|
|
"label": "Network Policy Entry",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "policyType",
|
|
"label": "Policy Type",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"enum": [
|
|
{
|
|
"value": "",
|
|
"description": "Default"
|
|
},
|
|
{
|
|
"value": "ingress",
|
|
"description": "Ingress"
|
|
},
|
|
{
|
|
"value": "egress",
|
|
"description": "Egress"
|
|
},
|
|
{
|
|
"value": "ingress-egress",
|
|
"description": "Ingress and Egress"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "egress",
|
|
"label": "Egress",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "egressEntry",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "to",
|
|
"label": "To",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "toEntry",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "ipBlock",
|
|
"label": "IP Block",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "cidr",
|
|
"label": "CIDR",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "except",
|
|
"label": "Except",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "exceptint",
|
|
"label": "",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "namespaceSelector",
|
|
"label": "Namespace Selector",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "matchExpressions",
|
|
"label": "Match Expressions",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "expressionEntry",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "key",
|
|
"label": "Key",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"variable": "operator",
|
|
"label": "Operator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "TCP",
|
|
"enum": [
|
|
{
|
|
"value": "In",
|
|
"description": "In"
|
|
},
|
|
{
|
|
"value": "NotIn",
|
|
"description": "NotIn"
|
|
},
|
|
{
|
|
"value": "Exists",
|
|
"description": "Exists"
|
|
},
|
|
{
|
|
"value": "DoesNotExist",
|
|
"description": "DoesNotExist"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "values",
|
|
"label": "Values",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "value",
|
|
"label": "",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "podSelector",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "matchExpressions",
|
|
"label": "Match Expressions",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "expressionEntry",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "key",
|
|
"label": "Key",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"variable": "operator",
|
|
"label": "Operator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "TCP",
|
|
"enum": [
|
|
{
|
|
"value": "In",
|
|
"description": "In"
|
|
},
|
|
{
|
|
"value": "NotIn",
|
|
"description": "NotIn"
|
|
},
|
|
{
|
|
"value": "Exists",
|
|
"description": "Exists"
|
|
},
|
|
{
|
|
"value": "DoesNotExist",
|
|
"description": "DoesNotExist"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "values",
|
|
"label": "Values",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "value",
|
|
"label": "",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ports",
|
|
"label": "Ports",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "portsEntry",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "port",
|
|
"label": "Port",
|
|
"schema": {
|
|
"type": "int"
|
|
}
|
|
},
|
|
{
|
|
"variable": "endPort",
|
|
"label": "End Port",
|
|
"schema": {
|
|
"type": "int"
|
|
}
|
|
},
|
|
{
|
|
"variable": "protocol",
|
|
"label": "Protocol",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "TCP",
|
|
"enum": [
|
|
{
|
|
"value": "TCP",
|
|
"description": "TCP"
|
|
},
|
|
{
|
|
"value": "UDP",
|
|
"description": "UDP"
|
|
},
|
|
{
|
|
"value": "SCTP",
|
|
"description": "SCTP"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ingress",
|
|
"label": "Ingress",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "ingressEntry",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "from",
|
|
"label": "From",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "fromEntry",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "ipBlock",
|
|
"label": "IP Block",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "cidr",
|
|
"label": "CIDR",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "except",
|
|
"label": "Except",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "exceptint",
|
|
"label": "",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "namespaceSelector",
|
|
"label": "Namespace Selector",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "matchExpressions",
|
|
"label": "Match Expressions",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "expressionEntry",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "key",
|
|
"label": "Key",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"variable": "operator",
|
|
"label": "Operator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "TCP",
|
|
"enum": [
|
|
{
|
|
"value": "In",
|
|
"description": "In"
|
|
},
|
|
{
|
|
"value": "NotIn",
|
|
"description": "NotIn"
|
|
},
|
|
{
|
|
"value": "Exists",
|
|
"description": "Exists"
|
|
},
|
|
{
|
|
"value": "DoesNotExist",
|
|
"description": "DoesNotExist"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "values",
|
|
"label": "Values",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "value",
|
|
"label": "",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "podSelector",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "matchExpressions",
|
|
"label": "Match Expressions",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "expressionEntry",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "key",
|
|
"label": "Key",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"variable": "operator",
|
|
"label": "Operator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "TCP",
|
|
"enum": [
|
|
{
|
|
"value": "In",
|
|
"description": "In"
|
|
},
|
|
{
|
|
"value": "NotIn",
|
|
"description": "NotIn"
|
|
},
|
|
{
|
|
"value": "Exists",
|
|
"description": "Exists"
|
|
},
|
|
{
|
|
"value": "DoesNotExist",
|
|
"description": "DoesNotExist"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "values",
|
|
"label": "Values",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "value",
|
|
"label": "",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ports",
|
|
"label": "Ports",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "portsEntry",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "port",
|
|
"label": "Port",
|
|
"schema": {
|
|
"type": "int"
|
|
}
|
|
},
|
|
{
|
|
"variable": "endPort",
|
|
"label": "End Port",
|
|
"schema": {
|
|
"type": "int"
|
|
}
|
|
},
|
|
{
|
|
"variable": "protocol",
|
|
"label": "Protocol",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "TCP",
|
|
"enum": [
|
|
{
|
|
"value": "TCP",
|
|
"description": "TCP"
|
|
},
|
|
{
|
|
"value": "UDP",
|
|
"description": "UDP"
|
|
},
|
|
{
|
|
"value": "SCTP",
|
|
"description": "SCTP"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "addons",
|
|
"group": "Addons",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "codeserver",
|
|
"label": "Codeserver",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "service",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "type",
|
|
"label": "Service Type",
|
|
"description": "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "LoadBalancer",
|
|
"enum": [
|
|
{
|
|
"value": "NodePort",
|
|
"description": "Deprecated CHANGE THIS"
|
|
},
|
|
{
|
|
"value": "ClusterIP",
|
|
"description": "ClusterIP"
|
|
},
|
|
{
|
|
"value": "LoadBalancer",
|
|
"description": "LoadBalancer"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "loadBalancerIP",
|
|
"label": "LoadBalancer IP",
|
|
"description": "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"LoadBalancer"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "ports",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "codeserver",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "port",
|
|
"label": "Port",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 36107
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ingress",
|
|
"label": "Ingress",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enable Ingress",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "hosts",
|
|
"label": "Hosts",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "hostEntry",
|
|
"label": "Host",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "host",
|
|
"label": "HostName",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "paths",
|
|
"label": "Paths",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [
|
|
{
|
|
"path": "/",
|
|
"pathType": "Prefix"
|
|
}
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "pathEntry",
|
|
"label": "Host",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "path",
|
|
"label": "Path",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "/"
|
|
}
|
|
},
|
|
{
|
|
"variable": "pathType",
|
|
"label": "Path Type",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "Prefix"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "integrations",
|
|
"label": "Integrations",
|
|
"description": "Connect ingress with other charts",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "traefik",
|
|
"label": "Traefik",
|
|
"description": "Connect ingress with Traefik",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "allowCors",
|
|
"label": "Allow Cross Origin Requests (advanced)",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "entrypoints",
|
|
"label": "Entrypoints",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [
|
|
"websecure"
|
|
],
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "entrypoint",
|
|
"label": "Entrypoint",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "middlewares",
|
|
"label": "Middlewares",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "middleware",
|
|
"label": "Middleware",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "name",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "namespace",
|
|
"label": "namespace (optional)",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "certManager",
|
|
"label": "certManager",
|
|
"description": "Connect ingress with certManager",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "certificateIssuer",
|
|
"label": "certificateIssuer",
|
|
"description": "defaults to chartname",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "advanced",
|
|
"label": "Show Advanced Settings",
|
|
"description": "Advanced settings are not covered by TrueCharts Support",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "ingressClassName",
|
|
"label": "(Advanced/Optional) IngressClass Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"advanced",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "tls",
|
|
"label": "TLS-Settings",
|
|
"schema": {
|
|
"type": "list",
|
|
"show_if": [
|
|
[
|
|
"advanced",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "tlsEntry",
|
|
"label": "Host",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "hosts",
|
|
"label": "Certificate Hosts",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "host",
|
|
"label": "Host",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "certificateIssuer",
|
|
"label": "Use Cert-Manager clusterIssuer",
|
|
"description": "add the name of your cert-manager clusterIssuer here for automatic tls certificates.",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "clusterCertificate",
|
|
"label": "Cluster Certificate (Advanced)",
|
|
"description": "Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"certificateIssuer",
|
|
"=",
|
|
""
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "secretName",
|
|
"label": "Use Custom Certificate Secret (Advanced)",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"certificateIssuer",
|
|
"=",
|
|
""
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "scaleCert",
|
|
"label": "Use TrueNAS SCALE Certificate (Deprecated)",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"certificateIssuer",
|
|
"=",
|
|
""
|
|
]
|
|
],
|
|
"type": "int",
|
|
"$ref": [
|
|
"definitions/certificate"
|
|
],
|
|
"enum": [
|
|
{
|
|
"value": null,
|
|
"description": "No Certificate"
|
|
}
|
|
],
|
|
"default": null,
|
|
"null": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "envList",
|
|
"label": "Codeserver Environment Variables",
|
|
"schema": {
|
|
"type": "list",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "envItem",
|
|
"label": "Environment Variable",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "value",
|
|
"label": "Value",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "netshoot",
|
|
"label": "Netshoot",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "envList",
|
|
"label": "Netshoot Environment Variables",
|
|
"schema": {
|
|
"type": "list",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "envItem",
|
|
"label": "Environment Variable",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "value",
|
|
"label": "Value",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "vpn",
|
|
"label": "VPN",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "type",
|
|
"label": "Type",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "disabled",
|
|
"enum": [
|
|
{
|
|
"value": "disabled",
|
|
"description": "disabled"
|
|
},
|
|
{
|
|
"value": "gluetun",
|
|
"description": "Gluetun"
|
|
},
|
|
{
|
|
"value": "tailscale",
|
|
"description": "Tailscale"
|
|
},
|
|
{
|
|
"value": "openvpn",
|
|
"description": "OpenVPN (Deprecated)"
|
|
},
|
|
{
|
|
"value": "wireguard",
|
|
"description": "Wireguard (Deprecated)"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "openvpn",
|
|
"label": "OpenVPN Settings",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"openvpn"
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "username",
|
|
"label": "Authentication Username (Optional)",
|
|
"description": "Authentication Username, Optional",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "password",
|
|
"label": "Authentication Password",
|
|
"description": "Authentication Credentials",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"username",
|
|
"!=",
|
|
""
|
|
]
|
|
],
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "tailscale",
|
|
"label": "Tailscale Settings",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"tailscale"
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "authkey",
|
|
"label": "Authentication Key",
|
|
"description": "Provide an auth key to automatically authenticate the node as your user account.",
|
|
"schema": {
|
|
"type": "string",
|
|
"private": true,
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "auth_once",
|
|
"label": "Auth Once",
|
|
"description": "Only attempt to log in if not already logged in.",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "accept_dns",
|
|
"label": "Accept DNS",
|
|
"description": "Accept DNS configuration from the admin console.",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "userspace",
|
|
"label": "Userspace",
|
|
"description": "Userspace Networking mode allows running Tailscale where you do not have access to create a VPN tunnel device.",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "routes",
|
|
"label": "Routes",
|
|
"description": "Expose physical subnet routes to your entire Tailscale network.",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "dest_ip",
|
|
"label": "Destination IP",
|
|
"description": "Tells the DNAT mechanism which Destination IP to set in the IP header, and where to send packets that are matched.",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "sock5_server",
|
|
"label": "Sock5 Server",
|
|
"description": "The address on which to listen for SOCKS5 proxying into the tailscale net.",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "outbound_http_proxy_listen",
|
|
"label": "Outbound HTTP Proxy Listen",
|
|
"description": "The address on which to listen for HTTP proxying into the tailscale net.",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "extra_args",
|
|
"label": "Extra Args",
|
|
"description": "Extra Args",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "daemon_extra_args",
|
|
"label": "Tailscale Daemon Extra Args",
|
|
"description": "Tailscale Daemon Extra Args",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "killSwitch",
|
|
"label": "Enable Killswitch",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "excludedNetworks_IPv4",
|
|
"label": "Killswitch Excluded IPv4 networks",
|
|
"description": "List of Killswitch Excluded IPv4 Addresses",
|
|
"schema": {
|
|
"type": "list",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "networkv4",
|
|
"label": "IPv4 Network",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "excludedNetworks_IPv6",
|
|
"label": "Killswitch Excluded IPv6 networks",
|
|
"description": "List of Killswitch Excluded IPv6 Addresses",
|
|
"schema": {
|
|
"type": "list",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "networkv6",
|
|
"label": "IPv6 Network",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "configFile",
|
|
"label": "VPN Config File Location",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "envList",
|
|
"label": "VPN Environment Variables",
|
|
"schema": {
|
|
"type": "list",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "envItem",
|
|
"label": "Environment Variable",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "value",
|
|
"label": "Value",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"max_length": 10240
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "docs",
|
|
"group": "Documentation",
|
|
"label": "Please read the documentation at https://truecharts.org",
|
|
"description": "Please read the documentation at <br /><a href=\"https://truecharts.org\">https://truecharts.org</a>",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "confirmDocs",
|
|
"label": "I have checked the documentation",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "donateNag",
|
|
"group": "Documentation",
|
|
"label": "Please consider supporting TrueCharts, see https://truecharts.org/sponsor",
|
|
"description": "Please consider supporting TrueCharts, see <br /><a href=\"https://truecharts.org/sponsor\">https://truecharts.org/sponsor</a>",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "confirmDonate",
|
|
"label": "I have considered donating",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"hidden": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"app_readme": "<p>Self hosted GIT repositories</p>\n<p>This App is supplied by TrueCharts, for more information visit the manual: <a href=\"https://truecharts.org/charts/stable/gitea\">https://truecharts.org/charts/stable/gitea</a></p>\n<hr />\n<p>TrueCharts can only exist due to the incredible effort of our staff.\nPlease consider making a <a href=\"https://truecharts.org/sponsor\">donation</a> or contributing back to the project any way you can!</p>",
|
|
"detailed_readme": "<hr />\n<h2>title: README</h2>\n<h2>General Info</h2>\n<p>TrueCharts can be installed as both <em>normal</em> Helm Charts or as Apps on TrueNAS SCALE.\nHowever only installations using the TrueNAS SCALE Apps system are supported.</p>\n<p>For more information about this App, please check the docs on the TrueCharts <a href=\"https://truecharts.org/charts/stable/gitea\">website</a></p>\n<p><strong>This chart is not maintained by the upstream project and any issues with the chart should be raised <a href=\"https://github.com/truecharts/charts/issues/new/choose\">here</a></strong></p>\n<h2>Support</h2>\n<ul>\n<li>Please check our <a href=\"https://truecharts.org/manual/SCALE/guides/scale-intro\">quick-start guides for TrueNAS SCALE</a>.</li>\n<li>See the <a href=\"https://truecharts.org\">Website</a></li>\n<li>Check our <a href=\"https://discord.gg/tVsPTHWTtr\">Discord</a></li>\n<li>Open a <a href=\"https://github.com/truecharts/charts/issues/new/choose\">issue</a></li>\n</ul>\n<hr />\n<h2>Sponsor TrueCharts</h2>\n<p>TrueCharts can only exist due to the incredible effort of our staff.\nPlease consider making a <a href=\"https://truecharts.org/sponsor\">donation</a> or contributing back to the project any way you can!</p>\n<p><em>All Rights Reserved - The TrueCharts Project</em></p>",
|
|
"changelog": "<hr />\n<h2>title: Changelog</h2>\n<p><em>for the complete changelog, please refer to the website</em></p>\n<p><strong>Important:</strong></p>\n<h2><a href=\"https://github.com/truecharts/charts/compare/gitea-17.1.17...gitea-17.1.18\">gitea-17.1.18</a> (2024-02-03)</h2>\n<h3>Chore</h3>\n<ul>\n<li>update container image common to v17.2.30<a href=\"https://github.com/19ad5ec\">@19ad5ec</a> by renovate (<a href=\"https://github.com/truecharts/charts/issues/17804\">#17804</a>)</li>\n</ul>\n<h2><a href=\"https://github.com/truecharts/charts/compare/gitea-17.1.16...gitea-17.1.17\">gitea-17.1.17</a> (2024-02-02)</h2>\n<h3>Chore</h3>\n<ul>\n<li>update container image gitea/gitea to v1.21.5<a href=\"https://github.com/874a8d8\">@874a8d8</a> by renovate (<a href=\"https://github.com/truecharts/charts/issues/17787\">#17787</a>)</li>\n</ul>\n<h2><a href=\"https://github.com/truecharts/charts/compare/gitea-17.1.15...gitea-17.1.16\">gitea-17.1.16</a> (2024-01-27)</h2>\n<h3>Chore</h3>\n<ul>\n<li>update helm general non-major by renovate (<a href=\"https://github.com/truecharts/charts/issues/17525\">#17525</a>)</li>\n</ul>\n<h2><a href=\"https://github.com/truecharts/charts/compare/gitea-17.1.14...gitea-17.1.15\">gitea-17.1.15</a> (2024-01-26)</h2>\n<h3>Chore</h3>\n<ul>\n<li>update container image common to v17.2.29<a href=\"https://github.com/d7c41a3\">@d7c41a3</a> by renovate (<a href=\"https://github.com/truecharts/charts/issues/17545\">#17545</a>)</li>\n</ul>\n<h2><a href=\"https://github.com/truecharts/charts/compare/gitea-17.1.13...gitea-17.1.14\">gitea-17.1.14</a> (2024-01-21)</h2>\n<h3>Chore</h3>\n<ul>\n<li>update container image common to v17.2.28<a href=\"https://github.com/918b4c5\">@918b4c5</a> by renovate (<a href=\"https://github.com/truecharts/charts/issues/17478\">#17478</a>)</li>\n</ul>\n<h2><a href=\"https://github.com/truecharts/charts/compare/gitea-17.1.12...gitea-17.1.13\">gitea-17.1.13</a> (2024-01-21)</h2>\n<h3>Chore</h3>\n<ul>\n<li>update container image common to v17.2.26<a href=\"https://github.com/24c98f7\">@24c98f7</a> by renovate (<a href=\"https://github.com/truecharts/charts/issues/17409\">#17409</a>)</li>\n</ul>\n<h2><a href=\"https://github.com/truecharts/charts/compare/gitea-17.1.11...gitea-17.1.12\">gitea-17.1.12</a> (2024-01-21)</h2>\n<h3>Chore</h3>\n<ul>\n<li>update metadata in chart.yaml (<a href=\"https://github.com/truecharts/charts/issues/17457\">#17457</a>)</li>\n</ul>\n<h2><a href=\"https://github.com/truecharts/charts/compare/gitea-17.1.10...gitea-17.1.11\">gitea-17.1.11</a> (2024-01-21)</h2>\n<h3>Chore</h3>\n<ul>\n<li>update container image gitea/gitea to v1.21.4<a href=\"https://github.com/600f1f1\">@600f1f1</a> by renovate (<a href=\"https://github.com/truecharts/charts/issues/17304\">#17304</a>)</li>\n</ul>\n<h2><a href=\"https://github.com/truecharts/charts/compare/gitea-17.1.9...gitea-17.1.10\">gitea-17.1.10</a> (2024-01-09)</h2>\n<h3>Chore</h3>\n<ul>\n<li>update container image common to v17.2.22<a href=\"https://github.com/e7c9056\">@e7c9056</a> by renovate (<a href=\"https://github.com/truecharts/charts/issues/16986\">#16986</a>)</li>\n</ul>\n<h2><a href=\"https://github.com/truecharts/charts/compare/gitea-17.1.8...gitea-17.1.9\">gitea-17.1.9</a> (2024-01-02)</h2>"
|
|
},
|
|
"17.3.0": {
|
|
"healthy": true,
|
|
"supported": true,
|
|
"healthy_error": null,
|
|
"location": "/home/runner/work/catalog/catalog/stable/gitea/17.3.0",
|
|
"last_update": "2024-04-21 06:48:05",
|
|
"required_features": [
|
|
"normalize/interfaceConfiguration",
|
|
"definitions/gpuConfiguration",
|
|
"definitions/timezone",
|
|
"definitions/certificate",
|
|
"definitions/nodeIP",
|
|
"definitions/interface"
|
|
],
|
|
"human_version": "1.21.5_17.3.0",
|
|
"version": "17.3.0",
|
|
"chart_metadata": {
|
|
"annotations": {
|
|
"max_scale_version": "24.04.0",
|
|
"min_scale_version": "23.10.0",
|
|
"truecharts.org/SCALE-support": "true",
|
|
"truecharts.org/category": "GIT",
|
|
"truecharts.org/max_helm_version": "3.14",
|
|
"truecharts.org/min_helm_version": "3.12",
|
|
"truecharts.org/train": "stable"
|
|
},
|
|
"apiVersion": "v2",
|
|
"appVersion": "1.21.5",
|
|
"dependencies": [
|
|
{
|
|
"name": "common",
|
|
"version": "17.4.2",
|
|
"repository": "oci://tccr.io/truecharts",
|
|
"condition": "",
|
|
"alias": "",
|
|
"tags": [],
|
|
"import-values": []
|
|
},
|
|
{
|
|
"name": "memcached",
|
|
"version": "11.2.1",
|
|
"repository": "oci://tccr.io/truecharts",
|
|
"condition": "memcached.enabled",
|
|
"alias": "",
|
|
"tags": [],
|
|
"import-values": []
|
|
}
|
|
],
|
|
"deprecated": false,
|
|
"description": "Self hosted GIT repositories",
|
|
"home": "https://truecharts.org/charts/stable/gitea",
|
|
"icon": "https://truecharts.org/img/hotlink-ok/chart-icons/gitea.png",
|
|
"keywords": [
|
|
"git",
|
|
"issue tracker",
|
|
"code review",
|
|
"wiki",
|
|
"gitea",
|
|
"gogs"
|
|
],
|
|
"kubeVersion": ">=1.24.0-0",
|
|
"maintainers": [
|
|
{
|
|
"name": "TrueCharts",
|
|
"email": "info@truecharts.org",
|
|
"url": "https://truecharts.org"
|
|
}
|
|
],
|
|
"name": "gitea",
|
|
"sources": [
|
|
"https://gitea.com/gitea/helm-chart",
|
|
"https://github.com/go-gitea/gitea",
|
|
"https://github.com/truecharts/charts/tree/master/charts/stable/gitea",
|
|
"https://hub.docker.com/r/gitea/gitea"
|
|
],
|
|
"type": "application",
|
|
"version": "17.3.0"
|
|
},
|
|
"app_metadata": null,
|
|
"schema": {
|
|
"groups": [
|
|
{
|
|
"name": "Container Image",
|
|
"description": "Image to be used for container"
|
|
},
|
|
{
|
|
"name": "General Settings",
|
|
"description": "General Deployment Settings"
|
|
},
|
|
{
|
|
"name": "Workload Settings",
|
|
"description": "Workload Settings"
|
|
},
|
|
{
|
|
"name": "App Configuration",
|
|
"description": "App Specific Config Options"
|
|
},
|
|
{
|
|
"name": "Networking and Services",
|
|
"description": "Configure Network and Services for Container"
|
|
},
|
|
{
|
|
"name": "Storage and Persistence",
|
|
"description": "Persist and Share Data that is Separate from the Container"
|
|
},
|
|
{
|
|
"name": "Ingress",
|
|
"description": "Ingress Configuration"
|
|
},
|
|
{
|
|
"name": "Security and Permissions",
|
|
"description": "Configure Security Context and Permissions"
|
|
},
|
|
{
|
|
"name": "Resources and Devices",
|
|
"description": "Specify Resources/Devices to be Allocated to Workload"
|
|
},
|
|
{
|
|
"name": "Middlewares",
|
|
"description": "Traefik Middlewares"
|
|
},
|
|
{
|
|
"name": "Metrics",
|
|
"description": "Metrics"
|
|
},
|
|
{
|
|
"name": "Addons",
|
|
"description": "Addon Configuration"
|
|
},
|
|
{
|
|
"name": "Backup Configuration",
|
|
"description": "Configure Velero Backup Schedule"
|
|
},
|
|
{
|
|
"name": "Advanced",
|
|
"description": "Advanced Configuration"
|
|
},
|
|
{
|
|
"name": "Postgresql",
|
|
"description": "Postgresql"
|
|
},
|
|
{
|
|
"name": "Documentation",
|
|
"description": "Documentation"
|
|
}
|
|
],
|
|
"portals": {
|
|
"open": {
|
|
"protocols": [
|
|
"$kubernetes-resource_configmap_tcportal-open_protocol"
|
|
],
|
|
"host": [
|
|
"$kubernetes-resource_configmap_tcportal-open_host"
|
|
],
|
|
"ports": [
|
|
"$kubernetes-resource_configmap_tcportal-open_port"
|
|
]
|
|
}
|
|
},
|
|
"questions": [
|
|
{
|
|
"variable": "global",
|
|
"group": "General Settings",
|
|
"label": "Global Settings",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "stopAll",
|
|
"label": "Stop All",
|
|
"description": "Stops All Running pods and hibernates cnpg",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "workload",
|
|
"group": "Workload Settings",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "main",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "type",
|
|
"label": "Type (Advanced)",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "Deployment",
|
|
"enum": [
|
|
{
|
|
"value": "Deployment",
|
|
"description": "Deployment"
|
|
},
|
|
{
|
|
"value": "DaemonSet",
|
|
"description": "DaemonSet"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "replicas",
|
|
"label": "Replicas (Advanced)",
|
|
"description": "Set the number of Replicas",
|
|
"schema": {
|
|
"type": "int",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"!=",
|
|
"DaemonSet"
|
|
]
|
|
],
|
|
"default": 1
|
|
}
|
|
},
|
|
{
|
|
"variable": "podSpec",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "containers",
|
|
"label": "Containers",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "main",
|
|
"label": "Main Container",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "envList",
|
|
"label": "Extra Environment Variables",
|
|
"description": "Please be aware that some variables are set in the background, adding duplicates here might cause issues or prevent the app from starting...",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "envItem",
|
|
"label": "Environment Variable",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"variable": "value",
|
|
"label": "Value",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "extraArgs",
|
|
"label": "Extra Args",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "arg",
|
|
"label": "Arg",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "advanced",
|
|
"label": "Show Advanced Settings",
|
|
"description": "Advanced settings are not covered by TrueCharts Support",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "command",
|
|
"label": "Command",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "param",
|
|
"label": "Param",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "TZ",
|
|
"label": "Timezone",
|
|
"group": "General Settings",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "America/Los_Angeles",
|
|
"$ref": [
|
|
"definitions/timezone"
|
|
],
|
|
"enum": [
|
|
{
|
|
"value": "Asia/Damascus",
|
|
"description": "'Asia/Damascus' timezone"
|
|
},
|
|
{
|
|
"value": "Asia/Saigon",
|
|
"description": "'Asia/Saigon' timezone"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "podOptions",
|
|
"group": "General Settings",
|
|
"label": "Global Pod Options (Advanced)",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "expertPodOpts",
|
|
"label": "Expert - Pod Options",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "hostNetwork",
|
|
"label": "Host Networking",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "dnsConfig",
|
|
"label": "DNS Configuration",
|
|
"schema": {
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "options",
|
|
"label": "Options",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [
|
|
{
|
|
"name": "ndots",
|
|
"value": "1"
|
|
}
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "optionsEntry",
|
|
"label": "Option Entry",
|
|
"schema": {
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "value",
|
|
"label": "Value",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "nameservers",
|
|
"label": "Nameservers",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "nsEntry",
|
|
"label": "Nameserver Entry",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "searches",
|
|
"label": "Searches",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "searchEntry",
|
|
"label": "Search Entry",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "imagePullSecretList",
|
|
"group": "General Settings",
|
|
"label": "Image Pull Secrets",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "pullsecretentry",
|
|
"label": "Pull Secret",
|
|
"schema": {
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "data",
|
|
"label": "Data",
|
|
"schema": {
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "registry",
|
|
"label": "Registry",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "https://index.docker.io/v1/"
|
|
}
|
|
},
|
|
{
|
|
"variable": "username",
|
|
"label": "Username",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "password",
|
|
"label": "Password",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"private": true,
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "email",
|
|
"label": "Email",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "admin",
|
|
"group": "App Configuration",
|
|
"label": "Admin Credentials",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "username",
|
|
"label": "username",
|
|
"schema": {
|
|
"type": "string",
|
|
"valid_chars": "^(?!^admin$).*$",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "password",
|
|
"label": "password",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"private": true,
|
|
"min_length": 8
|
|
}
|
|
},
|
|
{
|
|
"variable": "email",
|
|
"label": "email",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "config",
|
|
"group": "App Configuration",
|
|
"label": "Admin Configuration",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "APP_NAME",
|
|
"label": "APP_NAME",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "Gitea",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "RUN_MODE",
|
|
"label": "RUN_MODE",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "prod",
|
|
"enum": [
|
|
{
|
|
"value": "prod",
|
|
"description": "Production"
|
|
},
|
|
{
|
|
"value": "dev",
|
|
"description": "Development"
|
|
},
|
|
{
|
|
"value": "test",
|
|
"description": "Testing"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ALLOWED_HOST_LIST",
|
|
"label": "ALLOWED_HOST_LIST",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "127.0.0.1",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "nodeIP",
|
|
"label": "Node IP",
|
|
"description": "Used to generate configuration, when installed without ingress",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"$ref": [
|
|
"definitions/nodeIP"
|
|
],
|
|
"default": "192.168.0.10"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "customConfig",
|
|
"group": "App Configuration",
|
|
"label": "Custom Configuration parameters",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "catagoryItem",
|
|
"label": "Category",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Config Category Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "keys",
|
|
"label": "Configuration Parameters",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "configItem",
|
|
"label": "parameter",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Parameter Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "value",
|
|
"label": "Parameter Value",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "service",
|
|
"group": "Networking and Services",
|
|
"label": "Configure Service(s)",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "main",
|
|
"label": "Main Service",
|
|
"description": "The Primary service on which the healthcheck runs, often the webUI",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enable the Service",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"hidden": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "type",
|
|
"label": "Service Type",
|
|
"description": "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "LoadBalancer",
|
|
"enum": [
|
|
{
|
|
"value": "LoadBalancer",
|
|
"description": "LoadBalancer (Expose Ports)"
|
|
},
|
|
{
|
|
"value": "ClusterIP",
|
|
"description": "ClusterIP (Do Not Expose Ports)"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "loadBalancerIP",
|
|
"label": "LoadBalancer IP",
|
|
"description": "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"LoadBalancer"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "ports",
|
|
"label": "Service's Port(s) Configuration",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "main",
|
|
"label": "Main Service Port Configuration",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "port",
|
|
"label": "Port",
|
|
"description": "This port exposes the container port on the service",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 10037,
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ssh",
|
|
"label": "SSH Service",
|
|
"description": "The SSH service",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enable the Service",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"hidden": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "type",
|
|
"label": "Service Type",
|
|
"description": "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "LoadBalancer",
|
|
"enum": [
|
|
{
|
|
"value": "LoadBalancer",
|
|
"description": "LoadBalancer (Expose Ports)"
|
|
},
|
|
{
|
|
"value": "ClusterIP",
|
|
"description": "ClusterIP (Do Not Expose Ports)"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "loadBalancerIP",
|
|
"label": "LoadBalancer IP",
|
|
"description": "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"LoadBalancer"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "ports",
|
|
"label": "Service's Port(s) Configuration",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "ssh",
|
|
"label": "SSH Service Port Configuration",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "port",
|
|
"label": "Port",
|
|
"description": "This port exposes the container port on the service",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 2222,
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "serviceexpert",
|
|
"group": "Networking and Services",
|
|
"label": "Show Expert Config",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "scaleExternalInterface",
|
|
"description": "Add External Interfaces",
|
|
"label": "Add external Interfaces",
|
|
"group": "Networking",
|
|
"schema": {
|
|
"type": "list",
|
|
"items": [
|
|
{
|
|
"variable": "interfaceConfiguration",
|
|
"description": "Interface Configuration",
|
|
"label": "Interface Configuration",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"$ref": [
|
|
"normalize/interfaceConfiguration"
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "hostInterface",
|
|
"description": "Please Specify Host Interface",
|
|
"label": "Host Interface",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"$ref": [
|
|
"definitions/interface"
|
|
],
|
|
"enum": []
|
|
}
|
|
},
|
|
{
|
|
"variable": "ipam",
|
|
"description": "Define how IP Address will be managed",
|
|
"label": "IP Address Management",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"required": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "type",
|
|
"description": "Specify type for IPAM",
|
|
"label": "IPAM Type",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"enum": [
|
|
{
|
|
"value": "dhcp",
|
|
"description": "Use DHCP"
|
|
},
|
|
{
|
|
"value": "static",
|
|
"description": "Use Static IP"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "staticIPConfigurations",
|
|
"label": "Static IP Addresses",
|
|
"schema": {
|
|
"type": "list",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"static"
|
|
]
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "staticIP",
|
|
"label": "Static IP",
|
|
"schema": {
|
|
"type": "ipaddr",
|
|
"cidr": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "staticRoutes",
|
|
"label": "Static Routes",
|
|
"schema": {
|
|
"type": "list",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"static"
|
|
]
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "staticRouteConfiguration",
|
|
"label": "Static Route Configuration",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "destination",
|
|
"label": "Destination",
|
|
"schema": {
|
|
"type": "ipaddr",
|
|
"cidr": true,
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "gateway",
|
|
"label": "Gateway",
|
|
"schema": {
|
|
"type": "ipaddr",
|
|
"cidr": false,
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "serviceList",
|
|
"label": "Add Manual Custom Services",
|
|
"group": "Networking and Services",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "serviceListEntry",
|
|
"label": "Custom Service",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enable the service",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"hidden": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "type",
|
|
"label": "Service Type",
|
|
"description": "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "LoadBalancer",
|
|
"enum": [
|
|
{
|
|
"value": "LoadBalancer",
|
|
"description": "LoadBalancer (Expose Ports)"
|
|
},
|
|
{
|
|
"value": "ClusterIP",
|
|
"description": "ClusterIP (Do Not Expose Ports)"
|
|
},
|
|
{
|
|
"value": "Simple",
|
|
"description": "Deprecated CHANGE THIS"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "loadBalancerIP",
|
|
"label": "LoadBalancer IP",
|
|
"description": "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"LoadBalancer"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "advancedsvcset",
|
|
"label": "Show Advanced Service Settings",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "externalIPs",
|
|
"label": "External IP's",
|
|
"description": "External IP's",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "externalIP",
|
|
"label": "External IP",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ipFamilyPolicy",
|
|
"label": "IP Family Policy",
|
|
"description": "Specify the IP Policy",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "SingleStack",
|
|
"enum": [
|
|
{
|
|
"value": "SingleStack",
|
|
"description": "SingleStack"
|
|
},
|
|
{
|
|
"value": "PreferDualStack",
|
|
"description": "PreferDualStack"
|
|
},
|
|
{
|
|
"value": "RequireDualStack",
|
|
"description": "RequireDualStack"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ipFamilies",
|
|
"label": "IP Families",
|
|
"description": "(Advanced) The IP Families that should be used",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "ipFamily",
|
|
"label": "IP Family",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "portsList",
|
|
"label": "Additional Service Ports",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "portsListEntry",
|
|
"label": "Custom ports",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enable the Port",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"hidden": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "name",
|
|
"label": "Port Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "protocol",
|
|
"label": "Port Type",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "tcp",
|
|
"enum": [
|
|
{
|
|
"value": "http",
|
|
"description": "HTTP"
|
|
},
|
|
{
|
|
"value": "https",
|
|
"description": "HTTPS"
|
|
},
|
|
{
|
|
"value": "tcp",
|
|
"description": "TCP"
|
|
},
|
|
{
|
|
"value": "udp",
|
|
"description": "UDP"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "targetPort",
|
|
"label": "Target Port",
|
|
"description": "This port exposes the container port on the service",
|
|
"schema": {
|
|
"type": "int",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "port",
|
|
"label": "Container Port",
|
|
"schema": {
|
|
"type": "int",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "persistence",
|
|
"label": "Integrated Persistent Storage",
|
|
"description": "Integrated Persistent Storage",
|
|
"group": "Storage and Persistence",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "data",
|
|
"label": "App data Storage",
|
|
"description": "Stores the Application Configuration.",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "type",
|
|
"label": "Type of Storage",
|
|
"description": "Sets the persistence type, Anything other than PVC could break rollback!",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "pvc",
|
|
"enum": [
|
|
{
|
|
"value": "pvc",
|
|
"description": "PVC"
|
|
},
|
|
{
|
|
"value": "hostPath",
|
|
"description": "Host Path"
|
|
},
|
|
{
|
|
"value": "emptyDir",
|
|
"description": "emptyDir"
|
|
},
|
|
{
|
|
"value": "nfs",
|
|
"description": "NFS Share"
|
|
},
|
|
{
|
|
"value": "iscsi",
|
|
"description": "iSCSI Share"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "server",
|
|
"label": "NFS Server",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"nfs"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "path",
|
|
"label": "Path on NFS Server",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"nfs"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "iscsi",
|
|
"label": "iSCSI Options",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"iscsi"
|
|
]
|
|
],
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "targetPortal",
|
|
"label": "targetPortal",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "iqn",
|
|
"label": "iqn",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "lun",
|
|
"label": "lun",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 0
|
|
}
|
|
},
|
|
{
|
|
"variable": "authSession",
|
|
"label": "authSession",
|
|
"schema": {
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "username",
|
|
"label": "username",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "password",
|
|
"label": "password",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "usernameInitiator",
|
|
"label": "usernameInitiator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "passwordInitiator",
|
|
"label": "passwordInitiator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "authDiscovery",
|
|
"label": "authDiscovery",
|
|
"schema": {
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "username",
|
|
"label": "username",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "password",
|
|
"label": "password",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "usernameInitiator",
|
|
"label": "usernameInitiator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "passwordInitiator",
|
|
"label": "passwordInitiator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "autoPermissions",
|
|
"label": "Automatic Permissions Configuration",
|
|
"description": "Automatically set permissions",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"!=",
|
|
"pvc"
|
|
]
|
|
],
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "chown",
|
|
"label": "Run CHOWN",
|
|
"description": "It will run CHOWN on the path with the given fsGroup\n",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "chmod",
|
|
"label": "Run CHMOD",
|
|
"description": "It will run CHMOD on the path with the given value</br>\nFormat should be 3 digits, e.g. 770\n",
|
|
"schema": {
|
|
"type": "string",
|
|
"valid_chars": "[0-9]{3}",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "recursive",
|
|
"label": "Recursive",
|
|
"description": "It will run CHOWN and CHMOD recursively\n",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "readOnly",
|
|
"label": "Read Only",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "hostPath",
|
|
"label": "Host Path",
|
|
"description": "Path inside the container the storage is mounted",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"hostPath"
|
|
]
|
|
],
|
|
"type": "hostpath"
|
|
}
|
|
},
|
|
{
|
|
"variable": "medium",
|
|
"label": "EmptyDir Medium",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"emptyDir"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": "",
|
|
"enum": [
|
|
{
|
|
"value": "",
|
|
"description": "Default"
|
|
},
|
|
{
|
|
"value": "Memory",
|
|
"description": "Memory"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "size",
|
|
"label": "Size quotum of Storage (Do NOT REDUCE after installation)",
|
|
"description": "This value can ONLY be INCREASED after the installation",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"pvc"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": "256Gi"
|
|
}
|
|
},
|
|
{
|
|
"variable": "storageClass",
|
|
"label": "storageClass (Advanced)",
|
|
"description": "sets the storageClass to something other than iX default. Only for advanced usecases!",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"pvc"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "static",
|
|
"label": "Static Fixed PVC Bindings (Experimental)",
|
|
"description": "Link a PVC to a specific storage location",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"pvc"
|
|
]
|
|
],
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "mode",
|
|
"label": "mode",
|
|
"description": "disabled: use normal dynamic PVCs\nsmb: connect to an SMB share\nnfs: connect to an NFS share\n",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "disabled",
|
|
"enum": [
|
|
{
|
|
"value": "disabled",
|
|
"description": "disabled"
|
|
},
|
|
{
|
|
"value": "smb",
|
|
"description": "smb"
|
|
},
|
|
{
|
|
"value": "nfs",
|
|
"description": "nfs"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "server",
|
|
"label": "Server",
|
|
"description": "server to connect to",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"mode",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": "myserver"
|
|
}
|
|
},
|
|
{
|
|
"variable": "share",
|
|
"label": "Share",
|
|
"description": "share to connect to",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"mode",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": "/myshare"
|
|
}
|
|
},
|
|
{
|
|
"variable": "user",
|
|
"label": "User",
|
|
"description": "connecting user",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"mode",
|
|
"=",
|
|
"smb"
|
|
]
|
|
],
|
|
"default": "myuser"
|
|
}
|
|
},
|
|
{
|
|
"variable": "domain",
|
|
"label": "Domain",
|
|
"description": "user domain",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"mode",
|
|
"=",
|
|
"smb"
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "password",
|
|
"label": "Password",
|
|
"description": "connecting password",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"mode",
|
|
"=",
|
|
"smb"
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "volumeSnapshots",
|
|
"label": "Volume Snapshots (Experimental)",
|
|
"description": "Add an entry to the list to force creation of a volumeSnapshot of this PVC",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"pvc"
|
|
]
|
|
],
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "volumeSnapshotEntry",
|
|
"label": "Custom volumeSnapshot",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"description": "WARNING: renaming this, means deletion of the snapshot with the old name!",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "mysnapshot",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "volumeSnapshotClassName",
|
|
"label": "volumeSnapshot Class Name (Advanced)",
|
|
"description": "For use with PVCs using a non-default storageClass",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "persistenceList",
|
|
"label": "Additional App Storage",
|
|
"group": "Storage and Persistence",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "persistenceListEntry",
|
|
"label": "Custom Storage",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enable the storage",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"hidden": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "type",
|
|
"label": "Type of Storage",
|
|
"description": "Sets the persistence type, Anything other than PVC could break rollback!",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "hostPath",
|
|
"enum": [
|
|
{
|
|
"value": "pvc",
|
|
"description": "PVC"
|
|
},
|
|
{
|
|
"value": "hostPath",
|
|
"description": "Host Path"
|
|
},
|
|
{
|
|
"value": "emptyDir",
|
|
"description": "emptyDir"
|
|
},
|
|
{
|
|
"value": "nfs",
|
|
"description": "NFS Share"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "server",
|
|
"label": "NFS Server",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"nfs"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "path",
|
|
"label": "Path on NFS Server",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"nfs"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "iscsi",
|
|
"label": "iSCSI Options",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"iscsi"
|
|
]
|
|
],
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "targetPortal",
|
|
"label": "targetPortal",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "iqn",
|
|
"label": "iqn",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "lun",
|
|
"label": "lun",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 0
|
|
}
|
|
},
|
|
{
|
|
"variable": "authSession",
|
|
"label": "authSession",
|
|
"schema": {
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "username",
|
|
"label": "username",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "password",
|
|
"label": "password",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "usernameInitiator",
|
|
"label": "usernameInitiator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "passwordInitiator",
|
|
"label": "passwordInitiator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "authDiscovery",
|
|
"label": "authDiscovery",
|
|
"schema": {
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "username",
|
|
"label": "username",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "password",
|
|
"label": "password",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "usernameInitiator",
|
|
"label": "usernameInitiator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "passwordInitiator",
|
|
"label": "passwordInitiator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "autoPermissions",
|
|
"label": "Automatic Permissions Configuration",
|
|
"description": "Automatically set permissions",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"!=",
|
|
"pvc"
|
|
]
|
|
],
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "chown",
|
|
"label": "Run CHOWN",
|
|
"description": "It will run CHOWN on the path with the given fsGroup\n",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "chmod",
|
|
"label": "Run CHMOD",
|
|
"description": "It will run CHMOD on the path with the given value</br>\nFormat should be 3 digits, e.g. 770\n",
|
|
"schema": {
|
|
"type": "string",
|
|
"valid_chars": "[0-9]{3}",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "recursive",
|
|
"label": "Recursive",
|
|
"description": "It will run CHOWN and CHMOD recursively\n",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "readOnly",
|
|
"label": "Read Only",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "hostPath",
|
|
"label": "Host Path",
|
|
"description": "Path inside the container the storage is mounted",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"hostPath"
|
|
]
|
|
],
|
|
"type": "hostpath"
|
|
}
|
|
},
|
|
{
|
|
"variable": "mountPath",
|
|
"label": "Mount Path",
|
|
"description": "Path inside the container the storage is mounted",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true,
|
|
"valid_chars": "^\\/([a-zA-Z0-9._-]+(\\s?[a-zA-Z0-9._-]+|\\/?))+$"
|
|
}
|
|
},
|
|
{
|
|
"variable": "medium",
|
|
"label": "EmptyDir Medium",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"emptyDir"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": "",
|
|
"enum": [
|
|
{
|
|
"value": "",
|
|
"description": "Default"
|
|
},
|
|
{
|
|
"value": "Memory",
|
|
"description": "Memory"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "size",
|
|
"label": "Size Quotum of Storage",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"pvc"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": "256Gi"
|
|
}
|
|
},
|
|
{
|
|
"variable": "storageClass",
|
|
"label": "storageClass (Advanced)",
|
|
"description": "sets the storageClass to something other than iX default. Only for advanced usecases!",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"pvc"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "static",
|
|
"label": "Static Fixed PVC Bindings (Experimental)",
|
|
"description": "Link a PVC to a specific storage location",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"pvc"
|
|
]
|
|
],
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "mode",
|
|
"label": "mode",
|
|
"description": "disabled: use normal dynamic PVCs\nsmb: connect to an SMB share\nnfs: connect to an NFS share\n",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "disabled",
|
|
"enum": [
|
|
{
|
|
"value": "disabled",
|
|
"description": "disabled"
|
|
},
|
|
{
|
|
"value": "smb",
|
|
"description": "smb"
|
|
},
|
|
{
|
|
"value": "nfs",
|
|
"description": "nfs"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "server",
|
|
"label": "Server",
|
|
"description": "server to connect to",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"mode",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": "myserver"
|
|
}
|
|
},
|
|
{
|
|
"variable": "share",
|
|
"label": "Share",
|
|
"description": "share to connect to",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"mode",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": "/myshare"
|
|
}
|
|
},
|
|
{
|
|
"variable": "user",
|
|
"label": "User",
|
|
"description": "connecting user",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"mode",
|
|
"=",
|
|
"smb"
|
|
]
|
|
],
|
|
"default": "myuser"
|
|
}
|
|
},
|
|
{
|
|
"variable": "domain",
|
|
"label": "Domain",
|
|
"description": "user domain",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"mode",
|
|
"=",
|
|
"smb"
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "password",
|
|
"label": "Password",
|
|
"description": "connecting password",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"mode",
|
|
"=",
|
|
"smb"
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "volumeSnapshots",
|
|
"label": "Volume Snapshots (Experimental)",
|
|
"description": "Add an entry to the list to force creation of a volumeSnapshot of this PVC",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"pvc"
|
|
]
|
|
],
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "volumeSnapshotEntry",
|
|
"label": "Custom volumeSnapshot",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"description": "WARNING: renaming this, means deletion of the snapshot with the old name!",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "mysnapshot",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "volumeSnapshotClassName",
|
|
"label": "volumeSnapshot Class Name (Advanced)",
|
|
"description": "For use with PVCs using a non-default storageClass",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ingress",
|
|
"label": "",
|
|
"group": "Ingress",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "main",
|
|
"label": "Main Ingress",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enable Ingress",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "hosts",
|
|
"label": "Hosts",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "hostEntry",
|
|
"label": "Host",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "host",
|
|
"label": "HostName",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "paths",
|
|
"label": "Paths",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [
|
|
{
|
|
"path": "/",
|
|
"pathType": "Prefix"
|
|
}
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "pathEntry",
|
|
"label": "Host",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "path",
|
|
"label": "Path",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "/"
|
|
}
|
|
},
|
|
{
|
|
"variable": "pathType",
|
|
"label": "Path Type",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "Prefix"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "integrations",
|
|
"label": "Integrations",
|
|
"description": "Connect ingress with other charts",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "traefik",
|
|
"label": "Traefik",
|
|
"description": "Connect ingress with Traefik",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "allowCors",
|
|
"label": "Allow Cross Origin Requests (advanced)",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "entrypoints",
|
|
"label": "Entrypoints",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [
|
|
"websecure"
|
|
],
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "entrypoint",
|
|
"label": "Entrypoint",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "middlewares",
|
|
"label": "Middlewares",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "middleware",
|
|
"label": "Middleware",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "name",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "namespace",
|
|
"label": "namespace (optional)",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "certManager",
|
|
"label": "certManager",
|
|
"description": "Connect ingress with certManager",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "certificateIssuer",
|
|
"label": "certificateIssuer",
|
|
"description": "defaults to chartname",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "homepage",
|
|
"label": "Homepage",
|
|
"description": "Connect ingress with Homepage",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "name",
|
|
"label": "Name (Optional)",
|
|
"description": "Defaults to chart name",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "description",
|
|
"label": "Description (Optional)",
|
|
"description": "Defaults to chart description",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "icon",
|
|
"label": "Icon (Optional)",
|
|
"description": "Defaults to chart icon",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "group",
|
|
"label": "Group",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "default",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "widget",
|
|
"label": "Widget Settings",
|
|
"schema": {
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enable Widget",
|
|
"description": "When disabled all widget annotations are skipped.",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "custom",
|
|
"label": "Options",
|
|
"schema": {
|
|
"type": "dict",
|
|
"additional_attrs": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "key",
|
|
"label": "API-key (key)",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "customkv",
|
|
"label": "Custom Options",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "option",
|
|
"label": "Option",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "key",
|
|
"label": "Key",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "value",
|
|
"label": "Value",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "advanced",
|
|
"label": "Show Advanced Settings",
|
|
"description": "Advanced settings are not covered by TrueCharts Support",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "ingressClassName",
|
|
"label": "(Advanced/Optional) IngressClass Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"advanced",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "tls",
|
|
"label": "TLS-Settings",
|
|
"schema": {
|
|
"type": "list",
|
|
"show_if": [
|
|
[
|
|
"advanced",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "tlsEntry",
|
|
"label": "Host",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "hosts",
|
|
"label": "Certificate Hosts",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "host",
|
|
"label": "Host",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "certificateIssuer",
|
|
"label": "Use Cert-Manager clusterIssuer",
|
|
"description": "add the name of your cert-manager clusterIssuer here for automatic tls certificates.",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "clusterCertificate",
|
|
"label": "Cluster Certificate (Advanced)",
|
|
"description": "Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"certificateIssuer",
|
|
"=",
|
|
""
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "secretName",
|
|
"label": "Use Custom Certificate Secret (Advanced)",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"certificateIssuer",
|
|
"=",
|
|
""
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ingressList",
|
|
"label": "Add Manual Custom Ingresses",
|
|
"group": "Ingress",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "ingressListEntry",
|
|
"label": "Custom Ingress",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enable Ingress",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"hidden": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "ingressClassName",
|
|
"label": "IngressClass Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "hosts",
|
|
"label": "Hosts",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "hostEntry",
|
|
"label": "Host",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "host",
|
|
"label": "HostName",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "paths",
|
|
"label": "Paths",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "pathEntry",
|
|
"label": "Host",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "path",
|
|
"label": "Path",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "/"
|
|
}
|
|
},
|
|
{
|
|
"variable": "pathType",
|
|
"label": "Path Type",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "Prefix"
|
|
}
|
|
},
|
|
{
|
|
"variable": "overrideService",
|
|
"label": "Linked Service",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Service Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "port",
|
|
"label": "Service Port",
|
|
"schema": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "tls",
|
|
"label": "TLS-Settings",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"show_if": [
|
|
[
|
|
"certificateIssuer",
|
|
"=",
|
|
""
|
|
]
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "tlsEntry",
|
|
"label": "Host",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "hosts",
|
|
"label": "Certificate Hosts",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "host",
|
|
"label": "Host",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "certificateIssuer",
|
|
"label": "Use Cert-Manager clusterIssuer",
|
|
"description": "add the name of your Cert-Manager clusterIssuer here for automatic tls certificates.",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "clusterCertificate",
|
|
"label": "Cluster Certificate (Advanced)",
|
|
"description": "Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"certificateIssuer",
|
|
"=",
|
|
""
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "secretName",
|
|
"label": "Use Custom Secret (Advanced)",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"certificateIssuer",
|
|
"=",
|
|
""
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "integrations",
|
|
"label": "Integrations",
|
|
"description": "Connect ingress with other charts",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "traefik",
|
|
"label": "Traefik",
|
|
"description": "Connect ingress with Traefik",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "allowCors",
|
|
"label": "Allow Cross Origin Requests",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "entrypoints",
|
|
"label": "Entrypoints",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [
|
|
"websecure"
|
|
],
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "entrypoint",
|
|
"label": "Entrypoint",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "middlewares",
|
|
"label": "Middlewares",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "middleware",
|
|
"label": "Middleware",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "name",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "namespace",
|
|
"label": "namespace",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "certManager",
|
|
"label": "certManager",
|
|
"description": "Connect ingress with certManager",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "certificateIssuer",
|
|
"label": "certificateIssuer",
|
|
"description": "defaults to chartname",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "homepage",
|
|
"label": "Homepage",
|
|
"description": "Connect ingress with Homepage",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"description": "defaults to chartname",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "description",
|
|
"label": "Description",
|
|
"description": "defaults to chart description",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "group",
|
|
"label": "Group",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "default",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "securityContext",
|
|
"group": "Security and Permissions",
|
|
"label": "Security Context",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "container",
|
|
"label": "Container",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "runAsUser",
|
|
"label": "runAsUser",
|
|
"description": "The UserID of the user running the application",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 1000
|
|
}
|
|
},
|
|
{
|
|
"variable": "runAsGroup",
|
|
"label": "runAsGroup",
|
|
"description": "The groupID of the user running the application",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 1000
|
|
}
|
|
},
|
|
{
|
|
"variable": "PUID",
|
|
"label": "Process User ID - PUID",
|
|
"description": "When supported by the container, this sets the User ID running the Application Process. Not supported by all Apps",
|
|
"schema": {
|
|
"type": "int",
|
|
"show_if": [
|
|
[
|
|
"runAsUser",
|
|
"=",
|
|
0
|
|
]
|
|
],
|
|
"default": 568
|
|
}
|
|
},
|
|
{
|
|
"variable": "UMASK",
|
|
"label": "UMASK",
|
|
"description": "When supported by the container, this sets the UMASK for the App. Not supported by all Apps",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "0022"
|
|
}
|
|
},
|
|
{
|
|
"variable": "advanced",
|
|
"label": "Show Advanced Settings",
|
|
"description": "Advanced settings are not covered by TrueCharts Support",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "privileged",
|
|
"label": "Privileged mode",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "readOnlyRootFilesystem",
|
|
"label": "ReadOnly Root Filesystem",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "pod",
|
|
"label": "Pod",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "fsGroupChangePolicy",
|
|
"label": "When should we take ownership?",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "OnRootMismatch",
|
|
"enum": [
|
|
{
|
|
"value": "OnRootMismatch",
|
|
"description": "OnRootMismatch"
|
|
},
|
|
{
|
|
"value": "Always",
|
|
"description": "Always"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "supplementalGroups",
|
|
"label": "Supplemental Groups",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "supplementalGroupsEntry",
|
|
"label": "Supplemental Group",
|
|
"schema": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "fsGroup",
|
|
"label": "fsGroup",
|
|
"description": "The group that should own ALL storage.",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 1000
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "resources",
|
|
"group": "Resources and Devices",
|
|
"label": "Resource Limits",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "limits",
|
|
"label": "Advanced Limit Resource Consumption",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "cpu",
|
|
"label": "CPU",
|
|
"description": "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/SCALE/validation",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "4000m",
|
|
"valid_chars": "^(?!^0(\\.0|m|)$)([0-9]+)(\\.[0-9]|m?)$"
|
|
}
|
|
},
|
|
{
|
|
"variable": "memory",
|
|
"label": "RAM",
|
|
"description": "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/SCALE/validation",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "8Gi",
|
|
"valid_chars": "^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$"
|
|
}
|
|
},
|
|
{
|
|
"variable": "intel.com/i915",
|
|
"label": "Add Intel i915 GPUs",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 0
|
|
}
|
|
},
|
|
{
|
|
"variable": "nvidia.com/gpu",
|
|
"label": "Add NVIDIA GPUs (Experimental)",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 0
|
|
}
|
|
},
|
|
{
|
|
"variable": "amd.com/gpu",
|
|
"label": "Add AMD GPUs",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 0
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "requests",
|
|
"label": "Minimum Resources Required (request)",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"hidden": true,
|
|
"attrs": [
|
|
{
|
|
"variable": "cpu",
|
|
"label": "CPU",
|
|
"description": "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/SCALE/validation",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "10m",
|
|
"hidden": true,
|
|
"valid_chars": "^(?!^0(\\.0|m|)$)([0-9]+)(\\.[0-9]|m?)$"
|
|
}
|
|
},
|
|
{
|
|
"variable": "memory",
|
|
"label": "RAM",
|
|
"description": "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/SCALE/validation",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "50Mi",
|
|
"hidden": true,
|
|
"valid_chars": "^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "deviceList",
|
|
"label": "Mount USB Devices",
|
|
"group": "Resources and Devices",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "deviceListEntry",
|
|
"label": "Device",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enable the Storage",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "type",
|
|
"label": "(Advanced) Type of Storage",
|
|
"description": "Sets the persistence type",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "device",
|
|
"hidden": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "readOnly",
|
|
"label": "readOnly",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "hostPath",
|
|
"label": "Host Device Path",
|
|
"description": "Path to the device on the host system",
|
|
"schema": {
|
|
"type": "path"
|
|
}
|
|
},
|
|
{
|
|
"variable": "mountPath",
|
|
"label": "Container Device Path",
|
|
"description": "Path inside the container the device is mounted",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "/dev/ttyACM0"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "scaleGPU",
|
|
"label": "GPU Configuration",
|
|
"group": "Resources and Devices",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "scaleGPUEntry",
|
|
"label": "GPU",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "gpu",
|
|
"label": "Select GPU",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"$ref": [
|
|
"definitions/gpuConfiguration"
|
|
],
|
|
"attrs": []
|
|
}
|
|
},
|
|
{
|
|
"variable": "workaround",
|
|
"label": "Workaround",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "workaround",
|
|
"hidden": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "cnpg",
|
|
"group": "Postgresql",
|
|
"label": "CloudNative-PG (CNPG)",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "main",
|
|
"label": "Main Postgresql Database",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "hibernate",
|
|
"label": "Hibernate",
|
|
"description": "enable to safely hibernate and shutdown the postgresql cluster",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "mode",
|
|
"label": "Mode",
|
|
"description": "Cluster mode of operation. Available modes: standalone - default mode. Creates new or updates an existing CNPG cluster. recovery - Same as standalone but creates a cluster from a backup, object store or via pg_basebackup replica - Creates a replica cluster from an existing CNPG cluster. # TODO.",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "standalone",
|
|
"enum": [
|
|
{
|
|
"value": "standalone",
|
|
"description": "standalone"
|
|
},
|
|
{
|
|
"value": "replica",
|
|
"description": "replica"
|
|
},
|
|
{
|
|
"value": "recovery",
|
|
"description": "recovery"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "cluster",
|
|
"label": "Cluster Settings",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "instances",
|
|
"label": "Instances",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 1
|
|
}
|
|
},
|
|
{
|
|
"variable": "singleNode",
|
|
"label": "singleNode",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"hidden": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "storage",
|
|
"label": "Storage",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "size",
|
|
"label": "Size",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "256Gi"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "walStorage",
|
|
"label": "WAL Storage",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "size",
|
|
"label": "Size",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "256Gi"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "monitoring",
|
|
"label": "Monitoring Settings",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enablePodMonitor",
|
|
"label": "enablePodMonitor",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "disableDefaultQueries",
|
|
"label": "disableDefaultQueries",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "pooler",
|
|
"label": "Pooler Settings",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "instances",
|
|
"label": "Instances",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 1
|
|
}
|
|
},
|
|
{
|
|
"variable": "createRO",
|
|
"label": "Create ReadOnly Instance",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "recovery",
|
|
"label": "Recovery Settings (Experimental)",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "endpointURL",
|
|
"label": "endpointURL",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "method",
|
|
"label": "method",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": "object_store"
|
|
}
|
|
},
|
|
{
|
|
"variable": "backupName",
|
|
"label": "backupName",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "provider",
|
|
"label": "provider",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": "s3",
|
|
"enum": [
|
|
{
|
|
"value": "s3",
|
|
"description": "S3"
|
|
},
|
|
{
|
|
"value": "azure",
|
|
"description": "Azure"
|
|
},
|
|
{
|
|
"value": "google",
|
|
"description": "Google"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "s3",
|
|
"label": "s3",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"provider",
|
|
"=",
|
|
"s3"
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "region",
|
|
"label": "region",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "bucket",
|
|
"label": "bucket",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "path",
|
|
"label": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "/"
|
|
}
|
|
},
|
|
{
|
|
"variable": "accessKey",
|
|
"label": "accessKey",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "secretKey",
|
|
"label": "secretKey",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "azure",
|
|
"label": "azure (EXTREMELY EXPERIMENTAL)",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"provider",
|
|
"=",
|
|
"azure"
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "path",
|
|
"label": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "/"
|
|
}
|
|
},
|
|
{
|
|
"variable": "connectionString",
|
|
"label": "connectionString",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "storageAccount",
|
|
"label": "storageAccount",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "storageKey",
|
|
"label": "storageKey",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "storageSasToken",
|
|
"label": "storageSasToken",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "containerName",
|
|
"label": "containerName",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "serviceName",
|
|
"label": "serviceName",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "blob"
|
|
}
|
|
},
|
|
{
|
|
"variable": "inheritFromAzureAD",
|
|
"label": "inheritFromAzureAD",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "google",
|
|
"label": "google (EXTREMELY EXPERIMENTAL)",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"provider",
|
|
"=",
|
|
"google"
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "path",
|
|
"label": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "/"
|
|
}
|
|
},
|
|
{
|
|
"variable": "bucket",
|
|
"label": "bucket",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "gkeEnvironment",
|
|
"label": "gkeEnvironment",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "applicationCredentials",
|
|
"label": "applicationCredentials",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "backups",
|
|
"label": "Backup Settings (Experimental)",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "endpointURL",
|
|
"label": "endpointURL",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "destinationPath",
|
|
"label": "destinationPath",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "retentionPolicy",
|
|
"label": "retentionPolicy",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": "30d"
|
|
}
|
|
},
|
|
{
|
|
"variable": "provider",
|
|
"label": "provider",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": "s3",
|
|
"enum": [
|
|
{
|
|
"value": "s3",
|
|
"description": "S3"
|
|
},
|
|
{
|
|
"value": "azure",
|
|
"description": "Azure"
|
|
},
|
|
{
|
|
"value": "google",
|
|
"description": "Google"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "s3",
|
|
"label": "s3",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"provider",
|
|
"=",
|
|
"s3"
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "region",
|
|
"label": "region",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "bucket",
|
|
"label": "bucket",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "path",
|
|
"label": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "/"
|
|
}
|
|
},
|
|
{
|
|
"variable": "accessKey",
|
|
"label": "accessKey",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "secretKey",
|
|
"label": "secretKey",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "azure",
|
|
"label": "azure (EXTREMELY EXPERIMENTAL)",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"provider",
|
|
"=",
|
|
"azure"
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "path",
|
|
"label": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "/"
|
|
}
|
|
},
|
|
{
|
|
"variable": "connectionString",
|
|
"label": "connectionString",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "storageAccount",
|
|
"label": "storageAccount",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "storageKey",
|
|
"label": "storageKey",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "storageSasToken",
|
|
"label": "storageSasToken",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "containerName",
|
|
"label": "containerName",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "serviceName",
|
|
"label": "serviceName",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "blob"
|
|
}
|
|
},
|
|
{
|
|
"variable": "inheritFromAzureAD",
|
|
"label": "inheritFromAzureAD",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "google",
|
|
"label": "google (EXTREMELY EXPERIMENTAL)",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"provider",
|
|
"=",
|
|
"google"
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "path",
|
|
"label": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "/"
|
|
}
|
|
},
|
|
{
|
|
"variable": "bucket",
|
|
"label": "bucket",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "gkeEnvironment",
|
|
"label": "gkeEnvironment",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "applicationCredentials",
|
|
"label": "applicationCredentials",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "scheduledBackups",
|
|
"label": "ScheduledBackups",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "backupschedule",
|
|
"label": "BackupSchedule",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "name",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "daily-backup",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "schedule",
|
|
"label": "schedule",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "0 0 0 * * *"
|
|
}
|
|
},
|
|
{
|
|
"variable": "backupOwnerReference",
|
|
"label": "backupOwnerReference",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "self"
|
|
}
|
|
},
|
|
{
|
|
"variable": "immediate",
|
|
"label": "immediate",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "suspend",
|
|
"label": "suspend",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "manualBackups",
|
|
"label": "manualBackups",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "backup",
|
|
"label": "Backup",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "name",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "networkPolicy",
|
|
"group": "Advanced",
|
|
"label": "(Advanced) Network Policy",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "netPolicyEntry",
|
|
"label": "Network Policy Entry",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "policyType",
|
|
"label": "Policy Type",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"enum": [
|
|
{
|
|
"value": "",
|
|
"description": "Default"
|
|
},
|
|
{
|
|
"value": "ingress",
|
|
"description": "Ingress"
|
|
},
|
|
{
|
|
"value": "egress",
|
|
"description": "Egress"
|
|
},
|
|
{
|
|
"value": "ingress-egress",
|
|
"description": "Ingress and Egress"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "egress",
|
|
"label": "Egress",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "egressEntry",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "to",
|
|
"label": "To",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "toEntry",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "ipBlock",
|
|
"label": "IP Block",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "cidr",
|
|
"label": "CIDR",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "except",
|
|
"label": "Except",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "exceptint",
|
|
"label": "",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "namespaceSelector",
|
|
"label": "Namespace Selector",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "matchExpressions",
|
|
"label": "Match Expressions",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "expressionEntry",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "key",
|
|
"label": "Key",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"variable": "operator",
|
|
"label": "Operator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "TCP",
|
|
"enum": [
|
|
{
|
|
"value": "In",
|
|
"description": "In"
|
|
},
|
|
{
|
|
"value": "NotIn",
|
|
"description": "NotIn"
|
|
},
|
|
{
|
|
"value": "Exists",
|
|
"description": "Exists"
|
|
},
|
|
{
|
|
"value": "DoesNotExist",
|
|
"description": "DoesNotExist"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "values",
|
|
"label": "Values",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "value",
|
|
"label": "",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "podSelector",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "matchExpressions",
|
|
"label": "Match Expressions",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "expressionEntry",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "key",
|
|
"label": "Key",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"variable": "operator",
|
|
"label": "Operator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "TCP",
|
|
"enum": [
|
|
{
|
|
"value": "In",
|
|
"description": "In"
|
|
},
|
|
{
|
|
"value": "NotIn",
|
|
"description": "NotIn"
|
|
},
|
|
{
|
|
"value": "Exists",
|
|
"description": "Exists"
|
|
},
|
|
{
|
|
"value": "DoesNotExist",
|
|
"description": "DoesNotExist"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "values",
|
|
"label": "Values",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "value",
|
|
"label": "",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ports",
|
|
"label": "Ports",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "portsEntry",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "port",
|
|
"label": "Port",
|
|
"schema": {
|
|
"type": "int"
|
|
}
|
|
},
|
|
{
|
|
"variable": "endPort",
|
|
"label": "End Port",
|
|
"schema": {
|
|
"type": "int"
|
|
}
|
|
},
|
|
{
|
|
"variable": "protocol",
|
|
"label": "Protocol",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "TCP",
|
|
"enum": [
|
|
{
|
|
"value": "TCP",
|
|
"description": "TCP"
|
|
},
|
|
{
|
|
"value": "UDP",
|
|
"description": "UDP"
|
|
},
|
|
{
|
|
"value": "SCTP",
|
|
"description": "SCTP"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ingress",
|
|
"label": "Ingress",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "ingressEntry",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "from",
|
|
"label": "From",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "fromEntry",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "ipBlock",
|
|
"label": "IP Block",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "cidr",
|
|
"label": "CIDR",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "except",
|
|
"label": "Except",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "exceptint",
|
|
"label": "",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "namespaceSelector",
|
|
"label": "Namespace Selector",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "matchExpressions",
|
|
"label": "Match Expressions",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "expressionEntry",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "key",
|
|
"label": "Key",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"variable": "operator",
|
|
"label": "Operator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "TCP",
|
|
"enum": [
|
|
{
|
|
"value": "In",
|
|
"description": "In"
|
|
},
|
|
{
|
|
"value": "NotIn",
|
|
"description": "NotIn"
|
|
},
|
|
{
|
|
"value": "Exists",
|
|
"description": "Exists"
|
|
},
|
|
{
|
|
"value": "DoesNotExist",
|
|
"description": "DoesNotExist"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "values",
|
|
"label": "Values",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "value",
|
|
"label": "",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "podSelector",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "matchExpressions",
|
|
"label": "Match Expressions",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "expressionEntry",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "key",
|
|
"label": "Key",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"variable": "operator",
|
|
"label": "Operator",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "TCP",
|
|
"enum": [
|
|
{
|
|
"value": "In",
|
|
"description": "In"
|
|
},
|
|
{
|
|
"value": "NotIn",
|
|
"description": "NotIn"
|
|
},
|
|
{
|
|
"value": "Exists",
|
|
"description": "Exists"
|
|
},
|
|
{
|
|
"value": "DoesNotExist",
|
|
"description": "DoesNotExist"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "values",
|
|
"label": "Values",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "value",
|
|
"label": "",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ports",
|
|
"label": "Ports",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "portsEntry",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "port",
|
|
"label": "Port",
|
|
"schema": {
|
|
"type": "int"
|
|
}
|
|
},
|
|
{
|
|
"variable": "endPort",
|
|
"label": "End Port",
|
|
"schema": {
|
|
"type": "int"
|
|
}
|
|
},
|
|
{
|
|
"variable": "protocol",
|
|
"label": "Protocol",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "TCP",
|
|
"enum": [
|
|
{
|
|
"value": "TCP",
|
|
"description": "TCP"
|
|
},
|
|
{
|
|
"value": "UDP",
|
|
"description": "UDP"
|
|
},
|
|
{
|
|
"value": "SCTP",
|
|
"description": "SCTP"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "addons",
|
|
"group": "Addons",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "codeserver",
|
|
"label": "Codeserver",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "service",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "type",
|
|
"label": "Service Type",
|
|
"description": "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "LoadBalancer",
|
|
"enum": [
|
|
{
|
|
"value": "NodePort",
|
|
"description": "Deprecated CHANGE THIS"
|
|
},
|
|
{
|
|
"value": "ClusterIP",
|
|
"description": "ClusterIP"
|
|
},
|
|
{
|
|
"value": "LoadBalancer",
|
|
"description": "LoadBalancer"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "loadBalancerIP",
|
|
"label": "LoadBalancer IP",
|
|
"description": "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"LoadBalancer"
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "ports",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "codeserver",
|
|
"label": "",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "port",
|
|
"label": "Port",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 36107
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ingress",
|
|
"label": "Ingress",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enable Ingress",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "hosts",
|
|
"label": "Hosts",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "hostEntry",
|
|
"label": "Host",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "host",
|
|
"label": "HostName",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "paths",
|
|
"label": "Paths",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [
|
|
{
|
|
"path": "/",
|
|
"pathType": "Prefix"
|
|
}
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "pathEntry",
|
|
"label": "Host",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "path",
|
|
"label": "Path",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "/"
|
|
}
|
|
},
|
|
{
|
|
"variable": "pathType",
|
|
"label": "Path Type",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "Prefix"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "integrations",
|
|
"label": "Integrations",
|
|
"description": "Connect ingress with other charts",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "traefik",
|
|
"label": "Traefik",
|
|
"description": "Connect ingress with Traefik",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "allowCors",
|
|
"label": "Allow Cross Origin Requests (advanced)",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "entrypoints",
|
|
"label": "Entrypoints",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [
|
|
"websecure"
|
|
],
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "entrypoint",
|
|
"label": "Entrypoint",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "middlewares",
|
|
"label": "Middlewares",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "middleware",
|
|
"label": "Middleware",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "name",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "namespace",
|
|
"label": "namespace (optional)",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "certManager",
|
|
"label": "certManager",
|
|
"description": "Connect ingress with certManager",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "certificateIssuer",
|
|
"label": "certificateIssuer",
|
|
"description": "defaults to chartname",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"show_if": [
|
|
[
|
|
"enabled",
|
|
"=",
|
|
true
|
|
]
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "advanced",
|
|
"label": "Show Advanced Settings",
|
|
"description": "Advanced settings are not covered by TrueCharts Support",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "ingressClassName",
|
|
"label": "(Advanced/Optional) IngressClass Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"advanced",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "tls",
|
|
"label": "TLS-Settings",
|
|
"schema": {
|
|
"type": "list",
|
|
"show_if": [
|
|
[
|
|
"advanced",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "tlsEntry",
|
|
"label": "Host",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "hosts",
|
|
"label": "Certificate Hosts",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "host",
|
|
"label": "Host",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "certificateIssuer",
|
|
"label": "Use Cert-Manager clusterIssuer",
|
|
"description": "add the name of your cert-manager clusterIssuer here for automatic tls certificates.",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "clusterCertificate",
|
|
"label": "Cluster Certificate (Advanced)",
|
|
"description": "Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"certificateIssuer",
|
|
"=",
|
|
""
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "secretName",
|
|
"label": "Use Custom Certificate Secret (Advanced)",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"certificateIssuer",
|
|
"=",
|
|
""
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "scaleCert",
|
|
"label": "Use TrueNAS SCALE Certificate (Deprecated)",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"certificateIssuer",
|
|
"=",
|
|
""
|
|
]
|
|
],
|
|
"type": "int",
|
|
"$ref": [
|
|
"definitions/certificate"
|
|
],
|
|
"enum": [
|
|
{
|
|
"value": null,
|
|
"description": "No Certificate"
|
|
}
|
|
],
|
|
"default": null,
|
|
"null": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "envList",
|
|
"label": "Codeserver Environment Variables",
|
|
"schema": {
|
|
"type": "list",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "envItem",
|
|
"label": "Environment Variable",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "value",
|
|
"label": "Value",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "netshoot",
|
|
"label": "Netshoot",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "enabled",
|
|
"label": "Enabled",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_subquestions_if": true,
|
|
"subquestions": [
|
|
{
|
|
"variable": "envList",
|
|
"label": "Netshoot Environment Variables",
|
|
"schema": {
|
|
"type": "list",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "envItem",
|
|
"label": "Environment Variable",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "value",
|
|
"label": "Value",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "vpn",
|
|
"label": "VPN",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "type",
|
|
"label": "Type",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "disabled",
|
|
"enum": [
|
|
{
|
|
"value": "disabled",
|
|
"description": "disabled"
|
|
},
|
|
{
|
|
"value": "gluetun",
|
|
"description": "Gluetun"
|
|
},
|
|
{
|
|
"value": "tailscale",
|
|
"description": "Tailscale"
|
|
},
|
|
{
|
|
"value": "openvpn",
|
|
"description": "OpenVPN (Deprecated)"
|
|
},
|
|
{
|
|
"value": "wireguard",
|
|
"description": "Wireguard (Deprecated)"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "openvpn",
|
|
"label": "OpenVPN Settings",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"openvpn"
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "username",
|
|
"label": "Authentication Username (Optional)",
|
|
"description": "Authentication Username, Optional",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "password",
|
|
"label": "Authentication Password",
|
|
"description": "Authentication Credentials",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"username",
|
|
"!=",
|
|
""
|
|
]
|
|
],
|
|
"default": "",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "tailscale",
|
|
"label": "Tailscale Settings",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"tailscale"
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "authkey",
|
|
"label": "Authentication Key",
|
|
"description": "Provide an auth key to automatically authenticate the node as your user account.",
|
|
"schema": {
|
|
"type": "string",
|
|
"private": true,
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "auth_once",
|
|
"label": "Auth Once",
|
|
"description": "Only attempt to log in if not already logged in.",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "accept_dns",
|
|
"label": "Accept DNS",
|
|
"description": "Accept DNS configuration from the admin console.",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "userspace",
|
|
"label": "Userspace",
|
|
"description": "Userspace Networking mode allows running Tailscale where you do not have access to create a VPN tunnel device.",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "routes",
|
|
"label": "Routes",
|
|
"description": "Expose physical subnet routes to your entire Tailscale network.",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "dest_ip",
|
|
"label": "Destination IP",
|
|
"description": "Tells the DNAT mechanism which Destination IP to set in the IP header, and where to send packets that are matched.",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "sock5_server",
|
|
"label": "Sock5 Server",
|
|
"description": "The address on which to listen for SOCKS5 proxying into the tailscale net.",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "outbound_http_proxy_listen",
|
|
"label": "Outbound HTTP Proxy Listen",
|
|
"description": "The address on which to listen for HTTP proxying into the tailscale net.",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "extra_args",
|
|
"label": "Extra Args",
|
|
"description": "Extra Args",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "daemon_extra_args",
|
|
"label": "Tailscale Daemon Extra Args",
|
|
"description": "Tailscale Daemon Extra Args",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "killSwitch",
|
|
"label": "Enable Killswitch",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "excludedNetworks_IPv4",
|
|
"label": "Killswitch Excluded IPv4 networks",
|
|
"description": "List of Killswitch Excluded IPv4 Addresses",
|
|
"schema": {
|
|
"type": "list",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "networkv4",
|
|
"label": "IPv4 Network",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "excludedNetworks_IPv6",
|
|
"label": "Killswitch Excluded IPv6 networks",
|
|
"description": "List of Killswitch Excluded IPv6 Addresses",
|
|
"schema": {
|
|
"type": "list",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "networkv6",
|
|
"label": "IPv6 Network",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "configFile",
|
|
"label": "VPN Config File Location",
|
|
"schema": {
|
|
"type": "string",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "envList",
|
|
"label": "VPN Environment Variables",
|
|
"schema": {
|
|
"type": "list",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"!=",
|
|
"disabled"
|
|
]
|
|
],
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "envItem",
|
|
"label": "Environment Variable",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "value",
|
|
"label": "Value",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"max_length": 10240
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "docs",
|
|
"group": "Documentation",
|
|
"label": "Please read the documentation at https://truecharts.org",
|
|
"description": "Please read the documentation at <br /><a href=\"https://truecharts.org\">https://truecharts.org</a>",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "confirmDocs",
|
|
"label": "I have checked the documentation",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "donateNag",
|
|
"group": "Documentation",
|
|
"label": "Please consider supporting TrueCharts, see https://truecharts.org/sponsor",
|
|
"description": "Please consider supporting TrueCharts, see <br /><a href=\"https://truecharts.org/sponsor\">https://truecharts.org/sponsor</a>",
|
|
"schema": {
|
|
"additional_attrs": true,
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "confirmDonate",
|
|
"label": "I have considered donating",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"hidden": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"app_readme": "<p>Self hosted GIT repositories</p>\n<p>This App is supplied by TrueCharts, for more information visit the manual: <a href=\"https://truecharts.org/charts/stable/gitea\">https://truecharts.org/charts/stable/gitea</a></p>\n<hr />\n<p>TrueCharts can only exist due to the incredible effort of our staff.\nPlease consider making a <a href=\"https://truecharts.org/sponsor\">donation</a> or contributing back to the project any way you can!</p>",
|
|
"detailed_readme": "<hr />\n<h2>title: README</h2>\n<h2>General Info</h2>\n<p>TrueCharts can be installed as both <em>normal</em> Helm Charts or as Apps on TrueNAS SCALE.\nHowever only installations using the TrueNAS SCALE Apps system are supported.</p>\n<p>For more information about this App, please check the docs on the TrueCharts <a href=\"https://truecharts.org/charts/stable/gitea\">website</a></p>\n<p><strong>This chart is not maintained by the upstream project and any issues with the chart should be raised <a href=\"https://github.com/truecharts/charts/issues/new/choose\">here</a></strong></p>\n<h2>Support</h2>\n<ul>\n<li>Please check our <a href=\"https://truecharts.org/manual/SCALE/guides/scale-intro\">quick-start guides for TrueNAS SCALE</a>.</li>\n<li>See the <a href=\"https://truecharts.org\">Website</a></li>\n<li>Check our <a href=\"https://discord.gg/tVsPTHWTtr\">Discord</a></li>\n<li>Open a <a href=\"https://github.com/truecharts/charts/issues/new/choose\">issue</a></li>\n</ul>\n<hr />\n<h2>Sponsor TrueCharts</h2>\n<p>TrueCharts can only exist due to the incredible effort of our staff.\nPlease consider making a <a href=\"https://truecharts.org/sponsor\">donation</a> or contributing back to the project any way you can!</p>\n<p><em>All Rights Reserved - The TrueCharts Project</em></p>",
|
|
"changelog": "<hr />\n<h2>title: Changelog</h2>\n<p><em>for the complete changelog, please refer to the website</em></p>\n<p><strong>Important:</strong></p>\n<h2><a href=\"https://github.com/truecharts/charts/compare/gitea-17.1.17...gitea-17.1.18\">gitea-17.1.18</a> (2024-02-03)</h2>\n<h3>Chore</h3>\n<ul>\n<li>update container image common to v17.2.30<a href=\"https://github.com/19ad5ec\">@19ad5ec</a> by renovate (<a href=\"https://github.com/truecharts/charts/issues/17804\">#17804</a>)</li>\n</ul>\n<h2><a href=\"https://github.com/truecharts/charts/compare/gitea-17.1.16...gitea-17.1.17\">gitea-17.1.17</a> (2024-02-02)</h2>\n<h3>Chore</h3>\n<ul>\n<li>update container image gitea/gitea to v1.21.5<a href=\"https://github.com/874a8d8\">@874a8d8</a> by renovate (<a href=\"https://github.com/truecharts/charts/issues/17787\">#17787</a>)</li>\n</ul>\n<h2><a href=\"https://github.com/truecharts/charts/compare/gitea-17.1.15...gitea-17.1.16\">gitea-17.1.16</a> (2024-01-27)</h2>\n<h3>Chore</h3>\n<ul>\n<li>update helm general non-major by renovate (<a href=\"https://github.com/truecharts/charts/issues/17525\">#17525</a>)</li>\n</ul>\n<h2><a href=\"https://github.com/truecharts/charts/compare/gitea-17.1.14...gitea-17.1.15\">gitea-17.1.15</a> (2024-01-26)</h2>\n<h3>Chore</h3>\n<ul>\n<li>update container image common to v17.2.29<a href=\"https://github.com/d7c41a3\">@d7c41a3</a> by renovate (<a href=\"https://github.com/truecharts/charts/issues/17545\">#17545</a>)</li>\n</ul>\n<h2><a href=\"https://github.com/truecharts/charts/compare/gitea-17.1.13...gitea-17.1.14\">gitea-17.1.14</a> (2024-01-21)</h2>\n<h3>Chore</h3>\n<ul>\n<li>update container image common to v17.2.28<a href=\"https://github.com/918b4c5\">@918b4c5</a> by renovate (<a href=\"https://github.com/truecharts/charts/issues/17478\">#17478</a>)</li>\n</ul>\n<h2><a href=\"https://github.com/truecharts/charts/compare/gitea-17.1.12...gitea-17.1.13\">gitea-17.1.13</a> (2024-01-21)</h2>\n<h3>Chore</h3>\n<ul>\n<li>update container image common to v17.2.26<a href=\"https://github.com/24c98f7\">@24c98f7</a> by renovate (<a href=\"https://github.com/truecharts/charts/issues/17409\">#17409</a>)</li>\n</ul>\n<h2><a href=\"https://github.com/truecharts/charts/compare/gitea-17.1.11...gitea-17.1.12\">gitea-17.1.12</a> (2024-01-21)</h2>\n<h3>Chore</h3>\n<ul>\n<li>update metadata in chart.yaml (<a href=\"https://github.com/truecharts/charts/issues/17457\">#17457</a>)</li>\n</ul>\n<h2><a href=\"https://github.com/truecharts/charts/compare/gitea-17.1.10...gitea-17.1.11\">gitea-17.1.11</a> (2024-01-21)</h2>\n<h3>Chore</h3>\n<ul>\n<li>update container image gitea/gitea to v1.21.4<a href=\"https://github.com/600f1f1\">@600f1f1</a> by renovate (<a href=\"https://github.com/truecharts/charts/issues/17304\">#17304</a>)</li>\n</ul>\n<h2><a href=\"https://github.com/truecharts/charts/compare/gitea-17.1.9...gitea-17.1.10\">gitea-17.1.10</a> (2024-01-09)</h2>\n<h3>Chore</h3>\n<ul>\n<li>update container image common to v17.2.22<a href=\"https://github.com/e7c9056\">@e7c9056</a> by renovate (<a href=\"https://github.com/truecharts/charts/issues/16986\">#16986</a>)</li>\n</ul>\n<h2><a href=\"https://github.com/truecharts/charts/compare/gitea-17.1.8...gitea-17.1.9\">gitea-17.1.9</a> (2024-01-02)</h2>"
|
|
}
|
|
} |