mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2025-12-31 01:10:20 -06:00
8
Makefile
8
Makefile
@@ -18,8 +18,8 @@ clean:
|
||||
.PHONY: generate-docs $(EXTENSIONS)
|
||||
generate-docs: $(EXTENSIONS)
|
||||
$(EXTENSIONS):
|
||||
$(MAKE) -C $@ docs; \\
|
||||
mkdir -p docs/extensions/$@; \\
|
||||
$(MAKE) -C $@ docs; \
|
||||
mkdir -p docs/extensions/$@; \
|
||||
cp -R $@/docs/ docs/extensions/$@
|
||||
|
||||
.PHONY: clean-docs
|
||||
@@ -28,8 +28,8 @@ clean-docs:
|
||||
|
||||
.PHONY: ocis-docs
|
||||
ocis-docs:
|
||||
mkdir -p docs/ocis; \\
|
||||
$(MAKE) -C ocis docs; \\
|
||||
mkdir -p docs/ocis; \
|
||||
$(MAKE) -C ocis docs; \
|
||||
cp -R ocis/docs/ docs/ocis
|
||||
|
||||
.PHONY: docs
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Changelog for [unreleased] \(UNRELEASED)
|
||||
# Changelog for [unreleased] (UNRELEASED)
|
||||
|
||||
The following sections list the changes in ocis-accounts unreleased.
|
||||
|
||||
@@ -6,110 +6,110 @@ The following sections list the changes in ocis-accounts unreleased.
|
||||
|
||||
## Summary
|
||||
|
||||
- Bugfix - Initialize roleService client in GRPC server: [#114](https://github.com/owncloud/ocis/accounts/pull/114)
|
||||
- Bugfix - Cleanup separated indices in memory: [#224](https://github.com/owncloud/product/issues/224)
|
||||
- Change - Set user role on builtin users: [#102](https://github.com/owncloud/ocis/accounts/pull/102)
|
||||
- Change - Add new builtin admin user: [#102](https://github.com/owncloud/ocis/accounts/pull/102)
|
||||
- Change - We make use of the roles cache to enforce permission checks: [#100](https://github.com/owncloud/ocis/accounts/pull/100)
|
||||
- Change - We make use of the roles manager to enforce permission checks: [#108](https://github.com/owncloud/ocis/accounts/pull/108)
|
||||
- Enhancement - Add create account form: [#148](https://github.com/owncloud/product/issues/148)
|
||||
- Enhancement - Add delete accounts action: [#148](https://github.com/owncloud/product/issues/148)
|
||||
- Enhancement - Add enable/disable capabilities to the WebUI: [#118](https://github.com/owncloud/product/issues/118)
|
||||
- Enhancement - Improve visual appearance of accounts UI: [#222](https://github.com/owncloud/product/issues/222)
|
||||
* Bugfix - Initialize roleService client in GRPC server: [#114](https://github.com/owncloud/ocis/accounts/pull/114)
|
||||
* Bugfix - Cleanup separated indices in memory: [#224](https://github.com/owncloud/product/issues/224)
|
||||
* Change - Set user role on builtin users: [#102](https://github.com/owncloud/ocis/accounts/pull/102)
|
||||
* Change - Add new builtin admin user: [#102](https://github.com/owncloud/ocis/accounts/pull/102)
|
||||
* Change - We make use of the roles cache to enforce permission checks: [#100](https://github.com/owncloud/ocis/accounts/pull/100)
|
||||
* Change - We make use of the roles manager to enforce permission checks: [#108](https://github.com/owncloud/ocis/accounts/pull/108)
|
||||
* Enhancement - Add create account form: [#148](https://github.com/owncloud/product/issues/148)
|
||||
* Enhancement - Add delete accounts action: [#148](https://github.com/owncloud/product/issues/148)
|
||||
* Enhancement - Add enable/disable capabilities to the WebUI: [#118](https://github.com/owncloud/product/issues/118)
|
||||
* Enhancement - Improve visual appearance of accounts UI: [#222](https://github.com/owncloud/product/issues/222)
|
||||
|
||||
## Details
|
||||
|
||||
- Bugfix - Initialize roleService client in GRPC server: [#114](https://github.com/owncloud/ocis/accounts/pull/114)
|
||||
* Bugfix - Initialize roleService client in GRPC server: [#114](https://github.com/owncloud/ocis/accounts/pull/114)
|
||||
|
||||
We fixed the initialization of the GRPC server by also providing a roleService client and a
|
||||
roleManager instance.
|
||||
We fixed the initialization of the GRPC server by also providing a roleService client and a
|
||||
roleManager instance.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/114>
|
||||
https://github.com/owncloud/ocis/accounts/pull/114
|
||||
|
||||
|
||||
- Bugfix - Cleanup separated indices in memory: [#224](https://github.com/owncloud/product/issues/224)
|
||||
* Bugfix - Cleanup separated indices in memory: [#224](https://github.com/owncloud/product/issues/224)
|
||||
|
||||
The accounts service was creating a bleve index instance in the service handler, thus creating
|
||||
separate in memory indices for the http and grpc servers. We moved the service handler creation
|
||||
out of the server creation so that the service handler, thus also the bleve index, is a shared
|
||||
instance of the servers.
|
||||
The accounts service was creating a bleve index instance in the service handler, thus creating
|
||||
separate in memory indices for the http and grpc servers. We moved the service handler creation
|
||||
out of the server creation so that the service handler, thus also the bleve index, is a shared
|
||||
instance of the servers.
|
||||
|
||||
This fixes a bug that accounts created through the web ui were not able to sign in until a service
|
||||
restart.
|
||||
This fixes a bug that accounts created through the web ui were not able to sign in until a service
|
||||
restart.
|
||||
|
||||
<https://github.com/owncloud/product/issues/224>
|
||||
<https://github.com/owncloud/ocis/accounts/pull/117>
|
||||
<https://github.com/owncloud/ocis/accounts/pull/118>
|
||||
https://github.com/owncloud/product/issues/224
|
||||
https://github.com/owncloud/ocis/accounts/pull/117
|
||||
https://github.com/owncloud/ocis/accounts/pull/118
|
||||
|
||||
|
||||
- Change - Set user role on builtin users: [#102](https://github.com/owncloud/ocis/accounts/pull/102)
|
||||
* Change - Set user role on builtin users: [#102](https://github.com/owncloud/ocis/accounts/pull/102)
|
||||
|
||||
We now set the default `user` role on our builtin users.
|
||||
We now set the default `user` role on our builtin users.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/102>
|
||||
https://github.com/owncloud/ocis/accounts/pull/102
|
||||
|
||||
|
||||
- Change - Add new builtin admin user: [#102](https://github.com/owncloud/ocis/accounts/pull/102)
|
||||
* Change - Add new builtin admin user: [#102](https://github.com/owncloud/ocis/accounts/pull/102)
|
||||
|
||||
We added a new builtin user `moss` and assigned the admin role.
|
||||
We added a new builtin user `moss` and assigned the admin role.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/102>
|
||||
https://github.com/owncloud/ocis/accounts/pull/102
|
||||
|
||||
|
||||
- Change - We make use of the roles cache to enforce permission checks: [#100](https://github.com/owncloud/ocis/accounts/pull/100)
|
||||
* Change - We make use of the roles cache to enforce permission checks: [#100](https://github.com/owncloud/ocis/accounts/pull/100)
|
||||
|
||||
The roles cache and its cache update middleware are used to make permission checks possible.
|
||||
The permission checks take place in the accounts handler.
|
||||
The roles cache and its cache update middleware are used to make permission checks possible.
|
||||
The permission checks take place in the accounts handler.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/100>
|
||||
https://github.com/owncloud/ocis/accounts/pull/100
|
||||
|
||||
|
||||
- Change - We make use of the roles manager to enforce permission checks: [#108](https://github.com/owncloud/ocis/accounts/pull/108)
|
||||
* Change - We make use of the roles manager to enforce permission checks: [#108](https://github.com/owncloud/ocis/accounts/pull/108)
|
||||
|
||||
The roles cache and its cache update middleware have been replaced with a roles manager in
|
||||
ocis-pkg/v2. We've switched over to the new roles manager implementation, to prepare for
|
||||
permission checks on grpc requests as well.
|
||||
The roles cache and its cache update middleware have been replaced with a roles manager in
|
||||
ocis-pkg/v2. We've switched over to the new roles manager implementation, to prepare for
|
||||
permission checks on grpc requests as well.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/108>
|
||||
<https://github.com/owncloud/ocis-pkg/pull/60>
|
||||
https://github.com/owncloud/ocis/accounts/pull/108
|
||||
https://github.com/owncloud/ocis-pkg/pull/60
|
||||
|
||||
|
||||
- Enhancement - Add create account form: [#148](https://github.com/owncloud/product/issues/148)
|
||||
* Enhancement - Add create account form: [#148](https://github.com/owncloud/product/issues/148)
|
||||
|
||||
We've added a form to create new users above the accounts list.
|
||||
We've added a form to create new users above the accounts list.
|
||||
|
||||
<https://github.com/owncloud/product/issues/148>
|
||||
<https://github.com/owncloud/ocis/accounts/pull/115>
|
||||
https://github.com/owncloud/product/issues/148
|
||||
https://github.com/owncloud/ocis/accounts/pull/115
|
||||
|
||||
|
||||
- Enhancement - Add delete accounts action: [#148](https://github.com/owncloud/product/issues/148)
|
||||
* Enhancement - Add delete accounts action: [#148](https://github.com/owncloud/product/issues/148)
|
||||
|
||||
We've added an action into the actions dropdown to enable admins to delete users.
|
||||
We've added an action into the actions dropdown to enable admins to delete users.
|
||||
|
||||
<https://github.com/owncloud/product/issues/148>
|
||||
<https://github.com/owncloud/ocis/accounts/pull/115>
|
||||
https://github.com/owncloud/product/issues/148
|
||||
https://github.com/owncloud/ocis/accounts/pull/115
|
||||
|
||||
|
||||
- Enhancement - Add enable/disable capabilities to the WebUI: [#118](https://github.com/owncloud/product/issues/118)
|
||||
* Enhancement - Add enable/disable capabilities to the WebUI: [#118](https://github.com/owncloud/product/issues/118)
|
||||
|
||||
We've added batch actions into the accounts listing to provide options to enable and disable
|
||||
accounts.
|
||||
We've added batch actions into the accounts listing to provide options to enable and disable
|
||||
accounts.
|
||||
|
||||
<https://github.com/owncloud/product/issues/118>
|
||||
<https://github.com/owncloud/ocis/accounts/pull/109>
|
||||
https://github.com/owncloud/product/issues/118
|
||||
https://github.com/owncloud/ocis/accounts/pull/109
|
||||
|
||||
|
||||
- Enhancement - Improve visual appearance of accounts UI: [#222](https://github.com/owncloud/product/issues/222)
|
||||
* Enhancement - Improve visual appearance of accounts UI: [#222](https://github.com/owncloud/product/issues/222)
|
||||
|
||||
We aligned the visual appearance of the accounts UI with default ocis-web apps (full width,
|
||||
style of batch actions), added icons to buttons, extracted the buttons from the batch actions
|
||||
dropdown into individual buttons, improved the wording added a confirmation widget for the
|
||||
user deletion and removed the uid and gid columns.
|
||||
We aligned the visual appearance of the accounts UI with default ocis-web apps (full width,
|
||||
style of batch actions), added icons to buttons, extracted the buttons from the batch actions
|
||||
dropdown into individual buttons, improved the wording added a confirmation widget for the
|
||||
user deletion and removed the uid and gid columns.
|
||||
|
||||
<https://github.com/owncloud/product/issues/222>
|
||||
<https://github.com/owncloud/ocis/accounts/pull/116>
|
||||
https://github.com/owncloud/product/issues/222
|
||||
https://github.com/owncloud/ocis/accounts/pull/116
|
||||
|
||||
# Changelog for [0.4.1] \(2020-08-27)
|
||||
# Changelog for [0.4.1] (2020-08-27)
|
||||
|
||||
The following sections list the changes in ocis-accounts 0.4.1.
|
||||
|
||||
@@ -117,25 +117,25 @@ The following sections list the changes in ocis-accounts 0.4.1.
|
||||
|
||||
## Summary
|
||||
|
||||
- Bugfix - Adapting to new settings API for fetching roles: [#96](https://github.com/owncloud/ocis/accounts/pull/96)
|
||||
- Change - Create account api-call implicitly adds "default-user" role: [#173](https://github.com/owncloud/product/issues/173)
|
||||
* Bugfix - Adapting to new settings API for fetching roles: [#96](https://github.com/owncloud/ocis/accounts/pull/96)
|
||||
* Change - Create account api-call implicitly adds "default-user" role: [#173](https://github.com/owncloud/product/issues/173)
|
||||
|
||||
## Details
|
||||
|
||||
- Bugfix - Adapting to new settings API for fetching roles: [#96](https://github.com/owncloud/ocis/accounts/pull/96)
|
||||
* Bugfix - Adapting to new settings API for fetching roles: [#96](https://github.com/owncloud/ocis/accounts/pull/96)
|
||||
|
||||
We fixed the usage of the ocis-settings endpoint for fetching roles.
|
||||
We fixed the usage of the ocis-settings endpoint for fetching roles.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/96>
|
||||
https://github.com/owncloud/ocis/accounts/pull/96
|
||||
|
||||
|
||||
- Change - Create account api-call implicitly adds "default-user" role: [#173](https://github.com/owncloud/product/issues/173)
|
||||
* Change - Create account api-call implicitly adds "default-user" role: [#173](https://github.com/owncloud/product/issues/173)
|
||||
|
||||
When calling CreateAccount default-user-role is implicitly added.
|
||||
When calling CreateAccount default-user-role is implicitly added.
|
||||
|
||||
<https://github.com/owncloud/product/issues/173>
|
||||
https://github.com/owncloud/product/issues/173
|
||||
|
||||
# Changelog for [0.3.0] \(2020-08-20)
|
||||
# Changelog for [0.3.0] (2020-08-20)
|
||||
|
||||
The following sections list the changes in ocis-accounts 0.3.0.
|
||||
|
||||
@@ -143,45 +143,45 @@ The following sections list the changes in ocis-accounts 0.3.0.
|
||||
|
||||
## Summary
|
||||
|
||||
- Bugfix - Atomic Requests: [#82](https://github.com/owncloud/ocis/accounts/pull/82)
|
||||
- Bugfix - Unescape value for prefix query: [#76](https://github.com/owncloud/ocis/accounts/pull/76)
|
||||
- Change - Adapt to new ocis-settings data model: [#87](https://github.com/owncloud/ocis/accounts/pull/87)
|
||||
- Change - Add permissions for language to default roles: [#88](https://github.com/owncloud/ocis/accounts/pull/88)
|
||||
* Bugfix - Atomic Requests: [#82](https://github.com/owncloud/ocis/accounts/pull/82)
|
||||
* Bugfix - Unescape value for prefix query: [#76](https://github.com/owncloud/ocis/accounts/pull/76)
|
||||
* Change - Adapt to new ocis-settings data model: [#87](https://github.com/owncloud/ocis/accounts/pull/87)
|
||||
* Change - Add permissions for language to default roles: [#88](https://github.com/owncloud/ocis/accounts/pull/88)
|
||||
|
||||
## Details
|
||||
|
||||
- Bugfix - Atomic Requests: [#82](https://github.com/owncloud/ocis/accounts/pull/82)
|
||||
* Bugfix - Atomic Requests: [#82](https://github.com/owncloud/ocis/accounts/pull/82)
|
||||
|
||||
Operations on the file system level are now atomic. This happens only on the provisioning API.
|
||||
Operations on the file system level are now atomic. This happens only on the provisioning API.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/82>
|
||||
https://github.com/owncloud/ocis/accounts/pull/82
|
||||
|
||||
|
||||
- Bugfix - Unescape value for prefix query: [#76](https://github.com/owncloud/ocis/accounts/pull/76)
|
||||
* Bugfix - Unescape value for prefix query: [#76](https://github.com/owncloud/ocis/accounts/pull/76)
|
||||
|
||||
Prefix queries also need to unescape token values like `'some ''ol string'` to `some 'ol
|
||||
string` before using it in a prefix query
|
||||
Prefix queries also need to unescape token values like `'some ''ol string'` to `some 'ol
|
||||
string` before using it in a prefix query
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/76>
|
||||
https://github.com/owncloud/ocis/accounts/pull/76
|
||||
|
||||
|
||||
- Change - Adapt to new ocis-settings data model: [#87](https://github.com/owncloud/ocis/accounts/pull/87)
|
||||
* Change - Adapt to new ocis-settings data model: [#87](https://github.com/owncloud/ocis/accounts/pull/87)
|
||||
|
||||
Ocis-settings introduced UUIDs and less verbose endpoint and message type names. This PR
|
||||
adjusts ocis-accounts accordingly.
|
||||
Ocis-settings introduced UUIDs and less verbose endpoint and message type names. This PR
|
||||
adjusts ocis-accounts accordingly.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/87>
|
||||
<https://github.com/owncloud/ocis/settings/pull/46>
|
||||
https://github.com/owncloud/ocis/accounts/pull/87
|
||||
https://github.com/owncloud/ocis/settings/pull/46
|
||||
|
||||
|
||||
- Change - Add permissions for language to default roles: [#88](https://github.com/owncloud/ocis/accounts/pull/88)
|
||||
* Change - Add permissions for language to default roles: [#88](https://github.com/owncloud/ocis/accounts/pull/88)
|
||||
|
||||
Ocis-settings has default roles and exposes the respective bundle uuids. We now added
|
||||
permissions for reading/writing the preferred language to the default roles.
|
||||
Ocis-settings has default roles and exposes the respective bundle uuids. We now added
|
||||
permissions for reading/writing the preferred language to the default roles.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/88>
|
||||
https://github.com/owncloud/ocis/accounts/pull/88
|
||||
|
||||
# Changelog for [0.4.0] \(2020-08-20)
|
||||
# Changelog for [0.4.0] (2020-08-20)
|
||||
|
||||
The following sections list the changes in ocis-accounts 0.4.0.
|
||||
|
||||
@@ -189,19 +189,19 @@ The following sections list the changes in ocis-accounts 0.4.0.
|
||||
|
||||
## Summary
|
||||
|
||||
- Change - Add role selection to accounts UI: [#103](https://github.com/owncloud/product/issues/103)
|
||||
* Change - Add role selection to accounts UI: [#103](https://github.com/owncloud/product/issues/103)
|
||||
|
||||
## Details
|
||||
|
||||
- Change - Add role selection to accounts UI: [#103](https://github.com/owncloud/product/issues/103)
|
||||
* Change - Add role selection to accounts UI: [#103](https://github.com/owncloud/product/issues/103)
|
||||
|
||||
We added a role selection dropdown for each account in the accounts UI. As a first iteration,
|
||||
this doesn't require account management permissions.
|
||||
We added a role selection dropdown for each account in the accounts UI. As a first iteration,
|
||||
this doesn't require account management permissions.
|
||||
|
||||
<https://github.com/owncloud/product/issues/103>
|
||||
<https://github.com/owncloud/ocis/accounts/pull/89>
|
||||
https://github.com/owncloud/product/issues/103
|
||||
https://github.com/owncloud/ocis/accounts/pull/89
|
||||
|
||||
# Changelog for [0.2.0] \(2020-08-19)
|
||||
# Changelog for [0.2.0] (2020-08-19)
|
||||
|
||||
The following sections list the changes in ocis-accounts 0.2.0.
|
||||
|
||||
@@ -209,185 +209,185 @@ The following sections list the changes in ocis-accounts 0.2.0.
|
||||
|
||||
## Summary
|
||||
|
||||
- Bugfix - Add write mutexes: [#71](https://github.com/owncloud/ocis/accounts/pull/71)
|
||||
- Bugfix - Fix the accountId and groupId mismatch in DeleteGroup Method: [#60](https://github.com/owncloud/ocis/accounts/pull/60)
|
||||
- Bugfix - Fix index mapping: [#73](https://github.com/owncloud/ocis/accounts/issues/73)
|
||||
- Bugfix - Use NewNumericRangeInclusiveQuery for numeric literals: [#28](https://github.com/owncloud/ocis-glauth/issues/28)
|
||||
- Bugfix - Prevent segfault when no password is set: [#65](https://github.com/owncloud/ocis/accounts/pull/65)
|
||||
- Bugfix - Update account return value not used: [#70](https://github.com/owncloud/ocis/accounts/pull/70)
|
||||
- Bugfix - Build docker images with alpine:latest instead of alpine:edge: [#64](https://github.com/owncloud/ocis/accounts/pull/64)
|
||||
- Change - Align structure of this extension with other extensions: [#51](https://github.com/owncloud/ocis/accounts/pull/51)
|
||||
- Change - Change api errors: [#11](https://github.com/owncloud/ocis/accounts/issues/11)
|
||||
- Change - Enable accounts on creation: [#43](https://github.com/owncloud/ocis/accounts/issues/43)
|
||||
- Change - Fix index update on create/update: [#57](https://github.com/owncloud/ocis/accounts/issues/57)
|
||||
- Change - Pass around the correct logger throughout the code: [#41](https://github.com/owncloud/ocis/accounts/issues/41)
|
||||
- Change - Remove timezone setting: [#33](https://github.com/owncloud/ocis/accounts/pull/33)
|
||||
- Change - Tighten screws on usernames and email addresses: [#65](https://github.com/owncloud/ocis/accounts/pull/65)
|
||||
- Enhancement - Add early version of cli tools for user-management: [#69](https://github.com/owncloud/ocis/accounts/pull/69)
|
||||
- Enhancement - Update accounts API: [#30](https://github.com/owncloud/ocis/accounts/pull/30)
|
||||
- Enhancement - Add simple user listing UI: [#51](https://github.com/owncloud/ocis/accounts/pull/51)
|
||||
* Bugfix - Add write mutexes: [#71](https://github.com/owncloud/ocis/accounts/pull/71)
|
||||
* Bugfix - Fix the accountId and groupId mismatch in DeleteGroup Method: [#60](https://github.com/owncloud/ocis/accounts/pull/60)
|
||||
* Bugfix - Fix index mapping: [#73](https://github.com/owncloud/ocis/accounts/issues/73)
|
||||
* Bugfix - Use NewNumericRangeInclusiveQuery for numeric literals: [#28](https://github.com/owncloud/ocis-glauth/issues/28)
|
||||
* Bugfix - Prevent segfault when no password is set: [#65](https://github.com/owncloud/ocis/accounts/pull/65)
|
||||
* Bugfix - Update account return value not used: [#70](https://github.com/owncloud/ocis/accounts/pull/70)
|
||||
* Bugfix - Build docker images with alpine:latest instead of alpine:edge: [#64](https://github.com/owncloud/ocis/accounts/pull/64)
|
||||
* Change - Align structure of this extension with other extensions: [#51](https://github.com/owncloud/ocis/accounts/pull/51)
|
||||
* Change - Change api errors: [#11](https://github.com/owncloud/ocis/accounts/issues/11)
|
||||
* Change - Enable accounts on creation: [#43](https://github.com/owncloud/ocis/accounts/issues/43)
|
||||
* Change - Fix index update on create/update: [#57](https://github.com/owncloud/ocis/accounts/issues/57)
|
||||
* Change - Pass around the correct logger throughout the code: [#41](https://github.com/owncloud/ocis/accounts/issues/41)
|
||||
* Change - Remove timezone setting: [#33](https://github.com/owncloud/ocis/accounts/pull/33)
|
||||
* Change - Tighten screws on usernames and email addresses: [#65](https://github.com/owncloud/ocis/accounts/pull/65)
|
||||
* Enhancement - Add early version of cli tools for user-management: [#69](https://github.com/owncloud/ocis/accounts/pull/69)
|
||||
* Enhancement - Update accounts API: [#30](https://github.com/owncloud/ocis/accounts/pull/30)
|
||||
* Enhancement - Add simple user listing UI: [#51](https://github.com/owncloud/ocis/accounts/pull/51)
|
||||
|
||||
## Details
|
||||
|
||||
- Bugfix - Add write mutexes: [#71](https://github.com/owncloud/ocis/accounts/pull/71)
|
||||
* Bugfix - Add write mutexes: [#71](https://github.com/owncloud/ocis/accounts/pull/71)
|
||||
|
||||
Concurrent account or groups writes would corrupt the json file on disk, because the different
|
||||
goroutines would be treated as a single thread from the os. We introduce a mutex for account and
|
||||
group file writes each. This locks the update frequency for all accounts/groups and could be
|
||||
further improved by using a concurrent map of mutexes with a mutex per account / group. PR
|
||||
welcome.
|
||||
Concurrent account or groups writes would corrupt the json file on disk, because the different
|
||||
goroutines would be treated as a single thread from the os. We introduce a mutex for account and
|
||||
group file writes each. This locks the update frequency for all accounts/groups and could be
|
||||
further improved by using a concurrent map of mutexes with a mutex per account / group. PR
|
||||
welcome.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/71>
|
||||
https://github.com/owncloud/ocis/accounts/pull/71
|
||||
|
||||
|
||||
- Bugfix - Fix the accountId and groupId mismatch in DeleteGroup Method: [#60](https://github.com/owncloud/ocis/accounts/pull/60)
|
||||
* Bugfix - Fix the accountId and groupId mismatch in DeleteGroup Method: [#60](https://github.com/owncloud/ocis/accounts/pull/60)
|
||||
|
||||
We've fixed a bug in deleting the groups.
|
||||
We've fixed a bug in deleting the groups.
|
||||
|
||||
The accountId and GroupId were swapped when removing the member from a group after deleting the
|
||||
group.
|
||||
The accountId and GroupId were swapped when removing the member from a group after deleting the
|
||||
group.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/60>
|
||||
https://github.com/owncloud/ocis/accounts/pull/60
|
||||
|
||||
|
||||
- Bugfix - Fix index mapping: [#73](https://github.com/owncloud/ocis/accounts/issues/73)
|
||||
* Bugfix - Fix index mapping: [#73](https://github.com/owncloud/ocis/accounts/issues/73)
|
||||
|
||||
The index mapping was not being used because we were not using the right blevesearch TypeField,
|
||||
leading to username like properties like `preferred_name` and
|
||||
`on_premises_sam_account_name` to be case sensitive.
|
||||
The index mapping was not being used because we were not using the right blevesearch TypeField,
|
||||
leading to username like properties like `preferred_name` and
|
||||
`on_premises_sam_account_name` to be case sensitive.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/issues/73>
|
||||
https://github.com/owncloud/ocis/accounts/issues/73
|
||||
|
||||
|
||||
- Bugfix - Use NewNumericRangeInclusiveQuery for numeric literals: [#28](https://github.com/owncloud/ocis-glauth/issues/28)
|
||||
* Bugfix - Use NewNumericRangeInclusiveQuery for numeric literals: [#28](https://github.com/owncloud/ocis-glauth/issues/28)
|
||||
|
||||
Some LDAP properties like `uidnumber` and `gidnumber` are numeric. When an OS tries to look up a
|
||||
user it will not only try to lookup the user by username, but also by the `uidnumber`:
|
||||
`(&(objectclass=posixAccount)(uidnumber=20000))`. The accounts backend for glauth was
|
||||
sending that as a string query `uid_number eq '20000'` and has been changed to send it as
|
||||
`uid_number eq 20000`. The removed quotes allow the parser in ocis-accounts to identify the
|
||||
numeric literal and use the NewNumericRangeInclusiveQuery instead of a TermQuery.
|
||||
Some LDAP properties like `uidnumber` and `gidnumber` are numeric. When an OS tries to look up a
|
||||
user it will not only try to lookup the user by username, but also by the `uidnumber`:
|
||||
`(&(objectclass=posixAccount)(uidnumber=20000))`. The accounts backend for glauth was
|
||||
sending that as a string query `uid_number eq '20000'` and has been changed to send it as
|
||||
`uid_number eq 20000`. The removed quotes allow the parser in ocis-accounts to identify the
|
||||
numeric literal and use the NewNumericRangeInclusiveQuery instead of a TermQuery.
|
||||
|
||||
<https://github.com/owncloud/ocis-glauth/issues/28>
|
||||
<https://github.com/owncloud/ocis/accounts/pull/68>
|
||||
<https://github.com/owncloud/ocis-glauth/pull/29>
|
||||
https://github.com/owncloud/ocis-glauth/issues/28
|
||||
https://github.com/owncloud/ocis/accounts/pull/68
|
||||
https://github.com/owncloud/ocis-glauth/pull/29
|
||||
|
||||
|
||||
- Bugfix - Prevent segfault when no password is set: [#65](https://github.com/owncloud/ocis/accounts/pull/65)
|
||||
* Bugfix - Prevent segfault when no password is set: [#65](https://github.com/owncloud/ocis/accounts/pull/65)
|
||||
|
||||
Passwords are stored in a dedicated child struct of an account. We fixed several segfault
|
||||
conditions where the methods would try to unset a password when that child struct was not
|
||||
existing.
|
||||
Passwords are stored in a dedicated child struct of an account. We fixed several segfault
|
||||
conditions where the methods would try to unset a password when that child struct was not
|
||||
existing.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/65>
|
||||
https://github.com/owncloud/ocis/accounts/pull/65
|
||||
|
||||
|
||||
- Bugfix - Update account return value not used: [#70](https://github.com/owncloud/ocis/accounts/pull/70)
|
||||
* Bugfix - Update account return value not used: [#70](https://github.com/owncloud/ocis/accounts/pull/70)
|
||||
|
||||
In order to return a value using the micro go code we need to override the `out` value.
|
||||
In order to return a value using the micro go code we need to override the `out` value.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/70>
|
||||
https://github.com/owncloud/ocis/accounts/pull/70
|
||||
|
||||
|
||||
- Bugfix - Build docker images with alpine:latest instead of alpine:edge: [#64](https://github.com/owncloud/ocis/accounts/pull/64)
|
||||
* Bugfix - Build docker images with alpine:latest instead of alpine:edge: [#64](https://github.com/owncloud/ocis/accounts/pull/64)
|
||||
|
||||
ARM builds were failing when built on alpine:edge, so we switched to alpine:latest instead.
|
||||
ARM builds were failing when built on alpine:edge, so we switched to alpine:latest instead.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/64>
|
||||
https://github.com/owncloud/ocis/accounts/pull/64
|
||||
|
||||
|
||||
- Change - Align structure of this extension with other extensions: [#51](https://github.com/owncloud/ocis/accounts/pull/51)
|
||||
* Change - Align structure of this extension with other extensions: [#51](https://github.com/owncloud/ocis/accounts/pull/51)
|
||||
|
||||
We aim to have a similar project structure for all our ocis extensions. This extension was
|
||||
different with regard to the structure of the server command and naming of some flag names.
|
||||
We aim to have a similar project structure for all our ocis extensions. This extension was
|
||||
different with regard to the structure of the server command and naming of some flag names.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/51>
|
||||
https://github.com/owncloud/ocis/accounts/pull/51
|
||||
|
||||
|
||||
- Change - Change api errors: [#11](https://github.com/owncloud/ocis/accounts/issues/11)
|
||||
* Change - Change api errors: [#11](https://github.com/owncloud/ocis/accounts/issues/11)
|
||||
|
||||
Replaced the plain golang errors with the error model from the micro framework.
|
||||
Replaced the plain golang errors with the error model from the micro framework.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/issues/11>
|
||||
https://github.com/owncloud/ocis/accounts/issues/11
|
||||
|
||||
|
||||
- Change - Enable accounts on creation: [#43](https://github.com/owncloud/ocis/accounts/issues/43)
|
||||
* Change - Enable accounts on creation: [#43](https://github.com/owncloud/ocis/accounts/issues/43)
|
||||
|
||||
Accounts have been created with the account_enabled flag set to false. Now when they are
|
||||
created accounts will be enabled per default.
|
||||
Accounts have been created with the account_enabled flag set to false. Now when they are
|
||||
created accounts will be enabled per default.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/issues/43>
|
||||
https://github.com/owncloud/ocis/accounts/issues/43
|
||||
|
||||
|
||||
- Change - Fix index update on create/update: [#57](https://github.com/owncloud/ocis/accounts/issues/57)
|
||||
* Change - Fix index update on create/update: [#57](https://github.com/owncloud/ocis/accounts/issues/57)
|
||||
|
||||
We fixed a bug in creating/updating accounts and groups, that caused new entities not to show up
|
||||
in list queries.
|
||||
We fixed a bug in creating/updating accounts and groups, that caused new entities not to show up
|
||||
in list queries.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/issues/57>
|
||||
<https://github.com/owncloud/ocis/accounts/pull/59>
|
||||
https://github.com/owncloud/ocis/accounts/issues/57
|
||||
https://github.com/owncloud/ocis/accounts/pull/59
|
||||
|
||||
|
||||
- Change - Pass around the correct logger throughout the code: [#41](https://github.com/owncloud/ocis/accounts/issues/41)
|
||||
* Change - Pass around the correct logger throughout the code: [#41](https://github.com/owncloud/ocis/accounts/issues/41)
|
||||
|
||||
Pass around the logger to have consistent log formatting, log level, etc.
|
||||
Pass around the logger to have consistent log formatting, log level, etc.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/issues/41>
|
||||
<https://github.com/owncloud/ocis/accounts/pull/48>
|
||||
https://github.com/owncloud/ocis/accounts/issues/41
|
||||
https://github.com/owncloud/ocis/accounts/pull/48
|
||||
|
||||
|
||||
- Change - Remove timezone setting: [#33](https://github.com/owncloud/ocis/accounts/pull/33)
|
||||
* Change - Remove timezone setting: [#33](https://github.com/owncloud/ocis/accounts/pull/33)
|
||||
|
||||
We had a timezone setting in our profile settings bundle. As we're not dealing with a timezone
|
||||
yet it would be confusing for the user to have a timezone setting available. We removed it, until
|
||||
we have a timezone implementation available in ocis-web.
|
||||
We had a timezone setting in our profile settings bundle. As we're not dealing with a timezone
|
||||
yet it would be confusing for the user to have a timezone setting available. We removed it, until
|
||||
we have a timezone implementation available in ocis-web.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/33>
|
||||
https://github.com/owncloud/ocis/accounts/pull/33
|
||||
|
||||
|
||||
- Change - Tighten screws on usernames and email addresses: [#65](https://github.com/owncloud/ocis/accounts/pull/65)
|
||||
* Change - Tighten screws on usernames and email addresses: [#65](https://github.com/owncloud/ocis/accounts/pull/65)
|
||||
|
||||
In order to match accounts to the OIDC claims we currently rely on the email address or username
|
||||
to be present. We force both to match the [W3C recommended
|
||||
regex](https://www.w3.org/TR/2016/REC-html51-20161101/sec-forms.html#valid-e-mail-address)
|
||||
with usernames having to start with a character or `_`. This allows the username to be presented
|
||||
and used in ACLs when integrating the os with the glauth LDAP service of ocis.
|
||||
In order to match accounts to the OIDC claims we currently rely on the email address or username
|
||||
to be present. We force both to match the [W3C recommended
|
||||
regex](https://www.w3.org/TR/2016/REC-html51-20161101/sec-forms.html#valid-e-mail-address)
|
||||
with usernames having to start with a character or `_`. This allows the username to be presented
|
||||
and used in ACLs when integrating the os with the glauth LDAP service of ocis.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/65>
|
||||
https://github.com/owncloud/ocis/accounts/pull/65
|
||||
|
||||
|
||||
- Enhancement - Add early version of cli tools for user-management: [#69](https://github.com/owncloud/ocis/accounts/pull/69)
|
||||
* Enhancement - Add early version of cli tools for user-management: [#69](https://github.com/owncloud/ocis/accounts/pull/69)
|
||||
|
||||
Following commands are available:
|
||||
Following commands are available:
|
||||
|
||||
List, ls List existing accounts add, create, Create a new account update Make changes to an
|
||||
existing account remove, rm Removes an existing account inspect Show detailed data on an
|
||||
existing account
|
||||
List, ls List existing accounts add, create, Create a new account update Make changes to an
|
||||
existing account remove, rm Removes an existing account inspect Show detailed data on an
|
||||
existing account
|
||||
|
||||
See --help for details.
|
||||
See --help for details.
|
||||
|
||||
Note that not all account-attributes have an effect yet. This is due to ocis being in an early
|
||||
development stage.
|
||||
Note that not all account-attributes have an effect yet. This is due to ocis being in an early
|
||||
development stage.
|
||||
|
||||
<https://github.com/owncloud/product/issues/115>
|
||||
<https://github.com/owncloud/ocis/accounts/pull/69>
|
||||
https://github.com/owncloud/product/issues/115
|
||||
https://github.com/owncloud/ocis/accounts/pull/69
|
||||
|
||||
|
||||
- Enhancement - Update accounts API: [#30](https://github.com/owncloud/ocis/accounts/pull/30)
|
||||
* Enhancement - Update accounts API: [#30](https://github.com/owncloud/ocis/accounts/pull/30)
|
||||
|
||||
We updated the api to allow fetching users not onyl by UUID, but also by identity (OpenID issuer
|
||||
and subject) email, username and optionally a password.
|
||||
We updated the api to allow fetching users not onyl by UUID, but also by identity (OpenID issuer
|
||||
and subject) email, username and optionally a password.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/30>
|
||||
https://github.com/owncloud/ocis/accounts/pull/30
|
||||
|
||||
|
||||
- Enhancement - Add simple user listing UI: [#51](https://github.com/owncloud/ocis/accounts/pull/51)
|
||||
* Enhancement - Add simple user listing UI: [#51](https://github.com/owncloud/ocis/accounts/pull/51)
|
||||
|
||||
We added an extension for ocis-web that shows a simple list of all existing users.
|
||||
We added an extension for ocis-web that shows a simple list of all existing users.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/51>
|
||||
https://github.com/owncloud/ocis/accounts/pull/51
|
||||
|
||||
# Changelog for [0.1.1] \(2020-04-29)
|
||||
# Changelog for [0.1.1] (2020-04-29)
|
||||
|
||||
The following sections list the changes in ocis-accounts 0.1.1.
|
||||
|
||||
@@ -395,18 +395,18 @@ The following sections list the changes in ocis-accounts 0.1.1.
|
||||
|
||||
## Summary
|
||||
|
||||
- Enhancement - Logging is configurable: [#24](https://github.com/owncloud/ocis/accounts/pull/24)
|
||||
* Enhancement - Logging is configurable: [#24](https://github.com/owncloud/ocis/accounts/pull/24)
|
||||
|
||||
## Details
|
||||
|
||||
- Enhancement - Logging is configurable: [#24](https://github.com/owncloud/ocis/accounts/pull/24)
|
||||
* Enhancement - Logging is configurable: [#24](https://github.com/owncloud/ocis/accounts/pull/24)
|
||||
|
||||
ACCOUNTS_LOG_\* env-vars or cli-flags can be used for logging configuration. See --help for
|
||||
more details.
|
||||
ACCOUNTS_LOG_* env-vars or cli-flags can be used for logging configuration. See --help for
|
||||
more details.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/24>
|
||||
https://github.com/owncloud/ocis/accounts/pull/24
|
||||
|
||||
# Changelog for [0.1.0] \(2020-03-18)
|
||||
# Changelog for [0.1.0] (2020-03-18)
|
||||
|
||||
The following sections list the changes in ocis-accounts 0.1.0.
|
||||
|
||||
@@ -414,21 +414,22 @@ The following sections list the changes in ocis-accounts 0.1.0.
|
||||
|
||||
## Summary
|
||||
|
||||
- Change - Initial release of basic version: [#1](https://github.com/owncloud/ocis/accounts/issues/1)
|
||||
- Enhancement - Configuration: [#15](https://github.com/owncloud/ocis/accounts/pull/15)
|
||||
* Change - Initial release of basic version: [#1](https://github.com/owncloud/ocis/accounts/issues/1)
|
||||
* Enhancement - Configuration: [#15](https://github.com/owncloud/ocis/accounts/pull/15)
|
||||
|
||||
## Details
|
||||
|
||||
- Change - Initial release of basic version: [#1](https://github.com/owncloud/ocis/accounts/issues/1)
|
||||
* Change - Initial release of basic version: [#1](https://github.com/owncloud/ocis/accounts/issues/1)
|
||||
|
||||
Just prepared an initial basic version.
|
||||
Just prepared an initial basic version.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/issues/1>
|
||||
https://github.com/owncloud/ocis/accounts/issues/1
|
||||
|
||||
|
||||
- Enhancement - Configuration: [#15](https://github.com/owncloud/ocis/accounts/pull/15)
|
||||
* Enhancement - Configuration: [#15](https://github.com/owncloud/ocis/accounts/pull/15)
|
||||
|
||||
Extensions should be responsible of configuring themselves. We use Viper for config loading
|
||||
from default paths. Environment variables **WILL** take precedence over config files.
|
||||
Extensions should be responsible of configuring themselves. We use Viper for config loading
|
||||
from default paths. Environment variables **WILL** take precedence over config files.
|
||||
|
||||
https://github.com/owncloud/ocis/accounts/pull/15
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/15>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
[](https://cloud.drone.io/owncloud/ocis-accounts)
|
||||
[](https://gitter.im/cs3org/reva)
|
||||
[](https://www.codacy.com/gh/owncloud/ocis-accounts?utm_source=github.com&utm_medium=referral&utm_content=owncloud/ocis-accounts&utm_campaign=Badge_Grade)
|
||||
[](https://www.codacy.com/gh/owncloud/ocis-accounts?utm_source=github.com&utm_medium=referral&utm_content=owncloud/ocis-accounts&utm_campaign=Badge_Grade)
|
||||
[](http://godoc.org/github.com/owncloud/ocis-accounts)
|
||||
[](http://goreportcard.com/report/github.com/owncloud/ocis-accounts)
|
||||
[](http://microbadger.com/images/owncloud/ocis-accounts "Get your own image badge on microbadger.com")
|
||||
@@ -12,9 +12,7 @@
|
||||
## Install
|
||||
|
||||
You can download prebuilt binaries from the GitHub releases or from our [download mirrors](http://download.owncloud.com/ocis/accounts/). For instructions how to install this on your platform you should take a look at our [documentation](https://owncloud.github.io/extensions/ocis_accounts/)
|
||||
|
||||
* * *
|
||||
|
||||
****
|
||||
## Development
|
||||
|
||||
Make sure you have a working Go environment, for further reference or a guide take a look at the [install instructions](http://golang.org/doc/install.html). This project requires Go >= v1.13.
|
||||
@@ -30,7 +28,7 @@ make generate build
|
||||
|
||||
## Security
|
||||
|
||||
If you find a security issue please contact [security@owncloud.com](mailto:security@owncloud.com) first.
|
||||
If you find a security issue please contact security@owncloud.com first.
|
||||
|
||||
## Contributing
|
||||
|
||||
|
||||
@@ -2,4 +2,4 @@ Enhancement: Configuration
|
||||
|
||||
Extensions should be responsible of configuring themselves. We use Viper for config loading from default paths. Environment variables **WILL** take precedence over config files.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/15>
|
||||
https://github.com/owncloud/ocis/accounts/pull/15
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Enhancement: Logging is configurable
|
||||
|
||||
ACCOUNTS_LOG_\* env-vars or cli-flags can be used for logging configuration. See --help for more details.
|
||||
ACCOUNTS_LOG_* env-vars or cli-flags can be used for logging configuration. See --help for more details.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/24>
|
||||
https://github.com/owncloud/ocis/accounts/pull/24
|
||||
|
||||
@@ -13,5 +13,5 @@ See --help for details.
|
||||
Note that not all account-attributes have an effect yet. This is due to ocis
|
||||
being in an early development stage.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/69>
|
||||
<https://github.com/owncloud/product/issues/115>
|
||||
https://github.com/owncloud/ocis/accounts/pull/69
|
||||
https://github.com/owncloud/product/issues/115
|
||||
|
||||
@@ -2,4 +2,4 @@ Bugfix: Add write mutexes
|
||||
|
||||
Concurrent account or groups writes would corrupt the json file on disk, because the different goroutines would be treated as a single thread from the os. We introduce a mutex for account and group file writes each. This locks the update frequency for all accounts/groups and could be further improved by using a concurrent map of mutexes with a mutex per account / group. PR welcome.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/71>
|
||||
https://github.com/owncloud/ocis/accounts/pull/71
|
||||
|
||||
@@ -2,4 +2,4 @@ Change: Align structure of this extension with other extensions
|
||||
|
||||
We aim to have a similar project structure for all our ocis extensions. This extension was different with regard to the structure of the server command and naming of some flag names.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/51>
|
||||
https://github.com/owncloud/ocis/accounts/pull/51
|
||||
|
||||
@@ -2,4 +2,5 @@ Change: change api errors
|
||||
|
||||
Replaced the plain golang errors with the error model from the micro framework.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/issues/11>
|
||||
|
||||
https://github.com/owncloud/ocis/accounts/issues/11
|
||||
|
||||
@@ -3,4 +3,4 @@ Change: Enable accounts on creation
|
||||
Accounts have been created with the account_enabled flag set to false.
|
||||
Now when they are created accounts will be enabled per default.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/issues/43>
|
||||
https://github.com/owncloud/ocis/accounts/issues/43
|
||||
|
||||
@@ -5,4 +5,4 @@ We've fixed a bug in deleting the groups.
|
||||
The accountId and GroupId were swapped when removing the member from a group after deleting
|
||||
the group.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/60>
|
||||
https://github.com/owncloud/ocis/accounts/pull/60
|
||||
|
||||
@@ -2,4 +2,4 @@ Bugfix: Fix index mapping
|
||||
|
||||
The index mapping was not being used because we were not using the right blevesearch TypeField, leading to username like properties like `preferred_name` and `on_premises_sam_account_name` to be case sensitive.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/issues/73>
|
||||
https://github.com/owncloud/ocis/accounts/issues/73
|
||||
|
||||
@@ -2,5 +2,5 @@ Change: Fix index update on create/update
|
||||
|
||||
We fixed a bug in creating/updating accounts and groups, that caused new entities not to show up in list queries.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/issues/57>
|
||||
<https://github.com/owncloud/ocis/accounts/pull/59>
|
||||
https://github.com/owncloud/ocis/accounts/issues/57
|
||||
https://github.com/owncloud/ocis/accounts/pull/59
|
||||
|
||||
@@ -2,6 +2,6 @@ Bugfix: use NewNumericRangeInclusiveQuery for numeric literals
|
||||
|
||||
Some LDAP properties like `uidnumber` and `gidnumber` are numeric. When an OS tries to look up a user it will not only try to lookup the user by username, but also by the `uidnumber`: `(&(objectclass=posixAccount)(uidnumber=20000))`. The accounts backend for glauth was sending that as a string query `uid_number eq '20000'` and has been changed to send it as `uid_number eq 20000`. The removed quotes allow the parser in ocis-accounts to identify the numeric literal and use the NewNumericRangeInclusiveQuery instead of a TermQuery.
|
||||
|
||||
<https://github.com/owncloud/ocis-glauth/issues/28>
|
||||
<https://github.com/owncloud/ocis/accounts/pull/68>
|
||||
<https://github.com/owncloud/ocis-glauth/pull/29>
|
||||
https://github.com/owncloud/ocis-glauth/issues/28
|
||||
https://github.com/owncloud/ocis/accounts/pull/68
|
||||
https://github.com/owncloud/ocis-glauth/pull/29
|
||||
|
||||
@@ -2,4 +2,4 @@ Bugfix: Prevent segfault when no password is set
|
||||
|
||||
Passwords are stored in a dedicated child struct of an account. We fixed several segfault conditions where the methods would try to unset a password when that child struct was not existing.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/65>
|
||||
https://github.com/owncloud/ocis/accounts/pull/65
|
||||
|
||||
@@ -2,4 +2,4 @@ Bugfix: Update account return value not used
|
||||
|
||||
In order to return a value using the micro go code we need to override the `out` value.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/70>
|
||||
https://github.com/owncloud/ocis/accounts/pull/70
|
||||
|
||||
@@ -2,5 +2,5 @@ Change: pass around the correct logger throughout the code
|
||||
|
||||
Pass around the logger to have consistent log formatting, log level, etc.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/issues/41>
|
||||
<https://github.com/owncloud/ocis/accounts/pull/48>
|
||||
https://github.com/owncloud/ocis/accounts/issues/41
|
||||
https://github.com/owncloud/ocis/accounts/pull/48
|
||||
|
||||
@@ -4,4 +4,4 @@ We had a timezone setting in our profile settings bundle. As we're not dealing w
|
||||
it would be confusing for the user to have a timezone setting available. We removed it, until we
|
||||
have a timezone implementation available in ocis-web.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/33>
|
||||
https://github.com/owncloud/ocis/accounts/pull/33
|
||||
|
||||
@@ -2,4 +2,4 @@ Change: Tighten screws on usernames and email addresses
|
||||
|
||||
In order to match accounts to the OIDC claims we currently rely on the email address or username to be present. We force both to match the [W3C recommended regex](https://www.w3.org/TR/2016/REC-html51-20161101/sec-forms.html#valid-e-mail-address) with usernames having to start with a character or `_`. This allows the username to be presented and used in ACLs when integrating the os with the glauth LDAP service of ocis.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/65>
|
||||
https://github.com/owncloud/ocis/accounts/pull/65
|
||||
|
||||
@@ -2,4 +2,4 @@ Enhancement: Update accounts API
|
||||
|
||||
We updated the api to allow fetching users not onyl by UUID, but also by identity (OpenID issuer and subject) email, username and optionally a password.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/30>
|
||||
https://github.com/owncloud/ocis/accounts/pull/30
|
||||
|
||||
@@ -2,4 +2,4 @@ Bugfix: build docker images with alpine:latest instead of alpine:edge
|
||||
|
||||
ARM builds were failing when built on alpine:edge, so we switched to alpine:latest instead.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/64>
|
||||
https://github.com/owncloud/ocis/accounts/pull/64
|
||||
|
||||
@@ -2,4 +2,4 @@ Enhancement: Add simple user listing UI
|
||||
|
||||
We added an extension for ocis-web that shows a simple list of all existing users.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/51>
|
||||
https://github.com/owncloud/ocis/accounts/pull/51
|
||||
|
||||
@@ -2,5 +2,5 @@ Change: Adapt to new ocis-settings data model
|
||||
|
||||
ocis-settings introduced UUIDs and less verbose endpoint and message type names. This PR adjusts ocis-accounts accordingly.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/87>
|
||||
<https://github.com/owncloud/ocis/settings/pull/46>
|
||||
https://github.com/owncloud/ocis/accounts/pull/87
|
||||
https://github.com/owncloud/ocis/settings/pull/46
|
||||
|
||||
@@ -3,4 +3,4 @@ Change: Add permissions for language to default roles
|
||||
ocis-settings has default roles and exposes the respective bundle uuids. We now added
|
||||
permissions for reading/writing the preferred language to the default roles.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/88>
|
||||
https://github.com/owncloud/ocis/accounts/pull/88
|
||||
|
||||
@@ -2,4 +2,4 @@ Bugfix: Atomic Requests
|
||||
|
||||
Operations on the file system level are now atomic. This happens only on the provisioning API.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/82>
|
||||
https://github.com/owncloud/ocis/accounts/pull/82
|
||||
|
||||
@@ -2,4 +2,4 @@ Bugfix: Unescape value for prefix query
|
||||
|
||||
Prefix queries also need to unescape token values like `'some ''ol string'` to `some 'ol string` before using it in a prefix query
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/76>
|
||||
https://github.com/owncloud/ocis/accounts/pull/76
|
||||
|
||||
@@ -3,5 +3,5 @@ Change: Add role selection to accounts UI
|
||||
We added a role selection dropdown for each account in the accounts UI. As a first iteration, this doesn't
|
||||
require account management permissions.
|
||||
|
||||
<https://github.com/owncloud/product/issues/103>
|
||||
<https://github.com/owncloud/ocis/accounts/pull/89>
|
||||
https://github.com/owncloud/product/issues/103
|
||||
https://github.com/owncloud/ocis/accounts/pull/89
|
||||
|
||||
@@ -2,4 +2,4 @@ Change: Create account api-call implicitly adds "default-user" role
|
||||
|
||||
When calling CreateAccount default-user-role is implicitly added.
|
||||
|
||||
<https://github.com/owncloud/product/issues/173>
|
||||
https://github.com/owncloud/product/issues/173
|
||||
|
||||
@@ -2,5 +2,5 @@ Enhancement: Add create account form
|
||||
|
||||
We've added a form to create new users above the accounts list.
|
||||
|
||||
<https://github.com/owncloud/product/issues/148>
|
||||
<https://github.com/owncloud/ocis/accounts/pull/115>
|
||||
https://github.com/owncloud/product/issues/148
|
||||
https://github.com/owncloud/ocis/accounts/pull/115
|
||||
|
||||
@@ -2,5 +2,5 @@ Enhancement: Add delete accounts action
|
||||
|
||||
We've added an action into the actions dropdown to enable admins to delete users.
|
||||
|
||||
<https://github.com/owncloud/product/issues/148>
|
||||
<https://github.com/owncloud/ocis/accounts/pull/115>
|
||||
https://github.com/owncloud/product/issues/148
|
||||
https://github.com/owncloud/ocis/accounts/pull/115
|
||||
|
||||
@@ -2,5 +2,5 @@ Enhancement: Add enable/disable capabilities to the WebUI
|
||||
|
||||
We've added batch actions into the accounts listing to provide options to enable and disable accounts.
|
||||
|
||||
<https://github.com/owncloud/product/issues/118>
|
||||
<https://github.com/owncloud/ocis/accounts/pull/109>
|
||||
https://github.com/owncloud/product/issues/118
|
||||
https://github.com/owncloud/ocis/accounts/pull/109
|
||||
|
||||
@@ -2,4 +2,4 @@ Change: Set user role on builtin users
|
||||
|
||||
We now set the default `user` role on our builtin users.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/102>
|
||||
https://github.com/owncloud/ocis/accounts/pull/102
|
||||
|
||||
@@ -2,4 +2,5 @@ Bugfix: initialize roleService client in GRPC server
|
||||
|
||||
We fixed the initialization of the GRPC server by also providing a roleService client and a roleManager instance.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/114>
|
||||
https://github.com/owncloud/ocis/accounts/pull/114
|
||||
|
||||
|
||||
@@ -2,5 +2,5 @@ Enhancement: Improve visual appearance of accounts UI
|
||||
|
||||
We aligned the visual appearance of the accounts UI with default ocis-web apps (full width, style of batch actions), added icons to buttons, extracted the buttons from the batch actions dropdown into individual buttons, improved the wording added a confirmation widget for the user deletion and removed the uid and gid columns.
|
||||
|
||||
<https://github.com/owncloud/product/issues/222>
|
||||
<https://github.com/owncloud/ocis/accounts/pull/116>
|
||||
https://github.com/owncloud/product/issues/222
|
||||
https://github.com/owncloud/ocis/accounts/pull/116
|
||||
|
||||
@@ -2,4 +2,4 @@ Change: Add new builtin admin user
|
||||
|
||||
We added a new builtin user `moss` and assigned the admin role.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/102>
|
||||
https://github.com/owncloud/ocis/accounts/pull/102
|
||||
|
||||
@@ -4,6 +4,7 @@ The accounts service was creating a bleve index instance in the service handler,
|
||||
|
||||
This fixes a bug that accounts created through the web ui were not able to sign in until a service restart.
|
||||
|
||||
<https://github.com/owncloud/product/issues/224>
|
||||
<https://github.com/owncloud/ocis/accounts/pull/117>
|
||||
<https://github.com/owncloud/ocis/accounts/pull/118>
|
||||
https://github.com/owncloud/product/issues/224
|
||||
https://github.com/owncloud/ocis/accounts/pull/117
|
||||
https://github.com/owncloud/ocis/accounts/pull/118
|
||||
|
||||
|
||||
@@ -2,4 +2,4 @@ Change: We make use of the roles cache to enforce permission checks
|
||||
|
||||
The roles cache and its cache update middleware are used to make permission checks possible. The permission checks take place in the accounts handler.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/100>
|
||||
https://github.com/owncloud/ocis/accounts/pull/100
|
||||
|
||||
@@ -3,5 +3,5 @@ Change: We make use of the roles manager to enforce permission checks
|
||||
The roles cache and its cache update middleware have been replaced with a roles manager in ocis-pkg/v2. We've switched
|
||||
over to the new roles manager implementation, to prepare for permission checks on grpc requests as well.
|
||||
|
||||
<https://github.com/owncloud/ocis/accounts/pull/108>
|
||||
<https://github.com/owncloud/ocis-pkg/pull/60>
|
||||
https://github.com/owncloud/ocis/accounts/pull/108
|
||||
https://github.com/owncloud/ocis-pkg/pull/60
|
||||
|
||||
@@ -1,23 +1,21 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: Accounts
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
weight: 10
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-accounts>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-accounts
|
||||
geekdocEditPath: edit/master/docs
|
||||
|
||||
## geekdocFilePath: \_index.md
|
||||
geekdocFilePath: _index.md
|
||||
---
|
||||
|
||||
[](https://github.com/owncloud/ocis-hello/blob/master/LICENSE)
|
||||
|
||||
## Abstract
|
||||
|
||||
OCIS needs to be able to identify users. Whithout a non reassignable and persistend account ID share metadata cannot be reliably persisted. `ocis-accounts` allows exchanging oidc claims for a uuid. Using a uuid allows users to change the login, mail or even openid connect provider without breaking any persisted metadata that might have been attached to it.
|
||||
|
||||
- persists accounts
|
||||
- uses graph api properties
|
||||
\-ldap can be synced using the onpremise\* attributes
|
||||
- persists accounts
|
||||
- uses graph api properties
|
||||
-ldap can be synced using the onpremise* attributes
|
||||
|
||||
## Table of Contents
|
||||
|
||||
{{< toc-tree >}}
|
||||
{{< toc-tree >}}
|
||||
@@ -1,29 +1,28 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Building"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
weight: 30
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-accounts>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-accounts
|
||||
geekdocEditPath: edit/master/docs
|
||||
geekdocFilePath: building.md
|
||||
---
|
||||
|
||||
## geekdocFilePath: building.md
|
||||
|
||||
{{< toc >}}
|
||||
{{< toc >}}
|
||||
|
||||
As this project is built with Go, so you need to install that first. The installation of Go is out of the scope of this document, please follow the official documentation for [Go](https://golang.org/doc/install), to build this project you have to install Go >= v1.13. After the installation of the required tools you need to get the sources:
|
||||
|
||||
{{< highlight txt >}}
|
||||
git clone <https://github.com/owncloud/ocis-accounts.git>
|
||||
{{< highlight txt >}}
|
||||
git clone https://github.com/owncloud/ocis-accounts.git
|
||||
cd ocis-accounts
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
All required tool besides Go itself and make are bundled or getting automatically installed within the `GOPATH`. All commands to build this project are part of our `Makefile`.
|
||||
|
||||
## Backend
|
||||
|
||||
{{< highlight txt >}}
|
||||
{{< highlight txt >}}
|
||||
make generate
|
||||
make build
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
Finally you should have the binary within the `bin/` folder now, give it a try with `./bin/ocis-accounts -h` to see all available options and subcommands.
|
||||
|
||||
@@ -1,20 +1,19 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Configuration"
|
||||
date: "2020-07-01T11:10:52+0200"
|
||||
weight: 20
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-reva>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-reva
|
||||
geekdocEditPath: edit/master/docs
|
||||
geekdocFilePath: configuration.md
|
||||
---
|
||||
|
||||
## geekdocFilePath: configuration.md
|
||||
|
||||
{{< toc >}}
|
||||
{{< toc >}}
|
||||
|
||||
## Configuration
|
||||
|
||||
oCIS Single Binary is not responsible for configuring extensions. Instead, each extension could either be configured by environment variables, cli flags or config files.
|
||||
|
||||
Each extension has its dedicated documentation page (e.g. <https://owncloud.github.io/extensions/ocis_proxy/configuration>) which lists all possible configurations. Config files and environment variables are picked up if you use the `./bin/ocis server` command within the oCIS single binary. Command line flags must be set explicitly on the extensions subcommands.
|
||||
Each extension has its dedicated documentation page (e.g. https://owncloud.github.io/extensions/ocis_proxy/configuration) which lists all possible configurations. Config files and environment variables are picked up if you use the `./bin/ocis server` command within the oCIS single binary. Command line flags must be set explicitly on the extensions subcommands.
|
||||
|
||||
### Configuration using config files
|
||||
|
||||
@@ -26,7 +25,7 @@ $HOME/.ocis
|
||||
./config
|
||||
```
|
||||
|
||||
For this configuration to be picked up, have a look at your extension `root` command and look for which default config name it has assigned. _i.e: ocis-proxy reads `proxy.json | yaml | toml ...`_.
|
||||
For this configuration to be picked up, have a look at your extension `root` command and look for which default config name it has assigned. *i.e: ocis-proxy reads `proxy.json | yaml | toml ...`*.
|
||||
|
||||
So far we support the file formats `JSON` and `YAML`, if you want to get a full example configuration just take a look at [our repository](https://github.com/owncloud/ocis/tree/master/config), there you can always see the latest configuration format. These example configurations include all available options and the default values. The configuration file will be automatically loaded if it's placed at `/etc/ocis/ocis.yml`, `${HOME}/.ocis/ocis.yml` or `$(pwd)/config/ocis.yml`.
|
||||
|
||||
@@ -44,28 +43,28 @@ Start ocis accounts service
|
||||
|
||||
Usage: `ocis-reva server [command options] [arguments...]`
|
||||
|
||||
\--http-namespace | $ACCOUNTS_HTTP_NAMESPACE
|
||||
--http-namespace | $ACCOUNTS_HTTP_NAMESPACE
|
||||
: Set the base namespace for the http namespace. Default: `com.owncloud.web`.
|
||||
|
||||
\--http-addr | $ACCOUNTS_HTTP_ADDR
|
||||
--http-addr | $ACCOUNTS_HTTP_ADDR
|
||||
: Address to bind http server. Default: `localhost:9181`.
|
||||
|
||||
\--http-root | $ACCOUNTS_HTTP_ROOT
|
||||
--http-root | $ACCOUNTS_HTTP_ROOT
|
||||
: Root path of http server. Default: `/`.
|
||||
|
||||
\--grpc-namespace | $ACCOUNTS_GRPC_NAMESPACE
|
||||
--grpc-namespace | $ACCOUNTS_GRPC_NAMESPACE
|
||||
: Set the base namespace for the grpc namespace. Default: `com.owncloud.api`.
|
||||
|
||||
\--grpc-addr | $ACCOUNTS_GRPC_ADDR
|
||||
--grpc-addr | $ACCOUNTS_GRPC_ADDR
|
||||
: Address to bind grpc server. Default: `localhost:9180`.
|
||||
|
||||
\--name | $ACCOUNTS_NAME
|
||||
--name | $ACCOUNTS_NAME
|
||||
: service name. Default: `accounts`.
|
||||
|
||||
\--accounts-data-path | $ACCOUNTS_DATA_PATH
|
||||
--accounts-data-path | $ACCOUNTS_DATA_PATH
|
||||
: accounts folder. Default: `/var/tmp/ocis-accounts`.
|
||||
|
||||
\--asset-path | $HELLO_ASSET_PATH
|
||||
--asset-path | $HELLO_ASSET_PATH
|
||||
: Path to custom assets.
|
||||
|
||||
### ocis-reva ocis-accounts
|
||||
@@ -74,11 +73,12 @@ Provide accounts and groups for oCIS
|
||||
|
||||
Usage: `ocis-reva ocis-accounts [command options] [arguments...]`
|
||||
|
||||
\--log-level | $ACCOUNTS_LOG_LEVEL
|
||||
--log-level | $ACCOUNTS_LOG_LEVEL
|
||||
: Set logging level. Default: `info`.
|
||||
|
||||
\--log-pretty | $ACCOUNTS_LOG_PRETTY
|
||||
--log-pretty | $ACCOUNTS_LOG_PRETTY
|
||||
: Enable pretty logging. Default: `true`.
|
||||
|
||||
\--log-color | $ACCOUNTS_LOG_COLOR
|
||||
--log-color | $ACCOUNTS_LOG_COLOR
|
||||
: Enable colored logging. Default: `true`.
|
||||
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Getting Started"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
weight: 20
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-accounts>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-accounts
|
||||
geekdocEditPath: edit/master/docs
|
||||
geekdocFilePath: getting-started.md
|
||||
---
|
||||
|
||||
## geekdocFilePath: getting-started.md
|
||||
|
||||
{{< toc >}}
|
||||
{{< toc >}}
|
||||
|
||||
## Installation
|
||||
|
||||
@@ -57,6 +56,6 @@ The program provides a few sub-commands on execution. The available configuratio
|
||||
|
||||
The server command is used to start the grpc server. For further help please execute:
|
||||
|
||||
{{< highlight txt >}}
|
||||
{{< highlight txt >}}
|
||||
ocis-accounts server --help
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
@@ -1,23 +1,21 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: Accounts
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
weight: 10
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-accounts>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-accounts
|
||||
geekdocEditPath: edit/master/docs
|
||||
|
||||
## geekdocFilePath: \_index.md
|
||||
geekdocFilePath: _index.md
|
||||
---
|
||||
|
||||
[](https://github.com/owncloud/ocis-hello/blob/master/LICENSE)
|
||||
|
||||
## Abstract
|
||||
|
||||
OCIS needs to be able to identify users. Whithout a non reassignable and persistend account ID share metadata cannot be reliably persisted. `ocis-accounts` allows exchanging oidc claims for a uuid. Using a uuid allows users to change the login, mail or even openid connect provider without breaking any persisted metadata that might have been attached to it.
|
||||
|
||||
- persists accounts
|
||||
- uses graph api properties
|
||||
\-ldap can be synced using the onpremise\* attributes
|
||||
- persists accounts
|
||||
- uses graph api properties
|
||||
-ldap can be synced using the onpremise* attributes
|
||||
|
||||
## Table of Contents
|
||||
|
||||
{{< toc-tree >}}
|
||||
{{< toc-tree >}}
|
||||
@@ -1,29 +1,28 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Building"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
weight: 30
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-accounts>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-accounts
|
||||
geekdocEditPath: edit/master/docs
|
||||
geekdocFilePath: building.md
|
||||
---
|
||||
|
||||
## geekdocFilePath: building.md
|
||||
|
||||
{{< toc >}}
|
||||
{{< toc >}}
|
||||
|
||||
As this project is built with Go, so you need to install that first. The installation of Go is out of the scope of this document, please follow the official documentation for [Go](https://golang.org/doc/install), to build this project you have to install Go >= v1.13. After the installation of the required tools you need to get the sources:
|
||||
|
||||
{{< highlight txt >}}
|
||||
git clone <https://github.com/owncloud/ocis-accounts.git>
|
||||
{{< highlight txt >}}
|
||||
git clone https://github.com/owncloud/ocis-accounts.git
|
||||
cd ocis-accounts
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
All required tool besides Go itself and make are bundled or getting automatically installed within the `GOPATH`. All commands to build this project are part of our `Makefile`.
|
||||
|
||||
## Backend
|
||||
|
||||
{{< highlight txt >}}
|
||||
{{< highlight txt >}}
|
||||
make generate
|
||||
make build
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
Finally you should have the binary within the `bin/` folder now, give it a try with `./bin/ocis-accounts -h` to see all available options and subcommands.
|
||||
|
||||
@@ -1,20 +1,19 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Configuration"
|
||||
date: "2020-07-01T11:10:52+0200"
|
||||
weight: 20
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-reva>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-reva
|
||||
geekdocEditPath: edit/master/docs
|
||||
geekdocFilePath: configuration.md
|
||||
---
|
||||
|
||||
## geekdocFilePath: configuration.md
|
||||
|
||||
{{< toc >}}
|
||||
{{< toc >}}
|
||||
|
||||
## Configuration
|
||||
|
||||
oCIS Single Binary is not responsible for configuring extensions. Instead, each extension could either be configured by environment variables, cli flags or config files.
|
||||
|
||||
Each extension has its dedicated documentation page (e.g. <https://owncloud.github.io/extensions/ocis_proxy/configuration>) which lists all possible configurations. Config files and environment variables are picked up if you use the `./bin/ocis server` command within the oCIS single binary. Command line flags must be set explicitly on the extensions subcommands.
|
||||
Each extension has its dedicated documentation page (e.g. https://owncloud.github.io/extensions/ocis_proxy/configuration) which lists all possible configurations. Config files and environment variables are picked up if you use the `./bin/ocis server` command within the oCIS single binary. Command line flags must be set explicitly on the extensions subcommands.
|
||||
|
||||
### Configuration using config files
|
||||
|
||||
@@ -26,7 +25,7 @@ $HOME/.ocis
|
||||
./config
|
||||
```
|
||||
|
||||
For this configuration to be picked up, have a look at your extension `root` command and look for which default config name it has assigned. _i.e: ocis-proxy reads `proxy.json | yaml | toml ...`_.
|
||||
For this configuration to be picked up, have a look at your extension `root` command and look for which default config name it has assigned. *i.e: ocis-proxy reads `proxy.json | yaml | toml ...`*.
|
||||
|
||||
So far we support the file formats `JSON` and `YAML`, if you want to get a full example configuration just take a look at [our repository](https://github.com/owncloud/ocis/tree/master/config), there you can always see the latest configuration format. These example configurations include all available options and the default values. The configuration file will be automatically loaded if it's placed at `/etc/ocis/ocis.yml`, `${HOME}/.ocis/ocis.yml` or `$(pwd)/config/ocis.yml`.
|
||||
|
||||
@@ -44,28 +43,28 @@ Start ocis accounts service
|
||||
|
||||
Usage: `ocis-reva server [command options] [arguments...]`
|
||||
|
||||
\--http-namespace | $ACCOUNTS_HTTP_NAMESPACE
|
||||
--http-namespace | $ACCOUNTS_HTTP_NAMESPACE
|
||||
: Set the base namespace for the http namespace. Default: `com.owncloud.web`.
|
||||
|
||||
\--http-addr | $ACCOUNTS_HTTP_ADDR
|
||||
--http-addr | $ACCOUNTS_HTTP_ADDR
|
||||
: Address to bind http server. Default: `localhost:9181`.
|
||||
|
||||
\--http-root | $ACCOUNTS_HTTP_ROOT
|
||||
--http-root | $ACCOUNTS_HTTP_ROOT
|
||||
: Root path of http server. Default: `/`.
|
||||
|
||||
\--grpc-namespace | $ACCOUNTS_GRPC_NAMESPACE
|
||||
--grpc-namespace | $ACCOUNTS_GRPC_NAMESPACE
|
||||
: Set the base namespace for the grpc namespace. Default: `com.owncloud.api`.
|
||||
|
||||
\--grpc-addr | $ACCOUNTS_GRPC_ADDR
|
||||
--grpc-addr | $ACCOUNTS_GRPC_ADDR
|
||||
: Address to bind grpc server. Default: `localhost:9180`.
|
||||
|
||||
\--name | $ACCOUNTS_NAME
|
||||
--name | $ACCOUNTS_NAME
|
||||
: service name. Default: `accounts`.
|
||||
|
||||
\--accounts-data-path | $ACCOUNTS_DATA_PATH
|
||||
--accounts-data-path | $ACCOUNTS_DATA_PATH
|
||||
: accounts folder. Default: `/var/tmp/ocis-accounts`.
|
||||
|
||||
\--asset-path | $HELLO_ASSET_PATH
|
||||
--asset-path | $HELLO_ASSET_PATH
|
||||
: Path to custom assets.
|
||||
|
||||
### ocis-reva ocis-accounts
|
||||
@@ -74,11 +73,12 @@ Provide accounts and groups for oCIS
|
||||
|
||||
Usage: `ocis-reva ocis-accounts [command options] [arguments...]`
|
||||
|
||||
\--log-level | $ACCOUNTS_LOG_LEVEL
|
||||
--log-level | $ACCOUNTS_LOG_LEVEL
|
||||
: Set logging level. Default: `info`.
|
||||
|
||||
\--log-pretty | $ACCOUNTS_LOG_PRETTY
|
||||
--log-pretty | $ACCOUNTS_LOG_PRETTY
|
||||
: Enable pretty logging. Default: `true`.
|
||||
|
||||
\--log-color | $ACCOUNTS_LOG_COLOR
|
||||
--log-color | $ACCOUNTS_LOG_COLOR
|
||||
: Enable colored logging. Default: `true`.
|
||||
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Getting Started"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
weight: 20
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-accounts>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-accounts
|
||||
geekdocEditPath: edit/master/docs
|
||||
geekdocFilePath: getting-started.md
|
||||
---
|
||||
|
||||
## geekdocFilePath: getting-started.md
|
||||
|
||||
{{< toc >}}
|
||||
{{< toc >}}
|
||||
|
||||
## Installation
|
||||
|
||||
@@ -57,6 +56,6 @@ The program provides a few sub-commands on execution. The available configuratio
|
||||
|
||||
The server command is used to start the grpc server. For further help please execute:
|
||||
|
||||
{{< highlight txt >}}
|
||||
{{< highlight txt >}}
|
||||
ocis-accounts server --help
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
@@ -1,15 +1,14 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "GLAuth"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
weight: 10
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-glauth>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-glauth
|
||||
geekdocEditPath: edit/master/docs
|
||||
|
||||
## geekdocFilePath: \_index.md
|
||||
geekdocFilePath: _index.md
|
||||
---
|
||||
|
||||
This service provides a simple glauth world API which can be used by clients or other extensions.
|
||||
|
||||
- reiner proxy
|
||||
ldap für eos und firewall
|
||||
- backend ist der accounts service
|
||||
- reiner proxy
|
||||
ldap für eos und firewall
|
||||
- backend ist der accounts service
|
||||
@@ -1,29 +1,28 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Building"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
weight: 30
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-glauth>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-glauth
|
||||
geekdocEditPath: edit/master/docs
|
||||
geekdocFilePath: building.md
|
||||
---
|
||||
|
||||
## geekdocFilePath: building.md
|
||||
|
||||
{{< toc >}}
|
||||
{{< toc >}}
|
||||
|
||||
As this project is built with Go, so you need to install that first. The installation of Go is out of the scope of this document, please follow the official documentation for [Go](https://golang.org/doc/install), to build this project you have to install Go >= v1.13. After the installation of the required tools you need to get the sources:
|
||||
|
||||
{{< highlight txt >}}
|
||||
git clone <https://github.com/owncloud/ocis-glauth.git>
|
||||
{{< highlight txt >}}
|
||||
git clone https://github.com/owncloud/ocis-glauth.git
|
||||
cd ocis-glauth
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
All required tool besides Go itself and make are bundled or getting automatically installed within the `GOPATH`. All commands to build this project are part of our `Makefile`.
|
||||
|
||||
## Backend
|
||||
|
||||
{{< highlight txt >}}
|
||||
{{< highlight txt >}}
|
||||
make generate
|
||||
make build
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
Finally you should have the binary within the `bin/` folder now, give it a try with `./bin/ocis-glauth -h` to see all available options.
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Getting Started"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
weight: 20
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-glauth>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-glauth
|
||||
geekdocEditPath: edit/master/docs
|
||||
geekdocFilePath: getting-started.md
|
||||
---
|
||||
|
||||
## geekdocFilePath: getting-started.md
|
||||
|
||||
{{< toc >}}
|
||||
{{< toc >}}
|
||||
|
||||
## Installation
|
||||
|
||||
@@ -93,59 +92,59 @@ If you prefer to configure the service with commandline flags you can see the av
|
||||
|
||||
#### Global
|
||||
|
||||
\--config-file
|
||||
--config-file
|
||||
: Path to config file, empty default value
|
||||
|
||||
\--log-level
|
||||
--log-level
|
||||
: Set logging level, defaults to `info`
|
||||
|
||||
\--log-color
|
||||
--log-color
|
||||
: Enable colored logging, defaults to `true`
|
||||
|
||||
\--log-pretty
|
||||
--log-pretty
|
||||
: Enable pretty logging, defaults to `true`
|
||||
|
||||
#### Server
|
||||
|
||||
\--tracing-enabled
|
||||
--tracing-enabled
|
||||
: Enable sending traces, defaults to `false`
|
||||
|
||||
\--tracing-type
|
||||
--tracing-type
|
||||
: Tracing backend type, defaults to `jaeger`
|
||||
|
||||
\--tracing-endpoint
|
||||
--tracing-endpoint
|
||||
: Endpoint for the agent, empty default value
|
||||
|
||||
\--tracing-collector
|
||||
--tracing-collector
|
||||
: Endpoint for the collector, empty default value
|
||||
|
||||
\--tracing-service
|
||||
--tracing-service
|
||||
: Service name for tracing, defaults to `glauth`
|
||||
|
||||
\--debug-addr
|
||||
--debug-addr
|
||||
: Address to bind debug server, defaults to `0.0.0.0:9124`
|
||||
|
||||
\--debug-token
|
||||
--debug-token
|
||||
: Token to grant metrics access, empty default value
|
||||
|
||||
\--debug-pprof
|
||||
--debug-pprof
|
||||
: Enable pprof debugging, defaults to `false`
|
||||
|
||||
\--debug-zpages
|
||||
--debug-zpages
|
||||
: Enable zpages debugging, defaults to `false`
|
||||
|
||||
\--http-addr
|
||||
--http-addr
|
||||
: Address to bind http server, defaults to `0.0.0.0:9120`
|
||||
|
||||
\--http-namespace
|
||||
--http-namespace
|
||||
: Namespace for internal services communication, defaults to `com.owncloud.web`
|
||||
|
||||
\--http-root
|
||||
--http-root
|
||||
: Root path of http server, defaults to `/`
|
||||
|
||||
#### Health
|
||||
|
||||
\--debug-addr
|
||||
--debug-addr
|
||||
: Address to debug endpoint, defaults to `0.0.0.0:9124`
|
||||
|
||||
### Configuration file
|
||||
@@ -160,17 +159,17 @@ The program provides a few sub-commands on execution. The available configuratio
|
||||
|
||||
The server command is used to start the http and debug server on two addresses within a single process. The http server is serving the general webservice while the debug server is used for health check, readiness check and to server the metrics mentioned below. For further help please execute:
|
||||
|
||||
{{< highlight txt >}}
|
||||
{{< highlight txt >}}
|
||||
ocis-glauth server --help
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
### Health
|
||||
|
||||
The health command is used to execute a health check, if the exit code equals zero the service should be up and running, if the exist code is greater than zero the service is not in a healthy state. Generally this command is used within our Docker containers, it could also be used within Kubernetes.
|
||||
|
||||
{{< highlight txt >}}
|
||||
{{< highlight txt >}}
|
||||
ocis-glauth health --help
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
## Metrics
|
||||
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "License"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
weight: 40
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-glauth>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-glauth
|
||||
geekdocEditPath: edit/master/docs
|
||||
|
||||
## geekdocFilePath: license.md
|
||||
geekdocFilePath: license.md
|
||||
---
|
||||
|
||||
This project is licensed under the [Apache 2.0](https://github.com/owncloud/ocis/glauth/blob/master/LICENSE) license. For the license of the used libraries you have to check the respective sources.
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "{{ replace .TranslationBaseName "-" " " | title }}"
|
||||
date: {{ .Date }}
|
||||
anchor: "{{ replace .TranslationBaseName "-" " " | title | urlize }}"
|
||||
|
||||
## weight:
|
||||
weight:
|
||||
---
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "About"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
anchor: "about"
|
||||
|
||||
## weight: 10
|
||||
weight: 10
|
||||
---
|
||||
|
||||
This service provides a simple graph world API which can be used by clients or other extensions.
|
||||
|
||||
@@ -1,25 +1,24 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Building"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
anchor: "building"
|
||||
|
||||
## weight: 30
|
||||
weight: 30
|
||||
---
|
||||
|
||||
As this project is built with Go, so you need to install that first. The installation of Go is out of the scope of this document, please follow the official documentation for [Go](https://golang.org/doc/install), to build this project you have to install Go >= v1.13. After the installation of the required tools you need to get the sources:
|
||||
|
||||
{{< highlight txt >}}
|
||||
git clone <https://github.com/owncloud/ocis-graph.git>
|
||||
{{< highlight txt >}}
|
||||
git clone https://github.com/owncloud/ocis-graph.git
|
||||
cd ocis-graph
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
All required tool besides Go itself and make are bundled or getting automatically installed within the `GOPATH`. All commands to build this project are part of our `Makefile`.
|
||||
|
||||
### Backend
|
||||
|
||||
{{< highlight txt >}}
|
||||
{{< highlight txt >}}
|
||||
make generate
|
||||
make build
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
Finally you should have the binary within the `bin/` folder now, give it a try with `./bin/ocis-graph -h` to see all available options.
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Getting Started"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
anchor: "getting-started"
|
||||
|
||||
## weight: 20
|
||||
weight: 20
|
||||
---
|
||||
|
||||
### Installation
|
||||
|
||||
@@ -86,59 +85,59 @@ If you prefer to configure the service with commandline flags you can see the av
|
||||
|
||||
##### Global
|
||||
|
||||
\--config-file
|
||||
--config-file
|
||||
: Path to config file, empty default value
|
||||
|
||||
\--log-level
|
||||
--log-level
|
||||
: Set logging level, defaults to `info`
|
||||
|
||||
\--log-color
|
||||
--log-color
|
||||
: Enable colored logging, defaults to `true`
|
||||
|
||||
\--log-pretty
|
||||
--log-pretty
|
||||
: Enable pretty logging, defaults to `true`
|
||||
|
||||
##### Server
|
||||
|
||||
\--tracing-enabled
|
||||
--tracing-enabled
|
||||
: Enable sending traces, defaults to `false`
|
||||
|
||||
\--tracing-type
|
||||
--tracing-type
|
||||
: Tracing backend type, defaults to `jaeger`
|
||||
|
||||
\--tracing-endpoint
|
||||
--tracing-endpoint
|
||||
: Endpoint for the agent, empty default value
|
||||
|
||||
\--tracing-collector
|
||||
--tracing-collector
|
||||
: Endpoint for the collector, empty default value
|
||||
|
||||
\--tracing-service
|
||||
--tracing-service
|
||||
: Service name for tracing, defaults to `graph`
|
||||
|
||||
\--debug-addr
|
||||
--debug-addr
|
||||
: Address to bind debug server, defaults to `0.0.0.0:9124`
|
||||
|
||||
\--debug-token
|
||||
--debug-token
|
||||
: Token to grant metrics access, empty default value
|
||||
|
||||
\--debug-pprof
|
||||
--debug-pprof
|
||||
: Enable pprof debugging, defaults to `false`
|
||||
|
||||
\--debug-zpages
|
||||
--debug-zpages
|
||||
: Enable zpages debugging, defaults to `false`
|
||||
|
||||
\--http-addr
|
||||
--http-addr
|
||||
: Address to bind http server, defaults to `0.0.0.0:9120`
|
||||
|
||||
\--http-namespace
|
||||
--http-namespace
|
||||
: Namespace for internal services communication, defaults to `com.owncloud.web`
|
||||
|
||||
\--http-root
|
||||
--http-root
|
||||
: Root path of http server, defaults to `/`
|
||||
|
||||
##### Health
|
||||
|
||||
\--debug-addr
|
||||
--debug-addr
|
||||
: Address to debug endpoint, defaults to `0.0.0.0:9124`
|
||||
|
||||
#### Configuration file
|
||||
@@ -153,17 +152,17 @@ The program provides a few sub-commands on execution. The available configuratio
|
||||
|
||||
The server command is used to start the http and debug server on two addresses within a single process. The http server is serving the general webservice while the debug server is used for health check, readiness check and to server the metrics mentioned below. For further help please execute:
|
||||
|
||||
{{< highlight txt >}}
|
||||
{{< highlight txt >}}
|
||||
ocis-graph server --help
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
#### Health
|
||||
|
||||
The health command is used to execute a health check, if the exit code equals zero the service should be up and running, if the exist code is greater than zero the service is not in a healthy state. Generally this command is used within our Docker containers, it could also be used within Kubernetes.
|
||||
|
||||
{{< highlight txt >}}
|
||||
{{< highlight txt >}}
|
||||
ocis-graph health --help
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
### Metrics
|
||||
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "License"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
anchor: "license"
|
||||
|
||||
## weight: 40
|
||||
weight: 40
|
||||
---
|
||||
|
||||
This project is licensed under the [Apache 2.0](https://github.com/owncloud/ocis/graph/blob/master/LICENSE) license. For the license of the used libraries you have to check the respective sources.
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: Konnectd
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-konnectd>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-konnectd
|
||||
geekdocEditPath: edit/master/docs
|
||||
|
||||
## geekdocFilePath: \_index.md
|
||||
geekdocFilePath: _index.md
|
||||
---
|
||||
|
||||
This service provides an OpenID Connect provider which is the default way to authenticate in OCIS.
|
||||
|
||||
@@ -1,29 +1,28 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Building"
|
||||
date: 2020-02-21T00:00:00+00:00
|
||||
weight: 30
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-konnectd>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-konnectd
|
||||
geekdocEditPath: edit/master/docs
|
||||
geekdocFilePath: building.md
|
||||
---
|
||||
|
||||
## geekdocFilePath: building.md
|
||||
|
||||
{{< toc >}}
|
||||
{{< toc >}}
|
||||
|
||||
As this project is built with Go, so you need to install that first. The installation of Go is out of the scope of this document, please follow the official documentation for [Go](https://golang.org/doc/install), to build this project you have to install Go >= v1.13. After the installation of the required tools you need to get the sources:
|
||||
|
||||
{{< highlight txt >}}
|
||||
git clone <https://github.com/owncloud/ocis-konnectd.git>
|
||||
{{< highlight txt >}}
|
||||
git clone https://github.com/owncloud/ocis-konnectd.git
|
||||
cd ocis-konnectd
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
All required tool besides Go itself and make are bundled or getting automatically installed within the `GOPATH`. All commands to build this project are part of our `Makefile`.
|
||||
|
||||
## Backend
|
||||
|
||||
{{< highlight txt >}}
|
||||
{{< highlight txt >}}
|
||||
make generate
|
||||
make build
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
Finally you should have the binary within the `bin/` folder now, give it a try with `./bin/ocis-konnectd -h` to see all available options and subcommands.
|
||||
|
||||
@@ -1,20 +1,19 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Configuration"
|
||||
date: "2020-09-21T13:14:47+0200"
|
||||
weight: 20
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-konnectd>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-konnectd
|
||||
geekdocEditPath: edit/master/docs
|
||||
geekdocFilePath: configuration.md
|
||||
---
|
||||
|
||||
## geekdocFilePath: configuration.md
|
||||
|
||||
{{< toc >}}
|
||||
{{< toc >}}
|
||||
|
||||
## Configuration
|
||||
|
||||
oCIS Single Binary is not responsible for configuring extensions. Instead, each extension could either be configured by environment variables, cli flags or config files.
|
||||
|
||||
Each extension has its dedicated documentation page (e.g. <https://owncloud.github.io/extensions/ocis_proxy/configuration>) which lists all possible configurations. Config files and environment variables are picked up if you use the `./bin/ocis server` command within the oCIS single binary. Command line flags must be set explicitly on the extensions subcommands.
|
||||
Each extension has its dedicated documentation page (e.g. https://owncloud.github.io/extensions/ocis_proxy/configuration) which lists all possible configurations. Config files and environment variables are picked up if you use the `./bin/ocis server` command within the oCIS single binary. Command line flags must be set explicitly on the extensions subcommands.
|
||||
|
||||
### Configuration using config files
|
||||
|
||||
@@ -26,7 +25,7 @@ $HOME/.ocis
|
||||
./config
|
||||
```
|
||||
|
||||
For this configuration to be picked up, have a look at your extension `root` command and look for which default config name it has assigned. _i.e: ocis-proxy reads `proxy.json | yaml | toml ...`_.
|
||||
For this configuration to be picked up, have a look at your extension `root` command and look for which default config name it has assigned. *i.e: ocis-proxy reads `proxy.json | yaml | toml ...`*.
|
||||
|
||||
So far we support the file formats `JSON` and `YAML`, if you want to get a full example configuration just take a look at [our repository](https://github.com/owncloud/ocis/tree/master/config), there you can always see the latest configuration format. These example configurations include all available options and the default values. The configuration file will be automatically loaded if it's placed at `/etc/ocis/ocis.yml`, `${HOME}/.ocis/ocis.yml` or `$(pwd)/config/ocis.yml`.
|
||||
|
||||
@@ -44,16 +43,16 @@ Serve Konnectd API for oCIS
|
||||
|
||||
Usage: `ocis-konnectd [global options] command [command options] [arguments...]`
|
||||
|
||||
\--config-file | $KONNECTD_CONFIG_FILE
|
||||
--config-file | $KONNECTD_CONFIG_FILE
|
||||
: Path to config file.
|
||||
|
||||
\--log-level | $KONNECTD_LOG_LEVEL
|
||||
--log-level | $KONNECTD_LOG_LEVEL
|
||||
: Set logging level. Default: `info`.
|
||||
|
||||
\--log-pretty | $KONNECTD_LOG_PRETTY
|
||||
--log-pretty | $KONNECTD_LOG_PRETTY
|
||||
: Enable pretty logging. Default: `true`.
|
||||
|
||||
\--log-color | $KONNECTD_LOG_COLOR
|
||||
--log-color | $KONNECTD_LOG_COLOR
|
||||
: Enable colored logging. Default: `true`.
|
||||
|
||||
## Sub Commands
|
||||
@@ -64,7 +63,7 @@ Check health status
|
||||
|
||||
Usage: `ocis-konnectd health [command options] [arguments...]`
|
||||
|
||||
\--debug-addr | $KONNECTD_DEBUG_ADDR
|
||||
--debug-addr | $KONNECTD_DEBUG_ADDR
|
||||
: Address to debug endpoint. Default: `0.0.0.0:9134`.
|
||||
|
||||
### ocis-konnectd server
|
||||
@@ -73,104 +72,105 @@ Start integrated server
|
||||
|
||||
Usage: `ocis-konnectd server [command options] [arguments...]`
|
||||
|
||||
\--tracing-enabled | $KONNECTD_TRACING_ENABLED
|
||||
--tracing-enabled | $KONNECTD_TRACING_ENABLED
|
||||
: Enable sending traces.
|
||||
|
||||
\--tracing-type | $KONNECTD_TRACING_TYPE
|
||||
--tracing-type | $KONNECTD_TRACING_TYPE
|
||||
: Tracing backend type. Default: `jaeger`.
|
||||
|
||||
\--tracing-endpoint | $KONNECTD_TRACING_ENDPOINT
|
||||
--tracing-endpoint | $KONNECTD_TRACING_ENDPOINT
|
||||
: Endpoint for the agent.
|
||||
|
||||
\--tracing-collector | $KONNECTD_TRACING_COLLECTOR
|
||||
--tracing-collector | $KONNECTD_TRACING_COLLECTOR
|
||||
: Endpoint for the collector.
|
||||
|
||||
\--tracing-service | $KONNECTD_TRACING_SERVICE
|
||||
--tracing-service | $KONNECTD_TRACING_SERVICE
|
||||
: Service name for tracing. Default: `konnectd`.
|
||||
|
||||
\--debug-addr | $KONNECTD_DEBUG_ADDR
|
||||
--debug-addr | $KONNECTD_DEBUG_ADDR
|
||||
: Address to bind debug server. Default: `0.0.0.0:9134`.
|
||||
|
||||
\--debug-token | $KONNECTD_DEBUG_TOKEN
|
||||
--debug-token | $KONNECTD_DEBUG_TOKEN
|
||||
: Token to grant metrics access.
|
||||
|
||||
\--debug-pprof | $KONNECTD_DEBUG_PPROF
|
||||
--debug-pprof | $KONNECTD_DEBUG_PPROF
|
||||
: Enable pprof debugging.
|
||||
|
||||
\--debug-zpages | $KONNECTD_DEBUG_ZPAGES
|
||||
--debug-zpages | $KONNECTD_DEBUG_ZPAGES
|
||||
: Enable zpages debugging.
|
||||
|
||||
\--http-addr | $KONNECTD_HTTP_ADDR
|
||||
--http-addr | $KONNECTD_HTTP_ADDR
|
||||
: Address to bind http server. Default: `0.0.0.0:9130`.
|
||||
|
||||
\--http-root | $KONNECTD_HTTP_ROOT
|
||||
--http-root | $KONNECTD_HTTP_ROOT
|
||||
: Root path of http server. Default: `/`.
|
||||
|
||||
\--http-namespace | $KONNECTD_HTTP_NAMESPACE
|
||||
--http-namespace | $KONNECTD_HTTP_NAMESPACE
|
||||
: Set the base namespace for service discovery. Default: `com.owncloud.web`.
|
||||
|
||||
\--identity-manager | $KONNECTD_IDENTITY_MANAGER
|
||||
--identity-manager | $KONNECTD_IDENTITY_MANAGER
|
||||
: Identity manager (one of ldap,kc,cookie,dummy). Default: `ldap`.
|
||||
|
||||
\--transport-tls-cert | $KONNECTD_TRANSPORT_TLS_CERT
|
||||
--transport-tls-cert | $KONNECTD_TRANSPORT_TLS_CERT
|
||||
: Certificate file for transport encryption.
|
||||
|
||||
\--transport-tls-key | $KONNECTD_TRANSPORT_TLS_KEY
|
||||
--transport-tls-key | $KONNECTD_TRANSPORT_TLS_KEY
|
||||
: Secret file for transport encryption.
|
||||
|
||||
\--iss | $KONNECTD_ISS
|
||||
--iss | $KONNECTD_ISS
|
||||
: OIDC issuer URL. Default: `https://localhost:9200`.
|
||||
|
||||
\--signing-kid | $KONNECTD_SIGNING_KID
|
||||
--signing-kid | $KONNECTD_SIGNING_KID
|
||||
: Value of kid field to use in created tokens (uniquely identifying the signing-private-key).
|
||||
|
||||
\--validation-keys-path | $KONNECTD_VALIDATION_KEYS_PATH
|
||||
--validation-keys-path | $KONNECTD_VALIDATION_KEYS_PATH
|
||||
: Full path to a folder containg PEM encoded private or public key files used for token validaton (file name without extension is used as kid).
|
||||
|
||||
\--encryption-secret | $KONNECTD_ENCRYPTION_SECRET
|
||||
--encryption-secret | $KONNECTD_ENCRYPTION_SECRET
|
||||
: Full path to a file containing a %d bytes secret key.
|
||||
|
||||
\--signing-method | $KONNECTD_SIGNING_METHOD
|
||||
--signing-method | $KONNECTD_SIGNING_METHOD
|
||||
: JWT default signing method. Default: `PS256`.
|
||||
|
||||
\--uri-base-path | $KONNECTD_URI_BASE_PATH
|
||||
--uri-base-path | $KONNECTD_URI_BASE_PATH
|
||||
: Custom base path for URI endpoints.
|
||||
|
||||
\--sign-in-uri | $KONNECTD_SIGN_IN_URI
|
||||
--sign-in-uri | $KONNECTD_SIGN_IN_URI
|
||||
: Custom redirection URI to sign-in form.
|
||||
|
||||
\--signed-out-uri | $KONNECTD_SIGN_OUT_URI
|
||||
--signed-out-uri | $KONNECTD_SIGN_OUT_URI
|
||||
: Custom redirection URI to signed-out goodbye page.
|
||||
|
||||
\--authorization-endpoint-uri | $KONNECTD_ENDPOINT_URI
|
||||
--authorization-endpoint-uri | $KONNECTD_ENDPOINT_URI
|
||||
: Custom authorization endpoint URI.
|
||||
|
||||
\--endsession-endpoint-uri | $KONNECTD_ENDSESSION_ENDPOINT_URI
|
||||
--endsession-endpoint-uri | $KONNECTD_ENDSESSION_ENDPOINT_URI
|
||||
: Custom endsession endpoint URI.
|
||||
|
||||
\--asset-path | $KONNECTD_ASSET_PATH
|
||||
--asset-path | $KONNECTD_ASSET_PATH
|
||||
: Path to custom assets.
|
||||
|
||||
\--identifier-client-path | $KONNECTD_IDENTIFIER_CLIENT_PATH
|
||||
--identifier-client-path | $KONNECTD_IDENTIFIER_CLIENT_PATH
|
||||
: Path to the identifier web client base folder. Default: `/var/tmp/konnectd`.
|
||||
|
||||
\--identifier-registration-conf | $KONNECTD_IDENTIFIER_REGISTRATION_CONF
|
||||
--identifier-registration-conf | $KONNECTD_IDENTIFIER_REGISTRATION_CONF
|
||||
: Path to a identifier-registration.yaml configuration file. Default: `./config/identifier-registration.yaml`.
|
||||
|
||||
\--identifier-scopes-conf | $KONNECTD_IDENTIFIER_SCOPES_CONF
|
||||
--identifier-scopes-conf | $KONNECTD_IDENTIFIER_SCOPES_CONF
|
||||
: Path to a scopes.yaml configuration file.
|
||||
|
||||
\--insecure | $KONNECTD_INSECURE
|
||||
--insecure | $KONNECTD_INSECURE
|
||||
: Disable TLS certificate and hostname validation.
|
||||
|
||||
\--tls | $KONNECTD_TLS
|
||||
--tls | $KONNECTD_TLS
|
||||
: Use TLS (disable only if konnectd is behind a TLS-terminating reverse-proxy).. Default: `false`.
|
||||
|
||||
\--allow-client-guests | $KONNECTD_ALLOW_CLIENT_GUESTS
|
||||
--allow-client-guests | $KONNECTD_ALLOW_CLIENT_GUESTS
|
||||
: Allow sign in of client controlled guest users.
|
||||
|
||||
\--allow-dynamic-client-registration | $KONNECTD_ALLOW_DYNAMIC_CLIENT_REGISTRATION
|
||||
--allow-dynamic-client-registration | $KONNECTD_ALLOW_DYNAMIC_CLIENT_REGISTRATION
|
||||
: Allow dynamic OAuth2 client registration.
|
||||
|
||||
\--disable-identifier-webapp | $KONNECTD_DISABLE_IDENTIFIER_WEBAPP
|
||||
--disable-identifier-webapp | $KONNECTD_DISABLE_IDENTIFIER_WEBAPP
|
||||
: Disable built-in identifier-webapp to use a frontend hosted elsewhere.. Default: `true`.
|
||||
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Getting Started"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
weight: 10
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-konnectd>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-konnectd
|
||||
geekdocEditPath: edit/master/docs
|
||||
geekdocFilePath: getting-started.md
|
||||
---
|
||||
|
||||
## geekdocFilePath: getting-started.md
|
||||
|
||||
{{< toc >}}
|
||||
{{< toc >}}
|
||||
|
||||
## Installation
|
||||
|
||||
@@ -16,7 +15,7 @@ So far we are offering two different variants for the installation. You can choo
|
||||
|
||||
### Docker
|
||||
|
||||
Docker images for ocis-reva are hosted on <https://hub.docker.com/r/owncloud/ocis-konnectd>.
|
||||
Docker images for ocis-reva are hosted on https://hub.docker.com/r/owncloud/ocis-konnectd.
|
||||
|
||||
The `latest` tag always reflects the current master branch.
|
||||
|
||||
@@ -26,7 +25,7 @@ docker pull owncloud/ocis-konnectd
|
||||
|
||||
### Binaries
|
||||
|
||||
The pre-built binaries for different platforms are downloadable at <https://download.owncloud.com/ocis/ocis-konnectd/> . Specific releases are organized in separate folders. They are in sync which every release tag on GitHub. The binaries from the current master branch can be found in <https://download.owncloud.com/ocis/ocis-konnectd/testing/>
|
||||
The pre-built binaries for different platforms are downloadable at https://download.owncloud.com/ocis/ocis-konnectd/ . Specific releases are organized in separate folders. They are in sync which every release tag on GitHub. The binaries from the current master branch can be found in https://download.owncloud.com/ocis/ocis-konnectd/testing/
|
||||
|
||||
```console
|
||||
curl https://download.owncloud.com/ocis/ocis-konnectd/1.0.0-beta1/ocis-konnectd-1.0.0-beta1-darwin-amd64 --output ocis-konnectd
|
||||
@@ -42,17 +41,17 @@ The program provides a few sub-commands on execution. The available configuratio
|
||||
|
||||
The server command is used to start the http and debug server on two addresses within a single process. The http server is serving the general webservice while the debug server is used for health check, readiness check and to server the metrics mentioned below. For further help please execute:
|
||||
|
||||
{{< highlight txt >}}
|
||||
{{< highlight txt >}}
|
||||
ocis-konnectd server --help
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
### Health
|
||||
|
||||
The health command is used to execute a health check, if the exit code equals zero the service should be up and running, if the exist code is greater than zero the service is not in a healthy state. Generally this command is used within our Docker containers, it could also be used within Kubernetes.
|
||||
|
||||
{{< highlight txt >}}
|
||||
{{< highlight txt >}}
|
||||
ocis-konnectd health --help
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
## Metrics
|
||||
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Phoenix"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
weight: 10
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-phoenix>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-phoenix
|
||||
geekdocEditPath: edit/master/docs
|
||||
|
||||
## geekdocFilePath: \_index.md
|
||||
geekdocFilePath: _index.md
|
||||
---
|
||||
|
||||
This service embeds [Phoenix](https://github.com/owncloud/phoenix) to provide a UI for ownCloud Infinite Scale.
|
||||
|
||||
@@ -1,27 +1,26 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Building"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
weight: 30
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-phoenix>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-phoenix
|
||||
geekdocEditPath: edit/master/docs
|
||||
|
||||
## geekdocFilePath: building.md
|
||||
geekdocFilePath: building.md
|
||||
---
|
||||
|
||||
As this project is built with Go, so you need to install that first. The installation of Go is out of the scope of this document, please follow the official documentation for [Go](https://golang.org/doc/install), to build this project you have to install Go >= v1.12. After the installation of the required tools you need to get the sources:
|
||||
|
||||
{{< highlight txt >}}
|
||||
git clone <https://github.com/owncloud/ocis-phoenix.git>
|
||||
{{< highlight txt >}}
|
||||
git clone https://github.com/owncloud/ocis-phoenix.git
|
||||
cd ocis-phoenix
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
All required tool besides Go itself and make are bundled or getting automatically installed within the `GOPATH`. All commands to build this project are part of our `Makefile`.
|
||||
|
||||
## Backend
|
||||
|
||||
{{< highlight txt >}}
|
||||
{{< highlight txt >}}
|
||||
make generate
|
||||
make build
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
The above commands will download a [Phoenix](https://github.com/owncloud/phoenix) release and embed it into the binary. Finally you should have the binary within the `bin/` folder now, give it a try with `./bin/ocis-phoenix -h` to see all available options.
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Getting Started"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
weight: 20
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-phoenix>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-phoenix
|
||||
geekdocEditPath: edit/master/docs
|
||||
geekdocFilePath: getting-started.md
|
||||
---
|
||||
|
||||
## geekdocFilePath: getting-started.md
|
||||
|
||||
{{< toc >}}
|
||||
{{< toc >}}
|
||||
|
||||
## Installation
|
||||
|
||||
@@ -128,91 +127,91 @@ If you prefer to configure the service with commandline flags you can see the av
|
||||
|
||||
#### Global
|
||||
|
||||
\--config-file
|
||||
--config-file
|
||||
: Path to config file, empty default value
|
||||
|
||||
\--log-level
|
||||
--log-level
|
||||
: Set logging level, defaults to `info`
|
||||
|
||||
\--log-color
|
||||
--log-color
|
||||
: Enable colored logging, defaults to `true`
|
||||
|
||||
\--log-pretty
|
||||
--log-pretty
|
||||
: Enable pretty logging, defaults to `true`
|
||||
|
||||
#### Server
|
||||
|
||||
\--tracing-enabled
|
||||
--tracing-enabled
|
||||
: Enable sending traces, defaults to `false`
|
||||
|
||||
\--tracing-type
|
||||
--tracing-type
|
||||
: Tracing backend type, defaults to `jaeger`
|
||||
|
||||
\--tracing-endpoint
|
||||
--tracing-endpoint
|
||||
: Endpoint for the agent, empty default value
|
||||
|
||||
\--tracing-collector
|
||||
--tracing-collector
|
||||
: Endpoint for the collector, empty default value
|
||||
|
||||
\--tracing-service
|
||||
--tracing-service
|
||||
: Service name for tracing, defaults to `phoenix`
|
||||
|
||||
\--debug-addr
|
||||
--debug-addr
|
||||
: Address to bind debug server, defaults to `0.0.0.0:9104`
|
||||
|
||||
\--debug-token
|
||||
--debug-token
|
||||
: Token to grant metrics access, empty default value
|
||||
|
||||
\--debug-pprof
|
||||
--debug-pprof
|
||||
: Enable pprof debugging, defaults to `false`
|
||||
|
||||
\--debug-zpages
|
||||
--debug-zpages
|
||||
: Enable zpages debugging, defaults to `false`
|
||||
|
||||
\--http-addr
|
||||
--http-addr
|
||||
: Address to bind http server, defaults to `0.0.0.0:9100`
|
||||
|
||||
\--http-root
|
||||
--http-root
|
||||
: Root path of http server, defaults to `/`
|
||||
|
||||
\--asset-path
|
||||
--asset-path
|
||||
: Path to custom assets, empty default value
|
||||
|
||||
\--web-config
|
||||
--web-config
|
||||
: Path to phoenix config, empty default value
|
||||
|
||||
\--web-config-server
|
||||
--web-config-server
|
||||
: Server URL, defaults to `http://localhost:9135`
|
||||
|
||||
\--web-config-theme
|
||||
--web-config-theme
|
||||
: Theme, defaults to `owncloud`
|
||||
|
||||
\--web-config-version
|
||||
--web-config-version
|
||||
: Version, defaults to `0.1.0`
|
||||
|
||||
\--web-config-app
|
||||
--web-config-app
|
||||
: Provide multiple apps, defaults to `""`. Usage: `phoenix --web-config-app files --web-config-app pdf-viewer`
|
||||
|
||||
\--oidc-metadata-url
|
||||
--oidc-metadata-url
|
||||
: OpenID Connect metadata URL, defaults to `http://localhost:9130/.well-known/openid-configuration`
|
||||
|
||||
\--oidc-authority
|
||||
--oidc-authority
|
||||
: OpenID Connect authority, defaults to `http://localhost:9130`
|
||||
|
||||
\--oidc-client-id
|
||||
--oidc-client-id
|
||||
: OpenID Connect client ID, defaults to `phoenix`
|
||||
|
||||
\--oidc-response-type
|
||||
--oidc-response-type
|
||||
: OpenID Connect response type, defaults to `code`
|
||||
|
||||
\--oidc-scope
|
||||
--oidc-scope
|
||||
: OpenID Connect scope, defaults to `openid profile email`
|
||||
|
||||
In case you want to render any additional properties in the config.json you can provide a custom config.json using eg. `ocis-phoenix server --web-config=/path/to/config.json`
|
||||
|
||||
#### Health
|
||||
|
||||
\--debug-addr
|
||||
--debug-addr
|
||||
: Address to debug endpoint, defaults to `0.0.0.0:9104`
|
||||
|
||||
### Configuration file
|
||||
@@ -227,17 +226,17 @@ The program provides a few sub-commands on execution. The available configuratio
|
||||
|
||||
The server command is used to start the http and debug server on two addresses within a single process. The http server is serving the general webservice while the debug server is used for health check, readiness check and to server the metrics mentioned below. For further help please execute:
|
||||
|
||||
{{< highlight txt >}}
|
||||
{{< highlight txt >}}
|
||||
ocis-phoenix server --help
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
### Health
|
||||
|
||||
The health command is used to execute a health check, if the exit code equals zero the service should be up and running, if the exist code is greater than zero the service is not in a healthy state. Generally this command is used within our Docker containers, it could also be used within Kubernetes.
|
||||
|
||||
{{< highlight txt >}}
|
||||
{{< highlight txt >}}
|
||||
ocis-phoenix health --help
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
## Metrics
|
||||
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "License"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
weight: 50
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-phoenix>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-phoenix
|
||||
geekdocEditPath: edit/master/docs
|
||||
|
||||
## geekdocFilePath: license.md
|
||||
geekdocFilePath: license.md
|
||||
---
|
||||
|
||||
This project is licensed under the [Apache 2.0](https://github.com/owncloud/ocis/ocis-phoenix/blob/master/LICENSE) license. For the license of the used libraries you have to check the respective sources.
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Releasing"
|
||||
weight: 40
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-phoenix>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-phoenix
|
||||
geekdocEditPath: edit/master/docs
|
||||
geekdocFilePath: releasing.md
|
||||
---
|
||||
|
||||
## geekdocFilePath: releasing.md
|
||||
|
||||
{{< toc >}}
|
||||
{{< toc >}}
|
||||
|
||||
## Releasing
|
||||
|
||||
@@ -17,10 +16,10 @@ To update this package within all the deliveries, we need to update the package
|
||||
|
||||
### Package Hierarchy
|
||||
|
||||
- [ocis](https://githug.com/owncloud/ocis)
|
||||
- [ocis-phoenix](https://github.com/owncloud/ocis-phoenix)
|
||||
- [ocis-pkg](https://github.com/owncloud/ocis-pkg)
|
||||
- [phoenix](https://github.com/owncloud/phoenix)
|
||||
- [ocis](https://githug.com/owncloud/ocis)
|
||||
- [ocis-phoenix](https://github.com/owncloud/ocis-phoenix)
|
||||
- [ocis-pkg](https://github.com/owncloud/ocis-pkg)
|
||||
- [phoenix](https://github.com/owncloud/phoenix)
|
||||
|
||||
#### Prerequisites
|
||||
|
||||
@@ -29,15 +28,15 @@ and take note of its release tag name.
|
||||
|
||||
#### Updating ocis-phoenix
|
||||
|
||||
1. Create a branch `release-$version`. in <https://github.com/owncloud/ocis-phoenix>
|
||||
2. Create a Folder in `changelog` for the release version and date `mkdir $major.$minor.$patchVersion_YYYY-MM-DD`.
|
||||
3. Move all changelog items from the `changelog/unreleased/` folder to the `$major.$minor.$patchVersion_YYYY-MM-DD` folder.
|
||||
4. Update the go module `ocis-pkg` to the latest version <https://blog.golang.org/using-go-modules> .
|
||||
5. Update the phoenix asset by adjusting the value of `PHOENIX_ASSETS_VERSION` at the top of the Makefile and specify the tag name of the latest [Phoenix release](https://github.com/owncloud/phoenix/tags).
|
||||
6. Run `make clean generate`.
|
||||
7. Create a changelog item for the update in the `changelog/$major.$minor.$patchVersion_YYYY-MM-DD` folder.
|
||||
8. Commit your changes.
|
||||
9. After merging, wait for the CI to run on the merge commit.
|
||||
1. Create a branch `release-$version`. in <https://github.com/owncloud/ocis-phoenix>
|
||||
2. Create a Folder in `changelog` for the release version and date `mkdir $major.$minor.$patchVersion_YYYY-MM-DD`.
|
||||
3. Move all changelog items from the `changelog/unreleased/` folder to the `$major.$minor.$patchVersion_YYYY-MM-DD` folder.
|
||||
4. Update the go module `ocis-pkg` to the latest version <https://blog.golang.org/using-go-modules> .
|
||||
5. Update the phoenix asset by adjusting the value of `PHOENIX_ASSETS_VERSION` at the top of the Makefile and specify the tag name of the latest [Phoenix release](https://github.com/owncloud/phoenix/tags).
|
||||
6. Run `make clean generate`.
|
||||
7. Create a changelog item for the update in the `changelog/$major.$minor.$patchVersion_YYYY-MM-DD` folder.
|
||||
8. Commit your changes.
|
||||
9. After merging, wait for the CI to run on the merge commit.
|
||||
10. Go to "Releases" in GH click "Draft a new Release".
|
||||
11. Use `v$major.$minor.$patch` as a tag (the `v` prefix is important) and publish it.
|
||||
12. The tag and the Release artifacts will be created automatically.
|
||||
@@ -45,3 +44,4 @@ and take note of its release tag name.
|
||||
#### Next steps
|
||||
|
||||
Next steps is usually updating the ocis-phoenix version in the [ocis](https://githug.com/owncloud/ocis) repository.
|
||||
|
||||
|
||||
@@ -1,19 +1,18 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Reva"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
weight: 10
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-reva>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-reva
|
||||
geekdocEditPath: edit/master/docs
|
||||
|
||||
## geekdocFilePath: \_index.md
|
||||
geekdocFilePath: _index.md
|
||||
---
|
||||
|
||||
This service provides an ocis extension that wraps [reva](https://github.com/cs3org/reva/) and adds an opinionated configuration to it.
|
||||
|
||||
It uses the port range 9140-9179 to preconfigure several services.
|
||||
|
||||
| port | service |
|
||||
\+------+---------+
|
||||
+------+---------+
|
||||
| 9109 | health? |
|
||||
| 9140 | frontend |
|
||||
| 9141 | frontend debug |
|
||||
|
||||
@@ -1,26 +1,26 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Building"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
weight: 30
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-reva>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-reva
|
||||
geekdocEditPath: edit/master/docs
|
||||
|
||||
## geekdocFilePath: building.md
|
||||
geekdocFilePath: building.md
|
||||
---
|
||||
|
||||
As this project is built with Go, so you need to install that first. The installation of Go is out of the scope of this document, please follow the official documentation for [Go](https://golang.org/doc/install).To build this project you have to install Go >= v1.13. After the installation of the required tools you need to get the sources:
|
||||
|
||||
{{< highlight txt >}}
|
||||
git clone <https://github.com/owncloud/ocis-reva.git>
|
||||
{{< highlight txt >}}
|
||||
git clone https://github.com/owncloud/ocis-reva.git
|
||||
cd ocis-reva
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
All required tool besides Go itself and make are bundled or getting automatically installed within the `GOPATH`. All commands to build this project are part of our `Makefile`.
|
||||
|
||||
|
||||
### Backend
|
||||
|
||||
{{< highlight txt >}}
|
||||
{{< highlight txt >}}
|
||||
make build
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
The above command should produce the binary within the `bin/` folder now, give it a try with `./bin/ocis-reva -h` to see all available options.
|
||||
|
||||
@@ -1,20 +1,19 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Configuration"
|
||||
date: "2020-09-21T13:14:49+0200"
|
||||
weight: 20
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-reva>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-reva
|
||||
geekdocEditPath: edit/master/docs
|
||||
geekdocFilePath: configuration.md
|
||||
---
|
||||
|
||||
## geekdocFilePath: configuration.md
|
||||
|
||||
{{< toc >}}
|
||||
{{< toc >}}
|
||||
|
||||
## Configuration
|
||||
|
||||
oCIS Single Binary is not responsible for configuring extensions. Instead, each extension could either be configured by environment variables, cli flags or config files.
|
||||
|
||||
Each extension has its dedicated documentation page (e.g. <https://owncloud.github.io/extensions/ocis_proxy/configuration>) which lists all possible configurations. Config files and environment variables are picked up if you use the `./bin/ocis server` command within the oCIS single binary. Command line flags must be set explicitly on the extensions subcommands.
|
||||
Each extension has its dedicated documentation page (e.g. https://owncloud.github.io/extensions/ocis_proxy/configuration) which lists all possible configurations. Config files and environment variables are picked up if you use the `./bin/ocis server` command within the oCIS single binary. Command line flags must be set explicitly on the extensions subcommands.
|
||||
|
||||
### Configuration using config files
|
||||
|
||||
@@ -26,7 +25,7 @@ $HOME/.ocis
|
||||
./config
|
||||
```
|
||||
|
||||
For this configuration to be picked up, have a look at your extension `root` command and look for which default config name it has assigned. _i.e: ocis-proxy reads `proxy.json | yaml | toml ...`_.
|
||||
For this configuration to be picked up, have a look at your extension `root` command and look for which default config name it has assigned. *i.e: ocis-proxy reads `proxy.json | yaml | toml ...`*.
|
||||
|
||||
So far we support the file formats `JSON` and `YAML`, if you want to get a full example configuration just take a look at [our repository](https://github.com/owncloud/ocis/tree/master/config), there you can always see the latest configuration format. These example configurations include all available options and the default values. The configuration file will be automatically loaded if it's placed at `/etc/ocis/ocis.yml`, `${HOME}/.ocis/ocis.yml` or `$(pwd)/config/ocis.yml`.
|
||||
|
||||
@@ -44,16 +43,16 @@ Example service for Reva/oCIS
|
||||
|
||||
Usage: `ocis-reva [global options] command [command options] [arguments...]`
|
||||
|
||||
\--config-file | $REVA_CONFIG_FILE
|
||||
--config-file | $REVA_CONFIG_FILE
|
||||
: Path to config file.
|
||||
|
||||
\--log-level | $REVA_LOG_LEVEL
|
||||
--log-level | $REVA_LOG_LEVEL
|
||||
: Set logging level. Default: `info`.
|
||||
|
||||
\--log-pretty | $REVA_LOG_PRETTY
|
||||
--log-pretty | $REVA_LOG_PRETTY
|
||||
: Enable pretty logging.
|
||||
|
||||
\--log-color | $REVA_LOG_COLOR
|
||||
--log-color | $REVA_LOG_COLOR
|
||||
: Enable colored logging.
|
||||
|
||||
## Sub Commands
|
||||
@@ -64,25 +63,25 @@ Start reva authprovider for basic auth
|
||||
|
||||
Usage: `ocis-reva auth-basic [command options] [arguments...]`
|
||||
|
||||
\--debug-addr | $REVA_AUTH_BASIC_DEBUG_ADDR
|
||||
--debug-addr | $REVA_AUTH_BASIC_DEBUG_ADDR
|
||||
: Address to bind debug server. Default: `0.0.0.0:9147`.
|
||||
|
||||
\--auth-driver | $REVA_AUTH_DRIVER
|
||||
--auth-driver | $REVA_AUTH_DRIVER
|
||||
: auth driver: 'demo', 'json' or 'ldap'. Default: `ldap`.
|
||||
|
||||
\--auth-json | $REVA_AUTH_JSON
|
||||
--auth-json | $REVA_AUTH_JSON
|
||||
: Path to users.json file.
|
||||
|
||||
\--network | $REVA_AUTH_BASIC_NETWORK
|
||||
--network | $REVA_AUTH_BASIC_NETWORK
|
||||
: Network to use for the reva auth-basic service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`.
|
||||
|
||||
\--protocol | $REVA_AUTH_BASIC_PROTOCOL
|
||||
--protocol | $REVA_AUTH_BASIC_PROTOCOL
|
||||
: protocol for reva service, can be 'http' or 'grpc'. Default: `grpc`.
|
||||
|
||||
\--addr | $REVA_AUTH_BASIC_ADDR
|
||||
--addr | $REVA_AUTH_BASIC_ADDR
|
||||
: Address to bind reva service. Default: `0.0.0.0:9146`.
|
||||
|
||||
\--url | $REVA_AUTH_BASIC_URL
|
||||
--url | $REVA_AUTH_BASIC_URL
|
||||
: URL to use for the reva service. Default: `localhost:9146`.
|
||||
|
||||
### ocis-reva frontend
|
||||
@@ -91,46 +90,46 @@ Start reva frontend service
|
||||
|
||||
Usage: `ocis-reva frontend [command options] [arguments...]`
|
||||
|
||||
\--debug-addr | $REVA_FRONTEND_DEBUG_ADDR
|
||||
--debug-addr | $REVA_FRONTEND_DEBUG_ADDR
|
||||
: Address to bind debug server. Default: `0.0.0.0:9141`.
|
||||
|
||||
\--transfer-secret | $REVA_TRANSFER_SECRET
|
||||
--transfer-secret | $REVA_TRANSFER_SECRET
|
||||
: Transfer secret for datagateway. Default: `replace-me-with-a-transfer-secret`.
|
||||
|
||||
\--webdav-namespace | $WEBDAV_NAMESPACE
|
||||
--webdav-namespace | $WEBDAV_NAMESPACE
|
||||
: Namespace prefix for the /webdav endpoint. Default: `/home/`.
|
||||
|
||||
\--dav-files-namespace | $DAV_FILES_NAMESPACE
|
||||
--dav-files-namespace | $DAV_FILES_NAMESPACE
|
||||
: Namespace prefix for the webdav /dav/files endpoint. Default: `/oc/`.
|
||||
|
||||
\--network | $REVA_FRONTEND_NETWORK
|
||||
--network | $REVA_FRONTEND_NETWORK
|
||||
: Network to use for the reva service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`.
|
||||
|
||||
\--protocol | $REVA_FRONTEND_PROTOCOL
|
||||
--protocol | $REVA_FRONTEND_PROTOCOL
|
||||
: protocol for reva service, can be 'http' or 'grpc'. Default: `http`.
|
||||
|
||||
\--addr | $REVA_FRONTEND_ADDR
|
||||
--addr | $REVA_FRONTEND_ADDR
|
||||
: Address to bind reva service. Default: `0.0.0.0:9140`.
|
||||
|
||||
\--url | $REVA_FRONTEND_URL
|
||||
--url | $REVA_FRONTEND_URL
|
||||
: URL to use for the reva service. Default: `https://localhost:9200`.
|
||||
|
||||
\--datagateway-prefix | $REVA_FRONTEND_DATAGATEWAY_PREFIX
|
||||
--datagateway-prefix | $REVA_FRONTEND_DATAGATEWAY_PREFIX
|
||||
: datagateway prefix. Default: `data`.
|
||||
|
||||
\--ocdav-prefix | $REVA_FRONTEND_OCDAV_PREFIX
|
||||
--ocdav-prefix | $REVA_FRONTEND_OCDAV_PREFIX
|
||||
: owncloud webdav endpoint prefix.
|
||||
|
||||
\--ocs-prefix | $REVA_FRONTEND_OCS_PREFIX
|
||||
--ocs-prefix | $REVA_FRONTEND_OCS_PREFIX
|
||||
: open collaboration services endpoint prefix. Default: `ocs`.
|
||||
|
||||
\--gateway-url | $REVA_GATEWAY_URL
|
||||
--gateway-url | $REVA_GATEWAY_URL
|
||||
: URL to use for the reva gateway service. Default: `localhost:9142`.
|
||||
|
||||
\--upload-disable-tus | $REVA_FRONTEND_UPLOAD_DISABLE_TUS
|
||||
--upload-disable-tus | $REVA_FRONTEND_UPLOAD_DISABLE_TUS
|
||||
: Disables TUS upload mechanism. Default: `false`.
|
||||
|
||||
\--upload-http-method-override | $REVA_FRONTEND_UPLOAD_HTTP_METHOD_OVERRIDE
|
||||
--upload-http-method-override | $REVA_FRONTEND_UPLOAD_HTTP_METHOD_OVERRIDE
|
||||
: Specify an HTTP method (ex: POST) that clients should to use when uploading instead of PATCH.
|
||||
|
||||
### ocis-reva gateway
|
||||
@@ -139,100 +138,100 @@ Start reva gateway
|
||||
|
||||
Usage: `ocis-reva gateway [command options] [arguments...]`
|
||||
|
||||
\--debug-addr | $REVA_GATEWAY_DEBUG_ADDR
|
||||
--debug-addr | $REVA_GATEWAY_DEBUG_ADDR
|
||||
: Address to bind debug server. Default: `0.0.0.0:9143`.
|
||||
|
||||
\--transfer-secret | $REVA_TRANSFER_SECRET
|
||||
--transfer-secret | $REVA_TRANSFER_SECRET
|
||||
: Transfer secret for datagateway. Default: `replace-me-with-a-transfer-secret`.
|
||||
|
||||
\--network | $REVA_GATEWAY_NETWORK
|
||||
--network | $REVA_GATEWAY_NETWORK
|
||||
: Network to use for the reva service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`.
|
||||
|
||||
\--protocol | $REVA_GATEWAY_PROTOCOL
|
||||
--protocol | $REVA_GATEWAY_PROTOCOL
|
||||
: protocol for reva service, can be 'http' or 'grpc'. Default: `grpc`.
|
||||
|
||||
\--addr | $REVA_GATEWAY_ADDR
|
||||
--addr | $REVA_GATEWAY_ADDR
|
||||
: Address to bind reva service. Default: `0.0.0.0:9142`.
|
||||
|
||||
\--url | $REVA_GATEWAY_URL
|
||||
--url | $REVA_GATEWAY_URL
|
||||
: URL to use for the reva service. Default: `localhost:9142`.
|
||||
|
||||
\--commit-share-to-storage-grant | $REVA_GATEWAY_COMMIT_SHARE_TO_STORAGE_GRANT
|
||||
--commit-share-to-storage-grant | $REVA_GATEWAY_COMMIT_SHARE_TO_STORAGE_GRANT
|
||||
: Commit shares to the share manager. Default: `true`.
|
||||
|
||||
\--commit-share-to-storage-ref | $REVA_GATEWAY_COMMIT_SHARE_TO_STORAGE_REF
|
||||
--commit-share-to-storage-ref | $REVA_GATEWAY_COMMIT_SHARE_TO_STORAGE_REF
|
||||
: Commit shares to the storage. Default: `true`.
|
||||
|
||||
\--share-folder | $REVA_GATEWAY_SHARE_FOLDER
|
||||
--share-folder | $REVA_GATEWAY_SHARE_FOLDER
|
||||
: mount shares in this folder of the home storage provider. Default: `Shares`.
|
||||
|
||||
\--disable-home-creation-on-login | $REVA_GATEWAY_DISABLE_HOME_CREATION_ON_LOGIN
|
||||
--disable-home-creation-on-login | $REVA_GATEWAY_DISABLE_HOME_CREATION_ON_LOGIN
|
||||
: Disable creation of home folder on login.
|
||||
|
||||
\--storage-registry-driver | $REVA_STORAGE_REGISTRY_DRIVER
|
||||
--storage-registry-driver | $REVA_STORAGE_REGISTRY_DRIVER
|
||||
: driver of the storage registry. Default: `static`.
|
||||
|
||||
\--storage-home-provider | $REVA_STORAGE_HOME_PROVIDER
|
||||
--storage-home-provider | $REVA_STORAGE_HOME_PROVIDER
|
||||
: mount point of the storage provider for user homes in the global namespace. Default: `/home`.
|
||||
|
||||
\--frontend-url | $REVA_FRONTEND_URL
|
||||
--frontend-url | $REVA_FRONTEND_URL
|
||||
: URL to use for the reva service. Default: `https://localhost:9200`.
|
||||
|
||||
\--datagateway-url | $REVA_DATAGATEWAY_URL
|
||||
--datagateway-url | $REVA_DATAGATEWAY_URL
|
||||
: URL to use for the reva datagateway. Default: `https://localhost:9200/data`.
|
||||
|
||||
\--users-url | $REVA_USERS_URL
|
||||
--users-url | $REVA_USERS_URL
|
||||
: URL to use for the reva service. Default: `localhost:9144`.
|
||||
|
||||
\--auth-basic-url | $REVA_AUTH_BASIC_URL
|
||||
--auth-basic-url | $REVA_AUTH_BASIC_URL
|
||||
: URL to use for the reva service. Default: `localhost:9146`.
|
||||
|
||||
\--auth-bearer-url | $REVA_AUTH_BEARER_URL
|
||||
--auth-bearer-url | $REVA_AUTH_BEARER_URL
|
||||
: URL to use for the reva service. Default: `localhost:9148`.
|
||||
|
||||
\--sharing-url | $REVA_SHARING_URL
|
||||
--sharing-url | $REVA_SHARING_URL
|
||||
: URL to use for the reva service. Default: `localhost:9150`.
|
||||
|
||||
\--storage-root-url | $REVA_STORAGE_ROOT_URL
|
||||
--storage-root-url | $REVA_STORAGE_ROOT_URL
|
||||
: URL to use for the reva service. Default: `localhost:9152`.
|
||||
|
||||
\--storage-root-mount-path | $REVA_STORAGE_ROOT_MOUNT_PATH
|
||||
--storage-root-mount-path | $REVA_STORAGE_ROOT_MOUNT_PATH
|
||||
: mount path. Default: `/`.
|
||||
|
||||
\--storage-root-mount-id | $REVA_STORAGE_ROOT_MOUNT_ID
|
||||
--storage-root-mount-id | $REVA_STORAGE_ROOT_MOUNT_ID
|
||||
: mount id. Default: `1284d238-aa92-42ce-bdc4-0b0000009152`.
|
||||
|
||||
\--storage-home-url | $REVA_STORAGE_HOME_URL
|
||||
--storage-home-url | $REVA_STORAGE_HOME_URL
|
||||
: URL to use for the reva service. Default: `localhost:9154`.
|
||||
|
||||
\--storage-home-mount-path | $REVA_STORAGE_HOME_MOUNT_PATH
|
||||
--storage-home-mount-path | $REVA_STORAGE_HOME_MOUNT_PATH
|
||||
: mount path. Default: `/home`.
|
||||
|
||||
\--storage-home-mount-id | $REVA_STORAGE_HOME_MOUNT_ID
|
||||
--storage-home-mount-id | $REVA_STORAGE_HOME_MOUNT_ID
|
||||
: mount id. Default: `1284d238-aa92-42ce-bdc4-0b0000009154`.
|
||||
|
||||
\--storage-eos-url | $REVA_STORAGE_EOS_URL
|
||||
--storage-eos-url | $REVA_STORAGE_EOS_URL
|
||||
: URL to use for the reva service. Default: `localhost:9158`.
|
||||
|
||||
\--storage-eos-mount-path | $REVA_STORAGE_EOS_MOUNT_PATH
|
||||
--storage-eos-mount-path | $REVA_STORAGE_EOS_MOUNT_PATH
|
||||
: mount path. Default: `/eos`.
|
||||
|
||||
\--storage-eos-mount-id | $REVA_STORAGE_EOS_MOUNT_ID
|
||||
--storage-eos-mount-id | $REVA_STORAGE_EOS_MOUNT_ID
|
||||
: mount id. Default: `1284d238-aa92-42ce-bdc4-0b0000009158`.
|
||||
|
||||
\--storage-oc-url | $REVA_STORAGE_OC_URL
|
||||
--storage-oc-url | $REVA_STORAGE_OC_URL
|
||||
: URL to use for the reva service. Default: `localhost:9162`.
|
||||
|
||||
\--storage-oc-mount-path | $REVA_STORAGE_OC_MOUNT_PATH
|
||||
--storage-oc-mount-path | $REVA_STORAGE_OC_MOUNT_PATH
|
||||
: mount path. Default: `/oc`.
|
||||
|
||||
\--storage-oc-mount-id | $REVA_STORAGE_OC_MOUNT_ID
|
||||
--storage-oc-mount-id | $REVA_STORAGE_OC_MOUNT_ID
|
||||
: mount id. Default: `1284d238-aa92-42ce-bdc4-0b0000009162`.
|
||||
|
||||
\--public-link-url | $REVA_STORAGE_PUBLIC_LINK_URL
|
||||
--public-link-url | $REVA_STORAGE_PUBLIC_LINK_URL
|
||||
: URL to use for the public links service. Default: `localhost:9178`.
|
||||
|
||||
\--storage-public-link-mount-path | $REVA_STORAGE_PUBLIC_LINK_MOUNT_PATH
|
||||
--storage-public-link-mount-path | $REVA_STORAGE_PUBLIC_LINK_MOUNT_PATH
|
||||
: mount path. Default: `/public/`.
|
||||
|
||||
### ocis-reva sharing
|
||||
@@ -241,28 +240,28 @@ Start reva sharing service
|
||||
|
||||
Usage: `ocis-reva sharing [command options] [arguments...]`
|
||||
|
||||
\--debug-addr | $REVA_SHARING_DEBUG_ADDR
|
||||
--debug-addr | $REVA_SHARING_DEBUG_ADDR
|
||||
: Address to bind debug server. Default: `0.0.0.0:9151`.
|
||||
|
||||
\--network | $REVA_SHARING_NETWORK
|
||||
--network | $REVA_SHARING_NETWORK
|
||||
: Network to use for the reva service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`.
|
||||
|
||||
\--protocol | $REVA_SHARING_PROTOCOL
|
||||
--protocol | $REVA_SHARING_PROTOCOL
|
||||
: protocol for reva service, can be 'http' or 'grpc'. Default: `grpc`.
|
||||
|
||||
\--addr | $REVA_SHARING_ADDR
|
||||
--addr | $REVA_SHARING_ADDR
|
||||
: Address to bind reva service. Default: `0.0.0.0:9150`.
|
||||
|
||||
\--url | $REVA_SHARING_URL
|
||||
--url | $REVA_SHARING_URL
|
||||
: URL to use for the reva service. Default: `localhost:9150`.
|
||||
|
||||
\--user-driver | $REVA_SHARING_USER_DRIVER
|
||||
--user-driver | $REVA_SHARING_USER_DRIVER
|
||||
: driver to use for the UserShareProvider. Default: `json`.
|
||||
|
||||
\--user-json-file | $REVA_SHARING_USER_JSON_FILE
|
||||
--user-json-file | $REVA_SHARING_USER_JSON_FILE
|
||||
: file used to persist shares for the UserShareProvider. Default: `/var/tmp/reva/shares.json`.
|
||||
|
||||
\--public-driver | $REVA_SHARING_PUBLIC_DRIVER
|
||||
--public-driver | $REVA_SHARING_PUBLIC_DRIVER
|
||||
: driver to use for the PublicShareProvider. Default: `json`.
|
||||
|
||||
### ocis-reva storage-home-data
|
||||
@@ -271,37 +270,37 @@ Start reva storage-home-data service
|
||||
|
||||
Usage: `ocis-reva storage-home-data [command options] [arguments...]`
|
||||
|
||||
\--debug-addr | $REVA_STORAGE_HOME_DATA_DEBUG_ADDR
|
||||
--debug-addr | $REVA_STORAGE_HOME_DATA_DEBUG_ADDR
|
||||
: Address to bind debug server. Default: `0.0.0.0:9157`.
|
||||
|
||||
\--network | $REVA_STORAGE_HOME_DATA_NETWORK
|
||||
--network | $REVA_STORAGE_HOME_DATA_NETWORK
|
||||
: Network to use for the reva service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`.
|
||||
|
||||
\--protocol | $REVA_STORAGE_HOME_DATA_PROTOCOL
|
||||
--protocol | $REVA_STORAGE_HOME_DATA_PROTOCOL
|
||||
: protocol for reva service, can be 'http' or 'grpc'. Default: `http`.
|
||||
|
||||
\--addr | $REVA_STORAGE_HOME_DATA_ADDR
|
||||
--addr | $REVA_STORAGE_HOME_DATA_ADDR
|
||||
: Address to bind reva service. Default: `0.0.0.0:9156`.
|
||||
|
||||
\--url | $REVA_STORAGE_HOME_DATA_URL
|
||||
--url | $REVA_STORAGE_HOME_DATA_URL
|
||||
: URL to use for the reva service. Default: `localhost:9156`.
|
||||
|
||||
\--driver | $REVA_STORAGE_HOME_DATA_DRIVER
|
||||
--driver | $REVA_STORAGE_HOME_DATA_DRIVER
|
||||
: storage driver for home data mount: eg. local, eos, owncloud, ocis or s3. Default: `owncloud`.
|
||||
|
||||
\--prefix | $REVA_STORAGE_HOME_DATA_PREFIX
|
||||
--prefix | $REVA_STORAGE_HOME_DATA_PREFIX
|
||||
: prefix for the http endpoint, without leading slash. Default: `data`.
|
||||
|
||||
\--temp-folder | $REVA_STORAGE_HOME_DATA_TEMP_FOLDER
|
||||
--temp-folder | $REVA_STORAGE_HOME_DATA_TEMP_FOLDER
|
||||
: temp folder. Default: `/var/tmp/`.
|
||||
|
||||
\--enable-home | $REVA_STORAGE_HOME_ENABLE_HOME
|
||||
--enable-home | $REVA_STORAGE_HOME_ENABLE_HOME
|
||||
: enable the creation of home directories. Default: `true`.
|
||||
|
||||
\--gateway-url | $REVA_GATEWAY_URL
|
||||
--gateway-url | $REVA_GATEWAY_URL
|
||||
: URL to use for the reva gateway service. Default: `localhost:9142`.
|
||||
|
||||
\--users-url | $REVA_USERS_URL
|
||||
--users-url | $REVA_USERS_URL
|
||||
: URL to use for the reva service. Default: `localhost:9144`.
|
||||
|
||||
### ocis-reva health
|
||||
@@ -310,7 +309,7 @@ Check health status
|
||||
|
||||
Usage: `ocis-reva health [command options] [arguments...]`
|
||||
|
||||
\--debug-addr | $REVA_DEBUG_ADDR
|
||||
--debug-addr | $REVA_DEBUG_ADDR
|
||||
: Address to debug endpoint. Default: `0.0.0.0:9109`.
|
||||
|
||||
### ocis-reva storage-home
|
||||
@@ -319,40 +318,40 @@ Start reva storage-home service
|
||||
|
||||
Usage: `ocis-reva storage-home [command options] [arguments...]`
|
||||
|
||||
\--debug-addr | $REVA_STORAGE_HOME_DEBUG_ADDR
|
||||
--debug-addr | $REVA_STORAGE_HOME_DEBUG_ADDR
|
||||
: Address to bind debug server. Default: `0.0.0.0:9155`.
|
||||
|
||||
\--network | $REVA_STORAGE_HOME_NETWORK
|
||||
--network | $REVA_STORAGE_HOME_NETWORK
|
||||
: Network to use for the reva service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`.
|
||||
|
||||
\--protocol | $REVA_STORAGE_HOME_PROTOCOL
|
||||
--protocol | $REVA_STORAGE_HOME_PROTOCOL
|
||||
: protocol for reva service, can be 'http' or 'grpc'. Default: `grpc`.
|
||||
|
||||
\--addr | $REVA_STORAGE_HOME_ADDR
|
||||
--addr | $REVA_STORAGE_HOME_ADDR
|
||||
: Address to bind reva service. Default: `0.0.0.0:9154`.
|
||||
|
||||
\--url | $REVA_STORAGE_HOME_URL
|
||||
--url | $REVA_STORAGE_HOME_URL
|
||||
: URL to use for the reva service. Default: `localhost:9154`.
|
||||
|
||||
\--driver | $REVA_STORAGE_HOME_DRIVER
|
||||
--driver | $REVA_STORAGE_HOME_DRIVER
|
||||
: storage driver for home mount: eg. local, eos, owncloud, ocis or s3. Default: `owncloud`.
|
||||
|
||||
\--mount-path | $REVA_STORAGE_HOME_MOUNT_PATH
|
||||
--mount-path | $REVA_STORAGE_HOME_MOUNT_PATH
|
||||
: mount path. Default: `/home`.
|
||||
|
||||
\--mount-id | $REVA_STORAGE_HOME_MOUNT_ID
|
||||
--mount-id | $REVA_STORAGE_HOME_MOUNT_ID
|
||||
: mount id. Default: `1284d238-aa92-42ce-bdc4-0b0000009162`.
|
||||
|
||||
\--expose-data-server | $REVA_STORAGE_HOME_EXPOSE_DATA_SERVER
|
||||
--expose-data-server | $REVA_STORAGE_HOME_EXPOSE_DATA_SERVER
|
||||
: exposes a dedicated data server. Default: `false`.
|
||||
|
||||
\--data-server-url | $REVA_STORAGE_HOME_DATA_SERVER_URL
|
||||
--data-server-url | $REVA_STORAGE_HOME_DATA_SERVER_URL
|
||||
: data server url. Default: `http://localhost:9156/data`.
|
||||
|
||||
\--enable-home | $REVA_STORAGE_HOME_ENABLE_HOME
|
||||
--enable-home | $REVA_STORAGE_HOME_ENABLE_HOME
|
||||
: enable the creation of home directories. Default: `true`.
|
||||
|
||||
\--users-url | $REVA_USERS_URL
|
||||
--users-url | $REVA_USERS_URL
|
||||
: URL to use for the reva service. Default: `localhost:9144`.
|
||||
|
||||
### ocis-reva storage-eos-data
|
||||
@@ -361,34 +360,34 @@ Start reva storage-eos-data service
|
||||
|
||||
Usage: `ocis-reva storage-eos-data [command options] [arguments...]`
|
||||
|
||||
\--debug-addr | $REVA_STORAGE_OC_DATA_DEBUG_ADDR
|
||||
--debug-addr | $REVA_STORAGE_OC_DATA_DEBUG_ADDR
|
||||
: Address to bind debug server. Default: `0.0.0.0:9161`.
|
||||
|
||||
\--network | $REVA_STORAGE_EOS_DATA_NETWORK
|
||||
--network | $REVA_STORAGE_EOS_DATA_NETWORK
|
||||
: Network to use for the reva service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`.
|
||||
|
||||
\--protocol | $REVA_STORAGE_EOS_DATA_PROTOCOL
|
||||
--protocol | $REVA_STORAGE_EOS_DATA_PROTOCOL
|
||||
: protocol for reva service, can be 'http' or 'grpc'. Default: `http`.
|
||||
|
||||
\--addr | $REVA_STORAGE_EOS_DATA_ADDR
|
||||
--addr | $REVA_STORAGE_EOS_DATA_ADDR
|
||||
: Address to bind reva service. Default: `0.0.0.0:9160`.
|
||||
|
||||
\--url | $REVA_STORAGE_EOS_DATA_URL
|
||||
--url | $REVA_STORAGE_EOS_DATA_URL
|
||||
: URL to use for the reva service. Default: `localhost:9160`.
|
||||
|
||||
\--driver | $REVA_STORAGE_EOS_DATA_DRIVER
|
||||
--driver | $REVA_STORAGE_EOS_DATA_DRIVER
|
||||
: storage driver for eos data mount: eg. local, eos, owncloud, ocis or s3. Default: `eos`.
|
||||
|
||||
\--prefix | $REVA_STORAGE_EOS_DATA_PREFIX
|
||||
--prefix | $REVA_STORAGE_EOS_DATA_PREFIX
|
||||
: prefix for the http endpoint, without leading slash. Default: `data`.
|
||||
|
||||
\--temp-folder | $REVA_STORAGE_EOS_DATA_TEMP_FOLDER
|
||||
--temp-folder | $REVA_STORAGE_EOS_DATA_TEMP_FOLDER
|
||||
: temp folder. Default: `/var/tmp/`.
|
||||
|
||||
\--gateway-url | $REVA_GATEWAY_URL
|
||||
--gateway-url | $REVA_GATEWAY_URL
|
||||
: URL to use for the reva gateway service. Default: `localhost:9142`.
|
||||
|
||||
\--users-url | $REVA_USERS_URL
|
||||
--users-url | $REVA_USERS_URL
|
||||
: URL to use for the reva service. Default: `localhost:9144`.
|
||||
|
||||
### ocis-reva reva-storage-public-link
|
||||
@@ -397,25 +396,25 @@ Start reva storage-public-link service
|
||||
|
||||
Usage: `ocis-reva reva-storage-public-link [command options] [arguments...]`
|
||||
|
||||
\--debug-addr | $REVA_STORAGE_PUBLIC_LINK_DEBUG_ADDR
|
||||
--debug-addr | $REVA_STORAGE_PUBLIC_LINK_DEBUG_ADDR
|
||||
: Address to bind debug server. Default: `0.0.0.0:9179`.
|
||||
|
||||
\--network | $REVA_STORAGE_PUBLIC_LINK_NETWORK
|
||||
--network | $REVA_STORAGE_PUBLIC_LINK_NETWORK
|
||||
: Network to use for the reva service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`.
|
||||
|
||||
\--protocol | $REVA_STORAGE_PUBLIC_LINK_PROTOCOL
|
||||
--protocol | $REVA_STORAGE_PUBLIC_LINK_PROTOCOL
|
||||
: protocol for reva service, can be 'http' or 'grpc'. Default: `grpc`.
|
||||
|
||||
\--addr | $REVA_STORAGE_PUBLIC_LINK_ADDR
|
||||
--addr | $REVA_STORAGE_PUBLIC_LINK_ADDR
|
||||
: Address to bind reva service. Default: `0.0.0.0:9178`.
|
||||
|
||||
\--url | $REVA_STORAGE_PUBLIC_LINK_URL
|
||||
--url | $REVA_STORAGE_PUBLIC_LINK_URL
|
||||
: Address to bind reva service. Default: `localhost:9178`.
|
||||
|
||||
\--mount-path | $REVA_STORAGE_PUBLIC_LINK_MOUNT_PATH
|
||||
--mount-path | $REVA_STORAGE_PUBLIC_LINK_MOUNT_PATH
|
||||
: mount path. Default: `/public/`.
|
||||
|
||||
\--gateway-url | $REVA_GATEWAY_URL
|
||||
--gateway-url | $REVA_GATEWAY_URL
|
||||
: URL to use for the reva gateway service. Default: `localhost:9142`.
|
||||
|
||||
### ocis-reva users
|
||||
@@ -424,52 +423,52 @@ Start reva users service
|
||||
|
||||
Usage: `ocis-reva users [command options] [arguments...]`
|
||||
|
||||
\--debug-addr | $REVA_SHARING_DEBUG_ADDR
|
||||
--debug-addr | $REVA_SHARING_DEBUG_ADDR
|
||||
: Address to bind debug server. Default: `0.0.0.0:9145`.
|
||||
|
||||
\--network | $REVA_USERS_NETWORK
|
||||
--network | $REVA_USERS_NETWORK
|
||||
: Network to use for the reva service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`.
|
||||
|
||||
\--protocol | $REVA_USERS_PROTOCOL
|
||||
--protocol | $REVA_USERS_PROTOCOL
|
||||
: protocol for reva service, can be 'http' or 'grpc'. Default: `grpc`.
|
||||
|
||||
\--addr | $REVA_USERS_ADDR
|
||||
--addr | $REVA_USERS_ADDR
|
||||
: Address to bind reva service. Default: `0.0.0.0:9144`.
|
||||
|
||||
\--url | $REVA_USERS_URL
|
||||
--url | $REVA_USERS_URL
|
||||
: URL to use for the reva service. Default: `localhost:9144`.
|
||||
|
||||
\--driver | $REVA_USERS_DRIVER
|
||||
--driver | $REVA_USERS_DRIVER
|
||||
: user driver: 'demo', 'json', 'ldap', or 'rest'. Default: `ldap`.
|
||||
|
||||
\--json-config | $REVA_USERS_JSON
|
||||
--json-config | $REVA_USERS_JSON
|
||||
: Path to users.json file.
|
||||
|
||||
\--rest-client-id | $REVA_REST_CLIENT_ID
|
||||
--rest-client-id | $REVA_REST_CLIENT_ID
|
||||
: User rest driver Client ID.
|
||||
|
||||
\--rest-client-secret | $REVA_REST_CLIENT_SECRET
|
||||
--rest-client-secret | $REVA_REST_CLIENT_SECRET
|
||||
: User rest driver Client Secret.
|
||||
|
||||
\--rest-redis-address | $REVA_REST_REDIS_ADDRESS
|
||||
--rest-redis-address | $REVA_REST_REDIS_ADDRESS
|
||||
: Address for redis server. Default: `localhost:6379`.
|
||||
|
||||
\--rest-redis-username | $REVA_REST_REDIS_USERNAME
|
||||
--rest-redis-username | $REVA_REST_REDIS_USERNAME
|
||||
: Username for redis server.
|
||||
|
||||
\--rest-redis-password | $REVA_REST_REDIS_PASSWORD
|
||||
--rest-redis-password | $REVA_REST_REDIS_PASSWORD
|
||||
: Password for redis server.
|
||||
|
||||
\--rest-id-provider | $REVA_REST_ID_PROVIDER
|
||||
--rest-id-provider | $REVA_REST_ID_PROVIDER
|
||||
: The OIDC Provider.
|
||||
|
||||
\--rest-api-base-url | $REVA_REST_API_BASE_URL
|
||||
--rest-api-base-url | $REVA_REST_API_BASE_URL
|
||||
: Base API Endpoint.
|
||||
|
||||
\--rest-oidc-token-endpoint | $REVA_REST_OIDC_TOKEN_ENDPOINT
|
||||
--rest-oidc-token-endpoint | $REVA_REST_OIDC_TOKEN_ENDPOINT
|
||||
: Endpoint to generate token to access the API.
|
||||
|
||||
\--rest-target-api | $REVA_REST_TARGET_API
|
||||
--rest-target-api | $REVA_REST_TARGET_API
|
||||
: The target application.
|
||||
|
||||
### ocis-reva auth-bearer
|
||||
@@ -478,34 +477,34 @@ Start reva authprovider for bearer auth
|
||||
|
||||
Usage: `ocis-reva auth-bearer [command options] [arguments...]`
|
||||
|
||||
\--debug-addr | $REVA_AUTH_BEARER_DEBUG_ADDR
|
||||
--debug-addr | $REVA_AUTH_BEARER_DEBUG_ADDR
|
||||
: Address to bind debug server. Default: `0.0.0.0:9149`.
|
||||
|
||||
\--oidc-issuer | $REVA_OIDC_ISSUER
|
||||
--oidc-issuer | $REVA_OIDC_ISSUER
|
||||
: OIDC issuer. Default: `https://localhost:9200`.
|
||||
|
||||
\--oidc-insecure | $REVA_OIDC_INSECURE
|
||||
--oidc-insecure | $REVA_OIDC_INSECURE
|
||||
: OIDC allow insecure communication. Default: `true`.
|
||||
|
||||
\--oidc-id-claim | $REVA_OIDC_ID_CLAIM
|
||||
--oidc-id-claim | $REVA_OIDC_ID_CLAIM
|
||||
: OIDC id claim. Default: `preferred_username`.
|
||||
|
||||
\--oidc-uid-claim | $REVA_OIDC_UID_CLAIM
|
||||
--oidc-uid-claim | $REVA_OIDC_UID_CLAIM
|
||||
: OIDC uid claim.
|
||||
|
||||
\--oidc-gid-claim | $REVA_OIDC_GID_CLAIM
|
||||
--oidc-gid-claim | $REVA_OIDC_GID_CLAIM
|
||||
: OIDC gid claim.
|
||||
|
||||
\--network | $REVA_AUTH_BEARER_NETWORK
|
||||
--network | $REVA_AUTH_BEARER_NETWORK
|
||||
: Network to use for the reva service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`.
|
||||
|
||||
\--protocol | $REVA_AUTH_BEARER_PROTOCOL
|
||||
--protocol | $REVA_AUTH_BEARER_PROTOCOL
|
||||
: protocol for reva service, can be 'http' or 'grpc'. Default: `grpc`.
|
||||
|
||||
\--addr | $REVA_AUTH_BEARER_ADDR
|
||||
--addr | $REVA_AUTH_BEARER_ADDR
|
||||
: Address to bind reva service. Default: `0.0.0.0:9148`.
|
||||
|
||||
\--url | $REVA_AUTH_BEARER_URL
|
||||
--url | $REVA_AUTH_BEARER_URL
|
||||
: URL to use for the reva service. Default: `localhost:9148`.
|
||||
|
||||
### ocis-reva storage-eos
|
||||
@@ -514,34 +513,34 @@ Start reva storage-eos service
|
||||
|
||||
Usage: `ocis-reva storage-eos [command options] [arguments...]`
|
||||
|
||||
\--debug-addr | $REVA_STORAGE_EOS_DEBUG_ADDR
|
||||
--debug-addr | $REVA_STORAGE_EOS_DEBUG_ADDR
|
||||
: Address to bind debug server. Default: `0.0.0.0:9159`.
|
||||
|
||||
\--network | $REVA_STORAGE_EOS_NETWORK
|
||||
--network | $REVA_STORAGE_EOS_NETWORK
|
||||
: Network to use for the reva service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`.
|
||||
|
||||
\--protocol | $REVA_STORAGE_EOS_PROTOCOL
|
||||
--protocol | $REVA_STORAGE_EOS_PROTOCOL
|
||||
: protocol for reva service, can be 'http' or 'grpc'. Default: `grpc`.
|
||||
|
||||
\--addr | $REVA_STORAGE_EOS_ADDR
|
||||
--addr | $REVA_STORAGE_EOS_ADDR
|
||||
: Address to bind reva service. Default: `0.0.0.0:9158`.
|
||||
|
||||
\--url | $REVA_STORAGE_EOS_URL
|
||||
--url | $REVA_STORAGE_EOS_URL
|
||||
: URL to use for the reva service. Default: `localhost:9158`.
|
||||
|
||||
\--driver | $REVA_STORAGE_EOS_DRIVER
|
||||
--driver | $REVA_STORAGE_EOS_DRIVER
|
||||
: storage driver for eos mount: eg. local, eos, owncloud, ocis or s3. Default: `eos`.
|
||||
|
||||
\--mount-path | $REVA_STORAGE_EOS_MOUNT_PATH
|
||||
--mount-path | $REVA_STORAGE_EOS_MOUNT_PATH
|
||||
: mount path. Default: `/eos`.
|
||||
|
||||
\--mount-id | $REVA_STORAGE_EOS_MOUNT_ID
|
||||
--mount-id | $REVA_STORAGE_EOS_MOUNT_ID
|
||||
: mount id. Default: `1284d238-aa92-42ce-bdc4-0b0000009158`.
|
||||
|
||||
\--expose-data-server | $REVA_STORAGE_EOS_EXPOSE_DATA_SERVER
|
||||
--expose-data-server | $REVA_STORAGE_EOS_EXPOSE_DATA_SERVER
|
||||
: exposes a dedicated data server. Default: `false`.
|
||||
|
||||
\--data-server-url | $REVA_STORAGE_EOS_DATA_SERVER_URL
|
||||
--data-server-url | $REVA_STORAGE_EOS_DATA_SERVER_URL
|
||||
: data server url. Default: `http://localhost:9160/data`.
|
||||
|
||||
### ocis-reva storage-oc
|
||||
@@ -550,37 +549,37 @@ Start reva storage-oc service
|
||||
|
||||
Usage: `ocis-reva storage-oc [command options] [arguments...]`
|
||||
|
||||
\--debug-addr | $REVA_STORAGE_OC_DEBUG_ADDR
|
||||
--debug-addr | $REVA_STORAGE_OC_DEBUG_ADDR
|
||||
: Address to bind debug server. Default: `0.0.0.0:9163`.
|
||||
|
||||
\--network | $REVA_STORAGE_OC_NETWORK
|
||||
--network | $REVA_STORAGE_OC_NETWORK
|
||||
: Network to use for the reva service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`.
|
||||
|
||||
\--protocol | $REVA_STORAGE_OC_PROTOCOL
|
||||
--protocol | $REVA_STORAGE_OC_PROTOCOL
|
||||
: protocol for reva service, can be 'http' or 'grpc'. Default: `grpc`.
|
||||
|
||||
\--addr | $REVA_STORAGE_OC_ADDR
|
||||
--addr | $REVA_STORAGE_OC_ADDR
|
||||
: Address to bind reva service. Default: `0.0.0.0:9162`.
|
||||
|
||||
\--url | $REVA_STORAGE_OC_URL
|
||||
--url | $REVA_STORAGE_OC_URL
|
||||
: URL to use for the reva service. Default: `localhost:9162`.
|
||||
|
||||
\--driver | $REVA_STORAGE_OC_DRIVER
|
||||
--driver | $REVA_STORAGE_OC_DRIVER
|
||||
: storage driver for oc mount: eg. local, eos, owncloud, ocis or s3. Default: `owncloud`.
|
||||
|
||||
\--mount-path | $REVA_STORAGE_OC_MOUNT_PATH
|
||||
--mount-path | $REVA_STORAGE_OC_MOUNT_PATH
|
||||
: mount path. Default: `/oc`.
|
||||
|
||||
\--mount-id | $REVA_STORAGE_OC_MOUNT_ID
|
||||
--mount-id | $REVA_STORAGE_OC_MOUNT_ID
|
||||
: mount id. Default: `1284d238-aa92-42ce-bdc4-0b0000009162`.
|
||||
|
||||
\--expose-data-server | $REVA_STORAGE_OC_EXPOSE_DATA_SERVER
|
||||
--expose-data-server | $REVA_STORAGE_OC_EXPOSE_DATA_SERVER
|
||||
: exposes a dedicated data server. Default: `false`.
|
||||
|
||||
\--data-server-url | $REVA_STORAGE_OC_DATA_SERVER_URL
|
||||
--data-server-url | $REVA_STORAGE_OC_DATA_SERVER_URL
|
||||
: data server url. Default: `http://localhost:9164/data`.
|
||||
|
||||
\--users-url | $REVA_USERS_URL
|
||||
--users-url | $REVA_USERS_URL
|
||||
: URL to use for the reva service. Default: `localhost:9144`.
|
||||
|
||||
### ocis-reva storage-oc-data
|
||||
@@ -589,34 +588,34 @@ Start reva storage-oc-data service
|
||||
|
||||
Usage: `ocis-reva storage-oc-data [command options] [arguments...]`
|
||||
|
||||
\--debug-addr | $REVA_STORAGE_OC_DATA_DEBUG_ADDR
|
||||
--debug-addr | $REVA_STORAGE_OC_DATA_DEBUG_ADDR
|
||||
: Address to bind debug server. Default: `0.0.0.0:9165`.
|
||||
|
||||
\--network | $REVA_STORAGE_OC_DATA_NETWORK
|
||||
--network | $REVA_STORAGE_OC_DATA_NETWORK
|
||||
: Network to use for the reva service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`.
|
||||
|
||||
\--protocol | $REVA_STORAGE_OC_DATA_PROTOCOL
|
||||
--protocol | $REVA_STORAGE_OC_DATA_PROTOCOL
|
||||
: protocol for reva service, can be 'http' or 'grpc'. Default: `http`.
|
||||
|
||||
\--addr | $REVA_STORAGE_OC_DATA_ADDR
|
||||
--addr | $REVA_STORAGE_OC_DATA_ADDR
|
||||
: Address to bind reva service. Default: `0.0.0.0:9164`.
|
||||
|
||||
\--url | $REVA_STORAGE_OC_DATA_URL
|
||||
--url | $REVA_STORAGE_OC_DATA_URL
|
||||
: URL to use for the reva service. Default: `localhost:9164`.
|
||||
|
||||
\--driver | $REVA_STORAGE_OC_DATA_DRIVER
|
||||
--driver | $REVA_STORAGE_OC_DATA_DRIVER
|
||||
: storage driver for oc data mount: eg. local, eos, owncloud, ocis or s3. Default: `owncloud`.
|
||||
|
||||
\--prefix | $REVA_STORAGE_OC_DATA_PREFIX
|
||||
--prefix | $REVA_STORAGE_OC_DATA_PREFIX
|
||||
: prefix for the http endpoint, without leading slash. Default: `data`.
|
||||
|
||||
\--temp-folder | $REVA_STORAGE_OC_DATA_TEMP_FOLDER
|
||||
--temp-folder | $REVA_STORAGE_OC_DATA_TEMP_FOLDER
|
||||
: temp folder. Default: `/var/tmp/`.
|
||||
|
||||
\--gateway-url | $REVA_GATEWAY_URL
|
||||
--gateway-url | $REVA_GATEWAY_URL
|
||||
: URL to use for the reva gateway service. Default: `localhost:9142`.
|
||||
|
||||
\--users-url | $REVA_USERS_URL
|
||||
--users-url | $REVA_USERS_URL
|
||||
: URL to use for the reva service. Default: `localhost:9144`.
|
||||
|
||||
### ocis-reva storage-root
|
||||
@@ -625,32 +624,33 @@ Start reva storage-root service
|
||||
|
||||
Usage: `ocis-reva storage-root [command options] [arguments...]`
|
||||
|
||||
\--debug-addr | $REVA_STORAGE_ROOT_DEBUG_ADDR
|
||||
--debug-addr | $REVA_STORAGE_ROOT_DEBUG_ADDR
|
||||
: Address to bind debug server. Default: `0.0.0.0:9153`.
|
||||
|
||||
\--network | $REVA_STORAGE_ROOT_NETWORK
|
||||
--network | $REVA_STORAGE_ROOT_NETWORK
|
||||
: Network to use for the reva service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`.
|
||||
|
||||
\--protocol | $REVA_STORAGE_ROOT_PROTOCOL
|
||||
--protocol | $REVA_STORAGE_ROOT_PROTOCOL
|
||||
: protocol for reva service, can be 'http' or 'grpc'. Default: `grpc`.
|
||||
|
||||
\--addr | $REVA_STORAGE_ROOT_ADDR
|
||||
--addr | $REVA_STORAGE_ROOT_ADDR
|
||||
: Address to bind reva service. Default: `0.0.0.0:9152`.
|
||||
|
||||
\--url | $REVA_STORAGE_ROOT_URL
|
||||
--url | $REVA_STORAGE_ROOT_URL
|
||||
: URL to use for the reva service. Default: `localhost:9152`.
|
||||
|
||||
\--driver | $REVA_STORAGE_ROOT_DRIVER
|
||||
--driver | $REVA_STORAGE_ROOT_DRIVER
|
||||
: storage driver for root mount: eg. local, eos, owncloud, ocis or s3. Default: `local`.
|
||||
|
||||
\--mount-path | $REVA_STORAGE_ROOT_MOUNT_PATH
|
||||
--mount-path | $REVA_STORAGE_ROOT_MOUNT_PATH
|
||||
: mount path. Default: `/`.
|
||||
|
||||
\--mount-id | $REVA_STORAGE_ROOT_MOUNT_ID
|
||||
--mount-id | $REVA_STORAGE_ROOT_MOUNT_ID
|
||||
: mount id. Default: `123e4567-e89b-12d3-a456-426655440001`.
|
||||
|
||||
\--expose-data-server | $REVA_STORAGE_ROOT_EXPOSE_DATA_SERVER
|
||||
--expose-data-server | $REVA_STORAGE_ROOT_EXPOSE_DATA_SERVER
|
||||
: exposes a dedicated data server.
|
||||
|
||||
\--data-server-url | $REVA_STORAGE_ROOT_DATA_SERVER_URL
|
||||
--data-server-url | $REVA_STORAGE_ROOT_DATA_SERVER_URL
|
||||
: data server url.
|
||||
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Getting Started"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
weight: 15
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-reva>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-reva
|
||||
geekdocEditPath: edit/master/docs
|
||||
geekdocFilePath: getting-started.md
|
||||
---
|
||||
|
||||
## geekdocFilePath: getting-started.md
|
||||
|
||||
{{< toc >}}
|
||||
{{< toc >}}
|
||||
|
||||
## Installation
|
||||
|
||||
@@ -16,7 +15,7 @@ So far we are offering two different variants for the installation. You can choo
|
||||
|
||||
### Docker
|
||||
|
||||
Docker images for ocis-reva are hosted on <https://hub.docker.com/r/owncloud/ocis-reva>.
|
||||
Docker images for ocis-reva are hosted on https://hub.docker.com/r/owncloud/ocis-reva.
|
||||
|
||||
The `latest` tag always reflects the current master branch.
|
||||
|
||||
@@ -26,12 +25,12 @@ docker pull owncloud/ocis-reva
|
||||
|
||||
#### Dependencies
|
||||
|
||||
- Running ocis-reva currently needs a working Redis caching server
|
||||
- The default storage location in the container is `/var/tmp/reva/data`. You may want to create a volume to persist the files in the primary storage
|
||||
- Running ocis-reva currently needs a working Redis caching server
|
||||
- The default storage location in the container is `/var/tmp/reva/data`. You may want to create a volume to persist the files in the primary storage
|
||||
|
||||
### Binaries
|
||||
|
||||
The pre-built binaries for different platforms are downloadable at <https://download.owncloud.com/ocis/ocis-reva/> . Specific releases are organized in separate folders. They are in sync which every release tag on GitHub. The binaries from the current master branch can be found in <https://download.owncloud.com/ocis/ocis-reva/testing/>
|
||||
The pre-built binaries for different platforms are downloadable at https://download.owncloud.com/ocis/ocis-reva/ . Specific releases are organized in separate folders. They are in sync which every release tag on GitHub. The binaries from the current master branch can be found in https://download.owncloud.com/ocis/ocis-reva/testing/
|
||||
|
||||
```console
|
||||
curl https://download.owncloud.com/ocis/ocis/1.0.0-beta1/ocis-reva-1.0.0-beta1-darwin-amd64 --output ocis-reva
|
||||
@@ -41,8 +40,8 @@ chmod +x ocis
|
||||
|
||||
#### Dependencies
|
||||
|
||||
- Running ocis currently needs a working Redis caching server
|
||||
- The default promary storage location is `/var/tmp/reva/data`. You can change that value by configuration.
|
||||
- Running ocis currently needs a working Redis caching server
|
||||
- The default promary storage location is `/var/tmp/reva/data`. You can change that value by configuration.
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -52,6 +51,6 @@ The program provides a few sub-commands on execution. The available configuratio
|
||||
|
||||
The health command is used to execute a health check, if the exit code equals zero the service should be up and running, if the exist code is greater than zero the service is not in a healthy state. Generally this command is used within our Docker containers, it could also be used within Kubernetes.
|
||||
|
||||
{{< highlight txt >}}
|
||||
{{< highlight txt >}}
|
||||
ocis-reva health --help
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "License"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
weight: 40
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-reva>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-reva
|
||||
geekdocEditPath: edit/master/docs
|
||||
|
||||
## geekdocFilePath: license.md
|
||||
geekdocFilePath: license.md
|
||||
---
|
||||
|
||||
This project is licensed under the [Apache 2.0](https://github.com/owncloud/ocis/ocis-revablob/master/LICENSE) license. For the license of the used libraries you have to check the respective sources.
|
||||
|
||||
@@ -1,49 +1,47 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Releasing"
|
||||
date: 2020-05-22T00:00:00+00:00
|
||||
weight: 60
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-reva>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-reva
|
||||
geekdocEditPath: edit/master/docs
|
||||
geekdocFilePath: releasing.md
|
||||
---
|
||||
|
||||
## geekdocFilePath: releasing.md
|
||||
|
||||
{{< toc >}}
|
||||
{{< toc >}}
|
||||
|
||||
To release a new version of ocis-reva, you have to follow a few simple steps.
|
||||
|
||||
## Preparation
|
||||
|
||||
1. Before releasing, make sure that reva has been [updated to the desired version]\({{< ref "updating.md" >}})
|
||||
2. Create a new branch e.g. `release-x.x.x` where `x.x.x` is the version you want to release.
|
||||
3. Checkout the preparation branch.
|
||||
4. Create a new changelog folder and move the unreleased snippets there.
|
||||
{{< highlight txt >}}
|
||||
mkdir changelog/x.x.x_yyyy-MM-dd/ # yyyy-MM-dd is the current date
|
||||
mv changelog/unreleased/\* changelog/x.x.x_yyyy-MM-dd/
|
||||
{{< / highlight >}}
|
||||
5. Commit and push the changes
|
||||
{{< highlight txt >}}
|
||||
git add --all
|
||||
git commit -m "prepare release x.x.x"
|
||||
git push origin release-x.x.x
|
||||
{{< / highlight >}}
|
||||
6. Create a pull request to the master branch.
|
||||
1. Before releasing, make sure that reva has been [updated to the desired version]({{< ref "updating.md" >}})
|
||||
2. Create a new branch e.g. `release-x.x.x` where `x.x.x` is the version you want to release.
|
||||
3. Checkout the preparation branch.
|
||||
4. Create a new changelog folder and move the unreleased snippets there.
|
||||
{{< highlight txt >}}
|
||||
mkdir changelog/x.x.x_yyyy-MM-dd/ # yyyy-MM-dd is the current date
|
||||
mv changelog/unreleased/* changelog/x.x.x_yyyy-MM-dd/
|
||||
{{< / highlight >}}
|
||||
5. Commit and push the changes
|
||||
{{< highlight txt >}}
|
||||
git add --all
|
||||
git commit -m "prepare release x.x.x"
|
||||
git push origin release-x.x.x
|
||||
{{< / highlight >}}
|
||||
6. Create a pull request to the master branch.
|
||||
|
||||
## Release
|
||||
|
||||
1. After the preparation branch has been merged update your local master.
|
||||
2. [Wait for CI](https://cloud.drone.io/owncloud/ocis-reva) to generate a commit for the changelog update
|
||||
3. Check out master (or make sure to check out the generated changelog commit in case of subsequent merges)
|
||||
{{< highlight txt >}}
|
||||
git checkout master
|
||||
git pull origin master
|
||||
{{< / highlight >}}
|
||||
4. Create a new tag (preferably signed) and replace the version number accordingly.
|
||||
{{< highlight txt >}}
|
||||
git tag -s vx.x.x -m "release vx.x.x"
|
||||
git push origin vx.x.x
|
||||
{{< / highlight >}}
|
||||
5. Wait for CI and check that the GitHub release was published.
|
||||
1. After the preparation branch has been merged update your local master.
|
||||
2. [Wait for CI](https://cloud.drone.io/owncloud/ocis-reva) to generate a commit for the changelog update
|
||||
3. Check out master (or make sure to check out the generated changelog commit in case of subsequent merges)
|
||||
{{< highlight txt >}}
|
||||
git checkout master
|
||||
git pull origin master
|
||||
{{< / highlight >}}
|
||||
4. Create a new tag (preferably signed) and replace the version number accordingly.
|
||||
{{< highlight txt >}}
|
||||
git tag -s vx.x.x -m "release vx.x.x"
|
||||
git push origin vx.x.x
|
||||
{{< / highlight >}}
|
||||
5. Wait for CI and check that the GitHub release was published.
|
||||
|
||||
Congratulations, you just released ocis-reva!
|
||||
|
||||
@@ -1,127 +1,117 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Storages"
|
||||
date: 2020-04-27T18:46:00+01:00
|
||||
weight: 37
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-reva>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-reva
|
||||
geekdocEditPath: edit/master/docs
|
||||
|
||||
## geekdocFilePath: storages.md
|
||||
geekdocFilePath: storages.md
|
||||
---
|
||||
|
||||
## Storage commands
|
||||
|
||||
`ocis-reva` has multiple storage provider commands to preconfigure different default configurations for the reva _storage provider_ service. While you could rerun `ocis-reva storage-oc` multiple times with different flags to get multiple instances we are giving the different commands the necessary default configuration to allow the `ocis` binary to simply start them and not deal with configuration.
|
||||
`ocis-reva` has multiple storage provider commands to preconfigure different default configurations for the reva *storage provider* service. While you could rerun `ocis-reva storage-oc` multiple times with different flags to get multiple instances we are giving the different commands the necessary default configuration to allow the `ocis` binary to simply start them and not deal with configuration.
|
||||
|
||||
## Storage providers
|
||||
|
||||
To manage the file tree ocis uses reva _storage providers_ that are accessing the underlying storage using a _storage driver_. The driver can be used to change the implementation of a storage aspect to better reflect the actual underlying storage capabilities. As an example a move operation on a POSIX filesystem ([theoretically](https://danluu.com/deconstruct-files/)) is an atomic operation. When trying to implement a file tree on top of S3 there is no native move operation that can be used. A naive implementation might fall back on a COPY and DELETE. Some S3 implementations provide a COPY operation that uses an existing key as the source, so the file at least does not need to be reuploaded. In the worst case scenario, which is renaming a folder with hundreds of thousands of objects, a reupload for every file has to be made. Instead of hiding this complexity a better choice might be to disable renaming of files or at least folders on S3. There are however implementations of filesystems on top of S3 that store the tree metadata in dedicated objects or use a completely different persistence mechanism like a distributed key value store to implement the file tree aspect of a storage.
|
||||
To manage the file tree ocis uses reva *storage providers* that are accessing the underlying storage using a *storage driver*. The driver can be used to change the implementation of a storage aspect to better reflect the actual underlying storage capabilities. As an example a move operation on a POSIX filesystem ([theoretically](https://danluu.com/deconstruct-files/)) is an atomic operation. When trying to implement a file tree on top of S3 there is no native move operation that can be used. A naive implementation might fall back on a COPY and DELETE. Some S3 implementations provide a COPY operation that uses an existing key as the source, so the file at least does not need to be reuploaded. In the worst case scenario, which is renaming a folder with hundreds of thousands of objects, a reupload for every file has to be made. Instead of hiding this complexity a better choice might be to disable renaming of files or at least folders on S3. There are however implementations of filesystems on top of S3 that store the tree metadata in dedicated objects or use a completely different persistence mechanism like a distributed key value store to implement the file tree aspect of a storage.
|
||||
|
||||
{{< hint info >}}
|
||||
While the _storage provider_ is responsible for managing the tree, file up and download is delegated to a dedicated _data provider_. See below.
|
||||
{{< /hint >}}
|
||||
|
||||
{{< hint info >}}
|
||||
While the *storage provider* is responsible for managing the tree, file up and download is delegated to a dedicated *data provider*. See below.
|
||||
{{< /hint >}}
|
||||
|
||||
## Storage aspects
|
||||
|
||||
A lot of different storage technologies exist, ranging from general purpose file systems with POSIX semantics to software defined storage with multiple APIs. Choosing any of them is making a tradeoff decision. Or, if a storage technology is already in place it automatically predetermines the capabilities that can be made available. _Not all storage systems are created equal._
|
||||
A lot of different storage technologies exist, ranging from general purpose file systems with POSIX semantics to software defined storage with multiple APIs. Choosing any of them is making a tradeoff decision. Or, if a storage technology is already in place it automatically predetermines the capabilities that can be made available. *Not all storage systems are created equal.*
|
||||
|
||||
Unfortunately, no POSIX filesystem natively supports all storage aspects that ownCloud 10 requires:
|
||||
|
||||
### A hierarchical file tree
|
||||
|
||||
### A hierarchical file tree
|
||||
An important aspect of a filesystem is organizing files and directories in a file hierarchy, or tree. It allows you to create, move and delete nodes. Beside the name a node also has well known metadata like size and mtime that are persisted in the tree as well.
|
||||
|
||||
{{< hint info >}}
|
||||
{{< hint info >}}
|
||||
**Folders are not directories**
|
||||
There is a difference between _folder_ and _directory_: a _directory_ is a file system concept. A _folder_ is a metaphor for the concept of a physical file folder. There are also _virtual folders_ or _smart folders_ like the recent files folder which are no file system _directories_. So, every _directory_ and every _virtual folder_ is a _folder_, but not every _folder_ is a _directory_. See [the folder metaphor in wikipedia](https://en.wikipedia.org/wiki/Directory_(computing)#Folder_metaphor). Also see the activity history below.
|
||||
{{< /hint >}}
|
||||
There is a difference between *folder* and *directory*: a *directory* is a file system concept. A *folder* is a metaphor for the concept of a physical file folder. There are also *virtual folders* or *smart folders* like the recent files folder which are no file system *directories*. So, every *directory* and every *virtual folder* is a *folder*, but not every *folder* is a *directory*. See [the folder metaphor in wikipedia](https://en.wikipedia.org/wiki/Directory_(computing)#Folder_metaphor). Also see the activity history below.
|
||||
{{< /hint >}}
|
||||
|
||||
#### Id based lookup
|
||||
|
||||
While traditionally nodes in the tree are reached by traversing the path the tree persistence should be prepared to look up a node by an id. Think of an inode in a POSIX filesystem. If this operation needs to be cached for performance reasons keep in mind that cache invalidation is hard and crawling all files to update the inode to path mapping takes O(n), not O(1).
|
||||
|
||||
#### ETag propagation
|
||||
|
||||
For the state based sync a client can discover changes by recursively descending the tree and comparing the ETag for every node. If the storage technology supports propagating ETag changes up the tree, only the root node of a tree needs to be checked to determine if a discovery needs to be started and which nodes need to be traversed. This allows using the storage technology itself to persist all metadata that is necessary for sync, without additional services or caches.
|
||||
|
||||
#### Subtree size accounting
|
||||
|
||||
The tree can keep track of how many bytes are stored in a folder. Similar to ETag propagation a change in file size is propagated up the hierarchy.
|
||||
|
||||
{{< hint info >}}
|
||||
{{< hint info >}}
|
||||
**ETag and Size propagation**
|
||||
When propagating the ETag (mtime) and size changes up the tree the question is where to stop. If all changes need to be propagated to the root of a storage then the root or busy folders will become a hotspot. There are two things to keep in mind: 1. propagation only happens up to the root of a single space (a user private drive or a single group drive), 2. no cross storage propagation. The latter was used in oc10 to let clients detect when a file in a received shared folder changed. This functionality is moving to the storage registry which caches the ETag for every root so clients can discover if and which storage changed.
|
||||
{{< /hint >}}
|
||||
{{< /hint >}}
|
||||
|
||||
#### Rename
|
||||
Depending on the underlying storage technology some operations may either be slow, up to a point where it makes more sense to disable them entirely. One example is a folder rename: on S3 a *simple* folder rename translates to a copy and delete operation for every child of the renamed folder. There is an exception though: this restriction only applies if the S3 storage is treated like a filesystem, where the keys are the path and the value is the file content. There are smarter ways to implement file systems on top of S3, but again: there is always a tradeoff.
|
||||
|
||||
Depending on the underlying storage technology some operations may either be slow, up to a point where it makes more sense to disable them entirely. One example is a folder rename: on S3 a _simple_ folder rename translates to a copy and delete operation for every child of the renamed folder. There is an exception though: this restriction only applies if the S3 storage is treated like a filesystem, where the keys are the path and the value is the file content. There are smarter ways to implement file systems on top of S3, but again: there is always a tradeoff.
|
||||
|
||||
{{< hint info >}}
|
||||
{{< hint info >}}
|
||||
**S3 has no rename**
|
||||
Technically, [S3 has no rename operation at all](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/examples-s3-objects.html#copy-object). By design, the location of the value is determined by the key, so it always has to do a copy and delete. Another example is the [redis RENAME operation](https://redis.io/commands/rename): while being specified as O(1) it _executes an implicit DEL operation, so if the deleted key contains a very big value it may cause high latency..._
|
||||
{{< /hint >}}
|
||||
Technically, [S3 has no rename operation at all](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/examples-s3-objects.html#copy-object). By design, the location of the value is determined by the key, so it always has to do a copy and delete. Another example is the [redis RENAME operation](https://redis.io/commands/rename): while being specified as O(1) it *executes an implicit DEL operation, so if the deleted key contains a very big value it may cause high latency...*
|
||||
{{< /hint >}}
|
||||
|
||||
#### Arbitrary metadata persistence
|
||||
|
||||
In addition to well known metadata like name size and mtime, users might be able to add arbitrary metadata like tags, comments or [dublin core](https://en.wikipedia.org/wiki/Dublin_Core). In POSIX filesystems this maps to extended attributes.
|
||||
|
||||
### Grant persistence
|
||||
|
||||
The CS3 API uses grants to describe access permissions. Storage systems have a wide range of permissions granularity and not all grants may be supported by every storage driver. POSIX ACLs for example have no expiry. If the storage system does not support certain grant properties, e.g. expiry, then the storage driver may choose to implement them in a different way. Expiries could be persisted in a different way and checked periodically to remove the grants. Again: every decision is a tradeoff.
|
||||
|
||||
### Trash persistence
|
||||
|
||||
After deleting a node the storage allows listing the deleted nodes and has an undo mechanism for them.
|
||||
|
||||
### Versions persistence
|
||||
|
||||
A user can restore a previous version of a file.
|
||||
|
||||
{{< hint info >}}
|
||||
{{< hint info >}}
|
||||
**Snapshots are not versions**
|
||||
Modern POSIX filesystems support snapshotting of volumes. This is different from keeping track of versions to a file or folder, but might be another implementation strategy for a storage driver to allow users to restore content.
|
||||
{{< /hint >}}
|
||||
{{< /hint >}}
|
||||
|
||||
### Activity History
|
||||
|
||||
The storage keeps an activity history, tracking the different actions that have been performed. This does not only include file changes but also metadata changes like renames and permission changes.
|
||||
|
||||
## Storage drivers
|
||||
|
||||
Reva currently has four storage driver implementations that can be used for _storage providers_ an well as _data providers_.
|
||||
Reva currently has four storage driver implementations that can be used for *storage providers* an well as *data providers*.
|
||||
|
||||
### Local Storage Driver
|
||||
|
||||
The _minimal_ storage driver for a POSIX based filesystem. It literally supports none of the storage aspect other than basic file tree management. Sharing can - to a degree - be implemented using POSIX ACLs.
|
||||
The *minimal* storage driver for a POSIX based filesystem. It literally supports none of the storage aspect other than basic file tree management. Sharing can - to a degree - be implemented using POSIX ACLs.
|
||||
|
||||
- tree provided by a POSIX filesystem
|
||||
- inefficient path by id lookup, currently uses the file path as id, so ids are not stable
|
||||
- can store a uuid in extended attributes and use a cache to look them up, similar to the ownCloud driver
|
||||
- no native ETag propagation, five options are available:
|
||||
- built in propagation (changes bypassing ocis are not picked up until a rescan)
|
||||
- built in inotify (requires 48 bytes of RAM per file, needs to keep track of every file and folder)
|
||||
- external inotify (same RAM requirement, but could be triggered by external tools, e.g. a workflow engine)
|
||||
- kernel audit log (use the linux kernel audit to capture file events on the storage and offload them to a queue)
|
||||
- fuse filesystem overlay
|
||||
- no subtree accounting, same options as for ETag propagation
|
||||
- efficient rename
|
||||
- arbitrary metadata using extended attributes
|
||||
- grant persistence
|
||||
- using POSIX ACLs
|
||||
- requires an LDAP server to make guest accounts available in the OS
|
||||
- OCIS has glauth which contains all users
|
||||
- an existing LDAP could be used if guests ar provisioned in another way
|
||||
- using extended attributes to implement expiry or sharing that does not require OS level integration
|
||||
- fuse filesystem overlay
|
||||
- no native trash
|
||||
- could use the [The FreeDesktop.org Trash specification](https://specifications.freedesktop.org/trash-spec/trashspec-latest.html)
|
||||
- fuse filesystem overlay
|
||||
- no native versions, multiple options possible
|
||||
- git for folders
|
||||
- rcs for single files
|
||||
- rsnapshot for hourly / daily / weekly / monthly backups ... but this is not versioning as known from oc10
|
||||
- design new freedesktop spec, basically what is done in oc10 without the limitations or borrow ideas from the freedesktop trash spec
|
||||
- fuse filesystem overlay
|
||||
- tree provided by a POSIX filesystem
|
||||
- inefficient path by id lookup, currently uses the file path as id, so ids are not stable
|
||||
- can store a uuid in extended attributes and use a cache to look them up, similar to the ownCloud driver
|
||||
- no native ETag propagation, five options are available:
|
||||
- built in propagation (changes bypassing ocis are not picked up until a rescan)
|
||||
- built in inotify (requires 48 bytes of RAM per file, needs to keep track of every file and folder)
|
||||
- external inotify (same RAM requirement, but could be triggered by external tools, e.g. a workflow engine)
|
||||
- kernel audit log (use the linux kernel audit to capture file events on the storage and offload them to a queue)
|
||||
- fuse filesystem overlay
|
||||
- no subtree accounting, same options as for ETag propagation
|
||||
- efficient rename
|
||||
- arbitrary metadata using extended attributes
|
||||
- grant persistence
|
||||
- using POSIX ACLs
|
||||
- requires an LDAP server to make guest accounts available in the OS
|
||||
- OCIS has glauth which contains all users
|
||||
- an existing LDAP could be used if guests ar provisioned in another way
|
||||
- using extended attributes to implement expiry or sharing that does not require OS level integration
|
||||
- fuse filesystem overlay
|
||||
- no native trash
|
||||
- could use the [The FreeDesktop.org Trash specification](https://specifications.freedesktop.org/trash-spec/trashspec-latest.html)
|
||||
- fuse filesystem overlay
|
||||
- no native versions, multiple options possible
|
||||
- git for folders
|
||||
- rcs for single files
|
||||
- rsnapshot for hourly / daily / weekly / monthly backups ... but this is not versioning as known from oc10
|
||||
- design new freedesktop spec, basically what is done in oc10 without the limitations or borrow ideas from the freedesktop trash spec
|
||||
- fuse filesystem overlay
|
||||
|
||||
To provide the other storage aspects we plan to implement a FUSE overlay filesystem which will add the different aspects on top of local filesystems like ext4, btrfs or xfs. It should work on NFSv45 as well, although NFSv4 supports RichACLs and we will explore how to leverage them to implement sharing at a future date. The idea is to use the storages native capabilities to deliver the best user experience. But again: that means making the right tradeoffs.
|
||||
|
||||
@@ -132,52 +122,54 @@ This is the current default storage driver. While it implements the file tree (u
|
||||
To setup it up properly in a distributed fashion, the storage-home and the storage-oc need to share the same underlying FS. Their "data" counterparts also need access to the same shared FS.
|
||||
For a simple docker-compose setup, you can create a volume which will be used by the "ocis-reva-storage-home", "ocis-reva-storage-home-data", "ocis-reva-storage-oc" and "ocis-reva-storage-oc-data" containers. Using the `owncloud/ocis-reva` docker image, the volume would need to be hooked in the `/var/tmp/reva` folder insde the containers.
|
||||
|
||||
- tree provided by a POSIX filesystem
|
||||
- file layout is mapped to the old ownCloud 10 layout
|
||||
- the root of tree for a user on disk is prefixed with `/path/to/data/<username>/files/`
|
||||
- efficient path by id lookup
|
||||
- all files and folders get assigned a uuid in the extended attributes
|
||||
- when starting the storage provider it will walk all files to populate a redis kv store for uuid to path lookup
|
||||
- slow to boot trees with lots of nodes
|
||||
- build in ETag propagation
|
||||
- ETags are calculated based on mtime
|
||||
- mtime is propagated by the storage driver
|
||||
- changes bypassing ocis are not picked up until a restart of the storage provider
|
||||
- no subtree accounting, same options as for local storage
|
||||
- efficient rename
|
||||
- TODO [update the kv store for path lookup](https://github.com/cs3org/reva/issues/985), this is an O(n) operation
|
||||
- arbitrary metadata using extended attributes
|
||||
- grant persistence
|
||||
- using custom ACLs that are stored as extended attributes
|
||||
- a grant corresponds to one extended attribute of 40-100 bytes, effectively limiting the number of shares to ~100-40
|
||||
- extended attributes have varying limitations, based on the underlying filesystem
|
||||
- the linux kernel imposes a limit of 255bytes per name and 64KiB per value
|
||||
- ext2/3/4: total bytes for all attributes of a file is limited to 4KiB (a filesystem block)
|
||||
- xfs: limit of 64KiB per value
|
||||
- btrfs: total bytes used for the name, value, and implementation overhead bytes 16KiB (the default filesystem nodesize value)
|
||||
- does not require OS level integration
|
||||
- built in trash
|
||||
- trashed files are moved to `/path/to/data/<username>/files_trashbin/`
|
||||
- trashed files are appended a timestamp `.d<unixtime>`, which [breaks trashing of files that reach the filesystems specific name limit](https://github.com/owncloud/core/issues/28095)
|
||||
- built in versions
|
||||
- file versions are stored in `/path/to/data/<username>/files_versions/`
|
||||
- file versions are appended a timestamp `.d<unixtime>`, which [breaks versioning of files that reach the filesystems specific name limit](https://github.com/owncloud/core/issues/28095)
|
||||
- tree provided by a POSIX filesystem
|
||||
- file layout is mapped to the old ownCloud 10 layout
|
||||
- the root of tree for a user on disk is prefixed with `/path/to/data/<username>/files/`
|
||||
- efficient path by id lookup
|
||||
- all files and folders get assigned a uuid in the extended attributes
|
||||
- when starting the storage provider it will walk all files to populate a redis kv store for uuid to path lookup
|
||||
- slow to boot trees with lots of nodes
|
||||
- build in ETag propagation
|
||||
- ETags are calculated based on mtime
|
||||
- mtime is propagated by the storage driver
|
||||
- changes bypassing ocis are not picked up until a restart of the storage provider
|
||||
- no subtree accounting, same options as for local storage
|
||||
- efficient rename
|
||||
- TODO [update the kv store for path lookup](https://github.com/cs3org/reva/issues/985), this is an O(n) operation
|
||||
- arbitrary metadata using extended attributes
|
||||
- grant persistence
|
||||
- using custom ACLs that are stored as extended attributes
|
||||
- a grant corresponds to one extended attribute of 40-100 bytes, effectively limiting the number of shares to ~100-40
|
||||
- extended attributes have varying limitations, based on the underlying filesystem
|
||||
- the linux kernel imposes a limit of 255bytes per name and 64KiB per value
|
||||
- ext2/3/4: total bytes for all attributes of a file is limited to 4KiB (a filesystem block)
|
||||
- xfs: limit of 64KiB per value
|
||||
- btrfs: total bytes used for the name, value, and implementation overhead bytes 16KiB (the default filesystem nodesize value)
|
||||
- does not require OS level integration
|
||||
- built in trash
|
||||
- trashed files are moved to `/path/to/data/<username>/files_trashbin/`
|
||||
- trashed files are appended a timestamp `.d<unixtime>`, which [breaks trashing of files that reach the filesystems specific name limit](https://github.com/owncloud/core/issues/28095)
|
||||
- built in versions
|
||||
- file versions are stored in `/path/to/data/<username>/files_versions/`
|
||||
- file versions are appended a timestamp `.d<unixtime>`, which [breaks versioning of files that reach the filesystems specific name limit](https://github.com/owncloud/core/issues/28095)
|
||||
|
||||
### EOS Storage Driver
|
||||
|
||||
The CERN eos storage has evolved with ownCloud and natively supports id based lookup, ETag propagation, subtree size accounting, sharing, trash and versions. To use it you need to change the default configuration of the `ocis-reva storage-home` command (or have a look at the Makefile ̀ eos-start\` target):
|
||||
The CERN eos storage has evolved with ownCloud and natively supports id based lookup, ETag propagation, subtree size accounting, sharing, trash and versions. To use it you need to change the default configuration of the `ocis-reva storage-home` command (or have a look at the Makefile ̀ eos-start` target):
|
||||
|
||||
export REVA_STORAGE_HOME_DRIVER=eos
|
||||
export REVA_STORAGE_EOS_NAMESPACE=/eos
|
||||
export REVA_STORAGE_EOS_MASTER_URL="root://eos-mgm1.eoscluster.cern.ch:1094"
|
||||
export REVA_STORAGE_EOS_ENABLE_HOME=true
|
||||
export REVA_STORAGE_EOS_LAYOUT="dockertest/{{.Username}}"
|
||||
```
|
||||
export REVA_STORAGE_HOME_DRIVER=eos
|
||||
export REVA_STORAGE_EOS_NAMESPACE=/eos
|
||||
export REVA_STORAGE_EOS_MASTER_URL="root://eos-mgm1.eoscluster.cern.ch:1094"
|
||||
export REVA_STORAGE_EOS_ENABLE_HOME=true
|
||||
export REVA_STORAGE_EOS_LAYOUT="dockertest/{{.Username}}"
|
||||
```
|
||||
|
||||
Running it locally also requires the `eos` and `xrootd` binaries. Running it using `make eos-start` will use CentOS based containers that already have the necessary packages installed.
|
||||
|
||||
{{< hint info >}}
|
||||
{{< hint info >}}
|
||||
Pull requests to add explicit `reva storage-(s3|custom|...)` commands with working defaults are welcome.
|
||||
{{< /hint >}}
|
||||
{{< /hint >}}
|
||||
|
||||
### S3 Storage Driver
|
||||
|
||||
@@ -185,20 +177,18 @@ A naive driver that treats the keys in an S3 capable storage as `/` delimited pa
|
||||
|
||||
## Data Providers
|
||||
|
||||
Clients using the CS3 API use an [InitiateFileDownload](https://cs3org.github.io/cs3apis/#cs3.storage.provider.v1beta1.InitiateFileDownloadRequest) and ]InitiateUpload](<https://cs3org.github.io/cs3apis/#cs3.storage.provider.v1beta1.InitiateFileUploadRequest>) request at the [reva gateway](https://cs3org.github.io/cs3apis/#cs3.gateway.v1beta1.GatewayAPI) to obtain a URL endpoint that can be used to either GET the file content or upload content using the resumable [tus.io](https://tus.io) protocol.
|
||||
Clients using the CS3 API use an [InitiateFileDownload](https://cs3org.github.io/cs3apis/#cs3.storage.provider.v1beta1.InitiateFileDownloadRequest) and ]InitiateUpload](https://cs3org.github.io/cs3apis/#cs3.storage.provider.v1beta1.InitiateFileUploadRequest) request at the [reva gateway](https://cs3org.github.io/cs3apis/#cs3.gateway.v1beta1.GatewayAPI) to obtain a URL endpoint that can be used to either GET the file content or upload content using the resumable [tus.io](https://tus.io) protocol.
|
||||
|
||||
The _data provider_ uses the same _storage driver_ as the _storage provider_ but can be scaled independently.
|
||||
The *data provider* uses the same *storage driver* as the *storage provider* but can be scaled independently.
|
||||
|
||||
The dataprovider allows uploading the file to a quarantine area where further data analysis may happen before making the file accessible again. One use case for this is anti virus scanning for files coming from untrusted sources.
|
||||
|
||||
## Future work
|
||||
|
||||
### FUSE overlay filesystem
|
||||
|
||||
We are planning to further separate the concerns and use a local storage provider with a FUSE filesystem overlaying the actual POSIX storage that can be used to capture deletes and writes that might happen outside of ocis/reva.
|
||||
|
||||
It would allow us to extend the local storage driver with missing storage aspects while keeping a tree like filesystem that end users are used to see when sshing into the machine.
|
||||
|
||||
### Upload to Quarantine area
|
||||
|
||||
Antivirus scanning of random files uploaded from untrusted sources and executing metadata extraction or thumbnail generation should happen in a sandboxed system to prevent malicious users from gaining any information about the system. By spawning a new container with access to only the uploaded data we can further limit the attack surface.
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Testing"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
weight: 37
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-reva>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-reva
|
||||
geekdocEditPath: edit/master/docs
|
||||
geekdocFilePath: testing.md
|
||||
---
|
||||
|
||||
## geekdocFilePath: testing.md
|
||||
|
||||
## API Acceptance tests
|
||||
|
||||
@@ -15,22 +15,24 @@ We are using the ownCloud 10 API acceptance testsuite against ocis. To set this
|
||||
### Getting the tests
|
||||
|
||||
All you need to do to get the acceptance tests is check out the core repo:
|
||||
|
||||
git clone https://github.com/owncloud/core.git
|
||||
```
|
||||
git clone https://github.com/owncloud/core.git
|
||||
```
|
||||
|
||||
### Run a ldap server in a docker container
|
||||
|
||||
The ownCloud 10 acceptance tests will need write permission. You can start a suitable ldap server in a docker container with:
|
||||
|
||||
docker run --hostname ldap.my-company.com \
|
||||
-e LDAP_TLS_VERIFY_CLIENT=never \
|
||||
-e LDAP_DOMAIN=owncloud.com \
|
||||
-e LDAP_ORGANISATION=ownCloud \
|
||||
-e LDAP_ADMIN_PASSWORD=admin \
|
||||
--name docker-slapd \
|
||||
-p 127.0.0.1:389:389 \
|
||||
-p 636:636 -d osixia/openldap
|
||||
|
||||
```
|
||||
docker run --hostname ldap.my-company.com \
|
||||
-e LDAP_TLS_VERIFY_CLIENT=never \
|
||||
-e LDAP_DOMAIN=owncloud.com \
|
||||
-e LDAP_ORGANISATION=ownCloud \
|
||||
-e LDAP_ADMIN_PASSWORD=admin \
|
||||
--name docker-slapd \
|
||||
-p 127.0.0.1:389:389 \
|
||||
-p 636:636 -d osixia/openldap
|
||||
```
|
||||
### Run a redis server in a docker container
|
||||
|
||||
File versions need a redis server. Start one with docker by using:
|
||||
@@ -41,45 +43,50 @@ File versions need a redis server. Start one with docker by using:
|
||||
|
||||
`ocis-reva` provides multiple subcommands. To configure them all via env vars you can export these environment variables.
|
||||
|
||||
export REVA_USERS_DRIVER=ldap
|
||||
export REVA_LDAP_HOSTNAME=localhost
|
||||
export REVA_LDAP_PORT=636
|
||||
export REVA_LDAP_BASE_DN='dc=owncloud,dc=com'
|
||||
export REVA_LDAP_USERFILTER='(&(objectclass=posixAccount)(cn=%s))'
|
||||
export REVA_LDAP_GROUPFILTER='(&(objectclass=posixGroup)(cn=%s))'
|
||||
export REVA_LDAP_BIND_DN='cn=admin,dc=owncloud,dc=com'
|
||||
export REVA_LDAP_BIND_PASSWORD=admin
|
||||
export REVA_LDAP_SCHEMA_UID=uid
|
||||
export REVA_LDAP_SCHEMA_MAIL=mail
|
||||
export REVA_LDAP_SCHEMA_DISPLAYNAME=displayName
|
||||
export REVA_LDAP_SCHEMA_CN=cn
|
||||
export REVA_FRONTEND_URL=http://localhost:9140 # needed because the proxy is not started
|
||||
export REVA_DATAGATEWAY_URL=http://localhost:9140/data # needed because the proxy is not started
|
||||
```
|
||||
export REVA_USERS_DRIVER=ldap
|
||||
export REVA_LDAP_HOSTNAME=localhost
|
||||
export REVA_LDAP_PORT=636
|
||||
export REVA_LDAP_BASE_DN='dc=owncloud,dc=com'
|
||||
export REVA_LDAP_USERFILTER='(&(objectclass=posixAccount)(cn=%s))'
|
||||
export REVA_LDAP_GROUPFILTER='(&(objectclass=posixGroup)(cn=%s))'
|
||||
export REVA_LDAP_BIND_DN='cn=admin,dc=owncloud,dc=com'
|
||||
export REVA_LDAP_BIND_PASSWORD=admin
|
||||
export REVA_LDAP_SCHEMA_UID=uid
|
||||
export REVA_LDAP_SCHEMA_MAIL=mail
|
||||
export REVA_LDAP_SCHEMA_DISPLAYNAME=displayName
|
||||
export REVA_LDAP_SCHEMA_CN=cn
|
||||
export REVA_FRONTEND_URL=http://localhost:9140 # needed because the proxy is not started
|
||||
export REVA_DATAGATEWAY_URL=http://localhost:9140/data # needed because the proxy is not started
|
||||
```
|
||||
|
||||
Then you need to start the ocis-reva services
|
||||
|
||||
bin/ocis-reva frontend & \
|
||||
bin/ocis-reva gateway & \
|
||||
bin/ocis-reva auth-basic & \
|
||||
bin/ocis-reva auth-bearer & \
|
||||
bin/ocis-reva sharing & \
|
||||
bin/ocis-reva storage-home & \
|
||||
bin/ocis-reva storage-home-data & \
|
||||
bin/ocis-reva storage-oc & \
|
||||
bin/ocis-reva storage-oc-data & \
|
||||
bin/ocis-reva users &
|
||||
```
|
||||
bin/ocis-reva frontend & \
|
||||
bin/ocis-reva gateway & \
|
||||
bin/ocis-reva auth-basic & \
|
||||
bin/ocis-reva auth-bearer & \
|
||||
bin/ocis-reva sharing & \
|
||||
bin/ocis-reva storage-home & \
|
||||
bin/ocis-reva storage-home-data & \
|
||||
bin/ocis-reva storage-oc & \
|
||||
bin/ocis-reva storage-oc-data & \
|
||||
bin/ocis-reva users &
|
||||
```
|
||||
|
||||
### Run the API acceptance tests
|
||||
|
||||
In the ownCloud 10 core repo run
|
||||
|
||||
make test-acceptance-api \
|
||||
TEST_SERVER_URL=http://localhost:9140 \
|
||||
TEST_EXTERNAL_USER_BACKENDS=true \
|
||||
TEST_OCIS=true \
|
||||
OCIS_REVA_DATA_ROOT=/var/tmp/reva/ \
|
||||
BEHAT_FILTER_TAGS='~@notToImplementOnOCIS&&~@toImplementOnOCIS&&~@preview-extension-required' \
|
||||
SKELETON_DIR=apps/testing/data/apiSkeleton
|
||||
```
|
||||
make test-acceptance-api \
|
||||
TEST_SERVER_URL=http://localhost:9140 \
|
||||
TEST_EXTERNAL_USER_BACKENDS=true \
|
||||
TEST_OCIS=true \
|
||||
OCIS_REVA_DATA_ROOT=/var/tmp/reva/ \
|
||||
BEHAT_FILTER_TAGS='~@notToImplementOnOCIS&&~@toImplementOnOCIS&&~@preview-extension-required' \
|
||||
SKELETON_DIR=apps/testing/data/apiSkeleton
|
||||
```
|
||||
|
||||
Make sure to adjust the settings `TEST_SERVER_URL`,`OCIS_REVA_DATA_ROOT` and `SKELETON_DIR` according to your environment.
|
||||
|
||||
@@ -116,32 +123,26 @@ If you want to work on a specific issue
|
||||
2. locally run each of the tests marked with that issue in the expected failures file:
|
||||
|
||||
E.g.:
|
||||
|
||||
make test-acceptance-api \
|
||||
TEST_SERVER_URL=http://localhost:9140 \
|
||||
TEST_EXTERNAL_USER_BACKENDS=true \
|
||||
TEST_OCIS=true \
|
||||
OCIS_REVA_DATA_ROOT=/var/tmp/reva/ \
|
||||
BEHAT_FEATURE='tests/acceptance/features/apiComments/comments.feature:123'
|
||||
```
|
||||
make test-acceptance-api \
|
||||
TEST_SERVER_URL=http://localhost:9140 \
|
||||
TEST_EXTERNAL_USER_BACKENDS=true \
|
||||
TEST_OCIS=true \
|
||||
OCIS_REVA_DATA_ROOT=/var/tmp/reva/ \
|
||||
BEHAT_FEATURE='tests/acceptance/features/apiComments/comments.feature:123'
|
||||
```
|
||||
|
||||
3. the tests will fail, try to understand how and why they are failing
|
||||
|
||||
4. fix the code
|
||||
|
||||
5. go back to 2. and repeat till the tests are passing.
|
||||
|
||||
6. remove those tests from the expected failures file.
|
||||
|
||||
7. run each of the local tests that were demonstrating the **buggy** behavior. They should fail.
|
||||
|
||||
8. delete each of the local tests that were demonstrating the **buggy** behavior.
|
||||
|
||||
9. make a PR that has the fixed code, relevant lines removed from the expected failures file and bug demonstration tests deleted.
|
||||
|
||||
If the changes also affect the `ocis` repository make sure the changes get ported over there.
|
||||
That will need the fixed code in `ocis-reva` to be applied to `ocis` along with the test-related changes.
|
||||
|
||||
### Notes
|
||||
|
||||
- in a normal case the test-code cleans up users after the test-run, but if a test-run is interrupted (e.g. by CTRL+C) users might have been left on the LDAP server. In that case rerunning the tests requires wiping the users in the ldap server, otherwise the tests will fail when trying to populate the users. This can be done by simply running `docker stop docker-slapd && docker rm docker-slapd` and [restarting the LDAP server container](#run-a-ldap-server-in-a-docker-container)
|
||||
- the tests usually create users in the OU `TestUsers` with usernames specified in the feature file. If not defined in the feature file, most users have the password `123456`, defined by `regularUserPassword` in `behat.yml`, but other passwords are also used, see [`\FeatureContext::getPasswordForUser()`](https://github.com/owncloud/core/blob/master/tests/acceptance/features/bootstrap/FeatureContext.php#L386) for mapping and [`\FeatureContext::__construct`](https://github.com/owncloud/core/blob/master/tests/acceptance/features/bootstrap/FeatureContext.php#L1668) for the password definitions.
|
||||
- in a normal case the test-code cleans up users after the test-run, but if a test-run is interrupted (e.g. by CTRL+C) users might have been left on the LDAP server. In that case rerunning the tests requires wiping the users in the ldap server, otherwise the tests will fail when trying to populate the users. This can be done by simply running `docker stop docker-slapd && docker rm docker-slapd` and [restarting the LDAP server container](#run-a-ldap-server-in-a-docker-container)
|
||||
- the tests usually create users in the OU `TestUsers` with usernames specified in the feature file. If not defined in the feature file, most users have the password `123456`, defined by `regularUserPassword` in `behat.yml`, but other passwords are also used, see [`\FeatureContext::getPasswordForUser()`](https://github.com/owncloud/core/blob/master/tests/acceptance/features/bootstrap/FeatureContext.php#L386) for mapping and [`\FeatureContext::__construct`](https://github.com/owncloud/core/blob/master/tests/acceptance/features/bootstrap/FeatureContext.php#L1668) for the password definitions.
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Updating reva"
|
||||
date: 2020-05-22T00:00:00+00:00
|
||||
weight: 50
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-reva>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-reva
|
||||
geekdocEditPath: edit/master/docs
|
||||
geekdocFilePath: updating.md
|
||||
---
|
||||
|
||||
## geekdocFilePath: updating.md
|
||||
|
||||
{{< toc >}}
|
||||
{{< toc >}}
|
||||
|
||||
## Updating reva
|
||||
|
||||
1. Run `go get github.com/cs3org/reva@master`
|
||||
2. Create a changelog entry containing changes that were done in [reva](https://github.com/cs3org/reva/commits/master)
|
||||
3. Create a Pull Request to ocis-reva master with those changes
|
||||
4. If test issues appear, you might need to [adjust the tests]\({{< ref "testing.md" >}})
|
||||
5. After the PR is merged, consider doing a [release of ocis-reva]\({{< ref "releasing.md" >}})
|
||||
1. Run `go get github.com/cs3org/reva@master`
|
||||
2. Create a changelog entry containing changes that were done in [reva](https://github.com/cs3org/reva/commits/master)
|
||||
3. Create a Pull Request to ocis-reva master with those changes
|
||||
4. If test issues appear, you might need to [adjust the tests]({{< ref "testing.md" >}})
|
||||
5. After the PR is merged, consider doing a [release of ocis-reva]({{< ref "releasing.md" >}})
|
||||
|
||||
|
||||
@@ -1,31 +1,32 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Users"
|
||||
date: 2020-01-16T00:00:00+00:00
|
||||
weight: 35
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-reva>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-reva
|
||||
geekdocEditPath: edit/master/docs
|
||||
|
||||
## geekdocFilePath: users.md
|
||||
geekdocFilePath: users.md
|
||||
---
|
||||
|
||||
### Demo driver
|
||||
|
||||
This is a simple user driver for testing. It contains three users:
|
||||
|
||||
einstein:relativity
|
||||
marie:radioactivty
|
||||
richard:superfluidity
|
||||
|
||||
```
|
||||
einstein:relativity
|
||||
marie:radioactivty
|
||||
richard:superfluidity
|
||||
```
|
||||
In order to use the `demo` driver you need to export the relevant environment variable:
|
||||
|
||||
export REVA_USERS_DRIVER=demo
|
||||
```
|
||||
export REVA_USERS_DRIVER=demo
|
||||
```
|
||||
|
||||
### JSON driver
|
||||
|
||||
In order to switch from the `ldap` driver to JSON based users you need to export the relevant environment variables:
|
||||
|
||||
export REVA_USERS_DRIVER=json
|
||||
export REVA_USERS_JSON=/path/to/users.json
|
||||
```
|
||||
export REVA_USERS_DRIVER=json
|
||||
export REVA_USERS_JSON=/path/to/users.json
|
||||
```
|
||||
|
||||
For the format of the users.json have a look at the [reva examples](https://github.com/cs3org/reva/blob/master/examples/separate/users.demo.json)
|
||||
|
||||
@@ -34,17 +35,18 @@ For the format of the users.json have a look at the [reva examples](https://gith
|
||||
This is the default user driver.
|
||||
|
||||
If the below defaults don't match your environment change them accordingly:
|
||||
|
||||
export REVA_LDAP_HOSTNAME=localhost
|
||||
export REVA_LDAP_PORT=9126
|
||||
export REVA_LDAP_BASE_DN='dc=example,dc=org'
|
||||
export REVA_LDAP_USERFILTER='(&(objectclass=posixAccount)(cn=%s))'
|
||||
export REVA_LDAP_GROUPFILTER='(&(objectclass=posixGroup)(cn=%s))'
|
||||
export REVA_LDAP_BIND_DN='cn=reva,ou=sysusers,dc=example,dc=org'
|
||||
export REVA_LDAP_BIND_PASSWORD=reva
|
||||
export REVA_LDAP_SCHEMA_UID=uid
|
||||
export REVA_LDAP_SCHEMA_MAIL=mail
|
||||
export REVA_LDAP_SCHEMA_DISPLAYNAME=sn
|
||||
export REVA_LDAP_SCHEMA_CN=cn
|
||||
```
|
||||
export REVA_LDAP_HOSTNAME=localhost
|
||||
export REVA_LDAP_PORT=9126
|
||||
export REVA_LDAP_BASE_DN='dc=example,dc=org'
|
||||
export REVA_LDAP_USERFILTER='(&(objectclass=posixAccount)(cn=%s))'
|
||||
export REVA_LDAP_GROUPFILTER='(&(objectclass=posixGroup)(cn=%s))'
|
||||
export REVA_LDAP_BIND_DN='cn=reva,ou=sysusers,dc=example,dc=org'
|
||||
export REVA_LDAP_BIND_PASSWORD=reva
|
||||
export REVA_LDAP_SCHEMA_UID=uid
|
||||
export REVA_LDAP_SCHEMA_MAIL=mail
|
||||
export REVA_LDAP_SCHEMA_DISPLAYNAME=sn
|
||||
export REVA_LDAP_SCHEMA_CN=cn
|
||||
```
|
||||
|
||||
Then restart the `bin/ocis-reva users` and `bin/ocis-reva auth-basic` services for the changes to take effect.
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Ocs"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
weight: 10
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-ocs>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-ocs
|
||||
geekdocEditPath: edit/master/docs
|
||||
|
||||
## geekdocFilePath: \_index.md
|
||||
geekdocFilePath: _index.md
|
||||
---
|
||||
|
||||
This service provides the OCS API which is required by some ownCloud clients.
|
||||
|
||||
@@ -1,29 +1,28 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Building"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
weight: 30
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-ocs>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-ocs
|
||||
geekdocEditPath: edit/master/docs
|
||||
geekdocFilePath: building.md
|
||||
---
|
||||
|
||||
## geekdocFilePath: building.md
|
||||
|
||||
{{< toc >}}
|
||||
{{< toc >}}
|
||||
|
||||
As this project is built with Go, so you need to install that first. The installation of Go is out of the scope of this document, please follow the official documentation for [Go](https://golang.org/doc/install), to build this project you have to install Go >= v1.12. After the installation of the required tools you need to get the sources:
|
||||
|
||||
{{< highlight txt >}}
|
||||
git clone <https://github.com/owncloud/ocis-ocs.git>
|
||||
{{< highlight txt >}}
|
||||
git clone https://github.com/owncloud/ocis-ocs.git
|
||||
cd ocis-ocs
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
All required tool besides Go itself and make are bundled or getting automatically installed within the `GOPATH`. All commands to build this project are part of our `Makefile`.
|
||||
|
||||
## Backend
|
||||
|
||||
{{< highlight txt >}}
|
||||
{{< highlight txt >}}
|
||||
make generate
|
||||
make build
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
Finally you should have the binary within the `bin/` folder now, give it a try with `./bin/ocis-ocs -h` to see all available options.
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Getting Started"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
weight: 10
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-ocs>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-ocs
|
||||
geekdocEditPath: edit/master/docs
|
||||
geekdocFilePath: getting-started.md
|
||||
---
|
||||
|
||||
## geekdocFilePath: getting-started.md
|
||||
|
||||
{{< toc >}}
|
||||
{{< toc >}}
|
||||
|
||||
## Installation
|
||||
|
||||
@@ -16,7 +15,7 @@ So far we are offering two different variants for the installation. You can choo
|
||||
|
||||
### Docker
|
||||
|
||||
Docker images for ocis-ocs are hosted on <https://hub.docker.com/r/owncloud/ocis-ocs>.
|
||||
Docker images for ocis-ocs are hosted on https://hub.docker.com/r/owncloud/ocis-ocs.
|
||||
|
||||
The `latest` tag always reflects the current master branch.
|
||||
|
||||
@@ -26,7 +25,7 @@ docker pull owncloud/ocis-ocs
|
||||
|
||||
### Binaries
|
||||
|
||||
The pre-built binaries for different platforms are downloadable at <https://download.owncloud.com/ocis/ocs/> . Specific releases are organized in separate folders. They are in sync which every release tag on GitHub. The binaries from the current master branch can be found in <https://download.owncloud.com/ocis/ocs/testing/>
|
||||
The pre-built binaries for different platforms are downloadable at https://download.owncloud.com/ocis/ocs/ . Specific releases are organized in separate folders. They are in sync which every release tag on GitHub. The binaries from the current master branch can be found in https://download.owncloud.com/ocis/ocs/testing/
|
||||
|
||||
```console
|
||||
curl https://download.owncloud.com/ocis/ocis-ocs/1.0.0-beta1/ocis-ocs-1.0.0-beta1-darwin-amd64 --output ocis-ocs
|
||||
@@ -42,17 +41,17 @@ The program provides a few sub-commands on execution. The available configuratio
|
||||
|
||||
The server command is used to start the http and debug server on two addresses within a single process. The http server is serving the general webservice while the debug server is used for health check, readiness check and to server the metrics mentioned below. For further help please execute:
|
||||
|
||||
{{< highlight txt >}}
|
||||
{{< highlight txt >}}
|
||||
ocis-ocs server --help
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
### Health
|
||||
|
||||
The health command is used to execute a health check, if the exit code equals zero the service should be up and running, if the exist code is greater than zero the service is not in a healthy state. Generally this command is used within our Docker containers, it could also be used within Kubernetes.
|
||||
|
||||
{{< highlight txt >}}
|
||||
{{< highlight txt >}}
|
||||
ocis-ocs health --help
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
## Metrics
|
||||
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "License"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
weight: 40
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-ocs>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-ocs
|
||||
geekdocEditPath: edit/master/docs
|
||||
|
||||
## geekdocFilePath: license.md
|
||||
geekdocFilePath: license.md
|
||||
---
|
||||
|
||||
This project is licensed under the [Apache 2.0](https://github.com/owncloud/ocis/ocs/blob/master/LICENSE) license. For the license of the used libraries you have to check the respective sources.
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: Proxy
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-proxy>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-proxy
|
||||
geekdocEditPath: edit/master/docs
|
||||
|
||||
## geekdocFilePath: \_index.md
|
||||
geekdocFilePath: _index.md
|
||||
---
|
||||
|
||||
This service provides a basic proxy in front of the public ocis services.
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "About"
|
||||
date: 2020-02-07T00:00:00+00:00
|
||||
weight: 10
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-proxy>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-proxy
|
||||
geekdocEditPath: edit/master/docs
|
||||
|
||||
## geekdocFilePath: about.md
|
||||
geekdocFilePath: about.md
|
||||
---
|
||||
|
||||
This service provides an proxy service that routes requests to the correct services.
|
||||
|
||||
@@ -1,29 +1,28 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Building"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
weight: 30
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-proxy>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-proxy
|
||||
geekdocEditPath: edit/master/docs
|
||||
geekdocFilePath: building.md
|
||||
---
|
||||
|
||||
## geekdocFilePath: building.md
|
||||
|
||||
{{< toc >}}
|
||||
{{< toc >}}
|
||||
|
||||
As this project is built with Go, so you need to install that first. The installation of Go is out of the scope of this document, please follow the official documentation for [Go](https://golang.org/doc/install), to build this project you have to install Go >= v1.13. After the installation of the required tools you need to get the sources:
|
||||
|
||||
{{< highlight txt >}}
|
||||
git clone <https://github.com/owncloud/ocis-proxy.git>
|
||||
{{< highlight txt >}}
|
||||
git clone https://github.com/owncloud/ocis-proxy.git
|
||||
cd ocis-proxy
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
All required tool besides Go itself and make are bundled or getting automatically installed within the `GOPATH`. All commands to build this project are part of our `Makefile`.
|
||||
|
||||
## Backend
|
||||
|
||||
{{< highlight txt >}}
|
||||
{{< highlight txt >}}
|
||||
make generate
|
||||
make build
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
Finally you should have the binary within the `bin/` folder now, give it a try with `./bin/ocis-proxy -h` to see all available options and subcommands.
|
||||
|
||||
@@ -1,20 +1,19 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Configuration"
|
||||
date: "2020-09-21T13:14:51+0200"
|
||||
weight: 20
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-proxy>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-proxy
|
||||
geekdocEditPath: edit/master/docs
|
||||
geekdocFilePath: configuration.md
|
||||
---
|
||||
|
||||
## geekdocFilePath: configuration.md
|
||||
|
||||
{{< toc >}}
|
||||
{{< toc >}}
|
||||
|
||||
## Configuration
|
||||
|
||||
oCIS Single Binary is not responsible for configuring extensions. Instead, each extension could either be configured by environment variables, cli flags or config files.
|
||||
|
||||
Each extension has its dedicated documentation page (e.g. <https://owncloud.github.io/extensions/ocis_proxy/configuration>) which lists all possible configurations. Config files and environment variables are picked up if you use the `./bin/ocis server` command within the oCIS single binary. Command line flags must be set explicitly on the extensions subcommands.
|
||||
Each extension has its dedicated documentation page (e.g. https://owncloud.github.io/extensions/ocis_proxy/configuration) which lists all possible configurations. Config files and environment variables are picked up if you use the `./bin/ocis server` command within the oCIS single binary. Command line flags must be set explicitly on the extensions subcommands.
|
||||
|
||||
### Configuration using config files
|
||||
|
||||
@@ -26,7 +25,7 @@ $HOME/.ocis
|
||||
./config
|
||||
```
|
||||
|
||||
For this configuration to be picked up, have a look at your extension `root` command and look for which default config name it has assigned. _i.e: ocis-proxy reads `proxy.json | yaml | toml ...`_.
|
||||
For this configuration to be picked up, have a look at your extension `root` command and look for which default config name it has assigned. *i.e: ocis-proxy reads `proxy.json | yaml | toml ...`*.
|
||||
|
||||
So far we support the file formats `JSON` and `YAML`, if you want to get a full example configuration just take a look at [our repository](https://github.com/owncloud/ocis/tree/master/config), there you can always see the latest configuration format. These example configurations include all available options and the default values. The configuration file will be automatically loaded if it's placed at `/etc/ocis/ocis.yml`, `${HOME}/.ocis/ocis.yml` or `$(pwd)/config/ocis.yml`.
|
||||
|
||||
@@ -44,16 +43,16 @@ proxy for Reva/oCIS
|
||||
|
||||
Usage: `ocis-proxy [global options] command [command options] [arguments...]`
|
||||
|
||||
\--config-file | $PROXY_CONFIG_FILE
|
||||
--config-file | $PROXY_CONFIG_FILE
|
||||
: Path to config file.
|
||||
|
||||
\--log-level | $PROXY_LOG_LEVEL
|
||||
--log-level | $PROXY_LOG_LEVEL
|
||||
: Set logging level. Default: `info`.
|
||||
|
||||
\--log-pretty | $PROXY_LOG_PRETTY
|
||||
--log-pretty | $PROXY_LOG_PRETTY
|
||||
: Enable pretty logging. Default: `true`.
|
||||
|
||||
\--log-color | $PROXY_LOG_COLOR
|
||||
--log-color | $PROXY_LOG_COLOR
|
||||
: Enable colored logging. Default: `true`.
|
||||
|
||||
## Sub Commands
|
||||
@@ -64,7 +63,7 @@ Check health status
|
||||
|
||||
Usage: `ocis-proxy health [command options] [arguments...]`
|
||||
|
||||
\--debug-addr | $PROXY_DEBUG_ADDR
|
||||
--debug-addr | $PROXY_DEBUG_ADDR
|
||||
: Address to debug endpoint. Default: `0.0.0.0:9109`.
|
||||
|
||||
### ocis-proxy server
|
||||
@@ -73,62 +72,63 @@ Start integrated server
|
||||
|
||||
Usage: `ocis-proxy server [command options] [arguments...]`
|
||||
|
||||
\--tracing-enabled | $PROXY_TRACING_ENABLED
|
||||
--tracing-enabled | $PROXY_TRACING_ENABLED
|
||||
: Enable sending traces.
|
||||
|
||||
\--tracing-type | $PROXY_TRACING_TYPE
|
||||
--tracing-type | $PROXY_TRACING_TYPE
|
||||
: Tracing backend type. Default: `jaeger`.
|
||||
|
||||
\--tracing-endpoint | $PROXY_TRACING_ENDPOINT
|
||||
--tracing-endpoint | $PROXY_TRACING_ENDPOINT
|
||||
: Endpoint for the agent.
|
||||
|
||||
\--tracing-collector | $PROXY_TRACING_COLLECTOR
|
||||
--tracing-collector | $PROXY_TRACING_COLLECTOR
|
||||
: Endpoint for the collector. Default: `http://localhost:14268/api/traces`.
|
||||
|
||||
\--tracing-service | $PROXY_TRACING_SERVICE
|
||||
--tracing-service | $PROXY_TRACING_SERVICE
|
||||
: Service name for tracing. Default: `proxy`.
|
||||
|
||||
\--debug-addr | $PROXY_DEBUG_ADDR
|
||||
--debug-addr | $PROXY_DEBUG_ADDR
|
||||
: Address to bind debug server. Default: `0.0.0.0:9205`.
|
||||
|
||||
\--debug-token | $PROXY_DEBUG_TOKEN
|
||||
--debug-token | $PROXY_DEBUG_TOKEN
|
||||
: Token to grant metrics access.
|
||||
|
||||
\--debug-pprof | $PROXY_DEBUG_PPROF
|
||||
--debug-pprof | $PROXY_DEBUG_PPROF
|
||||
: Enable pprof debugging.
|
||||
|
||||
\--debug-zpages | $PROXY_DEBUG_ZPAGES
|
||||
--debug-zpages | $PROXY_DEBUG_ZPAGES
|
||||
: Enable zpages debugging.
|
||||
|
||||
\--http-addr | $PROXY_HTTP_ADDR
|
||||
--http-addr | $PROXY_HTTP_ADDR
|
||||
: Address to bind http server. Default: `0.0.0.0:9200`.
|
||||
|
||||
\--http-root | $PROXY_HTTP_ROOT
|
||||
--http-root | $PROXY_HTTP_ROOT
|
||||
: Root path of http server. Default: `/`.
|
||||
|
||||
\--asset-path | $PROXY_ASSET_PATH
|
||||
--asset-path | $PROXY_ASSET_PATH
|
||||
: Path to custom assets.
|
||||
|
||||
\--http-namespace | $PROXY_HTTP_NAMESPACE
|
||||
--http-namespace | $PROXY_HTTP_NAMESPACE
|
||||
: Set the base namespace for the http namespace. Default: `com.owncloud`.
|
||||
|
||||
\--transport-tls-cert | $PROXY_TRANSPORT_TLS_CERT
|
||||
--transport-tls-cert | $PROXY_TRANSPORT_TLS_CERT
|
||||
: Certificate file for transport encryption.
|
||||
|
||||
\--transport-tls-key | $PROXY_TRANSPORT_TLS_KEY
|
||||
--transport-tls-key | $PROXY_TRANSPORT_TLS_KEY
|
||||
: Secret file for transport encryption.
|
||||
|
||||
\--tls | $PROXY_TLS
|
||||
--tls | $PROXY_TLS
|
||||
: Use TLS (disable only if proxy is behind a TLS-terminating reverse-proxy).. Default: `true`.
|
||||
|
||||
\--jwt-secret | $PROXY_JWT_SECRET
|
||||
--jwt-secret | $PROXY_JWT_SECRET
|
||||
: Used to create JWT to talk to reva, should equal reva's jwt-secret. Default: `Pive-Fumkiu4`.
|
||||
|
||||
\--reva-gateway-addr | $PROXY_REVA_GATEWAY_ADDR
|
||||
--reva-gateway-addr | $PROXY_REVA_GATEWAY_ADDR
|
||||
: REVA Gateway Endpoint. Default: `127.0.0.1:9142`.
|
||||
|
||||
\--oidc-issuer | $PROXY_OIDC_ISSUER
|
||||
--oidc-issuer | $PROXY_OIDC_ISSUER
|
||||
: OIDC issuer. Default: `https://localhost:9200`.
|
||||
|
||||
\--oidc-insecure | $PROXY_OIDC_INSECURE
|
||||
--oidc-insecure | $PROXY_OIDC_INSECURE
|
||||
: OIDC allow insecure communication. Default: `true`.
|
||||
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Getting Started"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
weight: 15
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-proxy>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-proxy
|
||||
geekdocEditPath: edit/master/docs
|
||||
geekdocFilePath: getting-started.md
|
||||
---
|
||||
|
||||
## geekdocFilePath: getting-started.md
|
||||
|
||||
{{< toc >}}
|
||||
{{< toc >}}
|
||||
|
||||
## Installation
|
||||
|
||||
@@ -16,7 +15,7 @@ So far we are offering two different variants for the installation. You can choo
|
||||
|
||||
### Docker
|
||||
|
||||
Docker images for ocis-reva are hosted on <https://hub.docker.com/r/owncloud/ocis-proxy>.
|
||||
Docker images for ocis-reva are hosted on https://hub.docker.com/r/owncloud/ocis-proxy.
|
||||
|
||||
The `latest` tag always reflects the current master branch.
|
||||
|
||||
@@ -26,7 +25,7 @@ docker pull owncloud/ocis-proxy
|
||||
|
||||
### Binaries
|
||||
|
||||
The pre-built binaries for different platforms are downloadable at <https://download.owncloud.com/ocis/ocis-proxy/> . Specific releases are organized in separate folders. They are in sync which every release tag on GitHub. The binaries from the current master branch can be found in <https://download.owncloud.com/ocis/ocis-proxy/testing/>
|
||||
The pre-built binaries for different platforms are downloadable at https://download.owncloud.com/ocis/ocis-proxy/ . Specific releases are organized in separate folders. They are in sync which every release tag on GitHub. The binaries from the current master branch can be found in https://download.owncloud.com/ocis/ocis-proxy/testing/
|
||||
|
||||
```console
|
||||
curl https://download.owncloud.com/ocis/ocis-proxy/1.0.0-beta1/ocis-proxy-1.0.0-beta1-darwin-amd64 --output ocis-proxy
|
||||
@@ -42,6 +41,6 @@ The program provides a few sub-commands on execution. The available configuratio
|
||||
|
||||
The server command is used to start the http server. For further help please execute:
|
||||
|
||||
{{< highlight txt >}}
|
||||
{{< highlight txt >}}
|
||||
ocis-proxy server --help
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Settings"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
weight: 10
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-settings>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-settings
|
||||
geekdocEditPath: edit/master/docs
|
||||
|
||||
## geekdocFilePath: \_index.md
|
||||
geekdocFilePath: _index.md
|
||||
---
|
||||
|
||||
## Abstract
|
||||
|
||||
@@ -18,7 +17,7 @@ For ease of use, this extension provides an ocis-web extension which allows user
|
||||
Please refer to the [ocis-web extension docs](https://owncloud.github.io/ocis/extensions/#external-phoenix-apps)
|
||||
for running ocis-web extensions.
|
||||
|
||||
{{< mermaid class="text-center">}}
|
||||
{{< mermaid class="text-center">}}
|
||||
graph TD
|
||||
subgraph ow[ocis-web]
|
||||
ows[ocis-web-settings]
|
||||
@@ -30,20 +29,18 @@ graph TD
|
||||
sdks ---|"yes"| os
|
||||
sdks ---|"no"| defaults[Use set of<br>default values]
|
||||
oa[oCIS extensions<br>e.g. ocis-accounts] ---|"saveSettingsBundle(bundle)"| os
|
||||
{{< /mermaid >}}
|
||||
{{< /mermaid >}}
|
||||
|
||||
The diagram shows how the settings service integrates into oCIS:
|
||||
|
||||
**Settings management:**
|
||||
|
||||
- oCIS extensions can register _settings bundles_ with the ocis-settings service.
|
||||
- The settings frontend can be plugged into ocis-web, showing forms for changing _settings values_ as a user.
|
||||
The forms are generated from the registered _settings bundles_.
|
||||
- oCIS extensions can register *settings bundles* with the ocis-settings service.
|
||||
- The settings frontend can be plugged into ocis-web, showing forms for changing *settings values* as a user.
|
||||
The forms are generated from the registered *settings bundles*.
|
||||
|
||||
**Settings usage:**
|
||||
|
||||
- Extensions can query ocis-settings for _settings values_ of a user.
|
||||
- The ownCloud SDK, used as a data abstraction layer for ocis-web, will query ocis-settings for _settings values_ of a user,
|
||||
if it's available. The SDK uses sensible defaults when ocis-settings is not part of the setup.
|
||||
- Extensions can query ocis-settings for *settings values* of a user.
|
||||
- The ownCloud SDK, used as a data abstraction layer for ocis-web, will query ocis-settings for *settings values* of a user,
|
||||
if it's available. The SDK uses sensible defaults when ocis-settings is not part of the setup.
|
||||
|
||||
For compatibility with ownCloud 10, a migration of ownCloud 10 settings into the storage of ocis-settings will be available.
|
||||
|
||||
@@ -1,29 +1,28 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Building"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
weight: 30
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-settings>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-settings
|
||||
geekdocEditPath: edit/master/docs
|
||||
geekdocFilePath: building.md
|
||||
---
|
||||
|
||||
## geekdocFilePath: building.md
|
||||
|
||||
{{< toc >}}
|
||||
{{< toc >}}
|
||||
|
||||
As this project is built with Go, so you need to install that first. The installation of Go is out of the scope of this document, please follow the official documentation for [Go](https://golang.org/doc/install), to build this project you have to install Go >= v1.12. After the installation of the required tools you need to get the sources:
|
||||
|
||||
{{< highlight txt >}}
|
||||
git clone <https://github.com/owncloud/ocis-settings.git>
|
||||
{{< highlight txt >}}
|
||||
git clone https://github.com/owncloud/ocis-settings.git
|
||||
cd ocis-settings
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
All required tool besides Go itself and make are bundled or getting automatically installed within the `GOPATH`. All commands to build this project are part of our `Makefile`.
|
||||
|
||||
## Backend
|
||||
|
||||
{{< highlight txt >}}
|
||||
{{< highlight txt >}}
|
||||
make generate
|
||||
make build
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
Finally you should have the binary within the `bin/` folder now, give it a try with `./bin/ocis-settings -h` to see all available options.
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Settings Bundles"
|
||||
date: 2020-05-04T00:00:00+00:00
|
||||
weight: 50
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-settings>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-settings
|
||||
geekdocEditPath: edit/master/docs
|
||||
|
||||
## geekdocFilePath: bundles.md
|
||||
geekdocFilePath: bundles.md
|
||||
---
|
||||
|
||||
A **Settings Bundle** is a collection of settings, uniquely identified by the key of the
|
||||
extension registering the bundle and the key of the bundle itself. It's purpose is to let
|
||||
@@ -14,12 +13,11 @@ oCIS extensions define settings and make them available to users. They are dynam
|
||||
rendered into forms, available in the frontend.
|
||||
|
||||
As of now we support five different types of settings:
|
||||
|
||||
- boolean
|
||||
- integer
|
||||
- string
|
||||
- single choice list of integers or strings
|
||||
- multiple choice list of integers or strings
|
||||
- boolean
|
||||
- integer
|
||||
- string
|
||||
- single choice list of integers or strings
|
||||
- multiple choice list of integers or strings
|
||||
|
||||
Each **Setting** is uniquely identified by a key within the bundle. Some attributes
|
||||
depend on the chosen type of setting. Through the information provided with the
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Getting Started"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
weight: 25
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-settings>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-settings
|
||||
geekdocEditPath: edit/master/docs
|
||||
geekdocFilePath: getting-started.md
|
||||
---
|
||||
|
||||
## geekdocFilePath: getting-started.md
|
||||
|
||||
{{< toc >}}
|
||||
{{< toc >}}
|
||||
|
||||
## Installation
|
||||
|
||||
@@ -93,59 +92,59 @@ If you prefer to configure the service with commandline flags you can see the av
|
||||
|
||||
#### Global
|
||||
|
||||
\--config-file
|
||||
--config-file
|
||||
: Path to config file, empty default value
|
||||
|
||||
\--log-level
|
||||
--log-level
|
||||
: Set logging level, defaults to `info`
|
||||
|
||||
\--log-color
|
||||
--log-color
|
||||
: Enable colored logging, defaults to `true`
|
||||
|
||||
\--log-pretty
|
||||
--log-pretty
|
||||
: Enable pretty logging, defaults to `true`
|
||||
|
||||
#### Server
|
||||
|
||||
\--tracing-enabled
|
||||
--tracing-enabled
|
||||
: Enable sending traces, defaults to `false`
|
||||
|
||||
\--tracing-type
|
||||
--tracing-type
|
||||
: Tracing backend type, defaults to `jaeger`
|
||||
|
||||
\--tracing-endpoint
|
||||
--tracing-endpoint
|
||||
: Endpoint for the agent, empty default value
|
||||
|
||||
\--tracing-collector
|
||||
--tracing-collector
|
||||
: Endpoint for the collector, empty default value
|
||||
|
||||
\--tracing-service
|
||||
--tracing-service
|
||||
: Service name for tracing, defaults to `settings`
|
||||
|
||||
\--debug-addr
|
||||
--debug-addr
|
||||
: Address to bind debug server, defaults to `0.0.0.0:9194`
|
||||
|
||||
\--debug-token
|
||||
--debug-token
|
||||
: Token to grant metrics access, empty default value
|
||||
|
||||
\--debug-pprof
|
||||
--debug-pprof
|
||||
: Enable pprof debugging, defaults to `false`
|
||||
|
||||
\--debug-zpages
|
||||
--debug-zpages
|
||||
: Enable zpages debugging, defaults to `false`
|
||||
|
||||
\--http-addr
|
||||
--http-addr
|
||||
: Address to bind http server, defaults to `0.0.0.0:9190`
|
||||
|
||||
\--http-namespace
|
||||
--http-namespace
|
||||
: Namespace for internal services communication, defaults to `com.owncloud.web`
|
||||
|
||||
\--http-root
|
||||
--http-root
|
||||
: Root path of http server, defaults to `/`
|
||||
|
||||
#### Health
|
||||
|
||||
\--debug-addr
|
||||
--debug-addr
|
||||
: Address to debug endpoint, defaults to `0.0.0.0:9194`
|
||||
|
||||
### Configuration file
|
||||
@@ -160,17 +159,17 @@ The program provides a few sub-commands on execution. The available configuratio
|
||||
|
||||
The server command is used to start the http and debug server on two addresses within a single process. The http server is serving the general webservice while the debug server is used for health check, readiness check and to server the metrics mentioned below. For further help please execute:
|
||||
|
||||
{{< highlight txt >}}
|
||||
{{< highlight txt >}}
|
||||
ocis-settings server --help
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
### Health
|
||||
|
||||
The health command is used to execute a health check, if the exit code equals zero the service should be up and running, if the exist code is greater than zero the service is not in a healthy state. Generally this command is used within our Docker containers, it could also be used within Kubernetes.
|
||||
|
||||
{{< highlight txt >}}
|
||||
{{< highlight txt >}}
|
||||
ocis-settings health --help
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
## Metrics
|
||||
|
||||
|
||||
@@ -1,43 +1,42 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Glossary"
|
||||
date: 2020-05-04T12:35:00+01:00
|
||||
weight: 80
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-settings>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-settings
|
||||
geekdocEditPath: edit/master/docs
|
||||
|
||||
## geekdocFilePath: glossary.md
|
||||
geekdocFilePath: glossary.md
|
||||
---
|
||||
|
||||
In the context of this extension and oCIS in general, we are using the following terminology.
|
||||
|
||||
### Configuration
|
||||
|
||||
- System configuration
|
||||
- e.g. service host names and ports
|
||||
- Changes need to be propagated to other services
|
||||
- Typically modified on the CLI
|
||||
- System configuration
|
||||
- e.g. service host names and ports
|
||||
- Changes need to be propagated to other services
|
||||
- Typically modified on the CLI
|
||||
|
||||
### Settings
|
||||
|
||||
- Application level settings
|
||||
- e.g. default language
|
||||
- Can be modified at runtime without restarting the service
|
||||
- Typically modified in the UI
|
||||
- Application level settings
|
||||
- e.g. default language
|
||||
- Can be modified at runtime without restarting the service
|
||||
- Typically modified in the UI
|
||||
|
||||
### Preferences
|
||||
|
||||
- User settings
|
||||
- Subset of "Settings"
|
||||
- e.g. preferred language of a user
|
||||
- User settings
|
||||
- Subset of "Settings"
|
||||
- e.g. preferred language of a user
|
||||
|
||||
### Settings Bundle
|
||||
|
||||
- Collection of related settings
|
||||
- Registered by an ocis extension
|
||||
- Collection of related settings
|
||||
- Registered by an ocis extension
|
||||
|
||||
### Settings Value
|
||||
|
||||
- Manifestation of a setting for a specific user
|
||||
- E.g. used for customization (at runtime) in `ocis-web`
|
||||
- `ocis-web-settings` extension for modifying settings values is provided by this service
|
||||
- Can be queried and modified by other ocis extensions
|
||||
- Manifestation of a setting for a specific user
|
||||
- E.g. used for customization (at runtime) in `ocis-web`
|
||||
- `ocis-web-settings` extension for modifying settings values is provided by this service
|
||||
- Can be queried and modified by other ocis extensions
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "License"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
weight: 90
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-settings>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-settings
|
||||
geekdocEditPath: edit/master/docs
|
||||
|
||||
## geekdocFilePath: license.md
|
||||
geekdocFilePath: license.md
|
||||
---
|
||||
|
||||
This project is licensed under the [Apache 2.0](https://github.com/owncloud/ocis/settings/blob/master/LICENSE) license. For the license of the used libraries you have to check the respective sources.
|
||||
|
||||
@@ -1,34 +1,32 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Settings Values"
|
||||
date: 2020-05-04T00:00:00+00:00
|
||||
weight: 51
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-settings>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-settings
|
||||
geekdocEditPath: edit/master/docs
|
||||
|
||||
## geekdocFilePath: values.md
|
||||
geekdocFilePath: values.md
|
||||
---
|
||||
|
||||
A **Settings Value** is the value an authenticated user has chosen for a specific setting, defined in a
|
||||
_settings bundle_. For choosing settings values as a user the sole entry point is the ocis-web extension
|
||||
*settings bundle*. For choosing settings values as a user the sole entry point is the ocis-web extension
|
||||
provided by this service.
|
||||
|
||||
## Identifying settings values
|
||||
|
||||
A _settings value_ is uniquely identified by four attributes. Three of them are coming from the definition of
|
||||
A *settings value* is uniquely identified by four attributes. Three of them are coming from the definition of
|
||||
the setting within it's settings bundle (see [Settings Bundles](https://owncloud.github.io/extensions/ocis_settings/bundles/)
|
||||
for an example). The fourth identifies the user.
|
||||
- extension: Key of the extension that registered the settings bundle,
|
||||
- bundleKey: Key of the settings bundle,
|
||||
- settingKey: Key of the setting as defined within the bundle,
|
||||
- accountUuid: The UUID of the authenticated user who has saved the setting.
|
||||
|
||||
- extension: Key of the extension that registered the settings bundle,
|
||||
- bundleKey: Key of the settings bundle,
|
||||
- settingKey: Key of the setting as defined within the bundle,
|
||||
- accountUuid: The UUID of the authenticated user who has saved the setting.
|
||||
|
||||
{{< hint info >}}
|
||||
{{< hint info >}}
|
||||
When requests are going through `ocis-proxy`, the accountUuid attribute can be set to the static keyword `me`
|
||||
instead of using a real UUID. `ocis-proxy` will take care of minting the UUID of the authenticated user into
|
||||
a JWT, providing it in the HTTP header as `x-access-token`. That UUID is then used in this service, to replace
|
||||
`me` with the actual UUID of the authenticated user.
|
||||
{{< /hint >}}
|
||||
{{< /hint >}}
|
||||
|
||||
## Example of stored settings values
|
||||
|
||||
@@ -70,9 +68,8 @@ a JWT, providing it in the HTTP header as `x-access-token`. That UUID is then us
|
||||
```
|
||||
|
||||
## gRPC endpoints
|
||||
|
||||
The obvious way of modifying settings is the ocis-web extension, as described earlier. However, services can
|
||||
use the respective gRPC endpoints of the `ValueService` to query and modify _settings values_ as well.
|
||||
use the respective gRPC endpoints of the `ValueService` to query and modify *settings values* as well.
|
||||
The gRPC endpoints require the same identifier attributes as described above, so for making a request to
|
||||
the `ValueService` you will have to make sure that the accountUuid of the authenticated user is available in
|
||||
your service at the time of the request.
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Store"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
weight: 10
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-store>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-store
|
||||
geekdocEditPath: edit/master/docs
|
||||
|
||||
## geekdocFilePath: \_index.md
|
||||
geekdocFilePath: _index.md
|
||||
---
|
||||
|
||||
This service provides ...
|
||||
|
||||
@@ -1,29 +1,28 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Building"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
weight: 30
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-store>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-store
|
||||
geekdocEditPath: edit/master/docs
|
||||
geekdocFilePath: building.md
|
||||
---
|
||||
|
||||
## geekdocFilePath: building.md
|
||||
|
||||
{{< toc >}}
|
||||
{{< toc >}}
|
||||
|
||||
As this project is built with Go, so you need to install that first. The installation of Go is out of the scope of this document, please follow the official documentation for [Go](https://golang.org/doc/install), to build this project you have to install Go >= v1.12. After the installation of the required tools you need to get the sources:
|
||||
|
||||
{{< highlight txt >}}
|
||||
git clone <https://github.com/owncloud/ocis-store.git>
|
||||
{{< highlight txt >}}
|
||||
git clone https://github.com/owncloud/ocis-store.git
|
||||
cd ocis-store
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
All required tool besides Go itself and make are bundled or getting automatically installed within the `GOPATH`. All commands to build this project are part of our `Makefile`.
|
||||
|
||||
## Backend
|
||||
|
||||
{{< highlight txt >}}
|
||||
{{< highlight txt >}}
|
||||
make generate
|
||||
make build
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
Finally you should have the binary within the `bin/` folder now, give it a try with `./bin/ocis-store -h` to see all available options.
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Getting Started"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
weight: 20
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-store>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-store
|
||||
geekdocEditPath: edit/master/docs
|
||||
geekdocFilePath: getting-started.md
|
||||
---
|
||||
|
||||
## geekdocFilePath: getting-started.md
|
||||
|
||||
{{< toc >}}
|
||||
{{< toc >}}
|
||||
|
||||
## Installation
|
||||
|
||||
@@ -93,59 +92,59 @@ If you prefer to configure the service with commandline flags you can see the av
|
||||
|
||||
#### Global
|
||||
|
||||
\--config-file
|
||||
--config-file
|
||||
: Path to config file, empty default value
|
||||
|
||||
\--log-level
|
||||
--log-level
|
||||
: Set logging level, defaults to `info`
|
||||
|
||||
\--log-color
|
||||
--log-color
|
||||
: Enable colored logging, defaults to `true`
|
||||
|
||||
\--log-pretty
|
||||
--log-pretty
|
||||
: Enable pretty logging, defaults to `true`
|
||||
|
||||
#### Server
|
||||
|
||||
\--tracing-enabled
|
||||
--tracing-enabled
|
||||
: Enable sending traces, defaults to `false`
|
||||
|
||||
\--tracing-type
|
||||
--tracing-type
|
||||
: Tracing backend type, defaults to `jaeger`
|
||||
|
||||
\--tracing-endpoint
|
||||
--tracing-endpoint
|
||||
: Endpoint for the agent, empty default value
|
||||
|
||||
\--tracing-collector
|
||||
--tracing-collector
|
||||
: Endpoint for the collector, empty default value
|
||||
|
||||
\--tracing-service
|
||||
--tracing-service
|
||||
: Service name for tracing, defaults to `store`
|
||||
|
||||
\--debug-addr
|
||||
--debug-addr
|
||||
: Address to bind debug server
|
||||
|
||||
\--debug-token
|
||||
--debug-token
|
||||
: Token to grant metrics access, empty default value
|
||||
|
||||
\--debug-pprof
|
||||
--debug-pprof
|
||||
: Enable pprof debugging, defaults to `false`
|
||||
|
||||
\--debug-zpages
|
||||
--debug-zpages
|
||||
: Enable zpages debugging, defaults to `false`
|
||||
|
||||
\--http-addr
|
||||
--http-addr
|
||||
: Address to bind http server, defaults to `0.0.0.0:9461`
|
||||
|
||||
\--http-namespace
|
||||
--http-namespace
|
||||
: Namespace for internal services communication, defaults to `com.owncloud.web`
|
||||
|
||||
\--http-root
|
||||
--http-root
|
||||
: Root path of http server, defaults to `/`
|
||||
|
||||
#### Health
|
||||
|
||||
\--debug-addr
|
||||
--debug-addr
|
||||
: Address to debug endpoint
|
||||
|
||||
### Configuration file
|
||||
@@ -160,17 +159,17 @@ The program provides a few sub-commands on execution. The available configuratio
|
||||
|
||||
The server command is used to start the http and debug server on two addresses within a single process. The http server is serving the general webservice while the debug server is used for health check, readiness check and to server the metrics mentioned below. For further help please execute:
|
||||
|
||||
{{< highlight txt >}}
|
||||
{{< highlight txt >}}
|
||||
ocis-store server --help
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
### Health
|
||||
|
||||
The health command is used to execute a health check, if the exit code equals zero the service should be up and running, if the exist code is greater than zero the service is not in a healthy state. Generally this command is used within our Docker containers, it could also be used within Kubernetes.
|
||||
|
||||
{{< highlight txt >}}
|
||||
{{< highlight txt >}}
|
||||
ocis-store health --help
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
## Metrics
|
||||
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "License"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
weight: 40
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-store>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-store
|
||||
geekdocEditPath: edit/master/docs
|
||||
|
||||
## geekdocFilePath: license.md
|
||||
geekdocFilePath: license.md
|
||||
---
|
||||
|
||||
This project is licensed under the [Apache 2.0](https://github.com/owncloud/ocis/store/blob/master/LICENSE) license. For the license of the used libraries you have to check the respective sources.
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Thumbnails"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
weight: 10
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-thumbnails>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-thumbnails
|
||||
geekdocEditPath: edit/master/docs
|
||||
|
||||
## geekdocFilePath: \_index.md
|
||||
geekdocFilePath: _index.md
|
||||
---
|
||||
|
||||
This service provides an ocis extensions which generates thumbnails for image files.
|
||||
|
||||
@@ -1,29 +1,28 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Building"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
weight: 30
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-thumbnails>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-thumbnails
|
||||
geekdocEditPath: edit/master/docs
|
||||
geekdocFilePath: building.md
|
||||
---
|
||||
|
||||
## geekdocFilePath: building.md
|
||||
|
||||
{{< toc >}}
|
||||
{{< toc >}}
|
||||
|
||||
As this project is built with Go, so you need to install that first. The installation of Go is out of the scope of this document, please follow the official documentation for [Go](https://golang.org/doc/install), to build this project you have to install Go >= v1.12. After the installation of the required tools you need to get the sources:
|
||||
|
||||
{{< highlight txt >}}
|
||||
git clone <https://github.com/owncloud/ocis-thubnails.git>
|
||||
{{< highlight txt >}}
|
||||
git clone https://github.com/owncloud/ocis-thubnails.git
|
||||
cd {{ Name }}
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
All required tool besides Go itself and make are bundled or getting automatically installed within the `Gopath`. All commands to build this project are part of our `Makefile`.
|
||||
|
||||
## Backend
|
||||
|
||||
{{< highlight txt >}}
|
||||
{{< highlight txt >}}
|
||||
make generate
|
||||
make build
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
Finally you should have the binary within the `bin/` folder now, give it a try with `./bin/ocis-thumbnails -h` to see all available options.
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Getting Started"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
weight: 20
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-thumbnails>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-thumbnails
|
||||
geekdocEditPath: edit/master/docs
|
||||
geekdocFilePath: getting-started.md
|
||||
---
|
||||
|
||||
## geekdocFilePath: getting-started.md
|
||||
|
||||
{{< toc >}}
|
||||
{{< toc >}}
|
||||
|
||||
## Installation
|
||||
|
||||
@@ -89,7 +88,7 @@ THUMBNAILS_WEBDAVSOURCE_BASEURL
|
||||
: Base url for a webdav api, defaults to `https://localhost:9200/remote.php/webdav/`
|
||||
|
||||
THUMBNAILS_RESOLUTIONS
|
||||
: List of resolutions supported by the service, defaults to \`["16x16", "32x32", "64x64", "128x128"]
|
||||
: List of resolutions supported by the service, defaults to `["16x16", "32x32", "64x64", "128x128"]
|
||||
|
||||
#### Health
|
||||
|
||||
@@ -102,68 +101,68 @@ If you prefer to configure the service with commandline flags you can see the av
|
||||
|
||||
#### Global
|
||||
|
||||
\--config-file
|
||||
--config-file
|
||||
: Path to config file, empty default value
|
||||
|
||||
\--log-level
|
||||
--log-level
|
||||
: Set logging level, defaults to `info`
|
||||
|
||||
\--log-color
|
||||
--log-color
|
||||
: Enable colored logging, defaults to `true`
|
||||
|
||||
\--log-pretty
|
||||
--log-pretty
|
||||
: Enable pretty logging, defaults to `true`
|
||||
|
||||
#### Server
|
||||
|
||||
\--tracing-enabled
|
||||
--tracing-enabled
|
||||
: Enable sending traces, defaults to `false`
|
||||
|
||||
\--tracing-type
|
||||
--tracing-type
|
||||
: Tracing backend type, defaults to `jaeger`
|
||||
|
||||
\--tracing-endpoint
|
||||
--tracing-endpoint
|
||||
: Endpoint for the agent, empty default value
|
||||
|
||||
\--tracing-collector
|
||||
--tracing-collector
|
||||
: Endpoint for the collector, empty default value
|
||||
|
||||
\--tracing-service
|
||||
--tracing-service
|
||||
: Service name for tracing, defaults to `thumbnails`
|
||||
|
||||
\--debug-addr
|
||||
--debug-addr
|
||||
: Address to bind debug server, defaults to `0.0.0.0:9189`
|
||||
|
||||
\--debug-token
|
||||
--debug-token
|
||||
: Token to grant metrics access, empty default value
|
||||
|
||||
\--debug-pprof
|
||||
--debug-pprof
|
||||
: Enable pprof debugging, defaults to `false`
|
||||
|
||||
\--debug-zpages
|
||||
--debug-zpages
|
||||
: Enable zpages debugging, defaults to `false`
|
||||
|
||||
\--grpc-name
|
||||
--grpc-name
|
||||
: Name of the service, defaults to `thumbnails`
|
||||
|
||||
\--grpc-addr
|
||||
--grpc-addr
|
||||
: Address to bind grpc server, defaults to `0.0.0.0:9185`
|
||||
|
||||
\--grpc-namespace
|
||||
--grpc-namespace
|
||||
: Set the base namespace for the grpc namespace", defaults to `com.owncloud.api`
|
||||
|
||||
\--filesystemstorage-root
|
||||
--filesystemstorage-root
|
||||
: Root path of the filesystem storage directory, defaults to `<os tempdir>/ocis-thumbnails/`
|
||||
|
||||
\--webdavsource-baseurl
|
||||
--webdavsource-baseurl
|
||||
: Base url for a webdav api, defaults to `https://localhost:9200/remote.php/webdav/`
|
||||
|
||||
\--thumbnail-resolution
|
||||
: List of resolutions supported by the service, defaults to \`["16x16", "32x32", "64x64", "128x128"]
|
||||
--thumbnail-resolution
|
||||
: List of resolutions supported by the service, defaults to `["16x16", "32x32", "64x64", "128x128"]
|
||||
|
||||
#### Health
|
||||
|
||||
\--debug-addr
|
||||
--debug-addr
|
||||
: Address to debug endpoint, defaults to `0.0.0.0:9189`
|
||||
|
||||
### Configuration file
|
||||
@@ -178,17 +177,17 @@ The program provides a few sub-commands on execution. The available configuratio
|
||||
|
||||
The server command is used to start the http and debug server on two addresses within a single process. The http server is serving the general webservice while the debug server is used for health check, readiness check and to server the metrics mentioned below. For further help please execute:
|
||||
|
||||
{{< highlight txt >}}
|
||||
{{< highlight txt >}}
|
||||
{{ Name }} server --help
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
### Health
|
||||
|
||||
The health command is used to execute a health check, if the exit code equals zero the service should be up and running, if the exist code is greater than zero the service is not in a healthy state. Generally this command is used within our Docker containers, it could also be used within Kubernetes.
|
||||
|
||||
{{< highlight txt >}}
|
||||
{{< highlight txt >}}
|
||||
{{ Name }} health --help
|
||||
{{< / highlight >}}
|
||||
{{< / highlight >}}
|
||||
|
||||
## Metrics
|
||||
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "GRPC API"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
weight: 50
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-thumbnails>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-thumbnails
|
||||
geekdocEditPath: edit/master/docs
|
||||
geekdocFilePath: grpc.md
|
||||
---
|
||||
|
||||
## geekdocFilePath: grpc.md
|
||||
|
||||
{{< toc >}}
|
||||
{{< toc >}}
|
||||
|
||||
## pkg/proto/v0/thumbnails.proto
|
||||
|
||||
@@ -16,57 +15,57 @@ geekdocEditPath: edit/master/docs
|
||||
|
||||
A request to retrieve a thumbnail
|
||||
|
||||
| Field | Type | Label | Description |
|
||||
| ------------- | ------------------------------------------ | ----- | ------------------------------------------------------ |
|
||||
| filepath | [string](#string) | | The path to the source image |
|
||||
| filetype | [GetRequest.FileType](#getrequestfiletype) | | The type to which the thumbnail should get encoded to. |
|
||||
| etag | [string](#string) | | The etag of the source image |
|
||||
| width | [int32](#int32) | | The width of the thumbnail |
|
||||
| height | [int32](#int32) | | The height of the thumbnail |
|
||||
| authorization | [string](#string) | | The authorization token |
|
||||
| Field | Type | Label | Description |
|
||||
| ----- | ---- | ----- | ----------- |
|
||||
| filepath | [string](#string) | | The path to the source image |
|
||||
| filetype | [GetRequest.FileType](#getrequestfiletype) | | The type to which the thumbnail should get encoded to. |
|
||||
| etag | [string](#string) | | The etag of the source image |
|
||||
| width | [int32](#int32) | | The width of the thumbnail |
|
||||
| height | [int32](#int32) | | The height of the thumbnail |
|
||||
| authorization | [string](#string) | | The authorization token |
|
||||
|
||||
### GetResponse
|
||||
|
||||
The service response
|
||||
|
||||
| Field | Type | Label | Description |
|
||||
| --------- | ----------------- | ----- | ----------------------------- |
|
||||
| thumbnail | [bytes](#bytes) | | The thumbnail as a binary |
|
||||
| mimetype | [string](#string) | | The mimetype of the thumbnail |
|
||||
| Field | Type | Label | Description |
|
||||
| ----- | ---- | ----- | ----------- |
|
||||
| thumbnail | [bytes](#bytes) | | The thumbnail as a binary |
|
||||
| mimetype | [string](#string) | | The mimetype of the thumbnail |
|
||||
|
||||
### GetRequest.FileType
|
||||
|
||||
The file types to which the thumbnail cna get encoded to.
|
||||
|
||||
| Name | Number | Description |
|
||||
| ---- | ------ | ------------------- |
|
||||
| PNG | 0 | Represents PNG type |
|
||||
| JPG | 1 | Represents JPG type |
|
||||
| Name | Number | Description |
|
||||
| ---- | ------ | ----------- |
|
||||
| PNG | 0 | Represents PNG type |
|
||||
| JPG | 1 | Represents JPG type |
|
||||
|
||||
### ThumbnailService
|
||||
|
||||
A Service for handling thumbnail generation
|
||||
|
||||
| Method Name | Request Type | Response Type | Description |
|
||||
| ------------ | ------------------------- | --------------------------- | --------------------------------------- |
|
||||
| Method Name | Request Type | Response Type | Description |
|
||||
| ----------- | ------------ | ------------- | ------------|
|
||||
| GetThumbnail | [GetRequest](#getrequest) | [GetResponse](#getresponse) | Generates the thumbnail and returns it. |
|
||||
|
||||
## Scalar Value Types
|
||||
|
||||
| .proto Type | Notes | C++ | Java |
|
||||
| ----------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ------ | ---------- |
|
||||
| {{< div id="double" content="double" >}} | | double | double |
|
||||
| {{< div id="float" content="float" >}} | | float | float |
|
||||
| {{< div id="int32" content="int32" >}} | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int |
|
||||
| {{< div id="int64" content="int64" >}} | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long |
|
||||
| {{< div id="uint32" content="uint32" >}} | Uses variable-length encoding. | uint32 | int |
|
||||
| {{< div id="uint64" content="uint64" >}} | Uses variable-length encoding. | uint64 | long |
|
||||
| {{< div id="sint32" content="sint32" >}} | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int |
|
||||
| {{< div id="sint64" content="sint64" >}} | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long |
|
||||
| {{< div id="fixed32" content="fixed32" >}} | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int |
|
||||
| {{< div id="fixed64" content="fixed64" >}} | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long |
|
||||
| {{< div id="sfixed32" content="sfixed32" >}} | Always four bytes. | int32 | int |
|
||||
| {{< div id="sfixed64" content="sfixed64" >}} | Always eight bytes. | int64 | long |
|
||||
| {{< div id="bool" content="bool" >}} | | bool | boolean |
|
||||
| {{< div id="string" content="string" >}} | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String |
|
||||
| {{< div id="bytes" content="bytes" >}} | May contain any arbitrary sequence of bytes. | string | ByteString |
|
||||
| .proto Type | Notes | C++ | Java |
|
||||
| ----------- | ----- | --- | ---- |
|
||||
| {{< div id="double" content="double" >}} | | double | double |
|
||||
| {{< div id="float" content="float" >}} | | float | float |
|
||||
| {{< div id="int32" content="int32" >}} | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int |
|
||||
| {{< div id="int64" content="int64" >}} | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long |
|
||||
| {{< div id="uint32" content="uint32" >}} | Uses variable-length encoding. | uint32 | int |
|
||||
| {{< div id="uint64" content="uint64" >}} | Uses variable-length encoding. | uint64 | long |
|
||||
| {{< div id="sint32" content="sint32" >}} | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int |
|
||||
| {{< div id="sint64" content="sint64" >}} | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long |
|
||||
| {{< div id="fixed32" content="fixed32" >}} | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int |
|
||||
| {{< div id="fixed64" content="fixed64" >}} | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long |
|
||||
| {{< div id="sfixed32" content="sfixed32" >}} | Always four bytes. | int32 | int |
|
||||
| {{< div id="sfixed64" content="sfixed64" >}} | Always eight bytes. | int64 | long |
|
||||
| {{< div id="bool" content="bool" >}} | | bool | boolean |
|
||||
| {{< div id="string" content="string" >}} | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String |
|
||||
| {{< div id="bytes" content="bytes" >}} | May contain any arbitrary sequence of bytes. | string | ByteString |
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "License"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
weight: 60
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-thumbnails>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-thumbnails
|
||||
geekdocEditPath: edit/master/docs
|
||||
|
||||
## geekdocFilePath: license.md
|
||||
geekdocFilePath: license.md
|
||||
---
|
||||
|
||||
This project is licensed under the [Apache 2.0](https://github.com/owncloud/ocis/thumbnails/blob/master/LICENSE) license. For the license of the used libraries you have to check the respective sources.
|
||||
|
||||
@@ -1,46 +1,45 @@
|
||||
* * *
|
||||
|
||||
---
|
||||
title: "Releasing"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
weight: 40
|
||||
geekdocRepo: <https://github.com/owncloud/ocis-thumbnails>
|
||||
geekdocRepo: https://github.com/owncloud/ocis-thumbnails
|
||||
geekdocEditPath: edit/master/docs
|
||||
geekdocFilePath: releasing.md
|
||||
---
|
||||
|
||||
## geekdocFilePath: releasing.md
|
||||
|
||||
{{< toc >}}
|
||||
{{< toc >}}
|
||||
|
||||
To release a new version of ocis-thumbnails, you have to follow a few simple steps.
|
||||
|
||||
## Preperation
|
||||
|
||||
1. Create a new branch e.g. `release-x.x.x` where `x.x.x` is the version you want to release.
|
||||
2. Checkout the preparation branch.
|
||||
3. Create a new changelog folder and move the unreleased snippets there.
|
||||
{{< highlight txt >}}
|
||||
mkdir changelog/x.x.x_yyyy-MM-dd/ # yyyy-MM-dd is the current date
|
||||
mv changelog/unreleased/\* changelog/x.x.x_yyyy-MM-dd/
|
||||
{{< / highlight >}}
|
||||
4. Commit and push the changes
|
||||
{{< highlight txt >}}
|
||||
git add --all
|
||||
git commit -m "prepare release x.x.x"
|
||||
git push
|
||||
{{< / highlight >}}
|
||||
5. Create a pull request to the master branch.
|
||||
1. Create a new branch e.g. `release-x.x.x` where `x.x.x` is the version you want to release.
|
||||
2. Checkout the preparation branch.
|
||||
3. Create a new changelog folder and move the unreleased snippets there.
|
||||
{{< highlight txt >}}
|
||||
mkdir changelog/x.x.x_yyyy-MM-dd/ # yyyy-MM-dd is the current date
|
||||
mv changelog/unreleased/* changelog/x.x.x_yyyy-MM-dd/
|
||||
{{< / highlight >}}
|
||||
4. Commit and push the changes
|
||||
{{< highlight txt >}}
|
||||
git add --all
|
||||
git commit -m "prepare release x.x.x"
|
||||
git push
|
||||
{{< / highlight >}}
|
||||
5. Create a pull request to the master branch.
|
||||
|
||||
## Release
|
||||
1. After the preparation branch has been merged update your local master.
|
||||
{{< highlight txt >}}
|
||||
git checkout master
|
||||
git pull
|
||||
{{< / highlight >}}
|
||||
2. Create a new tag (preferably signed).
|
||||
{{< highlight txt >}}
|
||||
git tag -s vx.x.x -m "release vx.x.x"
|
||||
git push --tags
|
||||
{{< / highlight >}}
|
||||
3. Wait for CI and check that the GitHub release was published.
|
||||
|
||||
1. After the preparation branch has been merged update your local master.
|
||||
{{< highlight txt >}}
|
||||
git checkout master
|
||||
git pull
|
||||
{{< / highlight >}}
|
||||
2. Create a new tag (preferably signed).
|
||||
{{< highlight txt >}}
|
||||
git tag -s vx.x.x -m "release vx.x.x"
|
||||
git push --tags
|
||||
{{< / highlight >}}
|
||||
3. Wait for CI and check that the GitHub release was published.
|
||||
|
||||
Congratulations, you just released ocis-thumbnails!
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user