{
    "1.0.37": {
        "healthy": true,
        "supported": true,
        "healthy_error": null,
        "location": "/__w/charts/charts/charts/syncthing/1.0.37",
        "last_update": "2023-11-16 09:05:54",
        "required_features": [
            "normalize/ixVolume",
            "validations/lockedHostPath"
        ],
        "human_version": "1.26.1_1.0.37",
        "version": "1.0.37",
        "chart_metadata": {
            "name": "syncthing",
            "description": "Syncthing is a continuous file synchronization program.",
            "annotations": {
                "title": "Syncthing"
            },
            "type": "application",
            "version": "1.0.37",
            "apiVersion": "v2",
            "appVersion": "1.26.1",
            "kubeVersion": ">=1.16.0-0",
            "maintainers": [
                {
                    "name": "truenas",
                    "url": "https://www.truenas.com/",
                    "email": "dev@ixsystems.com"
                }
            ],
            "dependencies": [
                {
                    "name": "common",
                    "repository": "file://../../../common/2304.0.1",
                    "version": "2304.0.1"
                }
            ],
            "home": "https://syncthing.net/",
            "icon": "https://media.sys.truenas.net/apps/syncthing/icons/icon.svg",
            "sources": [
                "https://syncthing.net",
                "https://github.com/truenas/charts/tree/master/charts/syncthing"
            ],
            "keywords": [
                "storage",
                "backup"
            ]
        },
        "app_metadata": {
            "runAsContext": [
                {
                    "userName": "root",
                    "groupName": "root",
                    "gid": 0,
                    "uid": 0,
                    "description": "Syncthing runs as root user."
                }
            ],
            "capabilities": [
                {
                    "name": "CHOWN",
                    "description": "Syncthing is able to chown files."
                },
                {
                    "name": "FOWNER",
                    "description": "Syncthing is able to bypass permission checks for it's sub-processes."
                },
                {
                    "name": "SYS_CHROOT",
                    "description": "Syncthing is able to use chroot."
                },
                {
                    "name": "MKNOD",
                    "description": "Syncthing is able to create device nodes."
                },
                {
                    "name": "DAC_OVERRIDE",
                    "description": "Syncthing is able to bypass permission checks."
                },
                {
                    "name": "FSETID",
                    "description": "Syncthing is able to set file capabilities."
                },
                {
                    "name": "KILL",
                    "description": "Syncthing is able to kill processes."
                },
                {
                    "name": "SETGID",
                    "description": "Syncthing is able to set group ID for it's sub-processes."
                },
                {
                    "name": "SETUID",
                    "description": "Syncthing is able to set user ID for it's sub-processes."
                },
                {
                    "name": "SETPCAP",
                    "description": "Syncthing is able to set process capabilities."
                },
                {
                    "name": "NET_BIND_SERVICE",
                    "description": "Syncthing is able to bind to privileged ports."
                },
                {
                    "name": "SETFCAP",
                    "description": "Syncthing is able to set file capabilities."
                },
                {
                    "name": "NET_RAW",
                    "description": "Syncthing is able to use raw sockets."
                },
                {
                    "name": "AUDIT_WRITE",
                    "description": "Syncthing is able to write to audit log."
                }
            ],
            "hostMounts": []
        },
        "schema": {
            "groups": [
                {
                    "name": "Configuration",
                    "description": "Syncthing application configuration"
                },
                {
                    "name": "Storage",
                    "description": "Configure storage for syncthing"
                },
                {
                    "name": "Networking",
                    "description": "Networking Configuration for syncthing"
                },
                {
                    "name": "Advanced DNS Settings",
                    "description": "Configure DNS settings"
                },
                {
                    "name": "Resource Limits",
                    "description": "Set CPU/memory limits for Kubernetes Pod"
                }
            ],
            "portals": {
                "web_portal": {
                    "protocols": [
                        "http"
                    ],
                    "host": [
                        "$node_ip"
                    ],
                    "ports": [
                        "$variable-web_port"
                    ],
                    "path": "/"
                }
            },
            "questions": [
                {
                    "variable": "web_port",
                    "label": "Web Port for syncthing",
                    "group": "Networking",
                    "schema": {
                        "type": "int",
                        "min": 8000,
                        "max": 65535,
                        "default": 20910,
                        "required": true
                    }
                },
                {
                    "variable": "tcp_port",
                    "label": "TCP Port for syncthing",
                    "group": "Networking",
                    "schema": {
                        "type": "int",
                        "min": 8000,
                        "max": 65535,
                        "default": 20978,
                        "required": true
                    }
                },
                {
                    "variable": "udp_port",
                    "label": "UDP Port for syncthing",
                    "group": "Networking",
                    "schema": {
                        "type": "int",
                        "min": 8000,
                        "max": 65535,
                        "default": 20979,
                        "required": true
                    }
                },
                {
                    "variable": "hostNetwork",
                    "label": "Host Network",
                    "group": "Networking",
                    "schema": {
                        "type": "boolean",
                        "default": false
                    }
                },
                {
                    "variable": "dnsConfig",
                    "label": "DNS Configuration",
                    "group": "Advanced DNS Settings",
                    "schema": {
                        "type": "dict",
                        "attrs": [
                            {
                                "variable": "options",
                                "label": "DNS Options",
                                "schema": {
                                    "type": "list",
                                    "items": [
                                        {
                                            "variable": "optionsEntry",
                                            "label": "Option Entry Configuration",
                                            "schema": {
                                                "type": "dict",
                                                "attrs": [
                                                    {
                                                        "variable": "name",
                                                        "label": "Option Name",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true
                                                        }
                                                    },
                                                    {
                                                        "variable": "value",
                                                        "label": "Option Value",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true
                                                        }
                                                    }
                                                ]
                                            }
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                },
                {
                    "variable": "ownerUID",
                    "label": "Owner User ID",
                    "group": "Configuration",
                    "schema": {
                        "type": "int",
                        "default": 568,
                        "min": 1,
                        "max": 65535
                    }
                },
                {
                    "variable": "ownerGID",
                    "label": "Owner Group ID",
                    "group": "Configuration",
                    "schema": {
                        "type": "int",
                        "default": 568,
                        "min": 1,
                        "max": 65535
                    }
                },
                {
                    "variable": "environmentVariables",
                    "label": "Syncthing environment",
                    "group": "Configuration",
                    "schema": {
                        "type": "list",
                        "default": [],
                        "items": [
                            {
                                "variable": "environmentVariable",
                                "label": "Environment Variable",
                                "schema": {
                                    "type": "dict",
                                    "attrs": [
                                        {
                                            "variable": "name",
                                            "label": "Name",
                                            "schema": {
                                                "type": "string"
                                            }
                                        },
                                        {
                                            "variable": "value",
                                            "label": "Value",
                                            "schema": {
                                                "type": "string"
                                            }
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                },
                {
                    "variable": "appVolumeMounts",
                    "label": "Syncthing Storage",
                    "group": "Storage",
                    "schema": {
                        "type": "dict",
                        "attrs": [
                            {
                                "variable": "config",
                                "label": "Configuration Volume",
                                "schema": {
                                    "type": "dict",
                                    "attrs": [
                                        {
                                            "variable": "datasetName",
                                            "label": "Configuration Volume Dataset Name",
                                            "schema": {
                                                "type": "string",
                                                "hidden": true,
                                                "$ref": [
                                                    "normalize/ixVolume"
                                                ],
                                                "show_if": [
                                                    [
                                                        "hostPathEnabled",
                                                        "=",
                                                        false
                                                    ]
                                                ],
                                                "default": "ix-syncthing_config",
                                                "editable": false
                                            }
                                        },
                                        {
                                            "variable": "mountPath",
                                            "label": "Configuration Mount Path",
                                            "description": "Path where the volume will be mounted inside the pod",
                                            "schema": {
                                                "type": "path",
                                                "hidden": true,
                                                "editable": true,
                                                "default": "/var/syncthing"
                                            }
                                        },
                                        {
                                            "variable": "hostPathEnabled",
                                            "label": "Enable Custom Host Path for Syncthing Configuration Volume",
                                            "schema": {
                                                "type": "boolean",
                                                "default": false,
                                                "show_subquestions_if": true,
                                                "subquestions": [
                                                    {
                                                        "variable": "hostPath",
                                                        "label": "Host Path for Syncthing Configuration Volume",
                                                        "schema": {
                                                            "type": "hostpath",
                                                            "required": true,
                                                            "$ref": [
                                                                "validations/lockedHostPath"
                                                            ]
                                                        }
                                                    }
                                                ]
                                            }
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                },
                {
                    "variable": "extraAppVolumeMounts",
                    "label": "Extra Host Path Volumes",
                    "group": "Storage",
                    "schema": {
                        "type": "list",
                        "items": [
                            {
                                "variable": "extraAppVolume",
                                "label": "Host Path Volume",
                                "description": "Add an extra host path volume for Syncthing application",
                                "schema": {
                                    "type": "dict",
                                    "attrs": [
                                        {
                                            "variable": "mountPath",
                                            "label": "Mount Path in Pod",
                                            "description": "Path where the volume will be mounted inside the pod",
                                            "schema": {
                                                "type": "path",
                                                "required": true
                                            }
                                        },
                                        {
                                            "variable": "hostPath",
                                            "label": "Host Path",
                                            "description": "Host path",
                                            "schema": {
                                                "type": "hostpath",
                                                "required": true,
                                                "$ref": [
                                                    "validations/lockedHostPath"
                                                ]
                                            }
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                },
                {
                    "variable": "enableResourceLimits",
                    "label": "Enable Pod resource limits",
                    "group": "Resource Limits",
                    "schema": {
                        "type": "boolean",
                        "default": false
                    }
                },
                {
                    "variable": "cpuLimit",
                    "label": "CPU Limit",
                    "description": "CPU resource limit allow  plain integer values with suffix m(milli) e.g 1000m, 100.",
                    "group": "Resource Limits",
                    "schema": {
                        "type": "string",
                        "show_if": [
                            [
                                "enableResourceLimits",
                                "=",
                                true
                            ]
                        ],
                        "valid_chars": "^\\d+(?:\\.\\d+(?!.*m$)|m?$)",
                        "default": "4000m"
                    }
                },
                {
                    "variable": "memLimit",
                    "label": "Memory Limit",
                    "group": "Resource Limits",
                    "description": "Memory limits is specified by number of bytes. Followed by quantity suffix like E,P,T,G,M,k and Ei,Pi,Ti,Mi,Gi,Ki can also be used. e.g 129e6, 129M,  128974848000m, 123Mi",
                    "schema": {
                        "type": "string",
                        "show_if": [
                            [
                                "enableResourceLimits",
                                "=",
                                true
                            ]
                        ],
                        "valid_chars": "^([+-]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$",
                        "default": "8Gi"
                    }
                }
            ]
        },
        "app_readme": "<h1>Syncthing</h1>\n<p><a href=\"https://syncthing.net/\">syncthing</a> is a continuous file synchronization program. It synchronizes files between two or\nmore computers in real time, safely protected from prying eyes.</p>\n<blockquote>\n<p><strong>WARNING</strong> Do check out https://docs.syncthing.net/users/faq.html#what-things-are-synced to see what is synced.</p>\n</blockquote>",
        "detailed_readme": "<h1>Syncthing</h1>\n<p><a href=\"https://syncthing.net/\">syncthing</a> is a continuous file synchronization program. It synchronizes files between two or\nmore computers in real time, safely protected from prying eyes. Your data is your data alone and you deserve to choose\nwhere it is stored, whether it is shared with some third party, and how it's transmitted over the internet.</p>",
        "changelog": null
    }
}