From f1151d2c7272fd6af40c96480c9f96aa32b37e4e Mon Sep 17 00:00:00 2001 From: Stavros Kois <47820033+stavros-k@users.noreply.github.com> Date: Thu, 4 Jan 2024 00:55:09 +0200 Subject: [PATCH] fix(humhub): split containers and fix bug (#16858) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit **Description** ⚒️ Fixes #16563 **⚙️ Type of change** - [ ] ⚙️ Feature/App addition - [ ] 🪛 Bugfix - [ ] ⚠️ Breaking change (fix or feature that would cause existing functionality to not work as expected) - [ ] 🔃 Refactor of current code **🧪 How Has This Been Tested?** **📃 Notes:** **✔️ Checklist:** - [ ] ⚖️ My code follows the style guidelines of this project - [ ] 👀 I have performed a self-review of my own code - [ ] #️⃣ I have commented my code, particularly in hard-to-understand areas - [ ] 📄 I have made corresponding changes to the documentation - [ ] ⚠️ My changes generate no new warnings - [ ] 🧪 I have added tests to this description that prove my fix is effective or that my feature works - [ ] ⬆️ I increased versions for any altered app according to semantic versioning **➕ App addition** If this PR is an app addition please make sure you have done the following. - [ ] 🪞 I have opened a PR on [truecharts/containers](https://github.com/truecharts/containers) adding the container to TrueCharts mirror repo. - [ ] 🖼️ I have added an icon in the Chart's root directory called `icon.png` --- _Please don't blindly check all the boxes. Read them and only check those that apply. Those checkboxes are there for the reviewer to see what is this all about and the status of this PR with a quick glance._ --- charts/stable/humhub/Chart.yaml | 2 +- charts/stable/humhub/questions.yaml | 44 +++++---- charts/stable/humhub/values.yaml | 133 +++++++++++++++++++++++----- 3 files changed, 136 insertions(+), 43 deletions(-) diff --git a/charts/stable/humhub/Chart.yaml b/charts/stable/humhub/Chart.yaml index 2491b4402bf..511502bd39b 100644 --- a/charts/stable/humhub/Chart.yaml +++ b/charts/stable/humhub/Chart.yaml @@ -1,7 +1,7 @@ kubeVersion: ">=1.24.0-0" apiVersion: v2 name: humhub -version: 6.1.8 +version: 6.2.0 appVersion: 1.15.0 description: A feature rich and highly flexible OpenSource Social Network Kit written in PHP. home: https://truecharts.org/charts/stable/humhub diff --git a/charts/stable/humhub/questions.yaml b/charts/stable/humhub/questions.yaml index 3242f443ce6..4ac196234cc 100644 --- a/charts/stable/humhub/questions.yaml +++ b/charts/stable/humhub/questions.yaml @@ -18,50 +18,58 @@ questions: additional_attrs: true type: dict attrs: - - variable: debug - label: Debug - description: Enable/Disable Debug - schema: - type: boolean - default: true - - variable: proto - label: Protocol + - variable: host + label: Host (Initial Install Only + description: | + The host that this app will available
+ eg, hum.example.com schema: type: string required: true + immutable: true + default: "" + - variable: proto + label: Protocol (Initial Install Only) + description: | + The protocol this app will be available
+ eg, HTTPS + schema: + type: string default: http + required: true + immutable: true enum: - value: http description: HTTP - value: https description: HTTPS - - variable: host - label: Host - description: Enable/Disable Debug - schema: - type: string - default: "localhost:8080" - variable: admin - label: Admin Credentials + label: Admin Credentials (Initial Install Only) schema: additional_attrs: true type: dict attrs: - variable: login - label: Login UserName + label: Username (Initial Install Only) schema: type: string + required: true + immutable: true default: "" - variable: password - label: Login Password + label: Password (Initial Install Only) schema: type: string private: true + required: true + immutable: true default: "" - variable: email - label: Login Email + label: Email (Initial Install Only) schema: type: string + required: true + immutable: true default: "" - variable: mailer label: Mailer Credentials diff --git a/charts/stable/humhub/values.yaml b/charts/stable/humhub/values.yaml index e56ca00c211..4d5b14f2a00 100644 --- a/charts/stable/humhub/values.yaml +++ b/charts/stable/humhub/values.yaml @@ -1,7 +1,11 @@ image: pullPolicy: IfNotPresent - repository: ghcr.io/mriedmann/humhub-allinone - tag: 1.15.0@sha256:a2a5719d55fcc6970b3c8310450d2ad0ef3476f9e06e71e2f4081a2505c91b86 + repository: ghcr.io/mriedmann/humhub-phponly + tag: 1.15.0@sha256:8cbc2f44a64f4e615b425968aea116944a367947e07d092c19e57c6753ff2f9f +nginxImage: + pullPolicy: IfNotPresent + repository: ghcr.io/mriedmann/humhub-nginx + tag: 1.15.0@sha256:3973892d38021d00cf5b2d31eb8e4a962778195d6fb1a737a464bd1126b4f6c2 securityContext: container: @@ -17,21 +21,30 @@ service: protocol: http targetPort: 80 port: 8080 + backend: + enabled: true + type: ClusterIP + ports: + backend: + enabled: true + targetPort: 9000 + port: 9000 humhub: - debug: true + nginx: + max_client_body_size: 10m + keep_alive_timeout: 65 proto: http host: localhost:8080 admin: login: admin password: test email: humhub@example.com - mailer: sys_address: noreply@example.com sys_name: HumHub type: smtp - hostname: mailer + hostname: "" port: 1025 user: "" password: "" @@ -43,8 +56,26 @@ workload: podSpec: containers: main: + probes: + liveness: + enabled: true + type: exec + command: /usr/local/bin/php-fpm-healthcheck + readiness: + enabled: true + type: exec + command: /usr/local/bin/php-fpm-healthcheck + startup: + enabled: true + type: exec + command: /usr/local/bin/php-fpm-healthcheck env: + HUMHUB_AUTO_INSTALL: true + HUMHUB_INTEGRITY_CHECK: true + WAIT_FOR_DB: true + # Database HUMHUB_DB_USER: "{{ .Values.mariadb.mariadbUsername }}" + HUMHUB_DB_NAME: "{{ .Values.mariadb.mariadbDatabase }}" HUMHUB_DB_PASSWORD: secretKeyRef: expandObjectName: false @@ -55,36 +86,24 @@ workload: expandObjectName: false name: '{{ printf "%s-%s" .Release.Name "mariadbcreds" }}' key: plainhost - HUMHUB_DB_NAME: "{{ .Values.mariadb.mariadbDatabase }}" - # Cache Config - HUMHUB_CACHE_EXPIRE_TIME: 3600 - # do not expose - HUMHUB_CACHE_CLASS: yii\redis\Cache + # Redis HUMHUB_QUEUE_CLASS: humhub\modules\queue\driver\Redis + HUMHUB_CACHE_CLASS: yii\redis\Cache + HUMHUB_CACHE_EXPIRE_TIME: 3600 + HUMHUB_REDIS_PORT: 6379 HUMHUB_REDIS_HOSTNAME: secretKeyRef: expandObjectName: false name: '{{ printf "%s-%s" .Release.Name "rediscreds" }}' key: plainhost - HUMHUB_REDIS_PORT: 6379 HUMHUB_REDIS_PASSWORD: secretKeyRef: expandObjectName: false name: '{{ printf "%s-%s" .Release.Name "rediscreds" }}' key: redis-password - HUMHUB_AUTO_INSTALL: 1 - # 0 | 1 - HUMHUB_DEBUG: "{{ .Values.humhub.debug }}" - # http | https - HUMHUB_PROTO: "{{ .Values.humhub.proto }}" - HUMHUB_HOST: "{{ .Values.humhub.host }}" - HUMHUB_ADMIN_LOGIN: "{{ .Values.humhub.admin.login }}" - HUMHUB_ADMIN_EMAIL: "{{ .Values.humhub.admin.email }}" - HUMHUB_ADMIN_PASSWORD: "{{ .Values.humhub.admin.password }}" - # Mailer install setup + # Mailer HUMHUB_MAILER_SYSTEM_EMAIL_ADDRESS: "{{ .Values.humhub.mailer.sys_address }}" HUMHUB_MAILER_SYSTEM_EMAIL_NAME: "{{ .Values.humhub.mailer.sys_name }}" - # php | smtp HUMHUB_MAILER_TRANSPORT_TYPE: "{{ .Values.humhub.mailer.type }}" HUMHUB_MAILER_HOSTNAME: "{{ .Values.humhub.mailer.hostname }}" HUMHUB_MAILER_PORT: "{{ .Values.humhub.mailer.port }}" @@ -92,6 +111,46 @@ workload: HUMHUB_MAILER_PASSWORD: "{{ .Values.humhub.mailer.password }}" HUMHUB_MAILER_ENCRYPTION: "{{ .Values.humhub.mailer.encrypt }}" HUMHUB_MAILER_ALLOW_SELF_SIGNED_CERTS: "{{ .Values.humhub.mailer.allow_self_sign_certs }}" + # -- Initial install only + # HTTP/HTTPS configuration + HUMHUB_PROTO: "{{ .Values.humhub.proto }}" + HUMHUB_HOST: "{{ .Values.humhub.host }}" + # -- Initial install only + # Admin creattion + HUMHUB_ADMIN_LOGIN: "{{ .Values.humhub.admin.login }}" + HUMHUB_ADMIN_EMAIL: "{{ .Values.humhub.admin.email }}" + HUMHUB_ADMIN_PASSWORD: "{{ .Values.humhub.admin.password }}" + + nginx: + enabled: true + type: Deployment + podSpec: + containers: + nginx: + enabled: true + primary: true + imageSelector: nginxImage + env: + NGINX_CLIENT_MAX_BODY_SIZE: "{{ .Values.humhub.nginx.max_client_body_size }}" + NGINX_KEEPALIVE_TIMEOUT: "{{ .Values.humhub.nginx.keep_alive_timeout }}" + NGINX_UPSTREAM: '{{ printf "%s-backend:9000" (include "tc.v1.common.lib.chart.names.fullname" $) }}' + # Allow IPs for `/ping` ONLY + HUMHUB_REVERSEPROXY_WHITELIST: "10.0.0.0/8;172.16.0.0/16;192.168.0.0/24" + probes: + liveness: + enabled: true + type: http + path: /ping + port: 80 + readiness: + enabled: true + type: http + path: /ping + port: 80 + startup: + enabled: true + type: tcp + port: 80 persistence: config: @@ -100,15 +159,41 @@ persistence: assets: enabled: true mountPath: /var/www/localhost/htdocs/assets + targetSelector: + main: + main: + mountPath: /var/www/localhost/htdocs/assets + nginx: + nginx: + mountPath: /var/www/localhost/htdocs/assets themes: enabled: true mountPath: /var/www/localhost/htdocs/themes + targetSelector: + main: + main: + mountPath: /var/www/localhost/htdocs/themes + nginx: + nginx: + mountPath: /var/www/localhost/htdocs/themes modules: enabled: true - mountPath: /var/www/localhost/htdocs/protected/modules + targetSelector: + main: + main: + mountPath: /var/www/localhost/htdocs/protected/modules + nginx: + nginx: + mountPath: /var/www/localhost/htdocs/protected/modules uploads: enabled: true - mountPath: /var/www/localhost/htdocs/uploads + targetSelector: + main: + main: + mountPath: /var/www/localhost/htdocs/uploads + nginx: + nginx: + mountPath: /var/www/localhost/htdocs/uploads mariadb: enabled: true