fix: add missing service README.md files with basic description

This commit is contained in:
Thomas Schweiger
2025-11-14 12:24:01 +01:00
parent 5c7f58c8b5
commit aa2da8372b
6 changed files with 198 additions and 0 deletions

View File

@@ -0,0 +1,21 @@
# App Provider
The `app-provider` service provides the CS3 App Provider API for OpenCloud. It is responsible for managing and serving applications that can open files based on their MIME types.
The service works in conjunction with the `app-registry` service, which maintains the registry of available applications and their supported MIME types. When a client requests to open a file with a specific application, the `app-provider` service handles the request and coordinates with the application to provide the appropriate interface.
## Integration
The `app-provider` service integrates with:
- `app-registry` - For discovering which applications are available for specific MIME types
- `frontend` - The frontend service forwards app provider requests (default endpoint `/app`) to this service
- `gateway` - Routes requests to the app provider service
## Configuration
The service can be configured via environment variables. Key configuration options include:
- `APP_PROVIDER_EXTERNAL_ADDR` - External address where the gateway service can reach the app provider
## Scalability
The app-provider service can be scaled horizontally as it primarily acts as a coordinator between applications and the OpenCloud storage layer.

29
services/groups/README.md Normal file
View File

@@ -0,0 +1,29 @@
# Groups
The `groups` service provides the CS3 Groups API for OpenCloud. It is responsible for managing group information and memberships within the OpenCloud instance.
This service implements the CS3 identity group provider interface, allowing other services to query and manage groups. It works as a backend provider for the `graph` service when using the CS3 backend mode.
## Backend Integration
The groups service can work with different storage backends:
- LDAP integration through the graph service
- Direct CS3 API implementation
When using the `graph` service with the CS3 backend (`GRAPH_IDENTITY_BACKEND=cs3`), the graph service queries group information through this service.
## API
The service provides CS3 gRPC APIs for:
- Listing groups
- Getting group information
- Finding groups by name or ID
- Managing group memberships
## Usage
The groups service is primarily used internally by other OpenCloud services rather than being accessed directly by clients. The `frontend` and `ocs` services translate HTTP API requests into CS3 API calls to this service.
## Scalability
Since the groups service queries backend systems (like LDAP through the configured identity backend), it can be scaled horizontally without additional configuration when using stateless backends.

View File

@@ -0,0 +1,43 @@
# Sharing
The `sharing` service provides the CS3 Sharing API for OpenCloud. It manages user shares and public link shares, implementing the core sharing functionality.
## Overview
The sharing service handles:
- User-to-user shares (share a file or folder with another user)
- Public link shares (share via a public URL)
- Share permissions and roles
- Share lifecycle management (create, update, delete)
This service works in conjunction with the storage providers (`storage-shares` and `storage-publiclink`) to persist and manage share information.
## Integration
The sharing service integrates with:
- `frontend` and `ocs` - Provide HTTP APIs that translate to CS3 sharing calls
- `storage-shares` - Stores and manages received shares
- `storage-publiclink` - Manages public link shares
- `gateway` - Routes sharing requests
- `graph` - Provides LibreGraph API for sharing with roles
## Share Types
The service supports different types of shares:
- **User shares** - Share resources with specific users
- **Group shares** - Share resources with groups
- **Public link shares** - Create public URLs for sharing
- **Federated shares** - Share with users on other OpenCloud instances (via `ocm` service)
## Configuration
Share behavior can be configured via environment variables:
- Password enforcement for public shares
- Auto-acceptance of shares
- Share permissions and restrictions
See the `frontend` service README for more details on share-related configuration options.
## Scalability
The sharing service depends on the configured storage backends for share metadata. Scalability characteristics depend on the chosen storage backend configuration.

View File

@@ -0,0 +1,40 @@
# Storage PublicLink
The `storage-publiclink` service provides storage backend functionality for public link shares in OpenCloud. It implements the CS3 storage provider interface specifically for managing public link shared resources.
## Overview
This service is part of the storage services family and is responsible for:
- Storing metadata about public link shares
- Providing access to publicly shared resources
- Managing public link tokens and permissions
- Handling anonymous access to shared content
## Integration
The storage-publiclink service integrates with:
- `sharing` service - Creates and manages public link shares
- `gateway` service - Routes requests to publicly shared resources
- `frontend` and `ocdav` - Provide HTTP/WebDAV access to public links
- Storage drivers - Accesses the actual file content
## Storage Registry
The service is registered in the gateway's storage registry with:
- Provider ID: `7993447f-687f-490d-875c-ac95e89a62a4`
- Mount point: `/public`
- Space types: `grant` and `mountpoint`
See the `gateway` README for more details on storage registry configuration.
## Access Control
Public link shares can be configured with:
- Password protection
- Expiration dates
- Read-only or read-write permissions
- Download limits
## Scalability
The storage-publiclink service can be scaled horizontally. When running multiple instances, ensure that the storage backend configuration is identical across all instances.

View File

@@ -0,0 +1,36 @@
# Storage Shares
The `storage-shares` service provides storage backend functionality for user and group shares in OpenCloud. It implements the CS3 storage provider interface specifically for managing shared resources.
## Overview
This service is part of the storage services family and is responsible for:
- Storing metadata about user and group shares
- Providing a virtual view of received shares
- Managing share mountpoints
- Handling access to resources shared by other users
## Integration
The storage-shares service integrates with:
- `sharing` service - Creates and manages shares
- `gateway` service - Routes requests to shared resources
- `storage-users` service - Accesses the underlying file content
- `frontend` and `ocdav` - Provide HTTP/WebDAV access to shares
## Virtual Shares Folder
The service provides a virtual "Shares" folder for each user where all received shares are mounted. This allows users to access all files and folders that have been shared with them in a centralized location.
## Storage Registry
The service is registered in the gateway's storage registry with:
- Provider ID: `a0ca6a90-a365-4782-871e-d44447bbc668`
- Mount point: `/users/{{.CurrentUser.Id.OpaqueId}}/Shares`
- Space types: `virtual`, `grant`, and `mountpoint`
See the `gateway` README for more details on storage registry configuration.
## Scalability
The storage-shares service can be scaled horizontally. When running multiple instances, ensure that the share metadata storage configuration is identical across all instances.

29
services/users/README.md Normal file
View File

@@ -0,0 +1,29 @@
# Users
The `users` service provides the CS3 Users API for OpenCloud. It is responsible for managing user information and authentication within the OpenCloud instance.
This service implements the CS3 identity user provider interface, allowing other services to query and manage user accounts. It works as a backend provider for the `graph` service when using the CS3 backend mode.
## Backend Integration
The users service can work with different storage backends:
- LDAP integration through the graph service
- Direct CS3 API implementation
When using the `graph` service with the CS3 backend (`GRAPH_IDENTITY_BACKEND=cs3`), the graph service queries user information through this service.
## API
The service provides CS3 gRPC APIs for:
- Listing users
- Getting user information
- Finding users by username, email, or ID
- User authentication and validation
## Usage
The users service is primarily used internally by other OpenCloud services rather than being accessed directly by clients. The `frontend`, `ocs`, and `graph` services translate HTTP API requests into CS3 API calls to this service.
## Scalability
Since the users service queries backend systems (like LDAP through the configured identity backend), it can be scaled horizontally without additional configuration when using stateless backends.