diff --git a/.bingo/Variables.mk b/.bingo/Variables.mk index f442f5340..5807bf9f1 100644 --- a/.bingo/Variables.mk +++ b/.bingo/Variables.mk @@ -100,3 +100,4 @@ $(REFLEX): $(BINGO_DIR)/reflex.mod @# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies. @echo "(re)installing $(GOBIN)/reflex-v0.3.1" @cd $(BINGO_DIR) && $(GO) build -mod=mod -modfile=reflex.mod -o=$(GOBIN)/reflex-v0.3.1 "github.com/cespare/reflex" + diff --git a/.bingo/variables.env b/.bingo/variables.env index 1deb407f4..19edcff1c 100644 --- a/.bingo/variables.env +++ b/.bingo/variables.env @@ -35,3 +35,4 @@ PROTOC_GEN_MICROWEB="${GOBIN}/protoc-gen-microweb-v0.0.0-20211219183901-997c02ca PROTOC_GEN_OPENAPIV2="${GOBIN}/protoc-gen-openapiv2-v2.7.2" REFLEX="${GOBIN}/reflex-v0.3.1" + diff --git a/.drone.env b/.drone.env index 00e65a199..b550d6d46 100644 --- a/.drone.env +++ b/.drone.env @@ -1,7 +1,7 @@ # The test runner source for API tests -CORE_COMMITID=df1a1eb2816775fe9c202c50ec8e8a1e01ecb256 +CORE_COMMITID=e285879a8a79e692497937ebf340bc6b9c925b4f CORE_BRANCH=master # The test runner source for UI tests -WEB_COMMITID=80d9bb6962cb034dc861116f59ae25f39fb3a52c -WEB_BRANCH=no-shares-folder +WEB_COMMITID=805627004b9445c1f69ce9a6d824a18a2b83aca4 +WEB_BRANCH=master diff --git a/.drone.star b/.drone.star index dcbd0a80e..50d614004 100644 --- a/.drone.star +++ b/.drone.star @@ -17,7 +17,7 @@ OC_CI_GOLANG = "owncloudci/golang:1.17" OC_CI_NODEJS = "owncloudci/nodejs:%s" OC_CI_PHP = "owncloudci/php:%s" OC_CI_WAIT_FOR = "owncloudci/wait-for:latest" -OC_OC_TEST_MIDDLEWARE = "owncloud/owncloud-test-middleware:1.3.1" +OC_OC_TEST_MIDDLEWARE = "owncloud/owncloud-test-middleware:1.4.0" OC_SERVER = "owncloud/server:10" OC_UBUNTU = "owncloud/ubuntu:18.04" OSIXIA_OPEN_LDAP = "osixia/openldap:latest" @@ -1376,6 +1376,9 @@ def makeNodeGenerate(module): { "name": "generate nodejs", "image": OC_CI_NODEJS % DEFAULT_NODEJS_VERSION, + "environment": { + "CHROMEDRIVER_SKIP_DOWNLOAD": "true", # install fails on arm and chromedriver is a test only dependency + }, "commands": [ "%s ci-node-generate" % (make), ], diff --git a/CHANGELOG.md b/CHANGELOG.md index f8ec474c2..0358a5ae7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,16 +2,32 @@ The following sections list the changes for unreleased. -[unreleased]: https://github.com/owncloud/ocis/compare/v1.19.1...master +[unreleased]: https://github.com/owncloud/ocis/compare/v1.19.0...master ## Summary +* Bugfix - Add `owncloudsql` driver to authprovider config: [#3435](https://github.com/owncloud/ocis/pull/3435) +* Bugfix - Corrected documentation: [#3439](https://github.com/owncloud/ocis/pull/3439) * Bugfix - Ensure the same data on /ocs/v?.php/config like oC10: [#3113](https://github.com/owncloud/ocis/pull/3113) * Bugfix - Use the default server download protocol if spaces are not supported: [#3386](https://github.com/owncloud/ocis/pull/3386) +* Change - Fix keys with underscores in the config files: [#3412](https://github.com/owncloud/ocis/pull/3412) * Enhancement - Add sorting to GraphAPI users and groups: [#3360](https://github.com/owncloud/ocis/issues/3360) +* Enhancement - Make config dir configurable: [#3440](https://github.com/owncloud/ocis/pull/3440) +* Enhancement - Update reva to v2.x.x: [#3430](https://github.com/owncloud/ocis/pull/3430) +* Enhancement - Update ownCloud Web to v5.4.0-rv.3: [#6709](https://github.com/owncloud/web/pull/6709) ## Details +* Bugfix - Add `owncloudsql` driver to authprovider config: [#3435](https://github.com/owncloud/ocis/pull/3435) + + https://github.com/owncloud/ocis/pull/3435 + +* Bugfix - Corrected documentation: [#3439](https://github.com/owncloud/ocis/pull/3439) + + - ocis-pkg log File Option + + https://github.com/owncloud/ocis/pull/3439 + * Bugfix - Ensure the same data on /ocs/v?.php/config like oC10: [#3113](https://github.com/owncloud/ocis/pull/3113) We've fixed the returned values on the /ocs/v?.php/config endpoints, so that they now return @@ -23,6 +39,16 @@ The following sections list the changes for unreleased. https://github.com/owncloud/ocis/pull/3386 +* Change - Fix keys with underscores in the config files: [#3412](https://github.com/owncloud/ocis/pull/3412) + + We've fixed some config keys in configuration files that previously didn't contain + underscores but should. + + Please check the documentation on https://owncloud.dev for latest configuration + documentation. + + https://github.com/owncloud/ocis/pull/3412 + * Enhancement - Add sorting to GraphAPI users and groups: [#3360](https://github.com/owncloud/ocis/issues/3360) The GraphAPI endpoints for users and groups support ordering now. User can be ordered by @@ -31,28 +57,38 @@ The following sections list the changes for unreleased. Example: https://localhost:9200/graph/v1.0/groups?$orderby=displayName asc https://github.com/owncloud/ocis/issues/3360 -# Changelog for [1.19.1] (2022-03-29) -The following sections list the changes for 1.19.1. +* Enhancement - Make config dir configurable: [#3440](https://github.com/owncloud/ocis/pull/3440) -[1.19.1]: https://github.com/owncloud/ocis/compare/v1.19.0...v1.19.1 + We have added an `OCIS_CONFIG_DIR` environment variable the will take precedence over the + default `/etc/ocis`, `~/.ocis` and `.config` locations. When it is set the default locations + will be ignored and only the configuration files in that directory will be read. -## Summary + https://github.com/owncloud/ocis/pull/3440 -* Bugfix - Return correct special item urls: [#3419](https://github.com/owncloud/ocis/pull/3419) +* Enhancement - Update reva to v2.x.x: [#3430](https://github.com/owncloud/ocis/pull/3430) -## Details + Updated reva to version 2.x.x. This update includes: -* Bugfix - Return correct special item urls: [#3419](https://github.com/owncloud/ocis/pull/3419) + * TODO - URLs for Special items (space image, readme) were broken. + https://github.com/owncloud/ocis/pull/3430 - https://github.com/owncloud/ocis/pull/3419 +* Enhancement - Update ownCloud Web to v5.4.0-rv.3: [#6709](https://github.com/owncloud/web/pull/6709) + + Tags: web + + We updated ownCloud Web to v5.4.0-rv.3. Please refer to the changelog (linked) for details on + the web release. + + https://github.com/owncloud/web/pull/6709 + https://github.com/owncloud/ocis/pull/3437 + https://github.com/owncloud/web/releases/tag/v5.4.0-rc.3 # Changelog for [1.19.0] (2022-03-29) The following sections list the changes for 1.19.0. -[1.19.0]: https://github.com/owncloud/ocis/compare/v1.18.0...v1.19.0 +[1.19.0]: https://github.com/owncloud/ocis/compare/v1.19.1...v1.19.0 ## Summary @@ -221,6 +257,23 @@ The following sections list the changes for 1.19.0. https://github.com/owncloud/ocis/pull/3291 https://github.com/owncloud/ocis/pull/3375 https://github.com/owncloud/web/releases/tag/v5.3.0 +# Changelog for [1.19.1] (2022-03-29) + +The following sections list the changes for 1.19.1. + +[1.19.1]: https://github.com/owncloud/ocis/compare/v1.18.0...v1.19.1 + +## Summary + +* Bugfix - Return correct special item urls: [#3419](https://github.com/owncloud/ocis/pull/3419) + +## Details + +* Bugfix - Return correct special item urls: [#3419](https://github.com/owncloud/ocis/pull/3419) + + URLs for Special items (space image, readme) were broken. + + https://github.com/owncloud/ocis/pull/3419 # Changelog for [1.18.0] (2022-03-03) The following sections list the changes for 1.18.0. diff --git a/Makefile b/Makefile index 2bffcac21..86cc7103c 100644 --- a/Makefile +++ b/Makefile @@ -111,63 +111,63 @@ composer.lock: composer.json .PHONY: generate generate: @for mod in $(OCIS_MODULES); do \ - $(MAKE) --no-print-directory -C $$mod generate; \ + $(MAKE) --no-print-directory -C $$mod generate || exit 1; \ done .PHONY: vet vet: @for mod in $(OCIS_MODULES); do \ - $(MAKE) --no-print-directory -C $$mod vet; \ + $(MAKE) --no-print-directory -C $$mod vet || exit 1; \ done .PHONY: clean clean: @for mod in $(OCIS_MODULES); do \ - $(MAKE) --no-print-directory -C $$mod clean; \ + $(MAKE) --no-print-directory -C $$mod clean || exit 1; \ done .PHONY: docs-generate docs-generate: @for mod in $(OCIS_MODULES); do \ - $(MAKE) --no-print-directory -C $$mod docs-generate; \ + $(MAKE) --no-print-directory -C $$mod docs-generate || exit 1; \ done .PHONY: ci-go-generate ci-go-generate: @for mod in $(OCIS_MODULES); do \ - $(MAKE) --no-print-directory -C $$mod ci-go-generate; \ + $(MAKE) --no-print-directory -C $$mod ci-go-generate || exit 1; \ done .PHONY: ci-node-generate ci-node-generate: @if [ $(MAKE_DEPTH) -le 1 ]; then \ for mod in $(OCIS_MODULES); do \ - $(MAKE) --no-print-directory -C $$mod ci-node-generate; \ + $(MAKE) --no-print-directory -C $$mod ci-node-generate || exit 1; \ done; fi; .PHONY: go-mod-tidy go-mod-tidy: @for mod in $(OCIS_MODULES); do \ - $(MAKE) --no-print-directory -C $$mod go-mod-tidy; \ + $(MAKE) --no-print-directory -C $$mod go-mod-tidy || exit 1; \ done .PHONY: test test: @for mod in $(OCIS_MODULES); do \ - $(MAKE) --no-print-directory -C $$mod test; \ + $(MAKE) --no-print-directory -C $$mod test || exit 1; \ done .PHONY: go-coverage go-coverage: @if [ ! -f coverage.out ]; then $(MAKE) test &>/dev/null; fi; @for mod in $(OCIS_MODULES); do \ - echo -n "% coverage $$mod: "; $(MAKE) --no-print-directory -C $$mod go-coverage; \ + echo -n "% coverage $$mod: "; $(MAKE) --no-print-directory -C $$mod go-coverage || exit 1; \ done .PHONY: protobuf protobuf: @for mod in $(OCIS_MODULES); do \ - echo -n "% protobuf $$mod: "; $(MAKE) --no-print-directory -C $$mod protobuf; \ + echo -n "% protobuf $$mod: "; $(MAKE) --no-print-directory -C $$mod protobuf || exit 1; \ done .PHONY: bingo-update @@ -186,31 +186,31 @@ endif .PHONY: l10n-push l10n-push: @for extension in $(L10N_MODULES); do \ - $(MAKE) -C $$extension l10n-push; \ + $(MAKE) -C $$extension l10n-push || exit 1; \ done .PHONY: l10n-pull l10n-pull: @for extension in $(L10N_MODULES); do \ - $(MAKE) -C $$extension l10n-pull; \ + $(MAKE) -C $$extension l10n-pull || exit 1; \ done .PHONY: l10n-clean l10n-clean: @for extension in $(L10N_MODULES); do \ - $(MAKE) -C $$extension l10n-clean; \ + $(MAKE) -C $$extension l10n-clean || exit 1; \ done .PHONY: l10n-read l10n-read: @for extension in $(L10N_MODULES); do \ - $(MAKE) -C $$extension l10n-read; \ + $(MAKE) -C $$extension l10n-read || exit 1; \ done .PHONY: l10n-write l10n-write: @for extension in $(L10N_MODULES); do \ - $(MAKE) -C $$extension l10n-write; \ + $(MAKE) -C $$extension l10n-write || exit 1; \ done .PHONY: ci-format diff --git a/accounts/pkg/config/config.go b/accounts/pkg/config/config.go index 3a3d3dd59..9b46d2dbf 100644 --- a/accounts/pkg/config/config.go +++ b/accounts/pkg/config/config.go @@ -8,78 +8,78 @@ import ( // Config combines all available configuration parts. type Config struct { - *shared.Commons `ocisConfig:"-" yaml:"-"` + *shared.Commons `yaml:"-"` - Service Service `ocisConfig:"-" yaml:"-"` + Service Service `yaml:"-"` - Tracing *Tracing `ocisConfig:"tracing"` - Log *Log `ocisConfig:"log"` - Debug Debug `ocisConfig:"debug"` + Tracing *Tracing `yaml:"tracing"` + Log *Log `yaml:"log"` + Debug Debug `yaml:"debug"` - HTTP HTTP `ocisConfig:"http"` - GRPC GRPC `ocisConfig:"grpc"` + HTTP HTTP `yaml:"http"` + GRPC GRPC `yaml:"grpc"` - TokenManager TokenManager `ocisConfig:"token_manager"` + TokenManager TokenManager `yaml:"token_manager"` - Asset Asset `ocisConfig:"asset"` - Repo Repo `ocisConfig:"repo"` - Index Index `ocisConfig:"index"` - ServiceUser ServiceUser `ocisConfig:"service_user"` - HashDifficulty int `ocisConfig:"hash_difficulty" env:"ACCOUNTS_HASH_DIFFICULTY" desc:"The hash difficulty makes sure that validating a password takes at least a certain amount of time."` - DemoUsersAndGroups bool `ocisConfig:"demo_users_and_groups" env:"ACCOUNTS_DEMO_USERS_AND_GROUPS" desc:"If this flag is set the service will setup the demo users and groups."` + Asset Asset `yaml:"asset"` + Repo Repo `yaml:"repo"` + Index Index `yaml:"index"` + ServiceUser ServiceUser `yaml:"service_user"` + HashDifficulty int `yaml:"hash_difficulty" env:"ACCOUNTS_HASH_DIFFICULTY" desc:"The hash difficulty makes sure that validating a password takes at least a certain amount of time."` + DemoUsersAndGroups bool `yaml:"demo_users_and_groups" env:"ACCOUNTS_DEMO_USERS_AND_GROUPS" desc:"If this flag is set the service will setup the demo users and groups."` - Context context.Context `ocisConfig:"-" yaml:"-"` + Context context.Context `yaml:"-"` } // Asset defines the available asset configuration. type Asset struct { - Path string `ocisConfig:"path" env:"ACCOUNTS_ASSET_PATH" desc:"The path to the ui assets."` + Path string `yaml:"path" env:"ACCOUNTS_ASSET_PATH" desc:"The path to the ui assets."` } // TokenManager is the config for using the reva token manager type TokenManager struct { - JWTSecret string `ocisConfig:"jwt_secret" env:"OCIS_JWT_SECRET;ACCOUNTS_JWT_SECRET" desc:"The secret to mint jwt tokens."` + JWTSecret string `yaml:"jwt_secret" env:"OCIS_JWT_SECRET;ACCOUNTS_JWT_SECRET" desc:"The secret to mint jwt tokens."` } // Repo defines which storage implementation is to be used. type Repo struct { - Backend string `ocisConfig:"backend" env:"ACCOUNTS_STORAGE_BACKEND" desc:"Defines which storage implementation is to be used"` - Disk Disk `ocisConfig:"disk"` - CS3 CS3 `ocisConfig:"cs3"` + Backend string `yaml:"backend" env:"ACCOUNTS_STORAGE_BACKEND" desc:"Defines which storage implementation is to be used"` + Disk Disk `yaml:"disk"` + CS3 CS3 `yaml:"cs3"` } // Disk is the local disk implementation of the storage. type Disk struct { - Path string `ocisConfig:"path" env:"ACCOUNTS_STORAGE_DISK_PATH" desc:"The path where the accounts data is stored."` + Path string `yaml:"path" env:"ACCOUNTS_STORAGE_DISK_PATH" desc:"The path where the accounts data is stored."` } // CS3 is the cs3 implementation of the storage. type CS3 struct { - ProviderAddr string `ocisConfig:"provider_addr" env:"ACCOUNTS_STORAGE_CS3_PROVIDER_ADDR" desc:"The address to the storage provider."` + ProviderAddr string `yaml:"provider_addr" env:"ACCOUNTS_STORAGE_CS3_PROVIDER_ADDR" desc:"The address to the storage provider."` } // ServiceUser defines the user required for EOS. type ServiceUser struct { - UUID string `ocisConfig:"uuid" env:"ACCOUNTS_SERVICE_USER_UUID" desc:"The id of the accounts service user."` - Username string `ocisConfig:"username" env:"ACCOUNTS_SERVICE_USER_USERNAME" desc:"The username of the accounts service user."` - UID int64 `ocisConfig:"uid" env:"ACCOUNTS_SERVICE_USER_UID" desc:"The uid of the accounts service user."` - GID int64 `ocisConfig:"gid" env:"ACCOUNTS_SERVICE_USER_GID" desc:"The gid of the accounts service user."` + UUID string `yaml:"uuid" env:"ACCOUNTS_SERVICE_USER_UUID" desc:"The id of the accounts service user."` + Username string `yaml:"username" env:"ACCOUNTS_SERVICE_USER_USERNAME" desc:"The username of the accounts service user."` + UID int64 `yaml:"uid" env:"ACCOUNTS_SERVICE_USER_UID" desc:"The uid of the accounts service user."` + GID int64 `yaml:"gid" env:"ACCOUNTS_SERVICE_USER_GID" desc:"The gid of the accounts service user."` } // Index defines config for indexes. type Index struct { - UID UIDBound `ocisConfig:"uid"` - GID GIDBound `ocisConfig:"gid"` + UID UIDBound `yaml:"uid"` + GID GIDBound `yaml:"gid"` } // GIDBound defines a lower and upper bound. type GIDBound struct { - Lower int64 `ocisConfig:"lower" env:"ACCOUNTS_GID_INDEX_LOWER_BOUND" desc:"The lowest possible gid value for the indexer."` - Upper int64 `ocisConfig:"upper" env:"ACCOUNTS_GID_INDEX_UPPER_BOUND" desc:"The highest possible gid value for the indexer."` + Lower int64 `yaml:"lower" env:"ACCOUNTS_GID_INDEX_LOWER_BOUND" desc:"The lowest possible gid value for the indexer."` + Upper int64 `yaml:"upper" env:"ACCOUNTS_GID_INDEX_UPPER_BOUND" desc:"The highest possible gid value for the indexer."` } // UIDBound defines a lower and upper bound. type UIDBound struct { - Lower int64 `ocisConfig:"lower" env:"ACCOUNTS_UID_INDEX_LOWER_BOUND" desc:"The lowest possible uid value for the indexer."` - Upper int64 `ocisConfig:"upper" env:"ACCOUNTS_UID_INDEX_UPPER_BOUND" desc:"The highest possible uid value for the indexer."` + Lower int64 `yaml:"lower" env:"ACCOUNTS_UID_INDEX_LOWER_BOUND" desc:"The lowest possible uid value for the indexer."` + Upper int64 `yaml:"upper" env:"ACCOUNTS_UID_INDEX_UPPER_BOUND" desc:"The highest possible uid value for the indexer."` } diff --git a/accounts/pkg/config/debug.go b/accounts/pkg/config/debug.go index 539b8faba..0caeeba23 100644 --- a/accounts/pkg/config/debug.go +++ b/accounts/pkg/config/debug.go @@ -2,8 +2,8 @@ package config // Debug defines the available debug configuration. type Debug struct { - Addr string `ocisConfig:"addr" env:"ACCOUNTS_DEBUG_ADDR"` - Token string `ocisConfig:"token" env:"ACCOUNTS_DEBUG_TOKEN"` - Pprof bool `ocisConfig:"pprof" env:"ACCOUNTS_DEBUG_PPROF"` - Zpages bool `ocisConfig:"zpages" env:"ACCOUNTS_DEBUG_ZPAGES"` + Addr string `yaml:"addr" env:"ACCOUNTS_DEBUG_ADDR"` + Token string `yaml:"token" env:"ACCOUNTS_DEBUG_TOKEN"` + Pprof bool `yaml:"pprof" env:"ACCOUNTS_DEBUG_PPROF"` + Zpages bool `yaml:"zpages" env:"ACCOUNTS_DEBUG_ZPAGES"` } diff --git a/accounts/pkg/config/grpc.go b/accounts/pkg/config/grpc.go index 148fda925..bdc83de9a 100644 --- a/accounts/pkg/config/grpc.go +++ b/accounts/pkg/config/grpc.go @@ -2,6 +2,6 @@ package config // GRPC defines the available grpc configuration. type GRPC struct { - Addr string `ocisConfig:"addr" env:"ACCOUNTS_GRPC_ADDR" desc:"The address of the grpc service."` - Namespace string `ocisConfig:"-" yaml:"-"` + Addr string `yaml:"addr" env:"ACCOUNTS_GRPC_ADDR" desc:"The address of the grpc service."` + Namespace string `yaml:"-"` } diff --git a/accounts/pkg/config/http.go b/accounts/pkg/config/http.go index a71b095a2..16442cfc5 100644 --- a/accounts/pkg/config/http.go +++ b/accounts/pkg/config/http.go @@ -2,17 +2,17 @@ package config // HTTP defines the available http configuration. type HTTP struct { - Addr string `ocisConfig:"addr" env:"ACCOUNTS_HTTP_ADDR" desc:"The address of the http service."` - Namespace string `ocisConfig:"-" yaml:"-"` - Root string `ocisConfig:"root" env:"ACCOUNTS_HTTP_ROOT" desc:"The root path of the http service."` - CacheTTL int `ocisConfig:"cache_ttl" env:"ACCOUNTS_CACHE_TTL" desc:"The cache time for the static assets."` - CORS CORS `ocisConfig:"cors"` + Addr string `yaml:"addr" env:"ACCOUNTS_HTTP_ADDR" desc:"The address of the http service."` + Namespace string `yaml:"-"` + Root string `yaml:"root" env:"ACCOUNTS_HTTP_ROOT" desc:"The root path of the http service."` + CacheTTL int `yaml:"cache_ttl" env:"ACCOUNTS_CACHE_TTL" desc:"The cache time for the static assets."` + CORS CORS `yaml:"cors"` } // CORS defines the available cors configuration. type CORS struct { - AllowedOrigins []string `ocisConfig:"allowed_origins"` - AllowedMethods []string `ocisConfig:"allowed_methods"` - AllowedHeaders []string `ocisConfig:"allowed_headers"` - AllowCredentials bool `ocisConfig:"allowed_credentials"` + AllowedOrigins []string `yaml:"allowed_origins"` + AllowedMethods []string `yaml:"allowed_methods"` + AllowedHeaders []string `yaml:"allowed_headers"` + AllowCredentials bool `yaml:"allowed_credentials"` } diff --git a/accounts/pkg/config/log.go b/accounts/pkg/config/log.go index f9548ed77..8230a490d 100644 --- a/accounts/pkg/config/log.go +++ b/accounts/pkg/config/log.go @@ -2,8 +2,8 @@ package config // Log defines the available log configuration. type Log struct { - Level string `ocisConfig:"level" env:"OCIS_LOG_LEVEL;ACCOUNTS_LOG_LEVEL" desc:"The log level."` - Pretty bool `ocisConfig:"pretty" env:"OCIS_LOG_PRETTY;ACCOUNTS_LOG_PRETTY" desc:"Activates pretty log output."` - Color bool `ocisConfig:"color" env:"OCIS_LOG_COLOR;ACCOUNTS_LOG_COLOR" desc:"Activates colorized log output."` - File string `ocisConfig:"file" env:"OCIS_LOG_FILE;ACCOUNTS_LOG_FILE" desc:"The target log file."` + Level string `yaml:"level" env:"OCIS_LOG_LEVEL;ACCOUNTS_LOG_LEVEL" desc:"The log level."` + Pretty bool `yaml:"pretty" env:"OCIS_LOG_PRETTY;ACCOUNTS_LOG_PRETTY" desc:"Activates pretty log output."` + Color bool `yaml:"color" env:"OCIS_LOG_COLOR;ACCOUNTS_LOG_COLOR" desc:"Activates colorized log output."` + File string `yaml:"file" env:"OCIS_LOG_FILE;ACCOUNTS_LOG_FILE" desc:"The target log file."` } diff --git a/accounts/pkg/config/service.go b/accounts/pkg/config/service.go index c019b7304..d1eac383f 100644 --- a/accounts/pkg/config/service.go +++ b/accounts/pkg/config/service.go @@ -2,5 +2,5 @@ package config // Service defines the available service configuration. type Service struct { - Name string `ocisConfig:"-" yaml:"-"` + Name string `yaml:"-"` } diff --git a/accounts/pkg/config/tracing.go b/accounts/pkg/config/tracing.go index 4bd0c7924..a0f252738 100644 --- a/accounts/pkg/config/tracing.go +++ b/accounts/pkg/config/tracing.go @@ -2,8 +2,8 @@ package config // Tracing defines the available tracing configuration. type Tracing struct { - Enabled bool `ocisConfig:"enabled" env:"OCIS_TRACING_ENABLED;ACCOUNTS_TRACING_ENABLED" desc:"Activates tracing."` - Type string `ocisConfig:"type" env:"OCIS_TRACING_TYPE;ACCOUNTS_TRACING_TYPE"` - Endpoint string `ocisConfig:"endpoint" env:"OCIS_TRACING_ENDPOINT;ACCOUNTS_TRACING_ENDPOINT" desc:"The endpoint to the tracing collector."` - Collector string `ocisConfig:"collector" env:"OCIS_TRACING_COLLECTOR;ACCOUNTS_TRACING_COLLECTOR"` + Enabled bool `yaml:"enabled" env:"OCIS_TRACING_ENABLED;ACCOUNTS_TRACING_ENABLED" desc:"Activates tracing."` + Type string `yaml:"type" env:"OCIS_TRACING_TYPE;ACCOUNTS_TRACING_TYPE"` + Endpoint string `yaml:"endpoint" env:"OCIS_TRACING_ENDPOINT;ACCOUNTS_TRACING_ENDPOINT" desc:"The endpoint to the tracing collector."` + Collector string `yaml:"collector" env:"OCIS_TRACING_COLLECTOR;ACCOUNTS_TRACING_COLLECTOR"` } diff --git a/accounts/yarn.lock b/accounts/yarn.lock index d099dff1f..0857d38ce 100644 --- a/accounts/yarn.lock +++ b/accounts/yarn.lock @@ -14,16 +14,7 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/code-frame@npm:7.12.13" - dependencies: - "@babel/highlight": ^7.12.13 - checksum: d0491bb59fb8d7a763cb175c5504818cfd3647321d8eedb9173336d5c47dccce248628ee68b3ed3586c5efc753d8d990ceafe956f707dcf92572a1661b92b1ef - languageName: node - linkType: hard - -"@babel/code-frame@npm:^7.14.5": +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.14.5": version: 7.14.5 resolution: "@babel/code-frame@npm:7.14.5" dependencies: @@ -32,58 +23,14 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.13.0, @babel/compat-data@npm:^7.13.8": - version: 7.13.8 - resolution: "@babel/compat-data@npm:7.13.8" - checksum: 4b9fc2f633d4bc64d158dba28d17476dca6feaf00be6cf7a8e321d71823685639407358f3852e5279b5d0afe07780e1eb3223e1f16642b61f673584d32226e98 - languageName: node - linkType: hard - -"@babel/compat-data@npm:^7.13.11, @babel/compat-data@npm:^7.15.0": +"@babel/compat-data@npm:^7.13.0, @babel/compat-data@npm:^7.13.11, @babel/compat-data@npm:^7.13.12, @babel/compat-data@npm:^7.15.0": version: 7.15.0 resolution: "@babel/compat-data@npm:7.15.0" checksum: 65088d87b14966dcdba397c799f312beb1e7a4dac178e7daa922a17ee9b65d8cfd9f35ff8352ccb6e20bb9a169df1171263ef5fd5967aa25d544ea3f62681993 languageName: node linkType: hard -"@babel/compat-data@npm:^7.13.12": - version: 7.13.12 - resolution: "@babel/compat-data@npm:7.13.12" - checksum: a246d004a13a4727ffb9a01e4a6ab41874ed24d0e31f76f449800528b757ae86025296fb97b4ba640797a6f775c98802695fedf595bce7940ce7682d587321ba - languageName: node - linkType: hard - -"@babel/compat-data@npm:^7.13.15": - version: 7.14.0 - resolution: "@babel/compat-data@npm:7.14.0" - checksum: 24a9ce6d2588ad9e5d07450bf47178c2dea97b51f1f2b1a37c2aa4d04e6413b91b3c8b2be2b97275244d2353560a9a99d1209c4ac0a995ff6b2d6fa747d96883 - languageName: node - linkType: hard - -"@babel/core@npm:^7.11.6": - version: 7.14.0 - resolution: "@babel/core@npm:7.14.0" - dependencies: - "@babel/code-frame": ^7.12.13 - "@babel/generator": ^7.14.0 - "@babel/helper-compilation-targets": ^7.13.16 - "@babel/helper-module-transforms": ^7.14.0 - "@babel/helpers": ^7.14.0 - "@babel/parser": ^7.14.0 - "@babel/template": ^7.12.13 - "@babel/traverse": ^7.14.0 - "@babel/types": ^7.14.0 - convert-source-map: ^1.7.0 - debug: ^4.1.0 - gensync: ^1.0.0-beta.2 - json5: ^2.1.2 - semver: ^6.3.0 - source-map: ^0.5.0 - checksum: de02309584587690b6f184d808027676b7d827a502c0ccbfc0939fd168230ec5084b727a7de437216f9f20273cf04860b902ecf5edcfabcf876b5ac108be26d1 - languageName: node - linkType: hard - -"@babel/core@npm:^7.15.5": +"@babel/core@npm:^7.11.6, @babel/core@npm:^7.15.5": version: 7.15.5 resolution: "@babel/core@npm:7.15.5" dependencies: @@ -106,17 +53,6 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.14.0": - version: 7.14.1 - resolution: "@babel/generator@npm:7.14.1" - dependencies: - "@babel/types": ^7.14.1 - jsesc: ^2.5.1 - source-map: ^0.5.0 - checksum: 245dfd4d3c5e57cbbf1dd3037a2bac3a0f9e07fa6033adf4b1e1af65ef61dad3e2c147cceea17a5cda8da065ff4782a1e8c2c71f11b99c70b0430c3c678ff8b8 - languageName: node - linkType: hard - "@babel/generator@npm:^7.15.4": version: 7.15.4 resolution: "@babel/generator@npm:7.15.4" @@ -147,21 +83,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.13.0, @babel/helper-compilation-targets@npm:^7.13.10, @babel/helper-compilation-targets@npm:^7.13.16, @babel/helper-compilation-targets@npm:^7.13.8": - version: 7.13.16 - resolution: "@babel/helper-compilation-targets@npm:7.13.16" - dependencies: - "@babel/compat-data": ^7.13.15 - "@babel/helper-validator-option": ^7.12.17 - browserslist: ^4.14.5 - semver: ^6.3.0 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 08c8fcd99808c07a357910ab0933a60a5269ee628f24e5fbfad6394646e5d38294e33835659b8556cde09a2a3afecf1235d9381cff4b433ad77cca7230502ce3 - languageName: node - linkType: hard - -"@babel/helper-compilation-targets@npm:^7.15.4": +"@babel/helper-compilation-targets@npm:^7.13.0, @babel/helper-compilation-targets@npm:^7.13.10, @babel/helper-compilation-targets@npm:^7.15.4": version: 7.15.4 resolution: "@babel/helper-compilation-targets@npm:7.15.4" dependencies: @@ -247,18 +169,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-function-name@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/helper-function-name@npm:7.12.13" - dependencies: - "@babel/helper-get-function-arity": ^7.12.13 - "@babel/template": ^7.12.13 - "@babel/types": ^7.12.13 - checksum: d7bf4ad3c6af1e718ef5560d505147d0a96b95824000336fd4de729a110d79426867a3d97c1eea39945f110ca943316791bcdf192b006a9e367b32c126ee8265 - languageName: node - linkType: hard - -"@babel/helper-function-name@npm:^7.15.4": +"@babel/helper-function-name@npm:^7.12.13, @babel/helper-function-name@npm:^7.15.4": version: 7.15.4 resolution: "@babel/helper-function-name@npm:7.15.4" dependencies: @@ -269,15 +180,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-get-function-arity@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/helper-get-function-arity@npm:7.12.13" - dependencies: - "@babel/types": ^7.12.13 - checksum: 847ef9f4d4b2dc38574db6b0732c3add1cd65d54bab94c24d319188f2066c9b9ab2b0dda539cae7281d12ec302e3335b11ca3dcfb555566138d213905d00f711 - languageName: node - linkType: hard - "@babel/helper-get-function-arity@npm:^7.15.4": version: 7.15.4 resolution: "@babel/helper-get-function-arity@npm:7.15.4" @@ -287,17 +189,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-hoist-variables@npm:^7.13.0": - version: 7.13.0 - resolution: "@babel/helper-hoist-variables@npm:7.13.0" - dependencies: - "@babel/traverse": ^7.13.0 - "@babel/types": ^7.13.0 - checksum: 14980ab95c9687f8df72d2ce4a074e2560d16b03de5c5e10382c06b779e1982c99da0625ec338a82fa2fd63048f97a25d46a692e83f5524cab5f9f1402743aff - languageName: node - linkType: hard - -"@babel/helper-hoist-variables@npm:^7.15.4": +"@babel/helper-hoist-variables@npm:^7.13.0, @babel/helper-hoist-variables@npm:^7.15.4": version: 7.15.4 resolution: "@babel/helper-hoist-variables@npm:7.15.4" dependencies: @@ -306,25 +198,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-member-expression-to-functions@npm:^7.13.0": - version: 7.13.0 - resolution: "@babel/helper-member-expression-to-functions@npm:7.13.0" - dependencies: - "@babel/types": ^7.13.0 - checksum: f64937f6568d2bc79ed65f2890c5761cea675bdb7ae71bec23bf786007b6ac4e74a07775a51c2dc6c60e862228c3b29bd45f7403f64aebe2d4ef6c19cfab42c6 - languageName: node - linkType: hard - -"@babel/helper-member-expression-to-functions@npm:^7.13.12": - version: 7.13.12 - resolution: "@babel/helper-member-expression-to-functions@npm:7.13.12" - dependencies: - "@babel/types": ^7.13.12 - checksum: 76a5ad6ae60bec5cbef56dc2ef0e08269a985c41137e50bce642dd6c1d228c5454f656ba0de4ec819dfcbced007ec516f3c1ceaffff8d17c3957e4608be0fc8c - languageName: node - linkType: hard - -"@babel/helper-member-expression-to-functions@npm:^7.15.4": +"@babel/helper-member-expression-to-functions@npm:^7.13.0, @babel/helper-member-expression-to-functions@npm:^7.15.4": version: 7.15.4 resolution: "@babel/helper-member-expression-to-functions@npm:7.15.4" dependencies: @@ -333,25 +207,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.0.0, @babel/helper-module-imports@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/helper-module-imports@npm:7.12.13" - dependencies: - "@babel/types": ^7.12.13 - checksum: 5ca5eaa2658cc6738ce2810211084ec7cb2a1bbf9090d0ec1e9b9df1fd7786a0c4352f598eaafc682a722e7a0052afa73ee52d311b65544ca0e7f8597ed5242b - languageName: node - linkType: hard - -"@babel/helper-module-imports@npm:^7.13.12": - version: 7.13.12 - resolution: "@babel/helper-module-imports@npm:7.13.12" - dependencies: - "@babel/types": ^7.13.12 - checksum: 9abb5e3acb5630bf519b4205b7784947b64f93d573ed13579d894611392e48cac40b598f67b34c7b342fc6ac6d2262dcdecf125cac8806888328e914b2775c43 - languageName: node - linkType: hard - -"@babel/helper-module-imports@npm:^7.14.5, @babel/helper-module-imports@npm:^7.15.4": +"@babel/helper-module-imports@npm:^7.0.0, @babel/helper-module-imports@npm:^7.12.13, @babel/helper-module-imports@npm:^7.14.5, @babel/helper-module-imports@npm:^7.15.4": version: 7.15.4 resolution: "@babel/helper-module-imports@npm:7.15.4" dependencies: @@ -360,23 +216,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.13.0, @babel/helper-module-transforms@npm:^7.14.0": - version: 7.14.0 - resolution: "@babel/helper-module-transforms@npm:7.14.0" - dependencies: - "@babel/helper-module-imports": ^7.13.12 - "@babel/helper-replace-supers": ^7.13.12 - "@babel/helper-simple-access": ^7.13.12 - "@babel/helper-split-export-declaration": ^7.12.13 - "@babel/helper-validator-identifier": ^7.14.0 - "@babel/template": ^7.12.13 - "@babel/traverse": ^7.14.0 - "@babel/types": ^7.14.0 - checksum: dc6f123ffaf24b029b2852242bfd7987530333ab81a45d0a6a40ede1a330076903845b2122eb1d8aa5b46ef1b2c43aa961e94ef7c58819b48b1d87dc683c5af1 - languageName: node - linkType: hard - -"@babel/helper-module-transforms@npm:^7.15.4": +"@babel/helper-module-transforms@npm:^7.13.0, @babel/helper-module-transforms@npm:^7.15.4": version: 7.15.4 resolution: "@babel/helper-module-transforms@npm:7.15.4" dependencies: @@ -392,16 +232,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-optimise-call-expression@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/helper-optimise-call-expression@npm:7.12.13" - dependencies: - "@babel/types": ^7.12.13 - checksum: 9925679d67a809c42b990825ee31f5f02787f385e27301da3343487f6a84482c7e2ebdd2b6d1ed066c309218750f2b7f78ab44dbb25ea6152f71d22839962a35 - languageName: node - linkType: hard - -"@babel/helper-optimise-call-expression@npm:^7.15.4": +"@babel/helper-optimise-call-expression@npm:^7.12.13, @babel/helper-optimise-call-expression@npm:^7.15.4": version: 7.15.4 resolution: "@babel/helper-optimise-call-expression@npm:7.15.4" dependencies: @@ -410,14 +241,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.13.0, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": - version: 7.13.0 - resolution: "@babel/helper-plugin-utils@npm:7.13.0" - checksum: 24f7a44e94662a5dc8bd98ab12625ccd96b11e789ef3f9efd4f6f0eeaf01a13b051a148e709fb1c4e1cacdb536987ea75f4b78509567a0117246ea917195a86b - languageName: node - linkType: hard - -"@babel/helper-plugin-utils@npm:^7.14.5": +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.13.0, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": version: 7.14.5 resolution: "@babel/helper-plugin-utils@npm:7.14.5" checksum: fe20e90a24d02770a60ebe80ab9f0dfd7258503cea8006c71709ac9af1aa3e47b0de569499673f11ea6c99597f8c0e4880ae1d505986e61101b69716820972fe @@ -435,31 +259,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-replace-supers@npm:^7.12.13, @babel/helper-replace-supers@npm:^7.13.0": - version: 7.13.0 - resolution: "@babel/helper-replace-supers@npm:7.13.0" - dependencies: - "@babel/helper-member-expression-to-functions": ^7.13.0 - "@babel/helper-optimise-call-expression": ^7.12.13 - "@babel/traverse": ^7.13.0 - "@babel/types": ^7.13.0 - checksum: 1007f701a1089dccfbdc4026948e12ebf5e8fed2e50514a8a3a8b8f29fd7d428ee3543038f64f19761cbd14bf63e1c78b32f16eee9965877a8e3d81f6ec93357 - languageName: node - linkType: hard - -"@babel/helper-replace-supers@npm:^7.13.12": - version: 7.13.12 - resolution: "@babel/helper-replace-supers@npm:7.13.12" - dependencies: - "@babel/helper-member-expression-to-functions": ^7.13.12 - "@babel/helper-optimise-call-expression": ^7.12.13 - "@babel/traverse": ^7.13.0 - "@babel/types": ^7.13.12 - checksum: 9ac99070152157e74ecca16e161a3d5977f346cff19109d0ebb943553c3e5e064c4f3319e5517948406ca1990e8feff704726772b54e1b08951261023e072000 - languageName: node - linkType: hard - -"@babel/helper-replace-supers@npm:^7.15.4": +"@babel/helper-replace-supers@npm:^7.12.13, @babel/helper-replace-supers@npm:^7.13.0, @babel/helper-replace-supers@npm:^7.15.4": version: 7.15.4 resolution: "@babel/helper-replace-supers@npm:7.15.4" dependencies: @@ -471,25 +271,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-simple-access@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/helper-simple-access@npm:7.12.13" - dependencies: - "@babel/types": ^7.12.13 - checksum: 3b08fa513c7c186da8fbcb1cddc646242455d0aedd1f68e651b1590071e49f1019a3a4cad8a4abfbb338ba1dffa6935f702aec760fcb7577a9013b6d79dd8847 - languageName: node - linkType: hard - -"@babel/helper-simple-access@npm:^7.13.12": - version: 7.13.12 - resolution: "@babel/helper-simple-access@npm:7.13.12" - dependencies: - "@babel/types": ^7.13.12 - checksum: afd0a8d1c7530a5184cd6fc23175d765a3eeb16f35c83090a90cec1010fcca684d238287c2e0f7ea9c0939d52235603986bd73c61e689d600f5dd1d1ef0ca204 - languageName: node - linkType: hard - -"@babel/helper-simple-access@npm:^7.15.4": +"@babel/helper-simple-access@npm:^7.12.13, @babel/helper-simple-access@npm:^7.15.4": version: 7.15.4 resolution: "@babel/helper-simple-access@npm:7.15.4" dependencies: @@ -507,16 +289,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-split-export-declaration@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/helper-split-export-declaration@npm:7.12.13" - dependencies: - "@babel/types": ^7.12.13 - checksum: adc8954a0b7e44548425f62ce4dc865d3efa288f016852539d3eddaeec13cf4baff3f397b494dc0f609aab51942480891cbe1adc955e05fe048b7f92db2bcf20 - languageName: node - linkType: hard - -"@babel/helper-split-export-declaration@npm:^7.15.4": +"@babel/helper-split-export-declaration@npm:^7.12.13, @babel/helper-split-export-declaration@npm:^7.15.4": version: 7.15.4 resolution: "@babel/helper-split-export-declaration@npm:7.15.4" dependencies: @@ -525,42 +298,14 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.12.11": - version: 7.12.11 - resolution: "@babel/helper-validator-identifier@npm:7.12.11" - checksum: e604c6bf890704fc46c1ae13bf23afb242b810224ec3403bba67cdbf0d8dabfec4b82123d6dfb18135a0ee3f7f79218583c819363ebb5e04a0a49d8418db7fce - languageName: node - linkType: hard - -"@babel/helper-validator-identifier@npm:^7.14.0": - version: 7.14.0 - resolution: "@babel/helper-validator-identifier@npm:7.14.0" - checksum: 6276d57677bac403dd2e99176b4c7bc38ecdf757ac845c4339a2bf2f6f1003203caaa5af24880bcc7084ee59b6687a897263592cab21f49da29eb8c246f2a0d8 - languageName: node - linkType: hard - -"@babel/helper-validator-identifier@npm:^7.14.5, @babel/helper-validator-identifier@npm:^7.14.9": - version: 7.14.9 - resolution: "@babel/helper-validator-identifier@npm:7.14.9" - checksum: 58552531a7674363e74672434c312ddaf1545b8a43308e1a7f38db58bf79c796c095a6dab6a6105eb0d783b97441f6cbb525bb887f29a35f232fcdbd8cb240dc - languageName: node - linkType: hard - -"@babel/helper-validator-identifier@npm:^7.15.7": +"@babel/helper-validator-identifier@npm:^7.12.11, @babel/helper-validator-identifier@npm:^7.14.5, @babel/helper-validator-identifier@npm:^7.14.9, @babel/helper-validator-identifier@npm:^7.15.7": version: 7.15.7 resolution: "@babel/helper-validator-identifier@npm:7.15.7" checksum: f041c28c531d1add5cc345b25d5df3c29c62bce3205b4d4a93dcd164ccf630350acba252d374fad8f5d8ea526995a215829f27183ba7ce7ce141843bf23068a6 languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.12.17": - version: 7.12.17 - resolution: "@babel/helper-validator-option@npm:7.12.17" - checksum: 940e7b78dc05508d726b721e06dfdbfd56fd8a56522ee37e9d6f3ed9bef6df5dba82a1d74434e7670b0e5e5caa699f1454a63254199df3cddc2a0829acf75e36 - languageName: node - linkType: hard - -"@babel/helper-validator-option@npm:^7.14.5": +"@babel/helper-validator-option@npm:^7.12.17, @babel/helper-validator-option@npm:^7.14.5": version: 7.14.5 resolution: "@babel/helper-validator-option@npm:7.14.5" checksum: 1b25c34a5cb3d8602280f33b9ab687d2a77895e3616458d0f70ddc450ada9b05e342c44f322bc741d51b252e84cff6ec44ae93d622a3354828579a643556b523 @@ -579,17 +324,6 @@ __metadata: languageName: node linkType: hard -"@babel/helpers@npm:^7.14.0": - version: 7.14.0 - resolution: "@babel/helpers@npm:7.14.0" - dependencies: - "@babel/template": ^7.12.13 - "@babel/traverse": ^7.14.0 - "@babel/types": ^7.14.0 - checksum: 276716f77cd5e439543e446bed25c1b541b855bb94ffe6f6193335653e17c044503fa194de25cc2f9208dbfa6b406c2cb77e4e0382f2ca4241bd6bf773dcd091 - languageName: node - linkType: hard - "@babel/helpers@npm:^7.15.4": version: 7.15.4 resolution: "@babel/helpers@npm:7.15.4" @@ -601,29 +335,7 @@ __metadata: languageName: node linkType: hard -"@babel/highlight@npm:^7.10.4": - version: 7.13.10 - resolution: "@babel/highlight@npm:7.13.10" - dependencies: - "@babel/helper-validator-identifier": ^7.12.11 - chalk: ^2.0.0 - js-tokens: ^4.0.0 - checksum: 2f33624c8e0947101fd72ca8d2af291cd9560bcb3ed63299e5f95a70e64c2a435922d915ede6760f30ff23942589fe42b962b6b8138f868abaa6f7abd4d4f5e9 - languageName: node - linkType: hard - -"@babel/highlight@npm:^7.12.13": - version: 7.13.8 - resolution: "@babel/highlight@npm:7.13.8" - dependencies: - "@babel/helper-validator-identifier": ^7.12.11 - chalk: ^2.0.0 - js-tokens: ^4.0.0 - checksum: 1aa15ef0f8aa3c171e5eda442d77f9b845ff99da77aea797b52773b97b6854c5cbcffe3075dc68881408c2aee0dc2cb5f524b4f65eabe36b4239cd7c9f8a01a2 - languageName: node - linkType: hard - -"@babel/highlight@npm:^7.14.5": +"@babel/highlight@npm:^7.10.4, @babel/highlight@npm:^7.14.5": version: 7.14.5 resolution: "@babel/highlight@npm:7.14.5" dependencies: @@ -634,16 +346,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.12.0, @babel/parser@npm:^7.12.13, @babel/parser@npm:^7.14.0, @babel/parser@npm:^7.6.0, @babel/parser@npm:^7.9.6": - version: 7.14.1 - resolution: "@babel/parser@npm:7.14.1" - bin: - parser: ./bin/babel-parser.js - checksum: 4b52bbf779ada6fd1ea993968456c9822a72ccba175c0f1d40085029fae1d1748359078ea3811f9e75c0034283f7bf899ef688fe2be357eb592ef164a3e7d7db - languageName: node - linkType: hard - -"@babel/parser@npm:^7.15.4, @babel/parser@npm:^7.15.5": +"@babel/parser@npm:^7.12.0, @babel/parser@npm:^7.15.4, @babel/parser@npm:^7.15.5, @babel/parser@npm:^7.6.0, @babel/parser@npm:^7.9.6": version: 7.15.5 resolution: "@babel/parser@npm:7.15.5" bin: @@ -774,22 +477,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-object-rest-spread@npm:^7.13.8": - version: 7.13.8 - resolution: "@babel/plugin-proposal-object-rest-spread@npm:7.13.8" - dependencies: - "@babel/compat-data": ^7.13.8 - "@babel/helper-compilation-targets": ^7.13.8 - "@babel/helper-plugin-utils": ^7.13.0 - "@babel/plugin-syntax-object-rest-spread": ^7.8.3 - "@babel/plugin-transform-parameters": ^7.13.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 7ae92617c672e1d47979c809bd90b20c4e7d269769776dd705f519634a165d113de8ef05739a557b3aad0cb6884986b82d287dcb63211c07b66dca43ac66c8bb - languageName: node - linkType: hard - -"@babel/plugin-proposal-object-rest-spread@npm:^7.15.6": +"@babel/plugin-proposal-object-rest-spread@npm:^7.13.8, @babel/plugin-proposal-object-rest-spread@npm:^7.15.6": version: 7.15.6 resolution: "@babel/plugin-proposal-object-rest-spread@npm:7.15.6" dependencies: @@ -1249,18 +937,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-parameters@npm:^7.13.0": - version: 7.13.0 - resolution: "@babel/plugin-transform-parameters@npm:7.13.0" - dependencies: - "@babel/helper-plugin-utils": ^7.13.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 277c914ce5580f06ee0ed06fb3e80df38be0f7dad41b3632ae6f7ea4cd2c6e1ecc2bb93342a719e8957bf4b4f98188f8d035f38aad2de6b5920507a1042bbd84 - languageName: node - linkType: hard - -"@babel/plugin-transform-parameters@npm:^7.15.4": +"@babel/plugin-transform-parameters@npm:^7.13.0, @babel/plugin-transform-parameters@npm:^7.15.4": version: 7.15.4 resolution: "@babel/plugin-transform-parameters@npm:7.15.4" dependencies: @@ -1527,18 +1204,7 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/template@npm:7.12.13" - dependencies: - "@babel/code-frame": ^7.12.13 - "@babel/parser": ^7.12.13 - "@babel/types": ^7.12.13 - checksum: e0377316317ff55c794ec79f70d8f27b5cd3323ce76278ade525c264af669952b09613288221c76ee4abd49626a5f014a60ec4a637694c9121a1b77f820792d0 - languageName: node - linkType: hard - -"@babel/template@npm:^7.15.4": +"@babel/template@npm:^7.12.13, @babel/template@npm:^7.15.4": version: 7.15.4 resolution: "@babel/template@npm:7.15.4" dependencies: @@ -1549,23 +1215,7 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.13.0, @babel/traverse@npm:^7.14.0": - version: 7.14.0 - resolution: "@babel/traverse@npm:7.14.0" - dependencies: - "@babel/code-frame": ^7.12.13 - "@babel/generator": ^7.14.0 - "@babel/helper-function-name": ^7.12.13 - "@babel/helper-split-export-declaration": ^7.12.13 - "@babel/parser": ^7.14.0 - "@babel/types": ^7.14.0 - debug: ^4.1.0 - globals: ^11.1.0 - checksum: 98cfb223facc13a67031a3619285c0d71acbc57a473b1213d2c70e53c57b390e9256a93bd05d93be4d3405ea235c4758a6cac2afcbf7e79815c6c96a913d246f - languageName: node - linkType: hard - -"@babel/traverse@npm:^7.15.4": +"@babel/traverse@npm:^7.13.0, @babel/traverse@npm:^7.15.4": version: 7.15.4 resolution: "@babel/traverse@npm:7.15.4" dependencies: @@ -1582,27 +1232,7 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.12.0, @babel/types@npm:^7.12.1, @babel/types@npm:^7.12.13, @babel/types@npm:^7.13.0, @babel/types@npm:^7.13.12, @babel/types@npm:^7.14.0, @babel/types@npm:^7.14.1, @babel/types@npm:^7.4.4, @babel/types@npm:^7.6.1, @babel/types@npm:^7.9.6": - version: 7.14.1 - resolution: "@babel/types@npm:7.14.1" - dependencies: - "@babel/helper-validator-identifier": ^7.14.0 - to-fast-properties: ^2.0.0 - checksum: e6de78926544c97f3c1c541e6c9728836c9455f289bd5abd56482aced9e42742487e5c91a08a6bc31baaffdf05179b1b7b12ce5213aa6487e5238934a30df05e - languageName: node - linkType: hard - -"@babel/types@npm:^7.15.4": - version: 7.15.4 - resolution: "@babel/types@npm:7.15.4" - dependencies: - "@babel/helper-validator-identifier": ^7.14.9 - to-fast-properties: ^2.0.0 - checksum: dac7d733edf2102e97f197929693fae6025161f3edda5a0f621f69e9d0741b8596c6f2152492bef869b55d0205e214867e8730f389283e85432b8f093e295c4b - languageName: node - linkType: hard - -"@babel/types@npm:^7.8.3": +"@babel/types@npm:^7.12.0, @babel/types@npm:^7.12.1, @babel/types@npm:^7.12.13, @babel/types@npm:^7.13.0, @babel/types@npm:^7.13.12, @babel/types@npm:^7.15.4, @babel/types@npm:^7.4.4, @babel/types@npm:^7.6.1, @babel/types@npm:^7.8.3, @babel/types@npm:^7.9.6": version: 7.16.0 resolution: "@babel/types@npm:7.16.0" dependencies: @@ -3095,37 +2725,7 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.14.5, browserslist@npm:^4.16.3": - version: 4.16.6 - resolution: "browserslist@npm:4.16.6" - dependencies: - caniuse-lite: ^1.0.30001219 - colorette: ^1.2.2 - electron-to-chromium: ^1.3.723 - escalade: ^3.1.1 - node-releases: ^1.1.71 - bin: - browserslist: cli.js - checksum: 3dffc86892d2dcfcfc66b52519b7e5698ae070b4fc92ab047e760efc4cae0474e9e70bbe10d769c8d3491b655ef3a2a885b88e7196c83cc5dc0a46dfdba8b70c - languageName: node - linkType: hard - -"browserslist@npm:^4.16.6": - version: 4.16.8 - resolution: "browserslist@npm:4.16.8" - dependencies: - caniuse-lite: ^1.0.30001251 - colorette: ^1.3.0 - electron-to-chromium: ^1.3.811 - escalade: ^3.1.1 - node-releases: ^1.1.75 - bin: - browserslist: cli.js - checksum: a442ab2156b95bc88627591c5af6f3e4952eab4a3b1eef942af37bbeaa717f60a78b31890c76b1ade08e881c541c6ac9e7a74f0a66968658e9fe013e69e69093 - languageName: node - linkType: hard - -"browserslist@npm:^4.17.1": +"browserslist@npm:^4.16.6, browserslist@npm:^4.17.1": version: 4.17.1 resolution: "browserslist@npm:4.17.1" dependencies: @@ -3213,32 +2813,7 @@ __metadata: languageName: node linkType: hard -"cacache@npm:^15.0.5": - version: 15.0.5 - resolution: "cacache@npm:15.0.5" - dependencies: - "@npmcli/move-file": ^1.0.1 - chownr: ^2.0.0 - fs-minipass: ^2.0.0 - glob: ^7.1.4 - infer-owner: ^1.0.4 - lru-cache: ^6.0.0 - minipass: ^3.1.1 - minipass-collect: ^1.0.2 - minipass-flush: ^1.0.5 - minipass-pipeline: ^1.2.2 - mkdirp: ^1.0.3 - p-map: ^4.0.0 - promise-inflight: ^1.0.1 - rimraf: ^3.0.2 - ssri: ^8.0.0 - tar: ^6.0.2 - unique-filename: ^1.1.1 - checksum: 911436a9df4caf868c91b75d58c8ba7c958dd4a1882cf18daeac003f46e81d79c11196affe8d86dd9137194466cc2f45b61707b5fbe5fea3d9b8e9220f669e48 - languageName: node - linkType: hard - -"cacache@npm:^15.2.0": +"cacache@npm:^15.0.5, cacache@npm:^15.2.0": version: 15.3.0 resolution: "cacache@npm:15.3.0" dependencies: @@ -3302,24 +2877,10 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001219": - version: 1.0.30001230 - resolution: "caniuse-lite@npm:1.0.30001230" - checksum: 7ad6bf592c272dc62e59eb05b7e8581f6e8e0b0f6cef8e687c82c8306d77dccacdbba86286a4d1e3defebdd358ddc0a236208f08ea8e7b899d7b519c1223399a - languageName: node - linkType: hard - -"caniuse-lite@npm:^1.0.30001251": - version: 1.0.30001251 - resolution: "caniuse-lite@npm:1.0.30001251" - checksum: 918e1b1662c26c11291206146bc305d7fd1ca351aa9231c2e21cb1526d87b444830e2d8dc54416ebb8ecf7e0addea12d66a1c41493476229987e5e6922f0c14b - languageName: node - linkType: hard - "caniuse-lite@npm:^1.0.30001259": - version: 1.0.30001261 - resolution: "caniuse-lite@npm:1.0.30001261" - checksum: d894662312ecbdd772f0a258c4a45cac93605247b127b25649052353e0b981abfd0b445f469650943b612adc236fd510ae61c1293f3e77c68af7411d1b66574a + version: 1.0.30001323 + resolution: "caniuse-lite@npm:1.0.30001323" + checksum: 053cffe1f33ef7c97ce5a1111f17ec4872ce50f152cb0b787fddc748afa98e442a885acbfdf6c39c59b5af4e9d338e288ce2901eea150e64389d2d3b86248790 languageName: node linkType: hard @@ -3691,13 +3252,6 @@ __metadata: linkType: hard "colorette@npm:^1.2.2": - version: 1.2.2 - resolution: "colorette@npm:1.2.2" - checksum: 69fec14ddaedd0f5b00e4bae40dc4bc61f7050ebdc82983a595d6fd64e650b9dc3c033fff378775683138e992e0ddd8717ac7c7cec4d089679dcfbe3cd921b04 - languageName: node - linkType: hard - -"colorette@npm:^1.3.0": version: 1.3.0 resolution: "colorette@npm:1.3.0" checksum: bda403dfba4d032bee4169f2a6436a83ae3da488a53bcb3be92dc44ace056518245cc614b12429d7529493d6b090a119b2523b0d55e8cd6b81ad939a3003c008 @@ -3854,7 +3408,7 @@ __metadata: languageName: node linkType: hard -"core-js-compat@npm:^3.16.2": +"core-js-compat@npm:^3.16.2, core-js-compat@npm:^3.8.1, core-js-compat@npm:^3.9.0": version: 3.18.1 resolution: "core-js-compat@npm:3.18.1" dependencies: @@ -3864,16 +3418,6 @@ __metadata: languageName: node linkType: hard -"core-js-compat@npm:^3.8.1, core-js-compat@npm:^3.9.0": - version: 3.9.1 - resolution: "core-js-compat@npm:3.9.1" - dependencies: - browserslist: ^4.16.3 - semver: 7.0.0 - checksum: e72664610247b9735ff22358d6f2069837a02454da174ff7c69c8ef81992ea819be25ad2794130027114b328a02faefc85f1a42eb1359b8d48ca36ccb30fafcc - languageName: node - linkType: hard - "core-js@npm:^2.4.0, core-js@npm:^2.6.5": version: 2.6.12 resolution: "core-js@npm:2.6.12" @@ -4125,7 +3669,19 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:4.3.1, debug@npm:^4.0.1, debug@npm:^4.1.0, debug@npm:^4.1.1": +"debug@npm:4, debug@npm:^4.0.1, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1": + version: 4.3.2 + resolution: "debug@npm:4.3.2" + dependencies: + ms: 2.1.2 + peerDependenciesMeta: + supports-color: + optional: true + checksum: 820ea160e267e23c953c9ed87e7ad93494d8cda2f7349af5e7e3bb236d23707ee3022f477d5a7d2ee86ef2bf7d60aa9ab22d1f58080d7deb9dccd073585e1e43 + languageName: node + linkType: hard + +"debug@npm:4.3.1": version: 4.3.1 resolution: "debug@npm:4.3.1" dependencies: @@ -4146,18 +3702,6 @@ __metadata: languageName: node linkType: hard -"debug@npm:^4.3.1": - version: 4.3.2 - resolution: "debug@npm:4.3.2" - dependencies: - ms: 2.1.2 - peerDependenciesMeta: - supports-color: - optional: true - checksum: 820ea160e267e23c953c9ed87e7ad93494d8cda2f7349af5e7e3bb236d23707ee3022f477d5a7d2ee86ef2bf7d60aa9ab22d1f58080d7deb9dccd073585e1e43 - languageName: node - linkType: hard - "debug@npm:~3.1.0": version: 3.1.0 resolution: "debug@npm:3.1.0" @@ -4506,20 +4050,6 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.3.723": - version: 1.3.739 - resolution: "electron-to-chromium@npm:1.3.739" - checksum: ce9bb7928676ce9c94a03549b2be2aff0b7d8b8646378ba453c9427f0a893174fbc82ea40b420bfc85582178e0510d8deca31a8e72745638e638b83783661817 - languageName: node - linkType: hard - -"electron-to-chromium@npm:^1.3.811": - version: 1.3.812 - resolution: "electron-to-chromium@npm:1.3.812" - checksum: a879bdc67b2b3263a277a66a73eb37c6a5bdd243c6faa0932f101a409ef0c4d5f65d84ba75c76599a4611aeefd940804ae60cd8c277a6fc4338f512bbb4cd38b - languageName: node - linkType: hard - "electron-to-chromium@npm:^1.3.846": version: 1.3.854 resolution: "electron-to-chromium@npm:1.3.854" @@ -5660,16 +5190,7 @@ __metadata: languageName: node linkType: hard -"glob-parent@npm:^5.0.0, glob-parent@npm:~5.1.0": - version: 5.1.1 - resolution: "glob-parent@npm:5.1.1" - dependencies: - is-glob: ^4.0.1 - checksum: 9f9a19c8d441d9df51df5985b2280b084f5ebc07e0fe5de761f346cb707cc30e7d51fb51c0e82490730b6c0ca9c9a3d0c73e4a22861a3cf363cc745e01721dd4 - languageName: node - linkType: hard - -"glob-parent@npm:^5.1.2": +"glob-parent@npm:^5.0.0, glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.0": version: 5.1.2 resolution: "glob-parent@npm:5.1.2" dependencies: @@ -5755,14 +5276,7 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.3": - version: 4.2.6 - resolution: "graceful-fs@npm:4.2.6" - checksum: 792e64aafda05a151289f83eaa16aff34ef259658cefd65393883d959409f5a2389b0ec9ebf28f3d21f1b0ddc8f594a1162ae9b18e2b507a6799a70706ec573d - languageName: node - linkType: hard - -"graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": +"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.3, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": version: 4.2.8 resolution: "graceful-fs@npm:4.2.8" checksum: 5d224c8969ad0581d551dfabdb06882706b31af2561bd5e2034b4097e67cc27d05232849b8643866585fd0a41c7af152950f8776f4dd5579e9853733f31461c6 @@ -6081,14 +5595,7 @@ __metadata: languageName: node linkType: hard -"ignore@npm:^5.1.1": - version: 5.1.8 - resolution: "ignore@npm:5.1.8" - checksum: 967abadb61e2cb0e5c5e8c4e1686ab926f91bc1a4680d994b91947d3c65d04c3ae126dcdf67f08e0feeb8ff8407d453e641aeeddcc47a3a3cca359f283cf6121 - languageName: node - linkType: hard - -"ignore@npm:^5.1.4": +"ignore@npm:^5.1.1, ignore@npm:^5.1.4": version: 5.1.9 resolution: "ignore@npm:5.1.9" checksum: 6f6b2235f4e63648116c5814f76b2d3d63fae9c21b8a466862e865732f59e787c9938a9042f9457091db6f0d811508ea3c8c6a60f35bafc4ceea08bbe8f96fd5 @@ -8048,20 +7555,6 @@ __metadata: languageName: node linkType: hard -"node-releases@npm:^1.1.71": - version: 1.1.72 - resolution: "node-releases@npm:1.1.72" - checksum: 84dacd44e6595c76e3097b69051b24bf5c3bdb374efc9bef343200ffa183fce10a31ba1c763af51d897ba0f6d00cd1e10eb34a03146688ce4cb051f1d80c402b - languageName: node - linkType: hard - -"node-releases@npm:^1.1.75": - version: 1.1.75 - resolution: "node-releases@npm:1.1.75" - checksum: 74028e7d193c9c5986b2f6bb51f4f6405a3f144599bbb19751c81faece52af8eb3f5abac40cbcd11ead44be3f856be125aa71fbb8dd8bf0c7f90caa94179ee51 - languageName: node - linkType: hard - "node-releases@npm:^1.1.76": version: 1.1.76 resolution: "node-releases@npm:1.1.76" @@ -8732,14 +8225,7 @@ __metadata: languageName: node linkType: hard -"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.2": - version: 2.2.2 - resolution: "picomatch@npm:2.2.2" - checksum: 897a589f94665b4fd93e075fa94893936afe3f7bbef44250f0e878a8d9d001972a79589cac2856c24f6f5aa3b0abc9c8ba00c98fae4dc22bc0117188864d4181 - languageName: node - linkType: hard - -"picomatch@npm:^2.2.3": +"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.2, picomatch@npm:^2.2.3": version: 2.3.0 resolution: "picomatch@npm:2.3.0" checksum: 16818720ea7c5872b6af110760dee856c8e4cd79aed1c7a006d076b1cc09eff3ae41ca5019966694c33fbd2e1cc6ea617ab10e4adac6df06556168f13be3fca2 @@ -10262,7 +9748,7 @@ __metadata: languageName: node linkType: hard -"socks-proxy-agent@npm:5": +"socks-proxy-agent@npm:5, socks-proxy-agent@npm:^5.0.0": version: 5.0.1 resolution: "socks-proxy-agent@npm:5.0.1" dependencies: @@ -10273,17 +9759,6 @@ __metadata: languageName: node linkType: hard -"socks-proxy-agent@npm:^5.0.0": - version: 5.0.0 - resolution: "socks-proxy-agent@npm:5.0.0" - dependencies: - agent-base: 6 - debug: 4 - socks: ^2.3.3 - checksum: 1dd30d1cc346c33b3180a5bbe75ed93979ca3a916f453a6802f64642f07d30af7e93a640a607c920f10d4b1dfe1d0eec485f64c2a93c951a8d9a50090e6a7776 - languageName: node - linkType: hard - "socks-proxy-agent@npm:^6.0.0": version: 6.1.0 resolution: "socks-proxy-agent@npm:6.1.0" @@ -10295,17 +9770,7 @@ __metadata: languageName: node linkType: hard -"socks@npm:^2.3.3": - version: 2.5.1 - resolution: "socks@npm:2.5.1" - dependencies: - ip: ^1.1.5 - smart-buffer: ^4.1.0 - checksum: a52de405ef01f015c16505a397f53172fb0b4a723ad5db5b3d3b76efbeb40295df514a5fcb4137a9d4b8d32783cdf11e90b621b7b863d203c898eaa5b7e1e1ca - languageName: node - linkType: hard - -"socks@npm:^2.6.1": +"socks@npm:^2.3.3, socks@npm:^2.6.1": version: 2.6.1 resolution: "socks@npm:2.6.1" dependencies: @@ -10849,7 +10314,7 @@ __metadata: languageName: node linkType: hard -"terser@npm:^5.0.0": +"terser@npm:^5.0.0, terser@npm:^5.6.0": version: 5.6.1 resolution: "terser@npm:5.6.1" dependencies: @@ -10862,19 +10327,6 @@ __metadata: languageName: node linkType: hard -"terser@npm:^5.6.0": - version: 5.6.0 - resolution: "terser@npm:5.6.0" - dependencies: - commander: ^2.20.0 - source-map: ~0.7.2 - source-map-support: ~0.5.19 - bin: - terser: bin/terser - checksum: 5932e620ffd2222cde2d0610ff9a608910c1ffec2e755e95db983cc43968f87e3ad7b6808420067805432ee03d46216b9919ff6b37f1c6ca4adef2f715d23711 - languageName: node - linkType: hard - "text-table@npm:^0.2.0": version: 0.2.0 resolution: "text-table@npm:0.2.0" @@ -11019,14 +10471,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.0.1": - version: 2.1.0 - resolution: "tslib@npm:2.1.0" - checksum: aa189c8179de0427b0906da30926fd53c59d96ec239dff87d6e6bc831f608df0cbd6f77c61dabc074408bd0aa0b9ae4ec35cb2c15f729e32f37274db5730cb78 - languageName: node - linkType: hard - -"tslib@npm:^2.0.3": +"tslib@npm:^2.0.1, tslib@npm:^2.0.3": version: 2.3.1 resolution: "tslib@npm:2.3.1" checksum: de17a98d4614481f7fcb5cd53ffc1aaf8654313be0291e1bfaee4b4bb31a20494b7d218ff2e15017883e8ea9626599b3b0e0229c18383ba9dce89da2adf15cb9 diff --git a/audit/Makefile b/audit/Makefile index b2661463c..cd4efb693 100644 --- a/audit/Makefile +++ b/audit/Makefile @@ -3,11 +3,6 @@ NAME := audit include ../.make/recursion.mk -.PHONY: test-acceptance-webui -test-acceptance-webui: - ./ui/tests/run-acceptance-test.sh $(FEATURE_PATH) - - ############ tooling ############ ifneq (, $(shell which go 2> /dev/null)) # suppress `command not found warnings` for non go targets in CI include ../.bingo/Variables.mk @@ -22,34 +17,14 @@ include ../.make/release.mk ############ docs generate ############ include ../.make/docs.mk -############ l10n ############ -include ../.make/l10n.mk - .PHONY: docs-generate -docs-generate: config-docs-generate \ - grpc-docs-generate +docs-generate: config-docs-generate ############ generate ############ include ../.make/generate.mk .PHONY: ci-go-generate -ci-go-generate: protobuf # CI runs ci-node-generate automatically before this target +ci-go-generate: # CI runs ci-node-generate automatically before this target .PHONY: ci-node-generate -ci-node-generate: yarn-build - -.PHONY: yarn-build -yarn-build: node_modules - yarn lint - yarn test - yarn build - -.PHONY: node_modules -node_modules: - yarn install --immutable - -############ protobuf ############ -include ../.make/protobuf.mk - -.PHONY: protobuf -protobuf: buf-generate +ci-node-generate: diff --git a/audit/pkg/config/config.go b/audit/pkg/config/config.go index 33c98abf0..b14a78a75 100644 --- a/audit/pkg/config/config.go +++ b/audit/pkg/config/config.go @@ -8,30 +8,30 @@ import ( // Config combines all available configuration parts. type Config struct { - *shared.Commons `ocisConfig:"-" yaml:"-"` + *shared.Commons `yaml:"-"` - Service Service `ocisConfig:"-" yaml:"-"` + Service Service `yaml:"-"` - Log *Log `ocisConfig:"log"` - Debug Debug `ocisConfig:"debug"` + Log *Log `yaml:"log"` + Debug Debug `yaml:"debug"` - Events Events `ocisConfig:"events"` - Auditlog Auditlog `ocisConfig:"auditlog"` + Events Events `yaml:"events"` + Auditlog Auditlog `yaml:"auditlog"` - Context context.Context `ocisConfig:"-" yaml:"-"` + Context context.Context `yaml:"-"` } // Events combines the configuration options for the event bus. type Events struct { - Endpoint string `ocisConfig:"events_endpoint" env:"AUDIT_EVENTS_ENDPOINT" desc:"the address of the streaming service"` - Cluster string `ocisConfig:"events_cluster" env:"AUDIT_EVENTS_CLUSTER" desc:"the clusterID of the streaming service. Mandatory when using nats"` - ConsumerGroup string `ocisConfig:"events_group" env:"AUDIT_EVENTS_GROUP" desc:"the customergroup of the service. One group will only get one vopy of an event"` + Endpoint string `yaml:"events_endpoint" env:"AUDIT_EVENTS_ENDPOINT" desc:"the address of the streaming service"` + Cluster string `yaml:"events_cluster" env:"AUDIT_EVENTS_CLUSTER" desc:"the clusterID of the streaming service. Mandatory when using nats"` + ConsumerGroup string `yaml:"events_group" env:"AUDIT_EVENTS_GROUP" desc:"the customergroup of the service. One group will only get one vopy of an event"` } // Auditlog holds audit log information type Auditlog struct { - LogToConsole bool `ocisConfig:"log_to_console" env:"AUDIT_LOG_TO_CONSOLE" desc:"logs to Stdout if true"` - LogToFile bool `ocisConfig:"log_to_file" env:"AUDIT_LOG_TO_FILE" desc:"logs to file if true"` - FilePath string `ocisConfig:"filepath" env:"AUDIT_FILEPATH" desc:"filepath to the logfile. Mandatory if LogToFile is true"` - Format string `ocisConfig:"format" env:"AUDIT_FORMAT" desc:"log format. using json is advised"` + LogToConsole bool `yaml:"log_to_console" env:"AUDIT_LOG_TO_CONSOLE" desc:"logs to Stdout if true"` + LogToFile bool `yaml:"log_to_file" env:"AUDIT_LOG_TO_FILE" desc:"logs to file if true"` + FilePath string `yaml:"filepath" env:"AUDIT_FILEPATH" desc:"filepath to the logfile. Mandatory if LogToFile is true"` + Format string `yaml:"format" env:"AUDIT_FORMAT" desc:"log format. using json is advised"` } diff --git a/audit/pkg/config/debug.go b/audit/pkg/config/debug.go index 0176145c0..398f2e712 100644 --- a/audit/pkg/config/debug.go +++ b/audit/pkg/config/debug.go @@ -2,8 +2,8 @@ package config // Debug defines the available debug configuration. type Debug struct { - Addr string `ocisConfig:"addr" env:"AUDIT_DEBUG_ADDR"` - Token string `ocisConfig:"token" env:"AUDIT_DEBUG_TOKEN"` - Pprof bool `ocisConfig:"pprof" env:"AUDIT_DEBUG_PPROF"` - Zpages bool `ocisConfig:"zpages" env:"AUDIT_DEBUG_ZPAGES"` + Addr string `yaml:"addr" env:"AUDIT_DEBUG_ADDR"` + Token string `yaml:"token" env:"AUDIT_DEBUG_TOKEN"` + Pprof bool `yaml:"pprof" env:"AUDIT_DEBUG_PPROF"` + Zpages bool `yaml:"zpages" env:"AUDIT_DEBUG_ZPAGES"` } diff --git a/audit/pkg/config/service.go b/audit/pkg/config/service.go index c019b7304..d1eac383f 100644 --- a/audit/pkg/config/service.go +++ b/audit/pkg/config/service.go @@ -2,5 +2,5 @@ package config // Service defines the available service configuration. type Service struct { - Name string `ocisConfig:"-" yaml:"-"` + Name string `yaml:"-"` } diff --git a/changelog/unreleased/add-owncloudsql-config-to-authbasic.md b/changelog/unreleased/add-owncloudsql-config-to-authbasic.md new file mode 100644 index 000000000..5e0895d56 --- /dev/null +++ b/changelog/unreleased/add-owncloudsql-config-to-authbasic.md @@ -0,0 +1,3 @@ +Bugfix: Add `owncloudsql` driver to authprovider config + +https://github.com/owncloud/ocis/pull/3435 \ No newline at end of file diff --git a/changelog/unreleased/change-config-file-keys-underscores.md b/changelog/unreleased/change-config-file-keys-underscores.md new file mode 100644 index 000000000..fda49ac20 --- /dev/null +++ b/changelog/unreleased/change-config-file-keys-underscores.md @@ -0,0 +1,8 @@ +Change: Fix keys with underscores in the config files + +We've fixed some config keys in configuration files that previously didn't contain +underscores but should. + +Please check the documentation on https://owncloud.dev for latest configuration documentation. + +https://github.com/owncloud/ocis/pull/3412 diff --git a/changelog/unreleased/fix-docs.md b/changelog/unreleased/fix-docs.md new file mode 100644 index 000000000..350ab2b2e --- /dev/null +++ b/changelog/unreleased/fix-docs.md @@ -0,0 +1,5 @@ +Bugfix: corrected documentation + +- ocis-pkg log File Option + +https://github.com/owncloud/ocis/pull/3439 \ No newline at end of file diff --git a/changelog/unreleased/make-config-dir-configurable.md b/changelog/unreleased/make-config-dir-configurable.md new file mode 100644 index 000000000..a310b7f09 --- /dev/null +++ b/changelog/unreleased/make-config-dir-configurable.md @@ -0,0 +1,5 @@ +Enhancement: make config dir configurable + +We have added an `OCIS_CONFIG_DIR` environment variable the will take precedence over the default `/etc/ocis`, `~/.ocis` and `.config` locations. When it is set the default locations will be ignored and only the configuration files in that directory will be read. + +https://github.com/owncloud/ocis/pull/3440 diff --git a/changelog/unreleased/update-reva.md b/changelog/unreleased/update-reva.md new file mode 100644 index 000000000..8cb9fefcc --- /dev/null +++ b/changelog/unreleased/update-reva.md @@ -0,0 +1,7 @@ +Enhancement: update reva to v2.x.x + +Updated reva to version 2.x.x. This update includes: + + * TODO + +https://github.com/owncloud/ocis/pull/3430 diff --git a/changelog/unreleased/update-web-5.4.0.md b/changelog/unreleased/update-web-5.4.0.md new file mode 100644 index 000000000..9bcc92cea --- /dev/null +++ b/changelog/unreleased/update-web-5.4.0.md @@ -0,0 +1,9 @@ +Enhancement: Update ownCloud Web to v5.4.0-rv.3 + +Tags: web + +We updated ownCloud Web to v5.4.0-rv.3. Please refer to the changelog (linked) for details on the web release. + +https://github.com/owncloud/web/pull/6709 +https://github.com/owncloud/ocis/pull/3437 +https://github.com/owncloud/web/releases/tag/v5.4.0-rc.3 diff --git a/docs/ocis/static/ocis-config-redesign.drawio.svg b/docs/ocis/static/ocis-config-redesign.drawio.svg index ff2ee40fa..e7615dd02 100644 --- a/docs/ocis/static/ocis-config-redesign.drawio.svg +++ b/docs/ocis/static/ocis-config-redesign.drawio.svg @@ -1,4 +1,4 @@ -> ocis server> ocis server # global logging configlog: pretty: true color: true level: infoproxy: http:   addr: localhost:9200 log:   pretty: false   color: false   level: infoaccounts: log:   level: debug  color: false  pretty: false# global logging config...ocis.yamlocis.yaml  http:   addr: localhost:1234 log:   pretty: false   color: false   level: infohttp:...proxy.yamlproxy.yaml  http:   addr: localhost:5678http:...accounts.yamlaccounts.yamlresulting proxy config valuesresulting proxy config valuesresulting accounts config valuesresulting accounts config values  http:   addr: localhost:1234 log:   pretty: false   color: false   level: infohttp:...notice how even if ocis supplieswith logging configuration, the valuesfrom the extension overwrite the inheritedvalues. This can also be achieved using anenvironment variable.notice how even if ocis supplies...  http:   addr: localhost:5678 log:   pretty: true   color: true   level: infohttp:...on the other hand here we see the extensioninherited the logging information from the parent.The same holds true from any value. Values fromocis.yaml are carried down to their respectiveextensions.on the other hand here we see the extension...Viewer does not support full SVG 1.1 \ No newline at end of file +> ocis server> ocis server # global logging configlog: pretty: true color: true level: infoproxy: http:   addr: localhost:9200 log:   pretty: false   color: false   level: infoaccounts: log:   level: debug  color: false  pretty: false# global logging config...ocis.yamlocis.yaml  http:   addr: localhost:1234 log:   pretty: false   color: false   level: infohttp:...proxy.yamlproxy.yaml  http:   addr: localhost:5678http:...accounts.yamlaccounts.yamlresulting proxy config valuesresulting proxy config valuesresulting accounts config valuesresulting accounts config values  http:   addr: localhost:1234 log:   pretty: false   color: false   level: infohttp:...notice how even if ocis supplieswith logging configuration, the valuesfrom the extension overwrite the inheritedvalues. This can also be achieved using anenvironment variable.notice how even if ocis supplies...  http:   addr: localhost:5678 log:   pretty: false   color: false   level: debughttp:...on the other hand here we see the extensioninherited the logging information from the parent.The same holds true from any value. Values fromocis.yaml are carried down to their respectiveextensions.on the other hand here we see the extension...Viewer does not support full SVG 1.1 diff --git a/glauth/pkg/config/config.go b/glauth/pkg/config/config.go index 2628e18ae..aa8479989 100644 --- a/glauth/pkg/config/config.go +++ b/glauth/pkg/config/config.go @@ -8,45 +8,45 @@ import ( // Config combines all available configuration parts. type Config struct { - *shared.Commons `ocisConfig:"-" yaml:"-"` + *shared.Commons `yaml:"-"` - Service Service `ocisConfig:"-" yaml:"-"` + Service Service `yaml:"-"` - Tracing *Tracing `ocisConfig:"tracing"` - Log *Log `ocisConfig:"log"` - Debug Debug `ocisConfig:"debug"` + Tracing *Tracing `yaml:"tracing"` + Log *Log `yaml:"log"` + Debug Debug `yaml:"debug"` - Ldap Ldap `ocisConfig:"ldap"` - Ldaps Ldaps `ocisConfig:"ldaps"` + Ldap Ldap `yaml:"ldap"` + Ldaps Ldaps `yaml:"ldaps"` - Backend Backend `ocisConfig:"backend"` - Fallback FallbackBackend `ocisConfig:"fallback"` + Backend Backend `yaml:"backend"` + Fallback FallbackBackend `yaml:"fallback"` - RoleBundleUUID string `ocisConfig:"role_bundle_uuid" env:"GLAUTH_ROLE_BUNDLE_ID"` + RoleBundleUUID string `yaml:"role_bundle_uuid" env:"GLAUTH_ROLE_BUNDLE_ID"` - Context context.Context `ocisConfig:"-" yaml:"-"` + Context context.Context `yaml:"-"` } // Backend defined the available backend configuration. type Backend struct { - Datastore string `ocisConfig:"datastore"` - BaseDN string `ocisConfig:"base_dn"` - Insecure bool `ocisConfig:"insecure"` - NameFormat string `ocisConfig:"name_format"` - GroupFormat string `ocisConfig:"group_format"` - Servers []string `ocisConfig:"servers"` - SSHKeyAttr string `ocisConfig:"ssh_key_attr"` - UseGraphAPI bool `ocisConfig:"use_graph_api"` + Datastore string `yaml:"datastore"` + BaseDN string `yaml:"base_dn"` + Insecure bool `yaml:"insecure"` + NameFormat string `yaml:"name_format"` + GroupFormat string `yaml:"group_format"` + Servers []string `yaml:"servers"` + SSHKeyAttr string `yaml:"ssh_key_attr"` + UseGraphAPI bool `yaml:"use_graph_api"` } // FallbackBackend defined the available fallback backend configuration. type FallbackBackend struct { - Datastore string `ocisConfig:"datastore"` - BaseDN string `ocisConfig:"base_dn"` - Insecure bool `ocisConfig:"insecure"` - NameFormat string `ocisConfig:"name_format"` - GroupFormat string `ocisConfig:"group_format"` - Servers []string `ocisConfig:"servers"` - SSHKeyAttr string `ocisConfig:"ssh_key_attr"` - UseGraphAPI bool `ocisConfig:"use_graph_api"` + Datastore string `yaml:"datastore"` + BaseDN string `yaml:"base_dn"` + Insecure bool `yaml:"insecure"` + NameFormat string `yaml:"name_format"` + GroupFormat string `yaml:"group_format"` + Servers []string `yaml:"servers"` + SSHKeyAttr string `yaml:"ssh_key_attr"` + UseGraphAPI bool `yaml:"use_graph_api"` } diff --git a/glauth/pkg/config/debug.go b/glauth/pkg/config/debug.go index 1d612c88d..aebfd92b4 100644 --- a/glauth/pkg/config/debug.go +++ b/glauth/pkg/config/debug.go @@ -2,8 +2,8 @@ package config // Debug defines the available debug configuration. type Debug struct { - Addr string `ocisConfig:"addr" env:"GLAUTH_DEBUG_ADDR"` - Token string `ocisConfig:"token" env:"GLAUTH_DEBUG_TOKEN"` - Pprof bool `ocisConfig:"pprof" env:"GLAUTH_DEBUG_PPROF"` - Zpages bool `ocisConfig:"zpages" env:"GLAUTH_DEBUG_ZPAGES"` + Addr string `yaml:"addr" env:"GLAUTH_DEBUG_ADDR"` + Token string `yaml:"token" env:"GLAUTH_DEBUG_TOKEN"` + Pprof bool `yaml:"pprof" env:"GLAUTH_DEBUG_PPROF"` + Zpages bool `yaml:"zpages" env:"GLAUTH_DEBUG_ZPAGES"` } diff --git a/glauth/pkg/config/ldap.go b/glauth/pkg/config/ldap.go index 0c4602cf7..2e9dbacc6 100644 --- a/glauth/pkg/config/ldap.go +++ b/glauth/pkg/config/ldap.go @@ -2,7 +2,7 @@ package config // Ldap defines the available LDAP configuration. type Ldap struct { - Enabled bool `ocisConfig:"enabled" env:"GLAUTH_LDAP_ENABLED"` - Addr string `ocisConfig:"addr" env:"GLAUTH_LDAP_ADDR"` - Namespace string `ocisConfig:"-" yaml:"-"` + Enabled bool `yaml:"enabled" env:"GLAUTH_LDAP_ENABLED"` + Addr string `yaml:"addr" env:"GLAUTH_LDAP_ADDR"` + Namespace string `yaml:"-"` } diff --git a/glauth/pkg/config/ldaps.go b/glauth/pkg/config/ldaps.go index 927b493d1..19bc03acb 100644 --- a/glauth/pkg/config/ldaps.go +++ b/glauth/pkg/config/ldaps.go @@ -2,9 +2,9 @@ package config // Ldaps defined the available LDAPS configuration. type Ldaps struct { - Enabled bool `ocisConfig:"enabled" env:"GLAUTH_LDAPS_ENABLED"` - Addr string `ocisConfig:"addr" env:"GLAUTH_LDAPS_ADDR"` - Namespace string `ocisConfig:"-" yaml:"-"` - Cert string `ocisConfig:"cert" env:"GLAUTH_LDAPS_CERT"` - Key string `ocisConfig:"key" env:"GLAUTH_LDAPS_KEY"` + Enabled bool `yaml:"enabled" env:"GLAUTH_LDAPS_ENABLED"` + Addr string `yaml:"addr" env:"GLAUTH_LDAPS_ADDR"` + Namespace string `yaml:"-"` + Cert string `yaml:"cert" env:"GLAUTH_LDAPS_CERT"` + Key string `yaml:"key" env:"GLAUTH_LDAPS_KEY"` } diff --git a/glauth/pkg/config/service.go b/glauth/pkg/config/service.go index c019b7304..d1eac383f 100644 --- a/glauth/pkg/config/service.go +++ b/glauth/pkg/config/service.go @@ -2,5 +2,5 @@ package config // Service defines the available service configuration. type Service struct { - Name string `ocisConfig:"-" yaml:"-"` + Name string `yaml:"-"` } diff --git a/glauth/pkg/config/tracing.go b/glauth/pkg/config/tracing.go index 52733d097..593e3b0ce 100644 --- a/glauth/pkg/config/tracing.go +++ b/glauth/pkg/config/tracing.go @@ -2,8 +2,8 @@ package config // Tracing defines the available tracing configuration. type Tracing struct { - Enabled bool `ocisConfig:"enabled" env:"OCIS_TRACING_ENABLED;GLAUTH_TRACING_ENABLED"` - Type string `ocisConfig:"type" env:"OCIS_TRACING_TYPE;GLAUTH_TRACING_TYPE"` - Endpoint string `ocisConfig:"endpoint" env:"OCIS_TRACING_ENDPOINT;GLAUTH_TRACING_ENDPOINT"` - Collector string `ocisConfig:"collector" env:"OCIS_TRACING_COLLECTOR;GLAUTH_TRACING_COLLECTOR"` + Enabled bool `yaml:"enabled" env:"OCIS_TRACING_ENABLED;GLAUTH_TRACING_ENABLED"` + Type string `yaml:"type" env:"OCIS_TRACING_TYPE;GLAUTH_TRACING_TYPE"` + Endpoint string `yaml:"endpoint" env:"OCIS_TRACING_ENDPOINT;GLAUTH_TRACING_ENDPOINT"` + Collector string `yaml:"collector" env:"OCIS_TRACING_COLLECTOR;GLAUTH_TRACING_COLLECTOR"` } diff --git a/go.mod b/go.mod index 3a892cb95..8f573cbe3 100644 --- a/go.mod +++ b/go.mod @@ -21,8 +21,8 @@ require ( github.com/asim/go-micro/plugins/wrapper/trace/opencensus/v4 v4.0.0-20220118152736-9e0be6c85d75 github.com/blevesearch/bleve/v2 v2.3.2 github.com/coreos/go-oidc/v3 v3.1.0 - github.com/cs3org/go-cs3apis v0.0.0-20220126114148-64c025ccdd19 - github.com/cs3org/reva/v2 v2.1.0 + github.com/cs3org/go-cs3apis v0.0.0-20220328105952-297bef33e13f + github.com/cs3org/reva/v2 v2.0.0-20220401165356-8ffc980ab7e2 github.com/disintegration/imaging v1.6.2 github.com/glauth/glauth/v2 v2.0.0-20211021011345-ef3151c28733 github.com/go-chi/chi/v5 v5.0.7 diff --git a/go.sum b/go.sum index 4ed032e6a..b67ce7dd8 100644 --- a/go.sum +++ b/go.sum @@ -335,10 +335,10 @@ github.com/crewjam/httperr v0.2.0/go.mod h1:Jlz+Sg/XqBQhyMjdDiC+GNNRzZTD7x39Gu3p github.com/crewjam/saml v0.4.6 h1:XCUFPkQSJLvzyl4cW9OvpWUbRf0gE7VUpU8ZnilbeM4= github.com/crewjam/saml v0.4.6/go.mod h1:ZBOXnNPFzB3CgOkRm7Nd6IVdkG+l/wF+0ZXLqD96t1A= github.com/cs3org/cato v0.0.0-20200828125504-e418fc54dd5e/go.mod h1:XJEZ3/EQuI3BXTp/6DUzFr850vlxq11I6satRtz0YQ4= -github.com/cs3org/go-cs3apis v0.0.0-20220126114148-64c025ccdd19 h1:1jqPH58jCxvbaJ9WLIJ7W2/m622bWS6ChptzljSG6IQ= -github.com/cs3org/go-cs3apis v0.0.0-20220126114148-64c025ccdd19/go.mod h1:UXha4TguuB52H14EMoSsCqDj7k8a/t7g4gVP+bgY5LY= -github.com/cs3org/reva/v2 v2.1.0 h1:l+neBj+KhwNziaI3t1NHF3eKzKxzGpSi6kVOpsZts9s= -github.com/cs3org/reva/v2 v2.1.0/go.mod h1:kFqm3iwrRHyEnP606H+wSWmJzjk0nj2kPShsowriqxg= +github.com/cs3org/go-cs3apis v0.0.0-20220328105952-297bef33e13f h1:emnlOWc1s2gx77MViLnZH9yh5TRHKsykRu6rJjx3lkM= +github.com/cs3org/go-cs3apis v0.0.0-20220328105952-297bef33e13f/go.mod h1:UXha4TguuB52H14EMoSsCqDj7k8a/t7g4gVP+bgY5LY= +github.com/cs3org/reva/v2 v2.0.0-20220401165356-8ffc980ab7e2 h1:vcVekB7huLKHpbPFareH3psYV6toBIjhr0R8KMGCmMI= +github.com/cs3org/reva/v2 v2.0.0-20220401165356-8ffc980ab7e2/go.mod h1:1siLO6MV57uSyzQxPbfM6qNA9NP6aagN3/yKOE/FwtM= github.com/cubewise-code/go-mime v0.0.0-20200519001935-8c5762b177d8 h1:Z9lwXumT5ACSmJ7WGnFl+OMLLjpz5uR2fyz7dC255FI= github.com/cubewise-code/go-mime v0.0.0-20200519001935-8c5762b177d8/go.mod h1:4abs/jPXcmJzYoYGF91JF9Uq9s/KL5n1jvFDix8KcqY= github.com/cyberdelia/templates v0.0.0-20141128023046-ca7fffd4298c/go.mod h1:GyV+0YP4qX0UQ7r2MoYZ+AvYDp12OF5yg4q8rGnyNh4= diff --git a/graph-explorer/Makefile b/graph-explorer/Makefile index 06a1f012a..c7b755bd8 100644 --- a/graph-explorer/Makefile +++ b/graph-explorer/Makefile @@ -32,4 +32,4 @@ ci-node-generate: pull-assets .PHONY: pull-assets pull-assets: @git clean -xfd assets - @curl -slL -o- https://github.com/owncloud/graph-explorer/releases/download/v1.7.10.3/release.tar.gz | tar xvzf - -C assets/ + @curl --fail -slL -o- https://github.com/owncloud/graph-explorer/releases/download/v1.7.10.3/release.tar.gz | tar xvzf - -C assets/ diff --git a/graph-explorer/pkg/config/config.go b/graph-explorer/pkg/config/config.go index 82f90fc24..2bd5bd5a6 100644 --- a/graph-explorer/pkg/config/config.go +++ b/graph-explorer/pkg/config/config.go @@ -8,25 +8,25 @@ import ( // Config combines all available configuration parts. type Config struct { - *shared.Commons `ocisConfig:"-" yaml:"-"` + *shared.Commons `yaml:"-"` - Service Service `ocisConfig:"-" yaml:"-"` + Service Service `yaml:"-"` - Tracing *Tracing `ocisConfig:"tracing"` - Log *Log `ocisConfig:"log"` - Debug Debug `ocisConfig:"debug"` + Tracing *Tracing `yaml:"tracing"` + Log *Log `yaml:"log"` + Debug Debug `yaml:"debug"` - HTTP HTTP `ocisConfig:"http"` + HTTP HTTP `yaml:"http"` - GraphExplorer GraphExplorer `ocisConfig:"graph_explorer"` + GraphExplorer GraphExplorer `yaml:"graph_explorer"` - Context context.Context `ocisConfig:"-" yaml:"-"` + Context context.Context `yaml:"-"` } // GraphExplorer defines the available graph-explorer configuration. type GraphExplorer struct { - ClientID string `ocisConfig:"client_id" env:"GRAPH_EXPLORER_CLIENT_ID"` - Issuer string `ocisConfig:"issuer" env:"OCIS_URL;GRAPH_EXPLORER_ISSUER"` - GraphURLBase string `ocisConfig:"graph_url_base" env:"OCIS_URL;GRAPH_EXPLORER_GRAPH_URL_BASE"` - GraphURLPath string `ocisConfig:"graph_url_path" env:"GRAPH_EXPLORER_GRAPH_URL_PATH"` + ClientID string `yaml:"client_id" env:"GRAPH_EXPLORER_CLIENT_ID"` + Issuer string `yaml:"issuer" env:"OCIS_URL;GRAPH_EXPLORER_ISSUER"` + GraphURLBase string `yaml:"graph_url_base" env:"OCIS_URL;GRAPH_EXPLORER_GRAPH_URL_BASE"` + GraphURLPath string `yaml:"graph_url_path" env:"GRAPH_EXPLORER_GRAPH_URL_PATH"` } diff --git a/graph-explorer/pkg/config/debug.go b/graph-explorer/pkg/config/debug.go index 3dfc27f7b..8a781e439 100644 --- a/graph-explorer/pkg/config/debug.go +++ b/graph-explorer/pkg/config/debug.go @@ -2,8 +2,8 @@ package config // Debug defines the available debug configuration. type Debug struct { - Addr string `ocisConfig:"addr" env:"GRAPH_EXPLORER_DEBUG_ADDR"` - Token string `ocisConfig:"token" env:"GRAPH_EXPLORER_DEBUG_TOKEN"` - Pprof bool `ocisConfig:"pprof" env:"GRAPH_EXPLORER_DEBUG_PPROF"` - Zpages bool `ocisConfig:"zpages" env:"GRAPH_EXPLORER_DEBUG_ZPAGES"` + Addr string `yaml:"addr" env:"GRAPH_EXPLORER_DEBUG_ADDR"` + Token string `yaml:"token" env:"GRAPH_EXPLORER_DEBUG_TOKEN"` + Pprof bool `yaml:"pprof" env:"GRAPH_EXPLORER_DEBUG_PPROF"` + Zpages bool `yaml:"zpages" env:"GRAPH_EXPLORER_DEBUG_ZPAGES"` } diff --git a/graph-explorer/pkg/config/http.go b/graph-explorer/pkg/config/http.go index 040f808db..5e9356095 100644 --- a/graph-explorer/pkg/config/http.go +++ b/graph-explorer/pkg/config/http.go @@ -2,15 +2,15 @@ package config // HTTP defines the available http configuration. type HTTP struct { - Addr string `ocisConfig:"addr" env:"GRAPH_EXPLORER_HTTP_ADDR"` - Root string `ocisConfig:"root" env:"GRAPH_EXPLORER_HTTP_ROOT"` - Namespace string `ocisConfig:"-" yaml:"-"` + Addr string `yaml:"addr" env:"GRAPH_EXPLORER_HTTP_ADDR"` + Root string `yaml:"root" env:"GRAPH_EXPLORER_HTTP_ROOT"` + Namespace string `yaml:"-"` } // CORS defines the available cors configuration. type CORS struct { - AllowedOrigins []string `ocisConfig:"allowed_origins"` - AllowedMethods []string `ocisConfig:"allowed_methods"` - AllowedHeaders []string `ocisConfig:"allowed_headers"` - AllowCredentials bool `ocisConfig:"allowed_credentials"` + AllowedOrigins []string `yaml:"allowed_origins"` + AllowedMethods []string `yaml:"allowed_methods"` + AllowedHeaders []string `yaml:"allowed_headers"` + AllowCredentials bool `yaml:"allowed_credentials"` } diff --git a/graph-explorer/pkg/config/service.go b/graph-explorer/pkg/config/service.go index c019b7304..d1eac383f 100644 --- a/graph-explorer/pkg/config/service.go +++ b/graph-explorer/pkg/config/service.go @@ -2,5 +2,5 @@ package config // Service defines the available service configuration. type Service struct { - Name string `ocisConfig:"-" yaml:"-"` + Name string `yaml:"-"` } diff --git a/graph-explorer/pkg/config/tracing.go b/graph-explorer/pkg/config/tracing.go index db55ec8c5..d4d4edbf1 100644 --- a/graph-explorer/pkg/config/tracing.go +++ b/graph-explorer/pkg/config/tracing.go @@ -2,8 +2,8 @@ package config // Tracing defines the available tracing configuration. type Tracing struct { - Enabled bool `ocisConfig:"enabled" env:"OCIS_TRACING_ENABLED;GRAPH_EXPLORER_TRACING_ENABLED"` - Type string `ocisConfig:"type" env:"OCIS_TRACING_TYPE;GRAPH_EXPLORER_TRACING_TYPE"` - Endpoint string `ocisConfig:"endpoint" env:"OCIS_TRACING_ENDPOINT;GRAPH_EXPLORER_TRACING_ENDPOINT"` - Collector string `ocisConfig:"collector" env:"OCIS_TRACING_COLLECTOR;GRAPH_EXPLORER_TRACING_COLLECTOR"` + Enabled bool `yaml:"enabled" env:"OCIS_TRACING_ENABLED;GRAPH_EXPLORER_TRACING_ENABLED"` + Type string `yaml:"type" env:"OCIS_TRACING_TYPE;GRAPH_EXPLORER_TRACING_TYPE"` + Endpoint string `yaml:"endpoint" env:"OCIS_TRACING_ENDPOINT;GRAPH_EXPLORER_TRACING_ENDPOINT"` + Collector string `yaml:"collector" env:"OCIS_TRACING_COLLECTOR;GRAPH_EXPLORER_TRACING_COLLECTOR"` } diff --git a/graph/pkg/config/config.go b/graph/pkg/config/config.go index 6a46eb0cb..3501a30a0 100644 --- a/graph/pkg/config/config.go +++ b/graph/pkg/config/config.go @@ -8,57 +8,57 @@ import ( // Config combines all available configuration parts. type Config struct { - *shared.Commons `ocisConfig:"-" yaml:"-"` + *shared.Commons `yaml:"-"` - Service Service `ocisConfig:"-" yaml:"-"` + Service Service `yaml:"-"` - Tracing *Tracing `ocisConfig:"tracing"` - Log *Log `ocisConfig:"log"` - Debug Debug `ocisConfig:"debug"` + Tracing *Tracing `yaml:"tracing"` + Log *Log `yaml:"log"` + Debug Debug `yaml:"debug"` - HTTP HTTP `ocisConfig:"http"` + HTTP HTTP `yaml:"http"` - Reva Reva `ocisConfig:"reva"` - TokenManager TokenManager `ocisConfig:"token_manager"` + Reva Reva `yaml:"reva"` + TokenManager TokenManager `yaml:"token_manager"` - Spaces Spaces `ocisConfig:"spaces"` - Identity Identity `ocisConfig:"identity"` + Spaces Spaces `yaml:"spaces"` + Identity Identity `yaml:"identity"` - Context context.Context `ocisConfig:"-" yaml:"-"` + Context context.Context `yaml:"-"` } type Spaces struct { - WebDavBase string `ocisConfig:"webdav_base" env:"OCIS_URL;GRAPH_SPACES_WEBDAV_BASE"` - WebDavPath string `ocisConfig:"webdav_path" env:"GRAPH_SPACES_WEBDAV_PATH"` - DefaultQuota string `ocisConfig:"default_quota" env:"GRAPH_SPACES_DEFAULT_QUOTA"` - Insecure bool `ocisConfig:"insecure" env:"OCIS_INSECURE;GRAPH_SPACES_INSECURE"` - ExtendedSpacePropertiesCacheTTL int `ocisConfig:"extended_space_properties_cache_ttl" env:"GRAPH_SPACES_EXTENDED_SPACE_PROPERTIES_CACHE_TTL"` + WebDavBase string `yaml:"webdav_base" env:"OCIS_URL;GRAPH_SPACES_WEBDAV_BASE"` + WebDavPath string `yaml:"webdav_path" env:"GRAPH_SPACES_WEBDAV_PATH"` + DefaultQuota string `yaml:"default_quota" env:"GRAPH_SPACES_DEFAULT_QUOTA"` + Insecure bool `yaml:"insecure" env:"OCIS_INSECURE;GRAPH_SPACES_INSECURE"` + ExtendedSpacePropertiesCacheTTL int `yaml:"extended_space_properties_cache_ttl" env:"GRAPH_SPACES_EXTENDED_SPACE_PROPERTIES_CACHE_TTL"` } type LDAP struct { - URI string `ocisConfig:"uri" env:"GRAPH_LDAP_URI"` - Insecure bool `ocisConfig:"insecure" env:"OCIS_INSECURE;GRAPH_LDAP_INSECURE"` - BindDN string `ocisConfig:"bind_dn" env:"GRAPH_LDAP_BIND_DN"` - BindPassword string `ocisConfig:"bind_password" env:"GRAPH_LDAP_BIND_PASSWORD"` - UseServerUUID bool `ocisConfig:"use_server_uuid" env:"GRAPH_LDAP_SERVER_UUID"` - WriteEnabled bool `ocisConfig:"write_enabled" env:"GRAPH_LDAP_SERVER_WRITE_ENABLED"` + URI string `yaml:"uri" env:"GRAPH_LDAP_URI"` + Insecure bool `yaml:"insecure" env:"OCIS_INSECURE;GRAPH_LDAP_INSECURE"` + BindDN string `yaml:"bind_dn" env:"GRAPH_LDAP_BIND_DN"` + BindPassword string `yaml:"bind_password" env:"GRAPH_LDAP_BIND_PASSWORD"` + UseServerUUID bool `yaml:"use_server_uuid" env:"GRAPH_LDAP_SERVER_UUID"` + WriteEnabled bool `yaml:"write_enabled" env:"GRAPH_LDAP_SERVER_WRITE_ENABLED"` - UserBaseDN string `ocisConfig:"user_base_dn" env:"GRAPH_LDAP_USER_BASE_DN"` - UserSearchScope string `ocisConfig:"user_search_scope" env:"GRAPH_LDAP_USER_SCOPE"` - UserFilter string `ocisConfig:"user_filter" env:"GRAPH_LDAP_USER_FILTER"` - UserEmailAttribute string `ocisConfig:"user_mail_attribute" env:"GRAPH_LDAP_USER_EMAIL_ATTRIBUTE"` - UserDisplayNameAttribute string `ocisConfig:"user_displayname_attribute" env:"GRAPH_LDAP_USER_DISPLAYNAME_ATTRIBUTE"` - UserNameAttribute string `ocisConfig:"user_name_attribute" env:"GRAPH_LDAP_USER_NAME_ATTRIBUTE"` - UserIDAttribute string `ocisConfig:"user_id_attribute" env:"GRAPH_LDAP_USER_UID_ATTRIBUTE"` + UserBaseDN string `yaml:"user_base_dn" env:"GRAPH_LDAP_USER_BASE_DN"` + UserSearchScope string `yaml:"user_search_scope" env:"GRAPH_LDAP_USER_SCOPE"` + UserFilter string `yaml:"user_filter" env:"GRAPH_LDAP_USER_FILTER"` + UserEmailAttribute string `yaml:"user_mail_attribute" env:"GRAPH_LDAP_USER_EMAIL_ATTRIBUTE"` + UserDisplayNameAttribute string `yaml:"user_displayname_attribute" env:"GRAPH_LDAP_USER_DISPLAYNAME_ATTRIBUTE"` + UserNameAttribute string `yaml:"user_name_attribute" env:"GRAPH_LDAP_USER_NAME_ATTRIBUTE"` + UserIDAttribute string `yaml:"user_id_attribute" env:"GRAPH_LDAP_USER_UID_ATTRIBUTE"` - GroupBaseDN string `ocisConfig:"group_base_dn" env:"GRAPH_LDAP_GROUP_BASE_DN"` - GroupSearchScope string `ocisConfig:"group_search_scope" env:"GRAPH_LDAP_GROUP_SEARCH_SCOPE"` - GroupFilter string `ocisConfig:"group_filter" env:"GRAPH_LDAP_GROUP_FILTER"` - GroupNameAttribute string `ocisConfig:"group_name_attribute" env:"GRAPH_LDAP_GROUP_NAME_ATTRIBUTE"` - GroupIDAttribute string `ocisConfig:"group_id_attribute" env:"GRAPH_LDAP_GROUP_ID_ATTRIBUTE"` + GroupBaseDN string `yaml:"group_base_dn" env:"GRAPH_LDAP_GROUP_BASE_DN"` + GroupSearchScope string `yaml:"group_search_scope" env:"GRAPH_LDAP_GROUP_SEARCH_SCOPE"` + GroupFilter string `yaml:"group_filter" env:"GRAPH_LDAP_GROUP_FILTER"` + GroupNameAttribute string `yaml:"group_name_attribute" env:"GRAPH_LDAP_GROUP_NAME_ATTRIBUTE"` + GroupIDAttribute string `yaml:"group_id_attribute" env:"GRAPH_LDAP_GROUP_ID_ATTRIBUTE"` } type Identity struct { - Backend string `ocisConfig:"backend" env:"GRAPH_IDENTITY_BACKEND"` - LDAP LDAP `ocisConfig:"ldap"` + Backend string `yaml:"backend" env:"GRAPH_IDENTITY_BACKEND"` + LDAP LDAP `yaml:"ldap"` } diff --git a/graph/pkg/config/debug.go b/graph/pkg/config/debug.go index c1284be91..ceff19159 100644 --- a/graph/pkg/config/debug.go +++ b/graph/pkg/config/debug.go @@ -2,8 +2,8 @@ package config // Debug defines the available debug configuration. type Debug struct { - Addr string `ocisConfig:"addr" env:"GRAPH_DEBUG_ADDR"` - Token string `ocisConfig:"token" env:"GRAPH_DEBUG_TOKEN"` - Pprof bool `ocisConfig:"pprof" env:"GRAPH_DEBUG_PPROF"` - Zpages bool `ocisConfig:"zpages" env:"GRAPH_DEBUG_ZPAGES"` + Addr string `yaml:"addr" env:"GRAPH_DEBUG_ADDR"` + Token string `yaml:"token" env:"GRAPH_DEBUG_TOKEN"` + Pprof bool `yaml:"pprof" env:"GRAPH_DEBUG_PPROF"` + Zpages bool `yaml:"zpages" env:"GRAPH_DEBUG_ZPAGES"` } diff --git a/graph/pkg/config/http.go b/graph/pkg/config/http.go index 3ce0de1b7..e8da11aa2 100644 --- a/graph/pkg/config/http.go +++ b/graph/pkg/config/http.go @@ -2,7 +2,7 @@ package config // HTTP defines the available http configuration. type HTTP struct { - Addr string `ocisConfig:"addr" env:"GRAPH_HTTP_ADDR"` - Namespace string `ocisConfig:"-" yaml:"-"` - Root string `ocisConfig:"root" env:"GRAPH_HTTP_ROOT"` + Addr string `yaml:"addr" env:"GRAPH_HTTP_ADDR"` + Namespace string `yaml:"-"` + Root string `yaml:"root" env:"GRAPH_HTTP_ROOT"` } diff --git a/graph/pkg/config/reva.go b/graph/pkg/config/reva.go index aeb307f18..dbfc359a8 100644 --- a/graph/pkg/config/reva.go +++ b/graph/pkg/config/reva.go @@ -2,10 +2,10 @@ package config // Reva defines all available REVA configuration. type Reva struct { - Address string `ocisConfig:"address" env:"REVA_GATEWAY"` + Address string `yaml:"address" env:"REVA_GATEWAY"` } // TokenManager is the config for using the reva token manager type TokenManager struct { - JWTSecret string `ocisConfig:"jwt_secret" env:"OCIS_JWT_SECRET;GRAPH_JWT_SECRET"` + JWTSecret string `yaml:"jwt_secret" env:"OCIS_JWT_SECRET;GRAPH_JWT_SECRET"` } diff --git a/graph/pkg/config/service.go b/graph/pkg/config/service.go index c019b7304..d1eac383f 100644 --- a/graph/pkg/config/service.go +++ b/graph/pkg/config/service.go @@ -2,5 +2,5 @@ package config // Service defines the available service configuration. type Service struct { - Name string `ocisConfig:"-" yaml:"-"` + Name string `yaml:"-"` } diff --git a/graph/pkg/config/tracing.go b/graph/pkg/config/tracing.go index 077a4819a..f61fbd37a 100644 --- a/graph/pkg/config/tracing.go +++ b/graph/pkg/config/tracing.go @@ -2,8 +2,8 @@ package config // Tracing defines the available tracing configuration. type Tracing struct { - Enabled bool `ocisConfig:"enabled" env:"OCIS_TRACING_ENABLED;GRAPH_TRACING_ENABLED"` - Type string `ocisConfig:"type" env:"OCIS_TRACING_TYPE;GRAPH_TRACING_TYPE"` - Endpoint string `ocisConfig:"endpoint" env:"OCIS_TRACING_ENDPOINT;GRAPH_TRACING_ENDPOINT"` - Collector string `ocisConfig:"collector" env:"OCIS_TRACING_COLLECTOR;GRAPH_TRACING_COLLECTOR"` + Enabled bool `yaml:"enabled" env:"OCIS_TRACING_ENABLED;GRAPH_TRACING_ENABLED"` + Type string `yaml:"type" env:"OCIS_TRACING_TYPE;GRAPH_TRACING_TYPE"` + Endpoint string `yaml:"endpoint" env:"OCIS_TRACING_ENDPOINT;GRAPH_TRACING_ENDPOINT"` + Collector string `yaml:"collector" env:"OCIS_TRACING_COLLECTOR;GRAPH_TRACING_COLLECTOR"` } diff --git a/idm/pkg/config/config.go b/idm/pkg/config/config.go index 4917a5542..f8994955a 100644 --- a/idm/pkg/config/config.go +++ b/idm/pkg/config/config.go @@ -8,31 +8,31 @@ import ( // Config combines all available configuration parts. type Config struct { - *shared.Commons `ocisConfig:"-" yaml:"-"` + *shared.Commons `yaml:"-"` - Service Service `ocisConfig:"-" yaml:"-"` + Service Service `yaml:"-"` - Tracing *Tracing `ocisConfig:"tracing"` - Log *Log `ocisConfig:"log"` - Debug Debug `ocisConfig:"debug"` + Tracing *Tracing `yaml:"tracing"` + Log *Log `yaml:"log"` + Debug Debug `yaml:"debug"` - IDM Settings `ocisConfig:"idm"` - CreateDemoUsers bool `ocisConfig:"create_demo_users" env:"IDM_CREATE_DEMO_USERS;ACCOUNTS_DEMO_USERS_AND_GROUPS" desc:"Flag to enabe/disable the creation of the demo users"` + IDM Settings `yaml:"idm"` + CreateDemoUsers bool `yaml:"create_demo_users" env:"IDM_CREATE_DEMO_USERS;ACCOUNTS_DEMO_USERS_AND_GROUPS" desc:"Flag to enabe/disable the creation of the demo users"` - ServiceUserPasswords ServiceUserPasswords `ocisConfig:"service_user_passwords"` + ServiceUserPasswords ServiceUserPasswords `yaml:"service_user_passwords"` - Context context.Context `ocisConfig:"-" yaml:"-"` + Context context.Context `yaml:"-"` } type Settings struct { - LDAPSAddr string `ocisConfig:"ldaps_addr" env:"IDM_LDAPS_ADDR" desc:"Listen address for the ldaps listener (ip-addr:port)"` - Cert string `ocisConfig:"cert" env:"IDM_LDAPS_CERT" desc:"File name of the TLS server certificate for the ldaps listener"` - Key string `ocisConfig:"cert" env:"IDM_LDAPS_KEY" desc:"File name for the TLS certificate key for the server certificate"` - DatabasePath string `ocisConfig:"database" env:"IDM_DATABASE_PATH" desc:"Full path to the idm backend database"` + LDAPSAddr string `yaml:"ldaps_addr" env:"IDM_LDAPS_ADDR" desc:"Listen address for the ldaps listener (ip-addr:port)"` + Cert string `yaml:"cert" env:"IDM_LDAPS_CERT" desc:"File name of the TLS server certificate for the ldaps listener"` + Key string `yaml:"key" env:"IDM_LDAPS_KEY" desc:"File name for the TLS certificate key for the server certificate"` + DatabasePath string `yaml:"database" env:"IDM_DATABASE_PATH" desc:"Full path to the idm backend database"` } type ServiceUserPasswords struct { - IdmAdmin string `ocisConfig:"admin_password" env:"IDM_ADMIN_PASSWORD" desc:"Password to set for the \"idm\" service users. Either cleartext or an argon2id hash"` - Reva string `ocisConfig:"reva_password" env:"IDM_REVASVC_PASSWORD" desc:"Password to set for the \"reva\" service users. Either cleartext or an argon2id hash"` - Idp string `ocisConfig:"idp_password" env:"IDM_IDPSVC_PASSWORD" desc:"Password to set for the \"idp\" service users. Either cleartext or an argon2id hash"` + IdmAdmin string `yaml:"admin_password" env:"IDM_ADMIN_PASSWORD" desc:"Password to set for the \"idm\" service users. Either cleartext or an argon2id hash"` + Reva string `yaml:"reva_password" env:"IDM_REVASVC_PASSWORD" desc:"Password to set for the \"reva\" service users. Either cleartext or an argon2id hash"` + Idp string `yaml:"idp_password" env:"IDM_IDPSVC_PASSWORD" desc:"Password to set for the \"idp\" service users. Either cleartext or an argon2id hash"` } diff --git a/idm/pkg/config/debug.go b/idm/pkg/config/debug.go index c90432afa..43ffdf376 100644 --- a/idm/pkg/config/debug.go +++ b/idm/pkg/config/debug.go @@ -2,8 +2,8 @@ package config // Debug defines the available debug configuration. type Debug struct { - Addr string `ocisConfig:"addr" env:"IDM_DEBUG_ADDR"` - Token string `ocisConfig:"token" env:"IDM_DEBUG_TOKEN"` - Pprof bool `ocisConfig:"pprof" env:"IDM_DEBUG_PPROF"` - Zpages bool `ocisConfig:"zpages" env:"IDM_DEBUG_ZPAGES"` + Addr string `yaml:"addr" env:"IDM_DEBUG_ADDR"` + Token string `yaml:"token" env:"IDM_DEBUG_TOKEN"` + Pprof bool `yaml:"pprof" env:"IDM_DEBUG_PPROF"` + Zpages bool `yaml:"zpages" env:"IDM_DEBUG_ZPAGES"` } diff --git a/idm/pkg/config/service.go b/idm/pkg/config/service.go index c019b7304..d1eac383f 100644 --- a/idm/pkg/config/service.go +++ b/idm/pkg/config/service.go @@ -2,5 +2,5 @@ package config // Service defines the available service configuration. type Service struct { - Name string `ocisConfig:"-" yaml:"-"` + Name string `yaml:"-"` } diff --git a/idm/pkg/config/tracing.go b/idm/pkg/config/tracing.go index df9b377e1..7fe88cc06 100644 --- a/idm/pkg/config/tracing.go +++ b/idm/pkg/config/tracing.go @@ -2,8 +2,8 @@ package config // Tracing defines the available tracing configuration. type Tracing struct { - Enabled bool `ocisConfig:"enabled" env:"OCIS_TRACING_ENABLED;IDM_TRACING_ENABLED"` - Type string `ocisConfig:"type" env:"OCIS_TRACING_TYPE;IDM_TRACING_TYPE"` - Endpoint string `ocisConfig:"endpoint" env:"OCIS_TRACING_ENDPOINT;IDM_TRACING_ENDPOINT"` - Collector string `ocisConfig:"collector" env:"OCIS_TRACING_COLLECTOR;IDM_TRACING_COLLECTOR"` + Enabled bool `yaml:"enabled" env:"OCIS_TRACING_ENABLED;IDM_TRACING_ENABLED"` + Type string `yaml:"type" env:"OCIS_TRACING_TYPE;IDM_TRACING_TYPE"` + Endpoint string `yaml:"endpoint" env:"OCIS_TRACING_ENDPOINT;IDM_TRACING_ENDPOINT"` + Collector string `yaml:"collector" env:"OCIS_TRACING_COLLECTOR;IDM_TRACING_COLLECTOR"` } diff --git a/idp/Makefile b/idp/Makefile index 1a6dbdc42..2779916ed 100644 --- a/idp/Makefile +++ b/idp/Makefile @@ -42,13 +42,13 @@ LOGO_URL = https://raw.githubusercontent.com/owncloud/assets/main/logo.svg .PHONY: assets/identifier/static/logo.svg # force overwrite assets/identifier/static/logo.svg: - curl -o assets/identifier/static/logo.svg ${LOGO_URL} + curl --fail -o assets/identifier/static/logo.svg ${LOGO_URL} FAVICON_URL = https://raw.githubusercontent.com/owncloud/assets/main/favicon.ico .PHONY: assets/identifier/static/favicon.ico # force overwrite assets/identifier/static/favicon.ico: - curl -o assets/identifier/static/favicon.ico ${FAVICON_URL} + curl --fail -o assets/identifier/static/favicon.ico ${FAVICON_URL} .PHONY: yarn-build yarn-build: node_modules diff --git a/idp/pkg/config/config.go b/idp/pkg/config/config.go index c6e4b5b15..1b924c9d2 100644 --- a/idp/pkg/config/config.go +++ b/idp/pkg/config/config.go @@ -8,94 +8,94 @@ import ( // Config combines all available configuration parts. type Config struct { - *shared.Commons `ocisConfig:"-" yaml:"-"` + *shared.Commons `yaml:"-"` - Service Service `ocisConfig:"-" yaml:"-"` + Service Service `yaml:"-"` - Tracing *Tracing `ocisConfig:"tracing"` - Log *Log `ocisConfig:"log"` - Debug Debug `ocisConfig:"debug"` + Tracing *Tracing `yaml:"tracing"` + Log *Log `yaml:"log"` + Debug Debug `yaml:"debug"` - HTTP HTTP `ocisConfig:"http"` + HTTP HTTP `yaml:"http"` - Asset Asset `ocisConfig:"asset"` - IDP Settings `ocisConfig:"idp"` - Ldap Ldap `ocisConfig:"ldap"` + Asset Asset `yaml:"asset"` + IDP Settings `yaml:"idp"` + Ldap Ldap `yaml:"ldap"` - Context context.Context `ocisConfig:"-" yaml:"-"` + Context context.Context `yaml:"-"` } // Ldap defines the available LDAP configuration. type Ldap struct { - URI string `ocisConfig:"uri" env:"IDP_LDAP_URI"` + URI string `yaml:"uri" env:"IDP_LDAP_URI"` - BindDN string `ocisConfig:"bind_dn" env:"IDP_LDAP_BIND_DN"` - BindPassword string `ocisConfig:"bind_password" env:"IDP_LDAP_BIND_PASSWORD"` + BindDN string `yaml:"bind_dn" env:"IDP_LDAP_BIND_DN"` + BindPassword string `yaml:"bind_password" env:"IDP_LDAP_BIND_PASSWORD"` - BaseDN string `ocisConfig:"base_dn" env:"IDP_LDAP_BASE_DN"` - Scope string `ocisConfig:"scope" env:"IDP_LDAP_SCOPE"` + BaseDN string `yaml:"base_dn" env:"IDP_LDAP_BASE_DN"` + Scope string `yaml:"scope" env:"IDP_LDAP_SCOPE"` - LoginAttribute string `ocisConfig:"login_attribute" env:"IDP_LDAP_LOGIN_ATTRIBUTE"` - EmailAttribute string `ocisConfig:"email_attribute" env:"IDP_LDAP_EMAIL_ATTRIBUTE"` - NameAttribute string `ocisConfig:"name_attribute" env:"IDP_LDAP_NAME_ATTRIBUTE"` - UUIDAttribute string `ocisConfig:"uuid_attribute" env:"IDP_LDAP_UUID_ATTRIBUTE"` - UUIDAttributeType string `ocisConfig:"uuid_attribute_type" env:"IDP_LDAP_UUID_ATTRIBUTE_TYPE"` + LoginAttribute string `yaml:"login_attribute" env:"IDP_LDAP_LOGIN_ATTRIBUTE"` + EmailAttribute string `yaml:"email_attribute" env:"IDP_LDAP_EMAIL_ATTRIBUTE"` + NameAttribute string `yaml:"name_attribute" env:"IDP_LDAP_NAME_ATTRIBUTE"` + UUIDAttribute string `yaml:"uuid_attribute" env:"IDP_LDAP_UUID_ATTRIBUTE"` + UUIDAttributeType string `yaml:"uuid_attribute_type" env:"IDP_LDAP_UUID_ATTRIBUTE_TYPE"` - Filter string `ocisConfig:"filter" env:"IDP_LDAP_FILTER"` + Filter string `yaml:"filter" env:"IDP_LDAP_FILTER"` } // Asset defines the available asset configuration. type Asset struct { - Path string `ocisConfig:"asset" env:"IDP_ASSET_PATH"` + Path string `yaml:"asset" env:"IDP_ASSET_PATH"` } type Settings struct { // don't change the order of elements in this struct // it needs to match github.com/libregraph/lico/bootstrap.Settings - Iss string `ocisConfig:"iss" env:"OCIS_URL;IDP_ISS"` + Iss string `yaml:"iss" env:"OCIS_URL;IDP_ISS"` - IdentityManager string `ocisConfig:"identity_manager" env:"IDP_IDENTITY_MANAGER"` + IdentityManager string `yaml:"identity_manager" env:"IDP_IDENTITY_MANAGER"` - URIBasePath string `ocisConfig:"uri_base_path" env:"IDP_URI_BASE_PATH"` + URIBasePath string `yaml:"uri_base_path" env:"IDP_URI_BASE_PATH"` - SignInURI string `ocisConfig:"sign_in_uri" env:"IDP_SIGN_IN_URI"` - SignedOutURI string `ocisConfig:"signed_out_uri" env:"IDP_SIGN_OUT_URI"` + SignInURI string `yaml:"sign_in_uri" env:"IDP_SIGN_IN_URI"` + SignedOutURI string `yaml:"signed_out_uri" env:"IDP_SIGN_OUT_URI"` - AuthorizationEndpointURI string `ocisConfig:"authorization_endpoint_uri" env:"IDP_ENDPOINT_URI"` - EndsessionEndpointURI string `ocisConfig:"end_session_endpoint_uri" env:"IDP_ENDSESSION_ENDPOINT_URI"` + AuthorizationEndpointURI string `yaml:"authorization_endpoint_uri" env:"IDP_ENDPOINT_URI"` + EndsessionEndpointURI string `yaml:"end_session_endpoint_uri" env:"IDP_ENDSESSION_ENDPOINT_URI"` - Insecure bool `ocisConfig:"insecure" env:"IDP_INSECURE"` + Insecure bool `yaml:"insecure" env:"IDP_INSECURE"` - TrustedProxy []string `ocisConfig:"trusted_proxy"` //TODO: how to configure this via env? + TrustedProxy []string `yaml:"trusted_proxy"` //TODO: how to configure this via env? - AllowScope []string `ocisConfig:"allow_scope"` // TODO: is this even needed? - AllowClientGuests bool `ocisConfig:"allow_client_guests" env:"IDP_ALLOW_CLIENT_GUESTS"` - AllowDynamicClientRegistration bool `ocisConfig:"allow_dynamic_client_registration" env:"IDP_ALLOW_DYNAMIC_CLIENT_REGISTRATION"` + AllowScope []string `yaml:"allow_scope"` // TODO: is this even needed? + AllowClientGuests bool `yaml:"allow_client_guests" env:"IDP_ALLOW_CLIENT_GUESTS"` + AllowDynamicClientRegistration bool `yaml:"allow_dynamic_client_registration" env:"IDP_ALLOW_DYNAMIC_CLIENT_REGISTRATION"` - EncryptionSecretFile string `ocisConfig:"encrypt_secret_file" env:"IDP_ENCRYPTION_SECRET"` + EncryptionSecretFile string `yaml:"encrypt_secret_file" env:"IDP_ENCRYPTION_SECRET"` Listen string - IdentifierClientDisabled bool `ocisConfig:"identifier_client_disabled" env:"IDP_DISABLE_IDENTIFIER_WEBAPP"` - IdentifierClientPath string `ocisConfig:"identifier_client_path" env:"IDP_IDENTIFIER_CLIENT_PATH"` - IdentifierRegistrationConf string `ocisConfig:"identifier_registration_conf" env:"IDP_IDENTIFIER_REGISTRATION_CONF"` - IdentifierScopesConf string `ocisConfig:"identifier_scopes_conf" env:"IDP_IDENTIFIER_SCOPES_CONF"` + IdentifierClientDisabled bool `yaml:"identifier_client_disabled" env:"IDP_DISABLE_IDENTIFIER_WEBAPP"` + IdentifierClientPath string `yaml:"identifier_client_path" env:"IDP_IDENTIFIER_CLIENT_PATH"` + IdentifierRegistrationConf string `yaml:"identifier_registration_conf" env:"IDP_IDENTIFIER_REGISTRATION_CONF"` + IdentifierScopesConf string `yaml:"identifier_scopes_conf" env:"IDP_IDENTIFIER_SCOPES_CONF"` IdentifierDefaultBannerLogo string IdentifierDefaultSignInPageText string IdentifierDefaultUsernameHintText string IdentifierUILocales []string - SigningKid string `ocisConfig:"signing_kid" env:"IDP_SIGNING_KID"` - SigningMethod string `ocisConfig:"signing_method" env:"IDP_SIGNING_METHOD"` - SigningPrivateKeyFiles []string `ocisConfig:"signing_private_key_files"` // TODO: is this even needed? - ValidationKeysPath string `ocisConfig:"validation_keys_path" env:"IDP_VALIDATION_KEYS_PATH"` + SigningKid string `yaml:"signing_kid" env:"IDP_SIGNING_KID"` + SigningMethod string `yaml:"signing_method" env:"IDP_SIGNING_METHOD"` + SigningPrivateKeyFiles []string `yaml:"signing_private_key_files"` // TODO: is this even needed? + ValidationKeysPath string `yaml:"validation_keys_path" env:"IDP_VALIDATION_KEYS_PATH"` CookieBackendURI string CookieNames []string - AccessTokenDurationSeconds uint64 `ocisConfig:"access_token_duration_seconds" env:"IDP_ACCESS_TOKEN_EXPIRATION"` - IDTokenDurationSeconds uint64 `ocisConfig:"id_token_duration_seconds" env:"IDP_ID_TOKEN_EXPIRATION"` - RefreshTokenDurationSeconds uint64 `ocisConfig:"refresh_token_duration_seconds" env:"IDP_REFRESH_TOKEN_EXPIRATION"` - DyamicClientSecretDurationSeconds uint64 `ocisConfig:"dynamic_client_secret_duration_seconds" env:""` + AccessTokenDurationSeconds uint64 `yaml:"access_token_duration_seconds" env:"IDP_ACCESS_TOKEN_EXPIRATION"` + IDTokenDurationSeconds uint64 `yaml:"id_token_duration_seconds" env:"IDP_ID_TOKEN_EXPIRATION"` + RefreshTokenDurationSeconds uint64 `yaml:"refresh_token_duration_seconds" env:"IDP_REFRESH_TOKEN_EXPIRATION"` + DyamicClientSecretDurationSeconds uint64 `yaml:"dynamic_client_secret_duration_seconds" env:""` } diff --git a/idp/pkg/config/debug.go b/idp/pkg/config/debug.go index f713bc341..f2a30076f 100644 --- a/idp/pkg/config/debug.go +++ b/idp/pkg/config/debug.go @@ -2,8 +2,8 @@ package config // Debug defines the available debug configuration. type Debug struct { - Addr string `ocisConfig:"addr" env:"IDP_DEBUG_ADDR"` - Token string `ocisConfig:"token" env:"IDP_DEBUG_TOKEN"` - Pprof bool `ocisConfig:"pprof" env:"IDP_DEBUG_PPROF"` - Zpages bool `ocisConfig:"zpages" env:"IDP_DEBUG_ZPAGES"` + Addr string `yaml:"addr" env:"IDP_DEBUG_ADDR"` + Token string `yaml:"token" env:"IDP_DEBUG_TOKEN"` + Pprof bool `yaml:"pprof" env:"IDP_DEBUG_PPROF"` + Zpages bool `yaml:"zpages" env:"IDP_DEBUG_ZPAGES"` } diff --git a/idp/pkg/config/http.go b/idp/pkg/config/http.go index b76b48f56..616449c0e 100644 --- a/idp/pkg/config/http.go +++ b/idp/pkg/config/http.go @@ -2,10 +2,10 @@ package config // HTTP defines the available http configuration. type HTTP struct { - Addr string `ocisConfig:"addr" env:"IDP_HTTP_ADDR"` - Root string `ocisConfig:"root" env:"IDP_HTTP_ROOT"` - Namespace string `ocisConfig:"-" yaml:"-"` - TLSCert string `ocisConfig:"tls_cert" env:"IDP_TRANSPORT_TLS_CERT"` - TLSKey string `ocisConfig:"tls_key" env:"IDP_TRANSPORT_TLS_KEY"` - TLS bool `ocisConfig:"tls" env:"IDP_TLS"` + Addr string `yaml:"addr" env:"IDP_HTTP_ADDR"` + Root string `yaml:"root" env:"IDP_HTTP_ROOT"` + Namespace string `yaml:"-"` + TLSCert string `yaml:"tls_cert" env:"IDP_TRANSPORT_TLS_CERT"` + TLSKey string `yaml:"tls_key" env:"IDP_TRANSPORT_TLS_KEY"` + TLS bool `yaml:"tls" env:"IDP_TLS"` } diff --git a/idp/pkg/config/log.go b/idp/pkg/config/log.go index 4183ee357..7ea890974 100644 --- a/idp/pkg/config/log.go +++ b/idp/pkg/config/log.go @@ -2,8 +2,8 @@ package config // Log defines the available log configuration. type Log struct { - Level string `ocisConfig:"level" env:"OCIS_LOG_LEVEL;IDP_LOG_LEVEL"` - Pretty bool `ocisConfig:"pretty" env:"OCIS_LOG_PRETTY;IDP_LOG_PRETTY"` - Color bool `ocisConfig:"color" env:"OCIS_LOG_COLOR;IDP_LOG_COLOR"` - File string `ocisConfig:"file" env:"OCIS_LOG_FILE;IDP_LOG_FILE"` + Level string `yaml:"level" env:"OCIS_LOG_LEVEL;IDP_LOG_LEVEL"` + Pretty bool `yaml:"pretty" env:"OCIS_LOG_PRETTY;IDP_LOG_PRETTY"` + Color bool `yaml:"color" env:"OCIS_LOG_COLOR;IDP_LOG_COLOR"` + File string `yaml:"file" env:"OCIS_LOG_FILE;IDP_LOG_FILE"` } diff --git a/idp/pkg/config/service.go b/idp/pkg/config/service.go index 261a336e2..114d89e4c 100644 --- a/idp/pkg/config/service.go +++ b/idp/pkg/config/service.go @@ -2,6 +2,6 @@ package config // Service defines the available service configuration. type Service struct { - Name string `ocisConfig:"-" yaml:"-"` - PasswordResetURI string `ocisConfig:"password_reset_uri" env:"IDP_PASSWORD_RESET_URI" desc:"The URI where a user can reset their password."` + Name string `yaml:"-"` + PasswordResetURI string `yaml:"password_reset_uri" env:"IDP_PASSWORD_RESET_URI" desc:"The URI where a user can reset their password."` } diff --git a/idp/pkg/config/tracing.go b/idp/pkg/config/tracing.go index c149f9da1..be510b82a 100644 --- a/idp/pkg/config/tracing.go +++ b/idp/pkg/config/tracing.go @@ -2,8 +2,8 @@ package config // Tracing defines the available tracing configuration. type Tracing struct { - Enabled bool `ocisConfig:"enabled" env:"OCIS_TRACING_ENABLED;IDP_TRACING_ENABLED"` - Type string `ocisConfig:"type" env:"OCIS_TRACING_TYPE;IDP_TRACING_TYPE"` - Endpoint string `ocisConfig:"endpoint" env:"OCIS_TRACING_ENDPOINT;IDP_TRACING_ENDPOINT"` - Collector string `ocisConfig:"collector" env:"OCIS_TRACING_COLLECTOR;IDP_TRACING_COLLECTOR"` + Enabled bool `yaml:"enabled" env:"OCIS_TRACING_ENABLED;IDP_TRACING_ENABLED"` + Type string `yaml:"type" env:"OCIS_TRACING_TYPE;IDP_TRACING_TYPE"` + Endpoint string `yaml:"endpoint" env:"OCIS_TRACING_ENDPOINT;IDP_TRACING_ENDPOINT"` + Collector string `yaml:"collector" env:"OCIS_TRACING_COLLECTOR;IDP_TRACING_COLLECTOR"` } diff --git a/idp/yarn.lock b/idp/yarn.lock index efbb09e89..9d77e35a2 100644 --- a/idp/yarn.lock +++ b/idp/yarn.lock @@ -63,30 +63,7 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:^7.1.0, @babel/core@npm:^7.12.3, @babel/core@npm:^7.7.5": - version: 7.15.0 - resolution: "@babel/core@npm:7.15.0" - dependencies: - "@babel/code-frame": ^7.14.5 - "@babel/generator": ^7.15.0 - "@babel/helper-compilation-targets": ^7.15.0 - "@babel/helper-module-transforms": ^7.15.0 - "@babel/helpers": ^7.14.8 - "@babel/parser": ^7.15.0 - "@babel/template": ^7.14.5 - "@babel/traverse": ^7.15.0 - "@babel/types": ^7.15.0 - convert-source-map: ^1.7.0 - debug: ^4.1.0 - gensync: ^1.0.0-beta.2 - json5: ^2.1.2 - semver: ^6.3.0 - source-map: ^0.5.0 - checksum: 6f7ac97d2d2eebe62a431ce55b37753aa443b762da0524640caa2f7d4417750f8e21f3eb30d62f25e479f93dac505c868d24011b124cfa6905abebb23b44715c - languageName: node - linkType: hard - -"@babel/core@npm:^7.15.5": +"@babel/core@npm:^7.1.0, @babel/core@npm:^7.12.3, @babel/core@npm:^7.15.5, @babel/core@npm:^7.7.5": version: 7.15.5 resolution: "@babel/core@npm:7.15.5" dependencies: @@ -109,18 +86,7 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.12.1, @babel/generator@npm:^7.15.0, @babel/generator@npm:^7.4.0": - version: 7.15.0 - resolution: "@babel/generator@npm:7.15.0" - dependencies: - "@babel/types": ^7.15.0 - jsesc: ^2.5.1 - source-map: ^0.5.0 - checksum: ef227c4c39ab810616b1d76cf9fa7b452b3a36ae1f26d52c2a7c68edcba29d6dd3cd3e88c58f6e3969a58dadee7b73016d3cabbd6f0040ff832f686db4679628 - languageName: node - linkType: hard - -"@babel/generator@npm:^7.15.4": +"@babel/generator@npm:^7.12.1, @babel/generator@npm:^7.15.4, @babel/generator@npm:^7.4.0": version: 7.15.4 resolution: "@babel/generator@npm:7.15.4" dependencies: @@ -150,21 +116,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.12.1, @babel/helper-compilation-targets@npm:^7.13.0, @babel/helper-compilation-targets@npm:^7.14.5, @babel/helper-compilation-targets@npm:^7.15.0": - version: 7.15.0 - resolution: "@babel/helper-compilation-targets@npm:7.15.0" - dependencies: - "@babel/compat-data": ^7.15.0 - "@babel/helper-validator-option": ^7.14.5 - browserslist: ^4.16.6 - semver: ^6.3.0 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 82a1f5d8041d39454fe5d7d109e32e90f5c6c13f0e87c7ac94332ac79a1fb62ab135b2f8ceba07ba307bb0db792c1f64796aec68bb258a13aa69a56ee65e2427 - languageName: node - linkType: hard - -"@babel/helper-compilation-targets@npm:^7.15.4": +"@babel/helper-compilation-targets@npm:^7.12.1, @babel/helper-compilation-targets@npm:^7.13.0, @babel/helper-compilation-targets@npm:^7.14.5, @babel/helper-compilation-targets@npm:^7.15.0, @babel/helper-compilation-targets@npm:^7.15.4": version: 7.15.4 resolution: "@babel/helper-compilation-targets@npm:7.15.4" dependencies: @@ -233,18 +185,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-function-name@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/helper-function-name@npm:7.14.5" - dependencies: - "@babel/helper-get-function-arity": ^7.14.5 - "@babel/template": ^7.14.5 - "@babel/types": ^7.14.5 - checksum: fd8ffa82f7622b6e9a6294fb3b98b42e743ab2a8e3c329367667a960b5b98b48bc5ebf8be7308981f1985b9f3c69e1a3b4a91c8944ae97c31803240da92fb3c8 - languageName: node - linkType: hard - -"@babel/helper-function-name@npm:^7.15.4": +"@babel/helper-function-name@npm:^7.14.5, @babel/helper-function-name@npm:^7.15.4": version: 7.15.4 resolution: "@babel/helper-function-name@npm:7.15.4" dependencies: @@ -255,15 +196,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-get-function-arity@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/helper-get-function-arity@npm:7.14.5" - dependencies: - "@babel/types": ^7.14.5 - checksum: a60779918b677a35e177bb4f46babfd54e9790587b6a4f076092a9eff2a940cbeacdeb10c94331b26abfe838769554d72293d16df897246cfccd1444e5e27cb7 - languageName: node - linkType: hard - "@babel/helper-get-function-arity@npm:^7.15.4": version: 7.15.4 resolution: "@babel/helper-get-function-arity@npm:7.15.4" @@ -273,16 +205,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-hoist-variables@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/helper-hoist-variables@npm:7.14.5" - dependencies: - "@babel/types": ^7.14.5 - checksum: 35af58eebffca10988de7003e044ce2d27212aea72ac6d2c4604137da7f1e193cc694d8d60805d0d0beaf3d990f6f2dcc2622c52e3d3148e37017a29cacf2e56 - languageName: node - linkType: hard - -"@babel/helper-hoist-variables@npm:^7.15.4": +"@babel/helper-hoist-variables@npm:^7.14.5, @babel/helper-hoist-variables@npm:^7.15.4": version: 7.15.4 resolution: "@babel/helper-hoist-variables@npm:7.15.4" dependencies: @@ -291,16 +214,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-member-expression-to-functions@npm:^7.15.0": - version: 7.15.0 - resolution: "@babel/helper-member-expression-to-functions@npm:7.15.0" - dependencies: - "@babel/types": ^7.15.0 - checksum: 63b4824839990fbf3fe38b5c8a7b002a73bb2161e72b7146b1dc256671bcf36f34587a927e597a556dd496b49089cf13ea77877482aef1f35f628899042127ae - languageName: node - linkType: hard - -"@babel/helper-member-expression-to-functions@npm:^7.15.4": +"@babel/helper-member-expression-to-functions@npm:^7.15.0, @babel/helper-member-expression-to-functions@npm:^7.15.4": version: 7.15.4 resolution: "@babel/helper-member-expression-to-functions@npm:7.15.4" dependencies: @@ -309,16 +223,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.12.1, @babel/helper-module-imports@npm:^7.12.13, @babel/helper-module-imports@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/helper-module-imports@npm:7.14.5" - dependencies: - "@babel/types": ^7.14.5 - checksum: b98279908698a50a22634e683924cb25eb93edf1bf28ac65691dfa82d7a1a4dae4e6b12b8ef9f9a50171ca484620bce544f270873c53505d8a45364c5b665c0c - languageName: node - linkType: hard - -"@babel/helper-module-imports@npm:^7.15.4": +"@babel/helper-module-imports@npm:^7.12.1, @babel/helper-module-imports@npm:^7.12.13, @babel/helper-module-imports@npm:^7.14.5, @babel/helper-module-imports@npm:^7.15.4": version: 7.15.4 resolution: "@babel/helper-module-imports@npm:7.15.4" dependencies: @@ -327,23 +232,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.12.1, @babel/helper-module-transforms@npm:^7.14.5, @babel/helper-module-transforms@npm:^7.15.0": - version: 7.15.0 - resolution: "@babel/helper-module-transforms@npm:7.15.0" - dependencies: - "@babel/helper-module-imports": ^7.14.5 - "@babel/helper-replace-supers": ^7.15.0 - "@babel/helper-simple-access": ^7.14.8 - "@babel/helper-split-export-declaration": ^7.14.5 - "@babel/helper-validator-identifier": ^7.14.9 - "@babel/template": ^7.14.5 - "@babel/traverse": ^7.15.0 - "@babel/types": ^7.15.0 - checksum: 65eca31a9571d43c454cad13b26e17a0909e1fb439a939d2f17268f016ec85cec2fe7a9abcadea863d1b80b448f89647ac9be0abd76265c0e274205794031f33 - languageName: node - linkType: hard - -"@babel/helper-module-transforms@npm:^7.15.4": +"@babel/helper-module-transforms@npm:^7.12.1, @babel/helper-module-transforms@npm:^7.14.5, @babel/helper-module-transforms@npm:^7.15.0, @babel/helper-module-transforms@npm:^7.15.4": version: 7.15.4 resolution: "@babel/helper-module-transforms@npm:7.15.4" dependencies: @@ -359,16 +248,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-optimise-call-expression@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/helper-optimise-call-expression@npm:7.14.5" - dependencies: - "@babel/types": ^7.14.5 - checksum: c7af558c63eb5449bf2249f1236d892ed54a400cb6c721756cde573b996c12c64dee6b57fa18ad1a0025d152e6f689444f7ea32997a1d56e1af66c3eda18843d - languageName: node - linkType: hard - -"@babel/helper-optimise-call-expression@npm:^7.15.4": +"@babel/helper-optimise-call-expression@npm:^7.14.5, @babel/helper-optimise-call-expression@npm:^7.15.4": version: 7.15.4 resolution: "@babel/helper-optimise-call-expression@npm:7.15.4" dependencies: @@ -395,19 +275,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-replace-supers@npm:^7.14.5, @babel/helper-replace-supers@npm:^7.15.0": - version: 7.15.0 - resolution: "@babel/helper-replace-supers@npm:7.15.0" - dependencies: - "@babel/helper-member-expression-to-functions": ^7.15.0 - "@babel/helper-optimise-call-expression": ^7.14.5 - "@babel/traverse": ^7.15.0 - "@babel/types": ^7.15.0 - checksum: e1fce39b88ac32058a6fad15f0840cc40a63af7d60ef1d3bca0fcda3e4d88422d164a165c3b1efbcbda3b80ac68165fa79005fe27fc5569d2b9582a8cc002db3 - languageName: node - linkType: hard - -"@babel/helper-replace-supers@npm:^7.15.4": +"@babel/helper-replace-supers@npm:^7.14.5, @babel/helper-replace-supers@npm:^7.15.0, @babel/helper-replace-supers@npm:^7.15.4": version: 7.15.4 resolution: "@babel/helper-replace-supers@npm:7.15.4" dependencies: @@ -419,16 +287,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-simple-access@npm:^7.14.8": - version: 7.14.8 - resolution: "@babel/helper-simple-access@npm:7.14.8" - dependencies: - "@babel/types": ^7.14.8 - checksum: c1dae88c956154c854bb1679d19b9158ff1c8241329a4a70026ec16c594b9637e73647e5a1a0f9b7c47b2309201f633c259fb41d06a800496283debce6a67fab - languageName: node - linkType: hard - -"@babel/helper-simple-access@npm:^7.15.4": +"@babel/helper-simple-access@npm:^7.14.8, @babel/helper-simple-access@npm:^7.15.4": version: 7.15.4 resolution: "@babel/helper-simple-access@npm:7.15.4" dependencies: @@ -446,16 +305,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-split-export-declaration@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/helper-split-export-declaration@npm:7.14.5" - dependencies: - "@babel/types": ^7.14.5 - checksum: 93437025a33747bfd37d6d5a9cdac8f4b6b3e5c0c53c0e24c5444575e731ea64fd5471a51a039fd74ff3378f916ea2d69d9f10274d253ed6f832952be2fd65f0 - languageName: node - linkType: hard - -"@babel/helper-split-export-declaration@npm:^7.15.4": +"@babel/helper-split-export-declaration@npm:^7.14.5, @babel/helper-split-export-declaration@npm:^7.15.4": version: 7.15.4 resolution: "@babel/helper-split-export-declaration@npm:7.15.4" dependencies: @@ -464,14 +314,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.14.5, @babel/helper-validator-identifier@npm:^7.14.9": - version: 7.14.9 - resolution: "@babel/helper-validator-identifier@npm:7.14.9" - checksum: 58552531a7674363e74672434c312ddaf1545b8a43308e1a7f38db58bf79c796c095a6dab6a6105eb0d783b97441f6cbb525bb887f29a35f232fcdbd8cb240dc - languageName: node - linkType: hard - -"@babel/helper-validator-identifier@npm:^7.15.7": +"@babel/helper-validator-identifier@npm:^7.14.5, @babel/helper-validator-identifier@npm:^7.14.9, @babel/helper-validator-identifier@npm:^7.15.7": version: 7.15.7 resolution: "@babel/helper-validator-identifier@npm:7.15.7" checksum: f041c28c531d1add5cc345b25d5df3c29c62bce3205b4d4a93dcd164ccf630350acba252d374fad8f5d8ea526995a215829f27183ba7ce7ce141843bf23068a6 @@ -497,18 +340,7 @@ __metadata: languageName: node linkType: hard -"@babel/helpers@npm:^7.12.1, @babel/helpers@npm:^7.14.8": - version: 7.15.3 - resolution: "@babel/helpers@npm:7.15.3" - dependencies: - "@babel/template": ^7.14.5 - "@babel/traverse": ^7.15.0 - "@babel/types": ^7.15.0 - checksum: cd70614d610b01189812c83b505b076dca0822df55ed6cd41232416f3a10ae9200a07315683942e0adbc1833481920c2fc7a23a08064ced5a8770259aa0ad707 - languageName: node - linkType: hard - -"@babel/helpers@npm:^7.15.4": +"@babel/helpers@npm:^7.12.1, @babel/helpers@npm:^7.15.4": version: 7.15.4 resolution: "@babel/helpers@npm:7.15.4" dependencies: @@ -530,16 +362,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.12.3, @babel/parser@npm:^7.14.5, @babel/parser@npm:^7.15.0, @babel/parser@npm:^7.4.3, @babel/parser@npm:^7.7.0": - version: 7.15.3 - resolution: "@babel/parser@npm:7.15.3" - bin: - parser: ./bin/babel-parser.js - checksum: 4b9ba7e8ffe0a3d0dd8c61dee975c79863f7744177de677cb7d12f96549eb5c8b9ffc70ca2b1b2488b06e056da99a6273e2d7d68fc31f498d01483dfac149e13 - languageName: node - linkType: hard - -"@babel/parser@npm:^7.15.4, @babel/parser@npm:^7.15.5": +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.12.3, @babel/parser@npm:^7.15.4, @babel/parser@npm:^7.15.5, @babel/parser@npm:^7.4.3, @babel/parser@npm:^7.7.0": version: 7.15.5 resolution: "@babel/parser@npm:7.15.5" bin: @@ -1795,18 +1618,7 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.10.4, @babel/template@npm:^7.14.5, @babel/template@npm:^7.3.3, @babel/template@npm:^7.4.0": - version: 7.14.5 - resolution: "@babel/template@npm:7.14.5" - dependencies: - "@babel/code-frame": ^7.14.5 - "@babel/parser": ^7.14.5 - "@babel/types": ^7.14.5 - checksum: 4939199c5b1ca8940e14c87f30f4fab5f35c909bef88447131075349027546927b4e3e08e50db5c2db2024f2c6585a4fe571c739c835ac980f7a4ada2dd8a623 - languageName: node - linkType: hard - -"@babel/template@npm:^7.15.4": +"@babel/template@npm:^7.10.4, @babel/template@npm:^7.14.5, @babel/template@npm:^7.15.4, @babel/template@npm:^7.3.3, @babel/template@npm:^7.4.0": version: 7.15.4 resolution: "@babel/template@npm:7.15.4" dependencies: @@ -1817,24 +1629,7 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.1.0, @babel/traverse@npm:^7.12.1, @babel/traverse@npm:^7.13.0, @babel/traverse@npm:^7.14.5, @babel/traverse@npm:^7.15.0, @babel/traverse@npm:^7.4.3, @babel/traverse@npm:^7.7.0": - version: 7.15.0 - resolution: "@babel/traverse@npm:7.15.0" - dependencies: - "@babel/code-frame": ^7.14.5 - "@babel/generator": ^7.15.0 - "@babel/helper-function-name": ^7.14.5 - "@babel/helper-hoist-variables": ^7.14.5 - "@babel/helper-split-export-declaration": ^7.14.5 - "@babel/parser": ^7.15.0 - "@babel/types": ^7.15.0 - debug: ^4.1.0 - globals: ^11.1.0 - checksum: e13056690a2a4a4dd699e241b89d4f7cf701ceef2f4ee0efc32a8cc4e07e1bbd397423868ecfec8aa98a769486f7d08778420d48f981b4f5dbb1b2f211daf656 - languageName: node - linkType: hard - -"@babel/traverse@npm:^7.15.4": +"@babel/traverse@npm:^7.1.0, @babel/traverse@npm:^7.12.1, @babel/traverse@npm:^7.13.0, @babel/traverse@npm:^7.14.5, @babel/traverse@npm:^7.15.4, @babel/traverse@npm:^7.4.3, @babel/traverse@npm:^7.7.0": version: 7.15.4 resolution: "@babel/traverse@npm:7.15.4" dependencies: @@ -1851,27 +1646,7 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.12.1, @babel/types@npm:^7.12.6, @babel/types@npm:^7.14.5, @babel/types@npm:^7.14.8, @babel/types@npm:^7.14.9, @babel/types@npm:^7.15.0, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.0, @babel/types@npm:^7.4.4, @babel/types@npm:^7.7.0": - version: 7.15.0 - resolution: "@babel/types@npm:7.15.0" - dependencies: - "@babel/helper-validator-identifier": ^7.14.9 - to-fast-properties: ^2.0.0 - checksum: 6d6bcdfce94b5446520a24087c6dede453e28425af092965b304d4028e9bca79712fd691cdad031e3570c7667bf3206e5f642bcccbfccb33d42ca4a8203587f9 - languageName: node - linkType: hard - -"@babel/types@npm:^7.15.4": - version: 7.15.4 - resolution: "@babel/types@npm:7.15.4" - dependencies: - "@babel/helper-validator-identifier": ^7.14.9 - to-fast-properties: ^2.0.0 - checksum: dac7d733edf2102e97f197929693fae6025161f3edda5a0f621f69e9d0741b8596c6f2152492bef869b55d0205e214867e8730f389283e85432b8f093e295c4b - languageName: node - linkType: hard - -"@babel/types@npm:^7.8.3": +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.12.1, @babel/types@npm:^7.12.6, @babel/types@npm:^7.14.5, @babel/types@npm:^7.14.9, @babel/types@npm:^7.15.0, @babel/types@npm:^7.15.4, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.0, @babel/types@npm:^7.4.4, @babel/types@npm:^7.7.0, @babel/types@npm:^7.8.3": version: 7.16.0 resolution: "@babel/types@npm:7.16.0" dependencies: @@ -3638,14 +3413,7 @@ __metadata: languageName: node linkType: hard -"ansi-regex@npm:^5.0.0": - version: 5.0.0 - resolution: "ansi-regex@npm:5.0.0" - checksum: b1bb4e992a5d96327bb4f72eaba9f8047f1d808d273ad19d399e266bfcc7fb19a4d1a127a32f7bc61fe46f1a94a4d04ec4c424e3fbe184929aa866323d8ed4ce - languageName: node - linkType: hard - -"ansi-regex@npm:^5.0.1": +"ansi-regex@npm:^5.0.0, ansi-regex@npm:^5.0.1": version: 5.0.1 resolution: "ansi-regex@npm:5.0.1" checksum: 2aa4bb54caf2d622f1afdad09441695af2a83aa3fe8b8afa581d205e57ed4261c183c4d3877cee25794443fde5876417d859c108078ab788d6af7e4fe52eb66b @@ -12086,16 +11854,7 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^3.0.0, minipass@npm:^3.1.1": - version: 3.1.3 - resolution: "minipass@npm:3.1.3" - dependencies: - yallist: ^4.0.0 - checksum: 74b623c1f996caafa66772301b66a1b634b20270f0d1a731ef86195d5a1a5f9984a773a1e88a6cecfd264d6c471c4c0fc8574cd96488f01c8f74c0b600021e55 - languageName: node - linkType: hard - -"minipass@npm:^3.1.0, minipass@npm:^3.1.3": +"minipass@npm:^3.0.0, minipass@npm:^3.1.0, minipass@npm:^3.1.1, minipass@npm:^3.1.3": version: 3.1.5 resolution: "minipass@npm:3.1.5" dependencies: @@ -16258,7 +16017,7 @@ __metadata: languageName: node linkType: hard -"string-width@npm:^1.0.2 || 2 || 3 || 4": +"string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.1.0, string-width@npm:^4.2.0": version: 4.2.3 resolution: "string-width@npm:4.2.3" dependencies: @@ -16290,17 +16049,6 @@ __metadata: languageName: node linkType: hard -"string-width@npm:^4.1.0, string-width@npm:^4.2.0": - version: 4.2.2 - resolution: "string-width@npm:4.2.2" - dependencies: - emoji-regex: ^8.0.0 - is-fullwidth-code-point: ^3.0.0 - strip-ansi: ^6.0.0 - checksum: 343e089b0e66e0f72aab4ad1d9b6f2c9cc5255844b0c83fd9b53f2a3b3fd0421bdd6cb05be96a73117eb012db0887a6c1d64ca95aaa50c518e48980483fea0ab - languageName: node - linkType: hard - "string.prototype.matchall@npm:^4.0.2": version: 4.0.5 resolution: "string.prototype.matchall@npm:4.0.5" @@ -16366,7 +16114,7 @@ __metadata: languageName: node linkType: hard -"strip-ansi@npm:6.0.0, strip-ansi@npm:^6.0.0": +"strip-ansi@npm:6.0.0": version: 6.0.0 resolution: "strip-ansi@npm:6.0.0" dependencies: @@ -16402,7 +16150,7 @@ __metadata: languageName: node linkType: hard -"strip-ansi@npm:^6.0.1": +"strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": version: 6.0.1 resolution: "strip-ansi@npm:6.0.1" dependencies: diff --git a/nats/pkg/config/config.go b/nats/pkg/config/config.go index 98e86a9e6..3d1c27944 100644 --- a/nats/pkg/config/config.go +++ b/nats/pkg/config/config.go @@ -8,22 +8,22 @@ import ( // Config combines all available configuration parts. type Config struct { - *shared.Commons `ocisConfig:"-" yaml:"-"` + *shared.Commons `yaml:"-"` - Service Service `ocisConfig:"-" yaml:"-"` + Service Service `yaml:"-"` - Log *Log `ocisConfig:"log"` - Debug Debug `ocisConfig:"debug"` + Log *Log `yaml:"log"` + Debug Debug `yaml:"debug"` Nats Nats `ociConfig:"nats"` - Context context.Context `ocisConfig:"-" yaml:"-"` + Context context.Context `yaml:"-"` } // Nats is the nats config type Nats struct { - Host string `ocisConfig:"host" env:"NATS_NATS_HOST"` - Port int `ocisConfig:"port" env:"NATS_NATS_PORT"` - ClusterID string `ocisConfig:"clusterid" env:"NATS_NATS_CLUSTER_ID"` - StoreDir string `ocisConfig:"store_dir" env:"NATS_NATS_STORE_DIR"` + Host string `yaml:"host" env:"NATS_NATS_HOST"` + Port int `yaml:"port" env:"NATS_NATS_PORT"` + ClusterID string `yaml:"clusterid" env:"NATS_NATS_CLUSTER_ID"` + StoreDir string `yaml:"store_dir" env:"NATS_NATS_STORE_DIR"` } diff --git a/nats/pkg/config/debug.go b/nats/pkg/config/debug.go index 4795db441..8c316683a 100644 --- a/nats/pkg/config/debug.go +++ b/nats/pkg/config/debug.go @@ -2,8 +2,8 @@ package config // Debug defines the available debug configuration. type Debug struct { - Addr string `ocisConfig:"addr" env:"NATS_DEBUG_ADDR"` - Token string `ocisConfig:"token" env:"NATS_DEBUG_TOKEN"` - Pprof bool `ocisConfig:"pprof" env:"NATS_DEBUG_PPROF"` - Zpages bool `ocisConfig:"zpages" env:"NATS_DEBUG_ZPAGES"` + Addr string `yaml:"addr" env:"NATS_DEBUG_ADDR"` + Token string `yaml:"token" env:"NATS_DEBUG_TOKEN"` + Pprof bool `yaml:"pprof" env:"NATS_DEBUG_PPROF"` + Zpages bool `yaml:"zpages" env:"NATS_DEBUG_ZPAGES"` } diff --git a/nats/pkg/config/service.go b/nats/pkg/config/service.go index c019b7304..d1eac383f 100644 --- a/nats/pkg/config/service.go +++ b/nats/pkg/config/service.go @@ -2,5 +2,5 @@ package config // Service defines the available service configuration. type Service struct { - Name string `ocisConfig:"-" yaml:"-"` + Name string `yaml:"-"` } diff --git a/notifications/pkg/config/config.go b/notifications/pkg/config/config.go index bda3539d6..7cc183852 100644 --- a/notifications/pkg/config/config.go +++ b/notifications/pkg/config/config.go @@ -8,37 +8,37 @@ import ( // Config combines all available configuration parts. type Config struct { - *shared.Commons `ocisConfig:"-" yaml:"-"` + *shared.Commons `yaml:"-"` - Service Service `ocisConfig:"-" yaml:"-"` + Service Service `yaml:"-"` - Log *Log `ocisConfig:"log"` - Debug Debug `ocisConfig:"debug"` + Log *Log `yaml:"log"` + Debug Debug `yaml:"debug"` - Notifications Notifications `ocisConfig:"notifications"` + Notifications Notifications `yaml:"notifications"` - Context context.Context `ocisConfig:"-" yaml:"-"` + Context context.Context `yaml:"-"` } // Notifications definces the config options for the notifications service. type Notifications struct { - SMTP SMTP `ocisConfig:"SMTP"` - Events Events `ocisConfig:"events"` - RevaGateway string `ocisConfig:"reva_gateway" env:"REVA_GATEWAY;NOTIFICATIONS_REVA_GATEWAY"` - MachineAuthSecret string `ocisConfig:"machine_auth_api_key" env:"OCIS_MACHINE_AUTH_API_KEY;NOTIFICATIONS_MACHINE_AUTH_API_KEY"` + SMTP SMTP `yaml:"SMTP"` + Events Events `yaml:"events"` + RevaGateway string `yaml:"reva_gateway" env:"REVA_GATEWAY;NOTIFICATIONS_REVA_GATEWAY"` + MachineAuthSecret string `yaml:"machine_auth_api_key" env:"OCIS_MACHINE_AUTH_API_KEY;NOTIFICATIONS_MACHINE_AUTH_API_KEY"` } // SMTP combines the smtp configuration options. type SMTP struct { - Host string `ocisConfig:"smtp_host" env:"NOTIFICATIONS_SMTP_HOST"` - Port string `ocisConfig:"smtp_port" env:"NOTIFICATIONS_SMTP_PORT"` - Sender string `ocisConfig:"smtp_sender" env:"NOTIFICATIONS_SMTP_SENDER"` - Password string `ocisConfig:"smtp_password" env:"NOTIFICATIONS_SMTP_PASSWORD"` + Host string `yaml:"smtp_host" env:"NOTIFICATIONS_SMTP_HOST"` + Port string `yaml:"smtp_port" env:"NOTIFICATIONS_SMTP_PORT"` + Sender string `yaml:"smtp_sender" env:"NOTIFICATIONS_SMTP_SENDER"` + Password string `yaml:"smtp_password" env:"NOTIFICATIONS_SMTP_PASSWORD"` } // Events combines the configuration options for the event bus. type Events struct { - Endpoint string `ocisConfig:"events_endpoint" env:"NOTIFICATIONS_EVENTS_ENDPOINT"` - Cluster string `ocisConfig:"events_cluster" env:"NOTIFICATIONS_EVENTS_CLUSTER"` - ConsumerGroup string `ocisConfig:"events_group" env:"NOTIFICATIONS_EVENTS_GROUP"` + Endpoint string `yaml:"events_endpoint" env:"NOTIFICATIONS_EVENTS_ENDPOINT"` + Cluster string `yaml:"events_cluster" env:"NOTIFICATIONS_EVENTS_CLUSTER"` + ConsumerGroup string `yaml:"events_group" env:"NOTIFICATIONS_EVENTS_GROUP"` } diff --git a/notifications/pkg/config/debug.go b/notifications/pkg/config/debug.go index da6d2d590..df19aca96 100644 --- a/notifications/pkg/config/debug.go +++ b/notifications/pkg/config/debug.go @@ -2,8 +2,8 @@ package config // Debug defines the available debug configuration. type Debug struct { - Addr string `ocisConfig:"addr" env:"NOTIFICATIONS_DEBUG_ADDR"` - Token string `ocisConfig:"token" env:"NOTIFICATIONS_DEBUG_TOKEN"` - Pprof bool `ocisConfig:"pprof" env:"NOTIFICATIONS_DEBUG_PPROF"` - Zpages bool `ocisConfig:"zpages" env:"NOTIFICATIONS_DEBUG_ZPAGES"` + Addr string `yaml:"addr" env:"NOTIFICATIONS_DEBUG_ADDR"` + Token string `yaml:"token" env:"NOTIFICATIONS_DEBUG_TOKEN"` + Pprof bool `yaml:"pprof" env:"NOTIFICATIONS_DEBUG_PPROF"` + Zpages bool `yaml:"zpages" env:"NOTIFICATIONS_DEBUG_ZPAGES"` } diff --git a/notifications/pkg/config/service.go b/notifications/pkg/config/service.go index c019b7304..d1eac383f 100644 --- a/notifications/pkg/config/service.go +++ b/notifications/pkg/config/service.go @@ -2,5 +2,5 @@ package config // Service defines the available service configuration. type Service struct { - Name string `ocisConfig:"-" yaml:"-"` + Name string `yaml:"-"` } diff --git a/ocis-pkg/config/config.go b/ocis-pkg/config/config.go index 5b5dee900..e708b9d18 100644 --- a/ocis-pkg/config/config.go +++ b/ocis-pkg/config/config.go @@ -24,7 +24,7 @@ import ( // TokenManager is the config for using the reva token manager type TokenManager struct { - JWTSecret string `ocisConfig:"jwt_secret" env:"OCIS_JWT_SECRET"` + JWTSecret string `yaml:"jwt_secret" env:"OCIS_JWT_SECRET"` } const ( @@ -39,41 +39,41 @@ type Mode int // Runtime configures the oCIS runtime when running in supervised mode. type Runtime struct { - Port string `ocisConfig:"port" env:"OCIS_RUNTIME_PORT"` - Host string `ocisConfig:"host" env:"OCIS_RUNTIME_HOST"` - Extensions string `ocisConfig:"extensions" env:"OCIS_RUN_EXTENSIONS"` + Port string `yaml:"port" env:"OCIS_RUNTIME_PORT"` + Host string `yaml:"host" env:"OCIS_RUNTIME_HOST"` + Extensions string `yaml:"extensions" env:"OCIS_RUN_EXTENSIONS"` } // Config combines all available configuration parts. type Config struct { - *shared.Commons `ocisConfig:"shared"` + *shared.Commons `yaml:"shared"` - Tracing shared.Tracing `ocisConfig:"tracing"` - Log *shared.Log `ocisConfig:"log"` + Tracing shared.Tracing `yaml:"tracing"` + Log *shared.Log `yaml:"log"` Mode Mode // DEPRECATED File string - OcisURL string `ocisConfig:"ocis_url"` + OcisURL string `yaml:"ocis_url"` - Registry string `ocisConfig:"registry"` - TokenManager TokenManager `ocisConfig:"token_manager"` - Runtime Runtime `ocisConfig:"runtime"` + Registry string `yaml:"registry"` + TokenManager TokenManager `yaml:"token_manager"` + Runtime Runtime `yaml:"runtime"` - Audit *audit.Config `ocsiConfig:"audit"` - Accounts *accounts.Config `ocisConfig:"accounts"` - GLAuth *glauth.Config `ocisConfig:"glauth"` - Graph *graph.Config `ocisConfig:"graph"` - GraphExplorer *graphExplorer.Config `ocisConfig:"graph_explorer"` - IDP *idp.Config `ocisConfig:"idp"` - IDM *idm.Config `ocisConfig:"idm"` - Nats *nats.Config `ocisConfig:"nats"` - Notifications *notifications.Config `ocisConfig:"notifications"` - OCS *ocs.Config `ocisConfig:"ocs"` - Web *web.Config `ocisConfig:"web"` - Proxy *proxy.Config `ocisConfig:"proxy"` - Settings *settings.Config `ocisConfig:"settings"` - Storage *storage.Config `ocisConfig:"storage"` - Store *store.Config `ocisConfig:"store"` - Thumbnails *thumbnails.Config `ocisConfig:"thumbnails"` - WebDAV *webdav.Config `ocisConfig:"webdav"` + Audit *audit.Config `yaml:"audit"` + Accounts *accounts.Config `yaml:"accounts"` + GLAuth *glauth.Config `yaml:"glauth"` + Graph *graph.Config `yaml:"graph"` + GraphExplorer *graphExplorer.Config `yaml:"graph_explorer"` + IDP *idp.Config `yaml:"idp"` + IDM *idm.Config `yaml:"idm"` + Nats *nats.Config `yaml:"nats"` + Notifications *notifications.Config `yaml:"notifications"` + OCS *ocs.Config `yaml:"ocs"` + Web *web.Config `yaml:"web"` + Proxy *proxy.Config `yaml:"proxy"` + Settings *settings.Config `yaml:"settings"` + Storage *storage.Config `yaml:"storage"` + Store *store.Config `yaml:"store"` + Thumbnails *thumbnails.Config `yaml:"thumbnails"` + WebDAV *webdav.Config `yaml:"webdav"` } diff --git a/ocis-pkg/config/helpers.go b/ocis-pkg/config/helpers.go index eac108963..6eac89847 100644 --- a/ocis-pkg/config/helpers.go +++ b/ocis-pkg/config/helpers.go @@ -31,14 +31,24 @@ var ( func DefaultConfigSources(filename string, drivers []string) []string { var sources []string - for i := range defaultLocations { - dirFS := os.DirFS(defaultLocations[i]) + locations := []string{} + if v := os.Getenv("OCIS_CONFIG_DIR"); v != "" { + locations = append(locations, v) + // only use the configured config dir + locations = append(locations, os.Getenv("OCIS_CONFIG_DIR")) + } else { + // merge config from all default locations + locations = append(locations, defaultLocations...) + } + + for i := range locations { + dirFS := os.DirFS(locations[i]) pattern := filename + ".*" matched, _ := fs.Glob(dirFS, pattern) if len(matched) > 0 { // prepend path to results for j := 0; j < len(matched); j++ { - matched[j] = filepath.Join(defaultLocations[i], matched[j]) + matched[j] = filepath.Join(locations[i], matched[j]) } } sources = append(sources, matched...) @@ -68,7 +78,7 @@ func BindSourcesToStructs(extension string, dst interface{}) (*gofig.Config, err sources := DefaultConfigSources(extension, supportedExtensions) cnf := gofig.NewWithOptions(extension) cnf.WithOptions(func(options *gofig.Options) { - options.DecoderConfig.TagName = "ocisConfig" + options.DecoderConfig.TagName = "yaml" }) cnf.AddDriver(gooyaml.Driver) _ = cnf.LoadFiles(sources...) diff --git a/ocis-pkg/log/option.go b/ocis-pkg/log/option.go index 756ad16da..b071193b8 100644 --- a/ocis-pkg/log/option.go +++ b/ocis-pkg/log/option.go @@ -56,7 +56,7 @@ func Color(val bool) Option { } } -// File provides a function to set the color option. +// File provides a function to set the file option. func File(val string) Option { return func(o *Options) { o.File = val diff --git a/ocis-pkg/shared/shared_types.go b/ocis-pkg/shared/shared_types.go index 268c596b0..2201bac98 100644 --- a/ocis-pkg/shared/shared_types.go +++ b/ocis-pkg/shared/shared_types.go @@ -10,24 +10,24 @@ type EnvBinding struct { // Log defines the available logging configuration. type Log struct { - Level string `ocisConfig:"level" env:"OCIS_LOG_LEVEL"` - Pretty bool `ocisConfig:"pretty" env:"OCIS_LOG_PRETTY"` - Color bool `ocisConfig:"color" env:"OCIS_LOG_COLOR"` - File string `ocisConfig:"file" env:"OCIS_LOG_FILE"` + Level string `yaml:"level" env:"OCIS_LOG_LEVEL"` + Pretty bool `yaml:"pretty" env:"OCIS_LOG_PRETTY"` + Color bool `yaml:"color" env:"OCIS_LOG_COLOR"` + File string `yaml:"file" env:"OCIS_LOG_FILE"` } // Tracing defines the available tracing configuration. type Tracing struct { - Enabled bool `ocisConfig:"enabled" env:"OCIS_TRACING_ENABLED"` - Type string `ocisConfig:"type" env:"OCIS_TRACING_TYPE"` - Endpoint string `ocisConfig:"endpoint" env:"OCIS_TRACING_ENDPOINT"` - Collector string `ocisConfig:"collector" env:"OCIS_TRACING_COLLECTOR"` + Enabled bool `yaml:"enabled" env:"OCIS_TRACING_ENABLED"` + Type string `yaml:"type" env:"OCIS_TRACING_TYPE"` + Endpoint string `yaml:"endpoint" env:"OCIS_TRACING_ENDPOINT"` + Collector string `yaml:"collector" env:"OCIS_TRACING_COLLECTOR"` } // Commons holds configuration that are common to all extensions. Each extension can then decide whether // to overwrite its values. type Commons struct { - Log *Log `ocisConfig:"log"` - Tracing *Tracing `ocisConfig:"tracing"` - OcisURL string `ocisConfig:"ocis_url" env:"OCIS_URL"` + Log *Log `yaml:"log"` + Tracing *Tracing `yaml:"tracing"` + OcisURL string `yaml:"ocis_url" env:"OCIS_URL"` } diff --git a/ocs/pkg/config/config.go b/ocs/pkg/config/config.go index 3659d08f3..52d7e9542 100644 --- a/ocs/pkg/config/config.go +++ b/ocs/pkg/config/config.go @@ -8,31 +8,31 @@ import ( // Config combines all available configuration parts. type Config struct { - *shared.Commons `ocisConfig:"-" yaml:"-"` + *shared.Commons `yaml:"-"` - Service Service `ocisConfig:"-" yaml:"-"` + Service Service `yaml:"-"` - Tracing *Tracing `ocisConfig:"tracing"` - Log *Log `ocisConfig:"log"` - Debug Debug `ocisConfig:"debug"` + Tracing *Tracing `yaml:"tracing"` + Log *Log `yaml:"log"` + Debug Debug `yaml:"debug"` - HTTP HTTP `ocisConfig:"http"` + HTTP HTTP `yaml:"http"` - TokenManager TokenManager `ocisConfig:"token_manager"` - Reva Reva `ocisConfig:"reva"` + TokenManager TokenManager `yaml:"token_manager"` + Reva Reva `yaml:"reva"` - IdentityManagement IdentityManagement `ocisConfig:"identity_management"` + IdentityManagement IdentityManagement `yaml:"identity_management"` - AccountBackend string `ocisConfig:"account_backend" env:"OCS_ACCOUNT_BACKEND_TYPE"` - StorageUsersDriver string `ocisConfig:"storage_users_driver" env:"STORAGE_USERS_DRIVER;OCS_STORAGE_USERS_DRIVER"` - MachineAuthAPIKey string `ocisConfig:"machine_auth_api_key" env:"OCIS_MACHINE_AUTH_API_KEY;OCS_MACHINE_AUTH_API_KEY"` + AccountBackend string `yaml:"account_backend" env:"OCS_ACCOUNT_BACKEND_TYPE"` + StorageUsersDriver string `yaml:"storage_users_driver" env:"STORAGE_USERS_DRIVER;OCS_STORAGE_USERS_DRIVER"` + MachineAuthAPIKey string `yaml:"machine_auth_api_key" env:"OCIS_MACHINE_AUTH_API_KEY;OCS_MACHINE_AUTH_API_KEY"` - Context context.Context `ocisConfig:"-" yaml:"-"` + Context context.Context `yaml:"-"` } // IdentityManagement keeps track of the OIDC address. This is because Reva requisite of uniqueness for users // is based in the combination of IDP hostname + UserID. For more information see: // https://github.com/cs3org/reva/blob/4fd0229f13fae5bc9684556a82dbbd0eced65ef9/pkg/storage/utils/decomposedfs/node/node.go#L856-L865 type IdentityManagement struct { - Address string `ocisConfig:"address" env:"OCIS_URL;OCS_IDM_ADDRESS"` + Address string `yaml:"address" env:"OCIS_URL;OCS_IDM_ADDRESS"` } diff --git a/ocs/pkg/config/debug.go b/ocs/pkg/config/debug.go index baef37488..9ed071c33 100644 --- a/ocs/pkg/config/debug.go +++ b/ocs/pkg/config/debug.go @@ -2,8 +2,8 @@ package config // Debug defines the available debug configuration. type Debug struct { - Addr string `ocisConfig:"addr" env:"OCS_DEBUG_ADDR"` - Token string `ocisConfig:"token" env:"OCS_DEBUG_TOKEN"` - Pprof bool `ocisConfig:"pprof" env:"OCS_DEBUG_PPROF"` - Zpages bool `ocisConfig:"zpages" env:"OCS_DEBUG_ZPAGES"` + Addr string `yaml:"addr" env:"OCS_DEBUG_ADDR"` + Token string `yaml:"token" env:"OCS_DEBUG_TOKEN"` + Pprof bool `yaml:"pprof" env:"OCS_DEBUG_PPROF"` + Zpages bool `yaml:"zpages" env:"OCS_DEBUG_ZPAGES"` } diff --git a/ocs/pkg/config/http.go b/ocs/pkg/config/http.go index d951aed83..115bc4b7a 100644 --- a/ocs/pkg/config/http.go +++ b/ocs/pkg/config/http.go @@ -2,16 +2,16 @@ package config // HTTP defines the available http configuration. type HTTP struct { - Addr string `ocisConfig:"addr" env:"OCS_HTTP_ADDR"` - Root string `ocisConfig:"root" env:"OCS_HTTP_ROOT"` - Namespace string `ocisConfig:"-" yaml:"-"` - CORS CORS `ocisConfig:"cors"` + Addr string `yaml:"addr" env:"OCS_HTTP_ADDR"` + Root string `yaml:"root" env:"OCS_HTTP_ROOT"` + Namespace string `yaml:"-"` + CORS CORS `yaml:"cors"` } // CORS defines the available cors configuration. type CORS struct { - AllowedOrigins []string `ocisConfig:"allowed_origins"` - AllowedMethods []string `ocisConfig:"allowed_methods"` - AllowedHeaders []string `ocisConfig:"allowed_headers"` - AllowCredentials bool `ocisConfig:"allowed_credentials"` + AllowedOrigins []string `yaml:"allowed_origins"` + AllowedMethods []string `yaml:"allowed_methods"` + AllowedHeaders []string `yaml:"allowed_headers"` + AllowCredentials bool `yaml:"allowed_credentials"` } diff --git a/ocs/pkg/config/reva.go b/ocs/pkg/config/reva.go index 31f48fbb6..b8d277917 100644 --- a/ocs/pkg/config/reva.go +++ b/ocs/pkg/config/reva.go @@ -2,10 +2,10 @@ package config // Reva defines all available REVA configuration. type Reva struct { - Address string `ocisConfig:"address" env:"REVA_GATEWAY"` + Address string `yaml:"address" env:"REVA_GATEWAY"` } // TokenManager is the config for using the reva token manager type TokenManager struct { - JWTSecret string `ocisConfig:"jwt_secret" env:"OCIS_JWT_SECRET;OCS_JWT_SECRET"` + JWTSecret string `yaml:"jwt_secret" env:"OCIS_JWT_SECRET;OCS_JWT_SECRET"` } diff --git a/ocs/pkg/config/service.go b/ocs/pkg/config/service.go index c019b7304..d1eac383f 100644 --- a/ocs/pkg/config/service.go +++ b/ocs/pkg/config/service.go @@ -2,5 +2,5 @@ package config // Service defines the available service configuration. type Service struct { - Name string `ocisConfig:"-" yaml:"-"` + Name string `yaml:"-"` } diff --git a/ocs/pkg/config/tracing.go b/ocs/pkg/config/tracing.go index 310462e90..55bec0e49 100644 --- a/ocs/pkg/config/tracing.go +++ b/ocs/pkg/config/tracing.go @@ -2,8 +2,8 @@ package config // Tracing defines the available tracing configuration. type Tracing struct { - Enabled bool `ocisConfig:"enabled" env:"OCIS_TRACING_ENABLED;OCS_TRACING_ENABLED"` - Type string `ocisConfig:"type" env:"OCIS_TRACING_TYPE;OCS_TRACING_TYPE"` - Endpoint string `ocisConfig:"endpoint" env:"OCIS_TRACING_ENDPOINT;OCS_TRACING_ENDPOINT"` - Collector string `ocisConfig:"collector" env:"OCIS_TRACING_COLLECTOR;OCS_TRACING_COLLECTOR"` + Enabled bool `yaml:"enabled" env:"OCIS_TRACING_ENABLED;OCS_TRACING_ENABLED"` + Type string `yaml:"type" env:"OCIS_TRACING_TYPE;OCS_TRACING_TYPE"` + Endpoint string `yaml:"endpoint" env:"OCIS_TRACING_ENDPOINT;OCS_TRACING_ENDPOINT"` + Collector string `yaml:"collector" env:"OCIS_TRACING_COLLECTOR;OCS_TRACING_COLLECTOR"` } diff --git a/proxy/pkg/config/config.go b/proxy/pkg/config/config.go index 6cda66b8f..d4934e558 100644 --- a/proxy/pkg/config/config.go +++ b/proxy/pkg/config/config.go @@ -8,47 +8,47 @@ import ( // Config combines all available configuration parts. type Config struct { - *shared.Commons `ocisConfig:"-" yaml:"-"` + *shared.Commons `yaml:"-"` - Service Service `ocisConfig:"-" yaml:"-"` + Service Service `yaml:"-"` - Tracing *Tracing `ocisConfig:"tracing"` - Log *Log `ocisConfig:"log"` - Debug Debug `ocisConfig:"debug"` + Tracing *Tracing `yaml:"tracing"` + Log *Log `yaml:"log"` + Debug Debug `yaml:"debug"` - HTTP HTTP `ocisConfig:"http"` + HTTP HTTP `yaml:"http"` - Reva Reva `ocisConfig:"reva"` + Reva Reva `yaml:"reva"` - Policies []Policy `ocisConfig:"policies"` - OIDC OIDC `ocisConfig:"oidc"` - TokenManager TokenManager `ocisConfig:"token_manager"` - PolicySelector *PolicySelector `ocisConfig:"policy_selector"` - PreSignedURL PreSignedURL `ocisConfig:"pre_signed_url"` - AccountBackend string `ocisConfig:"account_backend" env:"PROXY_ACCOUNT_BACKEND_TYPE"` - UserOIDCClaim string `ocisConfig:"user_oidc_claim" env:"PROXY_USER_OIDC_CLAIM"` - UserCS3Claim string `ocisConfig:"user_cs3_claim" env:"PROXY_USER_CS3_CLAIM"` - MachineAuthAPIKey string `ocisConfig:"machine_auth_api_key" env:"OCIS_MACHINE_AUTH_API_KEY;PROXY_MACHINE_AUTH_API_KEY"` - AutoprovisionAccounts bool `ocisConfig:"auto_provision_accounts" env:"PROXY_AUTOPROVISION_ACCOUNTS"` - EnableBasicAuth bool `ocisConfig:"enable_basic_auth" env:"PROXY_ENABLE_BASIC_AUTH"` - InsecureBackends bool `ocisConfig:"insecure_backends" env:"PROXY_INSECURE_BACKENDS"` - AuthMiddleware AuthMiddleware `ocisConfig:"auth_middleware"` + Policies []Policy `yaml:"policies"` + OIDC OIDC `yaml:"oidc"` + TokenManager TokenManager `yaml:"token_manager"` + PolicySelector *PolicySelector `yaml:"policy_selector"` + PreSignedURL PreSignedURL `yaml:"pre_signed_url"` + AccountBackend string `yaml:"account_backend" env:"PROXY_ACCOUNT_BACKEND_TYPE"` + UserOIDCClaim string `yaml:"user_oidc_claim" env:"PROXY_USER_OIDC_CLAIM"` + UserCS3Claim string `yaml:"user_cs3_claim" env:"PROXY_USER_CS3_CLAIM"` + MachineAuthAPIKey string `yaml:"machine_auth_api_key" env:"OCIS_MACHINE_AUTH_API_KEY;PROXY_MACHINE_AUTH_API_KEY"` + AutoprovisionAccounts bool `yaml:"auto_provision_accounts" env:"PROXY_AUTOPROVISION_ACCOUNTS"` + EnableBasicAuth bool `yaml:"enable_basic_auth" env:"PROXY_ENABLE_BASIC_AUTH"` + InsecureBackends bool `yaml:"insecure_backends" env:"PROXY_INSECURE_BACKENDS"` + AuthMiddleware AuthMiddleware `yaml:"auth_middleware"` - Context context.Context `ocisConfig:"-" yaml:"-"` + Context context.Context `yaml:"-"` } // Policy enables us to use multiple directors. type Policy struct { - Name string `ocisConfig:"name"` - Routes []Route `ocisConfig:"routes"` + Name string `yaml:"name"` + Routes []Route `yaml:"routes"` } // Route define forwarding routes type Route struct { - Type RouteType `ocisConfig:"type"` - Endpoint string `ocisConfig:"endpoint"` - Backend string `ocisConfig:"backend"` - ApacheVHost bool `ocisConfig:"apache-vhost"` + Type RouteType `yaml:"type"` + Endpoint string `yaml:"endpoint"` + Backend string `yaml:"backend"` + ApacheVHost bool `yaml:"apache-vhost"` } // RouteType defines the type of a route @@ -72,72 +72,72 @@ var ( // AuthMiddleware configures the proxy http auth middleware. type AuthMiddleware struct { - CredentialsByUserAgent map[string]string `ocisConfig:"credentials_by_user_agent"` + CredentialsByUserAgent map[string]string `yaml:"credentials_by_user_agent"` } // OIDC is the config for the OpenID-Connect middleware. If set the proxy will try to authenticate every request // with the configured oidc-provider type OIDC struct { - Issuer string `ocisConfig:"issuer" env:"OCIS_URL;PROXY_OIDC_ISSUER"` - Insecure bool `ocisConfig:"insecure" env:"OCIS_INSECURE;PROXY_OIDC_INSECURE"` - UserinfoCache UserinfoCache `ocisConfig:"user_info_cache"` + Issuer string `yaml:"issuer" env:"OCIS_URL;PROXY_OIDC_ISSUER"` + Insecure bool `yaml:"insecure" env:"OCIS_INSECURE;PROXY_OIDC_INSECURE"` + UserinfoCache UserinfoCache `yaml:"user_info_cache"` } // UserinfoCache is a TTL cache configuration. type UserinfoCache struct { - Size int `ocisConfig:"size" env:"PROXY_OIDC_USERINFO_CACHE_SIZE"` - TTL int `ocisConfig:"ttl" env:"PROXY_OIDC_USERINFO_CACHE_TTL"` + Size int `yaml:"size" env:"PROXY_OIDC_USERINFO_CACHE_SIZE"` + TTL int `yaml:"ttl" env:"PROXY_OIDC_USERINFO_CACHE_TTL"` } // PolicySelector is the toplevel-configuration for different selectors type PolicySelector struct { - Static *StaticSelectorConf `ocisConfig:"static"` - Migration *MigrationSelectorConf `ocisConfig:"migration"` - Claims *ClaimsSelectorConf `ocisConfig:"claims"` - Regex *RegexSelectorConf `ocisConfig:"regex"` + Static *StaticSelectorConf `yaml:"static"` + Migration *MigrationSelectorConf `yaml:"migration"` + Claims *ClaimsSelectorConf `yaml:"claims"` + Regex *RegexSelectorConf `yaml:"regex"` } // StaticSelectorConf is the config for the static-policy-selector type StaticSelectorConf struct { - Policy string `ocisConfig:"policy"` + Policy string `yaml:"policy"` } // TokenManager is the config for using the reva token manager type TokenManager struct { - JWTSecret string `ocisConfig:"jwt_secret" env:"OCIS_JWT_SECRET;PROXY_JWT_SECRET"` + JWTSecret string `yaml:"jwt_secret" env:"OCIS_JWT_SECRET;PROXY_JWT_SECRET"` } // PreSignedURL is the config for the presigned url middleware type PreSignedURL struct { - AllowedHTTPMethods []string `ocisConfig:"allowed_http_methods"` - Enabled bool `ocisConfig:"enabled" env:"PROXY_ENABLE_PRESIGNEDURLS"` + AllowedHTTPMethods []string `yaml:"allowed_http_methods"` + Enabled bool `yaml:"enabled" env:"PROXY_ENABLE_PRESIGNEDURLS"` } // MigrationSelectorConf is the config for the migration-selector type MigrationSelectorConf struct { - AccFoundPolicy string `ocisConfig:"acc_found_policy"` - AccNotFoundPolicy string `ocisConfig:"acc_not_found_policy"` - UnauthenticatedPolicy string `ocisConfig:"unauthenticated_policy"` + AccFoundPolicy string `yaml:"acc_found_policy"` + AccNotFoundPolicy string `yaml:"acc_not_found_policy"` + UnauthenticatedPolicy string `yaml:"unauthenticated_policy"` } // ClaimsSelectorConf is the config for the claims-selector type ClaimsSelectorConf struct { - DefaultPolicy string `ocisConfig:"default_policy"` - UnauthenticatedPolicy string `ocisConfig:"unauthenticated_policy"` - SelectorCookieName string `ocisConfig:"selector_cookie_name"` + DefaultPolicy string `yaml:"default_policy"` + UnauthenticatedPolicy string `yaml:"unauthenticated_policy"` + SelectorCookieName string `yaml:"selector_cookie_name"` } // RegexSelectorConf is the config for the regex-selector type RegexSelectorConf struct { - DefaultPolicy string `ocisConfig:"default_policy"` - MatchesPolicies []RegexRuleConf `ocisConfig:"matches_policies"` - UnauthenticatedPolicy string `ocisConfig:"unauthenticated_policy"` - SelectorCookieName string `ocisConfig:"selector_cookie_name"` + DefaultPolicy string `yaml:"default_policy"` + MatchesPolicies []RegexRuleConf `yaml:"matches_policies"` + UnauthenticatedPolicy string `yaml:"unauthenticated_policy"` + SelectorCookieName string `yaml:"selector_cookie_name"` } type RegexRuleConf struct { - Priority int `ocisConfig:"priority"` - Property string `ocisConfig:"property"` - Match string `ocisConfig:"match"` - Policy string `ocisConfig:"policy"` + Priority int `yaml:"priority"` + Property string `yaml:"property"` + Match string `yaml:"match"` + Policy string `yaml:"policy"` } diff --git a/proxy/pkg/config/debug.go b/proxy/pkg/config/debug.go index 1c450cc4d..1b9287b3d 100644 --- a/proxy/pkg/config/debug.go +++ b/proxy/pkg/config/debug.go @@ -2,8 +2,8 @@ package config // Debug defines the available debug configuration. type Debug struct { - Addr string `ocisConfig:"addr" env:"PROXY_DEBUG_ADDR"` - Token string `ocisConfig:"token" env:"PROXY_DEBUG_TOKEN"` - Pprof bool `ocisConfig:"pprof" env:"PROXY_DEBUG_PPROF"` - Zpages bool `ocisConfig:"zpages" env:"PROXY_DEBUG_ZPAGES"` + Addr string `yaml:"addr" env:"PROXY_DEBUG_ADDR"` + Token string `yaml:"token" env:"PROXY_DEBUG_TOKEN"` + Pprof bool `yaml:"pprof" env:"PROXY_DEBUG_PPROF"` + Zpages bool `yaml:"zpages" env:"PROXY_DEBUG_ZPAGES"` } diff --git a/proxy/pkg/config/defaults/defaultconfig.go b/proxy/pkg/config/defaults/defaultconfig.go index eaa328b5a..e2689a9f5 100644 --- a/proxy/pkg/config/defaults/defaultconfig.go +++ b/proxy/pkg/config/defaults/defaultconfig.go @@ -52,8 +52,6 @@ func DefaultConfig() *config.Config { AutoprovisionAccounts: false, EnableBasicAuth: false, InsecureBackends: false, - // TODO: enable - //Policies: defaultPolicies(), } } @@ -152,66 +150,6 @@ func DefaultPolicies() []config.Policy { }, }, }, - { - Name: "oc10", - Routes: []config.Route{ - { - Endpoint: "/", - Backend: "http://localhost:9100", - }, - { - Endpoint: "/.well-known/", - Backend: "http://localhost:9130", - }, - { - Endpoint: "/konnect/", - Backend: "http://localhost:9130", - }, - { - Endpoint: "/signin/", - Backend: "http://localhost:9130", - }, - { - Endpoint: "/archiver", - Backend: "http://localhost:9140", - }, - { - Endpoint: "/ocs/", - Backend: "https://demo.owncloud.com", - ApacheVHost: true, - }, - { - Endpoint: "/remote.php/", - Backend: "https://demo.owncloud.com", - ApacheVHost: true, - }, - { - Endpoint: "/dav/", - Backend: "https://demo.owncloud.com", - ApacheVHost: true, - }, - { - Endpoint: "/webdav/", - Backend: "https://demo.owncloud.com", - ApacheVHost: true, - }, - { - Endpoint: "/status.php", - Backend: "https://demo.owncloud.com", - ApacheVHost: true, - }, - { - Endpoint: "/index.php/", - Backend: "https://demo.owncloud.com", - ApacheVHost: true, - }, - { - Endpoint: "/data", - Backend: "https://demo.owncloud.com", - ApacheVHost: true, - }, - }, - }, } } @@ -247,6 +185,14 @@ func Sanitize(cfg *config.Config) { cfg.Policies = DefaultPolicies() } + if cfg.PolicySelector == nil { + cfg.PolicySelector = &config.PolicySelector{ + Static: &config.StaticSelectorConf{ + Policy: "ocis", + }, + } + } + if cfg.HTTP.Root != "/" { cfg.HTTP.Root = strings.TrimSuffix(cfg.HTTP.Root, "/") } diff --git a/proxy/pkg/config/http.go b/proxy/pkg/config/http.go index 325389414..e57452948 100644 --- a/proxy/pkg/config/http.go +++ b/proxy/pkg/config/http.go @@ -2,10 +2,10 @@ package config // HTTP defines the available http configuration. type HTTP struct { - Addr string `ocisConfig:"addr" env:"PROXY_HTTP_ADDR"` - Root string `ocisConfig:"root" env:"PROXY_HTTP_ROOT"` - Namespace string `ocisConfig:"-" yaml:"-"` - TLSCert string `ocisConfig:"tls_cert" env:"PROXY_TRANSPORT_TLS_CERT"` - TLSKey string `ocisConfig:"tls_key" env:"PROXY_TRANSPORT_TLS_KEY"` - TLS bool `ocisConfig:"tls" env:"PROXY_TLS"` + Addr string `yaml:"addr" env:"PROXY_HTTP_ADDR"` + Root string `yaml:"root" env:"PROXY_HTTP_ROOT"` + Namespace string `yaml:"-"` + TLSCert string `yaml:"tls_cert" env:"PROXY_TRANSPORT_TLS_CERT"` + TLSKey string `yaml:"tls_key" env:"PROXY_TRANSPORT_TLS_KEY"` + TLS bool `yaml:"tls" env:"PROXY_TLS"` } diff --git a/proxy/pkg/config/reva.go b/proxy/pkg/config/reva.go index 2b299a0f6..2d3966303 100644 --- a/proxy/pkg/config/reva.go +++ b/proxy/pkg/config/reva.go @@ -2,5 +2,5 @@ package config // Reva defines all available REVA configuration. type Reva struct { - Address string `ocisConfig:"address" env:"REVA_GATEWAY"` + Address string `yaml:"address" env:"REVA_GATEWAY"` } diff --git a/proxy/pkg/config/service.go b/proxy/pkg/config/service.go index c019b7304..d1eac383f 100644 --- a/proxy/pkg/config/service.go +++ b/proxy/pkg/config/service.go @@ -2,5 +2,5 @@ package config // Service defines the available service configuration. type Service struct { - Name string `ocisConfig:"-" yaml:"-"` + Name string `yaml:"-"` } diff --git a/proxy/pkg/config/tracing.go b/proxy/pkg/config/tracing.go index 79429ee5c..05eaa05e4 100644 --- a/proxy/pkg/config/tracing.go +++ b/proxy/pkg/config/tracing.go @@ -2,8 +2,8 @@ package config // Tracing defines the available tracing configuration. type Tracing struct { - Enabled bool `ocisConfig:"enabled" env:"OCIS_TRACING_ENABLED;PROXY_TRACING_ENABLED"` - Type string `ocisConfig:"type" env:"OCIS_TRACING_TYPE;PROXY_TRACING_TYPE"` - Endpoint string `ocisConfig:"endpoint" env:"OCIS_TRACING_ENDPOINT;PROXY_TRACING_ENDPOINT"` - Collector string `ocisConfig:"collector" env:"OCIS_TRACING_COLLECTOR;PROXY_TRACING_COLLECTOR"` + Enabled bool `yaml:"enabled" env:"OCIS_TRACING_ENABLED;PROXY_TRACING_ENABLED"` + Type string `yaml:"type" env:"OCIS_TRACING_TYPE;PROXY_TRACING_TYPE"` + Endpoint string `yaml:"endpoint" env:"OCIS_TRACING_ENDPOINT;PROXY_TRACING_ENDPOINT"` + Collector string `yaml:"collector" env:"OCIS_TRACING_COLLECTOR;PROXY_TRACING_COLLECTOR"` } diff --git a/settings/package.json b/settings/package.json index 073e170e6..1b0326f6c 100644 --- a/settings/package.json +++ b/settings/package.json @@ -45,8 +45,8 @@ "@rollup/plugin-commonjs": "^17.1.0", "@rollup/plugin-json": "^4.0.1", "@rollup/plugin-replace": "^2.4.2", - "chromedriver": "^93.0.1", "archiver": "^5.3.0", + "chromedriver": "^93.0.1", "cross-env": "^7.0.3", "easygettext": "^2.7.0", "eslint": "7.32.0", diff --git a/settings/pkg/config/config.go b/settings/pkg/config/config.go index 4ee5d895d..a60b2df1f 100644 --- a/settings/pkg/config/config.go +++ b/settings/pkg/config/config.go @@ -8,38 +8,38 @@ import ( // Config combines all available configuration parts. type Config struct { - *shared.Commons `ocisConfig:"-" yaml:"-"` + *shared.Commons `yaml:"-"` - Service Service `ocisConfig:"-" yaml:"-"` + Service Service `yaml:"-"` - Tracing *Tracing `ocisConfig:"tracing"` - Log *Log `ocisConfig:"log"` - Debug Debug `ocisConfig:"debug"` + Tracing *Tracing `yaml:"tracing"` + Log *Log `yaml:"log"` + Debug Debug `yaml:"debug"` - HTTP HTTP `ocisConfig:"http"` - GRPC GRPC `ocisConfig:"grpc"` + HTTP HTTP `yaml:"http"` + GRPC GRPC `yaml:"grpc"` - StoreType string `ocisConfig:"store_type" env:"SETTINGS_STORE_TYPE"` - DataPath string `ocisConfig:"data_path" env:"SETTINGS_DATA_PATH"` - Metadata Metadata `ocisConfig:"metadata_config"` + StoreType string `yaml:"store_type" env:"SETTINGS_STORE_TYPE"` + DataPath string `yaml:"data_path" env:"SETTINGS_DATA_PATH"` + Metadata Metadata `yaml:"metadata_config"` - Asset Asset `ocisConfig:"asset"` - TokenManager TokenManager `ocisConfig:"token_manager"` + Asset Asset `yaml:"asset"` + TokenManager TokenManager `yaml:"token_manager"` - Context context.Context `ocisConfig:"-" yaml:"-"` + Context context.Context `yaml:"-"` } // Asset defines the available asset configuration. type Asset struct { - Path string `ocisConfig:"path" env:"SETTINGS_ASSET_PATH"` + Path string `yaml:"path" env:"SETTINGS_ASSET_PATH"` } // Metadata configures the metadata store to use type Metadata struct { - GatewayAddress string `ocisConfig:"gateway_addr" env:"STORAGE_GATEWAY_GRPC_ADDR"` - StorageAddress string `ocisConfig:"storage_addr" env:"STORAGE_GRPC_ADDR"` + GatewayAddress string `yaml:"gateway_addr" env:"STORAGE_GATEWAY_GRPC_ADDR"` + StorageAddress string `yaml:"storage_addr" env:"STORAGE_GRPC_ADDR"` - ServiceUserID string `ocisConfig:"service_user_id" env:"METADATA_SERVICE_USER_UUID"` - ServiceUserIDP string `ocisConfig:"service_user_idp" env:"OCIS_URL;METADATA_SERVICE_USER_IDP"` - MachineAuthAPIKey string `ocisConfig:"machine_auth_api_key" env:"OCIS_MACHINE_AUTH_API_KEY"` + ServiceUserID string `yaml:"service_user_id" env:"METADATA_SERVICE_USER_UUID"` + ServiceUserIDP string `yaml:"service_user_idp" env:"OCIS_URL;METADATA_SERVICE_USER_IDP"` + MachineAuthAPIKey string `yaml:"machine_auth_api_key" env:"OCIS_MACHINE_AUTH_API_KEY"` } diff --git a/settings/pkg/config/debug.go b/settings/pkg/config/debug.go index 5cec3b97b..e86d9056a 100644 --- a/settings/pkg/config/debug.go +++ b/settings/pkg/config/debug.go @@ -2,8 +2,8 @@ package config // Debug defines the available debug configuration. type Debug struct { - Addr string `ocisConfig:"addr" env:"SETTINGS_DEBUG_ADDR"` - Token string `ocisConfig:"token" env:"SETTINGS_DEBUG_TOKEN"` - Pprof bool `ocisConfig:"pprof" env:"SETTINGS_DEBUG_PPROF"` - Zpages bool `ocisConfig:"zpages" env:"SETTINGS_DEBUG_ZPAGES"` + Addr string `yaml:"addr" env:"SETTINGS_DEBUG_ADDR"` + Token string `yaml:"token" env:"SETTINGS_DEBUG_TOKEN"` + Pprof bool `yaml:"pprof" env:"SETTINGS_DEBUG_PPROF"` + Zpages bool `yaml:"zpages" env:"SETTINGS_DEBUG_ZPAGES"` } diff --git a/settings/pkg/config/grpc.go b/settings/pkg/config/grpc.go index fc399ca6b..f6f8a0f0d 100644 --- a/settings/pkg/config/grpc.go +++ b/settings/pkg/config/grpc.go @@ -2,6 +2,6 @@ package config // GRPC defines the available grpc configuration. type GRPC struct { - Addr string `ocisConfig:"addr" env:"SETTINGS_GRPC_ADDR"` - Namespace string `ocisConfig:"-" yaml:"-"` + Addr string `yaml:"addr" env:"SETTINGS_GRPC_ADDR"` + Namespace string `yaml:"-"` } diff --git a/settings/pkg/config/http.go b/settings/pkg/config/http.go index fa23bd1fe..5b212af05 100644 --- a/settings/pkg/config/http.go +++ b/settings/pkg/config/http.go @@ -2,17 +2,17 @@ package config // HTTP defines the available http configuration. type HTTP struct { - Addr string `ocisConfig:"addr" env:"SETTINGS_HTTP_ADDR"` - Namespace string `ocisConfig:"-" yaml:"-"` - Root string `ocisConfig:"root" env:"SETTINGS_HTTP_ROOT"` - CacheTTL int `ocisConfig:"cache_ttl" env:"SETTINGS_CACHE_TTL"` - CORS CORS `ocisConfig:"cors"` + Addr string `yaml:"addr" env:"SETTINGS_HTTP_ADDR"` + Namespace string `yaml:"-"` + Root string `yaml:"root" env:"SETTINGS_HTTP_ROOT"` + CacheTTL int `yaml:"cache_ttl" env:"SETTINGS_CACHE_TTL"` + CORS CORS `yaml:"cors"` } // CORS defines the available cors configuration. type CORS struct { - AllowedOrigins []string `ocisConfig:"allowed_origins"` - AllowedMethods []string `ocisConfig:"allowed_methods"` - AllowedHeaders []string `ocisConfig:"allowed_headers"` - AllowCredentials bool `ocisConfig:"allowed_credentials"` + AllowedOrigins []string `yaml:"allowed_origins"` + AllowedMethods []string `yaml:"allowed_methods"` + AllowedHeaders []string `yaml:"allowed_headers"` + AllowCredentials bool `yaml:"allowed_credentials"` } diff --git a/settings/pkg/config/reva.go b/settings/pkg/config/reva.go index 5427747df..85e046a57 100644 --- a/settings/pkg/config/reva.go +++ b/settings/pkg/config/reva.go @@ -2,5 +2,5 @@ package config // TokenManager is the config for using the reva token manager type TokenManager struct { - JWTSecret string `ocisConfig:"jwt_secret" env:"OCIS_JWT_SECRET;SETTINGS_JWT_SECRET"` + JWTSecret string `yaml:"jwt_secret" env:"OCIS_JWT_SECRET;SETTINGS_JWT_SECRET"` } diff --git a/settings/pkg/config/service.go b/settings/pkg/config/service.go index c019b7304..d1eac383f 100644 --- a/settings/pkg/config/service.go +++ b/settings/pkg/config/service.go @@ -2,5 +2,5 @@ package config // Service defines the available service configuration. type Service struct { - Name string `ocisConfig:"-" yaml:"-"` + Name string `yaml:"-"` } diff --git a/settings/pkg/config/tracing.go b/settings/pkg/config/tracing.go index 7197a69f3..4bf320a5f 100644 --- a/settings/pkg/config/tracing.go +++ b/settings/pkg/config/tracing.go @@ -2,8 +2,8 @@ package config // Tracing defines the available tracing configuration. type Tracing struct { - Enabled bool `ocisConfig:"enabled" env:"OCIS_TRACING_ENABLED;SETTINGS_TRACING_ENABLED"` - Type string `ocisConfig:"type" env:"OCIS_TRACING_TYPE;SETTINGS_TRACING_TYPE"` - Endpoint string `ocisConfig:"endpoint" env:"OCIS_TRACING_ENDPOINT;SETTINGS_TRACING_ENDPOINT"` - Collector string `ocisConfig:"collector" env:"OCIS_TRACING_COLLECTOR;SETTINGS_TRACING_COLLECTOR"` + Enabled bool `yaml:"enabled" env:"OCIS_TRACING_ENABLED;SETTINGS_TRACING_ENABLED"` + Type string `yaml:"type" env:"OCIS_TRACING_TYPE;SETTINGS_TRACING_TYPE"` + Endpoint string `yaml:"endpoint" env:"OCIS_TRACING_ENDPOINT;SETTINGS_TRACING_ENDPOINT"` + Collector string `yaml:"collector" env:"OCIS_TRACING_COLLECTOR;SETTINGS_TRACING_COLLECTOR"` } diff --git a/settings/yarn.lock b/settings/yarn.lock index 238b19356..76c809976 100644 --- a/settings/yarn.lock +++ b/settings/yarn.lock @@ -2438,9 +2438,9 @@ camelcase@^6.2.0: integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== caniuse-lite@^1.0.30001312: - version "1.0.30001312" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001312.tgz#e11eba4b87e24d22697dae05455d5aea28550d5f" - integrity sha512-Wiz1Psk2MEK0pX3rUzWaunLTZzqS2JYZFzNKqAiJGiuxIjRPLgV6+VDPOg6lQOUxmDwhTlh198JsTTi8Hzw6aQ== + version "1.0.30001323" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001323.tgz" + integrity sha512-e4BF2RlCVELKx8+RmklSEIVub1TWrmdhvA5kEUueummz1XyySW0DVk+3x9HyhU9MuWTa2BhqLgEuEmUwASAdCA== capital-case@^1.0.4: version "1.0.4" diff --git a/storage/pkg/command/authbasic.go b/storage/pkg/command/authbasic.go index d1a48fa69..375f35871 100644 --- a/storage/pkg/command/authbasic.go +++ b/storage/pkg/command/authbasic.go @@ -132,6 +132,17 @@ func authBasicConfigFromStruct(c *cli.Context, cfg *config.Config) map[string]in "cn": cfg.Reva.LDAP.UserSchema.CN, }, }, + "owncloudsql": map[string]interface{}{ + "dbusername": cfg.Reva.UserOwnCloudSQL.DBUsername, + "dbpassword": cfg.Reva.UserOwnCloudSQL.DBPassword, + "dbhost": cfg.Reva.UserOwnCloudSQL.DBHost, + "dbport": cfg.Reva.UserOwnCloudSQL.DBPort, + "dbname": cfg.Reva.UserOwnCloudSQL.DBName, + "idp": cfg.Reva.UserOwnCloudSQL.Idp, + "nobody": cfg.Reva.UserOwnCloudSQL.Nobody, + "join_username": cfg.Reva.UserOwnCloudSQL.JoinUsername, + "join_ownclouduuid": cfg.Reva.UserOwnCloudSQL.JoinOwnCloudUUID, + }, }, }, }, diff --git a/storage/pkg/command/sharing.go b/storage/pkg/command/sharing.go index 45f08752a..a3c17879d 100644 --- a/storage/pkg/command/sharing.go +++ b/storage/pkg/command/sharing.go @@ -121,7 +121,8 @@ func sharingConfigFromStruct(c *cli.Context, cfg *config.Config) map[string]inte "driver": cfg.Reva.Sharing.UserDriver, "drivers": map[string]interface{}{ "json": map[string]interface{}{ - "file": cfg.Reva.Sharing.UserJSONFile, + "file": cfg.Reva.Sharing.UserJSONFile, + "gateway_addr": cfg.Reva.Gateway.Endpoint, }, "sql": map[string]interface{}{ // cernbox sql "db_username": cfg.Reva.Sharing.UserSQLUsername, @@ -155,7 +156,8 @@ func sharingConfigFromStruct(c *cli.Context, cfg *config.Config) map[string]inte "driver": cfg.Reva.Sharing.PublicDriver, "drivers": map[string]interface{}{ "json": map[string]interface{}{ - "file": cfg.Reva.Sharing.PublicJSONFile, + "file": cfg.Reva.Sharing.PublicJSONFile, + "gateway_addr": cfg.Reva.Gateway.Endpoint, }, "sql": map[string]interface{}{ "db_username": cfg.Reva.Sharing.UserSQLUsername, diff --git a/storage/pkg/config/config.go b/storage/pkg/config/config.go index fcb29b09b..ee6840d90 100644 --- a/storage/pkg/config/config.go +++ b/storage/pkg/config/config.go @@ -8,123 +8,123 @@ import ( // Log defines the available logging configuration. type Log struct { - Level string `ocisConfig:"level"` - Pretty bool `ocisConfig:"pretty"` - Color bool `ocisConfig:"color"` - File string `ocisConfig:"file"` + Level string `yaml:"level"` + Pretty bool `yaml:"pretty"` + Color bool `yaml:"color"` + File string `yaml:"file"` } // Debug defines the available debug configuration. type Debug struct { - Addr string `ocisConfig:"addr"` - Token string `ocisConfig:"token"` - Pprof bool `ocisConfig:"pprof"` - Zpages bool `ocisConfig:"zpages"` + Addr string `yaml:"addr"` + Token string `yaml:"token"` + Pprof bool `yaml:"pprof"` + Zpages bool `yaml:"zpages"` } // Gateway defines the available gateway configuration. type Gateway struct { Port - CommitShareToStorageGrant bool `ocisConfig:"commit_share_to_storage_grant"` - CommitShareToStorageRef bool `ocisConfig:"commit_share_to_storage_ref"` - DisableHomeCreationOnLogin bool `ocisConfig:"disable_home_creation_on_login"` - ShareFolder string `ocisConfig:"share_folder"` - LinkGrants string `ocisConfig:"link_grants"` - HomeMapping string `ocisConfig:"home_mapping"` - EtagCacheTTL int `ocisConfig:"etag_cache_ttl"` + CommitShareToStorageGrant bool `yaml:"commit_share_to_storage_grant"` + CommitShareToStorageRef bool `yaml:"commit_share_to_storage_ref"` + DisableHomeCreationOnLogin bool `yaml:"disable_home_creation_on_login"` + ShareFolder string `yaml:"share_folder"` + LinkGrants string `yaml:"link_grants"` + HomeMapping string `yaml:"home_mapping"` + EtagCacheTTL int `yaml:"etag_cache_ttl"` } // StorageRegistry defines the available storage registry configuration type StorageRegistry struct { - Driver string `ocisConfig:"driver"` + Driver string `yaml:"driver"` // HomeProvider is the path in the global namespace that the static storage registry uses to determine the home storage - HomeProvider string `ocisConfig:"home_provider"` - Rules []string `ocisConfig:"rules"` - JSON string `ocisConfig:"json"` + HomeProvider string `yaml:"home_provider"` + Rules []string `yaml:"rules"` + JSON string `yaml:"json"` } // AppRegistry defines the available app registry configuration type AppRegistry struct { - Driver string `ocisConfig:"driver"` - MimetypesJSON string `ocisConfig:"mime_types_json"` + Driver string `yaml:"driver"` + MimetypesJSON string `yaml:"mime_types_json"` } // AppProvider defines the available app provider configuration type AppProvider struct { Port - ExternalAddr string `ocisConfig:"external_addr"` - Driver string `ocisConfig:"driver"` - WopiDriver WopiDriver `ocisConfig:"wopi_driver"` - AppsURL string `ocisConfig:"apps_url"` - OpenURL string `ocisConfig:"open_url"` - NewURL string `ocisConfig:"new_url"` + ExternalAddr string `yaml:"external_addr"` + Driver string `yaml:"driver"` + WopiDriver WopiDriver `yaml:"wopi_driver"` + AppsURL string `yaml:"apps_url"` + OpenURL string `yaml:"open_url"` + NewURL string `yaml:"new_url"` } type WopiDriver struct { - AppAPIKey string `ocisConfig:"app_api_key"` - AppDesktopOnly bool `ocisConfig:"app_desktop_only"` - AppIconURI string `ocisConfig:"app_icon_uri"` - AppInternalURL string `ocisConfig:"app_internal_url"` - AppName string `ocisConfig:"app_name"` - AppURL string `ocisConfig:"app_url"` - Insecure bool `ocisConfig:"insecure"` - IopSecret string `ocisConfig:"ipo_secret"` - JWTSecret string `ocisConfig:"jwt_secret"` - WopiURL string `ocisConfig:"wopi_url"` + AppAPIKey string `yaml:"app_api_key"` + AppDesktopOnly bool `yaml:"app_desktop_only"` + AppIconURI string `yaml:"app_icon_uri"` + AppInternalURL string `yaml:"app_internal_url"` + AppName string `yaml:"app_name"` + AppURL string `yaml:"app_url"` + Insecure bool `yaml:"insecure"` + IopSecret string `yaml:"ipo_secret"` + JWTSecret string `yaml:"jwt_secret"` + WopiURL string `yaml:"wopi_url"` } // Sharing defines the available sharing configuration. type Sharing struct { Port - UserDriver string `ocisConfig:"user_driver"` - UserJSONFile string `ocisConfig:"user_json_file"` - CS3ProviderAddr string `ocisConfig:"provider_addr"` - CS3ServiceUser string `ocisConfig:"service_user_id"` - CS3ServiceUserIdp string `ocisConfig:"service_user_idp"` - UserSQLUsername string `ocisConfig:"user_sql_username"` - UserSQLPassword string `ocisConfig:"user_sql_password"` - UserSQLHost string `ocisConfig:"user_sql_host"` - UserSQLPort int `ocisConfig:"user_sql_port"` - UserSQLName string `ocisConfig:"user_sql_name"` - PublicDriver string `ocisConfig:"public_driver"` - PublicJSONFile string `ocisConfig:"public_json_file"` - PublicPasswordHashCost int `ocisConfig:"public_password_hash_cost"` - PublicEnableExpiredSharesCleanup bool `ocisConfig:"public_enable_expired_shares_cleanup"` - PublicJanitorRunInterval int `ocisConfig:"public_janitor_run_interval"` - UserStorageMountID string `ocisConfig:"user_storage_mount_id"` - Events Events `ocisConfig:"events"` + UserDriver string `yaml:"user_driver"` + UserJSONFile string `yaml:"user_json_file"` + CS3ProviderAddr string `yaml:"provider_addr"` + CS3ServiceUser string `yaml:"service_user_id"` + CS3ServiceUserIdp string `yaml:"service_user_idp"` + UserSQLUsername string `yaml:"user_sql_username"` + UserSQLPassword string `yaml:"user_sql_password"` + UserSQLHost string `yaml:"user_sql_host"` + UserSQLPort int `yaml:"user_sql_port"` + UserSQLName string `yaml:"user_sql_name"` + PublicDriver string `yaml:"public_driver"` + PublicJSONFile string `yaml:"public_json_file"` + PublicPasswordHashCost int `yaml:"public_password_hash_cost"` + PublicEnableExpiredSharesCleanup bool `yaml:"public_enable_expired_shares_cleanup"` + PublicJanitorRunInterval int `yaml:"public_janitor_run_interval"` + UserStorageMountID string `yaml:"user_storage_mount_id"` + Events Events `yaml:"events"` } type Events struct { - Address string `ocisConfig:"address"` - ClusterID string `ocisConfig:"cluster_id"` + Address string `yaml:"address"` + ClusterID string `yaml:"cluster_id"` } // Port defines the available port configuration. type Port struct { // MaxCPUs can be a number or a percentage - MaxCPUs string `ocisConfig:"max_cpus"` - LogLevel string `ocisConfig:"log_level"` + MaxCPUs string `yaml:"max_cpus"` + LogLevel string `yaml:"log_level"` // GRPCNetwork can be tcp, udp or unix - GRPCNetwork string `ocisConfig:"grpc_network"` + GRPCNetwork string `yaml:"grpc_network"` // GRPCAddr to listen on, hostname:port (0.0.0.0:9999 for all interfaces) or socket (/var/run/reva/sock) - GRPCAddr string `ocisConfig:"grpc_addr"` + GRPCAddr string `yaml:"grpc_addr"` // Protocol can be grpc or http // HTTPNetwork can be tcp, udp or unix - HTTPNetwork string `ocisConfig:"http_network"` + HTTPNetwork string `yaml:"http_network"` // HTTPAddr to listen on, hostname:port (0.0.0.0:9100 for all interfaces) or socket (/var/run/reva/sock) - HTTPAddr string `ocisConfig:"http_addr"` + HTTPAddr string `yaml:"http_addr"` // Protocol can be grpc or http - Protocol string `ocisConfig:"protocol"` + Protocol string `yaml:"protocol"` // Endpoint is used by the gateway and registries (eg localhost:9100 or cloud.example.com) - Endpoint string `ocisConfig:"endpoint"` + Endpoint string `yaml:"endpoint"` // DebugAddr for the debug endpoint to bind to - DebugAddr string `ocisConfig:"debug_addr"` + DebugAddr string `yaml:"debug_addr"` // Services can be used to give a list of services that should be started on this port - Services []string `ocisConfig:"services"` + Services []string `yaml:"services"` // Config can be used to configure the reva instance. // Services and Protocol will be ignored if this is used - Config map[string]interface{} `ocisConfig:"config"` + Config map[string]interface{} `yaml:"config"` // Context allows for context cancellation and propagation Context context.Context @@ -136,120 +136,120 @@ type Port struct { // Users defines the available users configuration. type Users struct { Port - Driver string `ocisConfig:"driver"` - JSON string `ocisConfig:"json"` - UserGroupsCacheExpiration int `ocisConfig:"user_groups_cache_expiration"` + Driver string `yaml:"driver"` + JSON string `yaml:"json"` + UserGroupsCacheExpiration int `yaml:"user_groups_cache_expiration"` } // AuthMachineConfig defines the available configuration for the machine auth driver. type AuthMachineConfig struct { - MachineAuthAPIKey string `ocisConfig:"machine_auth_api_key"` + MachineAuthAPIKey string `yaml:"machine_auth_api_key"` } // Groups defines the available groups configuration. type Groups struct { Port - Driver string `ocisConfig:"driver"` - JSON string `ocisConfig:"json"` - GroupMembersCacheExpiration int `ocisConfig:"group_members_cache_expiration"` + Driver string `yaml:"driver"` + JSON string `yaml:"json"` + GroupMembersCacheExpiration int `yaml:"group_members_cache_expiration"` } // FrontendPort defines the available frontend configuration. type FrontendPort struct { Port - AppProviderInsecure bool `ocisConfig:"app_provider_insecure"` - AppProviderPrefix string `ocisConfig:"app_provider_prefix"` - ArchiverInsecure bool `ocisConfig:"archiver_insecure"` - ArchiverPrefix string `ocisConfig:"archiver_prefix"` - DatagatewayPrefix string `ocisConfig:"data_gateway_prefix"` - Favorites bool `ocisConfig:"favorites"` - ProjectSpaces bool `ocisConfig:"project_spaces"` - OCDavInsecure bool `ocisConfig:"ocdav_insecure"` - OCDavPrefix string `ocisConfig:"ocdav_prefix"` - OCSPrefix string `ocisConfig:"ocs_prefix"` - OCSSharePrefix string `ocisConfig:"ocs_share_prefix"` - OCSHomeNamespace string `ocisConfig:"ocs_home_namespace"` - PublicURL string `ocisConfig:"public_url"` - OCSCacheWarmupDriver string `ocisConfig:"ocs_cache_warmup_driver"` - OCSAdditionalInfoAttribute string `ocisConfig:"ocs_additional_info_attribute"` - OCSResourceInfoCacheTTL int `ocisConfig:"ocs_resource_info_cache_ttl"` - Middleware Middleware `ocisConfig:"middleware"` + AppProviderInsecure bool `yaml:"app_provider_insecure"` + AppProviderPrefix string `yaml:"app_provider_prefix"` + ArchiverInsecure bool `yaml:"archiver_insecure"` + ArchiverPrefix string `yaml:"archiver_prefix"` + DatagatewayPrefix string `yaml:"data_gateway_prefix"` + Favorites bool `yaml:"favorites"` + ProjectSpaces bool `yaml:"project_spaces"` + OCDavInsecure bool `yaml:"ocdav_insecure"` + OCDavPrefix string `yaml:"ocdav_prefix"` + OCSPrefix string `yaml:"ocs_prefix"` + OCSSharePrefix string `yaml:"ocs_share_prefix"` + OCSHomeNamespace string `yaml:"ocs_home_namespace"` + PublicURL string `yaml:"public_url"` + OCSCacheWarmupDriver string `yaml:"ocs_cache_warmup_driver"` + OCSAdditionalInfoAttribute string `yaml:"ocs_additional_info_attribute"` + OCSResourceInfoCacheTTL int `yaml:"ocs_resource_info_cache_ttl"` + Middleware Middleware `yaml:"middleware"` } // Middleware configures reva middlewares. type Middleware struct { - Auth Auth `ocisConfig:"auth"` + Auth Auth `yaml:"auth"` } // Auth configures reva http auth middleware. type Auth struct { - CredentialsByUserAgent map[string]string `ocisConfig:"credentials_by_user_agenr"` + CredentialsByUserAgent map[string]string `yaml:"credentials_by_user_agenr"` } // DataGatewayPort has a public url type DataGatewayPort struct { Port - PublicURL string `ocisConfig:""` + PublicURL string `yaml:""` } type DataProvider struct { - Insecure bool `ocisConfig:"insecure"` + Insecure bool `yaml:"insecure"` } // StoragePort defines the available storage configuration. type StoragePort struct { Port - Driver string `ocisConfig:"driver"` - MountID string `ocisConfig:"mount_id"` - AlternativeID string `ocisConfig:"alternative_id"` - ExposeDataServer bool `ocisConfig:"expose_data_server"` + Driver string `yaml:"driver"` + MountID string `yaml:"mount_id"` + AlternativeID string `yaml:"alternative_id"` + ExposeDataServer bool `yaml:"expose_data_server"` // url the data gateway will use to route requests - DataServerURL string `ocisConfig:"data_server_url"` + DataServerURL string `yaml:"data_server_url"` // for HTTP ports with only one http service - HTTPPrefix string `ocisConfig:"http_prefix"` - TempFolder string `ocisConfig:"temp_folder"` - ReadOnly bool `ocisConfig:"read_only"` - DataProvider DataProvider `ocisConfig:"data_provider"` - GatewayEndpoint string `ocisConfig:"gateway_endpoint"` + HTTPPrefix string `yaml:"http_prefix"` + TempFolder string `yaml:"temp_folder"` + ReadOnly bool `yaml:"read_only"` + DataProvider DataProvider `yaml:"data_provider"` + GatewayEndpoint string `yaml:"gateway_endpoint"` } // PublicStorage configures a public storage provider type PublicStorage struct { StoragePort - PublicShareProviderAddr string `ocisConfig:"public_share_provider_addr"` - UserProviderAddr string `ocisConfig:"user_provider_addr"` + PublicShareProviderAddr string `yaml:"public_share_provider_addr"` + UserProviderAddr string `yaml:"user_provider_addr"` } // StorageConfig combines all available storage driver configuration parts. type StorageConfig struct { - EOS DriverEOS `ocisConfig:"eos"` - Local DriverCommon `ocisConfig:"local"` - OwnCloudSQL DriverOwnCloudSQL `ocisConfig:"owncloud_sql"` - S3 DriverS3 `ocisConfig:"s3"` - S3NG DriverS3NG `ocisConfig:"s3ng"` - OCIS DriverOCIS `ocisConfig:"ocis"` + EOS DriverEOS `yaml:"eos"` + Local DriverCommon `yaml:"local"` + OwnCloudSQL DriverOwnCloudSQL `yaml:"owncloud_sql"` + S3 DriverS3 `yaml:"s3"` + S3NG DriverS3NG `yaml:"s3ng"` + OCIS DriverOCIS `yaml:"ocis"` } // DriverCommon defines common driver configuration options. type DriverCommon struct { // Root is the absolute path to the location of the data - Root string `ocisConfig:"root"` + Root string `yaml:"root"` //ShareFolder defines the name of the folder jailing all shares - ShareFolder string `ocisConfig:"share_folder"` + ShareFolder string `yaml:"share_folder"` // UserLayout contains the template used to construct // the internal path, eg: `{{substr 0 1 .Username}}/{{.Username}}` - UserLayout string `ocisConfig:"user_layout"` + UserLayout string `yaml:"user_layout"` // EnableHome enables the creation of home directories. - EnableHome bool `ocisConfig:"enable_home"` + EnableHome bool `yaml:"enable_home"` // PersonalSpaceAliasTemplate contains the template used to construct // the personal space alias, eg: `"{{.SpaceType}}/{{.User.Username | lower}}"` - PersonalSpaceAliasTemplate string `ocisConfig:"personalspacealias_template"` + PersonalSpaceAliasTemplate string `yaml:"personalspacealias_template"` // GeneralSpaceAliasTemplate contains the template used to construct // the general space alias, eg: `{{.SpaceType}}/{{.SpaceName | replace " " "-" | lower}}` - GeneralSpaceAliasTemplate string `ocisConfig:"generalspacealias_template"` + GeneralSpaceAliasTemplate string `yaml:"generalspacealias_template"` } // DriverEOS defines the available EOS driver configuration. @@ -257,60 +257,60 @@ type DriverEOS struct { DriverCommon // ShadowNamespace for storing shadow data - ShadowNamespace string `ocisConfig:"shadow_namespace"` + ShadowNamespace string `yaml:"shadow_namespace"` // UploadsNamespace for storing upload data - UploadsNamespace string `ocisConfig:"uploads_namespace"` + UploadsNamespace string `yaml:"uploads_namespace"` // Location of the eos binary. // Default is /usr/bin/eos. - EosBinary string `ocisConfig:"eos_binary"` + EosBinary string `yaml:"eos_binary"` // Location of the xrdcopy binary. // Default is /usr/bin/xrdcopy. - XrdcopyBinary string `ocisConfig:"xrd_copy_binary"` + XrdcopyBinary string `yaml:"xrd_copy_binary"` // URL of the Master EOS MGM. // Default is root://eos-example.org - MasterURL string `ocisConfig:"master_url"` + MasterURL string `yaml:"master_url"` // URI of the EOS MGM grpc server // Default is empty - GrpcURI string `ocisConfig:"grpc_uri"` + GrpcURI string `yaml:"grpc_uri"` // URL of the Slave EOS MGM. // Default is root://eos-example.org - SlaveURL string `ocisConfig:"slave_url"` + SlaveURL string `yaml:"slave_url"` // Location on the local fs where to store reads. // Defaults to os.TempDir() - CacheDirectory string `ocisConfig:"cache_directory"` + CacheDirectory string `yaml:"cache_directory"` // Enables logging of the commands executed // Defaults to false - EnableLogging bool `ocisConfig:"enable_logging"` + EnableLogging bool `yaml:"enable_logging"` // ShowHiddenSysFiles shows internal EOS files like // .sys.v# and .sys.a# files. - ShowHiddenSysFiles bool `ocisConfig:"shadow_hidden_files"` + ShowHiddenSysFiles bool `yaml:"shadow_hidden_files"` // ForceSingleUserMode will force connections to EOS to use SingleUsername - ForceSingleUserMode bool `ocisConfig:"force_single_user_mode"` + ForceSingleUserMode bool `yaml:"force_single_user_mode"` // UseKeyTabAuth changes will authenticate requests by using an EOS keytab. - UseKeytab bool `ocisConfig:"user_keytab"` + UseKeytab bool `yaml:"user_keytab"` // SecProtocol specifies the xrootd security protocol to use between the server and EOS. - SecProtocol string `ocisConfig:"sec_protocol"` + SecProtocol string `yaml:"sec_protocol"` // Keytab specifies the location of the keytab to use to authenticate to EOS. - Keytab string `ocisConfig:"keytab"` + Keytab string `yaml:"keytab"` // SingleUsername is the username to use when SingleUserMode is enabled - SingleUsername string `ocisConfig:"single_username"` + SingleUsername string `yaml:"single_username"` // gateway service to use for uid lookups - GatewaySVC string `ocisConfig:"gateway_svc"` + GatewaySVC string `yaml:"gateway_svc"` } // DriverOCIS defines the available oCIS storage driver configuration. @@ -322,198 +322,198 @@ type DriverOCIS struct { type DriverOwnCloudSQL struct { DriverCommon - UploadInfoDir string `ocisConfig:"upload_info_dir"` - DBUsername string `ocisConfig:"db_username"` - DBPassword string `ocisConfig:"db_password"` - DBHost string `ocisConfig:"db_host"` - DBPort int `ocisConfig:"db_port"` - DBName string `ocisConfig:"db_name"` + UploadInfoDir string `yaml:"upload_info_dir"` + DBUsername string `yaml:"db_username"` + DBPassword string `yaml:"db_password"` + DBHost string `yaml:"db_host"` + DBPort int `yaml:"db_port"` + DBName string `yaml:"db_name"` } // DriverS3 defines the available S3 storage driver configuration. type DriverS3 struct { DriverCommon - Region string `ocisConfig:"region"` - AccessKey string `ocisConfig:"access_key"` - SecretKey string `ocisConfig:"secret_key"` - Endpoint string `ocisConfig:"endpoint"` - Bucket string `ocisConfig:"bucket"` + Region string `yaml:"region"` + AccessKey string `yaml:"access_key"` + SecretKey string `yaml:"secret_key"` + Endpoint string `yaml:"endpoint"` + Bucket string `yaml:"bucket"` } // DriverS3NG defines the available s3ng storage driver configuration. type DriverS3NG struct { DriverCommon - Region string `ocisConfig:"region"` - AccessKey string `ocisConfig:"access_key"` - SecretKey string `ocisConfig:"secret_key"` - Endpoint string `ocisConfig:"endpoint"` - Bucket string `ocisConfig:"bucket"` + Region string `yaml:"region"` + AccessKey string `yaml:"access_key"` + SecretKey string `yaml:"secret_key"` + Endpoint string `yaml:"endpoint"` + Bucket string `yaml:"bucket"` } // OIDC defines the available OpenID Connect configuration. type OIDC struct { - Issuer string `ocisConfig:"issuer"` - Insecure bool `ocisConfig:"insecure"` - IDClaim string `ocisConfig:"id_claim"` - UIDClaim string `ocisConfig:"uid_claim"` - GIDClaim string `ocisConfig:"gid_claim"` + Issuer string `yaml:"issuer"` + Insecure bool `yaml:"insecure"` + IDClaim string `yaml:"id_claim"` + UIDClaim string `yaml:"uid_claim"` + GIDClaim string `yaml:"gid_claim"` } // LDAP defines the available ldap configuration. type LDAP struct { - Hostname string `ocisConfig:"hostname"` - Port int `ocisConfig:"port"` - CACert string `ocisConfig:"ca_cert"` - Insecure bool `ocisConfig:"insecure"` - BaseDN string `ocisConfig:"base_dn"` - LoginFilter string `ocisConfig:"login_filter"` - UserFilter string `ocisConfig:"user_filter"` - UserAttributeFilter string `ocisConfig:"user_attribute_filter"` - UserFindFilter string `ocisConfig:"user_find_filter"` - UserGroupFilter string `ocisConfig:"user_group_filter"` - GroupFilter string `ocisConfig:"group_filter"` - GroupAttributeFilter string `ocisConfig:"group_attribute_filter"` - GroupFindFilter string `ocisConfig:"group_finder_filter"` - GroupMemberFilter string `ocisConfig:"group_member_filter"` - BindDN string `ocisConfig:"bind_dn"` - BindPassword string `ocisConfig:"bind_password"` - IDP string `ocisConfig:"idp"` - UserSchema LDAPUserSchema `ocisConfig:"user_schema"` - GroupSchema LDAPGroupSchema `ocisConfig:"group_schema"` + Hostname string `yaml:"hostname"` + Port int `yaml:"port"` + CACert string `yaml:"ca_cert"` + Insecure bool `yaml:"insecure"` + BaseDN string `yaml:"base_dn"` + LoginFilter string `yaml:"login_filter"` + UserFilter string `yaml:"user_filter"` + UserAttributeFilter string `yaml:"user_attribute_filter"` + UserFindFilter string `yaml:"user_find_filter"` + UserGroupFilter string `yaml:"user_group_filter"` + GroupFilter string `yaml:"group_filter"` + GroupAttributeFilter string `yaml:"group_attribute_filter"` + GroupFindFilter string `yaml:"group_finder_filter"` + GroupMemberFilter string `yaml:"group_member_filter"` + BindDN string `yaml:"bind_dn"` + BindPassword string `yaml:"bind_password"` + IDP string `yaml:"idp"` + UserSchema LDAPUserSchema `yaml:"user_schema"` + GroupSchema LDAPGroupSchema `yaml:"group_schema"` } // UserGroupRest defines the REST driver specification for user and group resolution. type UserGroupRest struct { - ClientID string `ocisConfig:"client_id"` - ClientSecret string `ocisConfig:"client_secret"` - RedisAddress string `ocisConfig:"redis_address"` - RedisUsername string `ocisConfig:"redis_username"` - RedisPassword string `ocisConfig:"redis_password"` - IDProvider string `ocisConfig:"idp_provider"` - APIBaseURL string `ocisConfig:"api_base_url"` - OIDCTokenEndpoint string `ocisConfig:"oidc_token_endpoint"` - TargetAPI string `ocisConfig:"target_api"` + ClientID string `yaml:"client_id"` + ClientSecret string `yaml:"client_secret"` + RedisAddress string `yaml:"redis_address"` + RedisUsername string `yaml:"redis_username"` + RedisPassword string `yaml:"redis_password"` + IDProvider string `yaml:"idp_provider"` + APIBaseURL string `yaml:"api_base_url"` + OIDCTokenEndpoint string `yaml:"oidc_token_endpoint"` + TargetAPI string `yaml:"target_api"` } // UserOwnCloudSQL defines the available ownCloudSQL user provider configuration. type UserOwnCloudSQL struct { - DBUsername string `ocisConfig:"db_username"` - DBPassword string `ocisConfig:"db_password"` - DBHost string `ocisConfig:"db_host"` - DBPort int `ocisConfig:"db_port"` - DBName string `ocisConfig:"db_name"` - Idp string `ocisConfig:"idp"` - Nobody int64 `ocisConfig:"nobody"` - JoinUsername bool `ocisConfig:"join_username"` - JoinOwnCloudUUID bool `ocisConfig:"join_owncloud_uuid"` - EnableMedialSearch bool `ocisConfig:"enable_medial_search"` + DBUsername string `yaml:"db_username"` + DBPassword string `yaml:"db_password"` + DBHost string `yaml:"db_host"` + DBPort int `yaml:"db_port"` + DBName string `yaml:"db_name"` + Idp string `yaml:"idp"` + Nobody int64 `yaml:"nobody"` + JoinUsername bool `yaml:"join_username"` + JoinOwnCloudUUID bool `yaml:"join_owncloud_uuid"` + EnableMedialSearch bool `yaml:"enable_medial_search"` } // LDAPUserSchema defines the available ldap user schema configuration. type LDAPUserSchema struct { - UID string `ocisConfig:"uid"` - Mail string `ocisConfig:"mail"` - DisplayName string `ocisConfig:"display_name"` - CN string `ocisConfig:"cn"` - UIDNumber string `ocisConfig:"uid_number"` - GIDNumber string `ocisConfig:"gid_number"` + UID string `yaml:"uid"` + Mail string `yaml:"mail"` + DisplayName string `yaml:"display_name"` + CN string `yaml:"cn"` + UIDNumber string `yaml:"uid_number"` + GIDNumber string `yaml:"gid_number"` } // LDAPGroupSchema defines the available ldap group schema configuration. type LDAPGroupSchema struct { - GID string `ocisConfig:"gid"` - Mail string `ocisConfig:"mail"` - DisplayName string `ocisConfig:"display_name"` - CN string `ocisConfig:"cn"` - GIDNumber string `ocisConfig:"gid_number"` + GID string `yaml:"gid"` + Mail string `yaml:"mail"` + DisplayName string `yaml:"display_name"` + CN string `yaml:"cn"` + GIDNumber string `yaml:"gid_number"` } // OCDav defines the available ocdav configuration. type OCDav struct { - WebdavNamespace string `ocisConfig:"webdav_namespace"` - DavFilesNamespace string `ocisConfig:"dav_files_namespace"` + WebdavNamespace string `yaml:"webdav_namespace"` + DavFilesNamespace string `yaml:"dav_files_namespace"` } // Archiver defines the available archiver configuration. type Archiver struct { - MaxNumFiles int64 `ocisConfig:"max_num_files"` - MaxSize int64 `ocisConfig:"max_size"` - ArchiverURL string `ocisConfig:"archiver_url"` + MaxNumFiles int64 `yaml:"max_num_files"` + MaxSize int64 `yaml:"max_size"` + ArchiverURL string `yaml:"archiver_url"` } // Reva defines the available reva configuration. type Reva struct { // JWTSecret used to sign jwt tokens between services - JWTSecret string `ocisConfig:"jwt_secret"` - SkipUserGroupsInToken bool `ocisConfig:"skip_user_grooups_in_token"` - TransferSecret string `ocisConfig:"transfer_secret"` - TransferExpires int `ocisConfig:"transfer_expires"` - OIDC OIDC `ocisConfig:"oidc"` - LDAP LDAP `ocisConfig:"ldap"` - UserGroupRest UserGroupRest `ocisConfig:"user_group_rest"` - UserOwnCloudSQL UserOwnCloudSQL `ocisConfig:"user_owncloud_sql"` - OCDav OCDav `ocisConfig:"ocdav"` - Archiver Archiver `ocisConfig:"archiver"` - UserStorage StorageConfig `ocisConfig:"user_storage"` - MetadataStorage StorageConfig `ocisConfig:"metadata_storage"` + JWTSecret string `yaml:"jwt_secret"` + SkipUserGroupsInToken bool `yaml:"skip_user_grooups_in_token"` + TransferSecret string `yaml:"transfer_secret"` + TransferExpires int `yaml:"transfer_expires"` + OIDC OIDC `yaml:"oidc"` + LDAP LDAP `yaml:"ldap"` + UserGroupRest UserGroupRest `yaml:"user_group_rest"` + UserOwnCloudSQL UserOwnCloudSQL `yaml:"user_owncloud_sql"` + OCDav OCDav `yaml:"ocdav"` + Archiver Archiver `yaml:"archiver"` + UserStorage StorageConfig `yaml:"user_storage"` + MetadataStorage StorageConfig `yaml:"metadata_storage"` // Ports are used to configure which services to start on which port - Frontend FrontendPort `ocisConfig:"frontend"` - DataGateway DataGatewayPort `ocisConfig:"data_gateway"` - Gateway Gateway `ocisConfig:"gateway"` - StorageRegistry StorageRegistry `ocisConfig:"storage_registry"` - AppRegistry AppRegistry `ocisConfig:"app_registry"` - Users Users `ocisConfig:"users"` - Groups Groups `ocisConfig:"groups"` - AuthProvider Users `ocisConfig:"auth_provider"` - AuthBasic Port `ocisConfig:"auth_basic"` - AuthBearer Port `ocisConfig:"auth_bearer"` - AuthMachine Port `ocisConfig:"auth_machine"` - AuthMachineConfig AuthMachineConfig `ocisConfig:"auth_machine_config"` - Sharing Sharing `ocisConfig:"sharing"` - StorageShares StoragePort `ocisConfig:"storage_shares"` - StorageUsers StoragePort `ocisConfig:"storage_users"` - StoragePublicLink PublicStorage `ocisConfig:"storage_public_link"` - StorageMetadata StoragePort `ocisConfig:"storage_metadata"` - AppProvider AppProvider `ocisConfig:"app_provider"` - Permissions Port `ocisConfig:"permissions"` + Frontend FrontendPort `yaml:"frontend"` + DataGateway DataGatewayPort `yaml:"data_gateway"` + Gateway Gateway `yaml:"gateway"` + StorageRegistry StorageRegistry `yaml:"storage_registry"` + AppRegistry AppRegistry `yaml:"app_registry"` + Users Users `yaml:"users"` + Groups Groups `yaml:"groups"` + AuthProvider Users `yaml:"auth_provider"` + AuthBasic Port `yaml:"auth_basic"` + AuthBearer Port `yaml:"auth_bearer"` + AuthMachine Port `yaml:"auth_machine"` + AuthMachineConfig AuthMachineConfig `yaml:"auth_machine_config"` + Sharing Sharing `yaml:"sharing"` + StorageShares StoragePort `yaml:"storage_shares"` + StorageUsers StoragePort `yaml:"storage_users"` + StoragePublicLink PublicStorage `yaml:"storage_public_link"` + StorageMetadata StoragePort `yaml:"storage_metadata"` + AppProvider AppProvider `yaml:"app_provider"` + Permissions Port `yaml:"permissions"` // Configs can be used to configure the reva instance. // Services and Ports will be ignored if this is used - Configs map[string]interface{} `ocisConfig:"configs"` + Configs map[string]interface{} `yaml:"configs"` // chunking and resumable upload config (TUS) - UploadMaxChunkSize int `ocisConfig:"uppload_max_chunk_size"` - UploadHTTPMethodOverride string `ocisConfig:"upload_http_method_override"` + UploadMaxChunkSize int `yaml:"uppload_max_chunk_size"` + UploadHTTPMethodOverride string `yaml:"upload_http_method_override"` // checksumming capabilities - ChecksumSupportedTypes []string `ocisConfig:"checksum_supported_types"` - ChecksumPreferredUploadType string `ocisConfig:"checksum_preferred_upload_type"` - DefaultUploadProtocol string `ocisConfig:"default_upload_protocol"` + ChecksumSupportedTypes []string `yaml:"checksum_supported_types"` + ChecksumPreferredUploadType string `yaml:"checksum_preferred_upload_type"` + DefaultUploadProtocol string `yaml:"default_upload_protocol"` } // Tracing defines the available tracing configuration. type Tracing struct { - Enabled bool `ocisConfig:"enabled"` - Type string `ocisConfig:"type"` - Endpoint string `ocisConfig:"endpoint"` - Collector string `ocisConfig:"collector"` - Service string `ocisConfig:"service"` + Enabled bool `yaml:"enabled"` + Type string `yaml:"type"` + Endpoint string `yaml:"endpoint"` + Collector string `yaml:"collector"` + Service string `yaml:"service"` } // Asset defines the available asset configuration. type Asset struct { - Path string `ocisConfig:"path"` + Path string `yaml:"path"` } // Config combines all available configuration parts. type Config struct { *shared.Commons - File string `ocisConfig:"file"` - Log *shared.Log `ocisConfig:"log"` - Debug Debug `ocisConfig:"debug"` - Reva Reva `ocisConfig:"reva"` - Tracing Tracing `ocisConfig:"tracing"` - Asset Asset `ocisConfig:"asset"` + File string `yaml:"file"` + Log *shared.Log `yaml:"log"` + Debug Debug `yaml:"debug"` + Reva Reva `yaml:"reva"` + Tracing Tracing `yaml:"tracing"` + Asset Asset `yaml:"asset"` } // New initializes a new configuration with or without defaults. diff --git a/store/pkg/config/config.go b/store/pkg/config/config.go index 7c8bc6ae1..2c210a34a 100644 --- a/store/pkg/config/config.go +++ b/store/pkg/config/config.go @@ -8,17 +8,17 @@ import ( // Config combines all available configuration parts. type Config struct { - *shared.Commons `ocisConfig:"-" yaml:"-"` + *shared.Commons `yaml:"-"` - Service Service `ocisConfig:"-" yaml:"-"` + Service Service `yaml:"-"` - Tracing *Tracing `ocisConfig:"tracing"` - Log *Log `ocisConfig:"log"` - Debug Debug `ocisConfig:"debug"` + Tracing *Tracing `yaml:"tracing"` + Log *Log `yaml:"log"` + Debug Debug `yaml:"debug"` - GRPC GRPC `ocisConfig:"grpc"` + GRPC GRPC `yaml:"grpc"` - Datapath string `ocisConfig:"data_path" env:"STORE_DATA_PATH"` + Datapath string `yaml:"data_path" env:"STORE_DATA_PATH"` - Context context.Context `ocisConfig:"-" yaml:"-"` + Context context.Context `yaml:"-"` } diff --git a/store/pkg/config/debug.go b/store/pkg/config/debug.go index a168ce846..4aa297a17 100644 --- a/store/pkg/config/debug.go +++ b/store/pkg/config/debug.go @@ -2,8 +2,8 @@ package config // Debug defines the available debug configuration. type Debug struct { - Addr string `ocisConfig:"addr" env:"STORE_DEBUG_ADDR"` - Token string `ocisConfig:"token" env:"STORE_DEBUG_TOKEN"` - Pprof bool `ocisConfig:"pprof" env:"STORE_DEBUG_PPROF"` - Zpages bool `ocisConfig:"zpages" env:"STORE_DEBUG_ZPAGES"` + Addr string `yaml:"addr" env:"STORE_DEBUG_ADDR"` + Token string `yaml:"token" env:"STORE_DEBUG_TOKEN"` + Pprof bool `yaml:"pprof" env:"STORE_DEBUG_PPROF"` + Zpages bool `yaml:"zpages" env:"STORE_DEBUG_ZPAGES"` } diff --git a/store/pkg/config/grpc.go b/store/pkg/config/grpc.go index 095e30f6b..79abc6b26 100644 --- a/store/pkg/config/grpc.go +++ b/store/pkg/config/grpc.go @@ -2,6 +2,6 @@ package config // GRPC defines the available grpc configuration. type GRPC struct { - Addr string `ocisConfig:"addr" env:"STORE_GRPC_ADDR"` - Namespace string `ocisConfig:"-" yaml:"-"` + Addr string `yaml:"addr" env:"STORE_GRPC_ADDR"` + Namespace string `yaml:"-"` } diff --git a/store/pkg/config/service.go b/store/pkg/config/service.go index c019b7304..d1eac383f 100644 --- a/store/pkg/config/service.go +++ b/store/pkg/config/service.go @@ -2,5 +2,5 @@ package config // Service defines the available service configuration. type Service struct { - Name string `ocisConfig:"-" yaml:"-"` + Name string `yaml:"-"` } diff --git a/store/pkg/config/tracing.go b/store/pkg/config/tracing.go index 7e1ba1821..d075cb659 100644 --- a/store/pkg/config/tracing.go +++ b/store/pkg/config/tracing.go @@ -2,8 +2,8 @@ package config // Tracing defines the available tracing configuration. type Tracing struct { - Enabled bool `ocisConfig:"enabled" env:"OCIS_TRACING_ENABLED;STORE_TRACING_ENABLED"` - Type string `ocisConfig:"type" env:"OCIS_TRACING_TYPE;STORE_TRACING_TYPE"` - Endpoint string `ocisConfig:"endpoint" env:"OCIS_TRACING_ENDPOINT;STORE_TRACING_ENDPOINT"` - Collector string `ocisConfig:"collector" env:"OCIS_TRACING_COLLECTOR;STORE_TRACING_COLLECTOR"` + Enabled bool `yaml:"enabled" env:"OCIS_TRACING_ENABLED;STORE_TRACING_ENABLED"` + Type string `yaml:"type" env:"OCIS_TRACING_TYPE;STORE_TRACING_TYPE"` + Endpoint string `yaml:"endpoint" env:"OCIS_TRACING_ENDPOINT;STORE_TRACING_ENDPOINT"` + Collector string `yaml:"collector" env:"OCIS_TRACING_COLLECTOR;STORE_TRACING_COLLECTOR"` } diff --git a/tests/acceptance/expected-failures-API-on-OCIS-storage.md b/tests/acceptance/expected-failures-API-on-OCIS-storage.md index 5fae06eaa..32f9cce2c 100644 --- a/tests/acceptance/expected-failures-API-on-OCIS-storage.md +++ b/tests/acceptance/expected-failures-API-on-OCIS-storage.md @@ -193,95 +193,95 @@ Synchronization features like etag propagation, setting mtime and locking files - [apiWebdavLocks/requestsWithToken.feature:156](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks/requestsWithToken.feature#L156) - [apiWebdavLocks/requestsWithToken.feature:157](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks/requestsWithToken.feature#L157) - [apiWebdavLocks/requestsWithToken.feature:162](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks/requestsWithToken.feature#L162) +- [apiWebdavLocks2/resharedSharesToShares.feature:31](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L31) +- [apiWebdavLocks2/resharedSharesToShares.feature:32](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L32) - [apiWebdavLocks2/resharedSharesToShares.feature:33](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L33) - [apiWebdavLocks2/resharedSharesToShares.feature:34](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L34) -- [apiWebdavLocks2/resharedSharesToShares.feature:35](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L35) -- [apiWebdavLocks2/resharedSharesToShares.feature:36](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L36) -- [apiWebdavLocks2/resharedSharesToShares.feature:65](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L65) -- [apiWebdavLocks2/resharedSharesToShares.feature:66](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L66) -- [apiWebdavLocks2/resharedSharesToShares.feature:67](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L67) -- [apiWebdavLocks2/resharedSharesToShares.feature:68](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L68) -- [apiWebdavLocks2/resharedSharesToShares.feature:91](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L91) -- [apiWebdavLocks2/resharedSharesToShares.feature:92](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L92) -- [apiWebdavLocks2/resharedSharesToShares.feature:93](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L93) -- [apiWebdavLocks2/resharedSharesToShares.feature:94](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L94) -- [apiWebdavLocks2/resharedSharesToShares.feature:115](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L115) -- [apiWebdavLocks2/resharedSharesToShares.feature:116](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L116) -- [apiWebdavLocks2/resharedSharesToShares.feature:117](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L117) -- [apiWebdavLocks2/resharedSharesToShares.feature:118](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L118) -- [apiWebdavLocks2/resharedSharesToShares.feature:144](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L144) -- [apiWebdavLocks2/resharedSharesToShares.feature:145](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L145) -- [apiWebdavLocks2/resharedSharesToShares.feature:146](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L146) -- [apiWebdavLocks2/resharedSharesToShares.feature:147](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L147) +- [apiWebdavLocks2/resharedSharesToShares.feature:61](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L61) +- [apiWebdavLocks2/resharedSharesToShares.feature:62](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L62) +- [apiWebdavLocks2/resharedSharesToShares.feature:63](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L63) +- [apiWebdavLocks2/resharedSharesToShares.feature:64](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L64) +- [apiWebdavLocks2/resharedSharesToShares.feature:87](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L87) +- [apiWebdavLocks2/resharedSharesToShares.feature:88](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L88) +- [apiWebdavLocks2/resharedSharesToShares.feature:89](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L89) +- [apiWebdavLocks2/resharedSharesToShares.feature:90](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L90) +- [apiWebdavLocks2/resharedSharesToShares.feature:109](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L109) +- [apiWebdavLocks2/resharedSharesToShares.feature:110](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L110) +- [apiWebdavLocks2/resharedSharesToShares.feature:111](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L111) +- [apiWebdavLocks2/resharedSharesToShares.feature:112](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L112) +- [apiWebdavLocks2/resharedSharesToShares.feature:136](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L136) +- [apiWebdavLocks2/resharedSharesToShares.feature:137](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L137) +- [apiWebdavLocks2/resharedSharesToShares.feature:138](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L138) +- [apiWebdavLocks2/resharedSharesToShares.feature:139](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L139) +- [apiWebdavLocks2/setTimeout.feature:24](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L24) +- [apiWebdavLocks2/setTimeout.feature:25](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L25) +- [apiWebdavLocks2/setTimeout.feature:26](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L26) +- [apiWebdavLocks2/setTimeout.feature:27](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L27) - [apiWebdavLocks2/setTimeout.feature:32](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L32) - [apiWebdavLocks2/setTimeout.feature:33](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L33) -- [apiWebdavLocks2/setTimeout.feature:34](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L34) -- [apiWebdavLocks2/setTimeout.feature:35](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L35) -- [apiWebdavLocks2/setTimeout.feature:40](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L40) -- [apiWebdavLocks2/setTimeout.feature:41](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L41) +- [apiWebdavLocks2/setTimeout.feature:47](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L47) +- [apiWebdavLocks2/setTimeout.feature:48](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L48) +- [apiWebdavLocks2/setTimeout.feature:49](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L49) +- [apiWebdavLocks2/setTimeout.feature:50](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L50) +- [apiWebdavLocks2/setTimeout.feature:51](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L51) +- [apiWebdavLocks2/setTimeout.feature:52](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L52) +- [apiWebdavLocks2/setTimeout.feature:53](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L53) +- [apiWebdavLocks2/setTimeout.feature:54](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L54) +- [apiWebdavLocks2/setTimeout.feature:55](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L55) +- [apiWebdavLocks2/setTimeout.feature:56](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L56) +- [apiWebdavLocks2/setTimeout.feature:61](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L61) +- [apiWebdavLocks2/setTimeout.feature:62](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L62) - [apiWebdavLocks2/setTimeout.feature:63](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L63) - [apiWebdavLocks2/setTimeout.feature:64](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L64) - [apiWebdavLocks2/setTimeout.feature:65](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L65) -- [apiWebdavLocks2/setTimeout.feature:66](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L66) -- [apiWebdavLocks2/setTimeout.feature:67](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L67) -- [apiWebdavLocks2/setTimeout.feature:68](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L68) -- [apiWebdavLocks2/setTimeout.feature:69](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L69) -- [apiWebdavLocks2/setTimeout.feature:70](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L70) -- [apiWebdavLocks2/setTimeout.feature:71](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L71) -- [apiWebdavLocks2/setTimeout.feature:72](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L72) -- [apiWebdavLocks2/setTimeout.feature:77](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L77) -- [apiWebdavLocks2/setTimeout.feature:78](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L78) -- [apiWebdavLocks2/setTimeout.feature:79](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L79) -- [apiWebdavLocks2/setTimeout.feature:80](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L80) - [apiWebdavLocks2/setTimeout.feature:81](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L81) -- [apiWebdavLocks2/setTimeout.feature:105](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L105) -- [apiWebdavLocks2/setTimeout.feature:106](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L106) -- [apiWebdavLocks2/setTimeout.feature:107](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L107) -- [apiWebdavLocks2/setTimeout.feature:108](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L108) -- [apiWebdavLocks2/setTimeout.feature:109](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L109) -- [apiWebdavLocks2/setTimeout.feature:110](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L110) -- [apiWebdavLocks2/setTimeout.feature:111](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L111) -- [apiWebdavLocks2/setTimeout.feature:112](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L112) -- [apiWebdavLocks2/setTimeout.feature:113](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L113) -- [apiWebdavLocks2/setTimeout.feature:114](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L114) -- [apiWebdavLocks2/setTimeout.feature:115](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L115) -- [apiWebdavLocks2/setTimeout.feature:116](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L116) +- [apiWebdavLocks2/setTimeout.feature:82](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L82) +- [apiWebdavLocks2/setTimeout.feature:83](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L83) +- [apiWebdavLocks2/setTimeout.feature:84](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L84) +- [apiWebdavLocks2/setTimeout.feature:85](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L85) +- [apiWebdavLocks2/setTimeout.feature:86](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L86) +- [apiWebdavLocks2/setTimeout.feature:87](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L87) +- [apiWebdavLocks2/setTimeout.feature:88](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L88) +- [apiWebdavLocks2/setTimeout.feature:89](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L89) +- [apiWebdavLocks2/setTimeout.feature:90](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L90) +- [apiWebdavLocks2/setTimeout.feature:91](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L91) +- [apiWebdavLocks2/setTimeout.feature:92](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L92) +- [apiWebdavLocks2/setTimeout.feature:97](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L97) +- [apiWebdavLocks2/setTimeout.feature:98](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L98) +- [apiWebdavLocks2/setTimeout.feature:99](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L99) +- [apiWebdavLocks2/setTimeout.feature:100](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L100) +- [apiWebdavLocks2/setTimeout.feature:101](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L101) +- [apiWebdavLocks2/setTimeout.feature:102](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L102) +- [apiWebdavLocks2/setTimeout.feature:117](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L117) +- [apiWebdavLocks2/setTimeout.feature:118](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L118) +- [apiWebdavLocks2/setTimeout.feature:119](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L119) +- [apiWebdavLocks2/setTimeout.feature:120](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L120) - [apiWebdavLocks2/setTimeout.feature:121](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L121) - [apiWebdavLocks2/setTimeout.feature:122](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L122) - [apiWebdavLocks2/setTimeout.feature:123](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L123) - [apiWebdavLocks2/setTimeout.feature:124](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L124) - [apiWebdavLocks2/setTimeout.feature:125](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L125) - [apiWebdavLocks2/setTimeout.feature:126](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L126) -- [apiWebdavLocks2/setTimeout.feature:149](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L149) -- [apiWebdavLocks2/setTimeout.feature:150](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L150) -- [apiWebdavLocks2/setTimeout.feature:151](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L151) -- [apiWebdavLocks2/setTimeout.feature:152](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L152) -- [apiWebdavLocks2/setTimeout.feature:153](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L153) -- [apiWebdavLocks2/setTimeout.feature:154](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L154) -- [apiWebdavLocks2/setTimeout.feature:155](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L155) -- [apiWebdavLocks2/setTimeout.feature:156](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L156) -- [apiWebdavLocks2/setTimeout.feature:157](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L157) -- [apiWebdavLocks2/setTimeout.feature:158](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeout.feature#L158) +- [apiWebdavLocks2/setTimeoutSharesToShares.feature:32](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L32) +- [apiWebdavLocks2/setTimeoutSharesToShares.feature:33](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L33) +- [apiWebdavLocks2/setTimeoutSharesToShares.feature:34](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L34) +- [apiWebdavLocks2/setTimeoutSharesToShares.feature:35](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L35) +- [apiWebdavLocks2/setTimeoutSharesToShares.feature:36](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L36) +- [apiWebdavLocks2/setTimeoutSharesToShares.feature:37](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L37) +- [apiWebdavLocks2/setTimeoutSharesToShares.feature:38](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L38) +- [apiWebdavLocks2/setTimeoutSharesToShares.feature:39](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L39) - [apiWebdavLocks2/setTimeoutSharesToShares.feature:40](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L40) - [apiWebdavLocks2/setTimeoutSharesToShares.feature:41](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L41) -- [apiWebdavLocks2/setTimeoutSharesToShares.feature:42](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L42) -- [apiWebdavLocks2/setTimeoutSharesToShares.feature:43](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L43) -- [apiWebdavLocks2/setTimeoutSharesToShares.feature:44](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L44) -- [apiWebdavLocks2/setTimeoutSharesToShares.feature:45](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L45) -- [apiWebdavLocks2/setTimeoutSharesToShares.feature:46](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L46) -- [apiWebdavLocks2/setTimeoutSharesToShares.feature:47](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L47) -- [apiWebdavLocks2/setTimeoutSharesToShares.feature:48](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L48) -- [apiWebdavLocks2/setTimeoutSharesToShares.feature:49](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L49) -- [apiWebdavLocks2/setTimeoutSharesToShares.feature:82](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L82) -- [apiWebdavLocks2/setTimeoutSharesToShares.feature:83](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L83) -- [apiWebdavLocks2/setTimeoutSharesToShares.feature:84](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L84) -- [apiWebdavLocks2/setTimeoutSharesToShares.feature:85](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L85) -- [apiWebdavLocks2/setTimeoutSharesToShares.feature:86](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L86) -- [apiWebdavLocks2/setTimeoutSharesToShares.feature:87](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L87) -- [apiWebdavLocks2/setTimeoutSharesToShares.feature:88](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L88) -- [apiWebdavLocks2/setTimeoutSharesToShares.feature:89](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L89) -- [apiWebdavLocks2/setTimeoutSharesToShares.feature:90](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L90) -- [apiWebdavLocks2/setTimeoutSharesToShares.feature:91](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L91) +- [apiWebdavLocks2/setTimeoutSharesToShares.feature:66](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L66) +- [apiWebdavLocks2/setTimeoutSharesToShares.feature:67](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L67) +- [apiWebdavLocks2/setTimeoutSharesToShares.feature:68](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L68) +- [apiWebdavLocks2/setTimeoutSharesToShares.feature:69](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L69) +- [apiWebdavLocks2/setTimeoutSharesToShares.feature:70](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L70) +- [apiWebdavLocks2/setTimeoutSharesToShares.feature:71](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L71) +- [apiWebdavLocks2/setTimeoutSharesToShares.feature:72](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L72) +- [apiWebdavLocks2/setTimeoutSharesToShares.feature:73](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L73) +- [apiWebdavLocks2/setTimeoutSharesToShares.feature:74](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L74) +- [apiWebdavLocks2/setTimeoutSharesToShares.feature:75](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L75) - [apiWebdavLocks3/independentLocks.feature:25](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks3/independentLocks.feature#L25) - [apiWebdavLocks3/independentLocks.feature:26](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks3/independentLocks.feature#L26) - [apiWebdavLocks3/independentLocks.feature:27](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks3/independentLocks.feature#L27) @@ -1357,20 +1357,20 @@ And other missing implementation of favorites - [apiWebdavEtagPropagation2/upload.feature:111](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavEtagPropagation2/upload.feature#L111) - [apiWebdavEtagPropagation2/upload.feature:141](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavEtagPropagation2/upload.feature#L141) - [apiWebdavEtagPropagation2/upload.feature:171](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavEtagPropagation2/upload.feature#L171) -- [apiWebdavLocks2/resharedSharesToShares.feature:123](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L123) -- [apiWebdavLocks2/resharedSharesToShares.feature:124](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L124) -- [apiWebdavLocks2/resharedSharesToShares.feature:152](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L152) -- [apiWebdavLocks2/resharedSharesToShares.feature:153](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L153) -- [apiWebdavLocks2/setTimeoutSharesToShares.feature:54](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L54) -- [apiWebdavLocks2/setTimeoutSharesToShares.feature:55](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L55) -- [apiWebdavLocks2/setTimeoutSharesToShares.feature:56](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L56) -- [apiWebdavLocks2/setTimeoutSharesToShares.feature:57](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L57) -- [apiWebdavLocks2/setTimeoutSharesToShares.feature:58](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L58) -- [apiWebdavLocks2/setTimeoutSharesToShares.feature:96](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L96) -- [apiWebdavLocks2/setTimeoutSharesToShares.feature:97](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L97) -- [apiWebdavLocks2/setTimeoutSharesToShares.feature:98](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L98) -- [apiWebdavLocks2/setTimeoutSharesToShares.feature:99](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L99) -- [apiWebdavLocks2/setTimeoutSharesToShares.feature:100](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L100) +- [apiWebdavLocks2/resharedSharesToShares.feature:117](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L117) +- [apiWebdavLocks2/resharedSharesToShares.feature:118](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L118) +- [apiWebdavLocks2/resharedSharesToShares.feature:144](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L144) +- [apiWebdavLocks2/resharedSharesToShares.feature:145](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L145) +- [apiWebdavLocks2/setTimeoutSharesToShares.feature:46](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L46) +- [apiWebdavLocks2/setTimeoutSharesToShares.feature:47](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L47) +- [apiWebdavLocks2/setTimeoutSharesToShares.feature:48](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L48) +- [apiWebdavLocks2/setTimeoutSharesToShares.feature:49](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L49) +- [apiWebdavLocks2/setTimeoutSharesToShares.feature:50](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L50) +- [apiWebdavLocks2/setTimeoutSharesToShares.feature:80](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L80) +- [apiWebdavLocks2/setTimeoutSharesToShares.feature:81](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L81) +- [apiWebdavLocks2/setTimeoutSharesToShares.feature:82](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L82) +- [apiWebdavLocks2/setTimeoutSharesToShares.feature:83](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L83) +- [apiWebdavLocks2/setTimeoutSharesToShares.feature:84](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/setTimeoutSharesToShares.feature#L84) - [apiShareOperationsToShares1/changingFilesShare.feature:95](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares1/changingFilesShare.feature#L95) - [apiShareOperationsToShares1/changingFilesShare.feature:169](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares1/changingFilesShare.feature#L169) - [apiWebdavMove2/moveShareOnOcis.feature:38](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavMove2/moveShareOnOcis.feature#L38) @@ -1831,10 +1831,10 @@ Not everything needs to be implemented for ocis. While the oc10 testsuite covers ### [[spaces webdav] upload to a share that was locked by owner ends with status code 409](https://github.com/owncloud/ocis/issues/3128) -- [apiWebdavLocks2/resharedSharesToShares.feature:41](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L41) -- [apiWebdavLocks2/resharedSharesToShares.feature:42](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L42) -- [apiWebdavLocks2/resharedSharesToShares.feature:73](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L73) -- [apiWebdavLocks2/resharedSharesToShares.feature:74](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L74) +- [apiWebdavLocks2/resharedSharesToShares.feature:39](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L39) +- [apiWebdavLocks2/resharedSharesToShares.feature:40](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L40) +- [apiWebdavLocks2/resharedSharesToShares.feature:69](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L69) +- [apiWebdavLocks2/resharedSharesToShares.feature:70](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavLocks2/resharedSharesToShares.feature#L70) #### [Renaming resource to excluded directory name is allowed in spaces webdav](https://github.com/owncloud/ocis/issues/3102) diff --git a/tests/acceptance/expected-failures-webUI-on-OCIS-storage.md b/tests/acceptance/expected-failures-webUI-on-OCIS-storage.md index 269ce9e1b..d39e21992 100644 --- a/tests/acceptance/expected-failures-webUI-on-OCIS-storage.md +++ b/tests/acceptance/expected-failures-webUI-on-OCIS-storage.md @@ -63,8 +63,8 @@ Other free text and markdown formatting can be used elsewhere in the document if - [webUISharingInternalUsersCollaborator/shareWithUsers.feature:35](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingInternalUsersCollaborator/shareWithUsers.feature#L35) - [webUISharingInternalUsersCollaborator/shareWithUsers.feature:36](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingInternalUsersCollaborator/shareWithUsers.feature#L36) - [webUISharingInternalUsersCollaborator/shareWithUsers.feature:37](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingInternalUsersCollaborator/shareWithUsers.feature#L37) -- [webUISharingInternalUsersShareWithPage/shareWithUsers.feature:155](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingInternalUsersShareWithPage/shareWithUsers.feature#L155) -- [webUISharingInternalUsersShareWithPage/shareWithUsers.feature:198](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingInternalUsersShareWithPage/shareWithUsers.feature#L198) +- [webUISharingInternalUsersShareWithPage/shareWithUsers.feature:140](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingInternalUsersShareWithPage/shareWithUsers.feature#L140) +- [webUISharingInternalUsersShareWithPage/shareWithUsers.feature:153](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingInternalUsersShareWithPage/shareWithUsers.feature#L153) - [webUISharingPermissionsUsers/sharePermissionsUsers.feature:21](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingPermissionsUsers/sharePermissionsUsers.feature#L21) - [webUISharingPermissionsUsers/sharePermissionsUsers.feature:36](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingPermissionsUsers/sharePermissionsUsers.feature#L36) - [webUISharingPermissionsUsers/sharePermissionsUsers.feature:52](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingPermissionsUsers/sharePermissionsUsers.feature#L52) @@ -199,7 +199,7 @@ Other free text and markdown formatting can be used elsewhere in the document if - [webUIFilesActionMenu/versions.feature:93](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUIFilesActionMenu/versions.feature#L93) ### [Accepting different shares with same filename from different users overwrites one file](https://github.com/owncloud/ocis/issues/713) -- [webUISharingAcceptShares/acceptShares.feature:225](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingAcceptShares/acceptShares.feature#L225) +- [webUISharingAcceptShares/acceptShares.feature:228](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingAcceptShares/acceptShares.feature#L228) ### [Deletion of a selected user/group as a collaborator has unusual behavior in UI](https://github.com/owncloud/web/issues/5857) - [webUISharingFolderAdvancedPermissionsGroups/shareAdvancePermissionsGroup.feature:63](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingFolderAdvancedPermissionsGroups/shareAdvancePermissionsGroup.feature#L63) @@ -484,8 +484,8 @@ Other free text and markdown formatting can be used elsewhere in the document if ### [[oCIS] Received share cannot be deleted/unshared if not shared with full permissions](https://github.com/owncloud/web/issues/5531) - [webUISharingAcceptShares/acceptShares.feature:50](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingAcceptShares/acceptShares.feature#L50) -- [webUISharingAcceptShares/acceptShares.feature:159](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingAcceptShares/acceptShares.feature#L159) -- [webUISharingAcceptShares/acceptShares.feature:198](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingAcceptShares/acceptShares.feature#L198) +- [webUISharingAcceptShares/acceptShares.feature:162](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingAcceptShares/acceptShares.feature#L162) +- [webUISharingAcceptShares/acceptShares.feature:201](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingAcceptShares/acceptShares.feature#L201) ### [not possible to overwrite a received shared file](https://github.com/owncloud/ocis/issues/2267) - [webUISharingInternalGroups/shareWithGroups.feature:77](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingInternalGroups/shareWithGroups.feature#L77) @@ -496,6 +496,3 @@ Other free text and markdown formatting can be used elsewhere in the document if ### [empty subfolder inside a folder to be uploaded is not created on the server](https://github.com/owncloud/web/issues/6348) - [webUIUpload/upload.feature:42](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUIUpload/upload.feature#L42) - -### Unreleased changes in web master branch -- [webUIFilesActionMenu/fileFolderActionMenu.feature:14](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUIFilesActionMenu/fileFolderActionMenu.feature#L14) diff --git a/tests/acceptance/features/apiSpaces/changeSpaces.feature b/tests/acceptance/features/apiSpaces/changeSpaces.feature index 593291de4..b068cba77 100644 --- a/tests/acceptance/features/apiSpaces/changeSpaces.feature +++ b/tests/acceptance/features/apiSpaces/changeSpaces.feature @@ -17,12 +17,12 @@ Feature: Change data of space Then the HTTP status code should be "200" When user "Alice" lists all available spaces via the GraphApi Then the json responded should contain a space "Project Death Star" with these key and value pairs: - | key | value | - | driveType | project | - | name | Project Death Star | + | key | value | + | driveType | project | + | name | Project Death Star | | description | The Death Star is a fictional mobile space station | - | quota@@@total | 20 | - | root@@@webDavUrl | %base_url%/dav/spaces/%space_id% | + | quota@@@total | 20 | + | root@@@webDavUrl | %base_url%/dav/spaces/%space_id% | Scenario: An admin user can increase the quota of a Space via the Graph API Given user "Alice" has created a space "Project Earth" of type "project" with quota "20" @@ -30,9 +30,9 @@ Feature: Change data of space Then the HTTP status code should be "200" When user "Alice" lists all available spaces via the GraphApi Then the json responded should contain a space "Project Earth" with these key and value pairs: - | key | value | - | name | Project Earth | - | quota@@@total | 100 | + | key | value | + | name | Project Earth | + | quota@@@total | 100 | Scenario: An user set readme file as description of the space via the Graph API @@ -48,29 +48,76 @@ Feature: Change data of space | special@@@0@@@size | 17 | | special@@@0@@@name | readme.md | | special@@@0@@@specialFolder@@@name | readme | - | special@@@0@@@file@@@mimeType | text/markdown | - | special@@@0@@@id | %file_id% | + | special@@@0@@@file@@@mimeType | text/markdown | + | special@@@0@@@id | %file_id% | | special@@@0@@@eTag | %eTag% | + And for user "Alice" folder ".space/" of the space "add special section" should contain these entries: + | readme.md | + And for user "Alice" the content of the file ".space/readme.md" of the space "add special section" should be "space description" Scenario Outline: An user set image file as space image of the space via the Graph API Given user "Alice" has created a space "add special section" with the default quota using the GraphApi And user "Alice" has created a folder ".space" in space "add special section" - And user "Alice" has uploaded a file inside space "add special section" with content "" to "" - When user "Alice" sets the file "" as a space image in a special section of the "add special section" space + And user "Alice" has uploaded a file inside space "add special section" with content "" to ".space/" + When user "Alice" sets the file ".space/" as a space image in a special section of the "add special section" space Then the HTTP status code should be "200" When user "Alice" lists all available spaces via the GraphApi - Then the json responded should contain a space "add special section" owned by "Alice" with description file "" with these key and value pairs: + Then the json responded should contain a space "add special section" owned by "Alice" with description file ".space/" with these key and value pairs: | key | value | | name | add special section | | special@@@0@@@size | 0 | | special@@@0@@@name | | | special@@@0@@@specialFolder@@@name | image | - | special@@@0@@@file@@@mimeType | | - | special@@@0@@@id | %file_id% | + | special@@@0@@@file@@@mimeType | | + | special@@@0@@@id | %file_id% | | special@@@0@@@eTag | %eTag% | + And for user "Alice" folder ".space/" of the space "add special section" should contain these entries: + | | Examples: - | fileName | nameInResponse | mimeType | - | .space/spaceImage.jpeg | spaceImage.jpeg | image/jpeg | - | .space/spaceImage.png | spaceImage.png | image/png | - | .space/spaceImage.gif | spaceImage.gif | image/gif | + | fileName | nameInResponse | mimeType | + | spaceImage.jpeg | spaceImage.jpeg | image/jpeg | + | spaceImage.png | spaceImage.png | image/png | + | spaceImage.gif | spaceImage.gif | image/gif | + + + Scenario: An user set new readme file as description of the space via the Graph API + Given user "Alice" has created a space "add special section" with the default quota using the GraphApi + And user "Alice" has created a folder ".space" in space "add special section" + And user "Alice" has uploaded a file inside space "add special section" with content "space description" to ".space/readme.md" + And user "Alice" has set the file ".space/readme.md" as a description in a special section of the "add special section" space + When user "Alice" has uploaded a file inside space "add special section" with content "new space description" to ".space/newReadme.md" + And user "Alice" sets the file ".space/newReadme.md" as a description in a special section of the "add special section" space + Then the HTTP status code should be "200" + And for user "Alice" the content of the file ".space/newReadme.md" of the space "add special section" should be "new space description" + When user "Alice" lists all available spaces via the GraphApi + Then the json responded should contain a space "add special section" owned by "Alice" with description file ".space/newReadme.md" with these key and value pairs: + | key | value | + | name | add special section | + | special@@@0@@@size | 21 | + | special@@@0@@@name | newReadme.md | + | special@@@0@@@specialFolder@@@name | readme | + | special@@@0@@@file@@@mimeType | text/markdown | + | special@@@0@@@id | %file_id% | + | special@@@0@@@eTag | %eTag% | + + + Scenario: An user set new image file as space image of the space via the Graph API + Given user "Alice" has created a space "add special section" with the default quota using the GraphApi + And user "Alice" has created a folder ".space" in space "add special section" + And user "Alice" has uploaded a file inside space "add special section" with content "" to ".space/spaceImage.jpeg" + And user "Alice" has set the file ".space/spaceImage.jpeg" as a space image in a special section of the "add special section" space + When user "Alice" has uploaded a file inside space "add special section" with content "" to ".space/newSpaceImage.png" + And user "Alice" sets the file ".space/newSpaceImage.png" as a space image in a special section of the "add special section" space + Then the HTTP status code should be "200" + When user "Alice" lists all available spaces via the GraphApi + Then the json responded should contain a space "add special section" owned by "Alice" with description file ".space/newSpaceImage.png" with these key and value pairs: + | key | value | + | name | add special section | + | special@@@0@@@size | 0 | + | special@@@0@@@name | newSpaceImage.png | + | special@@@0@@@specialFolder@@@name | image | + | special@@@0@@@file@@@mimeType | image/png | + | special@@@0@@@id | %file_id% | + | special@@@0@@@eTag | %eTag% | + \ No newline at end of file diff --git a/tests/acceptance/features/bootstrap/SpacesContext.php b/tests/acceptance/features/bootstrap/SpacesContext.php index 6936ad34f..dd6d6e831 100644 --- a/tests/acceptance/features/bootstrap/SpacesContext.php +++ b/tests/acceptance/features/bootstrap/SpacesContext.php @@ -1,4 +1,6 @@ - * */ + use Behat\Behat\Context\Context; use Behat\Behat\Hook\Scope\BeforeScenarioScope; use Behat\Gherkin\Node\TableNode; @@ -218,12 +221,12 @@ class SpacesContext implements Context { * @param string $spaceName * @param string $fileName * - * @return array + * @return ResponseInterface */ - public function getFileData(string $user, string $spaceName, string $fileName): array { + public function getFileData(string $user, string $spaceName, string $fileName): ResponseInterface { $space = $this->getSpaceByName($user, $spaceName); $fullUrl = $this->baseUrl . "/remote.php/dav/spaces/" . $space["id"] . "/" . $fileName; - + $this->featureContext->setResponse( HttpRequestHelper::get( $fullUrl, @@ -238,7 +241,7 @@ class SpacesContext implements Context { 200, "file $fileName not found" ); - return $this->featureContext->getResponse()->getHeaders(); + return $this->featureContext->getResponse(); } /** @@ -251,7 +254,7 @@ class SpacesContext implements Context { * @return string */ public function getFileId(string $user, string $spaceName, string $fileName): string { - $fileData = $this->getFileData($user, $spaceName, $fileName); + $fileData = $this->getFileData($user, $spaceName, $fileName)->getHeaders(); return $fileData["Oc-Fileid"][0]; } @@ -265,7 +268,7 @@ class SpacesContext implements Context { * @return string */ public function getETag(string $user, string $spaceName, string $fileName): string { - $fileData = $this->getFileData($user, $spaceName, $fileName); + $fileData = $this->getFileData($user, $spaceName, $fileName)->getHeaders(); return $fileData["Etag"][0]; } @@ -817,6 +820,28 @@ class SpacesContext implements Context { ); } + /** + * @Then /^for user "([^"]*)" the content of the file "([^"]*)" of the space "([^"]*)" should be "([^"]*)"$/ + * + * @param string $user + * @param string $file + * @param string $spaceName + * @param string $fileContent + * + * @return void + * + * @throws Exception|GuzzleException + */ + public function checkFileContent( + string $user, + string $file, + string $spaceName, + string $fileContent + ): void { + $actualFileContent = $this->getFileData($user, $spaceName, $file)->getBody()->getContents(); + Assert::assertEquals($fileContent, $actualFileContent, "$file does not contain $fileContent"); + } + /** * @Then /^the json responded should contain a space "([^"]*)" (?:|(?:owned by|granted to) "([^"]*)" )(?:|(?:with description file|with space image) "([^"]*)" )with these key and value pairs:$/ * @@ -846,25 +871,25 @@ class SpacesContext implements Context { [ "code" => "%space_id%", "function" => - [$this, "getSpaceIdByNameFromResponse"], + [$this, "getSpaceIdByNameFromResponse"], "parameter" => [$spaceName] ], [ "code" => "%user_id%", "function" => - [$this, "getUserIdByUserName"], + [$this, "getUserIdByUserName"], "parameter" => [$userName] ], [ "code" => "%file_id%", "function" => - [$this, "getFileId"], + [$this, "getFileId"], "parameter" => [$userName, $spaceName, $fileName] ], [ "code" => "%eTag%", "function" => - [$this, "getETag"], + [$this, "getETag"], "parameter" => [$userName, $spaceName, $fileName] ], ] @@ -903,7 +928,7 @@ class SpacesContext implements Context { Assert::assertIsArray($spaceAsArray = $this->getSpaceByNameFromResponse($spaceName), "No space with name $spaceName found"); $permissions = $spaceAsArray["root"]["permissions"]; $userId = $this->getUserIdByUserName($userName); - + $userRole = ""; foreach ($permissions as $permission) { foreach ($permission["grantedTo"] as $grantedTo) { @@ -1406,6 +1431,31 @@ class SpacesContext implements Context { ); } + /** + * @When /^user "([^"]*)" has set the file "([^"]*)" as a (description|space image)\s? in a special section of the "([^"]*)" space$/ + * + * @param string $user + * @param string $file + * @param string $type + * @param string $spaceName + * + * @return void + * @throws GuzzleException + * @throws Exception + */ + public function userHasUpdatedSpaceSpecialSection( + string $user, + string $file, + string $type, + string $spaceName + ): void { + $this->updateSpaceSpecialSection($user, $file, $type, $spaceName); + $this->featureContext->theHTTPStatusCodeShouldBe( + 200, + "Expected response status code should be 200" + ); + } + /** * Send Graph Update Space Request * @@ -1635,7 +1685,7 @@ class SpacesContext implements Context { $rows["password"] = \array_key_exists("password", $rows) ? $rows["password"] : null; $rows["name"] = \array_key_exists("name", $rows) ? $rows["name"] : null; $rows["expireDate"] = \array_key_exists("expireDate", $rows) ? $rows["expireDate"] : null; - + $body = [ "space_ref" => $space['id'] . "/" . $rows["path"], "shareType" => $rows["shareType"], diff --git a/thumbnails/pkg/config/config.go b/thumbnails/pkg/config/config.go index fff0d33f4..0afad535c 100644 --- a/thumbnails/pkg/config/config.go +++ b/thumbnails/pkg/config/config.go @@ -8,40 +8,40 @@ import ( // Config combines all available configuration parts. type Config struct { - *shared.Commons `ocisConfig:"-" yaml:"-"` + *shared.Commons `yaml:"-"` - Service Service `ocisConfig:"-" yaml:"-"` + Service Service `yaml:"-"` - Tracing *Tracing `ocisConfig:"tracing"` - Log *Log `ocisConfig:"log"` - Debug Debug `ocisConfig:"debug"` + Tracing *Tracing `yaml:"tracing"` + Log *Log `yaml:"log"` + Debug Debug `yaml:"debug"` - GRPC GRPC `ocisConfig:"grpc"` - HTTP HTTP `ocisConfig:"http"` + GRPC GRPC `yaml:"grpc"` + HTTP HTTP `yaml:"http"` - Thumbnail Thumbnail `ocisConfig:"thumbnail"` + Thumbnail Thumbnail `yaml:"thumbnail"` - Context context.Context `ocisConfig:"-" yaml:"-"` + Context context.Context `yaml:"-"` } // FileSystemStorage defines the available filesystem storage configuration. type FileSystemStorage struct { - RootDirectory string `ocisConfig:"root_directory" env:"THUMBNAILS_FILESYSTEMSTORAGE_ROOT"` + RootDirectory string `yaml:"root_directory" env:"THUMBNAILS_FILESYSTEMSTORAGE_ROOT"` } // FileSystemSource defines the available filesystem source configuration. type FileSystemSource struct { - BasePath string `ocisConfig:"base_path"` + BasePath string `yaml:"base_path"` } // Thumbnail defines the available thumbnail related configuration. type Thumbnail struct { - Resolutions []string `ocisConfig:"resolutions"` - FileSystemStorage FileSystemStorage `ocisConfig:"filesystem_storage"` - WebdavAllowInsecure bool `ocisConfig:"webdav_allow_insecure" env:"OCIS_INSECURE;THUMBNAILS_WEBDAVSOURCE_INSECURE"` - CS3AllowInsecure bool `ocisConfig:"cs3_allow_insecure" env:"OCIS_INSECURE;THUMBNAILS_CS3SOURCE_INSECURE"` - RevaGateway string `ocisConfig:"reva_gateway" env:"REVA_GATEWAY"` //TODO: use REVA config - FontMapFile string `ocisConfig:"font_map_file" env:"THUMBNAILS_TXT_FONTMAP_FILE"` - TransferTokenSecret string `ocisConfig:"transfer_token" env:"THUMBNAILS_TRANSFER_TOKEN"` - DataEndpoint string `ocisConfig:"data_endpoint" env:"THUMBNAILS_DATA_ENDPOINT"` + Resolutions []string `yaml:"resolutions"` + FileSystemStorage FileSystemStorage `yaml:"filesystem_storage"` + WebdavAllowInsecure bool `yaml:"webdav_allow_insecure" env:"OCIS_INSECURE;THUMBNAILS_WEBDAVSOURCE_INSECURE"` + CS3AllowInsecure bool `yaml:"cs3_allow_insecure" env:"OCIS_INSECURE;THUMBNAILS_CS3SOURCE_INSECURE"` + RevaGateway string `yaml:"reva_gateway" env:"REVA_GATEWAY"` //TODO: use REVA config + FontMapFile string `yaml:"font_map_file" env:"THUMBNAILS_TXT_FONTMAP_FILE"` + TransferTokenSecret string `yaml:"transfer_token" env:"THUMBNAILS_TRANSFER_TOKEN"` + DataEndpoint string `yaml:"data_endpoint" env:"THUMBNAILS_DATA_ENDPOINT"` } diff --git a/thumbnails/pkg/config/debug.go b/thumbnails/pkg/config/debug.go index f1f3a01e1..65148e106 100644 --- a/thumbnails/pkg/config/debug.go +++ b/thumbnails/pkg/config/debug.go @@ -2,8 +2,8 @@ package config // Debug defines the available debug configuration. type Debug struct { - Addr string `ocisConfig:"addr" env:"THUMBNAILS_DEBUG_ADDR"` - Token string `ocisConfig:"token" env:"THUMBNAILS_DEBUG_TOKEN"` - Pprof bool `ocisConfig:"pprof" env:"THUMBNAILS_DEBUG_PPROF"` - Zpages bool `ocisConfig:"zpages" env:"THUMBNAILS_DEBUG_ZPAGES"` + Addr string `yaml:"addr" env:"THUMBNAILS_DEBUG_ADDR"` + Token string `yaml:"token" env:"THUMBNAILS_DEBUG_TOKEN"` + Pprof bool `yaml:"pprof" env:"THUMBNAILS_DEBUG_PPROF"` + Zpages bool `yaml:"zpages" env:"THUMBNAILS_DEBUG_ZPAGES"` } diff --git a/thumbnails/pkg/config/grpc.go b/thumbnails/pkg/config/grpc.go index 51bacff50..4f7423609 100644 --- a/thumbnails/pkg/config/grpc.go +++ b/thumbnails/pkg/config/grpc.go @@ -2,6 +2,6 @@ package config // GRPC defines the available grpc configuration. type GRPC struct { - Addr string `ocisConfig:"addr" env:"THUMBNAILS_GRPC_ADDR"` - Namespace string `ocisConfig:"-" yaml:"-"` + Addr string `yaml:"addr" env:"THUMBNAILS_GRPC_ADDR"` + Namespace string `yaml:"-"` } diff --git a/thumbnails/pkg/config/http.go b/thumbnails/pkg/config/http.go index 9dc731261..db3272e8b 100644 --- a/thumbnails/pkg/config/http.go +++ b/thumbnails/pkg/config/http.go @@ -2,7 +2,7 @@ package config // HTTP defines the available http configuration. type HTTP struct { - Addr string `ocisConfig:"addr" env:"THUMBNAILS_HTTP_ADDR"` - Root string `ocisConfig:"root" env:"THUMBNAILS_HTTP_ROOT"` - Namespace string `ocisConfig:"-" yaml:"-"` + Addr string `yaml:"addr" env:"THUMBNAILS_HTTP_ADDR"` + Root string `yaml:"root" env:"THUMBNAILS_HTTP_ROOT"` + Namespace string `yaml:"-"` } diff --git a/thumbnails/pkg/config/service.go b/thumbnails/pkg/config/service.go index c019b7304..d1eac383f 100644 --- a/thumbnails/pkg/config/service.go +++ b/thumbnails/pkg/config/service.go @@ -2,5 +2,5 @@ package config // Service defines the available service configuration. type Service struct { - Name string `ocisConfig:"-" yaml:"-"` + Name string `yaml:"-"` } diff --git a/thumbnails/pkg/config/tracing.go b/thumbnails/pkg/config/tracing.go index bbb13435c..1446c2d46 100644 --- a/thumbnails/pkg/config/tracing.go +++ b/thumbnails/pkg/config/tracing.go @@ -2,8 +2,8 @@ package config // Tracing defines the available tracing configuration. type Tracing struct { - Enabled bool `ocisConfig:"enabled" env:"OCIS_TRACING_ENABLED;THUMBNAILS_TRACING_ENABLED"` - Type string `ocisConfig:"type" env:"OCIS_TRACING_TYPE;THUMBNAILS_TRACING_TYPE"` - Endpoint string `ocisConfig:"endpoint" env:"OCIS_TRACING_ENDPOINT;THUMBNAILS_TRACING_ENDPOINT"` - Collector string `ocisConfig:"collector" env:"OCIS_TRACING_COLLECTOR;THUMBNAILS_TRACING_COLLECTOR"` + Enabled bool `yaml:"enabled" env:"OCIS_TRACING_ENABLED;THUMBNAILS_TRACING_ENABLED"` + Type string `yaml:"type" env:"OCIS_TRACING_TYPE;THUMBNAILS_TRACING_TYPE"` + Endpoint string `yaml:"endpoint" env:"OCIS_TRACING_ENDPOINT;THUMBNAILS_TRACING_ENDPOINT"` + Collector string `yaml:"collector" env:"OCIS_TRACING_COLLECTOR;THUMBNAILS_TRACING_COLLECTOR"` } diff --git a/web/Makefile b/web/Makefile index 967492140..3befe3673 100644 --- a/web/Makefile +++ b/web/Makefile @@ -1,6 +1,6 @@ SHELL := bash NAME := web -WEB_ASSETS_VERSION = v5.3.0 +WEB_ASSETS_VERSION = v5.4.0-rc.3 include ../.make/recursion.mk @@ -33,4 +33,4 @@ ci-node-generate: pull-assets .PHONY: pull-assets pull-assets: @git clean -xfd assets - @curl -slL -o- https://github.com/owncloud/web/releases/download/$(WEB_ASSETS_VERSION)/web.tar.gz | tar xzf - -C assets/ + @curl --fail -slL -o- https://github.com/owncloud/web/releases/download/$(WEB_ASSETS_VERSION)/web.tar.gz | tar xzf - -C assets/ diff --git a/web/pkg/config/config.go b/web/pkg/config/config.go index 4b571ba85..dbc7feee0 100644 --- a/web/pkg/config/config.go +++ b/web/pkg/config/config.go @@ -8,46 +8,46 @@ import ( // Config combines all available configuration parts. type Config struct { - *shared.Commons `ocisConfig:"-" yaml:"-"` + *shared.Commons `yaml:"-"` - Service Service `ocisConfig:"-" yaml:"-"` + Service Service `yaml:"-"` - Tracing *Tracing `ocisConfig:"tracing"` - Log *Log `ocisConfig:"log"` - Debug Debug `ocisConfig:"debug"` + Tracing *Tracing `yaml:"tracing"` + Log *Log `yaml:"log"` + Debug Debug `yaml:"debug"` - HTTP HTTP `ocisConfig:"http"` + HTTP HTTP `yaml:"http"` - Asset Asset `ocisConfig:"asset"` - File string `ocisConfig:"file" env:"WEB_UI_CONFIG"` // TODO: rename this to a more self explaining string - Web Web `ocisConfig:"web"` + Asset Asset `yaml:"asset"` + File string `yaml:"file" env:"WEB_UI_CONFIG"` // TODO: rename this to a more self explaining string + Web Web `yaml:"web"` - Context context.Context `ocisConfig:"-" yaml:"-"` + Context context.Context `yaml:"-"` } // Asset defines the available asset configuration. type Asset struct { - Path string `ocisConfig:"path" env:"WEB_ASSET_PATH"` + Path string `yaml:"path" env:"WEB_ASSET_PATH"` } // WebConfig defines the available web configuration for a dynamically rendered config.json. type WebConfig struct { - Server string `json:"server,omitempty" ocisConfig:"server" env:"OCIS_URL;WEB_UI_CONFIG_SERVER"` - Theme string `json:"theme,omitempty" ocisConfig:"theme" env:""` - Version string `json:"version,omitempty" ocisConfig:"version" env:"WEB_UI_CONFIG_VERSION"` - OpenIDConnect OIDC `json:"openIdConnect,omitempty" ocisConfig:"oids"` - Apps []string `json:"apps" ocisConfig:"apps"` - ExternalApps []ExternalApp `json:"external_apps,omitempty" ocisConfig:"external_apps"` - Options map[string]interface{} `json:"options,omitempty" ocisConfig:"options"` + Server string `json:"server,omitempty" yaml:"server" env:"OCIS_URL;WEB_UI_CONFIG_SERVER"` + Theme string `json:"theme,omitempty" yaml:"theme" env:""` + Version string `json:"version,omitempty" yaml:"version" env:"WEB_UI_CONFIG_VERSION"` + OpenIDConnect OIDC `json:"openIdConnect,omitempty" yaml:"oids"` + Apps []string `json:"apps" yaml:"apps"` + ExternalApps []ExternalApp `json:"external_apps,omitempty" yaml:"external_apps"` + Options map[string]interface{} `json:"options,omitempty" yaml:"options"` } // OIDC defines the available oidc configuration type OIDC struct { - MetadataURL string `json:"metadata_url,omitempty" ocisConfig:"metadata_url" env:"WEB_OIDC_METADATA_URL"` - Authority string `json:"authority,omitempty" ocisConfig:"authority" env:"OCIS_URL;WEB_OIDC_AUTHORITY"` - ClientID string `json:"client_id,omitempty" ocisConfig:"client_id" env:"WEB_OIDC_CLIENT_ID"` - ResponseType string `json:"response_type,omitempty" ocisConfig:"response_type" env:"WEB_OIDC_RESPONSE_TYPE"` - Scope string `json:"scope,omitempty" ocisConfig:"scope" env:"WEB_OIDC_SCOPE"` + MetadataURL string `json:"metadata_url,omitempty" yaml:"metadata_url" env:"WEB_OIDC_METADATA_URL"` + Authority string `json:"authority,omitempty" yaml:"authority" env:"OCIS_URL;WEB_OIDC_AUTHORITY"` + ClientID string `json:"client_id,omitempty" yaml:"client_id" env:"WEB_OIDC_CLIENT_ID"` + ResponseType string `json:"response_type,omitempty" yaml:"response_type" env:"WEB_OIDC_RESPONSE_TYPE"` + Scope string `json:"scope,omitempty" yaml:"scope" env:"WEB_OIDC_SCOPE"` } // ExternalApp defines an external web app. @@ -59,21 +59,21 @@ type OIDC struct { // } // } type ExternalApp struct { - ID string `json:"id,omitempty" ocisConfig:"id"` - Path string `json:"path,omitempty" ocisConfig:"path"` + ID string `json:"id,omitempty" yaml:"id"` + Path string `json:"path,omitempty" yaml:"path"` // Config is completely dynamic, because it depends on the extension - Config map[string]interface{} `json:"config,omitempty" ocisConfig:"config"` + Config map[string]interface{} `json:"config,omitempty" yaml:"config"` } // ExternalAppConfig defines an external web app configuration. type ExternalAppConfig struct { - URL string `json:"url,omitempty" ocisConfig:"url" env:""` + URL string `json:"url,omitempty" yaml:"url" env:""` } // Web defines the available web configuration. type Web struct { - Path string `ocisConfig:"path" env:"WEB_UI_PATH"` - ThemeServer string `ocisConfig:"theme_server" env:"OCIS_URL;WEB_UI_THEME_SERVER"` // used to build Theme in WebConfig - ThemePath string `ocisConfig:"theme_path" env:"WEB_UI_THEME_PATH"` // used to build Theme in WebConfig - Config WebConfig `ocisConfig:"config"` + Path string `yaml:"path" env:"WEB_UI_PATH"` + ThemeServer string `yaml:"theme_server" env:"OCIS_URL;WEB_UI_THEME_SERVER"` // used to build Theme in WebConfig + ThemePath string `yaml:"theme_path" env:"WEB_UI_THEME_PATH"` // used to build Theme in WebConfig + Config WebConfig `yaml:"config"` } diff --git a/web/pkg/config/debug.go b/web/pkg/config/debug.go index d4dda707d..e3473636a 100644 --- a/web/pkg/config/debug.go +++ b/web/pkg/config/debug.go @@ -2,8 +2,8 @@ package config // Debug defines the available debug configuration. type Debug struct { - Addr string `ocisConfig:"addr" env:"WEB_DEBUG_ADDR"` - Token string `ocisConfig:"token" env:"WEB_DEBUG_TOKEN"` - Pprof bool `ocisConfig:"pprof" env:"WEB_DEBUG_PPROF"` - Zpages bool `ocisConfig:"zpages" env:"WEB_DEBUG_ZPAGES"` + Addr string `yaml:"addr" env:"WEB_DEBUG_ADDR"` + Token string `yaml:"token" env:"WEB_DEBUG_TOKEN"` + Pprof bool `yaml:"pprof" env:"WEB_DEBUG_PPROF"` + Zpages bool `yaml:"zpages" env:"WEB_DEBUG_ZPAGES"` } diff --git a/web/pkg/config/http.go b/web/pkg/config/http.go index ac074ab2e..4d2c76d93 100644 --- a/web/pkg/config/http.go +++ b/web/pkg/config/http.go @@ -2,8 +2,8 @@ package config // HTTP defines the available http configuration. type HTTP struct { - Addr string `ocisConfig:"addr" env:"WEB_HTTP_ADDR"` - Namespace string `ocisConfig:"-" yaml:"-"` - Root string `ocisConfig:"root" env:"WEB_HTTP_ROOT"` - CacheTTL int `ocisConfig:"cache_ttl" env:"WEB_CACHE_TTL"` + Addr string `yaml:"addr" env:"WEB_HTTP_ADDR"` + Namespace string `yaml:"-"` + Root string `yaml:"root" env:"WEB_HTTP_ROOT"` + CacheTTL int `yaml:"cache_ttl" env:"WEB_CACHE_TTL"` } diff --git a/web/pkg/config/service.go b/web/pkg/config/service.go index c019b7304..d1eac383f 100644 --- a/web/pkg/config/service.go +++ b/web/pkg/config/service.go @@ -2,5 +2,5 @@ package config // Service defines the available service configuration. type Service struct { - Name string `ocisConfig:"-" yaml:"-"` + Name string `yaml:"-"` } diff --git a/web/pkg/config/tracing.go b/web/pkg/config/tracing.go index 6c54223d6..b20abd89c 100644 --- a/web/pkg/config/tracing.go +++ b/web/pkg/config/tracing.go @@ -2,8 +2,8 @@ package config // Tracing defines the available tracing configuration. type Tracing struct { - Enabled bool `ocisConfig:"enabled" env:"OCIS_TRACING_ENABLED;WEB_TRACING_ENABLED"` - Type string `ocisConfig:"type" env:"OCIS_TRACING_TYPE;WEB_TRACING_TYPE"` - Endpoint string `ocisConfig:"endpoint" env:"OCIS_TRACING_ENDPOINT;WEB_TRACING_ENDPOINT"` - Collector string `ocisConfig:"collector" env:"OCIS_TRACING_COLLECTOR;WEB_TRACING_COLLECTOR"` + Enabled bool `yaml:"enabled" env:"OCIS_TRACING_ENABLED;WEB_TRACING_ENABLED"` + Type string `yaml:"type" env:"OCIS_TRACING_TYPE;WEB_TRACING_TYPE"` + Endpoint string `yaml:"endpoint" env:"OCIS_TRACING_ENDPOINT;WEB_TRACING_ENDPOINT"` + Collector string `yaml:"collector" env:"OCIS_TRACING_COLLECTOR;WEB_TRACING_COLLECTOR"` } diff --git a/webdav/pkg/config/config.go b/webdav/pkg/config/config.go index 1c64f2923..4efe95ebd 100644 --- a/webdav/pkg/config/config.go +++ b/webdav/pkg/config/config.go @@ -8,19 +8,19 @@ import ( // Config combines all available configuration parts. type Config struct { - *shared.Commons `ocisConfig:"-" yaml:"-"` + *shared.Commons `yaml:"-"` - Service Service `ocisConfig:"-" yaml:"-"` + Service Service `yaml:"-"` - Tracing *Tracing `ocisConfig:"tracing"` - Log *Log `ocisConfig:"log"` - Debug Debug `ocisConfig:"debug"` + Tracing *Tracing `yaml:"tracing"` + Log *Log `yaml:"log"` + Debug Debug `yaml:"debug"` - HTTP HTTP `ocisConfig:"http"` + HTTP HTTP `yaml:"http"` - OcisPublicURL string `ocisConfig:"ocis_public_url" env:"OCIS_URL;OCIS_PUBLIC_URL"` - WebdavNamespace string `ocisConfig:"webdav_namespace" env:"STORAGE_WEBDAV_NAMESPACE"` //TODO: prevent this cross config - RevaGateway string `ocisConfig:"reva_gateway" env:"REVA_GATEWAY"` + OcisPublicURL string `yaml:"ocis_public_url" env:"OCIS_URL;OCIS_PUBLIC_URL"` + WebdavNamespace string `yaml:"webdav_namespace" env:"STORAGE_WEBDAV_NAMESPACE"` //TODO: prevent this cross config + RevaGateway string `yaml:"reva_gateway" env:"REVA_GATEWAY"` - Context context.Context `ocisConfig:"-" yaml:"-"` + Context context.Context `yaml:"-"` } diff --git a/webdav/pkg/config/debug.go b/webdav/pkg/config/debug.go index 2551ce17a..8ce9689f7 100644 --- a/webdav/pkg/config/debug.go +++ b/webdav/pkg/config/debug.go @@ -2,8 +2,8 @@ package config // Debug defines the available debug configuration. type Debug struct { - Addr string `ocisConfig:"addr" env:"WEBDAV_DEBUG_ADDR"` - Token string `ocisConfig:"token" env:"WEBDAV_DEBUG_TOKEN"` - Pprof bool `ocisConfig:"pprof" env:"WEBDAV_DEBUG_PPROF"` - Zpages bool `ocisConfig:"zpages" env:"WEBDAV_DEBUG_ZPAGES"` + Addr string `yaml:"addr" env:"WEBDAV_DEBUG_ADDR"` + Token string `yaml:"token" env:"WEBDAV_DEBUG_TOKEN"` + Pprof bool `yaml:"pprof" env:"WEBDAV_DEBUG_PPROF"` + Zpages bool `yaml:"zpages" env:"WEBDAV_DEBUG_ZPAGES"` } diff --git a/webdav/pkg/config/http.go b/webdav/pkg/config/http.go index ebf8332c3..073294842 100644 --- a/webdav/pkg/config/http.go +++ b/webdav/pkg/config/http.go @@ -2,16 +2,16 @@ package config // CORS defines the available cors configuration. type CORS struct { - AllowedOrigins []string `ocisConfig:"allowed_origins"` - AllowedMethods []string `ocisConfig:"allowed_methods"` - AllowedHeaders []string `ocisConfig:"allowed_headers"` - AllowCredentials bool `ocisConfig:"allow_credentials"` + AllowedOrigins []string `yaml:"allowed_origins"` + AllowedMethods []string `yaml:"allowed_methods"` + AllowedHeaders []string `yaml:"allowed_headers"` + AllowCredentials bool `yaml:"allow_credentials"` } // HTTP defines the available http configuration. type HTTP struct { - Addr string `ocisConfig:"addr" env:"WEBDAV_HTTP_ADDR"` - Namespace string `ocisConfig:"-" yaml:"-"` - Root string `ocisConfig:"root" env:"WEBDAV_HTTP_ROOT"` - CORS CORS `ocisConfig:"cors"` + Addr string `yaml:"addr" env:"WEBDAV_HTTP_ADDR"` + Namespace string `yaml:"-"` + Root string `yaml:"root" env:"WEBDAV_HTTP_ROOT"` + CORS CORS `yaml:"cors"` } diff --git a/webdav/pkg/config/service.go b/webdav/pkg/config/service.go index c019b7304..d1eac383f 100644 --- a/webdav/pkg/config/service.go +++ b/webdav/pkg/config/service.go @@ -2,5 +2,5 @@ package config // Service defines the available service configuration. type Service struct { - Name string `ocisConfig:"-" yaml:"-"` + Name string `yaml:"-"` } diff --git a/webdav/pkg/config/tracing.go b/webdav/pkg/config/tracing.go index 311e5fbc0..17293d066 100644 --- a/webdav/pkg/config/tracing.go +++ b/webdav/pkg/config/tracing.go @@ -2,8 +2,8 @@ package config // Tracing defines the available tracing configuration. type Tracing struct { - Enabled bool `ocisConfig:"enabled" env:"OCIS_TRACING_ENABLED;WEBDAV_TRACING_ENABLED"` - Type string `ocisConfig:"type" env:"OCIS_TRACING_TYPE;WEBDAV_TRACING_TYPE"` - Endpoint string `ocisConfig:"endpoint" env:"OCIS_TRACING_ENDPOINT;WEBDAV_TRACING_ENDPOINT"` - Collector string `ocisConfig:"collector" env:"OCIS_TRACING_COLLECTOR;WEBDAV_TRACING_COLLECTOR"` + Enabled bool `yaml:"enabled" env:"OCIS_TRACING_ENABLED;WEBDAV_TRACING_ENABLED"` + Type string `yaml:"type" env:"OCIS_TRACING_TYPE;WEBDAV_TRACING_TYPE"` + Endpoint string `yaml:"endpoint" env:"OCIS_TRACING_ENDPOINT;WEBDAV_TRACING_ENDPOINT"` + Collector string `yaml:"collector" env:"OCIS_TRACING_COLLECTOR;WEBDAV_TRACING_COLLECTOR"` }