Commit Graph
12952 Commits
Author SHA1 Message Date
Chris Lu acd1985ca0 fix(plugin): Fix sidebar menu items for plugins section 2026-02-17 08:33:36 -08:00
Chris Lu 3e207087a0 feat(plugin): Add Plugins link to admin dashboard 2026-02-17 08:27:12 -08:00
Chris Lu 7b04656f2a build(plugin): Finalize plugin system build integration 2026-02-17 04:03:38 -08:00
Chris Lu 298d72fe53 feat(plugin): Add detailed execution logging to all executors 2026-02-17 04:01:18 -08:00
Chris Lu bb35b81709 feat(plugin): Add detailed detection logging to all detectors 2026-02-17 04:00:51 -08:00
Chris Lu ea926e45a8 feat(plugin): Add plugins menu to admin layout 2026-02-17 03:51:42 -08:00
Chris Lu 1dbaca70f8 feat(plugin): Register plugin routes and API handlers 2026-02-17 03:19:52 -08:00
Chris Lu d387be45aa feat(plugin): Integrate plugin manager into admin server 2026-02-17 02:08:18 -08:00
Chris Lu 405e281218 feat(plugin): Add configuration page template 2026-02-17 02:07:48 -08:00
Chris Lu 37d1a8ad12 feat(plugin): Add job monitoring page template 2026-02-17 02:07:30 -08:00
Chris Lu bfb0771a5b feat(plugin): Add plugins overview page template 2026-02-17 02:07:16 -08:00
Chris Lu 01f310ac9b feat(plugin): Add UI template helpers 2026-02-17 02:06:57 -08:00
Chris Lu f266a25a32 feat(plugin): Add HTTP API handlers for plugin management 2026-02-17 02:06:39 -08:00
Chris Lu 2be97d7190 feat(plugin): Add history management to plugin manager 2026-02-17 02:06:13 -08:00
Chris Lu 75644c7e3d feat(plugin): Add history tracking to plugin types 2026-02-17 02:06:05 -08:00
Chris Lu 3320911984 fix(plugin): Fix testing framework and plugin compilation issues 2026-02-17 02:03:38 -08:00
Chris Lu dafa8d79f5 feat(plugin): Add balance plugin implementation 2026-02-17 02:00:39 -08:00
Chris Lu e7efe201e3 feat(plugin): Add vacuum plugin implementation 2026-02-17 02:00:36 -08:00
Chris Lu 9b2fd24e52 feat(plugin): Add balance plugin implementation 2026-02-17 01:57:51 -08:00
Chris Lu 574f72906a feat(plugin): Add vacuum plugin implementation 2026-02-17 01:55:11 -08:00
Chris Lu babc4751db test(plugin): Add EC plugin comprehensive tests 2026-02-17 01:46:34 -08:00
Chris Lu efb69400ff feat(plugin): Add EC plugin worker client 2026-02-17 01:46:12 -08:00
Chris Lu 7dc40d3747 feat(plugin): Add EC plugin execution logic 2026-02-17 01:45:49 -08:00
Chris Lu fb7c7b3744 feat(plugin): Add EC plugin detection logic 2026-02-17 01:45:30 -08:00
Chris Lu 7ff0026e46 feat(plugin): Add EC plugin configuration schema 2026-02-17 01:45:11 -08:00
Chris Lu f57992b81e feat(plugin): Add test harness for plugin testing 2026-02-17 01:44:52 -08:00
Chris Lu 471b0cf8f3 feat(plugin): Add mock plugin for testing 2026-02-17 01:44:24 -08:00
Chris Lu a2d2d77e09 feat(plugin): Add mock admin server for testing 2026-02-17 01:43:57 -08:00
Chris Lu eb13f9ce82 fix(plugin): Fix protobuf enum naming and build issues 2026-02-17 01:41:19 -08:00
Chris Lu 8c6e627af2 build(plugin): Add plugin.proto to build system 2026-02-17 01:39:41 -08:00
Chris Lu 67e37e180e feat(plugin): Add plugin manager orchestrator 2026-02-17 01:39:28 -08:00
Chris Lu 2fcd6a3056 feat(plugin): Add gRPC server implementation 2026-02-17 01:39:06 -08:00
Chris Lu 13f39d4ad2 feat(plugin): Add configuration manager for persistence 2026-02-17 01:38:39 -08:00
Chris Lu eead8b2337 feat(plugin): Add job dispatcher for orchestration 2026-02-17 01:38:20 -08:00
Chris Lu b728dc00ed feat(plugin): Add job queue with priority and deduplication 2026-02-17 01:37:58 -08:00
Chris Lu 5ac3e80d2b feat(plugin): Add plugin registry with lifecycle management 2026-02-17 01:37:39 -08:00
Chris Lu 42c52f9371 feat(plugin): Add plugin system core types and domain models 2026-02-17 01:37:22 -08:00
Chris Lu 2b4600cb08 feat(plugin): Add plugin system gRPC protocol definition 2026-02-17 01:37:06 -08:00
Chris Lu 63f641a6c9 Merge branch 'master' of https://github.com/seaweedfs/seaweedfs 4.13 2026-02-16 17:01:26 -08:00
Chris Lu 3c3a78d08e 4.13 2026-02-16 17:01:19 -08:00
Chris LuandGitHub 3300874cb5 filer: add default log purging to master maintenance scripts (#8359)
* filer: add default log purging to master maintenance scripts

* filer: fix default maintenance scripts to include full set of tasks

* filer: refactor maintenance scripts to avoid duplication
2026-02-16 16:58:15 -08:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Chris Lu
bddd7960c1 build(deps): bump org.apache.avro:avro from 1.11.4 to 1.11.5 in /test/java/spark (#8358)
build(deps): bump org.apache.avro:avro in /test/java/spark

Bumps org.apache.avro:avro from 1.11.4 to 1.11.5.

---
updated-dependencies:
- dependency-name: org.apache.avro:avro
  dependency-version: 1.11.5
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Chris Lu <chrislusf@users.noreply.github.com>
2026-02-16 15:28:55 -08:00
Lisandro PinandGitHub a9d12a0792 Implement full scrubbing for EC volumes (#8318)
Implement full scrubbing for EC volumes.
2026-02-16 15:09:01 -08:00
Chris Lu 564fc56698 Update docker-compose.yml 2026-02-16 15:01:09 -08:00
Lisandro PinandGitHub 11fdb68281 Fix superblock write error checks on volume compaction. (#8352) 2026-02-16 14:44:37 -08:00
Chris Lu 35ad7d08a5 remove debug 2026-02-16 14:03:02 -08:00
Chris LuandGitHub 0d8588e3ae S3: Implement IAM defaults and STS signing key fallback (#8348)
* S3: Implement IAM defaults and STS signing key fallback logic

* S3: Refactor startup order to init SSE-S3 key manager before IAM

* S3: Derive STS signing key from KEK using HKDF for security isolation

* S3: Document STS signing key fallback in security.toml

* fix(s3api): refine anonymous access logic and secure-by-default behavior

- Initialize anonymous identity by default in `NewIdentityAccessManagement` to prevent nil pointer exceptions.
- Ensure `ReplaceS3ApiConfiguration` preserves the anonymous identity if not present in the new configuration.
- Update `NewIdentityAccessManagement` signature to accept `filerClient`.
- In legacy mode (no policy engine), anonymous defaults to Deny (no actions), preserving secure-by-default behavior.
- Use specific `LookupAnonymous` method instead of generic map lookup.
- Update tests to accommodate signature changes and verify improved anonymous handling.

* feat(s3api): make IAM configuration optional

- Start S3 API server without a configuration file if `EnableIam` option is set.
- Default to `Allow` effect for policy engine when no configuration is provided (Zero-Config mode).
- Handle empty configuration path gracefully in `loadIAMManagerFromConfig`.
- Add integration test `iam_optional_test.go` to verify empty config behavior.

* fix(iamapi): fix signature mismatch in NewIdentityAccessManagementWithStore

* fix(iamapi): properly initialize FilerClient instead of passing nil

* fix(iamapi): properly initialize filer client for IAM management

- Instead of passing `nil`, construct a `wdclient.FilerClient` using the provided `Filers` addresses.
- Ensure `NewIdentityAccessManagementWithStore` receives a valid `filerClient` to avoid potential nil pointer dereferences or limited functionality.

* clean: remove dead code in s3api_server.go

* refactor(s3api): improve IAM initialization, safety and anonymous access security

* fix(s3api): ensure IAM config loads from filer after client init

* fix(s3): resolve test failures in integration, CORS, and tagging tests

- Fix CORS tests by providing explicit anonymous permissions config
- Fix S3 integration tests by setting admin credentials in init
- Align tagging test credentials in CI with IAM defaults
- Added goroutine to retry IAM config load in iamapi server

* fix(s3): allow anonymous access to health targets and S3 Tables when identities are present

* fix(ci): use /healthz for Caddy health check in awscli tests

* iam, s3api: expose DefaultAllow from IAM and Policy Engine

This allows checking the global "Open by Default" configuration from
other components like S3 Tables.

* s3api/s3tables: support DefaultAllow in permission logic and handler

Updated CheckPermissionWithContext to respect the DefaultAllow flag
in PolicyContext. This enables "Open by Default" behavior for
unauthenticated access in zero-config environments. Added a targeted
unit test to verify the logic.

* s3api/s3tables: propagate DefaultAllow through handlers

Propagated the DefaultAllow flag to individual handlers for
namespaces, buckets, tables, policies, and tagging. This ensures
consistent "Open by Default" behavior across all S3 Tables API
endpoints.

* s3api: wire up DefaultAllow for S3 Tables API initialization

Updated registerS3TablesRoutes to query the global IAM configuration
and set the DefaultAllow flag on the S3 Tables API server. This
completes the end-to-end propagation required for anonymous access in
zero-config environments. Added a SetDefaultAllow method to
S3TablesApiServer to facilitate this.

* s3api: fix tests by adding DefaultAllow to mock IAM integrations

The IAMIntegration interface was updated to include DefaultAllow(),
breaking several mock implementations in tests. This commit fixes
the build errors by adding the missing method to the mocks.

* env

* ensure ports

* env

* env

* fix default allow

* add one more test using non-anonymous user

* debug

* add more debug

* less logs
2026-02-16 13:59:13 -08:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
cc58272219 build(deps): bump github.com/klauspost/compress from 1.18.3 to 1.18.4 (#8353)
Bumps [github.com/klauspost/compress](https://github.com/klauspost/compress) from 1.18.3 to 1.18.4.
- [Release notes](https://github.com/klauspost/compress/releases)
- [Commits](https://github.com/klauspost/compress/compare/v1.18.3...v1.18.4)

---
updated-dependencies:
- dependency-name: github.com/klauspost/compress
  dependency-version: 1.18.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-16 10:58:13 -08:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
5be4ee9892 build(deps): bump github.com/redis/go-redis/v9 from 9.17.2 to 9.18.0 (#8356)
Bumps [github.com/redis/go-redis/v9](https://github.com/redis/go-redis) from 9.17.2 to 9.18.0.
- [Release notes](https://github.com/redis/go-redis/releases)
- [Changelog](https://github.com/redis/go-redis/blob/master/RELEASE-NOTES.md)
- [Commits](https://github.com/redis/go-redis/compare/v9.17.2...v9.18.0)

---
updated-dependencies:
- dependency-name: github.com/redis/go-redis/v9
  dependency-version: 9.18.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-16 10:57:54 -08:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
22e74221cb build(deps): bump github.com/getsentry/sentry-go from 0.40.0 to 0.42.0 (#8357)
Bumps [github.com/getsentry/sentry-go](https://github.com/getsentry/sentry-go) from 0.40.0 to 0.42.0.
- [Release notes](https://github.com/getsentry/sentry-go/releases)
- [Changelog](https://github.com/getsentry/sentry-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-go/compare/v0.40.0...v0.42.0)

---
updated-dependencies:
- dependency-name: github.com/getsentry/sentry-go
  dependency-version: 0.42.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-16 10:57:43 -08:00