{ "1.2.3": { "healthy": true, "supported": false, "healthy_error": null, "location": "/__w/charts/charts/test/syncthing/1.2.3", "last_update": "2025-03-06 08:26:26", "required_features": [ "normalize/acl", "definitions/timezone", "normalize/ixVolume", "definitions/certificate" ], "human_version": "1.27.6_1.2.3", "version": "1.2.3", "chart_metadata": { "name": "syncthing", "description": "Syncthing is a continuous file synchronization program.", "annotations": { "title": "Syncthing" }, "type": "application", "version": "1.2.3", "apiVersion": "v2", "appVersion": "1.27.6", "kubeVersion": ">=1.16.0-0", "maintainers": [ { "name": "truenas", "url": "https://www.truenas.com/", "email": "dev@ixsystems.com" } ], "dependencies": [ { "name": "common", "repository": "file://../../../common", "version": "1.2.9" } ], "home": "https://syncthing.net/", "icon": "https://media.sys.truenas.net/apps/syncthing/icons/icon.svg", "sources": [ "https://syncthing.net/", "https://github.com/syncthing/syncthing", "https://hub.docker.com/r/syncthing/syncthing", "https://github.com/truenas/charts/tree/master/enterprise/syncthing" ], "keywords": [ "sync", "file-sharing" ] }, "app_metadata": { "runAsContext": [ { "userName": "root", "groupName": "root", "gid": 0, "uid": 0, "description": "Syncthing runs as root and starts the syncthing process as a non-root user." } ], "capabilities": [ { "name": "CHOWN", "description": "Syncthing is able to chown files." }, { "name": "DAC_OVERRIDE", "description": "Syncthing is able to bypass permission checks." }, { "name": "FOWNER", "description": "Syncthing is able bypass permission checks for it's sub-processes." }, { "name": "SETUID", "description": "Syncthing is able to set user ID for it's sub-processes." }, { "name": "SETGID", "description": "Syncthing is able to set group ID for it's sub-processes." }, { "name": "SETPCAP", "description": "Syncthing is able to set process capabilities." }, { "name": "SETFCAP", "description": "Syncthing is able to set file capabilities." } ], "hostMounts": [] }, "schema": { "groups": [ { "name": "Syncthing Configuration", "description": "Configure Syncthing" }, { "name": "User and Group Configuration", "description": "Configure User and Group for Syncthing" }, { "name": "Network Configuration", "description": "Configure Network for Syncthing" }, { "name": "Storage Configuration", "description": "Configure Storage for Syncthing" }, { "name": "Resources Configuration", "description": "Configure Resources for Syncthing" } ], "portals": { "web_portal": { "protocols": [ "$kubernetes-resource_configmap_portal_protocol" ], "host": [ "$kubernetes-resource_configmap_portal_host" ], "ports": [ "$kubernetes-resource_configmap_portal_port" ], "path": "$kubernetes-resource_configmap_portal_path" } }, "questions": [ { "variable": "TZ", "group": "Syncthing Configuration", "label": "Timezone", "schema": { "type": "string", "default": "America/Los_Angeles", "required": true, "$ref": [ "definitions/timezone" ], "enum": [ { "value": "Asia/Damascus", "description": "'Asia/Damascus' timezone" }, { "value": "Asia/Saigon", "description": "'Asia/Saigon' timezone" } ] } }, { "variable": "syncthingConfig", "label": "", "group": "Syncthing Configuration", "schema": { "type": "dict", "attrs": [ { "variable": "natTraversal", "label": "NAT Traversal", "schema": { "type": "boolean", "default": false, "hidden": true } }, { "variable": "localDiscovery", "label": "Local Discovery", "schema": { "type": "boolean", "default": false, "hidden": true } }, { "variable": "globalDiscovery", "label": "Global Discovery", "schema": { "type": "boolean", "default": false, "hidden": true } }, { "variable": "telemetry", "label": "Telemetry", "schema": { "type": "boolean", "default": false, "hidden": true } }, { "variable": "relaying", "label": "Relaying", "schema": { "type": "boolean", "default": false, "hidden": true } }, { "variable": "announceLANAddresses", "label": "Announce LAN Addresses", "schema": { "type": "boolean", "default": false, "hidden": true } }, { "variable": "additionalEnvs", "label": "Additional Environment Variables", "description": "Configure additional environment variables for Syncthing.", "schema": { "type": "list", "default": [], "items": [ { "variable": "env", "label": "Environment Variable", "schema": { "type": "dict", "attrs": [ { "variable": "name", "label": "Name", "schema": { "type": "string", "required": true } }, { "variable": "value", "label": "Value", "schema": { "type": "string", "required": true } } ] } } ] } } ] } }, { "variable": "syncthingID", "label": "", "group": "User and Group Configuration", "schema": { "type": "dict", "attrs": [ { "variable": "user", "label": "User ID", "description": "The user id that Syncthing files will be owned by.", "schema": { "type": "int", "min": 568, "default": 568, "immutable": true, "required": true } }, { "variable": "group", "label": "Group ID", "description": "The group id that Syncthing files will be owned by.", "schema": { "type": "int", "min": 568, "default": 568, "immutable": true, "required": true } } ] } }, { "variable": "syncthingNetwork", "label": "", "group": "Network Configuration", "schema": { "type": "dict", "attrs": [ { "variable": "hostNetwork", "label": "Host Network", "description": "Bind to the host network.

\nIf this is disabled, you will need to add your local networks in CIDR format to the Syncthing WebUI.
\nIn the Syncthing WebUI, go to Advanced Settings > Options > Always Local Nets
\nSeparate each CIDR network with a comma.
\nExample: 192.168.0.0/24,192.168.1.0/24\n", "schema": { "type": "boolean", "default": true } }, { "variable": "webPort", "label": "Web Port", "description": "The port for the Syncthing WebUI.", "schema": { "type": "int", "default": 31000, "min": 9000, "max": 65535, "required": true } }, { "variable": "tcpPort", "label": "TCP Port (File Transfers)", "description": "The TCP port for Syncthing transfers.", "schema": { "type": "int", "show_if": [ [ "hostNetwork", "=", false ] ], "default": 22000, "min": 9000, "max": 65535, "required": true } }, { "variable": "quicPort", "label": "QUIC (UDP) Port (File Transfers)", "description": "The QUIC (UDP) port for Syncthing transfers.", "schema": { "type": "int", "show_if": [ [ "hostNetwork", "=", false ] ], "default": 22000, "min": 9000, "max": 65535, "required": true } }, { "variable": "certificateID", "label": "Certificate", "description": "The certificate to use for Syncthing GUI.", "schema": { "type": "int", "null": true, "$ref": [ "definitions/certificate" ], "enum": [ { "value": null, "description": "No Certificate" } ], "default": null } } ] } }, { "variable": "syncthingStorage", "label": "", "group": "Storage Configuration", "schema": { "type": "dict", "attrs": [ { "variable": "home", "label": "Syncthing Home Storage", "description": "The path to store Syncthing Home Directory.", "schema": { "type": "dict", "attrs": [ { "variable": "type", "label": "Type", "description": "ixVolume: Is dataset created automatically by the system.
\nHost Path: Is a path that already exists on the system.\n", "schema": { "type": "string", "required": true, "immutable": true, "default": "ixVolume", "enum": [ { "value": "hostPath", "description": "Host Path (Path that already exists on the system)" }, { "value": "ixVolume", "description": "ixVolume (Dataset created automatically by the system)" } ] } }, { "variable": "ixVolumeConfig", "label": "ixVolume Configuration", "description": "The configuration for the ixVolume dataset.", "schema": { "type": "dict", "show_if": [ [ "type", "=", "ixVolume" ] ], "$ref": [ "normalize/ixVolume" ], "attrs": [ { "variable": "aclEnable", "label": "Enable ACL", "description": "Enable ACL for the dataset.", "schema": { "type": "boolean", "hidden": true, "default": false } }, { "variable": "datasetName", "label": "Dataset Name", "description": "The name of the dataset to use for storage.", "schema": { "type": "string", "required": true, "immutable": true, "hidden": true, "default": "home" } }, { "variable": "aclEntries", "label": "ACL Configuration", "schema": { "type": "dict", "show_if": [ [ "aclEnable", "=", true ] ], "attrs": [ { "variable": "path", "label": "Path", "description": "Path to perform ACL", "schema": { "type": "string", "hidden": true } }, { "variable": "entries", "label": "ACL Entries", "description": "ACL Entries", "schema": { "type": "list", "items": [ { "variable": "aclEntry", "label": "ACL Entry", "schema": { "type": "dict", "attrs": [ { "variable": "id_type", "label": "ID Type", "schema": { "type": "string", "enum": [ { "value": "USER", "description": "Entry is for a USER" }, { "value": "GROUP", "description": "Entry is for a GROUP" } ], "default": "USER" } }, { "variable": "id", "label": "ID", "description": "Make sure to check the ID value is correct and aligns with RunAs user context of the application", "schema": { "type": "int", "required": true, "min": 0 } }, { "variable": "access", "label": "Access", "schema": { "type": "string", "enum": [ { "value": "READ", "description": "Read Access" }, { "value": "MODIFY", "description": "Modify Access" }, { "value": "FULL_CONTROL", "description": "FULL_CONTROL Access" } ] } } ] } } ] } } ] } } ] } }, { "variable": "hostPathConfig", "label": "Host Path Configuration", "schema": { "type": "dict", "show_if": [ [ "type", "=", "hostPath" ] ], "attrs": [ { "variable": "aclEnable", "label": "Enable ACL", "description": "Enable ACL for the dataset.", "schema": { "type": "boolean", "hidden": true, "default": false } }, { "variable": "acl", "label": "ACL Configuration", "schema": { "type": "dict", "show_if": [ [ "aclEnable", "=", true ] ], "attrs": [ { "variable": "path", "label": "Host Path", "description": "Host Path to perform ACL", "schema": { "type": "hostpath", "required": true, "empty": false } }, { "variable": "entries", "label": "ACL Entries", "description": "ACL Entries", "schema": { "type": "list", "items": [ { "variable": "aclEntry", "label": "ACL Entry", "schema": { "type": "dict", "attrs": [ { "variable": "id_type", "label": "ID Type", "schema": { "type": "string", "enum": [ { "value": "USER", "description": "Entry is for a USER" }, { "value": "GROUP", "description": "Entry is for a GROUP" } ], "default": "USER" } }, { "variable": "id", "label": "ID", "description": "Make sure to check the ID value is correct and aligns with RunAs user context of the application", "schema": { "type": "int", "required": true, "min": 0 } }, { "variable": "access", "label": "Access", "schema": { "type": "string", "enum": [ { "value": "READ", "description": "Read Access" }, { "value": "MODIFY", "description": "Modify Access" }, { "value": "FULL_CONTROL", "description": "FULL_CONTROL Access" } ] } } ] } } ] } }, { "variable": "options", "label": "ACL Options", "schema": { "type": "dict", "attrs": [ { "variable": "force", "label": "Force Flag", "description": "Enabling `Force` applies ACL even if the path has existing data", "schema": { "type": "boolean", "default": false } } ] } } ], "$ref": [ "normalize/acl" ] } }, { "variable": "hostPath", "label": "Host Path", "description": "The host path to use for storage.", "schema": { "type": "hostpath", "show_if": [ [ "aclEnable", "=", false ] ], "required": true } } ] } } ] } }, { "variable": "additionalStorages", "label": "Additional Storage", "description": "Additional storage for Syncthing.", "schema": { "type": "list", "required": true, "empty": false, "default": [ { "type": "hostPath", "mountPath": "/data1", "hostPath\"": "" } ], "items": [ { "variable": "storageEntry", "label": "Storage Entry", "schema": { "type": "dict", "attrs": [ { "variable": "type", "label": "Type", "description": "Host Path: Is a path that already exists on the system.
\nSMB Share: Is a SMB share that is mounted to a persistent volume claim.\n", "schema": { "type": "string", "required": true, "default": "hostPath", "immutable": true, "enum": [ { "value": "hostPath", "description": "Host Path (Path that already exists on the system)" }, { "value": "smb-pv-pvc", "description": "SMB Share (Mounts a persistent volume claim to a SMB share)" } ] } }, { "variable": "readOnly", "label": "Read Only", "description": "Mount the volume as read only.", "schema": { "type": "boolean", "hidden": true, "default": false } }, { "variable": "mountPath", "label": "Mount Path", "description": "The path inside the container to mount the storage.", "schema": { "type": "path", "required": true } }, { "variable": "hostPathConfig", "label": "Host Path Configuration", "schema": { "type": "dict", "show_if": [ [ "type", "=", "hostPath" ] ], "attrs": [ { "variable": "aclEnable", "label": "Enable ACL", "description": "Enable ACL for the dataset.", "schema": { "type": "boolean", "hidden": true, "default": false } }, { "variable": "acl", "label": "ACL Configuration", "schema": { "type": "dict", "show_if": [ [ "aclEnable", "=", true ] ], "attrs": [ { "variable": "path", "label": "Host Path", "description": "Host Path to perform ACL", "schema": { "type": "hostpath", "required": true, "empty": false } }, { "variable": "entries", "label": "ACL Entries", "description": "ACL Entries", "schema": { "type": "list", "items": [ { "variable": "aclEntry", "label": "ACL Entry", "schema": { "type": "dict", "attrs": [ { "variable": "id_type", "label": "ID Type", "schema": { "type": "string", "enum": [ { "value": "USER", "description": "Entry is for a USER" }, { "value": "GROUP", "description": "Entry is for a GROUP" } ], "default": "USER" } }, { "variable": "id", "label": "ID", "description": "Make sure to check the ID value is correct and aligns with RunAs user context of the application", "schema": { "type": "int", "required": true, "min": 0 } }, { "variable": "access", "label": "Access", "schema": { "type": "string", "enum": [ { "value": "READ", "description": "Read Access" }, { "value": "MODIFY", "description": "Modify Access" }, { "value": "FULL_CONTROL", "description": "FULL_CONTROL Access" } ] } } ] } } ] } }, { "variable": "options", "label": "ACL Options", "schema": { "type": "dict", "attrs": [ { "variable": "force", "label": "Force Flag", "description": "Enabling `Force` applies ACL even if the path has existing data", "schema": { "type": "boolean", "default": false } } ] } } ], "$ref": [ "normalize/acl" ] } }, { "variable": "hostPath", "label": "Host Path", "description": "The host path to use for storage.", "schema": { "type": "hostpath", "show_if": [ [ "aclEnable", "=", false ] ], "required": true } } ] } }, { "variable": "smbConfig", "label": "SMB Share Configuration", "description": "The configuration for the SMB Share.", "schema": { "type": "dict", "show_if": [ [ "type", "=", "smb-pv-pvc" ] ], "attrs": [ { "variable": "migrationMode", "label": "Migration Mode", "description": "Enabling this will force the following:
\n- Read Only Mount, regardless of the value of the Read Only checkbox.
\n- SMB Mount Options will be set to \"vers=3.0\", \"cifsacl\", \"noperm\"
\n\nThis option is used to migrate data from third party
\nNAS platforms onto TrueNAS SCALE.
\n\nKeep in mind that the ACL preservation is not guaranteed when:
\n- Non-AD environment
\n- ACL or remote server contains local users
\n", "schema": { "type": "boolean", "default": false } }, { "variable": "server", "label": "Server", "description": "The server for the SMB share.", "schema": { "type": "string", "required": true } }, { "variable": "share", "label": "Share", "description": "The share name for the SMB share.", "schema": { "type": "string", "required": true } }, { "variable": "domain", "label": "Domain (Optional)", "description": "The domain for the SMB share.", "schema": { "type": "string" } }, { "variable": "username", "label": "Username", "description": "The username for the SMB share.", "schema": { "type": "string", "required": true } }, { "variable": "password", "label": "Password", "description": "The password for the SMB share.", "schema": { "type": "string", "required": true, "private": true } }, { "variable": "size", "label": "Size (in Gi)", "description": "The size of the volume quota.", "schema": { "type": "int", "required": true, "min": 1, "default": 1 } } ] } } ] } } ] } } ] } }, { "variable": "resources", "group": "Resources Configuration", "label": "", "schema": { "type": "dict", "attrs": [ { "variable": "limits", "label": "Limits", "schema": { "type": "dict", "attrs": [ { "variable": "cpu", "label": "CPU", "description": "CPU limit for Syncthing.", "schema": { "type": "string", "max_length": 6, "valid_chars": "^(0\\.[1-9]|[1-9][0-9]*)(\\.[0-9]|m?)$", "valid_chars_error": "Valid CPU limit formats are
\n- Plain Integer - eg. 1
\n- Float - eg. 0.5
\n- Milicpu - eg. 500m\n", "default": "4000m", "required": true } }, { "variable": "memory", "label": "Memory", "description": "Memory limit for Syncthing.", "schema": { "type": "string", "max_length": 12, "valid_chars": "^[1-9][0-9]*([EPTGMK]i?|e[0-9]+)?$", "valid_chars_error": "Valid Memory limit formats are
\n- Suffixed with E/P/T/G/M/K - eg. 1G
\n- Suffixed with Ei/Pi/Ti/Gi/Mi/Ki - eg. 1Gi
\n- Plain Integer in bytes - eg. 1024
\n- Exponent - eg. 134e6\n", "default": "8Gi", "required": true } } ] } } ] } } ] }, "app_readme": "

Syncthing

\n

Syncthing is a file synchronization program.

\n

At each startup of the application, the following settings are applied:

\n\n

Additionally, the following defaults are set for new synthing \"folders\":

\n", "detailed_readme": "

Syncthing

\n

Syncthing is a file synchronization program.

\n

At each startup of the application, the following settings are applied:

\n\n

Additionally, the following defaults are set for new synthing \"folders\":

\n", "changelog": null }, "1.1.5": { "healthy": true, "supported": true, "healthy_error": null, "location": "/__w/charts/charts/test/syncthing/1.1.5", "last_update": "2025-03-06 08:26:26", "required_features": [ "definitions/timezone", "normalize/ixVolume", "definitions/certificate" ], "human_version": "1.27.0_1.1.5", "version": "1.1.5", "chart_metadata": { "name": "syncthing", "description": "Syncthing is a continuous file synchronization program.", "annotations": { "title": "Syncthing" }, "type": "application", "version": "1.1.5", "apiVersion": "v2", "appVersion": "1.27.0", "kubeVersion": ">=1.16.0-0", "maintainers": [ { "name": "truenas", "url": "https://www.truenas.com/", "email": "dev@ixsystems.com" } ], "dependencies": [ { "name": "common", "repository": "file://../../../common", "version": "1.2.6" } ], "home": "https://syncthing.net/", "icon": "https://media.sys.truenas.net/apps/syncthing/icons/icon.svg", "sources": [ "https://syncthing.net/", "https://github.com/syncthing/syncthing", "https://hub.docker.com/r/syncthing/syncthing", "https://github.com/truenas/charts/tree/master/enterprise/syncthing" ], "keywords": [ "sync", "file-sharing" ] }, "app_metadata": { "runAsContext": [ { "userName": "root", "groupName": "root", "gid": 0, "uid": 0, "description": "Syncthing runs as root and starts the syncthing process as a non-root user." } ], "capabilities": [ { "name": "CHOWN", "description": "Syncthing is able to chown files." }, { "name": "DAC_OVERRIDE", "description": "Syncthing is able to bypass permission checks." }, { "name": "FOWNER", "description": "Syncthing is able bypass permission checks for it's sub-processes." }, { "name": "SETUID", "description": "Syncthing is able to set user ID for it's sub-processes." }, { "name": "SETGID", "description": "Syncthing is able to set group ID for it's sub-processes." }, { "name": "SETPCAP", "description": "Syncthing is able to set process capabilities." }, { "name": "SETFCAP", "description": "Syncthing is able to set file capabilities." } ], "hostMounts": [] }, "schema": { "groups": [ { "name": "Syncthing Configuration", "description": "Configure Syncthing" }, { "name": "User and Group Configuration", "description": "Configure User and Group for Syncthing" }, { "name": "Network Configuration", "description": "Configure Network for Syncthing" }, { "name": "Storage Configuration", "description": "Configure Storage for Syncthing" }, { "name": "Resources Configuration", "description": "Configure Resources for Syncthing" } ], "portals": { "web_portal": { "protocols": [ "$kubernetes-resource_configmap_portal_protocol" ], "host": [ "$kubernetes-resource_configmap_portal_host" ], "ports": [ "$kubernetes-resource_configmap_portal_port" ], "path": "$kubernetes-resource_configmap_portal_path" } }, "questions": [ { "variable": "TZ", "group": "Syncthing Configuration", "label": "Timezone", "schema": { "type": "string", "default": "America/Los_Angeles", "required": true, "$ref": [ "definitions/timezone" ], "enum": [ { "value": "Asia/Damascus", "description": "'Asia/Damascus' timezone" }, { "value": "Asia/Saigon", "description": "'Asia/Saigon' timezone" } ] } }, { "variable": "syncthingConfig", "label": "", "group": "Syncthing Configuration", "schema": { "type": "dict", "attrs": [ { "variable": "natTraversal", "label": "NAT Traversal", "schema": { "type": "boolean", "default": false, "hidden": true } }, { "variable": "localDiscovery", "label": "Local Discovery", "schema": { "type": "boolean", "default": false, "hidden": true } }, { "variable": "globalDiscovery", "label": "Global Discovery", "schema": { "type": "boolean", "default": false, "hidden": true } }, { "variable": "telemetry", "label": "Telemetry", "schema": { "type": "boolean", "default": false, "hidden": true } }, { "variable": "relaying", "label": "Relaying", "schema": { "type": "boolean", "default": false, "hidden": true } }, { "variable": "announceLANAddresses", "label": "Announce LAN Addresses", "schema": { "type": "boolean", "default": false, "hidden": true } }, { "variable": "additionalEnvs", "label": "Additional Environment Variables", "description": "Configure additional environment variables for Syncthing.", "schema": { "type": "list", "default": [], "items": [ { "variable": "env", "label": "Environment Variable", "schema": { "type": "dict", "attrs": [ { "variable": "name", "label": "Name", "schema": { "type": "string", "required": true } }, { "variable": "value", "label": "Value", "schema": { "type": "string", "required": true } } ] } } ] } } ] } }, { "variable": "syncthingID", "label": "", "group": "User and Group Configuration", "schema": { "type": "dict", "attrs": [ { "variable": "user", "label": "User ID", "description": "The user id that Syncthing files will be owned by.", "schema": { "type": "int", "min": 568, "default": 568, "immutable": true, "required": true } }, { "variable": "group", "label": "Group ID", "description": "The group id that Syncthing files will be owned by.", "schema": { "type": "int", "min": 568, "default": 568, "immutable": true, "required": true } } ] } }, { "variable": "syncthingNetwork", "label": "", "group": "Network Configuration", "schema": { "type": "dict", "attrs": [ { "variable": "hostNetwork", "label": "Host Network", "description": "Bind to the host network.

\nIf this is disabled, you will need to add your local networks in CIDR format to the Syncthing WebUI.
\nIn the Syncthing WebUI, go to Advanced Settings > Options > Always Local Nets
\nSeparate each CIDR network with a comma.
\nExample: 192.168.0.0/24,192.168.1.0/24\n", "schema": { "type": "boolean", "default": true } }, { "variable": "webPort", "label": "Web Port", "description": "The port for the Syncthing WebUI.", "schema": { "type": "int", "default": 31000, "min": 9000, "max": 65535, "required": true } }, { "variable": "tcpPort", "label": "TCP Port (File Transfers)", "description": "The TCP port for Syncthing transfers.", "schema": { "type": "int", "show_if": [ [ "hostNetwork", "=", false ] ], "default": 22000, "min": 9000, "max": 65535, "required": true } }, { "variable": "quicPort", "label": "QUIC (UDP) Port (File Transfers)", "description": "The QUIC (UDP) port for Syncthing transfers.", "schema": { "type": "int", "show_if": [ [ "hostNetwork", "=", false ] ], "default": 22000, "min": 9000, "max": 65535, "required": true } }, { "variable": "certificateID", "label": "Certificate", "description": "The certificate to use for Syncthing GUI.", "schema": { "type": "int", "null": true, "$ref": [ "definitions/certificate" ], "enum": [ { "value": null, "description": "No Certificate" } ], "default": null } } ] } }, { "variable": "syncthingStorage", "label": "", "group": "Storage Configuration", "schema": { "type": "dict", "attrs": [ { "variable": "home", "label": "Syncthing Home Storage", "description": "The path to store Syncthing Home Directory.", "schema": { "type": "dict", "attrs": [ { "variable": "type", "label": "Type", "description": "ixVolume: Is dataset created automatically by the system.
\nHost Path: Is a path that already exists on the system.\n", "schema": { "type": "string", "required": true, "immutable": true, "default": "ixVolume", "enum": [ { "value": "hostPath", "description": "Host Path (Path that already exists on the system)" }, { "value": "ixVolume", "description": "ixVolume (Dataset created automatically by the system)" } ] } }, { "variable": "datasetName", "label": "Dataset Name", "schema": { "type": "string", "show_if": [ [ "type", "=", "ixVolume" ] ], "required": true, "hidden": true, "immutable": true, "default": "home", "$ref": [ "normalize/ixVolume" ] } }, { "variable": "hostPath", "label": "Host Path", "schema": { "type": "hostpath", "show_if": [ [ "type", "=", "hostPath" ] ], "immutable": true, "required": true } } ] } }, { "variable": "additionalStorages", "label": "Additional Storage", "description": "Additional storage for Syncthing.", "schema": { "type": "list", "required": true, "empty": false, "default": [ { "type": "hostPath", "mountPath": "/data1", "hostPath\"": "" } ], "items": [ { "variable": "storageEntry", "label": "Storage Entry", "schema": { "type": "dict", "attrs": [ { "variable": "type", "label": "Type", "description": "Host Path: Is a path that already exists on the system.
\nSMB Share: Mounts a persistent volume claim to a SMB share.\n", "schema": { "type": "string", "required": true, "default": "hostPath", "immutable": true, "enum": [ { "value": "hostPath", "description": "Host Path (Path that already exists on the system)" }, { "value": "smb-pv-pvc", "description": "SMB Share (Mounts a persistent volume claim to a SMB share)" } ] } }, { "variable": "mountPath", "label": "Mount Path", "description": "The path inside the container to mount the storage.", "schema": { "type": "path", "required": true } }, { "variable": "hostPath", "label": "Host Path", "description": "The host path to use for storage.", "schema": { "type": "hostpath", "show_if": [ [ "type", "=", "hostPath" ] ], "required": true } }, { "variable": "server", "label": "Server", "description": "The server for the SMB share.", "schema": { "type": "string", "show_if": [ [ "type", "=", "smb-pv-pvc" ] ], "required": true } }, { "variable": "share", "label": "Share", "description": "The share name for the SMB share.", "schema": { "type": "string", "show_if": [ [ "type", "=", "smb-pv-pvc" ] ], "required": true } }, { "variable": "domain", "label": "Domain (Optional)", "description": "The domain for the SMB share.", "schema": { "type": "string", "show_if": [ [ "type", "=", "smb-pv-pvc" ] ] } }, { "variable": "username", "label": "Username", "description": "The username for the SMB share.", "schema": { "type": "string", "show_if": [ [ "type", "=", "smb-pv-pvc" ] ], "required": true } }, { "variable": "password", "label": "Password", "description": "The password for the SMB share.", "schema": { "type": "string", "show_if": [ [ "type", "=", "smb-pv-pvc" ] ], "required": true, "private": true } }, { "variable": "size", "label": "Size (in Gi)", "description": "The size of the volume quota.", "schema": { "type": "int", "show_if": [ [ "type", "=", "smb-pv-pvc" ] ], "required": true, "min": 1, "default": 1 } } ] } } ] } } ] } }, { "variable": "resources", "group": "Resources Configuration", "label": "", "schema": { "type": "dict", "attrs": [ { "variable": "limits", "label": "Limits", "schema": { "type": "dict", "attrs": [ { "variable": "cpu", "label": "CPU", "description": "CPU limit for Syncthing.", "schema": { "type": "string", "max_length": 6, "valid_chars": "^(0\\.[1-9]|[1-9][0-9]*)(\\.[0-9]|m?)$", "valid_chars_error": "Valid CPU limit formats are
\n- Plain Integer - eg. 1
\n- Float - eg. 0.5
\n- Milicpu - eg. 500m\n", "default": "4000m", "required": true } }, { "variable": "memory", "label": "Memory", "description": "Memory limit for Syncthing.", "schema": { "type": "string", "max_length": 12, "valid_chars": "^[1-9][0-9]*([EPTGMK]i?|e[0-9]+)?$", "valid_chars_error": "Valid Memory limit formats are
\n- Suffixed with E/P/T/G/M/K - eg. 1G
\n- Suffixed with Ei/Pi/Ti/Gi/Mi/Ki - eg. 1Gi
\n- Plain Integer in bytes - eg. 1024
\n- Exponent - eg. 134e6\n", "default": "8Gi", "required": true } } ] } } ] } } ] }, "app_readme": "

Syncthing

\n

Syncthing is a file synchronization program.

\n

At each startup of the application, the following settings are applied:

\n\n

Additionally, the following defaults are set for new synthing \"folders\":

\n", "detailed_readme": "

Syncthing

\n

Syncthing is a file synchronization program.

\n

At each startup of the application, the following settings are applied:

\n\n

Additionally, the following defaults are set for new synthing \"folders\":

\n", "changelog": null } }