From b53898eb3dcba81c760788f909bdc0b18d432afe Mon Sep 17 00:00:00 2001 From: AlinsRan Date: Tue, 25 Aug 2026 17:35:39 +0800 Subject: [PATCH] feat(api7): support timeoutSeconds for dashboard/dp-manager/file-server/developer-portal/api-usage probes livenessProbe and readinessProbe for these components previously only exposed initialDelaySeconds, periodSeconds, and failureThreshold, so timeoutSeconds always fell back to Kubernetes' default of 1s and could not be tuned for slow-starting deployments. --- charts/api7/Chart.yaml | 2 +- charts/api7/README.md | 10 +++++++++- charts/api7/templates/api-usage-deploy.yaml | 2 ++ charts/api7/templates/dashboard-deploy.yaml | 2 ++ charts/api7/templates/developer-portal-deploy.yaml | 2 ++ charts/api7/templates/dp-manager-deploy.yaml | 2 ++ charts/api7/templates/file-server-deploy.yaml | 2 ++ charts/api7/values.yaml | 8 ++++++++ 8 files changed, 28 insertions(+), 2 deletions(-) diff --git a/charts/api7/Chart.yaml b/charts/api7/Chart.yaml index d59033a..7fe4643 100644 --- a/charts/api7/Chart.yaml +++ b/charts/api7/Chart.yaml @@ -17,7 +17,7 @@ type: application # Versions are expected to follow Semantic Versioning (https://semver.org/) # major.minor mirrors the API7 EE release line (3.9.x), patch is this chart's # own counter on that line and is decoupled from the app patch (see appVersion). -version: 3.9.6 +version: 3.9.7 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to diff --git a/charts/api7/README.md b/charts/api7/README.md index 8aedb30..38dc4b3 100644 --- a/charts/api7/README.md +++ b/charts/api7/README.md @@ -1,6 +1,6 @@ # api7ee3 -![Version: 3.9.6](https://img.shields.io/badge/Version-3.9.6-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 3.9.19](https://img.shields.io/badge/AppVersion-3.9.19-informational?style=flat-square) +![Version: 3.9.7](https://img.shields.io/badge/Version-3.9.7-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 3.9.19](https://img.shields.io/badge/AppVersion-3.9.19-informational?style=flat-square) A Helm chart for Kubernetes @@ -34,10 +34,12 @@ A Helm chart for Kubernetes | dashboard.livenessProbe.failureThreshold | int | `30` | | | dashboard.livenessProbe.initialDelaySeconds | int | `180` | | | dashboard.livenessProbe.periodSeconds | int | `10` | | +| dashboard.livenessProbe.timeoutSeconds | int | `1` | | | dashboard.podLabels | object | `{}` | | | dashboard.readinessProbe.failureThreshold | int | `3` | | | dashboard.readinessProbe.initialDelaySeconds | int | `10` | | | dashboard.readinessProbe.periodSeconds | int | `3` | | +| dashboard.readinessProbe.timeoutSeconds | int | `1` | | | dashboard.replicaCount | int | `1` | | | dashboard.topologySpreadConstraints | list | `[]` | Topology Spread Constraints for pod assignment https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ The value is evaluated as a template | | dashboard_configuration.audit.retention_days | int | `60` | | @@ -128,10 +130,12 @@ A Helm chart for Kubernetes | developer_portal.livenessProbe.failureThreshold | int | `10` | | | developer_portal.livenessProbe.initialDelaySeconds | int | `60` | | | developer_portal.livenessProbe.periodSeconds | int | `3` | | +| developer_portal.livenessProbe.timeoutSeconds | int | `1` | | | developer_portal.podLabels | object | `{}` | | | developer_portal.readinessProbe.failureThreshold | int | `3` | | | developer_portal.readinessProbe.initialDelaySeconds | int | `10` | | | developer_portal.readinessProbe.periodSeconds | int | `3` | | +| developer_portal.readinessProbe.timeoutSeconds | int | `1` | | | developer_portal.replicaCount | int | `1` | | | developer_portal.topologySpreadConstraints | list | `[]` | Topology Spread Constraints for pod assignment https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ The value is evaluated as a template | | developer_portal_configuration.database.dsn | string | `"postgres://api7ee:changeme@api7-postgresql:5432/api7ee"` | | @@ -177,10 +181,12 @@ A Helm chart for Kubernetes | dp_manager.livenessProbe.failureThreshold | int | `10` | | | dp_manager.livenessProbe.initialDelaySeconds | int | `60` | | | dp_manager.livenessProbe.periodSeconds | int | `3` | | +| dp_manager.livenessProbe.timeoutSeconds | int | `1` | | | dp_manager.podLabels | object | `{}` | | | dp_manager.readinessProbe.failureThreshold | int | `3` | | | dp_manager.readinessProbe.initialDelaySeconds | int | `10` | | | dp_manager.readinessProbe.periodSeconds | int | `3` | | +| dp_manager.readinessProbe.timeoutSeconds | int | `1` | | | dp_manager.replicaCount | int | `1` | | | dp_manager.topologySpreadConstraints | list | `[]` | Topology Spread Constraints for pod assignment https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ The value is evaluated as a template | | dp_manager_configuration.consumer_cache.evict_interval | string | `"5s"` | | @@ -245,9 +251,11 @@ A Helm chart for Kubernetes | file_server.livenessProbe.failureThreshold | int | `10` | | | file_server.livenessProbe.initialDelaySeconds | int | `60` | | | file_server.livenessProbe.periodSeconds | int | `3` | | +| file_server.livenessProbe.timeoutSeconds | int | `1` | | | file_server.readinessProbe.failureThreshold | int | `3` | | | file_server.readinessProbe.initialDelaySeconds | int | `10` | | | file_server.readinessProbe.periodSeconds | int | `3` | | +| file_server.readinessProbe.timeoutSeconds | int | `1` | | | file_server.replicaCount | int | `1` | | | file_server_configuration.database.dsn | string | `"postgres://api7ee:changeme@api7-postgresql:5432/api7ee"` | | | file_server_configuration.file_server.listen | string | `"0.0.0.0:8080"` | | diff --git a/charts/api7/templates/api-usage-deploy.yaml b/charts/api7/templates/api-usage-deploy.yaml index 7dff0b0..75f1da5 100644 --- a/charts/api7/templates/api-usage-deploy.yaml +++ b/charts/api7/templates/api-usage-deploy.yaml @@ -64,6 +64,7 @@ spec: scheme: {{ if not .Values.api_usage.configuration.server.listen.tls.enabled }}HTTP{{ else }}HTTPS{{ end }} initialDelaySeconds: {{ (.Values.api_usage.livenessProbe | default dict).initialDelaySeconds | default 180 }} periodSeconds: {{ (.Values.api_usage.livenessProbe | default dict).periodSeconds | default 10 }} + timeoutSeconds: {{ (.Values.api_usage.livenessProbe | default dict).timeoutSeconds | default 1 }} failureThreshold: {{ (.Values.api_usage.livenessProbe | default dict).failureThreshold | default 30 }} readinessProbe: httpGet: @@ -72,6 +73,7 @@ spec: scheme: {{ if not .Values.api_usage.configuration.server.listen.tls.enabled }}HTTP{{ else }}HTTPS{{ end }} initialDelaySeconds: {{ (.Values.api_usage.readinessProbe | default dict).initialDelaySeconds | default 10 }} periodSeconds: {{ (.Values.api_usage.readinessProbe | default dict).periodSeconds | default 3 }} + timeoutSeconds: {{ (.Values.api_usage.readinessProbe | default dict).timeoutSeconds | default 1 }} failureThreshold: {{ (.Values.api_usage.readinessProbe | default dict).failureThreshold | default 3 }} resources: {{- toYaml .Values.resources | nindent 12 }} diff --git a/charts/api7/templates/dashboard-deploy.yaml b/charts/api7/templates/dashboard-deploy.yaml index 701a23d..f423bbd 100644 --- a/charts/api7/templates/dashboard-deploy.yaml +++ b/charts/api7/templates/dashboard-deploy.yaml @@ -75,6 +75,7 @@ spec: scheme: {{ if not .Values.dashboard_configuration.server.listen.disable }}HTTP{{ else }}HTTPS{{ end }} initialDelaySeconds: {{ .Values.dashboard.livenessProbe.initialDelaySeconds }} periodSeconds: {{ .Values.dashboard.livenessProbe.periodSeconds }} + timeoutSeconds: {{ .Values.dashboard.livenessProbe.timeoutSeconds }} failureThreshold: {{ .Values.dashboard.livenessProbe.failureThreshold }} readinessProbe: httpGet: @@ -83,6 +84,7 @@ spec: scheme: {{ if not .Values.dashboard_configuration.server.listen.disable }}HTTP{{ else }}HTTPS{{ end }} initialDelaySeconds: {{ .Values.dashboard.readinessProbe.initialDelaySeconds }} periodSeconds: {{ .Values.dashboard.readinessProbe.periodSeconds }} + timeoutSeconds: {{ .Values.dashboard.readinessProbe.timeoutSeconds }} failureThreshold: {{ .Values.dashboard.readinessProbe.failureThreshold }} volumeMounts: - name: config diff --git a/charts/api7/templates/developer-portal-deploy.yaml b/charts/api7/templates/developer-portal-deploy.yaml index 2b581bd..9af9acb 100644 --- a/charts/api7/templates/developer-portal-deploy.yaml +++ b/charts/api7/templates/developer-portal-deploy.yaml @@ -68,6 +68,7 @@ spec: scheme: {{ if not .Values.developer_portal_configuration.server.listen.tls.enabled }}HTTP{{ else }}HTTPS{{ end }} initialDelaySeconds: {{ .Values.developer_portal.livenessProbe.initialDelaySeconds }} periodSeconds: {{ .Values.developer_portal.livenessProbe.periodSeconds }} + timeoutSeconds: {{ .Values.developer_portal.livenessProbe.timeoutSeconds }} failureThreshold: {{ .Values.developer_portal.livenessProbe.failureThreshold }} readinessProbe: httpGet: @@ -76,6 +77,7 @@ spec: scheme: {{ if not .Values.developer_portal_configuration.server.listen.tls.enabled }}HTTP{{ else }}HTTPS{{ end }} initialDelaySeconds: {{ .Values.developer_portal.readinessProbe.initialDelaySeconds }} periodSeconds: {{ .Values.developer_portal.readinessProbe.periodSeconds }} + timeoutSeconds: {{ .Values.developer_portal.readinessProbe.timeoutSeconds }} failureThreshold: {{ .Values.developer_portal.readinessProbe.failureThreshold }} resources: {{- toYaml .Values.resources | nindent 12 }} diff --git a/charts/api7/templates/dp-manager-deploy.yaml b/charts/api7/templates/dp-manager-deploy.yaml index bbf52dd..9135dae 100644 --- a/charts/api7/templates/dp-manager-deploy.yaml +++ b/charts/api7/templates/dp-manager-deploy.yaml @@ -73,6 +73,7 @@ spec: port: http initialDelaySeconds: {{ .Values.dp_manager.livenessProbe.initialDelaySeconds }} periodSeconds: {{ .Values.dp_manager.livenessProbe.periodSeconds }} + timeoutSeconds: {{ .Values.dp_manager.livenessProbe.timeoutSeconds }} failureThreshold: {{ .Values.dp_manager.livenessProbe.failureThreshold }} readinessProbe: httpGet: @@ -80,6 +81,7 @@ spec: port: http initialDelaySeconds: {{ .Values.dp_manager.readinessProbe.initialDelaySeconds }} periodSeconds: {{ .Values.dp_manager.readinessProbe.periodSeconds }} + timeoutSeconds: {{ .Values.dp_manager.readinessProbe.timeoutSeconds }} failureThreshold: {{ .Values.dp_manager.readinessProbe.failureThreshold }} volumeMounts: - name: config diff --git a/charts/api7/templates/file-server-deploy.yaml b/charts/api7/templates/file-server-deploy.yaml index bb7c844..371f71b 100644 --- a/charts/api7/templates/file-server-deploy.yaml +++ b/charts/api7/templates/file-server-deploy.yaml @@ -55,6 +55,7 @@ spec: port: http initialDelaySeconds: {{ .Values.file_server.livenessProbe.initialDelaySeconds }} periodSeconds: {{ .Values.file_server.livenessProbe.periodSeconds }} + timeoutSeconds: {{ .Values.file_server.livenessProbe.timeoutSeconds }} failureThreshold: {{ .Values.file_server.livenessProbe.failureThreshold }} readinessProbe: httpGet: @@ -62,6 +63,7 @@ spec: port: http initialDelaySeconds: {{ .Values.file_server.readinessProbe.initialDelaySeconds }} periodSeconds: {{ .Values.file_server.readinessProbe.periodSeconds }} + timeoutSeconds: {{ .Values.file_server.readinessProbe.timeoutSeconds }} failureThreshold: {{ .Values.file_server.readinessProbe.failureThreshold }} {{- if .Values.file_server.extraEnvVars }} env: diff --git a/charts/api7/values.yaml b/charts/api7/values.yaml index 459a122..d5cb1bb 100644 --- a/charts/api7/values.yaml +++ b/charts/api7/values.yaml @@ -43,10 +43,12 @@ dashboard: livenessProbe: initialDelaySeconds: 180 periodSeconds: 10 + timeoutSeconds: 1 failureThreshold: 30 readinessProbe: initialDelaySeconds: 10 periodSeconds: 3 + timeoutSeconds: 1 failureThreshold: 3 dp_manager: @@ -80,10 +82,12 @@ dp_manager: livenessProbe: initialDelaySeconds: 60 periodSeconds: 3 + timeoutSeconds: 1 failureThreshold: 10 readinessProbe: initialDelaySeconds: 10 periodSeconds: 3 + timeoutSeconds: 1 failureThreshold: 3 file_server: @@ -98,10 +102,12 @@ file_server: livenessProbe: initialDelaySeconds: 60 periodSeconds: 3 + timeoutSeconds: 1 failureThreshold: 10 readinessProbe: initialDelaySeconds: 10 periodSeconds: 3 + timeoutSeconds: 1 failureThreshold: 3 developer_portal: @@ -126,10 +132,12 @@ developer_portal: livenessProbe: initialDelaySeconds: 60 periodSeconds: 3 + timeoutSeconds: 1 failureThreshold: 10 readinessProbe: initialDelaySeconds: 10 periodSeconds: 3 + timeoutSeconds: 1 failureThreshold: 3 imagePullSecret: ""