README ¶
Homepage | Dev Guide | GitHub-Repository | Issue-Tracker
Pydio Cells is the nextgen file sharing platform for organizations. It is a full rewrite of the Pydio project using the Go language following a micro-service architecture.
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See the Deployment section below for notes on how to deploy the project on a live system.
Prerequisites
The following elements are required to compile and run Pydio Cells on your machine:
- Go language v1.13 or higher (tested with latest 1.13, 1.14 & 1.15), with a correctly configured Go toolchain,
- MySQL database 5.6 or higher (or MariaDB equivalent). The new MySQL 8 authentication method is supported starting at Cells 1.4.1.
Note: We have developed and tested Pydio Cells on macOS, Ubuntu, Debian and CentOS. Windows version might still have unknown glitches and is not yet supported.
Installing
Assuming that your system meets the above prerequisites, building the Pydio Cells backend from the source code is quite straightforward:
# Retrieve the code
go get -u github.com/pydio/cells
# From this line on, we assume you are in Pydio Cells' code roots directory
cd $GOPATH/src/github.com/pydio/cells
# Build your binary
make dev
To have the environment running, you must also:
- Create a database in your chosen DB server,
- Run the Pydio Cells installer that will guide you through the necessary steps: you might refer to the official documentation for additional information.
./cells configure
Note on the third-party libraries
We still currently manage third-party dependencies via the vendor mechanism: shortly said, we pick up and maintain specific versions of the sources for each dependency we use by copying them in the vendor/
subfolder. The binary is built using these codes.
When you clone the github.com/pydio/cells
repository, you then also have an embedded local copy of all the sources for you to investigate. Yet, you should not try to directly modify code that has been vendored.
Please also note that we had to fork a few libraries before integrating them as dependencies, the most important one being minio
. If you need to modify this part of the code, please get in touch with us.
Finally, please take into account that Go versions starting with 1.16 and beyond automatically assume a modules-based configuration, even if there is no go.mod
or go.sum
present in the folder (which will be created from scratch). Therefore, you must force Go to use the non-module-aware compilation strategy, which requires setting the environment variable GO111MODULE
to auto
: that way, if there is no go.mod
on a directory, Go will revert to the old-style, non-module-aware compilation. If in the future modules are implemented, then auto
will activate the module-aware compilation mode whenever it finds a go.mod
on a directory.
Under bash
this is accomplished with:
export GO111MODULE=auto
Set it before you start the compilation process!
You can also force Go to compile without modules, using the following command:
go env -w GO111MODULE=auto
but keep in mind that this will be set globally and thus apply to all your Go compilations, not only Pydio Cells!
Running the tests
To run the tests, simply do
go test -v ./...
Please read the CONTRIBUTING.md document if you wish to add more tests or contribute to the code.
Deployment
Binaries are currently provided for Linux, macOS and Windows distributions. To deploy them on a live system, please see the Installation Guide instructions.
Built With
Pydio Cells uses many open-source Golang libraries. The most important ones are listed below, please see DEPENDENCIES for an exhaustive list of other libs and their licenses.
Contributing
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us. You can find a comprehensive Developer Guide on our website. Our online docs are open-source as well, feel free to improve them by contributing!
We are also looking for help to translate the Cells interface in various languages. It is really easy to participate: just navigate to our page in the Crowdin translation tool, create an account and get started.
Versioning
We use Semantic Versioning. For all available versions, see the release list.
Authors
See the list of contributors who participated in this project. Pydio Cells is also a continuation of the Pydio project and many contributions were ported from pydio-core to the code that can be found under frontend/front-srv/assets
.
License
This project is licensed under the AGPLv3 License - see the LICENSE file for more details.
Documentation ¶
There is no documentation for this package.
Directories ¶
Path | Synopsis |
---|---|
Package broker provides events-related services.
|
Package broker provides events-related services. |
activity
Package activity stores and distributes events to users in a social-feed manner.
|
Package activity stores and distributes events to users in a social-feed manner. |
activity/actions
Package actions provides a scheduler action for generating mail digests
|
Package actions provides a scheduler action for generating mail digests |
activity/grpc
Package grpc is the persistence service for all activities.
|
Package grpc is the persistence service for all activities. |
activity/lang
Package lang provides i18n strings related to activities
|
Package lang provides i18n strings related to activities |
activity/render
Package render provides helper for rendering activies into various formats (currently markdown).
|
Package render provides helper for rendering activies into various formats (currently markdown). |
activity/rest
Package rest exposes a Rest service for querying activities feed
|
Package rest exposes a Rest service for querying activities feed |
chat
Package chat provides real-time chats linked to any topics for end users.
|
Package chat provides real-time chats linked to any topics for end users. |
chat/grpc
Package grpc provides a Pydio GRPC service for managing chat rooms.
|
Package grpc provides a Pydio GRPC service for managing chat rooms. |
log
Package log provides a persistence layer for json-formatted logs generated by the application.
|
Package log provides a persistence layer for json-formatted logs generated by the application. |
log/grpc
Package grpc provides a Pydio GRPC service for querying the logs
|
Package grpc provides a Pydio GRPC service for querying the logs |
log/rest
Package rest exposes a simple REST API for communicating with the GRPC package.
|
Package rest exposes a simple REST API for communicating with the GRPC package. |
mailer
Package mailer acts a central mail server for the application.
|
Package mailer acts a central mail server for the application. |
mailer/grpc
Package grpc provides the actual logic for posting emails to queue or to mail servers
|
Package grpc provides the actual logic for posting emails to queue or to mail servers |
mailer/lang
Package lang provides i18n strings for mailer-related data.
|
Package lang provides i18n strings for mailer-related data. |
mailer/rest
Package rest exposes a simple API for posting emails
|
Package rest exposes a simple API for posting emails |
mailer/templates
Package templates defines ready-to-use templates to send email in a nice formatting.
|
Package templates defines ready-to-use templates to send email in a nice formatting. |
Package cmd implements commands for running pydio services
|
Package cmd implements commands for running pydio services |
Package common provides a library of tools used by all pydio services
|
Package common provides a library of tools used by all pydio services |
auth
Package auth provides tools related to authentication of pydio services
|
Package auth provides tools related to authentication of pydio services |
auth/claim
Package claim wraps the JWT claims with util functions
|
Package claim wraps the JWT claims with util functions |
boltdb
Package BoltDB provides tools for using Bolt as a standard persistence layer for services
|
Package BoltDB provides tools for using Bolt as a standard persistence layer for services |
config
Package config provides tools for managing configurations
|
Package config provides tools for managing configurations |
config/micro/envvar
Package envvar implements Pydio specific interface for dynamic configurations that are backed by OS environment variables.
|
Package envvar implements Pydio specific interface for dynamic configurations that are backed by OS environment variables. |
config/micro/remote
Package source implements a configuration client backed by a config server
|
Package source implements a configuration client backed by a config server |
crypto
Package crypto provides tools for data encryption and certificates management
|
Package crypto provides tools for data encryption and certificates management |
dao
Package dao provides abstraction of persistence layer used by pydio services.
|
Package dao provides abstraction of persistence layer used by pydio services. |
forms
Package forms provides utility methods to generate XML that is interpreted by the Front End to build forms.
|
Package forms provides utility methods to generate XML that is interpreted by the Front End to build forms. |
log
* Copyright (c) 2019-2021.
|
* Copyright (c) 2019-2021. |
micro
Package defaults initializes the defaults GRPC clients and servers used by services
|
Package defaults initializes the defaults GRPC clients and servers used by services |
micro/broker/stan
Package stan provides a NATS Streaming broker
|
Package stan provides a NATS Streaming broker |
micro/client/grpc
Package grpc provides a gRPC client Package grpc provides a gRPC options
|
Package grpc provides a gRPC client Package grpc provides a gRPC options |
micro/router
Package router provides api service routing
|
Package router provides api service routing |
micro/selector/cache
Package cache is a caching selector.
|
Package cache is a caching selector. |
micro/server/grpc
Package grpc provides a grpc server
|
Package grpc provides a grpc server |
micro/server/http
Package http implements a go-micro.Server
|
Package http implements a go-micro.Server |
mocks
Package mocks should provide utils used by tests to mock various layers.
|
Package mocks should provide utils used by tests to mock various layers. |
proto
## Protobuf Definitions This folder contains all Protobufs used by services to communicate
|
## Protobuf Definitions This folder contains all Protobufs used by services to communicate |
proto/activity
Package activity is a generated protocol buffer package.
|
Package activity is a generated protocol buffer package. |
proto/auth
Package auth is a generated protocol buffer package.
|
Package auth is a generated protocol buffer package. |
proto/broker
Package broker is a generated protocol buffer package.
|
Package broker is a generated protocol buffer package. |
proto/chat
Package chat is a generated protocol buffer package.
|
Package chat is a generated protocol buffer package. |
proto/ctl
Package ctl is a generated protocol buffer package.
|
Package ctl is a generated protocol buffer package. |
proto/docstore
Package docstore is a generated protocol buffer package.
|
Package docstore is a generated protocol buffer package. |
proto/encryption
Package encryption is a generated protocol buffer package.
|
Package encryption is a generated protocol buffer package. |
proto/front
Package front is a generated protocol buffer package.
|
Package front is a generated protocol buffer package. |
proto/idm
Package idm is a generated protocol buffer package.
|
Package idm is a generated protocol buffer package. |
proto/install
Package install is a generated protocol buffer package.
|
Package install is a generated protocol buffer package. |
proto/jobs
Package jobs is a generated protocol buffer package.
|
Package jobs is a generated protocol buffer package. |
proto/log
Package log is a generated protocol buffer package.
|
Package log is a generated protocol buffer package. |
proto/mailer
Package mailer is a generated protocol buffer package.
|
Package mailer is a generated protocol buffer package. |
proto/object
Package object is a generated protocol buffer package.
|
Package object is a generated protocol buffer package. |
proto/registry
Package go_micro_registry is a generated protocol buffer package.
|
Package go_micro_registry is a generated protocol buffer package. |
proto/rest
Package rest is a generated protocol buffer package.
|
Package rest is a generated protocol buffer package. |
proto/rest/cmd
Package cmd provides a specific tool for transforming json swagger file into a go file
|
Package cmd provides a specific tool for transforming json swagger file into a go file |
proto/storage
Package storage is a generated protocol buffer package.
|
Package storage is a generated protocol buffer package. |
proto/sync
Package sync is a generated protocol buffer package.
|
Package sync is a generated protocol buffer package. |
proto/test
Package test is a generated protocol buffer package.
|
Package test is a generated protocol buffer package. |
proto/tree
Package tree is a generated protocol buffer package.
|
Package tree is a generated protocol buffer package. |
proto/update
Package update is a generated protocol buffer package.
|
Package update is a generated protocol buffer package. |
registry
Package registry provides the main glue between services It wraps micro registry (running services declared to the discovery server) into a more generic registry where all actual plugins are self-declared.
|
Package registry provides the main glue between services It wraps micro registry (running services declared to the discovery server) into a more generic registry where all actual plugins are self-declared. |
service
Package service acts as a factory for all Pydio services.
|
Package service acts as a factory for all Pydio services. |
service/context
Package servicecontext performs context values read/write, generally through server or client wrappers
|
Package servicecontext performs context values read/write, generally through server or client wrappers |
service/frontend
Package frontend provides tools to publish static data from within any micro service It implements a simple Union HttpFS to be exposed by a standard net.HttpFileServer interface.
|
Package frontend provides tools to publish static data from within any micro service It implements a simple Union HttpFS to be exposed by a standard net.HttpFileServer interface. |
service/proto
Package service is a generated protocol buffer package.
|
Package service is a generated protocol buffer package. |
service/resources
Package resources provides extendable service Handler for managing resource-policy based data.
|
Package resources provides extendable service Handler for managing resource-policy based data. |
sql
Package sql provides tools and DAOs for speaking SQL as well as managing tables migrations
|
Package sql provides tools and DAOs for speaking SQL as well as managing tables migrations |
sql/index
Package index provides ready-to-use tables and DAOs for storing hierarchical data using the nested sets pattern * Copyright (c) 2019-2021.
|
Package index provides ready-to-use tables and DAOs for storing hierarchical data using the nested sets pattern * Copyright (c) 2019-2021. |
sql/resources
Package resources provides ready-to-use SQL schemes and DAOs for attaching resource policies to any data
|
Package resources provides ready-to-use SQL schemes and DAOs for attaching resource policies to any data |
sync/endpoints/cells
Package cells provides endpoints for speaking either with a local server using a views.Router (and connecting to the local NATS registry), or a remote Cells server using a GRPC gateway client.
|
Package cells provides endpoints for speaking either with a local server using a views.Router (and connecting to the local NATS registry), or a remote Cells server using a GRPC gateway client. |
sync/endpoints/cells/transport
Package cells_sdk provides a ready to use SDK to use the Cells REST API in Go language.
|
Package cells_sdk provides a ready to use SDK to use the Cells REST API in Go language. |
sync/endpoints/filesystem
Package file system provides endpoints for reading/writing from/to a local folder
|
Package file system provides endpoints for reading/writing from/to a local folder |
sync/endpoints/index
Package index provides a GRPC client for storing information into any tree.NodeProviderClient/tree.NodeReceiverClient service.
|
Package index provides a GRPC client for storing information into any tree.NodeProviderClient/tree.NodeReceiverClient service. |
sync/endpoints/memory
Package memory provides an in-memory basic implementation of an Endpoint, with nodes stored in a map.
|
Package memory provides an in-memory basic implementation of an Endpoint, with nodes stored in a map. |
sync/endpoints/s3
Package s3 provides an endpoint for connecting to Amazon S3 or an S3-compatible storage
|
Package s3 provides an endpoint for connecting to Amazon S3 or an S3-compatible storage |
sync/endpoints/snapshot
Package snapshot provides fast in-memory or on-file implementations of endpoint for storing snapshots
|
Package snapshot provides fast in-memory or on-file implementations of endpoint for storing snapshots |
sync/filters
Package filters provides batchers and filters to analyze and simplify sync events
|
Package filters provides batchers and filters to analyze and simplify sync events |
sync/merger
Package merger implements all logic to compare trees and create set of operations to be applied
|
Package merger implements all logic to compare trees and create set of operations to be applied |
sync/model
Package model gathers the main structs and interfaces used in sync library.
|
Package model gathers the main structs and interfaces used in sync library. |
sync/proc
Package proc provides actual actions to be performed once the sync has filtered all events
|
Package proc provides actual actions to be performed once the sync has filtered all events |
sync/task
Package task defines a synchronization task
|
Package task defines a synchronization task |
utils
Package utils provides swiss-knife tools for all services
|
Package utils provides swiss-knife tools for all services |
utils/cache
Package cache provides ready-to-use in-memory cache mechanisms
|
Package cache provides ready-to-use in-memory cache mechanisms |
utils/context
Package context manipulates context metadata
|
Package context manipulates context metadata |
utils/error
Package error creates and parses common errors
|
Package error creates and parses common errors |
utils/i18n
Package i18n wraps go-i18n lib for manipulating bundles
|
Package i18n wraps go-i18n lib for manipulating bundles |
utils/meta
Package meta provides tool for reading metadata from services declaring "MetaProvider" support
|
Package meta provides tool for reading metadata from services declaring "MetaProvider" support |
utils/mtree
Package mtree provides advanced tools for encoding tree paths in a material format
|
Package mtree provides advanced tools for encoding tree paths in a material format |
utils/net
Package net provides tools for reading IPs, available Ports, extending HTTP requests, etc.
|
Package net provides tools for reading IPs, available Ports, extending HTTP requests, etc. |
utils/permissions
Package permissions provides high-level tools for computing permissions from ACLs
|
Package permissions provides high-level tools for computing permissions from ACLs |
utils/schedule
Package schedule provides a fixed ticker based on a start time iso8601 interval periods are supported
|
Package schedule provides a fixed ticker based on a start time iso8601 interval periods are supported |
utils/std
Package std provides tools for standard types (strings, int, floats, etc).
|
Package std provides tools for standard types (strings, int, floats, etc). |
views
Package views provides high-level clients for talking to the main data tree in certain context.
|
Package views provides high-level clients for talking to the main data tree in certain context. |
Package data provides Data Management services.
|
Package data provides Data Management services. |
docstore
Package docstore provides an indexed JSON document store.
|
Package docstore provides an indexed JSON document store. |
docstore/grpc
Package grpc exposes the document store api in GRPC
|
Package grpc exposes the document store api in GRPC |
key
Package key implements a keystore for managing encryption keys attached to files.
|
Package key implements a keystore for managing encryption keys attached to files. |
key/grpc
Package grpc provides a pydio GRPC service for managing files encryption keys
|
Package grpc provides a pydio GRPC service for managing files encryption keys |
meta
Package meta provides storage for files and folders metadata.
|
Package meta provides storage for files and folders metadata. |
meta/grpc
Package grpc provides a GRPC access to the underlying persistence layer for files metadata
|
Package grpc provides a GRPC access to the underlying persistence layer for files metadata |
meta/rest
Package rest provides a REST API for querying the tree metadata.
|
Package rest provides a REST API for querying the tree metadata. |
search
Package search implements a search engine for indexing nodes
|
Package search implements a search engine for indexing nodes |
search/dao
Package dao abstract the indexation engine and provides a bleve-based implementation.
|
Package dao abstract the indexation engine and provides a bleve-based implementation. |
search/dao/bleve
Package bleve implements the search engine using a Bleve indexer.
|
Package bleve implements the search engine using a Bleve indexer. |
search/dao/stub
Package stub is a helper for testing indexation
|
Package stub is a helper for testing indexation |
search/grpc
Package grpc provides the Pydio grpc service for querying indexer.
|
Package grpc provides the Pydio grpc service for querying indexer. |
search/lang
Package lang provides i18n strings for mailer-related data.
|
Package lang provides i18n strings for mailer-related data. |
search/rest
Package rest provides a REST service for querying the search engine
|
Package rest provides a REST service for querying the search engine |
source
Package source contains the three services composing a datasource : objects, index and sync
|
Package source contains the three services composing a datasource : objects, index and sync |
source/index
Package index provides indexation for datasources
|
Package index provides indexation for datasources |
source/index/grpc
Package grpc provides a pydio GRPC service for CRUD-ing the datasource index.
|
Package grpc provides a pydio GRPC service for CRUD-ing the datasource index. |
source/index/sessions
Package sessions is used during indexation to start/stop a session an speed-up the process
|
Package sessions is used during indexation to start/stop a session an speed-up the process |
source/objects
Package objects is in charge of exposing the content of the datasource with the S3 protocol.
|
Package objects is in charge of exposing the content of the datasource with the S3 protocol. |
source/objects/grpc
Package grpc wraps a Minio server for exposing the content of the datasource with the S3 protocol.
|
Package grpc wraps a Minio server for exposing the content of the datasource with the S3 protocol. |
source/sync
Package sync provides service for synchronizing objects to indexes Package sync ties the "objects" and "index" together
|
Package sync provides service for synchronizing objects to indexes Package sync ties the "objects" and "index" together |
source/sync/grpc
Package grpc is a pydio service running synchronization between objects and index.
|
Package grpc is a pydio service running synchronization between objects and index. |
templates/rest
Package rest exposes a simple API used by admins to query the whole tree directly without going through routers.
|
Package rest exposes a simple API used by admins to query the whole tree directly without going through routers. |
tree
Tree service dynamically aggregates the datasources nodes streams
|
Tree service dynamically aggregates the datasources nodes streams |
tree/grpc
Package grpc provides a GRPC service for aggregating all indexes from all datasources
|
Package grpc provides a GRPC service for aggregating all indexes from all datasources |
tree/rest
Package rest exposes a simple API used by admins to query the whole tree directly without going through routers.
|
Package rest exposes a simple API used by admins to query the whole tree directly without going through routers. |
versions
Package versions provides a versioning mechanism for files modifications
|
Package versions provides a versioning mechanism for files modifications |
versions/grpc
Package grpc is in charge of storing versions metadata
|
Package grpc is in charge of storing versions metadata |
versions/lang
Package lang provides i18n strings for versions service
|
Package lang provides i18n strings for versions service |
## Core services.
|
## Core services. |
config
Package config provides both a db-based configs server and the REST api to manage configs
|
Package config provides both a db-based configs server and the REST api to manage configs |
config/lang
Package lang provides config-related i18n strings
|
Package lang provides config-related i18n strings |
config/rest
Package rest implements the REST api for managing configurations
|
Package rest implements the REST api for managing configurations |
healthcheck/rest
Package rest starts a service that exposes a healthcheck.
|
Package rest starts a service that exposes a healthcheck. |
install/assets
Package assets is based on Packr to embed static data inside the binary.
|
Package assets is based on Packr to embed static data inside the binary. |
install/lib
Package lib is in charge of installing cells.
|
Package lib is in charge of installing cells. |
install/rest
Package rest is used once at install-time when running install via browser
|
Package rest is used once at install-time when running install via browser |
update
Package update provides connection to a remote update server for upgrading cells binary
|
Package update provides connection to a remote update server for upgrading cells binary |
update/grpc
Package grpc is in charge of detecting updates and applying them
|
Package grpc is in charge of detecting updates and applying them |
update/lang
Package lang provides update-related i18n strings
|
Package lang provides update-related i18n strings |
update/rest
Package rest provides a REST gateway to the update service
|
Package rest provides a REST gateway to the update service |
## Frontend-related services.
|
## Frontend-related services. |
front-srv/rest
Package rest is a service for serving specific requests directly to frontend
|
Package rest is a service for serving specific requests directly to frontend |
front-srv/web
Package web is serving the main entry points for the JS frontend
|
Package web is serving the main entry points for the JS frontend |
## Gateway services.
|
## Gateway services. |
data
Package gateway spins an S3 gateway for serving files using the Amazon S3 protocol.
|
Package gateway spins an S3 gateway for serving files using the Amazon S3 protocol. |
dav
Package dav provides a REST gateway to communicate with pydio backend via the webdav protocol.
|
Package dav provides a REST gateway to communicate with pydio backend via the webdav protocol. |
micro
Package micro starts a micro web service in API mode to dispatch all REST calls to the underlying services
|
Package micro starts a micro web service in API mode to dispatch all REST calls to the underlying services |
proxy
Package proxy loads a Caddy service to provide a unique access to all services and serve the Javascript frontend.
|
Package proxy loads a Caddy service to provide a unique access to all services and serve the Javascript frontend. |
websocket
Package websocket starts a WebSocket service forwarding internal events to http clients
|
Package websocket starts a WebSocket service forwarding internal events to http clients |
websocket/api
Package api starts the actual WebSocket service
|
Package api starts the actual WebSocket service |
wopi
Package wopi implements communication with the backend via the WOPI API.
|
Package wopi implements communication with the backend via the WOPI API. |
## Identity management services.
|
## Identity management services. |
acl
Package acl provides persistence and access to Access Control List
|
Package acl provides persistence and access to Access Control List |
acl/grpc
Package grpc provides a service for storing and CRUD-ing ACLs
|
Package grpc provides a service for storing and CRUD-ing ACLs |
acl/rest
Package rest is a REST gateway to the grpc ACL service
|
Package rest is a REST gateway to the grpc ACL service |
graph/rest
Package rest exposes a REST API to aggregate data from various services.
|
Package rest exposes a REST API to aggregate data from various services. |
key
Package key provides a persistence layer for user key.
|
Package key provides a persistence layer for user key. |
key/grpc
Package grpc is a simple encryption key persistence layer
|
Package grpc is a simple encryption key persistence layer |
meta
Package meta add persistence layer for meta data defined by the end users to enrich the nodes.
|
Package meta add persistence layer for meta data defined by the end users to enrich the nodes. |
meta/grpc
Package grpc provides persistence layer for user-defined metadata
|
Package grpc provides persistence layer for user-defined metadata |
meta/namespace
Package namespace provides operations for managing user-metadata namespaces
|
Package namespace provides operations for managing user-metadata namespaces |
meta/rest
Package provides a gateway to the underlying grpc service
|
Package provides a gateway to the underlying grpc service |
oauth
Package acl provides persistence and access to Access Control List
|
Package acl provides persistence and access to Access Control List |
oauth/grpc
Package grpc spins an OpenID Connect Server using the coreos/dex implementation
|
Package grpc spins an OpenID Connect Server using the coreos/dex implementation |
oauth/lang
Package lang provides auth-related i18n strings
|
Package lang provides auth-related i18n strings |
oauth/rest
Package rest provides access to the TokenServiceApi
|
Package rest provides access to the TokenServiceApi |
oauth/web
Package grpc spins an OpenID Connect Server using the coreos/dex implementation
|
Package grpc spins an OpenID Connect Server using the coreos/dex implementation |
policy
Package policy provides advanced policy features to fine tune end-user permissions.
|
Package policy provides advanced policy features to fine tune end-user permissions. |
policy/conditions
Package conditions provides implementation of basic condition rules to enable building elaborated policies.
|
Package conditions provides implementation of basic condition rules to enable building elaborated policies. |
policy/grpc
Package grpc is the policy engine service
|
Package grpc is the policy engine service |
policy/lang
Package lang provides policy-related i18n strings
|
Package lang provides policy-related i18n strings |
policy/rest
Package rest is a gateway to the underlying grpc service
|
Package rest is a gateway to the underlying grpc service |
role
Package role is in charge of managing user roles
|
Package role is in charge of managing user roles |
role/grpc
Package grpc provides persistence layer for CRUD-ing roles
|
Package grpc provides persistence layer for CRUD-ing roles |
role/rest
Package rest provides a gateway to the underlying grpc server
|
Package rest provides a gateway to the underlying grpc server |
share/rest
Package rest exposes a REST API to manage shared rooms.
|
Package rest exposes a REST API to manage shared rooms. |
user
Package user implements basic user and group persistence layer.
|
Package user implements basic user and group persistence layer. |
user/grpc
* Copyright (c) 2018.
|
* Copyright (c) 2018. |
user/rest
Package rest provides a gateway to the underlying grpc service
|
Package rest provides a gateway to the underlying grpc service |
workspace
Package workspace implements workspace persistence layer.
|
Package workspace implements workspace persistence layer. |
workspace/grpc
Package grpc provides the persistence for workspaces
|
Package grpc provides the persistence for workspaces |
workspace/rest
Package rest provides a gateway to the underlying grpc service
|
Package rest provides a gateway to the underlying grpc service |
## Scheduler services.
|
## Scheduler services. |
actions
Package actions provides interfaces to manage tasks and provides default implementation for common actions.
|
Package actions provides interfaces to manage tasks and provides default implementation for common actions. |
actions/archive
Package archive provides implementation of actions to work with archive files.
|
Package archive provides implementation of actions to work with archive files. |
actions/changes
Package archive provides implementation of actions to work with archive files.
|
Package archive provides implementation of actions to work with archive files. |
actions/cmd
Package cmd provides default implementation for command-line-like actions.
|
Package cmd provides default implementation for command-line-like actions. |
actions/images
Package images provides default implementation of image related tasks.
|
Package images provides default implementation of image related tasks. |
actions/scheduler
Package scheduler provides default implementation for basic scheduler tasks.
|
Package scheduler provides default implementation for basic scheduler tasks. |
actions/tree
Package tree provides default implementation for tree related tasks.
|
Package tree provides default implementation for tree related tasks. |
jobs
Package jobs implements persistence of the job definition.
|
Package jobs implements persistence of the job definition. |
jobs/grpc
Package grpc provides a gRPC service to access the store for scheduler job definitions.
|
Package grpc provides a gRPC service to access the store for scheduler job definitions. |
jobs/rest
Package rest provides a REST gateway to the job definition repository.
|
Package rest provides a REST gateway to the job definition repository. |
lang
Package lang provide scheduler-related i18n strings
|
Package lang provide scheduler-related i18n strings |
tasks
Package tasks provides workers that effectively run the instances of the scheduled jobs.
|
Package tasks provides workers that effectively run the instances of the scheduled jobs. |
tasks/grpc
Package grpc provides a gRPC service to effectively run task instances on multiple workers.
|
Package grpc provides a gRPC service to effectively run task instances on multiple workers. |
timer
Package timer produces events that start scheduler jobs on pre-defined dates and/or intervals.
|
Package timer produces events that start scheduler jobs on pre-defined dates and/or intervals. |
timer/grpc
Package grpc provides a gRPC service that triggers scheduler events based on ISO 8601 patterns.
|
Package grpc provides a gRPC service that triggers scheduler events based on ISO 8601 patterns. |
x
|
|