{ "1.1.2": { "healthy": true, "supported": true, "healthy_error": null, "location": "/__w/charts/charts/community/pgadmin/1.1.2", "last_update": "2023-11-14 10:11:57", "required_features": [ "definitions/certificate", "normalize/ixVolume" ], "human_version": "7.8_1.1.2", "version": "1.1.2", "chart_metadata": { "name": "pgadmin", "description": "pgAdmin is the most popular and feature rich Open Source administration and development platform for PostgreSQL", "annotations": { "title": "pgAdmin" }, "type": "application", "version": "1.1.2", "apiVersion": "v2", "appVersion": "7.8", "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.2" } ], "home": "https://www.pgadmin.org/", "icon": "https://media.sys.truenas.net/apps/pgadmin/icons/icon.png", "sources": [ "https://hub.docker.com/r/dpage/pgadmin4", "https://github.com/truenas/charts/tree/master/library/ix-dev/community/pgadmin", "https://www.pgadmin.org/" ], "keywords": [ "database", "management" ] }, "app_metadata": { "runAsContext": [ { "userName": "pgadmin", "groupName": "pgadmin", "gid": 5050, "uid": 5050, "description": "pgAdmin runs as a non-root user." } ], "capabilities": [ { "name": "NET_BIND_SERVICE", "description": "pgAdmin requires this ability to bind to privileged ports." } ], "hostMounts": [] }, "schema": { "groups": [ { "name": "pgAdmin Configuration", "description": "Configure pgAdmin" }, { "name": "Network Configuration", "description": "Configure Network for pgAdmin" }, { "name": "Storage Configuration", "description": "Configure Storage for pgAdmin" }, { "name": "Resources Configuration", "description": "Configure Resources for pgAdmin" } ], "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": "pgadminConfig", "label": "", "group": "pgAdmin Configuration", "schema": { "type": "dict", "attrs": [ { "variable": "adminEmail", "label": "Admin Email", "description": "The email address for the pgAdmin admin user.", "schema": { "type": "string", "required": true, "default": "" } }, { "variable": "adminPassword", "label": "Admin Password", "description": "The password for the pgAdmin admin user.", "schema": { "type": "string", "required": true, "private": true, "default": "" } }, { "variable": "additionalEnvs", "label": "Additional Environment Variables", "description": "Configure additional environment variables for pgAdmin.", "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": "pgadminNetwork", "label": "", "group": "Network Configuration", "schema": { "type": "dict", "attrs": [ { "variable": "webPort", "label": "Web Port", "description": "The port for the pgAdmin Web UI.", "schema": { "type": "int", "default": 30056, "min": 9000, "max": 65535, "required": true } }, { "variable": "hostNetwork", "label": "Host Network", "description": "Bind to the host network. It's recommended to keep this disabled.\n", "schema": { "type": "boolean", "default": false } }, { "variable": "certificateID", "label": "Certificate", "description": "The certificate to use for pgAdmin", "schema": { "type": "int", "null": true, "$ref": [ "definitions/certificate" ], "enum": [ { "value": null, "description": "No Certificate" } ], "default": null } } ] } }, { "variable": "pgadminStorage", "label": "", "group": "Storage Configuration", "schema": { "type": "dict", "attrs": [ { "variable": "config", "label": "pgAdmin Config Storage", "description": "The path to store pgAdmin Configuration.", "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": "config", "$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 pgAdmin.", "schema": { "type": "list", "default": [], "items": [ { "variable": "storageEntry", "label": "Storage Entry", "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.\nSMB Share: Is a SMB share that is mounted to a persistent volume claim.\n", "schema": { "type": "string", "required": true, "default": "ixVolume", "immutable": true, "enum": [ { "value": "hostPath", "description": "Host Path (Path that already exists on the system)" }, { "value": "ixVolume", "description": "ixVolume (Dataset created automatically by 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": "datasetName", "label": "Dataset Name", "description": "The name of the dataset to use for storage.", "schema": { "type": "string", "show_if": [ [ "type", "=", "ixVolume" ] ], "required": true, "immutable": true, "default": "storage_entry", "$ref": [ "normalize/ixVolume" ] } }, { "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 pgAdmin.", "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 pgAdmin.", "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": "
pgAdmin is the most popular and feature rich Open Source administration and development platform for PostgreSQL
\n\n", "detailed_readme": "When application is installed, a container will be launched with root privileges.\nThis is required in order to apply the correct permissions to the
\npgAdmin
directories.\nAfterward, thepgAdmin
container will run as a non-root user (5050
).\nAll mounted storage(s) will bechown
ed only if the parent directory does not match the configured user.
pgAdmin is the most popular and feature rich Open Source administration and development platform for PostgreSQL
\n\n", "changelog": null } }When application is installed, a container will be launched with root privileges.\nThis is required in order to apply the correct permissions to the
\npgAdmin
directories.\nAfterward, thepgAdmin
container will run as a non-root user (5050
).\nAll mounted storage(s) will bechown
ed only if the parent directory does not match the configured user.