From 62bcb3a5f75a6d8d7cc45a72bb3557261f6c4fff Mon Sep 17 00:00:00 2001 From: Stavros Kois <47820033+stavros-k@users.noreply.github.com> Date: Mon, 24 Jan 2022 14:00:09 +0200 Subject: [PATCH] fix(synapse): update UI (#1778) * fix(synapse): update UI * fix port conflicts and document * add icon * remove `runAsNonRoot: true` and `readOnlyFileSystem: true` as its the default * add persistence * remove secret * clean env * coturn and mail * security and logging * matrix * update questions --- charts/incubator/synapse/questions.yaml | 516 +++++++++++++++++++-- charts/incubator/synapse/values.yaml | 4 +- docs/_static/img/appicons/synapse-icon.png | Bin 0 -> 12170 bytes docs/manual/default-ports.md | 5 +- 4 files changed, 474 insertions(+), 51 deletions(-) create mode 100644 docs/_static/img/appicons/synapse-icon.png diff --git a/charts/incubator/synapse/questions.yaml b/charts/incubator/synapse/questions.yaml index 7e11bdef241..782f9f310e5 100644 --- a/charts/incubator/synapse/questions.yaml +++ b/charts/incubator/synapse/questions.yaml @@ -74,28 +74,6 @@ questions: - value: "OnDelete" description: "(Legacy) OnDelete: ignore .spec.template changes" # Include{controllerExpert} - - variable: secret - group: "Container Configuration" - label: "Image Secrets" - schema: - additional_attrs: true - type: dict - attrs: - - variable: NEXTCLOUD_ADMIN_USER - label: "NEXTCLOUD_ADMIN_USER (First Install Only)" - description: "Sets the initial nextcloud's admin username, changing this variable after first launch will NOT change admin's username" - schema: - type: string - required: true - default: "REPLACETHIS" - - variable: NEXTCLOUD_ADMIN_PASSWORD - label: "NEXTCLOUD_ADMIN_PASSWORD (First Install Only)" - description: "Sets the initial nextcloud's admin password, changing this variable after first launch will NOT change admin's password" - schema: - type: string - private: true - required: true - default: "REPLACETHIS" - variable: env group: "Container Configuration" label: "Image Environment" @@ -104,21 +82,269 @@ questions: type: dict attrs: # Include{fixedEnv} - - variable: TRUSTED_PROXIES - label: "Trusted Proxies (Advanced)" - description: "Sets nextcloud Trusted Proxies" - schema: - type: string - default: "172.16.0.0/16" - - variable: NODE_IP - label: "NODE_IP" - description: "Sets nextcloud nodeip for nodeport connections (Ensure this is correct at first install!)" - schema: - type: string - $ref: - - "definitions/nodeIP" - # Include{containerConfig} + - variable: coturn + group: "Container Configuration" + label: "Coturn Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: "Enable Coturn" + schema: + type: boolean + default: false + - variable: mail + group: "Container Configuration" + label: "Mail Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: "Enable Mail" + schema: + type: boolean + default: false + - variable: from + label: "From: " + schema: + type: string + default: "Matrix " + - variable: riotUrl + label: "Riot URL" + schema: + type: string + default: "" + - variable: host + label: "Host" + schema: + type: string + default: "" + - variable: port + label: "Port" + schema: + type: int + default: 25 + - variable: username + label: "Username" + schema: + type: string + default: "" + - variable: password + label: "Password" + schema: + type: string + default: "" + private: true + - variable: requireTransportSecurity + label: "Require Transport Security" + schema: + type: boolean + default: true + + - variable: matrix + group: "Container Configuration" + label: "Matrix Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: disabled + label: "Disable Server Globally" + schema: + type: boolean + default: false + - variable: disabledMessage + label: "Disabled Message" + schema: + type: string + default: "" + - variable: serverName + label: "Server Name" + schema: + type: string + default: "example.com" + - variable: hostname + label: "Hostname" + schema: + type: string + default: "matrix.example.com" + - variable: presence + label: "Presence" + schema: + type: boolean + default: true + - variable: blockNonAdminInvites + label: "Block Non Admin Invites" + schema: + type: boolean + default: false + - variable: search + label: "Search" + schema: + type: boolean + default: true + - variable: encryptByDefault + label: "Encrypt By Default" + schema: + type: string + default: "invite" + enum: + - value: "off" + description: "off" + - value: "invite" + description: "invite" + - value: "all" + description: "all" + - variable: adminEmail + label: "Admin Email" + schema: + type: string + default: "admin@example.com" + - variable: uploads + label: "Uploads Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: maxSize + label: "Max Size" + schema: + type: string + default: "10M" + - variable: maxPixels + label: "Max Pixels" + schema: + type: string + default: "32M" + - variable: urlPreviews + label: "URL Previews Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: "Enable URL Previews" + schema: + type: boolean + default: false + - variable: federation + label: "Federation Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: "Enable Federation" + schema: + type: boolean + default: true + - variable: allowPublicRooms + label: "Allow Public Rooms" + schema: + type: boolean + default: true + # TODO: whitelist: + # TODO: blacklist: + - variable: registration + label: "Registration Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: "Enable Registration" + schema: + type: boolean + default: false + - variable: maxPixels + label: "Max Pixels" + schema: + type: string + default: "32M" + - variable: sharedSecret + label: "Shared Secret" + schema: + type: string + default: "" + private: true + # TODO: required3PIDs + # TODO: autoJoinRooms + - variable: security + label: "Security Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: macaroonSecretKey + label: "Macaroon Secret Key" + schema: + type: string + default: "" + private: true + - variable: surpressKeyServerWarning + label: "Surpress Key Server Warning" + schema: + type: boolean + default: true + - variable: trustedKeyServers + label: "Truested Key Servers" + schema: + type: list + default: [] + items: + - variable: serverName + label: Server Name + schema: + type: string + default: "" + - variable: verifyKeys + label: "Verify Keys" + schema: + additional_attrs: true + type: dict + attrs: + - variable: id + label: "id" + schema: + type: string + default: "" + - variable: key + label: "key" + schema: + type: string + default: "" + private: true + - variable: acceptKeysInsecurely + label: "Accept Keys Insecurely" + schema: + type: boolean + default: false + - variable: logging + group: "Container Configuration" + label: "Logging Configuration" + schema: + additional_attrs: true + type: dict + attrs: +# TODO: Find the log levels and make the enum's + - variable: rootLogLevel + label: "Root Log Level" + schema: + type: string + default: "WARNING" + - variable: sqlLogLevel + label: "Root Log Level" + schema: + type: string + default: "WARNING" + - variable: sqlLogLevel + label: "Root Log Level" + schema: + type: string + default: "WARNING" - variable: service group: "Networking and Services" @@ -146,7 +372,7 @@ questions: description: "This port exposes the container port on the service" schema: type: int - default: 10020 + default: 8008 required: true - variable: advanced label: "Show Advanced settings" @@ -181,7 +407,117 @@ questions: description: "The internal(!) port on the container the Application runs on" schema: type: int - default: 80 + default: 8008 + - variable: replication + label: "Replication Service" + description: "The Replication Service" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: replication + label: "Replication 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: 9092 + required: true + - variable: advanced + label: "Show Advanced settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer" + schema: + type: int + min: 9000 + max: 65535 + - variable: targetPort + label: "Target Port" + description: "The internal(!) port on the container the Application runs on" + schema: + type: int + default: 9092 + - variable: metrics + label: "Metrics Service" + description: "The Metrics Service" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: metrics + label: "Replication 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: 9093 + required: true + - variable: advanced + label: "Show Advanced settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer" + schema: + type: int + min: 9000 + max: 65535 + - variable: targetPort + label: "Target Port" + description: "The internal(!) port on the container the Application runs on" + schema: + type: int + default: 9093 - variable: serviceexpert group: "Networking and Services" @@ -210,9 +546,95 @@ questions: additional_attrs: true type: dict attrs: - - variable: data - label: "App Data Storage" - description: "Stores the Application Data." + - variable: key + label: "App Key Storage" + description: "Stores the Application Key." + 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: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + 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" +# Include{persistenceAdvanced} + - variable: media + label: "App Media Storage" + description: "Stores the Application Media." + 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: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + 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" +# Include{persistenceAdvanced} + - variable: uploads + label: "App Upload Storage" + description: "Stores the Application Upload." schema: additional_attrs: true type: dict @@ -302,17 +724,17 @@ questions: label: "ReadOnly Root Filesystem" schema: type: boolean - default: false + default: true - variable: allowPrivilegeEscalation label: "Allow Privilege Escalation" schema: type: boolean - default: false + default: true - variable: runAsNonRoot label: "runAsNonRoot" schema: type: boolean - default: false + default: true # Include{securityContextAdvanced} - variable: podSecurityContext @@ -327,19 +749,19 @@ questions: description: "The UserID of the user running the application" schema: type: int - default: 0 + default: 568 - variable: runAsGroup label: "runAsGroup" description: The groupID this App of the user running the application" schema: type: int - default: 0 + default: 568 - variable: fsGroup label: "fsGroup" description: "The group that should own ALL storage." schema: type: int - default: 33 + default: 568 # Include{podSecurityContextAdvanced} # Include{resources} diff --git a/charts/incubator/synapse/values.yaml b/charts/incubator/synapse/values.yaml index 525c2421065..4ebf09d4d6d 100644 --- a/charts/incubator/synapse/values.yaml +++ b/charts/incubator/synapse/values.yaml @@ -30,13 +30,11 @@ service: ports: metrics: enabled: true - port: 9090 + port: 9093 targetPort: 9090 securityContext: - readOnlyRootFilesystem: true allowPrivilegeEscalation: true - runAsNonRoot: true secret: {} diff --git a/docs/_static/img/appicons/synapse-icon.png b/docs/_static/img/appicons/synapse-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..fe0c1a9f238ce63390cc689d1a03576258465a15 GIT binary patch literal 12170 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 literal 0 HcmV?d00001 diff --git a/docs/manual/default-ports.md b/docs/manual/default-ports.md index 74e3905f7f6..5cb610fa782 100644 --- a/docs/manual/default-ports.md +++ b/docs/manual/default-ports.md @@ -99,6 +99,7 @@ These defaults can of course be changed, but as we guarantee "sane, working defa | haste-server | main | main | 7777 | TCP | | | nextcloud | hpb | hpb | 7867 | TCP | | | radarr | main | main | 7878 | TCP | | +| synapse | main | main | 8008 | TCP | | | omada-controller | main | main | 8043 | TCP | | | odoo | main | main | 8069 | TCP | | | odoo | odoo | odoo-1 | 8071 | TCP | | @@ -137,6 +138,8 @@ These defaults can of course be changed, but as we guarantee "sane, working defa | pihole | main | main | 9089 | TCP | | | minio-console | main | main | 9090 | TCP | | | authelia | main | main | 9091 | TCP | | +| synapse | replication | replication | 9092 | TCP | | +| synapse | metrics | metrics | 9093 | TCP | | | jacket | main | main | 9117 | HTTP | | | unpoller | main | metrics | 9130 | TCP | | | owncloud-ocis | main | main | 9200 | TCP | | @@ -307,7 +310,7 @@ These defaults can of course be changed, but as we guarantee "sane, working defa | hyperion-ng | protobufservice | protobufservice | 19445 | TCP | | | syncthing | discovery | discovery | 21027 | UDP | | | airdcpp-webclient | unencrypted-tcp | unencrypted-tcp | 21248 | TCP | | -| airdcpp-webclient | search-udp | search-udp | 21248 | UDP | | +| airdcpp-webclient | search-udp | search-udp | 21248 | UDP | | | airdcpp-webclient | encrypted-tcp | encrypted-tcp | 21249 | TCP | | | syncthing | listeners | tcp | 22000 | TCP | | | syncthing | listeners-udp | udp | 22000 | UDP | |