mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2025-12-17 18:14:42 -06:00
fix: add missing service README.md files with basic description
This commit is contained in:
21
services/app-provider/README.md
Normal file
21
services/app-provider/README.md
Normal 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
29
services/groups/README.md
Normal 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.
|
||||
43
services/sharing/README.md
Normal file
43
services/sharing/README.md
Normal 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.
|
||||
40
services/storage-publiclink/README.md
Normal file
40
services/storage-publiclink/README.md
Normal 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.
|
||||
36
services/storage-shares/README.md
Normal file
36
services/storage-shares/README.md
Normal 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
29
services/users/README.md
Normal 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.
|
||||
Reference in New Issue
Block a user