Commit Graph
69 Commits
Author SHA1 Message Date
Jörn Friedrich DreyerandMichael Barz 0edb2b9c5b fix preflight requests
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2023-05-22 16:28:51 +02:00
Phil Davis 4874da778c Reword 'allow to' sentences 2023-05-18 09:48:29 +05:45
Phil Davis f19830e919 Reword 'allows to' sentences 2023-05-18 09:46:25 +05:45
jkoberg 03b31b9580 give spaceadmin delete-all-spaces
Signed-off-by: jkoberg <jkoberg@owncloud.com>
2023-05-17 19:31:01 +02:00
98c6e3a7e0 Update services/settings/pkg/store/defaults/defaults.go
Co-authored-by: kobergj <jkoberg@owncloud.com>
2023-05-17 10:44:50 +02:00
mmattel 7fd9b30258 [docs-only] Fix settings typos 2023-05-17 10:35:40 +02:00
Michael BarzandGitHub d4e7034046 Merge pull request #6310 from owncloud/update-roles
update the default roles
2023-05-16 15:18:55 +02:00
Michael Barz 02fe615e1c update the default roles 2023-05-15 22:17:50 +02:00
mmattel c3c82941be [docs-only] Update SETTINGS_STORE_TYPE envvar description 2023-05-15 17:40:00 +02:00
Ralf HaferkampandRalf Haferkamp df5edec36b settings: User go-micro/store for cachiing
The previous implementation was using an unlimited TTL which would cause
problems in scale out deployments where multiple instances of the settings
service are running.

Fixes: #5067
2023-05-12 14:49:19 +02:00
Ralf HaferkampandRalf Haferkamp 18bb3dbaca settings: Instanciate only a single instance of the ServiceHandler/Store
Share the same instance between the HTTP and the GRPC service. This is
in preparation for moving the cache of the metadata storage backend to a
go-micro/store based implementation. By sharing the same service instance in
the HTTP and GRPC services we can avoid the usage of global variables for the
caches, which will make the move to the go-micro/store implementation simpler.
2023-05-12 14:49:19 +02:00
jkoberg 7d13ce519d better naming for setting and permission
Signed-off-by: jkoberg <jkoberg@owncloud.com>
2023-04-27 10:35:22 +02:00
jkoberg 3bf24746e6 add new setting to disable emails
Signed-off-by: jkoberg <jkoberg@owncloud.com>
2023-04-26 15:33:55 +02:00
Roman Perekhod 6cf09321c9 Determine the users preferred language to translate emails via Transifex. #6087 2023-04-21 16:30:48 +02:00
Dennis Siebenandmmattel e28603e633 - fixed typos 2023-03-27 08:54:51 +02:00
Ralf HaferkampandRalf Haferkamp f5cfa7e126 proxy: Move to mockery for generating mocks
To align with what we're using everywhere else.
2023-03-20 15:12:09 +01:00
jkoberg cdddd16c0a add permission to change space quota
Signed-off-by: jkoberg <jkoberg@owncloud.com>
2023-03-17 12:51:26 +01:00
Ralf HaferkampandGitHub 8b704085ce Allow ADMIN_USER_ID being empty (#5842)
For certain setups we don't need the ADMIN_USER_ID to be set. It is
mainly needed for bootstrapping the internal idm and the initial role
assignment.  If roles are assigned by other means (e.g. OIDC claims
in the future) we don't need it.

This makes the ADMIN_USER_ID optional, also if ADMIN_USER_ID is unset
we don't need to configure a password for the admin user. We will still
generated the admin_id and password when running 'ocis init', but it is
ok to run manual setups without those settings.
2023-03-15 16:15:18 +01:00
Ralf Haferkamp 46acc8f1ee Fix default assigments for demo and admin users
When using metadata backend the default role assignments for the demo users
where create independed of whether the demo users are were actually requested
to be created. This also fixes the name of the env var for enabling the demo
users. This was missed when moving from the accounts service to graph/idm for
user management.
2023-03-14 16:08:37 +01:00
Ralf Haferkamp dbe40bd7c7 Avoid repeated default role assignments
When using the metadata storage (the current default) the default role
assignments were recreated at every start of the settings service. Leading to
duplicated role assignments

Fixes: #3432
2023-03-14 16:08:37 +01:00
David Christofas 924c2ca346 add missing comments 2023-03-06 19:01:16 +01:00
David Christofas 63fa35fa50 reduce duplication in configuration code 2023-03-06 16:52:44 +01:00
David Christofas b8470d567d add new permission 'publiclink.create' and assign it to the 'Admin', 'SpaceAdmin' and 'User' roles 2023-03-01 11:53:39 +01:00
Michael Barz 7f6e52c39b load bundles from JSON 2023-02-21 21:25:33 +01:00
Willy Kloucek 5a500ea17e don't init bundles to nil 2023-02-20 12:50:24 +01:00
Willy Kloucek a2422e8b9d fix settings service bunldes config merge problems 2023-02-20 08:10:22 +01:00
Michael BarzandGitHub 794f6cd07c add constraints to permissions listing (#5594) 2023-02-17 13:45:47 +01:00
Michael BarzandGitHub eb2347e1db Merge pull request #5589 from owncloud/settings-roles
make the default settings bundles part of the config
2023-02-16 16:05:29 +01:00
Michael Barz 29501b2cfe make the default settings bundles part of the config 2023-02-16 13:24:31 +01:00
Jörn Friedrich DreyerandGitHub 92923f6801 Add http endpoint to list permissions (#5571)
* Add http endpoint to list permissions

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* extract handler registration

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* use generated protobuf

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* update permissions mock in graph service

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* add unit test

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* return correct userid

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* assert error message type in tests

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

---------

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2023-02-15 14:24:19 +01:00
David Christofas 7c17ddb0b0 add a permission check to the logo upload 2023-02-13 13:48:39 +01:00
mmattel bc6241a3dd Improve the description of the OCIS_ADMIN_USER_ID envvar 2023-02-09 12:50:01 +01:00
Benedikt Kulmann 8c033e1936 change: remove the settings ui
ownCloud Web recently transitioned to Vue3. The settings ui is still
written in Vue2. Since it's pretty much unused we won't take the efforts
of upgrading it to Vue3.
2023-02-03 10:27:05 +01:00
kobergjandGitHub b7a5e1c29e use correct permission (#5458)
Signed-off-by: jkoberg <jkoberg@owncloud.com>

Signed-off-by: jkoberg <jkoberg@owncloud.com>
2023-01-26 11:16:43 +01:00
jkoberg b2067575a9 bump reva
Signed-off-by: jkoberg <jkoberg@owncloud.com>
2023-01-25 15:39:41 +01:00
jkoberg 1a69388e14 add new permissions
Signed-off-by: jkoberg <jkoberg@owncloud.com>
2023-01-25 15:25:54 +01:00
Jörn Friedrich DreyerandGitHub 32cc9beb0b walk and log chi routes, ocs cleanup (#5428)
* walk and log chi routes, ocs cleanup

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* make linter happy

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2023-01-23 12:30:34 +01:00
078698fdf4 graph: add appRoleAssignments and minimal application resource (#5318)
* bump libregraph-go lib

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* add appRoleAssignment stubs

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* add get application stub

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* fetch appRoles for application from settings service

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* initial list appRoleAssignments implementation

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* initial create appRoleAssignment implementation, extract assignmentToAppRoleAssignment, configurable app id and displayname

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* initial delete appRoleAssignment implementation, changed error handling and logging

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* initial expand appRoleAssignment on users

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* test user expand appRoleAssignment

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* test appRoleAssignment

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* fix education test by actually using the mocked roleManager

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* test getapplication

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* list assignments

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* use common not exists error handling

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* default to just 'ownCloud Infinite Scale' as application name

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* fix store_test

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* roll application uuid on init

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* fix tests

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* extract method

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* Apply suggestions from code review

Co-authored-by: Michael Barz <mbarz@owncloud.com>

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
Co-authored-by: Michael Barz <mbarz@owncloud.com>
2023-01-12 16:09:34 +01:00
David Christofas efe1fc52e0 fix nilerr bugs 2022-12-21 14:45:50 +01:00
Jörn Friedrich DreyerandGitHub 53d15d329e remove deprecated use of ioutil (#5205)
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2022-12-08 14:44:53 +01:00
Ralf Haferkamp 07a78287a7 Allow initial self-assignemnt of UserRole
When using an external user management we need to allow users to self-assign
the default role. This adds an explicit check for that to the settings service.
This also means we no longer need to fiddle with the account id in the proxy
upon first login.

Fixes: #5045
2022-11-16 16:23:32 +01:00
Jörn Friedrich DreyerandGitHub 7443a9a225 Make permission and role ids unique (#5051)
* make permission ids unique

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* deduplicate roleids after listing permissions

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2022-11-15 16:51:49 +01:00
Ralf HaferkampandGitHub 4971330477 Remove no longer needed bootstrap code (#5057)
This we moved the settings service to the metadata storage with its
own gateway and permissions service, we no longer need the hardcoded
initial replies in order to bootstrap the role assignments.

This fixes a panic in the settings service when the first request to
the service is a read request on anything else but an existing role or
assignment.
2022-11-15 16:51:10 +01:00
David ChristofasandGitHub 3125459415 [full-ci]fallback to stored roles (#4890)
* fallback to stored roles

If there are no roles in the current context load the user's roles from the storage.

* some code clean up
2022-11-03 13:25:21 +01:00
Ralf HaferkampandRalf Haferkamp b24d126b30 Introduce TLS Settings for go-micro based http services
TLS for the services can be configure by setting the "OCIS_HTTP_TLS_ENABLED",
"OCIS_HTTP_TLS_CERTIFICATE" and "OCIS_HTTP_TLS_KEY" environment variables.
Currently the ocis proxy is this only service that directly accesses backend
services. It determines whether to use TLS or not by looking a the new registry
metadata "use_tls". As specific CA Cert for certificate verification
can be set with the "PROXY_HTTPS_CACERT" environment variable.
2022-11-03 11:58:53 +01:00
ee974afebf [full-ci] Introduce TLS Settings for go-micro based grpc services and clients (#4901)
* Introduce TLS Settings for go-micro based grpc services and clients

TLS for the services can be configure by setting the OCIS_MICRO_GRPC_TLS_ENABLED"
"OCIS_MICRO_GRPC_TLS_CERTIFICATE" and "OCIS_MICRO_GRPC_TLS_KEY"
enviroment variables.

TLS for the clients can configured by setting the "OCIS_MICRO_GRPC_CLIENT_TLS_MODE"
and "OCIS_MICRO_GRPC_CLIENT_TLS_CACERT" variables.

By default TLS is disabled.

Co-authored-by: Martin <github@diemattels.at>

* Unify TLS configuration for all grpc services

All grpc service (whether they're based on reva) or go-micro use the
same set of config vars now.

TLS for the services can be configure by setting the OCIS_GRPC_TLS_ENABLED,
OCIS_GRPC_TLS_CERTIFICATE and OCIS_GRPC_TLS_KEY enviroment variables.

TLS for the clients can configured by setting the OCIS_GRPC_CLIENT_TLS_MODE
and OCIS_MICRO_GRPC_CLIENT_TLS_CACERT variables.

There are no individual per service config vars currently. If really
needed, per service tls configurations can be specified via config file.

Co-authored-by: Martin <github@diemattels.at>

Co-authored-by: Martin <github@diemattels.at>
2022-11-03 10:17:08 +01:00
David Christofas 73e50ae84b prohibit users form setting and listing other user's values 2022-10-25 14:13:47 +02:00
Willy Kloucek ca5affd9f3 fix comment 2022-10-19 10:25:54 +02:00
Willy Kloucek ad0924d874 move the language-read-write permission's id and name into a const 2022-10-19 09:00:33 +02:00
mmattel 6edb44fa83 Improving the description for several environemt variables 2022-10-13 12:07:46 +02:00