aboutsummaryrefslogtreecommitdiff
path: root/k8s/charts
AgeCommit message (Collapse)AuthorFilesLines
10 daysfix worker -admin -adminServer error (#7706)MorezMartin1-2/+2
11 dayshelm: fix admin secret template paths and remove duplicate (#7690)Chris Lu3-10/+55
* add admin and worker to helm charts * workers are stateless, admin is stateful * removed the duplicate admin-deployment.yaml * address comments * address comments * purge * Update README.md * Update k8s/charts/seaweedfs/templates/admin/admin-ingress.yaml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * address comments * address comments * supports Kubernetes versions from v1.14 to v1.30+, ensuring broad compatibility * add probe for workers * address comments * add a todo * chore: trigger CI * use port name for probes in admin statefulset * add secrets to admin helm chart * fix error .Values.admin.secret.existingSecret * helm: fix admin secret template paths and remove duplicate - Fix value paths to use .Values.admin.secret.existingSecret instead of .Values.existingSecret - Use templated secret name {{ template "seaweedfs.name" . }}-admin-secret - Add .Values.admin.enabled check to admin-secret.yaml - Remove duplicate admin-secret.yaml from templates/ root * helm: address PR review feedback - Only pass adminUser/adminPassword args when auth is enabled (fixes regression) - Use $adminSecretName variable to reduce duplication (DRY) - Only create admin-secret when adminPassword is set - Add documentation comments for existingSecret, userKey, pwKey fields - Clarify that empty adminPassword disables authentication * helm: quote admin credentials to handle spaces * helm: fix yaml lint errors (comment spacing, trailing blank line) * helm: add validation for existingSecret requiring userKey and pwKey --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Ubuntu <morez.martin@gmail.com>
11 daysHelm Charts: add admin and worker to helm charts (#7688)Chris Lu10-0/+1221
* add admin and worker to helm charts * workers are stateless, admin is stateful * removed the duplicate admin-deployment.yaml * address comments * address comments * purge * Update README.md * Update k8s/charts/seaweedfs/templates/admin/admin-ingress.yaml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * address comments * address comments * supports Kubernetes versions from v1.14 to v1.30+, ensuring broad compatibility * add probe for workers * address comments * add a todo * chore: trigger CI * use port name for probes in admin statefulset * fix: remove trailing blank line in values.yaml * address code review feedback - Quote admin credentials in shell command to handle special characters - Remove unimplemented capabilities (remote, replication) from worker defaults - Add security note about admin password character restrictions --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
12 daysfix: add missing backslash for volume extraArgs in helm chart (#7676)Chris Lu4-3/+28
Fixes #7467 The -mserver argument line in volume-statefulset.yaml was missing a trailing backslash, which prevented extraArgs from being passed to the weed volume process. Also: - Extracted master server list generation logic into shared helper templates in _helpers.tpl for better maintainability - Updated all occurrences of deprecated -mserver flag to -master across docker-compose files, test files, and documentation
12 days4.024.02chrislu1-2/+2
12 daysreduce minFreeSpacePercent to 1chrislu1-1/+1
addressing https://github.com/seaweedfs/seaweedfs/issues/7110#issuecomment-3622472545
14 daysRemove deprecated allowEmptyFolder CLI optionchrislu4-16/+0
The allowEmptyFolder option is no longer functional because: 1. The code that used it was already commented out 2. Empty folder cleanup is now handled asynchronously by EmptyFolderCleaner The CLI flags are kept for backward compatibility but marked as deprecated and ignored. This removes: - S3ApiServerOption.AllowEmptyFolder field - The actual usage in s3api_object_handlers_list.go - Helm chart values and template references - References in test Makefiles and docker-compose files
14 dayshelm: enhance all-in-one deployment configuration (#7639)Chris Lu7-95/+254
* helm: enhance all-in-one deployment configuration Fixes #7110 This PR addresses multiple issues with the all-in-one Helm chart configuration: ## New Features ### Configurable Replicas - Added `allInOne.replicas` (was hardcoded to 1) ### S3 Gateway Configuration - Added full S3 config under `allInOne.s3`: - port, httpsPort, domainName, allowEmptyFolder - enableAuth, existingConfigSecret, auditLogConfig - createBuckets for declarative bucket creation ### SFTP Server Configuration - Added full SFTP config under `allInOne.sftp`: - port, sshPrivateKey, hostKeysFolder, authMethods - maxAuthTries, bannerMessage, loginGraceTime - clientAliveInterval, clientAliveCountMax, enableAuth ### Command Line Arguments - Added `allInOne.extraArgs` for custom CLI arguments ### Update Strategy - Added `allInOne.updateStrategy.type` (Recreate/RollingUpdate) ### Secret Environment Variables - Added `allInOne.secretExtraEnvironmentVars` for injecting secrets ### Ingress Support - Added `allInOne.ingress` with S3, filer, and master sub-configs ### Storage Options - Enhanced `allInOne.data` with existingClaim support - Added PVC template for persistentVolumeClaim type ## CI Enhancements - Added comprehensive tests for all-in-one configurations - Tests cover replicas, S3, SFTP, extraArgs, strategies, PVC, ingress * helm: add real cluster deployment tests to CI - Deploy all-in-one cluster with S3 enabled on kind cluster - Test Master API (/cluster/status endpoint) - Test Filer API (file upload/download) - Test S3 API (/status endpoint) - Test S3 operations with AWS CLI: - Create/delete buckets - Upload/download/delete objects - Verify file content integrity * helm: simplify CI and remove all-in-one ingress Address review comments: - Remove detailed all-in-one template rendering tests from CI - Remove real cluster deployment tests from CI - Remove all-in-one ingress template and values configuration Keep the core improvements: - allInOne.replicas configuration - allInOne.s3.* full configuration - allInOne.sftp.* full configuration - allInOne.extraArgs support - allInOne.updateStrategy configuration - allInOne.secretExtraEnvironmentVars support * helm: address review comments - Fix post-install-bucket-hook.yaml: add filer.s3.enableAuth and filer.s3.existingConfigSecret to or statements for consistency - Fix all-in-one-deployment.yaml: use default function for s3.domainName - Fix all-in-one-deployment.yaml: use hasKey function for s3.allowEmptyFolder * helm: clarify updateStrategy multi-replica behavior Expand comment to warn users that RollingUpdate with multiple replicas requires shared storage (ReadWriteMany) to avoid data loss. * helm: address gemini-code-assist review comments - Make PVC accessModes configurable to support ReadWriteMany for multi-replica deployments (defaults to ReadWriteOnce) - Use configured readiness probe paths in post-install bucket hook instead of hardcoded paths, respecting custom configurations * helm: simplify allowEmptyFolder logic using coalesce Use coalesce function for cleaner template code as suggested in review. * helm: fix extraArgs trailing backslash issue Remove trailing backslash after the last extraArgs argument to avoid shell syntax error. Use counter to only add backslash between arguments. * helm: fix fallback logic for allInOne s3/sftp configuration Changes: - Set allInOne.s3.* and allInOne.sftp.* override parameters to null by default This allows proper inheritance from global s3.* and sftp.* settings - Fix allowEmptyFolder logic to use explicit nil checking instead of coalesce The coalesce/default functions treat 'false' as empty, causing incorrect fallback behavior when users want to explicitly set false values Addresses review feedback about default value conflicts with fallback logic. * helm: fix exec in bucket creation loop causing premature termination Remove 'exec' from the range loops that create and configure S3 buckets. The exec command replaces the current shell process, causing the script to terminate after the first bucket, preventing creation/configuration of subsequent buckets. * helm: quote extraArgs to handle arguments with spaces Use the quote function to ensure each item in extraArgs is treated as a single, complete argument even if it contains spaces. * helm: make s3/filer ingress work for both normal and all-in-one modes Modified s3-ingress.yaml and filer-ingress.yaml to dynamically select the service name based on deployment mode: - Normal mode: points to seaweedfs-s3 / seaweedfs-filer services - All-in-one mode: points to seaweedfs-all-in-one service This eliminates the need for separate all-in-one ingress templates. Users can now use the standard s3.ingress and filer.ingress settings for both deployment modes. * helm: fix allInOne.data.size and storageClass to use null defaults Change size and storageClass from empty strings to null so the template defaults (10Gi for size, cluster default for storageClass) will apply correctly. Empty strings prevent the Helm | default function from working. * helm: fix S3 ingress to include standalone S3 gateway case Add s3.enabled check to the $s3Enabled logic so the ingress works for: 1. Standalone S3 gateway (s3.enabled) 2. S3 on Filer (filer.s3.enabled) when not in all-in-one mode 3. S3 in all-in-one mode (allInOne.s3.enabled)
2025-12-04fix: S3 downloads failing after idle timeout (#7626)Chris Lu1-3/+3
* fix: S3 downloads failing after idle timeout (#7618) The idle timeout was incorrectly terminating active downloads because read and write deadlines were managed independently. During a download, the server writes data but rarely reads, so the read deadline would expire even though the connection was actively being used. Changes: 1. Simplify to single Timeout field - since this is a 'no activity timeout' where any activity extends the deadline, separate read/write timeouts are unnecessary. Now uses SetDeadline() which sets both at once. 2. Implement proper 'no activity timeout' - any activity (read or write) now extends the deadline. The connection only times out when there's genuinely no activity in either direction. 3. Increase default S3 idleTimeout from 10s to 120s for additional safety margin when fetching chunks from slow storage backends. Fixes #7618 * Update weed/util/net_timeout.go Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2025-12-03[helm] Fix liveness/readiness probe scheme path in templates (#7616)Chris Lu7-13/+13
Fix the templates to read scheme from httpGet.scheme instead of the probe level, matching the structure defined in values.yaml. This ensures that changing *.livenessProbe.httpGet.scheme or *.readinessProbe.httpGet.scheme in values.yaml now correctly affects the rendered manifests. Affected components: master, filer, volume, s3, all-in-one Fixes #7615
2025-11-27Helm Charts: add certificate duration and renewBefore options (#7563)IvanHunters1-0/+2
* Helm Charts: add certificate duration and renewBefore options Signed-off-by: ohotnikov.ivan <ohotnikov.ivan@e-queo.net> * use .Values.global.certificates instead certificates ca --------- Signed-off-by: ohotnikov.ivan <ohotnikov.ivan@e-queo.net> Co-authored-by: ohotnikov.ivan <ohotnikov.ivan@e-queo.net> Co-authored-by: Chris Lu <chris.lu@gmail.com>
2025-11-27certificates caChris Lu2-4/+7
2025-11-27use .Values.global.certificates insteadChris Lu1-0/+6
2025-11-274.01Chris Lu1-2/+2
2025-11-04Don't make nginx the default ingress controller (#7436)Federico A. Corazza1-36/+36
2025-11-034.00chrislu1-1/+1
2025-11-024.00chrislu1-2/+2
2025-10-30[Helm Chart] add missing apiVersion and kind in PVC templates for better ↵Guilherme Moreira Rodrigues2-6/+16
compatibility with GitOps tools (#7408) * fix: add missing apiVersion and kind in PVC templates * fix: correct PVC template condition in SeaweedFS filer StatefulSet
2025-10-27revert back s3 in helm chart to falsechrislu1-1/+1
fix https://github.com/seaweedfs/seaweedfs/issues/7375
2025-10-26fix lintchrislu1-1/+1
2025-10-263.99chrislu1-2/+2
2025-10-203.98Chris Lu1-2/+2
2025-10-16ingress config (#7319)Philipp Kraus4-6/+12
* ingress config * fixing issues * prefix path type For the S3 ingress path /, using pathType: Prefix is more explicit and standard-compliant for matching all subpaths. While ImplementationSpecific might work similarly with your current Ingress controller (often defaulting to a prefix match when use-regex is not enabled), Prefix clearly states the intent and improves portability across different Ingress controllers. --------- Co-authored-by: Philipp Kraus <philipp.kraus@flashpixx.de> Co-authored-by: Chris Lu <chris.lu@gmail.com>
2025-10-16fix(helm): set securitycontext for idx move initcontainer if enabled (#7331)Dennis Witt1-0/+3
2025-10-08Helm: allow specifying extraArgs for s3 (#7294)Andrei Kvapil2-2/+10
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
2025-09-09WEED_CLUSTER_SW_* Environment Variables should not be passed to allIn… (#7217)Chris Lu2-0/+39
* WEED_CLUSTER_SW_* Environment Variables should not be passed to allInOne config * address comment * address comments Fixed filtering logic: Replaced specific key matching with regex patterns that catch ALL WEED_CLUSTER_*_MASTER and WEED_CLUSTER_*_FILER variables: } Corrected merge precedence: Fixed the merge order so global environment variables properly override allInOne variables: * refactoring
2025-09-09setting the nodeSelector defaults to empty for all components, so pods can ↵chrislu1-12/+6
schedule on any compatible node architecture. fix https://github.com/seaweedfs/seaweedfs/issues/7215
2025-09-05fix: helm chart with COSI deployment enabled breaks on helm upgrade (#7201)David Jansen1-1/+0
the `helm.sh/chart` line with the changing version number breaks helm upgrades to due to `matchLabels` being immutable. drop the offending line as it does not belong into the `matchLabels`
2025-09-04fix missing support for .Values.global.repository (#7195)Benjamin Reed2-3/+7
* fix missing support for .Values.global.repository * rework based on gemini feedback to handle repository+imageName more cleanly * use base rather than last + splitList
2025-09-03Fix volume annotations in volume-servicemonitor.yaml (#7193)Cristian Chiru1-2/+2
* Update volume annotations in servicemonitor.yaml * Idiomatic annotations handling in volume-servicemonitor.yaml
2025-08-313.97chrislu1-2/+2
2025-08-29k8s: resizeHook avoids bitnami in values.yaml (#7181)Chris Lu1-1/+1
Update values.yaml
2025-08-23Helm Chart: support wildcards for s3-ingress host by quoting value (#7155)Thilo-Alexander Ginkel1-1/+1
2025-08-08Move helm templates into folders (#7113)Devin Lauderdale46-1/+1
* refactor: move helm templates into respective service folders * fix: update template path reference in filer-statefulset for s3-secret
2025-08-07chore: remove default replica count for all-in-one deployment (#7111)Devin Lauderdale1-1/+0
2025-07-313.96chrislu1-2/+2
2025-07-23Fix all in one deployment (#7031)Mohamed Sekour1-1/+4
* make maxVolumes configurable for allInOne deployment Signed-off-by: Mohamed Sekour <mohamed.sekour@exfo.com> * Update all-in-one-deployment.yaml fix typo * add robustness --------- Signed-off-by: Mohamed Sekour <mohamed.sekour@exfo.com>
2025-07-193.953.95chrislu1-2/+2
2025-07-16[cosi] Update sidecar (#6993)Andrei Kvapil1-1/+1
2025-07-14Remove Cozystack specifics (#6978)Andrei Kvapil2-6/+0
2025-07-14Introduce named volumes in Helm chart (#6972)Andrei Kvapil12-265/+325
2025-07-133.943.94chrislu1-2/+2
2025-07-11Fix drift for security config (#6967)Andrei Kvapil1-4/+6
2025-07-063.93chrislu1-2/+2
2025-06-26reference seaweedfs.comchrislu1-0/+5
2025-06-223.923.92chrislu1-1/+1
2025-06-20chore: keep master statefulSet chart up-to-date (#6903)Yixing Cheng3-5/+27
This patch adds some missing master options to the helm chart of master statefulSet.
2025-06-20Helm Charts: add ip bind for filer (#6902)Chris Lu2-1/+3
add ip bind for filer fix https://github.com/seaweedfs/seaweedfs/issues/6900
2025-06-19adding metricsIp in Helm chart (#6897)Chris Lu4-3/+45
2025-06-153.913.91chrislu1-2/+2