Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions charts/strapi/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ name: strapi
description: Strapi headless CMS with SQLite, MySQL, or PostgreSQL support, uploads persistence, and S3 backups
type: application
version: 2.3.7
appVersion: "5.47.1"
appVersion: "5.49.0"
kubeVersion: ">=1.26.0-0"
maintainers:
- name: helmforgedev
Expand All @@ -24,7 +24,7 @@ icon: https://helmforge.dev/icons/charts/strapi.png
annotations:
artifacthub.io/changes: |
- kind: changed
description: "refresh chart subchart dependencies (#587)"
description: "bump strapi base image to 5.49.0 (#704)"
artifacthub.io/maintainers: |
- name: HelmForge
email: berlofa@helmforge.dev
Expand Down
17 changes: 13 additions & 4 deletions charts/strapi/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ This chart is designed for a prebuilt Strapi project image. It does not build ap

## HelmForge Base Image

This chart uses the official **HelmForge Strapi base image** (`docker.io/helmforge/strapi-base:5.47.1`) which provides:
This chart uses the official **HelmForge Strapi base image** (`docker.io/helmforge/strapi-base:5.49.0`) which provides:

- **Strapi 5.47.1** with all official plugins pre-installed
- **Strapi 5.49.0** with all official plugins pre-installed
- **Multi-database support** — SQLite, PostgreSQL, MySQL ready to use
- **Health check endpoint** — HTTP health checks on `/_health` for proper Kubernetes integration
- **Security hardened** — Non-root user (UID 1000), minimal attack surface
Expand Down Expand Up @@ -107,7 +107,7 @@ database:
| Key | Default | Description |
|-----|---------|-------------|
| `image.repository` | `helmforge/strapi-base` | Container image for the Strapi project |
| `image.tag` | `5.47.1` | HelmForge Strapi base image version |
| `image.tag` | `5.49.0` | HelmForge Strapi base image version |
| `strapi.url` | `""` | Public URL (auto-detected from ingress if empty) |
| `strapi.port` | `1337` | Container port |
| `strapi.telemetryDisabled` | `true` | Disable telemetry |
Expand Down Expand Up @@ -141,11 +141,20 @@ database:

## Notes

- The default image is `helmforge/strapi-base:5.47.1`, HelmForge's production-ready Strapi image. Override it if your deployment uses a custom Strapi build.
- The default image is `helmforge/strapi-base:5.49.0`, HelmForge's production-ready Strapi image. Override it if your deployment uses a custom Strapi build.
- SQLite is supported for simple deployments, but server-based databases are recommended for production workloads.
- Horizontal scaling is intentionally out of scope for this v1 chart because default local uploads persistence is single-writer oriented.
- For ingress, set `ingress.ingressClassName` to the class used in your cluster, such as `traefik`, `nginx`, or another supported controller.

## Upgrade Notes

Strapi `5.49.0` is a stable release with MCP builder exports, upload provider
enhancements, dashboard/admin fixes, safer large upload MIME detection, and
dependency security updates. Upstream calls out one user-visible behavior change:
in the Content Manager, `Cmd/Ctrl+Enter` now saves a draft, while
`Cmd/Ctrl+Shift+Enter` publishes. Back up the database and uploads PVC before
upgrading production workloads.

## More Information

- [Database configuration](docs/database.md)
Expand Down
22 changes: 11 additions & 11 deletions charts/strapi/templates/NOTES.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Strapi has been deployed successfully!

=============================================================================
ADMIN PANEL
1. Admin Panel
=============================================================================
{{- if .Values.ingress.enabled }}
{{- range .Values.ingress.hosts }}
Expand All @@ -16,7 +16,7 @@ ADMIN PANEL
{{- end }}

=============================================================================
API ENDPOINTS
2. API Endpoints
=============================================================================
{{- $baseUrl := .Values.strapi.url }}
{{- if and (not $baseUrl) .Values.ingress.enabled .Values.ingress.hosts }}
Expand All @@ -30,7 +30,7 @@ API ENDPOINTS
{{- end }}

=============================================================================
DATABASE
3. Database
=============================================================================
Mode: {{ include "strapi.databaseMode" . }}
{{- if eq (include "strapi.databaseMode" .) "sqlite" }}
Expand All @@ -46,7 +46,7 @@ DATABASE
{{- end }}

=============================================================================
STORAGE & UPLOADS
4. Storage And Uploads
=============================================================================
{{- if eq .Values.strapi.upload.provider "aws-s3" }}
{{- if .Values.strapi.upload.s3.enabled }}
Expand Down Expand Up @@ -77,7 +77,7 @@ STORAGE & UPLOADS

{{- if ne .Values.strapi.email.provider "none" }}
=============================================================================
EMAIL CONFIGURATION
5. Email Configuration
=============================================================================
Provider: {{ .Values.strapi.email.provider }}
From: {{ .Values.strapi.email.defaultFrom }}
Expand All @@ -88,7 +88,7 @@ EMAIL CONFIGURATION

{{- if .Values.backup.enabled }}
=============================================================================
BACKUPS
6. Backups
=============================================================================
Schedule: {{ .Values.backup.schedule }}
Target: {{ .Values.backup.s3.bucket }}{{ if .Values.backup.s3.prefix }}/{{ .Values.backup.s3.prefix }}{{ end }}
Expand All @@ -97,7 +97,7 @@ BACKUPS
{{- end }}

=============================================================================
DEPLOYMENT INFO
7. Deployment Info
=============================================================================
Replicas: {{ include "strapi.replicaCount" . }}
Environment: {{ .Values.strapi.nodeEnv }}
Expand All @@ -108,7 +108,7 @@ DEPLOYMENT INFO
Telemetry: {{ if .Values.strapi.telemetryDisabled }}Disabled{{ else }}Enabled{{ end }}

=============================================================================
SECURITY
8. Security
=============================================================================
Admin JWT Expiration: {{ .Values.strapi.admin.jwtExpiration | default "7d" }}
Admin Rate Limiting: {{ if .Values.strapi.admin.rateLimit.enabled }}Enabled ({{ .Values.strapi.admin.rateLimit.max }} attempts/{{ div .Values.strapi.admin.rateLimit.timeWindow 60000 }}min){{ else }}Disabled{{ end }}
Expand All @@ -120,7 +120,7 @@ SECURITY
{{- end }}

=============================================================================
GETTING STARTED
9. Getting Started
=============================================================================
1. Access the admin panel using the URL above
2. Create your first administrator user
Expand All @@ -129,7 +129,7 @@ GETTING STARTED
5. Test your API endpoints

=============================================================================
TROUBLESHOOTING
10. Troubleshooting
=============================================================================
View logs:
kubectl logs -f deployment/{{ include "strapi.fullname" . }} -n {{ .Release.Namespace }}
Expand All @@ -155,7 +155,7 @@ TROUBLESHOOTING
kubectl get events -n {{ .Release.Namespace }} --sort-by='.lastTimestamp'

=============================================================================
DOCUMENTATION
11. Documentation
=============================================================================
Strapi Documentation: https://docs.strapi.io
Chart Documentation: https://helmforge.dev/docs/charts/strapi
Expand Down
5 changes: 5 additions & 0 deletions charts/strapi/templates/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,11 @@
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}

{{- define "strapi.validate" -}}
{{- $_ := include "strapi.databaseMode" . -}}
{{- $_ := include "strapi.replicaCount" . -}}
{{- end -}}

{{- define "strapi.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
Expand Down
1 change: 1 addition & 0 deletions charts/strapi/templates/deployment.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{{/* SPDX-License-Identifier: Apache-2.0 */}}
{{- include "strapi.validate" . -}}
apiVersion: apps/v1
kind: Deployment
metadata:
Expand Down
2 changes: 1 addition & 1 deletion charts/strapi/tests/deployment_test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ tests:
asserts:
- equal:
path: spec.template.spec.containers[0].image
value: "docker.io/helmforge/strapi-base:5.47.1"
value: "docker.io/helmforge/strapi-base:5.49.0"

- it: should set container port to 1337
template: templates/deployment.yaml
Expand Down
4 changes: 2 additions & 2 deletions charts/strapi/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ replicaCount: 1
# Image
# =============================================================================
# HelmForge provides a production-ready Strapi base image (helmforge/strapi-base)
# that includes Strapi 5.47.1 with all official plugins, multi-database support,
# that includes Strapi 5.49.0 with all official plugins, multi-database support,
# security hardening, and health check endpoints. This image is multi-arch
# (amd64/arm64), regularly updated, and optimized for Kubernetes deployments.
#
Expand All @@ -38,7 +38,7 @@ image:
# -- Container image repository for your Strapi project
repository: docker.io/helmforge/strapi-base
# -- Container image tag
tag: "5.47.1"
tag: "5.49.0"
# -- Image pull policy
pullPolicy: IfNotPresent

Expand Down