feat(kiteworks): add Kiteworks storage provider service#12300
Draft
DeepDiver1975 wants to merge 21 commits into
Draft
feat(kiteworks): add Kiteworks storage provider service#12300DeepDiver1975 wants to merge 21 commits into
DeepDiver1975 wants to merge 21 commits into
Conversation
|
Thanks for opening this pull request! The maintainers of this repository would appreciate it if you would create a changelog item based on your changes. |
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>
Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>
Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>
…ch path Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>
Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>
Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>
Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>
- Download: check HTTP status code >= 300 and return ClientError instead of streaming error body as file content - GetPathByID: guard against nil or empty ResourceId before dereferencing - GetMD: return NotFound early when both id and path are empty - ListFolder, Download: guard against empty resource id Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>
Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>
…Upload Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>
Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>
Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>
…orage-publiclink Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>
Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>
Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>
Register storage-kiteworks in the top-level Config struct and DefaultConfig, in the service command list (services.go), and as an optional runtime service via areg in service.go so it only starts when explicitly added via OCIS_ADD_RUN_SERVICES or run directly. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>
…back in MoveResource/CopyResource Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>
0a200be to
a1a168e
Compare
Contributor
|
IMPORTANT: |
2 tasks
Points vendor and go.mod at the reva PR commit v2.0.0-20260511130900-472978d4d56c which contains the pkg/storage/fs/kiteworks driver instead of carrying the source inline in vendor. Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>
- Add services/storage-kiteworks to Makefile OCIS_MODULES (enables CI) - Allocate port range 9285-9289 for storage-kiteworks (fixes conflict with storage-publiclink 9175-9179); update defaults and port-ranges.md - Add README.md with service description, config reference, port table, health and metrics sections - Add Prometheus interceptor to reva gRPC config (ocis_storage_kiteworks namespace) for monitoring support Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
services/storage-kiteworksoCIS service that exposes a Kiteworks server as a CS3 storage providerstorage.FSinterface, translating CS3 operations into Kiteworks REST API callsStorageSpace(owned →"project", received shares →"mountpoint")OCIS_ADD_RUN_SERVICES; existing deployments are unaffectedDependency
Requires: owncloud/reva#586 — the
pkg/storage/fs/kiteworksdriver lives there.This PR points
go.modat the reva PR branch commit (v2.0.0-20260511130900-472978d4d56c). Once the reva PR is merged and a new reva release/pseudo-version is cut, this PR should be updated to reference that final version.Key configuration
STORAGE_KITEWORKS_ENDPOINTSTORAGE_KITEWORKS_MOUNT_IDSTORAGE_KITEWORKS_CHUNK_SIZESTORAGE_KITEWORKS_INSECUREWhat's included
vendor/.../reva/v2/pkg/storage/fs/kiteworks/— vendored kiteworks driver from feat(storage): add Kiteworks REST API storage driver reva#586services/storage-kiteworks/— full oCIS service (config, defaults, logging, debug server, reva config mapping, CLI commands, binary entry point)StorageKiteworksfield added to global config; registered viaaregin the runtimeTest plan
go build ./services/storage-kiteworks/...go build ./ocis/...OCIS_ADD_RUN_SERVICES)OCIS_ADD_RUN_SERVICES=storage-kiteworksandSTORAGE_KITEWORKS_ENDPOINTis setNew Service Checklist
Sourced from https://owncloud.dev/services/general-info/new-service-checklist/
extendedorglobal. These are reserved names for the automated documentation process.ocis/pkg/commandOCIS_. (All new envvars useSTORAGE_KITEWORKS_prefix; shared ones useOCIS_global prefix already.)ocis/pkg/command/services.goand registered viaareginocis/pkg/runtime/service/service.go(optional services block). Service config added toocis-pkg/config/defaultconfig.go.ocis/pkg/init/init.go— N/A, this service does not use service accounts.ocis storage-kiteworks healthand has/healthzand/readyzendpoints.drone.starto enable CI. — Covered:make test/make ci-golangci-lintrun allOCIS_MODULES; adding to the Makefile is sufficient.OCIS_(global envvar). — ExistingOCIS_prefixed envvars (log, tracing, grpc) are already reused.FullDefaultConfig()inpkg/config/defaults/defaultconfig.goof your service. It is needed to create the documentation.debug.NewServiceat/metrics; Prometheus interceptor added to reva gRPC config underocis_storage_kiteworksnamespace. Documented in README.md.cacheorstore, check existing services for implementation and add a documentation in the README.md — N/A, this service does not use a cache or store.🤖 Generated with Claude Code