diff --git a/.drone.star b/.drone.star index 20e2a1936..01d5b7708 100644 --- a/.drone.star +++ b/.drone.star @@ -44,35 +44,35 @@ DEFAULT_NODEJS_VERSION = "14" config = { "modules": [ # if you add a module here please also add it to the root level Makefile - "extensions/app-provider", - "extensions/app-registry", - "extensions/audit", - "extensions/auth-basic", - "extensions/auth-bearer", - "extensions/auth-machine", - "extensions/frontend", - "extensions/gateway", - "extensions/graph-explorer", - "extensions/graph", - "extensions/groups", - "extensions/idm", - "extensions/idp", - "extensions/nats", - "extensions/notifications", - "extensions/ocdav", - "extensions/ocs", - "extensions/proxy", - "extensions/settings", - "extensions/sharing", - "extensions/storage-system", - "extensions/storage-publiclink", - "extensions/storage-shares", - "extensions/storage-users", - "extensions/store", - "extensions/thumbnails", - "extensions/users", - "extensions/web", - "extensions/webdav", + "services/app-provider", + "services/app-registry", + "services/audit", + "services/auth-basic", + "services/auth-bearer", + "services/auth-machine", + "services/frontend", + "services/gateway", + "services/graph-explorer", + "services/graph", + "services/groups", + "services/idm", + "services/idp", + "services/nats", + "services/notifications", + "services/ocdav", + "services/ocs", + "services/proxy", + "services/settings", + "services/sharing", + "services/storage-system", + "services/storage-publiclink", + "services/storage-shares", + "services/storage-users", + "services/store", + "services/thumbnails", + "services/users", + "services/web", + "services/webdav", "ocis-pkg", "ocis", ], @@ -777,7 +777,7 @@ def settingsUITests(ctx, storage = "ocis", accounts_hash_difficulty = 4): "LOCAL_UPLOAD_DIR": "/uploads", "NODE_TLS_REJECT_UNAUTHORIZED": 0, "WEB_PATH": "/srv/app/web", - "FEATURE_PATH": "/drone/src/extensions/settings/ui/tests/acceptance/features", + "FEATURE_PATH": "/drone/src/services/settings/ui/tests/acceptance/features", "MIDDLEWARE_HOST": "http://middleware:3000", }, "commands": [ @@ -788,7 +788,7 @@ def settingsUITests(ctx, storage = "ocis", accounts_hash_difficulty = 4): "git checkout $WEB_COMMITID", # TODO: settings/package.json has all the acceptance test dependencies # they shouldn't be needed since we could also use them from web:/tests/acceptance/package.json - "cd /drone/src/extensions/settings", + "cd /drone/src/services/settings", "yarn install --immutable", "make test-acceptance-webui", ], @@ -1640,8 +1640,8 @@ def ocisServer(storage, accounts_hash_difficulty = 4, volumes = [], depends_on = "SHARING_USER_OWNCLOUDSQL_DB_PORT": 3306, "SHARING_USER_OWNCLOUDSQL_DB_NAME": "owncloud", # General oCIS config - # OCIS_RUN_EXTENSIONS specifies to start all fullstack extensions except idm and idp. These are replaced by external services - "OCIS_RUN_EXTENSIONS": "app-registry,app-provider,auth-basic,auth-bearer,auth-machine,frontend,gateway,graph,graph-explorer,groups,nats,notifications,ocdav,ocs,proxy,search,settings,sharing,storage-system,storage-publiclink,storage-shares,storage-users,store,thumbnails,users,web,webdav", + # OCIS_RUN_SERVICES specifies to start all fullstack services except idm and idp. These are replaced by external services + "OCIS_RUN_SERVICES": "app-registry,app-provider,auth-basic,auth-bearer,auth-machine,frontend,gateway,graph,graph-explorer,groups,nats,notifications,ocdav,ocs,proxy,search,settings,sharing,storage-system,storage-publiclink,storage-shares,storage-users,store,thumbnails,users,web,webdav", "OCIS_LOG_LEVEL": "info", "OCIS_URL": OCIS_URL, "FRONTEND_ENABLE_RESHARING": "true", diff --git a/.gitignore b/.gitignore index 9cce3ac8a..ec289b446 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,10 @@ # coverage reports */coverage.out -extensions/*/coverage.out +services/*/coverage.out # unit test reports */checkstyle.xml -extensions/*/checkstyle.xml +services/*/checkstyle.xml # nodejs / yarn */package-lock.json @@ -14,9 +14,9 @@ yarn.lock # build artifacts */bin -extensions/*/bin +services/*/bin dist/ -extensions/*/assets +services/*/assets ocis/ocis ocis/cmd/ocis/__debug_bin ocis/cmd/ocis/config/ @@ -48,3 +48,6 @@ protogen/buf.sha1.lock # third-party-licenses /third-party-licenses + +# misc +go.work diff --git a/.make/docs.mk b/.make/docs.mk index b7adfd437..d8a771c7a 100644 --- a/.make/docs.mk +++ b/.make/docs.mk @@ -1,6 +1,6 @@ SKIP_CONFIG_DOCS_GENERATE ?= 0 -CONFIG_DOCS_BASE_PATH ?= ../../docs/extensions +CONFIG_DOCS_BASE_PATH ?= ../../docs/services .PHONY: config-docs-generate config-docs-generate: #$(FLAEX) diff --git a/.vscode/launch.json b/.vscode/launch.json index 32492d9ca..0ecba45fa 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -21,8 +21,8 @@ "PROXY_ENABLE_BASIC_AUTH": "true", // demo users "IDM_CREATE_DEMO_USERS": "true", - // OCIS_RUN_EXTENSIONS allows to start a subset of extensions even in the supervised mode - //"OCIS_RUN_EXTENSIONS": "settings,storage-system,graph,graph-explorer,idp,idm,ocs,store,thumbnails,web,webdav,frontend,gateway,users,groups,auth-basic,auth-bearer,storage-authmachine,storage-users,storage-shares,storage-publiclink,storage-system,app-provider,sharing,proxy,ocdav", + // OCIS_RUN_SERVICES allows to start a subset of services even in the supervised mode + //"OCIS_RUN_SERVICES": "settings,storage-system,graph,graph-explorer,idp,idm,ocs,store,thumbnails,web,webdav,frontend,gateway,users,groups,auth-basic,auth-bearer,storage-authmachine,storage-users,storage-shares,storage-publiclink,storage-system,app-provider,sharing,proxy,ocdav", /* * Keep secrets and passwords in one block to allow easy uncommenting diff --git a/CHANGELOG.md b/CHANGELOG.md index 1c2b1a614..f9a94efa8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,32 +6,27 @@ The following sections list the changes for unreleased. ## Summary -* Enhancement - Add FRONTEND_ENABLE_RESHARING env variable: [#4023](https://github.com/owncloud/ocis/pull/4023) -* Enhancement - Generate signing key and encryption secret: [#3909](https://github.com/owncloud/ocis/issues/3909) -* Enhancement - Update reva: [#4025](https://github.com/owncloud/ocis/pull/4025) +* Bugfix - CSP rules for silent token refresh in iframe: [#4031](https://github.com/owncloud/ocis/pull/4031) +* Enhancement - Refactor extensions to services: [#3980](https://github.com/owncloud/ocis/pull/3980) ## Details -* Enhancement - Add FRONTEND_ENABLE_RESHARING env variable: [#4023](https://github.com/owncloud/ocis/pull/4023) +* Bugfix - CSP rules for silent token refresh in iframe: [#4031](https://github.com/owncloud/ocis/pull/4031) - We introduced resharing which was enabled by default, this is now configurable and can be - enabled by setting the env `FRONTEND_ENABLE_RESHARING` to `true`. By default resharing is - now disabled. + When renewing the access token silently web needs to be opened in an iframe. This was previously + blocked by a restrictive iframe CSP rule in the `Secure` middleware and has now been fixed by + allow `self` for iframes. - https://github.com/owncloud/ocis/pull/4023 + https://github.com/owncloud/web/issues/7030 + https://github.com/owncloud/ocis/pull/4031 -* Enhancement - Generate signing key and encryption secret: [#3909](https://github.com/owncloud/ocis/issues/3909) +* Enhancement - Refactor extensions to services: [#3980](https://github.com/owncloud/ocis/pull/3980) - The idp service now automatically generates a signing key and encryption secret when they - don't exist. This will enable service restarts without invalidating existing sessions. + We have decided to name all extensions, we maintain and provide with ocis, services from here on + to avoid confusion between external extensions and code we provide and maintain. - https://github.com/owncloud/ocis/issues/3909 - https://github.com/owncloud/ocis/pull/4022 - -* Enhancement - Update reva: [#4025](https://github.com/owncloud/ocis/pull/4025) - - https://github.com/owncloud/ocis/pull/4025 -# Changelog for [2.0.0-beta.4] (2022-06-22) + https://github.com/owncloud/ocis/pull/3980 +# Changelog for [2.0.0-beta.4] (2022-06-28) The following sections list the changes for 2.0.0-beta.4. @@ -82,6 +77,7 @@ The following sections list the changes for 2.0.0-beta.4. * Change - Prevent access to disabled space: [#3779](https://github.com/owncloud/ocis/pull/3779) * Change - Rename serviceUser to systemUser: [#3673](https://github.com/owncloud/ocis/pull/3673) * Change - Split MachineAuth from SystemUser: [#3672](https://github.com/owncloud/ocis/pull/3672) +* Enhancement - Add FRONTEND_ENABLE_RESHARING env variable: [#4023](https://github.com/owncloud/ocis/pull/4023) * Enhancement - Align service naming: [#3606](https://github.com/owncloud/ocis/pull/3606) * Enhancement - Add acting user to the audit log: [#3753](https://github.com/owncloud/ocis/issues/3753) * Enhancement - Add audit events for created containers: [#3941](https://github.com/owncloud/ocis/pull/3941) @@ -92,7 +88,9 @@ The following sections list the changes for 2.0.0-beta.4. * Enhancement - Add config option to provide TLS certificate: [#3818](https://github.com/owncloud/ocis/issues/3818) * Enhancement - Add descriptions for graph-explorer config: [#3759](https://github.com/owncloud/ocis/pull/3759) * Enhancement - Add /me/changePassword endpoint to GraphAPI: [#3063](https://github.com/owncloud/ocis/issues/3063) +* Enhancement - Generate signing key and encryption secret: [#3909](https://github.com/owncloud/ocis/issues/3909) * Enhancement - Wrap metadata storage with dedicated reva gateway: [#3602](https://github.com/owncloud/ocis/pull/3602) +* Enhancement - New migrate command for migrating shares and public shares: [#3987](https://github.com/owncloud/ocis/pull/3987) * Enhancement - Product field in OCS version: [#2918](https://github.com/owncloud/ocis/pull/2918) * Enhancement - Allow resharing: [#3904](https://github.com/owncloud/ocis/pull/3904) * Enhancement - Add initial version of the search extensions: [#3635](https://github.com/owncloud/ocis/pull/3635) @@ -102,6 +100,7 @@ The following sections list the changes for 2.0.0-beta.4. * Enhancement - Make thumbnails service log less noisy: [#3959](https://github.com/owncloud/ocis/pull/3959) * Enhancement - Update linkshare capabilities: [#3579](https://github.com/owncloud/ocis/pull/3579) * Enhancement - Update reva: [#3944](https://github.com/owncloud/ocis/pull/3944) +* Enhancement - Update reva: [#4025](https://github.com/owncloud/ocis/pull/4025) * Enhancement - Update reva to version 2.4.1: [#3746](https://github.com/owncloud/ocis/pull/3746) * Enhancement - Update reva to version 2.5.1: [#3932](https://github.com/owncloud/ocis/pull/3932) * Enhancement - Update reva to v2.3.1: [#3552](https://github.com/owncloud/ocis/pull/3552) @@ -465,6 +464,14 @@ The following sections list the changes for 2.0.0-beta.4. https://github.com/owncloud/ocis/pull/3672 +* Enhancement - Add FRONTEND_ENABLE_RESHARING env variable: [#4023](https://github.com/owncloud/ocis/pull/4023) + + We introduced resharing which was enabled by default, this is now configurable and can be + enabled by setting the env `FRONTEND_ENABLE_RESHARING` to `true`. By default resharing is + now disabled. + + https://github.com/owncloud/ocis/pull/4023 + * Enhancement - Align service naming: [#3606](https://github.com/owncloud/ocis/pull/3606) We now reflect the configured service names when listing them in the ocis runtime @@ -541,6 +548,14 @@ The following sections list the changes for 2.0.0-beta.4. https://github.com/owncloud/ocis/issues/3063 https://github.com/owncloud/ocis/pull/3705 +* Enhancement - Generate signing key and encryption secret: [#3909](https://github.com/owncloud/ocis/issues/3909) + + The idp service now automatically generates a signing key and encryption secret when they + don't exist. This will enable service restarts without invalidating existing sessions. + + https://github.com/owncloud/ocis/issues/3909 + https://github.com/owncloud/ocis/pull/4022 + * Enhancement - Wrap metadata storage with dedicated reva gateway: [#3602](https://github.com/owncloud/ocis/pull/3602) We wrapped the metadata storage in a minimal reva instance with a dedicated gateway, including @@ -551,6 +566,14 @@ The following sections list the changes for 2.0.0-beta.4. https://github.com/owncloud/ocis/pull/3602 https://github.com/owncloud/ocis/pull/3647 +* Enhancement - New migrate command for migrating shares and public shares: [#3987](https://github.com/owncloud/ocis/pull/3987) + + We added a new `migrate` subcommand which can be used to migrate shares and public shares + between different share and publicshare managers. + + https://github.com/owncloud/ocis/pull/3987 + https://github.com/owncloud/ocis/pull/4019 + * Enhancement - Product field in OCS version: [#2918](https://github.com/owncloud/ocis/pull/2918) We've added a new field to the OCS Version, which is supposed to announce the product name. The @@ -619,6 +642,19 @@ The following sections list the changes for 2.0.0-beta.4. * Enhancement - Update reva: [#3944](https://github.com/owncloud/ocis/pull/3944) + Changelog for reva 2.6.1 (2022-06-27) ======================================= + + The following sections list the changes in reva 2.6.1 relevant to reva users. The changes are + ordered by importance. + + Summary ------- + + * Bugfix [cs3org/reva#2998](https://github.com/cs3org/reva/pull/2998): Fix 0-byte-uploads + * Enhancement [cs3org/reva#3983](https://github.com/cs3org/reva/pull/3983): Add capability for alias links + * Enhancement [cs3org/reva#3000](https://github.com/cs3org/reva/pull/3000): Make less stat requests + * Enhancement [cs3org/reva#3003](https://github.com/cs3org/reva/pull/3003): Distinguish GRPC FAILED_PRECONDITION and ABORTED codes + * Enhancement [cs3org/reva#3005](https://github.com/cs3org/reva/pull/3005): Remove unused HomeMapping variable + Changelog for reva 2.6.0 (2022-06-21) ======================================= The following sections list the changes in reva 2.6.0 relevant to reva users. The changes are @@ -649,6 +685,10 @@ The following sections list the changes for 2.0.0-beta.4. https://github.com/owncloud/ocis/pull/4000 https://github.com/owncloud/ocis/pull/4006 +* Enhancement - Update reva: [#4025](https://github.com/owncloud/ocis/pull/4025) + + https://github.com/owncloud/ocis/pull/4025 + * Enhancement - Update reva to version 2.4.1: [#3746](https://github.com/owncloud/ocis/pull/3746) Changelog for reva 2.4.1 (2022-05-24) ======================================= diff --git a/Makefile b/Makefile index 6b8059ea2..0635429d8 100644 --- a/Makefile +++ b/Makefile @@ -16,35 +16,35 @@ L10N_MODULES := $(shell find . -path '*.tx*' -name 'config' | sed 's|/[^/]*$$||' # if you add a module here please also add it to the .drone.star file OCIS_MODULES = \ - extensions/app-provider \ - extensions/app-registry \ - extensions/audit \ - extensions/auth-basic \ - extensions/auth-bearer \ - extensions/auth-machine \ - extensions/frontend \ - extensions/gateway \ - extensions/graph \ - extensions/graph-explorer \ - extensions/groups \ - extensions/idm \ - extensions/idp \ - extensions/nats \ - extensions/notifications \ - extensions/ocdav \ - extensions/ocs \ - extensions/proxy \ - extensions/settings \ - extensions/sharing \ - extensions/storage-system \ - extensions/storage-publiclink \ - extensions/storage-shares \ - extensions/storage-users \ - extensions/store \ - extensions/thumbnails \ - extensions/users \ - extensions/web \ - extensions/webdav\ + services/app-provider \ + services/app-registry \ + services/audit \ + services/auth-basic \ + services/auth-bearer \ + services/auth-machine \ + services/frontend \ + services/gateway \ + services/graph \ + services/graph-explorer \ + services/groups \ + services/idm \ + services/idp \ + services/nats \ + services/notifications \ + services/ocdav \ + services/ocs \ + services/proxy \ + services/settings \ + services/sharing \ + services/storage-system \ + services/storage-publiclink \ + services/storage-shares \ + services/storage-users \ + services/store \ + services/thumbnails \ + services/users \ + services/web \ + services/webdav\ ocis \ ocis-pkg diff --git a/changelog/unreleased/add-resharing-env.md b/changelog/2.0.0_2022-06-28/add-resharing-env.md similarity index 100% rename from changelog/unreleased/add-resharing-env.md rename to changelog/2.0.0_2022-06-28/add-resharing-env.md diff --git a/changelog/2.0.0_2022-06-22/align-service-naming.md b/changelog/2.0.0_2022-06-28/align-service-naming.md similarity index 100% rename from changelog/2.0.0_2022-06-22/align-service-naming.md rename to changelog/2.0.0_2022-06-28/align-service-naming.md diff --git a/changelog/2.0.0_2022-06-22/audit-service.md b/changelog/2.0.0_2022-06-28/audit-service.md similarity index 100% rename from changelog/2.0.0_2022-06-22/audit-service.md rename to changelog/2.0.0_2022-06-28/audit-service.md diff --git a/changelog/2.0.0_2022-06-22/bump-ocis-package-v2.md b/changelog/2.0.0_2022-06-28/bump-ocis-package-v2.md similarity index 100% rename from changelog/2.0.0_2022-06-22/bump-ocis-package-v2.md rename to changelog/2.0.0_2022-06-28/bump-ocis-package-v2.md diff --git a/changelog/2.0.0_2022-06-22/change-load-config-from-only-one-dir.md b/changelog/2.0.0_2022-06-28/change-load-config-from-only-one-dir.md similarity index 100% rename from changelog/2.0.0_2022-06-22/change-load-config-from-only-one-dir.md rename to changelog/2.0.0_2022-06-28/change-load-config-from-only-one-dir.md diff --git a/changelog/2.0.0_2022-06-22/change-ocis-docker-volume-permissions.md b/changelog/2.0.0_2022-06-28/change-ocis-docker-volume-permissions.md similarity index 100% rename from changelog/2.0.0_2022-06-22/change-ocis-docker-volume-permissions.md rename to changelog/2.0.0_2022-06-28/change-ocis-docker-volume-permissions.md diff --git a/changelog/2.0.0_2022-06-22/change-ocis-init.md b/changelog/2.0.0_2022-06-28/change-ocis-init.md similarity index 100% rename from changelog/2.0.0_2022-06-22/change-ocis-init.md rename to changelog/2.0.0_2022-06-28/change-ocis-init.md diff --git a/changelog/2.0.0_2022-06-22/change-remove-runtime-kill-run-commands.md b/changelog/2.0.0_2022-06-28/change-remove-runtime-kill-run-commands.md similarity index 100% rename from changelog/2.0.0_2022-06-22/change-remove-runtime-kill-run-commands.md rename to changelog/2.0.0_2022-06-28/change-remove-runtime-kill-run-commands.md diff --git a/changelog/2.0.0_2022-06-22/container-created-audit.md b/changelog/2.0.0_2022-06-28/container-created-audit.md similarity index 100% rename from changelog/2.0.0_2022-06-22/container-created-audit.md rename to changelog/2.0.0_2022-06-28/container-created-audit.md diff --git a/changelog/2.0.0_2022-06-22/default-role-assignments.md b/changelog/2.0.0_2022-06-28/default-role-assignments.md similarity index 100% rename from changelog/2.0.0_2022-06-22/default-role-assignments.md rename to changelog/2.0.0_2022-06-28/default-role-assignments.md diff --git a/changelog/2.0.0_2022-06-22/deleteSpacePermissions.md b/changelog/2.0.0_2022-06-28/deleteSpacePermissions.md similarity index 100% rename from changelog/2.0.0_2022-06-22/deleteSpacePermissions.md rename to changelog/2.0.0_2022-06-28/deleteSpacePermissions.md diff --git a/changelog/2.0.0_2022-06-22/enhancement-registry-cache.md b/changelog/2.0.0_2022-06-28/enhancement-registry-cache.md similarity index 100% rename from changelog/2.0.0_2022-06-22/enhancement-registry-cache.md rename to changelog/2.0.0_2022-06-28/enhancement-registry-cache.md diff --git a/changelog/2.0.0_2022-06-22/enhancement-user-autoprovision.md b/changelog/2.0.0_2022-06-28/enhancement-user-autoprovision.md similarity index 100% rename from changelog/2.0.0_2022-06-22/enhancement-user-autoprovision.md rename to changelog/2.0.0_2022-06-28/enhancement-user-autoprovision.md diff --git a/changelog/2.0.0_2022-06-22/example-deployments.md b/changelog/2.0.0_2022-06-28/example-deployments.md similarity index 100% rename from changelog/2.0.0_2022-06-22/example-deployments.md rename to changelog/2.0.0_2022-06-28/example-deployments.md diff --git a/changelog/2.0.0_2022-06-22/fix-allow-empty-environment-variables b/changelog/2.0.0_2022-06-28/fix-allow-empty-environment-variables similarity index 100% rename from changelog/2.0.0_2022-06-22/fix-allow-empty-environment-variables rename to changelog/2.0.0_2022-06-28/fix-allow-empty-environment-variables diff --git a/changelog/2.0.0_2022-06-22/fix-app-provider-unused-transfer-secret.md b/changelog/2.0.0_2022-06-28/fix-app-provider-unused-transfer-secret.md similarity index 100% rename from changelog/2.0.0_2022-06-22/fix-app-provider-unused-transfer-secret.md rename to changelog/2.0.0_2022-06-28/fix-app-provider-unused-transfer-secret.md diff --git a/changelog/2.0.0_2022-06-22/fix-configure-idp-secrets-env.md b/changelog/2.0.0_2022-06-28/fix-configure-idp-secrets-env.md similarity index 100% rename from changelog/2.0.0_2022-06-22/fix-configure-idp-secrets-env.md rename to changelog/2.0.0_2022-06-28/fix-configure-idp-secrets-env.md diff --git a/changelog/2.0.0_2022-06-22/fix-debug-config-enable-by-default.md b/changelog/2.0.0_2022-06-28/fix-debug-config-enable-by-default.md similarity index 100% rename from changelog/2.0.0_2022-06-22/fix-debug-config-enable-by-default.md rename to changelog/2.0.0_2022-06-28/fix-debug-config-enable-by-default.md diff --git a/changelog/2.0.0_2022-06-22/fix-default-role-assign.md b/changelog/2.0.0_2022-06-28/fix-default-role-assign.md similarity index 100% rename from changelog/2.0.0_2022-06-22/fix-default-role-assign.md rename to changelog/2.0.0_2022-06-28/fix-default-role-assign.md diff --git a/changelog/2.0.0_2022-06-22/fix-index-integrity.md b/changelog/2.0.0_2022-06-28/fix-index-integrity.md similarity index 100% rename from changelog/2.0.0_2022-06-22/fix-index-integrity.md rename to changelog/2.0.0_2022-06-28/fix-index-integrity.md diff --git a/changelog/2.0.0_2022-06-22/fix-ldap-filter-envvar.md b/changelog/2.0.0_2022-06-28/fix-ldap-filter-envvar.md similarity index 100% rename from changelog/2.0.0_2022-06-22/fix-ldap-filter-envvar.md rename to changelog/2.0.0_2022-06-28/fix-ldap-filter-envvar.md diff --git a/changelog/2.0.0_2022-06-22/fix-ldap-insecure-options.md b/changelog/2.0.0_2022-06-28/fix-ldap-insecure-options.md similarity index 100% rename from changelog/2.0.0_2022-06-22/fix-ldap-insecure-options.md rename to changelog/2.0.0_2022-06-28/fix-ldap-insecure-options.md diff --git a/changelog/2.0.0_2022-06-22/fix-public-link-defaultname-capability b/changelog/2.0.0_2022-06-28/fix-public-link-defaultname-capability similarity index 100% rename from changelog/2.0.0_2022-06-22/fix-public-link-defaultname-capability rename to changelog/2.0.0_2022-06-28/fix-public-link-defaultname-capability diff --git a/changelog/2.0.0_2022-06-22/fix-remove-legacy-accounts-routes.md b/changelog/2.0.0_2022-06-28/fix-remove-legacy-accounts-routes.md similarity index 100% rename from changelog/2.0.0_2022-06-22/fix-remove-legacy-accounts-routes.md rename to changelog/2.0.0_2022-06-28/fix-remove-legacy-accounts-routes.md diff --git a/changelog/2.0.0_2022-06-22/fix-remove-unused-ocs-storage-config.md b/changelog/2.0.0_2022-06-28/fix-remove-unused-ocs-storage-config.md similarity index 100% rename from changelog/2.0.0_2022-06-22/fix-remove-unused-ocs-storage-config.md rename to changelog/2.0.0_2022-06-28/fix-remove-unused-ocs-storage-config.md diff --git a/changelog/2.0.0_2022-06-22/fix-search-command-server-command.md b/changelog/2.0.0_2022-06-28/fix-search-command-server-command.md similarity index 100% rename from changelog/2.0.0_2022-06-22/fix-search-command-server-command.md rename to changelog/2.0.0_2022-06-28/fix-search-command-server-command.md diff --git a/changelog/2.0.0_2022-06-22/fix-search-grpc-addr-env.md b/changelog/2.0.0_2022-06-28/fix-search-grpc-addr-env.md similarity index 100% rename from changelog/2.0.0_2022-06-22/fix-search-grpc-addr-env.md rename to changelog/2.0.0_2022-06-28/fix-search-grpc-addr-env.md diff --git a/changelog/2.0.0_2022-06-22/fix-settings-idm-adminuserid.md b/changelog/2.0.0_2022-06-28/fix-settings-idm-adminuserid.md similarity index 100% rename from changelog/2.0.0_2022-06-22/fix-settings-idm-adminuserid.md rename to changelog/2.0.0_2022-06-28/fix-settings-idm-adminuserid.md diff --git a/changelog/2.0.0_2022-06-22/fix-skip-validate-for-non-fullstack.md b/changelog/2.0.0_2022-06-28/fix-skip-validate-for-non-fullstack.md similarity index 100% rename from changelog/2.0.0_2022-06-22/fix-skip-validate-for-non-fullstack.md rename to changelog/2.0.0_2022-06-28/fix-skip-validate-for-non-fullstack.md diff --git a/changelog/2.0.0_2022-06-22/fix-storage-users-config.md b/changelog/2.0.0_2022-06-28/fix-storage-users-config.md similarity index 100% rename from changelog/2.0.0_2022-06-22/fix-storage-users-config.md rename to changelog/2.0.0_2022-06-28/fix-storage-users-config.md diff --git a/changelog/2.0.0_2022-06-22/fix-thumbnails-dav.md b/changelog/2.0.0_2022-06-28/fix-thumbnails-dav.md similarity index 100% rename from changelog/2.0.0_2022-06-22/fix-thumbnails-dav.md rename to changelog/2.0.0_2022-06-28/fix-thumbnails-dav.md diff --git a/changelog/2.0.0_2022-06-22/fix-user-autoprovision.md b/changelog/2.0.0_2022-06-28/fix-user-autoprovision.md similarity index 100% rename from changelog/2.0.0_2022-06-22/fix-user-autoprovision.md rename to changelog/2.0.0_2022-06-28/fix-user-autoprovision.md diff --git a/changelog/2.0.0_2022-06-22/fix-version-info b/changelog/2.0.0_2022-06-28/fix-version-info similarity index 100% rename from changelog/2.0.0_2022-06-22/fix-version-info rename to changelog/2.0.0_2022-06-28/fix-version-info diff --git a/changelog/2.0.0_2022-06-22/fix-version.md b/changelog/2.0.0_2022-06-28/fix-version.md similarity index 100% rename from changelog/2.0.0_2022-06-22/fix-version.md rename to changelog/2.0.0_2022-06-28/fix-version.md diff --git a/changelog/2.0.0_2022-06-22/glauth-accounts-rm.md b/changelog/2.0.0_2022-06-28/glauth-accounts-rm.md similarity index 100% rename from changelog/2.0.0_2022-06-22/glauth-accounts-rm.md rename to changelog/2.0.0_2022-06-28/glauth-accounts-rm.md diff --git a/changelog/2.0.0_2022-06-22/graph-cacert.md b/changelog/2.0.0_2022-06-28/graph-cacert.md similarity index 100% rename from changelog/2.0.0_2022-06-22/graph-cacert.md rename to changelog/2.0.0_2022-06-28/graph-cacert.md diff --git a/changelog/2.0.0_2022-06-22/graph-explorer-env-doc.md b/changelog/2.0.0_2022-06-28/graph-explorer-env-doc.md similarity index 100% rename from changelog/2.0.0_2022-06-22/graph-explorer-env-doc.md rename to changelog/2.0.0_2022-06-28/graph-explorer-env-doc.md diff --git a/changelog/2.0.0_2022-06-22/graph-me-changepw.md b/changelog/2.0.0_2022-06-28/graph-me-changepw.md similarity index 100% rename from changelog/2.0.0_2022-06-22/graph-me-changepw.md rename to changelog/2.0.0_2022-06-28/graph-me-changepw.md diff --git a/changelog/2.0.0_2022-06-22/graph-me-drives.md b/changelog/2.0.0_2022-06-28/graph-me-drives.md similarity index 100% rename from changelog/2.0.0_2022-06-22/graph-me-drives.md rename to changelog/2.0.0_2022-06-28/graph-me-drives.md diff --git a/changelog/2.0.0_2022-06-22/graph-webdav-url.md b/changelog/2.0.0_2022-06-28/graph-webdav-url.md similarity index 100% rename from changelog/2.0.0_2022-06-22/graph-webdav-url.md rename to changelog/2.0.0_2022-06-28/graph-webdav-url.md diff --git a/changelog/2.0.0_2022-06-22/idp-cert-wait.md b/changelog/2.0.0_2022-06-28/idp-cert-wait.md similarity index 100% rename from changelog/2.0.0_2022-06-22/idp-cert-wait.md rename to changelog/2.0.0_2022-06-28/idp-cert-wait.md diff --git a/changelog/unreleased/idp-default-files.md b/changelog/2.0.0_2022-06-28/idp-default-files.md similarity index 100% rename from changelog/unreleased/idp-default-files.md rename to changelog/2.0.0_2022-06-28/idp-default-files.md diff --git a/changelog/2.0.0_2022-06-22/improve-graph.md b/changelog/2.0.0_2022-06-28/improve-graph.md similarity index 100% rename from changelog/2.0.0_2022-06-22/improve-graph.md rename to changelog/2.0.0_2022-06-28/improve-graph.md diff --git a/changelog/2.0.0_2022-06-22/libregraph-idm-switch.md b/changelog/2.0.0_2022-06-28/libregraph-idm-switch.md similarity index 100% rename from changelog/2.0.0_2022-06-22/libregraph-idm-switch.md rename to changelog/2.0.0_2022-06-28/libregraph-idm-switch.md diff --git a/changelog/2.0.0_2022-06-22/make-idp-only-wait-for-certs-when-using-ldap.md b/changelog/2.0.0_2022-06-28/make-idp-only-wait-for-certs-when-using-ldap.md similarity index 100% rename from changelog/2.0.0_2022-06-22/make-idp-only-wait-for-certs-when-using-ldap.md rename to changelog/2.0.0_2022-06-28/make-idp-only-wait-for-certs-when-using-ldap.md diff --git a/changelog/2.0.0_2022-06-22/make-ocdav-service-behave.md b/changelog/2.0.0_2022-06-28/make-ocdav-service-behave.md similarity index 100% rename from changelog/2.0.0_2022-06-22/make-ocdav-service-behave.md rename to changelog/2.0.0_2022-06-28/make-ocdav-service-behave.md diff --git a/changelog/2.0.0_2022-06-22/metadata-gateway.md b/changelog/2.0.0_2022-06-28/metadata-gateway.md similarity index 100% rename from changelog/2.0.0_2022-06-22/metadata-gateway.md rename to changelog/2.0.0_2022-06-28/metadata-gateway.md diff --git a/changelog/2.0.0_2022-06-22/metadatauserid-systemuserid.md b/changelog/2.0.0_2022-06-28/metadatauserid-systemuserid.md similarity index 100% rename from changelog/2.0.0_2022-06-22/metadatauserid-systemuserid.md rename to changelog/2.0.0_2022-06-28/metadatauserid-systemuserid.md diff --git a/changelog/2.0.0_2022-06-28/migrate-command.md b/changelog/2.0.0_2022-06-28/migrate-command.md new file mode 100644 index 000000000..ec3c54f73 --- /dev/null +++ b/changelog/2.0.0_2022-06-28/migrate-command.md @@ -0,0 +1,6 @@ +Enhancement: New migrate command for migrating shares and public shares + +We added a new `migrate` subcommand which can be used to migrate shares and public shares between different share and publicshare managers. + +https://github.com/owncloud/ocis/pull/3987 +https://github.com/owncloud/ocis/pull/4019 diff --git a/changelog/2.0.0_2022-06-22/new-space-id-functions.md b/changelog/2.0.0_2022-06-28/new-space-id-functions.md similarity index 100% rename from changelog/2.0.0_2022-06-22/new-space-id-functions.md rename to changelog/2.0.0_2022-06-28/new-space-id-functions.md diff --git a/changelog/2.0.0_2022-06-22/ocs-cs3-fatal.md b/changelog/2.0.0_2022-06-28/ocs-cs3-fatal.md similarity index 100% rename from changelog/2.0.0_2022-06-22/ocs-cs3-fatal.md rename to changelog/2.0.0_2022-06-28/ocs-cs3-fatal.md diff --git a/changelog/2.0.0_2022-06-22/ocs-version-product-field.md b/changelog/2.0.0_2022-06-28/ocs-version-product-field.md similarity index 100% rename from changelog/2.0.0_2022-06-22/ocs-version-product-field.md rename to changelog/2.0.0_2022-06-28/ocs-version-product-field.md diff --git a/changelog/2.0.0_2022-06-22/prevent-access-to-disabled-space.md b/changelog/2.0.0_2022-06-28/prevent-access-to-disabled-space.md similarity index 100% rename from changelog/2.0.0_2022-06-22/prevent-access-to-disabled-space.md rename to changelog/2.0.0_2022-06-28/prevent-access-to-disabled-space.md diff --git a/changelog/2.0.0_2022-06-22/resharing.md b/changelog/2.0.0_2022-06-28/resharing.md similarity index 100% rename from changelog/2.0.0_2022-06-22/resharing.md rename to changelog/2.0.0_2022-06-28/resharing.md diff --git a/changelog/2.0.0_2022-06-22/save-katherine.md b/changelog/2.0.0_2022-06-28/save-katherine.md similarity index 100% rename from changelog/2.0.0_2022-06-22/save-katherine.md rename to changelog/2.0.0_2022-06-28/save-katherine.md diff --git a/changelog/2.0.0_2022-06-22/search-extension.md b/changelog/2.0.0_2022-06-28/search-extension.md similarity index 100% rename from changelog/2.0.0_2022-06-22/search-extension.md rename to changelog/2.0.0_2022-06-28/search-extension.md diff --git a/changelog/2.0.0_2022-06-22/serviceUser-systemUser.md b/changelog/2.0.0_2022-06-28/serviceUser-systemUser.md similarity index 100% rename from changelog/2.0.0_2022-06-22/serviceUser-systemUser.md rename to changelog/2.0.0_2022-06-28/serviceUser-systemUser.md diff --git a/changelog/2.0.0_2022-06-22/share-jail-fixes.md b/changelog/2.0.0_2022-06-28/share-jail-fixes.md similarity index 100% rename from changelog/2.0.0_2022-06-22/share-jail-fixes.md rename to changelog/2.0.0_2022-06-28/share-jail-fixes.md diff --git a/changelog/2.0.0_2022-06-22/single-file-edit.md b/changelog/2.0.0_2022-06-28/single-file-edit.md similarity index 100% rename from changelog/2.0.0_2022-06-22/single-file-edit.md rename to changelog/2.0.0_2022-06-28/single-file-edit.md diff --git a/changelog/2.0.0_2022-06-22/spaces-capabilities.md b/changelog/2.0.0_2022-06-28/spaces-capabilities.md similarity index 100% rename from changelog/2.0.0_2022-06-22/spaces-capabilities.md rename to changelog/2.0.0_2022-06-28/spaces-capabilities.md diff --git a/changelog/2.0.0_2022-06-22/split-machineauth-and-systemuserauth.md b/changelog/2.0.0_2022-06-28/split-machineauth-and-systemuserauth.md similarity index 100% rename from changelog/2.0.0_2022-06-22/split-machineauth-and-systemuserauth.md rename to changelog/2.0.0_2022-06-28/split-machineauth-and-systemuserauth.md diff --git a/changelog/2.0.0_2022-06-22/thumbnails-env-doc.md b/changelog/2.0.0_2022-06-28/thumbnails-env-doc.md similarity index 100% rename from changelog/2.0.0_2022-06-22/thumbnails-env-doc.md rename to changelog/2.0.0_2022-06-28/thumbnails-env-doc.md diff --git a/changelog/2.0.0_2022-06-22/thumbnails-log.md b/changelog/2.0.0_2022-06-28/thumbnails-log.md similarity index 100% rename from changelog/2.0.0_2022-06-22/thumbnails-log.md rename to changelog/2.0.0_2022-06-28/thumbnails-log.md diff --git a/changelog/2.0.0_2022-06-22/update-linkshare-capabilities.md b/changelog/2.0.0_2022-06-28/update-linkshare-capabilities.md similarity index 100% rename from changelog/2.0.0_2022-06-22/update-linkshare-capabilities.md rename to changelog/2.0.0_2022-06-28/update-linkshare-capabilities.md diff --git a/changelog/2.0.0_2022-06-22/update-reva-beta.4.md b/changelog/2.0.0_2022-06-28/update-reva-beta.4.md similarity index 76% rename from changelog/2.0.0_2022-06-22/update-reva-beta.4.md rename to changelog/2.0.0_2022-06-28/update-reva-beta.4.md index ded537ded..44ac5ab84 100644 --- a/changelog/2.0.0_2022-06-22/update-reva-beta.4.md +++ b/changelog/2.0.0_2022-06-28/update-reva-beta.4.md @@ -1,5 +1,20 @@ Enhancement: Update reva +Changelog for reva 2.6.1 (2022-06-27) +======================================= + +The following sections list the changes in reva 2.6.1 relevant to +reva users. The changes are ordered by importance. + +Summary +------- + +* Bugfix [cs3org/reva#2998](https://github.com/cs3org/reva/pull/2998): Fix 0-byte-uploads +* Enhancement [cs3org/reva#3983](https://github.com/cs3org/reva/pull/3983): Add capability for alias links +* Enhancement [cs3org/reva#3000](https://github.com/cs3org/reva/pull/3000): Make less stat requests +* Enhancement [cs3org/reva#3003](https://github.com/cs3org/reva/pull/3003): Distinguish GRPC FAILED_PRECONDITION and ABORTED codes +* Enhancement [cs3org/reva#3005](https://github.com/cs3org/reva/pull/3005): Remove unused HomeMapping variable + Changelog for reva 2.6.0 (2022-06-21) ======================================= diff --git a/changelog/unreleased/update-reva-beta.5.md b/changelog/2.0.0_2022-06-28/update-reva-beta.5.md similarity index 100% rename from changelog/unreleased/update-reva-beta.5.md rename to changelog/2.0.0_2022-06-28/update-reva-beta.5.md diff --git a/changelog/2.0.0_2022-06-22/update-reva-beta2.md b/changelog/2.0.0_2022-06-28/update-reva-beta2.md similarity index 100% rename from changelog/2.0.0_2022-06-22/update-reva-beta2.md rename to changelog/2.0.0_2022-06-28/update-reva-beta2.md diff --git a/changelog/2.0.0_2022-06-22/update-reva-beta3.md b/changelog/2.0.0_2022-06-28/update-reva-beta3.md similarity index 100% rename from changelog/2.0.0_2022-06-22/update-reva-beta3.md rename to changelog/2.0.0_2022-06-28/update-reva-beta3.md diff --git a/changelog/2.0.0_2022-06-22/update-reva.md b/changelog/2.0.0_2022-06-28/update-reva.md similarity index 100% rename from changelog/2.0.0_2022-06-22/update-reva.md rename to changelog/2.0.0_2022-06-28/update-reva.md diff --git a/changelog/2.0.0_2022-06-22/update-web-5.5.0-beta2.md b/changelog/2.0.0_2022-06-28/update-web-5.5.0-beta2.md similarity index 100% rename from changelog/2.0.0_2022-06-22/update-web-5.5.0-beta2.md rename to changelog/2.0.0_2022-06-28/update-web-5.5.0-beta2.md diff --git a/changelog/2.0.0_2022-06-22/update-web-5.5.0-beta3.md b/changelog/2.0.0_2022-06-28/update-web-5.5.0-beta3.md similarity index 100% rename from changelog/2.0.0_2022-06-22/update-web-5.5.0-beta3.md rename to changelog/2.0.0_2022-06-28/update-web-5.5.0-beta3.md diff --git a/changelog/2.0.0_2022-06-22/update-web-5.5.0.md b/changelog/2.0.0_2022-06-28/update-web-5.5.0.md similarity index 100% rename from changelog/2.0.0_2022-06-22/update-web-5.5.0.md rename to changelog/2.0.0_2022-06-28/update-web-5.5.0.md diff --git a/changelog/2.0.0_2022-06-22/update-web-5.7.0-rc.1-beta.4.md b/changelog/2.0.0_2022-06-28/update-web-5.7.0-rc.1-beta.4.md similarity index 100% rename from changelog/2.0.0_2022-06-22/update-web-5.7.0-rc.1-beta.4.md rename to changelog/2.0.0_2022-06-28/update-web-5.7.0-rc.1-beta.4.md diff --git a/changelog/2.0.0_2022-06-22/urlencoding-graph-api.md b/changelog/2.0.0_2022-06-28/urlencoding-graph-api.md similarity index 100% rename from changelog/2.0.0_2022-06-22/urlencoding-graph-api.md rename to changelog/2.0.0_2022-06-28/urlencoding-graph-api.md diff --git a/changelog/2.0.0_2022-06-22/webdav-env-doc.md b/changelog/2.0.0_2022-06-28/webdav-env-doc.md similarity index 100% rename from changelog/2.0.0_2022-06-22/webdav-env-doc.md rename to changelog/2.0.0_2022-06-28/webdav-env-doc.md diff --git a/changelog/unreleased/fix-csp-silent-refresh.md b/changelog/unreleased/fix-csp-silent-refresh.md new file mode 100644 index 000000000..3b6f338d3 --- /dev/null +++ b/changelog/unreleased/fix-csp-silent-refresh.md @@ -0,0 +1,6 @@ +Bugfix: CSP rules for silent token refresh in iframe + +When renewing the access token silently web needs to be opened in an iframe. This was previously blocked by a restrictive iframe CSP rule in the `Secure` middleware and has now been fixed by allow `self` for iframes. + +https://github.com/owncloud/ocis/pull/4031 +https://github.com/owncloud/web/issues/7030 diff --git a/changelog/unreleased/refactor-extensions-to-services.md b/changelog/unreleased/refactor-extensions-to-services.md new file mode 100644 index 000000000..ebe84055e --- /dev/null +++ b/changelog/unreleased/refactor-extensions-to-services.md @@ -0,0 +1,7 @@ +Enhancement: Refactor extensions to services + +We have decided to name all extensions, we maintain and provide with ocis, +services from here on to avoid confusion between external extensions and code +we provide and maintain. + +https://github.com/owncloud/ocis/pull/3980 diff --git a/deployments/continuous-deployment-config/ocis_keycloak/released.yml b/deployments/continuous-deployment-config/ocis_keycloak/released.yml index fd528e3dc..9cb480f4a 100644 --- a/deployments/continuous-deployment-config/ocis_keycloak/released.yml +++ b/deployments/continuous-deployment-config/ocis_keycloak/released.yml @@ -33,7 +33,7 @@ env: INSECURE: "false" TRAEFIK_ACME_MAIL: wkloucek@owncloud.com - OCIS_DOCKER_TAG: 2.0.0-beta.3 + OCIS_DOCKER_TAG: 2.0.0-beta.4 OCIS_DOMAIN: ocis.ocis-keycloak.released.owncloud.works KEYCLOAK_DOMAIN: keycloak.ocis-keycloak.released.owncloud.works COMPOSE_FILE: docker-compose.yml:monitoring_tracing/docker-compose-additions.yml diff --git a/deployments/continuous-deployment-config/ocis_ldap/released.yml b/deployments/continuous-deployment-config/ocis_ldap/released.yml index 569385b08..ef1163a3d 100644 --- a/deployments/continuous-deployment-config/ocis_ldap/released.yml +++ b/deployments/continuous-deployment-config/ocis_ldap/released.yml @@ -33,7 +33,7 @@ env: INSECURE: "false" TRAEFIK_ACME_MAIL: wkloucek@owncloud.com - OCIS_DOCKER_TAG: 2.0.0-beta.3 + OCIS_DOCKER_TAG: 2.0.0-beta.4 OCIS_DOMAIN: ocis.ocis-ldap.released.owncloud.works LDAP_MANAGER_DOMAIN: ldap.ocis-ldap.released.owncloud.works COMPOSE_FILE: docker-compose.yml:monitoring_tracing/docker-compose-additions.yml diff --git a/deployments/continuous-deployment-config/ocis_traefik/released.yml b/deployments/continuous-deployment-config/ocis_traefik/released.yml index 20cce9da8..5f56e8a50 100644 --- a/deployments/continuous-deployment-config/ocis_traefik/released.yml +++ b/deployments/continuous-deployment-config/ocis_traefik/released.yml @@ -33,7 +33,7 @@ env: INSECURE: "false" TRAEFIK_ACME_MAIL: wkloucek@owncloud.com - OCIS_DOCKER_TAG: 2.0.0-beta.3 + OCIS_DOCKER_TAG: 2.0.0-beta.4 OCIS_DOMAIN: ocis.ocis-traefik.released.owncloud.works DEMO_USERS: "true" COMPOSE_FILE: docker-compose.yml:monitoring_tracing/docker-compose-additions.yml diff --git a/deployments/continuous-deployment-config/ocis_wopi/released.yml b/deployments/continuous-deployment-config/ocis_wopi/released.yml index 4cb7352c3..9b6fc1015 100644 --- a/deployments/continuous-deployment-config/ocis_wopi/released.yml +++ b/deployments/continuous-deployment-config/ocis_wopi/released.yml @@ -33,7 +33,7 @@ env: INSECURE: "false" TRAEFIK_ACME_MAIL: wkloucek@owncloud.com - OCIS_DOCKER_TAG: 2.0.0-beta.3 + OCIS_DOCKER_TAG: 2.0.0-beta.4 OCIS_DOMAIN: ocis.ocis-wopi.released.owncloud.works WOPISERVER_DOMAIN: wopiserver.ocis-wopi.released.owncloud.works COLLABORA_DOMAIN: collabora.ocis-wopi.released.owncloud.works diff --git a/deployments/examples/oc10_ocis_parallel/docker-compose.yml b/deployments/examples/oc10_ocis_parallel/docker-compose.yml index 60cb9095c..114398b74 100644 --- a/deployments/examples/oc10_ocis_parallel/docker-compose.yml +++ b/deployments/examples/oc10_ocis_parallel/docker-compose.yml @@ -109,8 +109,8 @@ services: # ownCloud storage readonly OCIS_STORAGE_READ_ONLY: "false" # TODO: conflict with OWNCLOUDSQL -> https://github.com/owncloud/ocis/issues/2303 # General oCIS config - # OCIS_RUN_EXTENSIONS specifies to start all fullstack extensions except idm and idp. These are replaced by external services - OCIS_RUN_EXTENSIONS: app-registry,app-provider,auth-basic,auth-bearer,auth-machine,frontend,gateway,graph,graph-explorer,groups,nats,notifications,ocdav,ocs,proxy,search,settings,sharing,storage-system,storage-publiclink,storage-shares,storage-users,store,thumbnails,users,web,webdav + # OCIS_RUN_SERVICES specifies to start all fullstack services except idm and idp. These are replaced by external services + OCIS_RUN_SERVICES: app-registry,app-provider,auth-basic,auth-bearer,auth-machine,frontend,gateway,graph,graph-explorer,groups,nats,notifications,ocdav,ocs,proxy,search,settings,sharing,storage-system,storage-publiclink,storage-shares,storage-users,store,thumbnails,users,web,webdav OCIS_LOG_LEVEL: ${OCIS_LOG_LEVEL:-error} # make oCIS less verbose OCIS_LOG_COLOR: "${OCIS_LOG_COLOR:-false}" OCIS_URL: https://${CLOUD_DOMAIN:-cloud.owncloud.test} diff --git a/deployments/examples/ocis_hello/config/ocis/proxy.yaml b/deployments/examples/ocis_hello/config/ocis/proxy.yaml index 7f19ee796..e7db5e37a 100644 --- a/deployments/examples/ocis_hello/config/ocis/proxy.yaml +++ b/deployments/examples/ocis_hello/config/ocis/proxy.yaml @@ -5,7 +5,7 @@ policy_selector: policies: - name: ocis routes: - # defaults, taken from https://owncloud.dev/extensions/proxy/configuration/ + # defaults, taken from https://owncloud.dev/services/proxy/configuration/ - endpoint: / backend: http://localhost:9100 - endpoint: /.well-known/ diff --git a/deployments/examples/ocis_keycloak/docker-compose.yml b/deployments/examples/ocis_keycloak/docker-compose.yml index d02ea46a3..7fbb44ae9 100644 --- a/deployments/examples/ocis_keycloak/docker-compose.yml +++ b/deployments/examples/ocis_keycloak/docker-compose.yml @@ -66,6 +66,7 @@ services: # INSECURE: needed if oCIS / Traefik is using self generated certificates OCIS_INSECURE: "${INSECURE:-false}" volumes: + - ocis-config:/etc/ocis - ocis-data:/var/lib/ocis labels: - "traefik.enable=true" @@ -137,6 +138,7 @@ services: volumes: certs: + ocis-config: ocis-data: keycloak_postgres_data: diff --git a/deployments/examples/ocis_ldap/docker-compose.yml b/deployments/examples/ocis_ldap/docker-compose.yml index 13f2b2c95..6adf5522f 100644 --- a/deployments/examples/ocis_ldap/docker-compose.yml +++ b/deployments/examples/ocis_ldap/docker-compose.yml @@ -72,8 +72,8 @@ services: IDP_LDAP_UUID_ATTRIBUTE: "ownclouduuid" IDP_LDAP_UUID_ATTRIBUTE_TYPE: binary GRAPH_LDAP_SERVER_WRITE_ENABLED: "false" # assuming the external ldap is readonly - # OCIS_RUN_EXTENSIONS specifies to start all extensions except glauth, idm and accounts. These are replaced by external services - OCIS_RUN_EXTENSIONS: app-registry,app-provider,audit,auth-basic,auth-bearer,auth-machine,frontend,gateway,graph,graph-explorer,groups,idp,nats,notifications,ocdav,ocs,proxy,search,settings,sharing,storage-system,storage-publiclink,storage-shares,storage-users,store,thumbnails,users,web,webdav + # OCIS_RUN_SERVICES specifies to start all services except glauth, idm and accounts. These are replaced by external services + OCIS_RUN_SERVICES: app-registry,app-provider,audit,auth-basic,auth-bearer,auth-machine,frontend,gateway,graph,graph-explorer,groups,idp,nats,notifications,ocdav,ocs,proxy,search,settings,sharing,storage-system,storage-publiclink,storage-shares,storage-users,store,thumbnails,users,web,webdav # General oCIS config OCIS_URL: https://${OCIS_DOMAIN:-ocis.owncloud.test} OCIS_LOG_LEVEL: ${OCIS_LOG_LEVEL:-error} # make oCIS less verbose diff --git a/deployments/examples/ocis_wopi/.env b/deployments/examples/ocis_wopi/.env index 240bc6f96..dadcf7031 100644 --- a/deployments/examples/ocis_wopi/.env +++ b/deployments/examples/ocis_wopi/.env @@ -25,7 +25,7 @@ DEMO_USERS= ### Wopi server settings ### # cs3org wopi server version. Defaults to "latest" -WOPISERVER_DOCKER_TAG= +WOPISERVER_DOCKER_TAG=v8.3.0 # cs3org wopi server domain. Defaults to "wopiserver.owncloud.test" WOPISERVER_DOMAIN= # JWT secret which is used for the documents to be request by the Wopi client from the cs3org Wopi server. Must be change in order to have a secure Wopi server. Defaults to "LoremIpsum567" diff --git a/docs/Makefile b/docs/Makefile index 12121bd84..0de6a1b53 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -7,7 +7,7 @@ help: @grep -E '^[a-zA-Z0-9_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' .PHONY: docs-generate -docs-generate: ## run docs-generate for all oCIS extensions +docs-generate: ## run docs-generate for all oCIS services @pushd helpers && go run configenvextractor.go; popd @$(MAKE) --no-print-directory -C ../ docs-generate diff --git a/docs/extensions/gateway/configuration.md b/docs/extensions/gateway/configuration.md deleted file mode 100644 index 3ff17a8e8..000000000 --- a/docs/extensions/gateway/configuration.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Service Configuration -date: 2018-05-02T00:00:00+00:00 -weight: 20 -geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/gateway -geekdocFilePath: configuration.md -geekdocCollapseSection: true ---- - -## Example YAML Config - -{{< include file="extensions/_includes/gateway-config-example.yaml" language="yaml" >}} - -{{< include file="extensions/_includes/gateway_configvars.md" >}} diff --git a/docs/extensions/graph-explorer/configuration.md b/docs/extensions/graph-explorer/configuration.md deleted file mode 100644 index a88cabd2d..000000000 --- a/docs/extensions/graph-explorer/configuration.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Service Configuration -date: 2018-05-02T00:00:00+00:00 -weight: 20 -geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/graph-explorer -geekdocFilePath: configuration.md -geekdocCollapseSection: true ---- - -## Example YAML Config - -{{< include file="extensions/_includes/graph-explorer-config-example.yaml" language="yaml" >}} - -{{< include file="extensions/_includes/graph-explorer_configvars.md" >}} \ No newline at end of file diff --git a/docs/extensions/graph/configuration.md b/docs/extensions/graph/configuration.md deleted file mode 100644 index dbd212255..000000000 --- a/docs/extensions/graph/configuration.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: Service Configuration -date: 2018-05-02T00:00:00+00:00 -weight: 20 -geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/graph -geekdocFilePath: configuration.md -geekdocCollapseSection: true ---- -## Example YAML Config - -{{< include file="extensions/_includes/graph-config-example.yaml" language="yaml" >}} - -{{< include file="extensions/_includes/graph_configvars.md" >}} \ No newline at end of file diff --git a/docs/extensions/groups/configuration.md b/docs/extensions/groups/configuration.md deleted file mode 100644 index ae71b8bf2..000000000 --- a/docs/extensions/groups/configuration.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Service Configuration -date: 2018-05-02T00:00:00+00:00 -weight: 20 -geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/groups -geekdocFilePath: configuration.md -geekdocCollapseSection: true ---- - -## Example YAML Config - -{{< include file="extensions/_includes/groups-config-example.yaml" language="yaml" >}} - -{{< include file="extensions/_includes/groups_configvars.md" >}} diff --git a/docs/extensions/notifications/configuration.md b/docs/extensions/notifications/configuration.md deleted file mode 100644 index 7e260efbd..000000000 --- a/docs/extensions/notifications/configuration.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Service Configuration -date: 2018-05-02T00:00:00+00:00 -weight: 20 -geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/notifications -geekdocFilePath: configuration.md -geekdocCollapseSection: true ---- - -## Example YAML Config - -{{< include file="extensions/_includes/notifications-config-example.yaml" language="yaml" >}} - -{{< include file="extensions/_includes/notifications_configvars.md" >}} \ No newline at end of file diff --git a/docs/extensions/proxy/configuration.md b/docs/extensions/proxy/configuration.md deleted file mode 100644 index e127a1015..000000000 --- a/docs/extensions/proxy/configuration.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Service Configuration -date: 2018-05-02T00:00:00+00:00 -weight: 20 -geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/proxy -geekdocFilePath: configuration.md -geekdocCollapseSection: true ---- - -## Example YAML Config - -{{< include file="extensions/_includes/proxy-config-example.yaml" language="yaml" >}} - -{{< include file="extensions/_includes/proxy_configvars.md" >}} \ No newline at end of file diff --git a/docs/extensions/sharing/configuration.md b/docs/extensions/sharing/configuration.md deleted file mode 100644 index 199dd30ec..000000000 --- a/docs/extensions/sharing/configuration.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Service Configuration -date: 2018-05-02T00:00:00+00:00 -weight: 20 -geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/sharing -geekdocFilePath: configuration.md -geekdocCollapseSection: true ---- - -## Example YAML Config - -{{< include file="extensions/_includes/sharing-config-example.yaml" language="yaml" >}} - -{{< include file="extensions/_includes/sharing_configvars.md" >}} diff --git a/docs/extensions/storage-publiclink/configuration.md b/docs/extensions/storage-publiclink/configuration.md deleted file mode 100644 index 6b741c9c1..000000000 --- a/docs/extensions/storage-publiclink/configuration.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Service Configuration -date: 2018-05-02T00:00:00+00:00 -weight: 20 -geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/storage-publiclink -geekdocFilePath: configuration.md -geekdocCollapseSection: true ---- - -## Example YAML Config - -{{< include file="extensions/_includes/storage-publiclink-config-example.yaml" language="yaml" >}} - -{{< include file="extensions/_includes/storage-publiclink_configvars.md" >}} diff --git a/docs/extensions/storage-shares/configuration.md b/docs/extensions/storage-shares/configuration.md deleted file mode 100644 index 5a63a77c4..000000000 --- a/docs/extensions/storage-shares/configuration.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Service Configuration -date: 2018-05-02T00:00:00+00:00 -weight: 20 -geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/storage-shares -geekdocFilePath: configuration.md -geekdocCollapseSection: true ---- - -## Example YAML Config - -{{< include file="extensions/_includes/storage-shares-config-example.yaml" language="yaml" >}} - -{{< include file="extensions/_includes/storage-shares_configvars.md" >}} diff --git a/docs/extensions/storage-system/configuration.md b/docs/extensions/storage-system/configuration.md deleted file mode 100644 index ebc68c19b..000000000 --- a/docs/extensions/storage-system/configuration.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Service Configuration -date: 2018-05-02T00:00:00+00:00 -weight: 20 -geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/storage-system -geekdocFilePath: configuration.md -geekdocCollapseSection: true ---- - -## Example YAML Config - -{{< include file="extensions/_includes/storage-system-config-example.yaml" language="yaml" >}} - -{{< include file="extensions/_includes/storage-system_configvars.md" >}} diff --git a/docs/extensions/storage-users/configuration.md b/docs/extensions/storage-users/configuration.md deleted file mode 100644 index 0b121cfdc..000000000 --- a/docs/extensions/storage-users/configuration.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Service Configuration -date: 2018-05-02T00:00:00+00:00 -weight: 20 -geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/storage-users -geekdocFilePath: configuration.md -geekdocCollapseSection: true ---- - -## Example YAML Config - -{{< include file="extensions/_includes/storage-users-config-example.yaml" language="yaml" >}} - -{{< include file="extensions/_includes/storage-users_configvars.md" >}} diff --git a/docs/extensions/store/configuration.md b/docs/extensions/store/configuration.md deleted file mode 100644 index d556218cf..000000000 --- a/docs/extensions/store/configuration.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Service Configuration -date: 2018-05-02T00:00:00+00:00 -weight: 20 -geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/store -geekdocFilePath: configuration.md -geekdocCollapseSection: true ---- - -## Example YAML Config - -{{< include file="extensions/_includes/store-config-example.yaml" language="yaml" >}} - -{{< include file="extensions/_includes/store_configvars.md" >}} \ No newline at end of file diff --git a/docs/helpers/adoc-generator.go.tmpl b/docs/helpers/adoc-generator.go.tmpl index 3e64df09f..775c17ec7 100644 --- a/docs/helpers/adoc-generator.go.tmpl +++ b/docs/helpers/adoc-generator.go.tmpl @@ -35,7 +35,7 @@ if err != nil { log.Fatal(err) } replacer := strings.NewReplacer( - "github.com/owncloud/ocis/v2/extensions/", "", + "github.com/owncloud/ocis/v2/services/", "", "/pkg/config/defaults", "", ) var fields []ConfigField @@ -48,7 +48,7 @@ m := map[string]interface{}{ {{- end }} } - targetFolder := "../../docs/extensions/_includes/adoc/" + targetFolder := "../../docs/services/_includes/adoc/" for pkg, conf := range m { fields = GetAnnotatedVariables(conf) if len(fields) > 0 { diff --git a/docs/helpers/configenvextractor.go b/docs/helpers/configenvextractor.go index df174223f..b3fcbffd6 100644 --- a/docs/helpers/configenvextractor.go +++ b/docs/helpers/configenvextractor.go @@ -20,7 +20,7 @@ var targets = map[string]string{ func main() { fmt.Println("Getting relevant packages") - paths, err := filepath.Glob("../../extensions/*/pkg/config/defaults/defaultconfig.go") + paths, err := filepath.Glob("../../services/*/pkg/config/defaults/defaultconfig.go") if err != nil { log.Fatal(err) } diff --git a/docs/helpers/environment-variable-docs-generator.go.tmpl b/docs/helpers/environment-variable-docs-generator.go.tmpl index c2cac9c7f..63dc7e560 100644 --- a/docs/helpers/environment-variable-docs-generator.go.tmpl +++ b/docs/helpers/environment-variable-docs-generator.go.tmpl @@ -29,7 +29,7 @@ if err != nil { log.Fatal(err) } replacer := strings.NewReplacer( - "github.com/owncloud/ocis/v2/extensions/", "", + "github.com/owncloud/ocis/v2/services/", "", "/pkg/config/defaults", "", ) var fields []ConfigField @@ -42,7 +42,7 @@ m := map[string]interface{}{ {{- end }} } - targetFolder := "../../docs/extensions/_includes/" + targetFolder := "../../docs/services/_includes/" for pkg, conf := range m { fields = GetAnnotatedVariables(conf) if len(fields) > 0 { diff --git a/docs/helpers/example-config-generator.go.tmpl b/docs/helpers/example-config-generator.go.tmpl index 8be5b7429..c678a46ff 100644 --- a/docs/helpers/example-config-generator.go.tmpl +++ b/docs/helpers/example-config-generator.go.tmpl @@ -15,7 +15,7 @@ import ( func main() { replacer := strings.NewReplacer( - "github.com/owncloud/ocis/v2/extensions/", "", + "github.com/owncloud/ocis/v2/services/", "", "/pkg/config/defaults", "", ) cfg := map[string]string{ @@ -35,7 +35,7 @@ func main() { targetFolders := []string{ // TODO: comment in when it is clear how to commit this to the structure of the master|main branch // filepath.Join("../../", pkg, "/config"), - "../../docs/extensions/_includes/", + "../../docs/services/_includes/", } for _, targetFolder := range targetFolders { os.MkdirAll(targetFolder, 0700) diff --git a/docs/ocis/deployment/ocis_individual_services.md b/docs/ocis/deployment/ocis_individual_services.md index 4eb9af586..09a64b185 100644 --- a/docs/ocis/deployment/ocis_individual_services.md +++ b/docs/ocis/deployment/ocis_individual_services.md @@ -19,7 +19,7 @@ geekdocFilePath: ocis_individual_services.md The docker stack consists of at least 24 containers. One of them is Traefik, a proxy which is terminating ssl and forwards the requests to oCIS in the internal docker network. -The other containers are oCIS extensions, running each one in a separate container. In this example, oCIS uses its internal IDP [LibreGraph Connect]({{< ref "../../extensions/idp" >}}) and the [oCIS storage driver]({{< ref "../storage/storagedrivers" >}}). You also can start more than one container of each service by setting `OCIS_SCALE` to a number greater than 1. Currently this won't scale all services, but we are working on making all service easily scalable. +The other containers are oCIS services, running each one in a separate container. In this example, oCIS uses its internal IDP [LibreGraph Connect]({{< ref "../../services/idp" >}}) and the [oCIS storage driver]({{< ref "../storage/storagedrivers" >}}). You also can start more than one container of each service by setting `OCIS_SCALE` to a number greater than 1. Currently this won't scale all services, but we are working on making all service easily scalable. ## Server Deployment @@ -76,7 +76,7 @@ See also [example server setup]({{< ref "preparing_server" >}}) STORAGE_TRANSFER_SECRET= # Machine auth api key secret. Must be changed in order to have a secure oCIS. Defaults to "change-me-please" OCIS_MACHINE_AUTH_API_KEY= - # Number of services to run for extensions, that currently can be easily scaled. Defaults to 1. + # Number of services to run for services, that currently can be easily scaled. Defaults to 1. OCIS_SCALE= ``` diff --git a/docs/ocis/deployment/ocis_keycloak.md b/docs/ocis/deployment/ocis_keycloak.md index cbeb4934b..5fcc955b3 100644 --- a/docs/ocis/deployment/ocis_keycloak.md +++ b/docs/ocis/deployment/ocis_keycloak.md @@ -20,9 +20,9 @@ geekdocFilePath: ocis_keycloak.md The docker stack consists 4 containers. One of them is Traefik, a proxy which is terminating ssl and forwards the requests to oCIS in the internal docker network. It is also responsible for redirecting requests on the OIDC discovery endpoints (e.g. `.well-known/openid-configuration`) to the correct destination in Keycloak. -Keycloak add two containers: Keycloak itself and a PostgreSQL as database. Keycloak will be configured as oCIS' IDP instead of the internal IDP [LibreGraph Connect]({{< ref "../../extensions/idp" >}}) +Keycloak add two containers: Keycloak itself and a PostgreSQL as database. Keycloak will be configured as oCIS' IDP instead of the internal IDP [LibreGraph Connect]({{< ref "../../services/idp" >}}) -The other container is oCIS itself, running all extensions in one container. In this example oCIS uses the [oCIS storage driver]({{< ref "../storage/storagedrivers" >}}) +The other container is oCIS itself, running all services in one container. In this example oCIS uses the [oCIS storage driver]({{< ref "../storage/storagedrivers" >}}) ## Server Deployment diff --git a/docs/ocis/deployment/ocis_traefik.md b/docs/ocis/deployment/ocis_traefik.md index 3c6d56c1b..e8651c9ad 100644 --- a/docs/ocis/deployment/ocis_traefik.md +++ b/docs/ocis/deployment/ocis_traefik.md @@ -18,7 +18,7 @@ geekdocFilePath: ocis_traefik.md The docker stack consists of two containers. One of them is Traefik, a proxy which is terminating ssl and forwards the requests to oCIS in the internal docker network. -The other one is oCIS itself running all extensions in one container. In this example, oCIS uses its internal IDP [LibreGraph Connect]({{< ref "../../extensions/idp" >}}) and the [oCIS storage driver]({{< ref "../storage/storagedrivers" >}}) +The other one is oCIS itself running all extensions in one container. In this example, oCIS uses its internal IDP [LibreGraph Connect]({{< ref "../../services/idp" >}}) and the [oCIS storage driver]({{< ref "../storage/storagedrivers" >}}) ## Server Deployment diff --git a/docs/ocis/development/extensions.md b/docs/ocis/development/extensions.md index 9eaf32197..9c07fa977 100644 --- a/docs/ocis/development/extensions.md +++ b/docs/ocis/development/extensions.md @@ -46,7 +46,7 @@ For a consistent look and feel, ownCloud Web uses an external design library, th ### Settings -An extension likely has some behaviour which the user can configure. Fundamental configuration will often be done by administrators during deployment, via configuration files or by setting environment variables. But for other settings, which are supposed to change more often or which are even user specific, this is not a viable way. Therefore you need to offer the users a UI where they can configure your extension to their liking. Because implementing something like this is a repetitive task among extensions, oCIS already offers the settings extensions which does that for your extension. Your extension just needs to register settings bundles, respective permissions and finally read the current values from the settings service. You can read more on that on the [settings extension]({{< ref "../../extensions/settings" >}}) and see how [oCIS Hello uses these settings](https://owncloud.dev/extensions/ocis_hello/settings/). +An extension likely has some behaviour which the user can configure. Fundamental configuration will often be done by administrators during deployment, via configuration files or by setting environment variables. But for other settings, which are supposed to change more often or which are even user specific, this is not a viable way. Therefore you need to offer the users a UI where they can configure your extension to their liking. Because implementing something like this is a repetitive task among extensions, oCIS already offers the settings extensions which does that for your extension. Your extension just needs to register settings bundles, respective permissions and finally read the current values from the settings service. You can read more on that on the [settings extension]({{< ref "../../services/settings" >}}) and see how [oCIS Hello uses these settings](https://owncloud.dev/extensions/ocis_hello/settings/). ### Proxy diff --git a/docs/ocis/getting-started/_index.md b/docs/ocis/getting-started/_index.md index e75b22acd..2503a4152 100644 --- a/docs/ocis/getting-started/_index.md +++ b/docs/ocis/getting-started/_index.md @@ -33,11 +33,11 @@ You can find the latest official release of oCIS at [our download mirror](https: The latest build from the master branch can be found at [our download mirrors daily section](https://download.owncloud.com/ocis/ocis/daily/). Pre-Releases are available at [our download mirrors testing section](https://download.owncloud.com/ocis/ocis/testing/). To run oCIS as binary you need to download it first and then run the following commands. -For this example, assuming version 2.0.0-beta.3 of oCIS running on a Linux AMD64 host: +For this example, assuming version 2.0.0-beta.4 of oCIS running on a Linux AMD64 host: ```console # download -curl https://download.owncloud.com/ocis/ocis/testing/2.0.0-beta.3/ocis-2.0.0-beta.3-linux-amd64 --output ocis +curl https://download.owncloud.com/ocis/ocis/testing/2.0.0-beta.4/ocis-2.0.0-beta.4-linux-amd64 --output ocis # make binary executable chmod +x ocis diff --git a/docs/extensions/_includes/.gitignore b/docs/services/_includes/.gitignore similarity index 100% rename from docs/extensions/_includes/.gitignore rename to docs/services/_includes/.gitignore diff --git a/docs/extensions/_includes/_index.md b/docs/services/_includes/_index.md similarity index 100% rename from docs/extensions/_includes/_index.md rename to docs/services/_includes/_index.md diff --git a/docs/extensions/_includes/adoc/.gitkeep b/docs/services/_includes/adoc/.gitkeep similarity index 100% rename from docs/extensions/_includes/adoc/.gitkeep rename to docs/services/_includes/adoc/.gitkeep diff --git a/docs/extensions/app-provider/_index.md b/docs/services/app-provider/_index.md similarity index 79% rename from docs/extensions/app-provider/_index.md rename to docs/services/app-provider/_index.md index 39221058a..c26192066 100644 --- a/docs/extensions/app-provider/_index.md +++ b/docs/services/app-provider/_index.md @@ -3,7 +3,7 @@ title: App-Provider date: 2022-03-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/app-provider +geekdocEditPath: edit/master/docs/services/app-provider geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/extensions/auth-basic/configuration.md b/docs/services/app-provider/configuration.md similarity index 57% rename from docs/extensions/auth-basic/configuration.md rename to docs/services/app-provider/configuration.md index 4fdd2f922..b215390a3 100644 --- a/docs/extensions/auth-basic/configuration.md +++ b/docs/services/app-provider/configuration.md @@ -3,13 +3,13 @@ title: Service Configuration date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/auth-basic +geekdocEditPath: edit/master/docs/services/app-provider geekdocFilePath: configuration.md geekdocCollapseSection: true --- ## Example YAML Config -{{< include file="extensions/_includes/auth-basic-config-example.yaml" language="yaml" >}} +{{< include file="services/_includes/app-provider-config-example.yaml" language="yaml" >}} -{{< include file="extensions/_includes/auth-basic_configvars.md" >}} +{{< include file="services/_includes/app-provider_configvars.md" >}} diff --git a/docs/extensions/app-registry/_index.md b/docs/services/app-registry/_index.md similarity index 79% rename from docs/extensions/app-registry/_index.md rename to docs/services/app-registry/_index.md index 233279020..d3670e210 100644 --- a/docs/extensions/app-registry/_index.md +++ b/docs/services/app-registry/_index.md @@ -3,7 +3,7 @@ title: App-Registry date: 2022-03-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/app-registry +geekdocEditPath: edit/master/docs/services/app-registry geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/extensions/app-registry/apps.md b/docs/services/app-registry/apps.md similarity index 99% rename from docs/extensions/app-registry/apps.md rename to docs/services/app-registry/apps.md index bfb67a80a..39f01d65c 100644 --- a/docs/extensions/app-registry/apps.md +++ b/docs/services/app-registry/apps.md @@ -3,7 +3,7 @@ title: "Apps" date: 2018-05-02T00:00:00+00:00 weight: 10 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/app-registry +geekdocEditPath: edit/master/docs/services/app-registry geekdocFilePath: apps.md --- diff --git a/docs/extensions/thumbnails/configuration.md b/docs/services/app-registry/configuration.md similarity index 56% rename from docs/extensions/thumbnails/configuration.md rename to docs/services/app-registry/configuration.md index 1f10b1366..ed96c5902 100644 --- a/docs/extensions/thumbnails/configuration.md +++ b/docs/services/app-registry/configuration.md @@ -3,13 +3,13 @@ title: Service Configuration date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/thumbnails +geekdocEditPath: edit/master/docs/services/app-registry geekdocFilePath: configuration.md geekdocCollapseSection: true --- ## Example YAML Config -{{< include file="extensions/_includes/thumbnails-config-example.yaml" language="yaml" >}} +{{< include file="services/_includes/app-registry-config-example.yaml" language="yaml" >}} -{{< include file="extensions/_includes/thumbnails_configvars.md" >}} \ No newline at end of file +{{< include file="services/_includes/app-registry_configvars.md" >}} diff --git a/docs/extensions/audit/_index.md b/docs/services/audit/_index.md similarity index 81% rename from docs/extensions/audit/_index.md rename to docs/services/audit/_index.md index 530a637cb..52abf0d54 100644 --- a/docs/extensions/audit/_index.md +++ b/docs/services/audit/_index.md @@ -3,7 +3,7 @@ title: Audit date: 2022-03-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/audit +geekdocEditPath: edit/master/docs/services/audit geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/services/audit/configuration.md b/docs/services/audit/configuration.md new file mode 100644 index 000000000..fd8026dac --- /dev/null +++ b/docs/services/audit/configuration.md @@ -0,0 +1,16 @@ +--- +title: Service Configuration +date: 2018-05-02T00:00:00+00:00 +weight: 20 +geekdocRepo: https://github.com/owncloud/ocis +geekdocEditPath: edit/master/docs/services/audit +geekdocFilePath: configuration.md +geekdocCollapseSection: true +--- + + +## Example YAML Config + +{{< include file="services/_includes/audit-config-example.yaml" language="yaml" >}} + +{{< include file="services/_includes/audit_configvars.md" >}} diff --git a/docs/extensions/auth-basic/_index.md b/docs/services/auth-basic/_index.md similarity index 80% rename from docs/extensions/auth-basic/_index.md rename to docs/services/auth-basic/_index.md index 0f47e2297..953724976 100644 --- a/docs/extensions/auth-basic/_index.md +++ b/docs/services/auth-basic/_index.md @@ -3,7 +3,7 @@ title: Auth-Basic date: 2022-03-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/auth-basic +geekdocEditPath: edit/master/docs/services/auth-basic geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/extensions/frontend/configuration.md b/docs/services/auth-basic/configuration.md similarity index 57% rename from docs/extensions/frontend/configuration.md rename to docs/services/auth-basic/configuration.md index fb164e6ba..672746f05 100644 --- a/docs/extensions/frontend/configuration.md +++ b/docs/services/auth-basic/configuration.md @@ -3,13 +3,13 @@ title: Service Configuration date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/frontend +geekdocEditPath: edit/master/docs/services/auth-basic geekdocFilePath: configuration.md geekdocCollapseSection: true --- ## Example YAML Config -{{< include file="extensions/_includes/frontend-config-example.yaml" language="yaml" >}} +{{< include file="services/_includes/auth-basic-config-example.yaml" language="yaml" >}} -{{< include file="extensions/_includes/frontend_configvars.md" >}} +{{< include file="services/_includes/auth-basic_configvars.md" >}} diff --git a/docs/extensions/auth-bearer/_index.md b/docs/services/auth-bearer/_index.md similarity index 79% rename from docs/extensions/auth-bearer/_index.md rename to docs/services/auth-bearer/_index.md index 853f8938f..0a867d48a 100644 --- a/docs/extensions/auth-bearer/_index.md +++ b/docs/services/auth-bearer/_index.md @@ -3,7 +3,7 @@ title: Auth-Bearer date: 2022-03-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/auth-bearer +geekdocEditPath: edit/master/docs/services/auth-bearer geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/extensions/audit/configuration.md b/docs/services/auth-bearer/configuration.md similarity index 50% rename from docs/extensions/audit/configuration.md rename to docs/services/auth-bearer/configuration.md index 2619a3ece..5b3ef4ef6 100644 --- a/docs/extensions/audit/configuration.md +++ b/docs/services/auth-bearer/configuration.md @@ -3,14 +3,13 @@ title: Service Configuration date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/audit +geekdocEditPath: edit/master/docs/services/auth-bearer geekdocFilePath: configuration.md geekdocCollapseSection: true --- - ## Example YAML Config -{{< include file="extensions/_includes/audit-config-example.yaml" language="yaml" >}} +{{< include file="services/_includes/auth-bearer-config-example.yaml" language="yaml" >}} -{{< include file="extensions/_includes/audit_configvars.md" >}} +{{< include file="services/_includes/auth-bearer_configvars.md" >}} diff --git a/docs/extensions/auth-machine/_index.md b/docs/services/auth-machine/_index.md similarity index 79% rename from docs/extensions/auth-machine/_index.md rename to docs/services/auth-machine/_index.md index cba78fad0..edb7c4afd 100644 --- a/docs/extensions/auth-machine/_index.md +++ b/docs/services/auth-machine/_index.md @@ -3,7 +3,7 @@ title: Auth-Machine date: 2022-03-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/auth-machine +geekdocEditPath: edit/master/docs/services/auth-machine geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/services/auth-machine/configuration.md b/docs/services/auth-machine/configuration.md new file mode 100644 index 000000000..000c6bae3 --- /dev/null +++ b/docs/services/auth-machine/configuration.md @@ -0,0 +1,15 @@ +--- +title: Service Configuration +date: 2018-05-02T00:00:00+00:00 +weight: 20 +geekdocRepo: https://github.com/owncloud/ocis +geekdocEditPath: edit/master/docs/services/auth-machine +geekdocFilePath: configuration.md +geekdocCollapseSection: true +--- + +## Example YAML Config + +{{< include file="services/_includes/auth-machine-config-example.yaml" language="yaml" >}} + +{{< include file="services/_includes/auth-machine_configvars.md" >}} diff --git a/docs/extensions/frontend/_index.md b/docs/services/frontend/_index.md similarity index 80% rename from docs/extensions/frontend/_index.md rename to docs/services/frontend/_index.md index 3e6321e9d..097fde932 100644 --- a/docs/extensions/frontend/_index.md +++ b/docs/services/frontend/_index.md @@ -3,7 +3,7 @@ title: Frontend date: 2022-03-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/frontend +geekdocEditPath: edit/master/docs/services/frontend geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/extensions/search/configuration.md b/docs/services/frontend/configuration.md similarity index 57% rename from docs/extensions/search/configuration.md rename to docs/services/frontend/configuration.md index a99f2f87f..5822f76c9 100644 --- a/docs/extensions/search/configuration.md +++ b/docs/services/frontend/configuration.md @@ -3,13 +3,13 @@ title: Service Configuration date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/search +geekdocEditPath: edit/master/docs/services/frontend geekdocFilePath: configuration.md geekdocCollapseSection: true --- ## Example YAML Config -{{< include file="extensions/_includes/search-config-example.yaml" language="yaml" >}} +{{< include file="services/_includes/frontend-config-example.yaml" language="yaml" >}} -{{< include file="extensions/_includes/search_configvars.md" >}} +{{< include file="services/_includes/frontend_configvars.md" >}} diff --git a/docs/extensions/gateway/_index.md b/docs/services/gateway/_index.md similarity index 80% rename from docs/extensions/gateway/_index.md rename to docs/services/gateway/_index.md index 4a89602b6..90d1e88ce 100644 --- a/docs/extensions/gateway/_index.md +++ b/docs/services/gateway/_index.md @@ -3,7 +3,7 @@ title: Gateway date: 2022-03-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/gateway +geekdocEditPath: edit/master/docs/services/gateway geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/extensions/users/configuration.md b/docs/services/gateway/configuration.md similarity index 57% rename from docs/extensions/users/configuration.md rename to docs/services/gateway/configuration.md index a8aa67a9b..ff90bf0b4 100644 --- a/docs/extensions/users/configuration.md +++ b/docs/services/gateway/configuration.md @@ -3,13 +3,13 @@ title: Service Configuration date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/users +geekdocEditPath: edit/master/docs/services/gateway geekdocFilePath: configuration.md geekdocCollapseSection: true --- ## Example YAML Config -{{< include file="extensions/_includes/users-config-example.yaml" language="yaml" >}} +{{< include file="services/_includes/gateway-config-example.yaml" language="yaml" >}} -{{< include file="extensions/_includes/users_configvars.md" >}} +{{< include file="services/_includes/gateway_configvars.md" >}} diff --git a/docs/extensions/graph-explorer/.gitignore b/docs/services/graph-explorer/.gitignore similarity index 100% rename from docs/extensions/graph-explorer/.gitignore rename to docs/services/graph-explorer/.gitignore diff --git a/docs/extensions/graph-explorer/_index.md b/docs/services/graph-explorer/_index.md similarity index 86% rename from docs/extensions/graph-explorer/_index.md rename to docs/services/graph-explorer/_index.md index a10159400..f395da2df 100644 --- a/docs/extensions/graph-explorer/_index.md +++ b/docs/services/graph-explorer/_index.md @@ -3,7 +3,7 @@ title: "Graph-Explorer" date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/graph-explorer +geekdocEditPath: edit/master/docs/services/graph-explorer geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/extensions/app-registry/configuration.md b/docs/services/graph-explorer/configuration.md similarity index 55% rename from docs/extensions/app-registry/configuration.md rename to docs/services/graph-explorer/configuration.md index f1a18da07..910c9ed67 100644 --- a/docs/extensions/app-registry/configuration.md +++ b/docs/services/graph-explorer/configuration.md @@ -3,13 +3,13 @@ title: Service Configuration date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/app-registry +geekdocEditPath: edit/master/docs/services/graph-explorer geekdocFilePath: configuration.md geekdocCollapseSection: true --- ## Example YAML Config -{{< include file="extensions/_includes/app-registry-config-example.yaml" language="yaml" >}} +{{< include file="services/_includes/graph-explorer-config-example.yaml" language="yaml" >}} -{{< include file="extensions/_includes/app-registry_configvars.md" >}} +{{< include file="services/_includes/graph-explorer_configvars.md" >}} \ No newline at end of file diff --git a/docs/extensions/graph/.gitignore b/docs/services/graph/.gitignore similarity index 100% rename from docs/extensions/graph/.gitignore rename to docs/services/graph/.gitignore diff --git a/docs/extensions/graph/_index.md b/docs/services/graph/_index.md similarity index 86% rename from docs/extensions/graph/_index.md rename to docs/services/graph/_index.md index fb754d6a8..88419d394 100644 --- a/docs/extensions/graph/_index.md +++ b/docs/services/graph/_index.md @@ -3,7 +3,7 @@ title: "Graph" date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/graph +geekdocEditPath: edit/master/docs/services/graph geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/services/graph/configuration.md b/docs/services/graph/configuration.md new file mode 100644 index 000000000..2ca0cc0a1 --- /dev/null +++ b/docs/services/graph/configuration.md @@ -0,0 +1,14 @@ +--- +title: Service Configuration +date: 2018-05-02T00:00:00+00:00 +weight: 20 +geekdocRepo: https://github.com/owncloud/ocis +geekdocEditPath: edit/master/docs/services/graph +geekdocFilePath: configuration.md +geekdocCollapseSection: true +--- +## Example YAML Config + +{{< include file="services/_includes/graph-config-example.yaml" language="yaml" >}} + +{{< include file="services/_includes/graph_configvars.md" >}} \ No newline at end of file diff --git a/docs/extensions/graph/groups.md b/docs/services/graph/groups.md similarity index 99% rename from docs/extensions/graph/groups.md rename to docs/services/graph/groups.md index 74b42c95d..0a9442288 100644 --- a/docs/extensions/graph/groups.md +++ b/docs/services/graph/groups.md @@ -2,7 +2,7 @@ title: Groups weight: 40 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/graph +geekdocEditPath: edit/master/docs/services/graph geekdocFilePath: users.md --- diff --git a/docs/extensions/graph/spaces.md b/docs/services/graph/spaces.md similarity index 99% rename from docs/extensions/graph/spaces.md rename to docs/services/graph/spaces.md index f20db0e2e..474045761 100644 --- a/docs/extensions/graph/spaces.md +++ b/docs/services/graph/spaces.md @@ -2,7 +2,7 @@ title: Spaces weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/graph +geekdocEditPath: edit/master/docs/services/graph geekdocFilePath: spaces.md --- diff --git a/docs/extensions/graph/users.md b/docs/services/graph/users.md similarity index 99% rename from docs/extensions/graph/users.md rename to docs/services/graph/users.md index e14c403f6..745b2d9be 100644 --- a/docs/extensions/graph/users.md +++ b/docs/services/graph/users.md @@ -2,7 +2,7 @@ title: Users weight: 30 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/graph +geekdocEditPath: edit/master/docs/services/graph geekdocFilePath: users.md --- diff --git a/docs/extensions/groups/_index.md b/docs/services/groups/_index.md similarity index 80% rename from docs/extensions/groups/_index.md rename to docs/services/groups/_index.md index 5308c51bd..05816eff2 100644 --- a/docs/extensions/groups/_index.md +++ b/docs/services/groups/_index.md @@ -3,7 +3,7 @@ title: Groups date: 2022-03-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/groups +geekdocEditPath: edit/master/docs/services/groups geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/services/groups/configuration.md b/docs/services/groups/configuration.md new file mode 100644 index 000000000..2e1445392 --- /dev/null +++ b/docs/services/groups/configuration.md @@ -0,0 +1,15 @@ +--- +title: Service Configuration +date: 2018-05-02T00:00:00+00:00 +weight: 20 +geekdocRepo: https://github.com/owncloud/ocis +geekdocEditPath: edit/master/docs/services/groups +geekdocFilePath: configuration.md +geekdocCollapseSection: true +--- + +## Example YAML Config + +{{< include file="services/_includes/groups-config-example.yaml" language="yaml" >}} + +{{< include file="services/_includes/groups_configvars.md" >}} diff --git a/docs/extensions/idm/_index.md b/docs/services/idm/_index.md similarity index 96% rename from docs/extensions/idm/_index.md rename to docs/services/idm/_index.md index 0a21994c8..47829d34e 100644 --- a/docs/extensions/idm/_index.md +++ b/docs/services/idm/_index.md @@ -3,7 +3,7 @@ title: IDM date: 2022-03-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/idm +geekdocEditPath: edit/master/docs/services/idm geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/services/idm/configuration.md b/docs/services/idm/configuration.md new file mode 100644 index 000000000..6bb9b556d --- /dev/null +++ b/docs/services/idm/configuration.md @@ -0,0 +1,15 @@ +--- +title: Service Configuration +date: 2018-05-02T00:00:00+00:00 +weight: 20 +geekdocRepo: https://github.com/owncloud/ocis +geekdocEditPath: edit/master/docs/services/idm +geekdocFilePath: configuration.md +geekdocCollapseSection: true +--- + +## Example YAML Config + +{{< include file="services/_includes/idm-config-example.yaml" language="yaml" >}} + +{{< include file="services/_includes/idm_configvars.md" >}} \ No newline at end of file diff --git a/docs/extensions/idm/configuration_hints.md b/docs/services/idm/configuration_hints.md similarity index 97% rename from docs/extensions/idm/configuration_hints.md rename to docs/services/idm/configuration_hints.md index ced032337..5f6d8a5ac 100644 --- a/docs/extensions/idm/configuration_hints.md +++ b/docs/services/idm/configuration_hints.md @@ -3,7 +3,7 @@ title: Configuration Hints date: 2022-04-27:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/idm +geekdocEditPath: edit/master/docs/services/idm geekdocFilePath: configuration_hints.md geekdocCollapseSection: true --- diff --git a/docs/extensions/idp/.gitignore b/docs/services/idp/.gitignore similarity index 100% rename from docs/extensions/idp/.gitignore rename to docs/services/idp/.gitignore diff --git a/docs/extensions/idp/_index.md b/docs/services/idp/_index.md similarity index 85% rename from docs/extensions/idp/_index.md rename to docs/services/idp/_index.md index d87996e53..47b62d22f 100644 --- a/docs/extensions/idp/_index.md +++ b/docs/services/idp/_index.md @@ -2,7 +2,7 @@ title: IDP weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/idp +geekdocEditPath: edit/master/docs/services/idp geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/services/idp/configuration.md b/docs/services/idp/configuration.md new file mode 100644 index 000000000..cf999eabd --- /dev/null +++ b/docs/services/idp/configuration.md @@ -0,0 +1,15 @@ +--- +title: Service Configuration +date: 2018-05-02T00:00:00+00:00 +weight: 20 +geekdocRepo: https://github.com/owncloud/ocis +geekdocEditPath: edit/master/docs/services/idp +geekdocFilePath: configuration.md +geekdocCollapseSection: true +--- + +## Example YAML Config + +{{< include file="services/_includes/idp-config-example.yaml" language="yaml" >}} + +{{< include file="services/_includes/idp_configvars.md" >}} \ No newline at end of file diff --git a/docs/extensions/idp/theming.md b/docs/services/idp/theming.md similarity index 98% rename from docs/extensions/idp/theming.md rename to docs/services/idp/theming.md index c5b2f37f4..f0b67bacf 100644 --- a/docs/extensions/idp/theming.md +++ b/docs/services/idp/theming.md @@ -2,7 +2,7 @@ title: Theming weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/theming +geekdocEditPath: edit/master/docs/services/theming geekdocFilePath: theming.md --- diff --git a/docs/extensions/nats/_index.md b/docs/services/nats/_index.md similarity index 81% rename from docs/extensions/nats/_index.md rename to docs/services/nats/_index.md index bd785e222..789842d9a 100644 --- a/docs/extensions/nats/_index.md +++ b/docs/services/nats/_index.md @@ -3,7 +3,7 @@ title: NATS date: 2022-03-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/nats +geekdocEditPath: edit/master/docs/services/nats geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/services/nats/configuration.md b/docs/services/nats/configuration.md new file mode 100644 index 000000000..9af5ae0b6 --- /dev/null +++ b/docs/services/nats/configuration.md @@ -0,0 +1,15 @@ +--- +title: Service Configuration +date: 2018-05-02T00:00:00+00:00 +weight: 20 +geekdocRepo: https://github.com/owncloud/ocis +geekdocEditPath: edit/master/docs/services/nats +geekdocFilePath: configuration.md +geekdocCollapseSection: true +--- + +## Example YAML Config + +{{< include file="services/_includes/nats-config-example.yaml" language="yaml" >}} + +{{< include file="services/_includes/nats_configvars.md" >}} \ No newline at end of file diff --git a/docs/extensions/notifications/_index.md b/docs/services/notifications/_index.md similarity index 88% rename from docs/extensions/notifications/_index.md rename to docs/services/notifications/_index.md index 0cc731856..9d27724ce 100644 --- a/docs/extensions/notifications/_index.md +++ b/docs/services/notifications/_index.md @@ -3,7 +3,7 @@ title: Notifications date: 2022-03-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/notifications +geekdocEditPath: edit/master/docs/services/notifications geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/services/notifications/configuration.md b/docs/services/notifications/configuration.md new file mode 100644 index 000000000..de4f28af4 --- /dev/null +++ b/docs/services/notifications/configuration.md @@ -0,0 +1,15 @@ +--- +title: Service Configuration +date: 2018-05-02T00:00:00+00:00 +weight: 20 +geekdocRepo: https://github.com/owncloud/ocis +geekdocEditPath: edit/master/docs/services/notifications +geekdocFilePath: configuration.md +geekdocCollapseSection: true +--- + +## Example YAML Config + +{{< include file="services/_includes/notifications-config-example.yaml" language="yaml" >}} + +{{< include file="services/_includes/notifications_configvars.md" >}} \ No newline at end of file diff --git a/docs/extensions/ocdav/_index.md b/docs/services/ocdav/_index.md similarity index 88% rename from docs/extensions/ocdav/_index.md rename to docs/services/ocdav/_index.md index 88bd6382f..a675ccf84 100644 --- a/docs/extensions/ocdav/_index.md +++ b/docs/services/ocdav/_index.md @@ -3,7 +3,7 @@ title: ocDAV date: 2022-03-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/ocdav +geekdocEditPath: edit/master/docs/services/ocdav geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/extensions/ocs/configuration.md b/docs/services/ocdav/configuration.md similarity index 57% rename from docs/extensions/ocs/configuration.md rename to docs/services/ocdav/configuration.md index af9bd28c4..d9df05087 100644 --- a/docs/extensions/ocs/configuration.md +++ b/docs/services/ocdav/configuration.md @@ -3,13 +3,13 @@ title: Service Configuration date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/ocs +geekdocEditPath: edit/master/docs/services/ocdav geekdocFilePath: configuration.md geekdocCollapseSection: true --- ## Example YAML Config -{{< include file="extensions/_includes/ocs-config-example.yaml" language="yaml" >}} +{{< include file="services/_includes/ocdav-config-example.yaml" language="yaml" >}} -{{< include file="extensions/_includes/ocs_configvars.md" >}} \ No newline at end of file +{{< include file="services/_includes/ocdav_configvars.md" >}} diff --git a/docs/extensions/ocs/.gitignore b/docs/services/ocs/.gitignore similarity index 100% rename from docs/extensions/ocs/.gitignore rename to docs/services/ocs/.gitignore diff --git a/docs/extensions/ocs/_index.md b/docs/services/ocs/_index.md similarity index 85% rename from docs/extensions/ocs/_index.md rename to docs/services/ocs/_index.md index 3f74f782c..3a3df3f46 100644 --- a/docs/extensions/ocs/_index.md +++ b/docs/services/ocs/_index.md @@ -3,7 +3,7 @@ title: "Ocs" date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/ocs +geekdocEditPath: edit/master/docs/services/ocs geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/services/ocs/configuration.md b/docs/services/ocs/configuration.md new file mode 100644 index 000000000..cb8afa431 --- /dev/null +++ b/docs/services/ocs/configuration.md @@ -0,0 +1,15 @@ +--- +title: Service Configuration +date: 2018-05-02T00:00:00+00:00 +weight: 20 +geekdocRepo: https://github.com/owncloud/ocis +geekdocEditPath: edit/master/docs/services/ocs +geekdocFilePath: configuration.md +geekdocCollapseSection: true +--- + +## Example YAML Config + +{{< include file="services/_includes/ocs-config-example.yaml" language="yaml" >}} + +{{< include file="services/_includes/ocs_configvars.md" >}} \ No newline at end of file diff --git a/docs/extensions/port-ranges.md b/docs/services/port-ranges.md similarity index 100% rename from docs/extensions/port-ranges.md rename to docs/services/port-ranges.md diff --git a/docs/extensions/proxy/.gitignore b/docs/services/proxy/.gitignore similarity index 100% rename from docs/extensions/proxy/.gitignore rename to docs/services/proxy/.gitignore diff --git a/docs/extensions/proxy/_index.md b/docs/services/proxy/_index.md similarity index 84% rename from docs/extensions/proxy/_index.md rename to docs/services/proxy/_index.md index f406b83ec..8c0dbcb62 100644 --- a/docs/extensions/proxy/_index.md +++ b/docs/services/proxy/_index.md @@ -2,7 +2,7 @@ title: Proxy weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/proxy +geekdocEditPath: edit/master/docs/services/proxy geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/extensions/web/configuration.md b/docs/services/proxy/configuration.md similarity index 57% rename from docs/extensions/web/configuration.md rename to docs/services/proxy/configuration.md index ee3e60d7d..d8502d70c 100644 --- a/docs/extensions/web/configuration.md +++ b/docs/services/proxy/configuration.md @@ -3,13 +3,13 @@ title: Service Configuration date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/web +geekdocEditPath: edit/master/docs/services/proxy geekdocFilePath: configuration.md geekdocCollapseSection: true --- ## Example YAML Config -{{< include file="extensions/_includes/web-config-example.yaml" language="yaml" >}} +{{< include file="services/_includes/proxy-config-example.yaml" language="yaml" >}} -{{< include file="extensions/_includes/web_configvars.md" >}} \ No newline at end of file +{{< include file="services/_includes/proxy_configvars.md" >}} \ No newline at end of file diff --git a/docs/extensions/search/_index.md b/docs/services/search/_index.md similarity index 81% rename from docs/extensions/search/_index.md rename to docs/services/search/_index.md index fc245f06b..ac340e640 100644 --- a/docs/extensions/search/_index.md +++ b/docs/services/search/_index.md @@ -2,7 +2,7 @@ title: Search weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/search +geekdocEditPath: edit/master/docs/services/search geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/services/search/configuration.md b/docs/services/search/configuration.md new file mode 100644 index 000000000..1f3e17fc7 --- /dev/null +++ b/docs/services/search/configuration.md @@ -0,0 +1,15 @@ +--- +title: Service Configuration +date: 2018-05-02T00:00:00+00:00 +weight: 20 +geekdocRepo: https://github.com/owncloud/ocis +geekdocEditPath: edit/master/docs/services/search +geekdocFilePath: configuration.md +geekdocCollapseSection: true +--- + +## Example YAML Config + +{{< include file="services/_includes/search-config-example.yaml" language="yaml" >}} + +{{< include file="services/_includes/search_configvars.md" >}} diff --git a/docs/extensions/settings/.gitignore b/docs/services/settings/.gitignore similarity index 100% rename from docs/extensions/settings/.gitignore rename to docs/services/settings/.gitignore diff --git a/docs/extensions/settings/_index.md b/docs/services/settings/_index.md similarity index 97% rename from docs/extensions/settings/_index.md rename to docs/services/settings/_index.md index 4a61c4d88..2b98862e0 100644 --- a/docs/extensions/settings/_index.md +++ b/docs/services/settings/_index.md @@ -3,7 +3,7 @@ title: "Settings" date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/settings +geekdocEditPath: edit/master/docs/services/settings geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/extensions/settings/bundles.md b/docs/services/settings/bundles.md similarity index 97% rename from docs/extensions/settings/bundles.md rename to docs/services/settings/bundles.md index 6ee245d61..e9cd6137f 100644 --- a/docs/extensions/settings/bundles.md +++ b/docs/services/settings/bundles.md @@ -3,7 +3,7 @@ title: "Settings Bundles" date: 2020-05-04T00:00:00+00:00 weight: 50 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/settings +geekdocEditPath: edit/master/docs/services/settings geekdocFilePath: bundles.md --- diff --git a/docs/extensions/webdav/configuration.md b/docs/services/settings/configuration.md similarity index 57% rename from docs/extensions/webdav/configuration.md rename to docs/services/settings/configuration.md index 53c282001..8fb1b92b4 100644 --- a/docs/extensions/webdav/configuration.md +++ b/docs/services/settings/configuration.md @@ -3,13 +3,13 @@ title: Service Configuration date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/webdav +geekdocEditPath: edit/master/docs/services/settings geekdocFilePath: configuration.md geekdocCollapseSection: true --- ## Example YAML Config -{{< include file="extensions/_includes/webdav-config-example.yaml" language="yaml" >}} +{{< include file="services/_includes/settings-config-example.yaml" language="yaml" >}} -{{< include file="extensions/_includes/webdav_configvars.md" >}} \ No newline at end of file +{{< include file="services/_includes/settings_configvars.md" >}} \ No newline at end of file diff --git a/docs/extensions/settings/glossary.md b/docs/services/settings/glossary.md similarity index 94% rename from docs/extensions/settings/glossary.md rename to docs/services/settings/glossary.md index 6c7153f60..50fd82be7 100644 --- a/docs/extensions/settings/glossary.md +++ b/docs/services/settings/glossary.md @@ -3,7 +3,7 @@ title: "Glossary" date: 2020-05-04T12:35:00+01:00 weight: 80 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/settings +geekdocEditPath: edit/master/docs/services/settings geekdocFilePath: glossary.md --- diff --git a/docs/extensions/settings/releasing.md b/docs/services/settings/releasing.md similarity index 92% rename from docs/extensions/settings/releasing.md rename to docs/services/settings/releasing.md index f67e27a3e..1fa7cca59 100644 --- a/docs/extensions/settings/releasing.md +++ b/docs/services/settings/releasing.md @@ -2,7 +2,7 @@ title: "Releasing" weight: 70 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/settings +geekdocEditPath: edit/master/docs/services/settings geekdocFilePath: releasing.md --- diff --git a/docs/extensions/settings/tests.md b/docs/services/settings/tests.md similarity index 98% rename from docs/extensions/settings/tests.md rename to docs/services/settings/tests.md index 5d7d243d9..c367552b8 100644 --- a/docs/extensions/settings/tests.md +++ b/docs/services/settings/tests.md @@ -2,7 +2,7 @@ title: "Tests" weight: 90 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/settings +geekdocEditPath: edit/master/docs/services/settings geekdocFilePath: tests.md --- diff --git a/docs/extensions/settings/values.md b/docs/services/settings/values.md similarity index 97% rename from docs/extensions/settings/values.md rename to docs/services/settings/values.md index 545e34513..5cf0240fc 100644 --- a/docs/extensions/settings/values.md +++ b/docs/services/settings/values.md @@ -3,7 +3,7 @@ title: "Settings Values" date: 2020-05-04T00:00:00+00:00 weight: 51 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/settings +geekdocEditPath: edit/master/docs/services/settings geekdocFilePath: values.md --- diff --git a/docs/extensions/sharing/_index.md b/docs/services/sharing/_index.md similarity index 81% rename from docs/extensions/sharing/_index.md rename to docs/services/sharing/_index.md index 171541e2f..be41c1be9 100644 --- a/docs/extensions/sharing/_index.md +++ b/docs/services/sharing/_index.md @@ -2,7 +2,7 @@ title: Sharing weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/sharing +geekdocEditPath: edit/master/docs/services/sharing geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/extensions/ocdav/configuration.md b/docs/services/sharing/configuration.md similarity index 57% rename from docs/extensions/ocdav/configuration.md rename to docs/services/sharing/configuration.md index 9ca88c1de..21f763880 100644 --- a/docs/extensions/ocdav/configuration.md +++ b/docs/services/sharing/configuration.md @@ -3,13 +3,13 @@ title: Service Configuration date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/ocdav +geekdocEditPath: edit/master/docs/services/sharing geekdocFilePath: configuration.md geekdocCollapseSection: true --- ## Example YAML Config -{{< include file="extensions/_includes/ocdav-config-example.yaml" language="yaml" >}} +{{< include file="services/_includes/sharing-config-example.yaml" language="yaml" >}} -{{< include file="extensions/_includes/ocdav_configvars.md" >}} +{{< include file="services/_includes/sharing_configvars.md" >}} diff --git a/docs/extensions/storage-publiclink/_index.md b/docs/services/storage-publiclink/_index.md similarity index 78% rename from docs/extensions/storage-publiclink/_index.md rename to docs/services/storage-publiclink/_index.md index e5ad8de52..1a87d00b4 100644 --- a/docs/extensions/storage-publiclink/_index.md +++ b/docs/services/storage-publiclink/_index.md @@ -3,7 +3,7 @@ title: Storage-Publiclink date: 2022-03-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/storage-publiclink +geekdocEditPath: edit/master/docs/services/storage-publiclink geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/services/storage-publiclink/configuration.md b/docs/services/storage-publiclink/configuration.md new file mode 100644 index 000000000..9c34ac21b --- /dev/null +++ b/docs/services/storage-publiclink/configuration.md @@ -0,0 +1,15 @@ +--- +title: Service Configuration +date: 2018-05-02T00:00:00+00:00 +weight: 20 +geekdocRepo: https://github.com/owncloud/ocis +geekdocEditPath: edit/master/docs/services/storage-publiclink +geekdocFilePath: configuration.md +geekdocCollapseSection: true +--- + +## Example YAML Config + +{{< include file="services/_includes/storage-publiclink-config-example.yaml" language="yaml" >}} + +{{< include file="services/_includes/storage-publiclink_configvars.md" >}} diff --git a/docs/extensions/storage-shares/_index.md b/docs/services/storage-shares/_index.md similarity index 79% rename from docs/extensions/storage-shares/_index.md rename to docs/services/storage-shares/_index.md index 0f8b2f601..223ce0f6a 100644 --- a/docs/extensions/storage-shares/_index.md +++ b/docs/services/storage-shares/_index.md @@ -3,7 +3,7 @@ title: Storage-Shares date: 2022-03-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/storage-shares +geekdocEditPath: edit/master/docs/services/storage-shares geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/extensions/auth-machine/configuration.md b/docs/services/storage-shares/configuration.md similarity index 57% rename from docs/extensions/auth-machine/configuration.md rename to docs/services/storage-shares/configuration.md index 96fb78c4b..068af4d7a 100644 --- a/docs/extensions/auth-machine/configuration.md +++ b/docs/services/storage-shares/configuration.md @@ -3,13 +3,13 @@ title: Service Configuration date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/auth-machine +geekdocEditPath: edit/master/docs/services/storage-shares geekdocFilePath: configuration.md geekdocCollapseSection: true --- ## Example YAML Config -{{< include file="extensions/_includes/auth-machine-config-example.yaml" language="yaml" >}} +{{< include file="services/_includes/storage-shares-config-example.yaml" language="yaml" >}} -{{< include file="extensions/_includes/auth-machine_configvars.md" >}} +{{< include file="services/_includes/storage-shares_configvars.md" >}} diff --git a/docs/extensions/storage-system/_index.md b/docs/services/storage-system/_index.md similarity index 79% rename from docs/extensions/storage-system/_index.md rename to docs/services/storage-system/_index.md index 2556908ab..b79c49309 100644 --- a/docs/extensions/storage-system/_index.md +++ b/docs/services/storage-system/_index.md @@ -3,7 +3,7 @@ title: Storage-System date: 2022-03-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/storage-system +geekdocEditPath: edit/master/docs/services/storage-system geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/extensions/app-provider/configuration.md b/docs/services/storage-system/configuration.md similarity index 57% rename from docs/extensions/app-provider/configuration.md rename to docs/services/storage-system/configuration.md index 6f4d3e066..4e58119d6 100644 --- a/docs/extensions/app-provider/configuration.md +++ b/docs/services/storage-system/configuration.md @@ -3,13 +3,13 @@ title: Service Configuration date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/app-provider +geekdocEditPath: edit/master/docs/services/storage-system geekdocFilePath: configuration.md geekdocCollapseSection: true --- ## Example YAML Config -{{< include file="extensions/_includes/app-provider-config-example.yaml" language="yaml" >}} +{{< include file="services/_includes/storage-system-config-example.yaml" language="yaml" >}} -{{< include file="extensions/_includes/app-provider_configvars.md" >}} +{{< include file="services/_includes/storage-system_configvars.md" >}} diff --git a/docs/extensions/storage-users/_index.md b/docs/services/storage-users/_index.md similarity index 79% rename from docs/extensions/storage-users/_index.md rename to docs/services/storage-users/_index.md index dbddd5532..2dcb75448 100644 --- a/docs/extensions/storage-users/_index.md +++ b/docs/services/storage-users/_index.md @@ -3,7 +3,7 @@ title: Storage-Users date: 2022-03-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/storage-users +geekdocEditPath: edit/master/docs/services/storage-users geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/extensions/auth-bearer/configuration.md b/docs/services/storage-users/configuration.md similarity index 57% rename from docs/extensions/auth-bearer/configuration.md rename to docs/services/storage-users/configuration.md index 853ef9acc..156fb3fda 100644 --- a/docs/extensions/auth-bearer/configuration.md +++ b/docs/services/storage-users/configuration.md @@ -3,13 +3,13 @@ title: Service Configuration date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/auth-bearer +geekdocEditPath: edit/master/docs/services/storage-users geekdocFilePath: configuration.md geekdocCollapseSection: true --- ## Example YAML Config -{{< include file="extensions/_includes/auth-bearer-config-example.yaml" language="yaml" >}} +{{< include file="services/_includes/storage-users-config-example.yaml" language="yaml" >}} -{{< include file="extensions/_includes/auth-bearer_configvars.md" >}} +{{< include file="services/_includes/storage-users_configvars.md" >}} diff --git a/docs/extensions/store/.gitignore b/docs/services/store/.gitignore similarity index 100% rename from docs/extensions/store/.gitignore rename to docs/services/store/.gitignore diff --git a/docs/extensions/store/_index.md b/docs/services/store/_index.md similarity index 83% rename from docs/extensions/store/_index.md rename to docs/services/store/_index.md index ddc5be10a..9277a24b8 100644 --- a/docs/extensions/store/_index.md +++ b/docs/services/store/_index.md @@ -3,7 +3,7 @@ title: "Store" date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/store +geekdocEditPath: edit/master/docs/services/store geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/extensions/idm/configuration.md b/docs/services/store/configuration.md similarity index 57% rename from docs/extensions/idm/configuration.md rename to docs/services/store/configuration.md index 1595260c7..c0070e39f 100644 --- a/docs/extensions/idm/configuration.md +++ b/docs/services/store/configuration.md @@ -3,13 +3,13 @@ title: Service Configuration date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/idm +geekdocEditPath: edit/master/docs/services/store geekdocFilePath: configuration.md geekdocCollapseSection: true --- ## Example YAML Config -{{< include file="extensions/_includes/idm-config-example.yaml" language="yaml" >}} +{{< include file="services/_includes/store-config-example.yaml" language="yaml" >}} -{{< include file="extensions/_includes/idm_configvars.md" >}} \ No newline at end of file +{{< include file="services/_includes/store_configvars.md" >}} \ No newline at end of file diff --git a/docs/extensions/thumbnails/.gitignore b/docs/services/thumbnails/.gitignore similarity index 100% rename from docs/extensions/thumbnails/.gitignore rename to docs/services/thumbnails/.gitignore diff --git a/docs/extensions/thumbnails/_index.md b/docs/services/thumbnails/_index.md similarity index 84% rename from docs/extensions/thumbnails/_index.md rename to docs/services/thumbnails/_index.md index 84c57b0a0..86c71e11c 100644 --- a/docs/extensions/thumbnails/_index.md +++ b/docs/services/thumbnails/_index.md @@ -3,7 +3,7 @@ title: "Thumbnails" date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/thumbnails +geekdocEditPath: edit/master/docs/services/thumbnails geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/extensions/settings/configuration.md b/docs/services/thumbnails/configuration.md similarity index 57% rename from docs/extensions/settings/configuration.md rename to docs/services/thumbnails/configuration.md index ac61a7570..845255d09 100644 --- a/docs/extensions/settings/configuration.md +++ b/docs/services/thumbnails/configuration.md @@ -3,13 +3,13 @@ title: Service Configuration date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/settings +geekdocEditPath: edit/master/docs/services/thumbnails geekdocFilePath: configuration.md geekdocCollapseSection: true --- ## Example YAML Config -{{< include file="extensions/_includes/settings-config-example.yaml" language="yaml" >}} +{{< include file="services/_includes/thumbnails-config-example.yaml" language="yaml" >}} -{{< include file="extensions/_includes/settings_configvars.md" >}} \ No newline at end of file +{{< include file="services/_includes/thumbnails_configvars.md" >}} \ No newline at end of file diff --git a/docs/extensions/users/_index.md b/docs/services/users/_index.md similarity index 81% rename from docs/extensions/users/_index.md rename to docs/services/users/_index.md index 1c90dbf56..91f38a498 100644 --- a/docs/extensions/users/_index.md +++ b/docs/services/users/_index.md @@ -3,7 +3,7 @@ title: Users date: 2022-03-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/users +geekdocEditPath: edit/master/docs/services/users geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/extensions/idp/configuration.md b/docs/services/users/configuration.md similarity index 57% rename from docs/extensions/idp/configuration.md rename to docs/services/users/configuration.md index 8aa88d203..1f621a58d 100644 --- a/docs/extensions/idp/configuration.md +++ b/docs/services/users/configuration.md @@ -3,13 +3,13 @@ title: Service Configuration date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/idp +geekdocEditPath: edit/master/docs/services/users geekdocFilePath: configuration.md geekdocCollapseSection: true --- ## Example YAML Config -{{< include file="extensions/_includes/idp-config-example.yaml" language="yaml" >}} +{{< include file="services/_includes/users-config-example.yaml" language="yaml" >}} -{{< include file="extensions/_includes/idp_configvars.md" >}} \ No newline at end of file +{{< include file="services/_includes/users_configvars.md" >}} diff --git a/docs/extensions/web/.gitignore b/docs/services/web/.gitignore similarity index 100% rename from docs/extensions/web/.gitignore rename to docs/services/web/.gitignore diff --git a/docs/extensions/web/_index.md b/docs/services/web/_index.md similarity index 87% rename from docs/extensions/web/_index.md rename to docs/services/web/_index.md index a37a35a2e..c5571c001 100644 --- a/docs/extensions/web/_index.md +++ b/docs/services/web/_index.md @@ -3,7 +3,7 @@ title: "Web" date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/web +geekdocEditPath: edit/master/docs/services/web geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/services/web/configuration.md b/docs/services/web/configuration.md new file mode 100644 index 000000000..e00343871 --- /dev/null +++ b/docs/services/web/configuration.md @@ -0,0 +1,15 @@ +--- +title: Service Configuration +date: 2018-05-02T00:00:00+00:00 +weight: 20 +geekdocRepo: https://github.com/owncloud/ocis +geekdocEditPath: edit/master/docs/services/web +geekdocFilePath: configuration.md +geekdocCollapseSection: true +--- + +## Example YAML Config + +{{< include file="services/_includes/web-config-example.yaml" language="yaml" >}} + +{{< include file="services/_includes/web_configvars.md" >}} \ No newline at end of file diff --git a/docs/extensions/web/releasing.md b/docs/services/web/releasing.md similarity index 97% rename from docs/extensions/web/releasing.md rename to docs/services/web/releasing.md index 75f2130cc..ac9be9f12 100644 --- a/docs/extensions/web/releasing.md +++ b/docs/services/web/releasing.md @@ -2,7 +2,7 @@ title: "Releasing" weight: 40 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/web +geekdocEditPath: edit/master/docs/services/web geekdocFilePath: releasing.md --- diff --git a/docs/extensions/webdav/.gitignore b/docs/services/webdav/.gitignore similarity index 100% rename from docs/extensions/webdav/.gitignore rename to docs/services/webdav/.gitignore diff --git a/docs/extensions/webdav/_index.md b/docs/services/webdav/_index.md similarity index 88% rename from docs/extensions/webdav/_index.md rename to docs/services/webdav/_index.md index 7c1e082ae..1ce3ae9ee 100644 --- a/docs/extensions/webdav/_index.md +++ b/docs/services/webdav/_index.md @@ -3,7 +3,7 @@ title: WebDAV date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/webdav +geekdocEditPath: edit/master/docs/services/webdav geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/extensions/nats/configuration.md b/docs/services/webdav/configuration.md similarity index 57% rename from docs/extensions/nats/configuration.md rename to docs/services/webdav/configuration.md index 4d414c90d..7e0f765b4 100644 --- a/docs/extensions/nats/configuration.md +++ b/docs/services/webdav/configuration.md @@ -3,13 +3,13 @@ title: Service Configuration date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/nats +geekdocEditPath: edit/master/docs/services/webdav geekdocFilePath: configuration.md geekdocCollapseSection: true --- ## Example YAML Config -{{< include file="extensions/_includes/nats-config-example.yaml" language="yaml" >}} +{{< include file="services/_includes/webdav-config-example.yaml" language="yaml" >}} -{{< include file="extensions/_includes/nats_configvars.md" >}} \ No newline at end of file +{{< include file="services/_includes/webdav_configvars.md" >}} \ No newline at end of file diff --git a/extensions/gateway/cmd/gateway/main.go b/extensions/gateway/cmd/gateway/main.go deleted file mode 100644 index 570a3c41a..000000000 --- a/extensions/gateway/cmd/gateway/main.go +++ /dev/null @@ -1,14 +0,0 @@ -package main - -import ( - "os" - - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/command" - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/config/defaults" -) - -func main() { - if err := command.Execute(defaults.DefaultConfig()); err != nil { - os.Exit(1) - } -} diff --git a/extensions/graph-explorer/cmd/graph-explorer/main.go b/extensions/graph-explorer/cmd/graph-explorer/main.go deleted file mode 100644 index dc1c83a80..000000000 --- a/extensions/graph-explorer/cmd/graph-explorer/main.go +++ /dev/null @@ -1,14 +0,0 @@ -package main - -import ( - "os" - - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/command" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/config/defaults" -) - -func main() { - if err := command.Execute(defaults.DefaultConfig()); err != nil { - os.Exit(1) - } -} diff --git a/extensions/graph-explorer/pkg/command/health.go b/extensions/graph-explorer/pkg/command/health.go deleted file mode 100644 index da1feefd4..000000000 --- a/extensions/graph-explorer/pkg/command/health.go +++ /dev/null @@ -1,57 +0,0 @@ -package command - -import ( - "fmt" - "net/http" - - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/config" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/logging" - "github.com/urfave/cli/v2" -) - -// Health is the entrypoint for the health command. -func Health(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "health", - Usage: "check health status", - Category: "info", - Before: func(c *cli.Context) error { - err := parser.ParseConfig(cfg) - if err != nil { - fmt.Printf("%v", err) - } - return err - }, - Action: func(c *cli.Context) error { - logger := logging.Configure(cfg.Service.Name, cfg.Log) - - resp, err := http.Get( - fmt.Sprintf( - "http://%s/healthz", - cfg.Debug.Addr, - ), - ) - - if err != nil { - logger.Fatal(). - Err(err). - Msg("Failed to request health check") - } - - defer resp.Body.Close() - - if resp.StatusCode != http.StatusOK { - logger.Fatal(). - Int("code", resp.StatusCode). - Msg("Health seems to be in bad state") - } - - logger.Debug(). - Int("code", resp.StatusCode). - Msg("Health got a good state") - - return nil - }, - } -} diff --git a/extensions/graph-explorer/pkg/command/version.go b/extensions/graph-explorer/pkg/command/version.go deleted file mode 100644 index 61021010b..000000000 --- a/extensions/graph-explorer/pkg/command/version.go +++ /dev/null @@ -1,50 +0,0 @@ -package command - -import ( - "fmt" - "os" - - "github.com/owncloud/ocis/v2/ocis-pkg/registry" - "github.com/owncloud/ocis/v2/ocis-pkg/version" - - tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/config" - "github.com/urfave/cli/v2" -) - -// Version prints the service versions of all running instances. -func Version(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "version", - Usage: "print the version of this binary and the running extension instances", - Category: "info", - Action: func(c *cli.Context) error { - fmt.Println("Version: " + version.GetString()) - fmt.Printf("Compiled: %s\n", version.Compiled()) - fmt.Println("") - - reg := registry.GetRegistry() - services, err := reg.GetService(cfg.HTTP.Namespace + "." + cfg.Service.Name) - if err != nil { - fmt.Println(fmt.Errorf("could not get %s services from the registry: %v", cfg.Service.Name, err)) - return err - } - - if len(services) == 0 { - fmt.Println("No running " + cfg.Service.Name + " service found.") - return nil - } - - table := tw.NewWriter(os.Stdout) - table.SetHeader([]string{"Version", "Address", "Id"}) - table.SetAutoFormatHeaders(false) - for _, s := range services { - for _, n := range s.Nodes { - table.Append([]string{s.Version, n.Address, n.Id}) - } - } - table.Render() - return nil - }, - } -} diff --git a/extensions/graph-explorer/pkg/logging/logging.go b/extensions/graph-explorer/pkg/logging/logging.go deleted file mode 100644 index bf2db03f5..000000000 --- a/extensions/graph-explorer/pkg/logging/logging.go +++ /dev/null @@ -1,17 +0,0 @@ -package logging - -import ( - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// LoggerFromConfig initializes a service-specific logger instance. -func Configure(name string, cfg *config.Log) log.Logger { - return log.NewLogger( - log.Name(name), - log.Level(cfg.Level), - log.Pretty(cfg.Pretty), - log.Color(cfg.Color), - log.File(cfg.File), - ) -} diff --git a/extensions/graph-explorer/pkg/server/debug/option.go b/extensions/graph-explorer/pkg/server/debug/option.go deleted file mode 100644 index f18c953b9..000000000 --- a/extensions/graph-explorer/pkg/server/debug/option.go +++ /dev/null @@ -1,50 +0,0 @@ -package debug - -import ( - "context" - - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// Option defines a single option function. -type Option func(o *Options) - -// Options defines the available options for this package. -type Options struct { - Logger log.Logger - Context context.Context - Config *config.Config -} - -// newOptions initializes the available default options. -func newOptions(opts ...Option) Options { - opt := Options{} - - for _, o := range opts { - o(&opt) - } - - return opt -} - -// Logger provides a function to set the logger option. -func Logger(val log.Logger) Option { - return func(o *Options) { - o.Logger = val - } -} - -// Context provides a function to set the context option. -func Context(val context.Context) Option { - return func(o *Options) { - o.Context = val - } -} - -// Config provides a function to set the config option. -func Config(val *config.Config) Option { - return func(o *Options) { - o.Config = val - } -} diff --git a/extensions/graph-explorer/pkg/server/debug/server.go b/extensions/graph-explorer/pkg/server/debug/server.go deleted file mode 100644 index 00cc7bd14..000000000 --- a/extensions/graph-explorer/pkg/server/debug/server.go +++ /dev/null @@ -1,59 +0,0 @@ -package debug - -import ( - "io" - "net/http" - - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" - "github.com/owncloud/ocis/v2/ocis-pkg/version" -) - -// Server initializes the debug service and server. -func Server(opts ...Option) (*http.Server, error) { - options := newOptions(opts...) - - return debug.NewService( - debug.Logger(options.Logger), - debug.Name(options.Config.Service.Name), - debug.Version(version.GetString()), - debug.Address(options.Config.Debug.Addr), - debug.Token(options.Config.Debug.Token), - debug.Pprof(options.Config.Debug.Pprof), - debug.Zpages(options.Config.Debug.Zpages), - debug.Health(health(options.Config)), - debug.Ready(ready(options.Config)), - ), nil -} - -// health implements the health check. -func health(cfg *config.Config) func(http.ResponseWriter, *http.Request) { - return func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "text/plain") - w.WriteHeader(http.StatusOK) - - // TODO: check if services are up and running - - _, err := io.WriteString(w, http.StatusText(http.StatusOK)) - // io.WriteString should not fail but if it does we want to know. - if err != nil { - panic(err) - } - } -} - -// ready implements the ready check. -func ready(cfg *config.Config) func(http.ResponseWriter, *http.Request) { - return func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "text/plain") - w.WriteHeader(http.StatusOK) - - // TODO: check if services are up and running - - _, err := io.WriteString(w, http.StatusText(http.StatusOK)) - // io.WriteString should not fail but if it does we want to know. - if err != nil { - panic(err) - } - } -} diff --git a/extensions/graph/cmd/graph/main.go b/extensions/graph/cmd/graph/main.go deleted file mode 100644 index d11a6ed6e..000000000 --- a/extensions/graph/cmd/graph/main.go +++ /dev/null @@ -1,14 +0,0 @@ -package main - -import ( - "os" - - "github.com/owncloud/ocis/v2/extensions/graph/pkg/command" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config/defaults" -) - -func main() { - if err := command.Execute(defaults.DefaultConfig()); err != nil { - os.Exit(1) - } -} diff --git a/extensions/groups/cmd/groups/main.go b/extensions/groups/cmd/groups/main.go deleted file mode 100644 index f6a9bf09f..000000000 --- a/extensions/groups/cmd/groups/main.go +++ /dev/null @@ -1,14 +0,0 @@ -package main - -import ( - "os" - - "github.com/owncloud/ocis/v2/extensions/groups/pkg/command" - "github.com/owncloud/ocis/v2/extensions/groups/pkg/config/defaults" -) - -func main() { - if err := command.Execute(defaults.DefaultConfig()); err != nil { - os.Exit(1) - } -} diff --git a/extensions/notifications/cmd/notifications/main.go b/extensions/notifications/cmd/notifications/main.go deleted file mode 100644 index c965086a7..000000000 --- a/extensions/notifications/cmd/notifications/main.go +++ /dev/null @@ -1,14 +0,0 @@ -package main - -import ( - "os" - - "github.com/owncloud/ocis/v2/extensions/notifications/pkg/command" - "github.com/owncloud/ocis/v2/extensions/notifications/pkg/config/defaults" -) - -func main() { - if err := command.Execute(defaults.DefaultConfig()); err != nil { - os.Exit(1) - } -} diff --git a/extensions/notifications/pkg/logging/logging.go b/extensions/notifications/pkg/logging/logging.go deleted file mode 100644 index ed0042a0e..000000000 --- a/extensions/notifications/pkg/logging/logging.go +++ /dev/null @@ -1,17 +0,0 @@ -package logging - -import ( - "github.com/owncloud/ocis/v2/extensions/notifications/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// LoggerFromConfig initializes a service-specific logger instance. -func Configure(name string, cfg *config.Log) log.Logger { - return log.NewLogger( - log.Name(name), - log.Level(cfg.Level), - log.Pretty(cfg.Pretty), - log.Color(cfg.Color), - log.File(cfg.File), - ) -} diff --git a/extensions/ocdav/pkg/command/health.go b/extensions/ocdav/pkg/command/health.go deleted file mode 100644 index 128b670ae..000000000 --- a/extensions/ocdav/pkg/command/health.go +++ /dev/null @@ -1,57 +0,0 @@ -package command - -import ( - "fmt" - "net/http" - - "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/config" - "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/logging" - "github.com/urfave/cli/v2" -) - -// Health is the entrypoint for the health command. -func Health(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "health", - Usage: "check health status", - Category: "info", - Before: func(c *cli.Context) error { - err := parser.ParseConfig(cfg) - if err != nil { - fmt.Printf("%v", err) - } - return err - }, - Action: func(c *cli.Context) error { - logger := logging.Configure(cfg.Service.Name, cfg.Log) - - resp, err := http.Get( - fmt.Sprintf( - "http://%s/healthz", - cfg.Debug.Addr, - ), - ) - - if err != nil { - logger.Fatal(). - Err(err). - Msg("Failed to request health check") - } - - defer resp.Body.Close() - - if resp.StatusCode != http.StatusOK { - logger.Fatal(). - Int("code", resp.StatusCode). - Msg("Health seems to be in bad state") - } - - logger.Debug(). - Int("code", resp.StatusCode). - Msg("Health got a good state") - - return nil - }, - } -} diff --git a/extensions/ocdav/pkg/logging/logging.go b/extensions/ocdav/pkg/logging/logging.go deleted file mode 100644 index eedbb81e2..000000000 --- a/extensions/ocdav/pkg/logging/logging.go +++ /dev/null @@ -1,17 +0,0 @@ -package logging - -import ( - "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// LoggerFromConfig initializes a service-specific logger instance. -func Configure(name string, cfg *config.Log) log.Logger { - return log.NewLogger( - log.Name(name), - log.Level(cfg.Level), - log.Pretty(cfg.Pretty), - log.Color(cfg.Color), - log.File(cfg.File), - ) -} diff --git a/extensions/proxy/cmd/proxy/main.go b/extensions/proxy/cmd/proxy/main.go deleted file mode 100644 index b804dd4f8..000000000 --- a/extensions/proxy/cmd/proxy/main.go +++ /dev/null @@ -1,14 +0,0 @@ -package main - -import ( - "os" - - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/command" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config/defaults" -) - -func main() { - if err := command.Execute(defaults.DefaultConfig()); err != nil { - os.Exit(1) - } -} diff --git a/extensions/proxy/pkg/logging/logging.go b/extensions/proxy/pkg/logging/logging.go deleted file mode 100644 index c89befa1b..000000000 --- a/extensions/proxy/pkg/logging/logging.go +++ /dev/null @@ -1,17 +0,0 @@ -package logging - -import ( - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// LoggerFromConfig initializes a service-specific logger instance. -func Configure(name string, cfg *config.Log) log.Logger { - return log.NewLogger( - log.Name(name), - log.Level(cfg.Level), - log.Pretty(cfg.Pretty), - log.Color(cfg.Color), - log.File(cfg.File), - ) -} diff --git a/extensions/proxy/pkg/server/debug/option.go b/extensions/proxy/pkg/server/debug/option.go deleted file mode 100644 index ac8d8dc7e..000000000 --- a/extensions/proxy/pkg/server/debug/option.go +++ /dev/null @@ -1,50 +0,0 @@ -package debug - -import ( - "context" - - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// Option defines a single option function. -type Option func(o *Options) - -// Options defines the available options for this package. -type Options struct { - Logger log.Logger - Context context.Context - Config *config.Config -} - -// newOptions initializes the available default options. -func newOptions(opts ...Option) Options { - opt := Options{} - - for _, o := range opts { - o(&opt) - } - - return opt -} - -// Logger provides a function to set the logger option. -func Logger(val log.Logger) Option { - return func(o *Options) { - o.Logger = val - } -} - -// Context provides a function to set the context option. -func Context(val context.Context) Option { - return func(o *Options) { - o.Context = val - } -} - -// Config provides a function to set the config option. -func Config(val *config.Config) Option { - return func(o *Options) { - o.Config = val - } -} diff --git a/extensions/search/pkg/logging/logging.go b/extensions/search/pkg/logging/logging.go deleted file mode 100644 index 3fff7ec87..000000000 --- a/extensions/search/pkg/logging/logging.go +++ /dev/null @@ -1,17 +0,0 @@ -package logging - -import ( - "github.com/owncloud/ocis/v2/extensions/search/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// LoggerFromConfig initializes a service-specific logger instance. -func Configure(name string, cfg *config.Log) log.Logger { - return log.NewLogger( - log.Name(name), - log.Level(cfg.Level), - log.Pretty(cfg.Pretty), - log.Color(cfg.Color), - log.File(cfg.File), - ) -} diff --git a/extensions/search/pkg/server/debug/option.go b/extensions/search/pkg/server/debug/option.go deleted file mode 100644 index 5b18313ce..000000000 --- a/extensions/search/pkg/server/debug/option.go +++ /dev/null @@ -1,50 +0,0 @@ -package debug - -import ( - "context" - - "github.com/owncloud/ocis/v2/extensions/search/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// Option defines a single option function. -type Option func(o *Options) - -// Options defines the available options for this package. -type Options struct { - Logger log.Logger - Context context.Context - Config *config.Config -} - -// newOptions initializes the available default options. -func newOptions(opts ...Option) Options { - opt := Options{} - - for _, o := range opts { - o(&opt) - } - - return opt -} - -// Logger provides a function to set the logger option. -func Logger(val log.Logger) Option { - return func(o *Options) { - o.Logger = val - } -} - -// Context provides a function to set the context option. -func Context(val context.Context) Option { - return func(o *Options) { - o.Context = val - } -} - -// Config provides a function to set the config option. -func Config(val *config.Config) Option { - return func(o *Options) { - o.Config = val - } -} diff --git a/extensions/settings/pkg/logging/logging.go b/extensions/settings/pkg/logging/logging.go deleted file mode 100644 index d8e711fc6..000000000 --- a/extensions/settings/pkg/logging/logging.go +++ /dev/null @@ -1,17 +0,0 @@ -package logging - -import ( - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// LoggerFromConfig initializes a service-specific logger instance. -func Configure(name string, cfg *config.Log) log.Logger { - return log.NewLogger( - log.Name(name), - log.Level(cfg.Level), - log.Pretty(cfg.Pretty), - log.Color(cfg.Color), - log.File(cfg.File), - ) -} diff --git a/extensions/settings/pkg/server/debug/option.go b/extensions/settings/pkg/server/debug/option.go deleted file mode 100644 index 688d997d5..000000000 --- a/extensions/settings/pkg/server/debug/option.go +++ /dev/null @@ -1,50 +0,0 @@ -package debug - -import ( - "context" - - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// Option defines a single option function. -type Option func(o *Options) - -// Options defines the available options for this package. -type Options struct { - Logger log.Logger - Context context.Context - Config *config.Config -} - -// newOptions initializes the available default options. -func newOptions(opts ...Option) Options { - opt := Options{} - - for _, o := range opts { - o(&opt) - } - - return opt -} - -// Logger provides a function to set the logger option. -func Logger(val log.Logger) Option { - return func(o *Options) { - o.Logger = val - } -} - -// Context provides a function to set the context option. -func Context(val context.Context) Option { - return func(o *Options) { - o.Context = val - } -} - -// Config provides a function to set the config option. -func Config(val *config.Config) Option { - return func(o *Options) { - o.Config = val - } -} diff --git a/extensions/settings/pkg/store/registry.go b/extensions/settings/pkg/store/registry.go deleted file mode 100644 index d82af83bd..000000000 --- a/extensions/settings/pkg/store/registry.go +++ /dev/null @@ -1,7 +0,0 @@ -package store - -import ( - // init filesystem store - _ "github.com/owncloud/ocis/v2/extensions/settings/pkg/store/filesystem" - _ "github.com/owncloud/ocis/v2/extensions/settings/pkg/store/metadata" -) diff --git a/extensions/sharing/cmd/sharing/main.go b/extensions/sharing/cmd/sharing/main.go deleted file mode 100644 index 63938d147..000000000 --- a/extensions/sharing/cmd/sharing/main.go +++ /dev/null @@ -1,14 +0,0 @@ -package main - -import ( - "os" - - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/command" - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/config/defaults" -) - -func main() { - if err := command.Execute(defaults.DefaultConfig()); err != nil { - os.Exit(1) - } -} diff --git a/extensions/sharing/pkg/command/health.go b/extensions/sharing/pkg/command/health.go deleted file mode 100644 index f0303cc8a..000000000 --- a/extensions/sharing/pkg/command/health.go +++ /dev/null @@ -1,57 +0,0 @@ -package command - -import ( - "fmt" - "net/http" - - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/config" - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/logging" - "github.com/urfave/cli/v2" -) - -// Health is the entrypoint for the health command. -func Health(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "health", - Usage: "check health status", - Category: "info", - Before: func(c *cli.Context) error { - err := parser.ParseConfig(cfg) - if err != nil { - fmt.Printf("%v", err) - } - return err - }, - Action: func(c *cli.Context) error { - logger := logging.Configure(cfg.Service.Name, cfg.Log) - - resp, err := http.Get( - fmt.Sprintf( - "http://%s/healthz", - cfg.Debug.Addr, - ), - ) - - if err != nil { - logger.Fatal(). - Err(err). - Msg("Failed to request health check") - } - - defer resp.Body.Close() - - if resp.StatusCode != http.StatusOK { - logger.Fatal(). - Int("code", resp.StatusCode). - Msg("Health seems to be in bad state") - } - - logger.Debug(). - Int("code", resp.StatusCode). - Msg("Health got a good state") - - return nil - }, - } -} diff --git a/extensions/sharing/pkg/command/version.go b/extensions/sharing/pkg/command/version.go deleted file mode 100644 index 6e4842fb1..000000000 --- a/extensions/sharing/pkg/command/version.go +++ /dev/null @@ -1,50 +0,0 @@ -package command - -import ( - "fmt" - "os" - - "github.com/owncloud/ocis/v2/ocis-pkg/registry" - "github.com/owncloud/ocis/v2/ocis-pkg/version" - - tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/config" - "github.com/urfave/cli/v2" -) - -// Version prints the service versions of all running instances. -func Version(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "version", - Usage: "print the version of this binary and the running extension instances", - Category: "info", - Action: func(c *cli.Context) error { - fmt.Println("Version: " + version.GetString()) - fmt.Printf("Compiled: %s\n", version.Compiled()) - fmt.Println("") - - reg := registry.GetRegistry() - services, err := reg.GetService(cfg.GRPC.Namespace + "." + cfg.Service.Name) - if err != nil { - fmt.Println(fmt.Errorf("could not get %s services from the registry: %v", cfg.Service.Name, err)) - return err - } - - if len(services) == 0 { - fmt.Println("No running " + cfg.Service.Name + " service found.") - return nil - } - - table := tw.NewWriter(os.Stdout) - table.SetHeader([]string{"Version", "Address", "Id"}) - table.SetAutoFormatHeaders(false) - for _, s := range services { - for _, n := range s.Nodes { - table.Append([]string{s.Version, n.Address, n.Id}) - } - } - table.Render() - return nil - }, - } -} diff --git a/extensions/sharing/pkg/logging/logging.go b/extensions/sharing/pkg/logging/logging.go deleted file mode 100644 index 90114df28..000000000 --- a/extensions/sharing/pkg/logging/logging.go +++ /dev/null @@ -1,17 +0,0 @@ -package logging - -import ( - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// LoggerFromConfig initializes a service-specific logger instance. -func Configure(name string, cfg *config.Log) log.Logger { - return log.NewLogger( - log.Name(name), - log.Level(cfg.Level), - log.Pretty(cfg.Pretty), - log.Color(cfg.Color), - log.File(cfg.File), - ) -} diff --git a/extensions/sharing/pkg/server/debug/option.go b/extensions/sharing/pkg/server/debug/option.go deleted file mode 100644 index 2c59af906..000000000 --- a/extensions/sharing/pkg/server/debug/option.go +++ /dev/null @@ -1,50 +0,0 @@ -package debug - -import ( - "context" - - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// Option defines a single option function. -type Option func(o *Options) - -// Options defines the available options for this package. -type Options struct { - Logger log.Logger - Context context.Context - Config *config.Config -} - -// newOptions initializes the available default options. -func newOptions(opts ...Option) Options { - opt := Options{} - - for _, o := range opts { - o(&opt) - } - - return opt -} - -// Logger provides a function to set the logger option. -func Logger(val log.Logger) Option { - return func(o *Options) { - o.Logger = val - } -} - -// Context provides a function to set the context option. -func Context(val context.Context) Option { - return func(o *Options) { - o.Context = val - } -} - -// Config provides a function to set the config option. -func Config(val *config.Config) Option { - return func(o *Options) { - o.Config = val - } -} diff --git a/extensions/sharing/pkg/server/debug/server.go b/extensions/sharing/pkg/server/debug/server.go deleted file mode 100644 index c9e262a42..000000000 --- a/extensions/sharing/pkg/server/debug/server.go +++ /dev/null @@ -1,63 +0,0 @@ -package debug - -import ( - "io" - "net/http" - - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" - "github.com/owncloud/ocis/v2/ocis-pkg/version" -) - -// Server initializes the debug service and server. -func Server(opts ...Option) (*http.Server, error) { - options := newOptions(opts...) - - return debug.NewService( - debug.Logger(options.Logger), - debug.Name(options.Config.Service.Name), - debug.Version(version.GetString()), - debug.Address(options.Config.Debug.Addr), - debug.Token(options.Config.Debug.Token), - debug.Pprof(options.Config.Debug.Pprof), - debug.Zpages(options.Config.Debug.Zpages), - debug.Health(health(options.Config)), - debug.Ready(ready(options.Config)), - //debug.CorsAllowedOrigins(options.Config.HTTP.CORS.AllowedOrigins), - //debug.CorsAllowedMethods(options.Config.HTTP.CORS.AllowedMethods), - //debug.CorsAllowedHeaders(options.Config.HTTP.CORS.AllowedHeaders), - //debug.CorsAllowCredentials(options.Config.HTTP.CORS.AllowCredentials), - ), nil -} - -// health implements the health check. -func health(cfg *config.Config) func(http.ResponseWriter, *http.Request) { - return func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "text/plain") - w.WriteHeader(http.StatusOK) - - // TODO: check if services are up and running - - _, err := io.WriteString(w, http.StatusText(http.StatusOK)) - // io.WriteString should not fail but if it does we want to know. - if err != nil { - panic(err) - } - } -} - -// ready implements the ready check. -func ready(cfg *config.Config) func(http.ResponseWriter, *http.Request) { - return func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "text/plain") - w.WriteHeader(http.StatusOK) - - // TODO: check if services are up and running - - _, err := io.WriteString(w, http.StatusText(http.StatusOK)) - // io.WriteString should not fail but if it does we want to know. - if err != nil { - panic(err) - } - } -} diff --git a/extensions/sharing/pkg/tracing/tracing.go b/extensions/sharing/pkg/tracing/tracing.go deleted file mode 100644 index f69064d4f..000000000 --- a/extensions/sharing/pkg/tracing/tracing.go +++ /dev/null @@ -1,18 +0,0 @@ -package tracing - -import ( - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" - "github.com/owncloud/ocis/v2/ocis-pkg/tracing" - "go.opentelemetry.io/otel/trace" -) - -var ( - // TraceProvider is the global trace provider for the service. - TraceProvider = trace.NewNoopTracerProvider() -) - -func Configure(cfg *config.Config, logger log.Logger) error { - tracing.Configure(cfg.Tracing.Enabled, cfg.Tracing.Type, logger) - return nil -} diff --git a/extensions/storage-publiclink/cmd/storage-publiclink/main.go b/extensions/storage-publiclink/cmd/storage-publiclink/main.go deleted file mode 100644 index d620d0e65..000000000 --- a/extensions/storage-publiclink/cmd/storage-publiclink/main.go +++ /dev/null @@ -1,14 +0,0 @@ -package main - -import ( - "os" - - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/command" - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/config/defaults" -) - -func main() { - if err := command.Execute(defaults.DefaultConfig()); err != nil { - os.Exit(1) - } -} diff --git a/extensions/storage-publiclink/pkg/command/health.go b/extensions/storage-publiclink/pkg/command/health.go deleted file mode 100644 index 679d663f9..000000000 --- a/extensions/storage-publiclink/pkg/command/health.go +++ /dev/null @@ -1,57 +0,0 @@ -package command - -import ( - "fmt" - "net/http" - - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/config" - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/logging" - "github.com/urfave/cli/v2" -) - -// Health is the entrypoint for the health command. -func Health(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "health", - Usage: "check health status", - Category: "info", - Before: func(c *cli.Context) error { - err := parser.ParseConfig(cfg) - if err != nil { - fmt.Printf("%v", err) - } - return err - }, - Action: func(c *cli.Context) error { - logger := logging.Configure(cfg.Service.Name, cfg.Log) - - resp, err := http.Get( - fmt.Sprintf( - "http://%s/healthz", - cfg.Debug.Addr, - ), - ) - - if err != nil { - logger.Fatal(). - Err(err). - Msg("Failed to request health check") - } - - defer resp.Body.Close() - - if resp.StatusCode != http.StatusOK { - logger.Fatal(). - Int("code", resp.StatusCode). - Msg("Health seems to be in bad state") - } - - logger.Debug(). - Int("code", resp.StatusCode). - Msg("Health got a good state") - - return nil - }, - } -} diff --git a/extensions/storage-publiclink/pkg/command/version.go b/extensions/storage-publiclink/pkg/command/version.go deleted file mode 100644 index cd3ab196b..000000000 --- a/extensions/storage-publiclink/pkg/command/version.go +++ /dev/null @@ -1,50 +0,0 @@ -package command - -import ( - "fmt" - "os" - - "github.com/owncloud/ocis/v2/ocis-pkg/registry" - "github.com/owncloud/ocis/v2/ocis-pkg/version" - - tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/config" - "github.com/urfave/cli/v2" -) - -// Version prints the service versions of all running instances. -func Version(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "version", - Usage: "print the version of this binary and the running extension instances", - Category: "info", - Action: func(c *cli.Context) error { - fmt.Println("Version: " + version.GetString()) - fmt.Printf("Compiled: %s\n", version.Compiled()) - fmt.Println("") - - reg := registry.GetRegistry() - services, err := reg.GetService(cfg.GRPC.Namespace + "." + cfg.Service.Name) - if err != nil { - fmt.Println(fmt.Errorf("could not get %s services from the registry: %v", cfg.Service.Name, err)) - return err - } - - if len(services) == 0 { - fmt.Println("No running " + cfg.Service.Name + " service found.") - return nil - } - - table := tw.NewWriter(os.Stdout) - table.SetHeader([]string{"Version", "Address", "Id"}) - table.SetAutoFormatHeaders(false) - for _, s := range services { - for _, n := range s.Nodes { - table.Append([]string{s.Version, n.Address, n.Id}) - } - } - table.Render() - return nil - }, - } -} diff --git a/extensions/storage-publiclink/pkg/config/parser/parse.go b/extensions/storage-publiclink/pkg/config/parser/parse.go deleted file mode 100644 index 03549280f..000000000 --- a/extensions/storage-publiclink/pkg/config/parser/parse.go +++ /dev/null @@ -1,42 +0,0 @@ -package parser - -import ( - "errors" - - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/config" - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/config/defaults" - ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/shared" - - "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" -) - -// ParseConfig loads configuration from known paths. -func ParseConfig(cfg *config.Config) error { - _, err := ociscfg.BindSourcesToStructs(cfg.Service.Name, cfg) - if err != nil { - return err - } - - defaults.EnsureDefaults(cfg) - - // load all env variables relevant to the config in the current context. - if err := envdecode.Decode(cfg); err != nil { - // no environment variable set for this config is an expected "error" - if !errors.Is(err, envdecode.ErrNoTargetFieldsAreSet) { - return err - } - } - - defaults.Sanitize(cfg) - - return Validate(cfg) -} - -func Validate(cfg *config.Config) error { - if cfg.TokenManager.JWTSecret == "" { - return shared.MissingJWTTokenError(cfg.Service.Name) - } - - return nil -} diff --git a/extensions/storage-publiclink/pkg/logging/logging.go b/extensions/storage-publiclink/pkg/logging/logging.go deleted file mode 100644 index 1ee5114d9..000000000 --- a/extensions/storage-publiclink/pkg/logging/logging.go +++ /dev/null @@ -1,17 +0,0 @@ -package logging - -import ( - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// LoggerFromConfig initializes a service-specific logger instance. -func Configure(name string, cfg *config.Log) log.Logger { - return log.NewLogger( - log.Name(name), - log.Level(cfg.Level), - log.Pretty(cfg.Pretty), - log.Color(cfg.Color), - log.File(cfg.File), - ) -} diff --git a/extensions/storage-publiclink/pkg/server/debug/option.go b/extensions/storage-publiclink/pkg/server/debug/option.go deleted file mode 100644 index cae95d690..000000000 --- a/extensions/storage-publiclink/pkg/server/debug/option.go +++ /dev/null @@ -1,50 +0,0 @@ -package debug - -import ( - "context" - - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// Option defines a single option function. -type Option func(o *Options) - -// Options defines the available options for this package. -type Options struct { - Logger log.Logger - Context context.Context - Config *config.Config -} - -// newOptions initializes the available default options. -func newOptions(opts ...Option) Options { - opt := Options{} - - for _, o := range opts { - o(&opt) - } - - return opt -} - -// Logger provides a function to set the logger option. -func Logger(val log.Logger) Option { - return func(o *Options) { - o.Logger = val - } -} - -// Context provides a function to set the context option. -func Context(val context.Context) Option { - return func(o *Options) { - o.Context = val - } -} - -// Config provides a function to set the config option. -func Config(val *config.Config) Option { - return func(o *Options) { - o.Config = val - } -} diff --git a/extensions/storage-publiclink/pkg/server/debug/server.go b/extensions/storage-publiclink/pkg/server/debug/server.go deleted file mode 100644 index 14a690a0b..000000000 --- a/extensions/storage-publiclink/pkg/server/debug/server.go +++ /dev/null @@ -1,63 +0,0 @@ -package debug - -import ( - "io" - "net/http" - - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" - "github.com/owncloud/ocis/v2/ocis-pkg/version" -) - -// Server initializes the debug service and server. -func Server(opts ...Option) (*http.Server, error) { - options := newOptions(opts...) - - return debug.NewService( - debug.Logger(options.Logger), - debug.Name(options.Config.Service.Name), - debug.Version(version.GetString()), - debug.Address(options.Config.Debug.Addr), - debug.Token(options.Config.Debug.Token), - debug.Pprof(options.Config.Debug.Pprof), - debug.Zpages(options.Config.Debug.Zpages), - debug.Health(health(options.Config)), - debug.Ready(ready(options.Config)), - //debug.CorsAllowedOrigins(options.Config.HTTP.CORS.AllowedOrigins), - //debug.CorsAllowedMethods(options.Config.HTTP.CORS.AllowedMethods), - //debug.CorsAllowedHeaders(options.Config.HTTP.CORS.AllowedHeaders), - //debug.CorsAllowCredentials(options.Config.HTTP.CORS.AllowCredentials), - ), nil -} - -// health implements the health check. -func health(cfg *config.Config) func(http.ResponseWriter, *http.Request) { - return func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "text/plain") - w.WriteHeader(http.StatusOK) - - // TODO: check if services are up and running - - _, err := io.WriteString(w, http.StatusText(http.StatusOK)) - // io.WriteString should not fail but if it does we want to know. - if err != nil { - panic(err) - } - } -} - -// ready implements the ready check. -func ready(cfg *config.Config) func(http.ResponseWriter, *http.Request) { - return func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "text/plain") - w.WriteHeader(http.StatusOK) - - // TODO: check if services are up and running - - _, err := io.WriteString(w, http.StatusText(http.StatusOK)) - // io.WriteString should not fail but if it does we want to know. - if err != nil { - panic(err) - } - } -} diff --git a/extensions/storage-publiclink/pkg/tracing/tracing.go b/extensions/storage-publiclink/pkg/tracing/tracing.go deleted file mode 100644 index cc5342080..000000000 --- a/extensions/storage-publiclink/pkg/tracing/tracing.go +++ /dev/null @@ -1,18 +0,0 @@ -package tracing - -import ( - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" - "github.com/owncloud/ocis/v2/ocis-pkg/tracing" - "go.opentelemetry.io/otel/trace" -) - -var ( - // TraceProvider is the global trace provider for the service. - TraceProvider = trace.NewNoopTracerProvider() -) - -func Configure(cfg *config.Config, logger log.Logger) error { - tracing.Configure(cfg.Tracing.Enabled, cfg.Tracing.Type, logger) - return nil -} diff --git a/extensions/storage-shares/cmd/storage-shares/main.go b/extensions/storage-shares/cmd/storage-shares/main.go deleted file mode 100644 index e663319fc..000000000 --- a/extensions/storage-shares/cmd/storage-shares/main.go +++ /dev/null @@ -1,14 +0,0 @@ -package main - -import ( - "os" - - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/command" - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/config/defaults" -) - -func main() { - if err := command.Execute(defaults.DefaultConfig()); err != nil { - os.Exit(1) - } -} diff --git a/extensions/storage-shares/pkg/command/health.go b/extensions/storage-shares/pkg/command/health.go deleted file mode 100644 index 0be6749a4..000000000 --- a/extensions/storage-shares/pkg/command/health.go +++ /dev/null @@ -1,57 +0,0 @@ -package command - -import ( - "fmt" - "net/http" - - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/config" - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/logging" - "github.com/urfave/cli/v2" -) - -// Health is the entrypoint for the health command. -func Health(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "health", - Usage: "check health status", - Category: "info", - Before: func(c *cli.Context) error { - err := parser.ParseConfig(cfg) - if err != nil { - fmt.Printf("%v", err) - } - return err - }, - Action: func(c *cli.Context) error { - logger := logging.Configure(cfg.Service.Name, cfg.Log) - - resp, err := http.Get( - fmt.Sprintf( - "http://%s/healthz", - cfg.Debug.Addr, - ), - ) - - if err != nil { - logger.Fatal(). - Err(err). - Msg("Failed to request health check") - } - - defer resp.Body.Close() - - if resp.StatusCode != http.StatusOK { - logger.Fatal(). - Int("code", resp.StatusCode). - Msg("Health seems to be in bad state") - } - - logger.Debug(). - Int("code", resp.StatusCode). - Msg("Health got a good state") - - return nil - }, - } -} diff --git a/extensions/storage-shares/pkg/command/version.go b/extensions/storage-shares/pkg/command/version.go deleted file mode 100644 index c7c66653f..000000000 --- a/extensions/storage-shares/pkg/command/version.go +++ /dev/null @@ -1,50 +0,0 @@ -package command - -import ( - "fmt" - "os" - - "github.com/owncloud/ocis/v2/ocis-pkg/registry" - "github.com/owncloud/ocis/v2/ocis-pkg/version" - - tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/config" - "github.com/urfave/cli/v2" -) - -// Version prints the service versions of all running instances. -func Version(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "version", - Usage: "print the version of this binary and the running extension instances", - Category: "info", - Action: func(c *cli.Context) error { - fmt.Println("Version: " + version.GetString()) - fmt.Printf("Compiled: %s\n", version.Compiled()) - fmt.Println("") - - reg := registry.GetRegistry() - services, err := reg.GetService(cfg.GRPC.Namespace + "." + cfg.Service.Name) - if err != nil { - fmt.Println(fmt.Errorf("could not get %s services from the registry: %v", cfg.Service.Name, err)) - return err - } - - if len(services) == 0 { - fmt.Println("No running " + cfg.Service.Name + " service found.") - return nil - } - - table := tw.NewWriter(os.Stdout) - table.SetHeader([]string{"Version", "Address", "Id"}) - table.SetAutoFormatHeaders(false) - for _, s := range services { - for _, n := range s.Nodes { - table.Append([]string{s.Version, n.Address, n.Id}) - } - } - table.Render() - return nil - }, - } -} diff --git a/extensions/storage-shares/pkg/config/parser/parse.go b/extensions/storage-shares/pkg/config/parser/parse.go deleted file mode 100644 index fb0bbf230..000000000 --- a/extensions/storage-shares/pkg/config/parser/parse.go +++ /dev/null @@ -1,42 +0,0 @@ -package parser - -import ( - "errors" - - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/config" - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/config/defaults" - ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/shared" - - "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" -) - -// ParseConfig loads configuration from known paths. -func ParseConfig(cfg *config.Config) error { - _, err := ociscfg.BindSourcesToStructs(cfg.Service.Name, cfg) - if err != nil { - return err - } - - defaults.EnsureDefaults(cfg) - - // load all env variables relevant to the config in the current context. - if err := envdecode.Decode(cfg); err != nil { - // no environment variable set for this config is an expected "error" - if !errors.Is(err, envdecode.ErrNoTargetFieldsAreSet) { - return err - } - } - - defaults.Sanitize(cfg) - - return Validate(cfg) -} - -func Validate(cfg *config.Config) error { - if cfg.TokenManager.JWTSecret == "" { - return shared.MissingJWTTokenError(cfg.Service.Name) - } - - return nil -} diff --git a/extensions/storage-shares/pkg/logging/logging.go b/extensions/storage-shares/pkg/logging/logging.go deleted file mode 100644 index b585f564b..000000000 --- a/extensions/storage-shares/pkg/logging/logging.go +++ /dev/null @@ -1,17 +0,0 @@ -package logging - -import ( - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// LoggerFromConfig initializes a service-specific logger instance. -func Configure(name string, cfg *config.Log) log.Logger { - return log.NewLogger( - log.Name(name), - log.Level(cfg.Level), - log.Pretty(cfg.Pretty), - log.Color(cfg.Color), - log.File(cfg.File), - ) -} diff --git a/extensions/storage-shares/pkg/server/debug/option.go b/extensions/storage-shares/pkg/server/debug/option.go deleted file mode 100644 index a9e1af69f..000000000 --- a/extensions/storage-shares/pkg/server/debug/option.go +++ /dev/null @@ -1,50 +0,0 @@ -package debug - -import ( - "context" - - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// Option defines a single option function. -type Option func(o *Options) - -// Options defines the available options for this package. -type Options struct { - Logger log.Logger - Context context.Context - Config *config.Config -} - -// newOptions initializes the available default options. -func newOptions(opts ...Option) Options { - opt := Options{} - - for _, o := range opts { - o(&opt) - } - - return opt -} - -// Logger provides a function to set the logger option. -func Logger(val log.Logger) Option { - return func(o *Options) { - o.Logger = val - } -} - -// Context provides a function to set the context option. -func Context(val context.Context) Option { - return func(o *Options) { - o.Context = val - } -} - -// Config provides a function to set the config option. -func Config(val *config.Config) Option { - return func(o *Options) { - o.Config = val - } -} diff --git a/extensions/storage-shares/pkg/server/debug/server.go b/extensions/storage-shares/pkg/server/debug/server.go deleted file mode 100644 index cf6a1af70..000000000 --- a/extensions/storage-shares/pkg/server/debug/server.go +++ /dev/null @@ -1,63 +0,0 @@ -package debug - -import ( - "io" - "net/http" - - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" - "github.com/owncloud/ocis/v2/ocis-pkg/version" -) - -// Server initializes the debug service and server. -func Server(opts ...Option) (*http.Server, error) { - options := newOptions(opts...) - - return debug.NewService( - debug.Logger(options.Logger), - debug.Name(options.Config.Service.Name), - debug.Version(version.GetString()), - debug.Address(options.Config.Debug.Addr), - debug.Token(options.Config.Debug.Token), - debug.Pprof(options.Config.Debug.Pprof), - debug.Zpages(options.Config.Debug.Zpages), - debug.Health(health(options.Config)), - debug.Ready(ready(options.Config)), - //debug.CorsAllowedOrigins(options.Config.HTTP.CORS.AllowedOrigins), - //debug.CorsAllowedMethods(options.Config.HTTP.CORS.AllowedMethods), - //debug.CorsAllowedHeaders(options.Config.HTTP.CORS.AllowedHeaders), - //debug.CorsAllowCredentials(options.Config.HTTP.CORS.AllowCredentials), - ), nil -} - -// health implements the health check. -func health(cfg *config.Config) func(http.ResponseWriter, *http.Request) { - return func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "text/plain") - w.WriteHeader(http.StatusOK) - - // TODO: check if services are up and running - - _, err := io.WriteString(w, http.StatusText(http.StatusOK)) - // io.WriteString should not fail but if it does we want to know. - if err != nil { - panic(err) - } - } -} - -// ready implements the ready check. -func ready(cfg *config.Config) func(http.ResponseWriter, *http.Request) { - return func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "text/plain") - w.WriteHeader(http.StatusOK) - - // TODO: check if services are up and running - - _, err := io.WriteString(w, http.StatusText(http.StatusOK)) - // io.WriteString should not fail but if it does we want to know. - if err != nil { - panic(err) - } - } -} diff --git a/extensions/storage-shares/pkg/tracing/tracing.go b/extensions/storage-shares/pkg/tracing/tracing.go deleted file mode 100644 index d09325e02..000000000 --- a/extensions/storage-shares/pkg/tracing/tracing.go +++ /dev/null @@ -1,18 +0,0 @@ -package tracing - -import ( - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" - "github.com/owncloud/ocis/v2/ocis-pkg/tracing" - "go.opentelemetry.io/otel/trace" -) - -var ( - // TraceProvider is the global trace provider for the service. - TraceProvider = trace.NewNoopTracerProvider() -) - -func Configure(cfg *config.Config, logger log.Logger) error { - tracing.Configure(cfg.Tracing.Enabled, cfg.Tracing.Type, logger) - return nil -} diff --git a/extensions/storage-system/cmd/storage-system/main.go b/extensions/storage-system/cmd/storage-system/main.go deleted file mode 100644 index 1eabece47..000000000 --- a/extensions/storage-system/cmd/storage-system/main.go +++ /dev/null @@ -1,14 +0,0 @@ -package main - -import ( - "os" - - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/command" - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/config/defaults" -) - -func main() { - if err := command.Execute(defaults.DefaultConfig()); err != nil { - os.Exit(1) - } -} diff --git a/extensions/storage-system/pkg/command/health.go b/extensions/storage-system/pkg/command/health.go deleted file mode 100644 index 52dc14efb..000000000 --- a/extensions/storage-system/pkg/command/health.go +++ /dev/null @@ -1,57 +0,0 @@ -package command - -import ( - "fmt" - "net/http" - - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/config" - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/logging" - "github.com/urfave/cli/v2" -) - -// Health is the entrypoint for the health command. -func Health(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "health", - Usage: "check health status", - Category: "info", - Before: func(c *cli.Context) error { - err := parser.ParseConfig(cfg) - if err != nil { - fmt.Printf("%v", err) - } - return err - }, - Action: func(c *cli.Context) error { - logger := logging.Configure(cfg.Service.Name, cfg.Log) - - resp, err := http.Get( - fmt.Sprintf( - "http://%s/healthz", - cfg.Debug.Addr, - ), - ) - - if err != nil { - logger.Fatal(). - Err(err). - Msg("Failed to request health check") - } - - defer resp.Body.Close() - - if resp.StatusCode != http.StatusOK { - logger.Fatal(). - Int("code", resp.StatusCode). - Msg("Health seems to be in bad state") - } - - logger.Debug(). - Int("code", resp.StatusCode). - Msg("Health got a good state") - - return nil - }, - } -} diff --git a/extensions/storage-system/pkg/command/version.go b/extensions/storage-system/pkg/command/version.go deleted file mode 100644 index 77c927716..000000000 --- a/extensions/storage-system/pkg/command/version.go +++ /dev/null @@ -1,50 +0,0 @@ -package command - -import ( - "fmt" - "os" - - "github.com/owncloud/ocis/v2/ocis-pkg/registry" - "github.com/owncloud/ocis/v2/ocis-pkg/version" - - tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/config" - "github.com/urfave/cli/v2" -) - -// Version prints the service versions of all running instances. -func Version(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "version", - Usage: "print the version of this binary and the running extension instances", - Category: "info", - Action: func(c *cli.Context) error { - fmt.Println("Version: " + version.GetString()) - fmt.Printf("Compiled: %s\n", version.Compiled()) - fmt.Println("") - - reg := registry.GetRegistry() - services, err := reg.GetService(cfg.GRPC.Namespace + "." + cfg.Service.Name) - if err != nil { - fmt.Println(fmt.Errorf("could not get %s services from the registry: %v", cfg.Service.Name, err)) - return err - } - - if len(services) == 0 { - fmt.Println("No running " + cfg.Service.Name + " service found.") - return nil - } - - table := tw.NewWriter(os.Stdout) - table.SetHeader([]string{"Version", "Address", "Id"}) - table.SetAutoFormatHeaders(false) - for _, s := range services { - for _, n := range s.Nodes { - table.Append([]string{s.Version, n.Address, n.Id}) - } - } - table.Render() - return nil - }, - } -} diff --git a/extensions/storage-system/pkg/logging/logging.go b/extensions/storage-system/pkg/logging/logging.go deleted file mode 100644 index 5071fda3e..000000000 --- a/extensions/storage-system/pkg/logging/logging.go +++ /dev/null @@ -1,17 +0,0 @@ -package logging - -import ( - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// LoggerFromConfig initializes a service-specific logger instance. -func Configure(name string, cfg *config.Log) log.Logger { - return log.NewLogger( - log.Name(name), - log.Level(cfg.Level), - log.Pretty(cfg.Pretty), - log.Color(cfg.Color), - log.File(cfg.File), - ) -} diff --git a/extensions/storage-system/pkg/server/debug/option.go b/extensions/storage-system/pkg/server/debug/option.go deleted file mode 100644 index a1b8225fc..000000000 --- a/extensions/storage-system/pkg/server/debug/option.go +++ /dev/null @@ -1,50 +0,0 @@ -package debug - -import ( - "context" - - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// Option defines a single option function. -type Option func(o *Options) - -// Options defines the available options for this package. -type Options struct { - Logger log.Logger - Context context.Context - Config *config.Config -} - -// newOptions initializes the available default options. -func newOptions(opts ...Option) Options { - opt := Options{} - - for _, o := range opts { - o(&opt) - } - - return opt -} - -// Logger provides a function to set the logger option. -func Logger(val log.Logger) Option { - return func(o *Options) { - o.Logger = val - } -} - -// Context provides a function to set the context option. -func Context(val context.Context) Option { - return func(o *Options) { - o.Context = val - } -} - -// Config provides a function to set the config option. -func Config(val *config.Config) Option { - return func(o *Options) { - o.Config = val - } -} diff --git a/extensions/storage-system/pkg/server/debug/server.go b/extensions/storage-system/pkg/server/debug/server.go deleted file mode 100644 index 63d0348db..000000000 --- a/extensions/storage-system/pkg/server/debug/server.go +++ /dev/null @@ -1,63 +0,0 @@ -package debug - -import ( - "io" - "net/http" - - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" - "github.com/owncloud/ocis/v2/ocis-pkg/version" -) - -// Server initializes the debug service and server. -func Server(opts ...Option) (*http.Server, error) { - options := newOptions(opts...) - - return debug.NewService( - debug.Logger(options.Logger), - debug.Name(options.Config.Service.Name), - debug.Version(version.GetString()), - debug.Address(options.Config.Debug.Addr), - debug.Token(options.Config.Debug.Token), - debug.Pprof(options.Config.Debug.Pprof), - debug.Zpages(options.Config.Debug.Zpages), - debug.Health(health(options.Config)), - debug.Ready(ready(options.Config)), - //debug.CorsAllowedOrigins(options.Config.HTTP.CORS.AllowedOrigins), - //debug.CorsAllowedMethods(options.Config.HTTP.CORS.AllowedMethods), - //debug.CorsAllowedHeaders(options.Config.HTTP.CORS.AllowedHeaders), - //debug.CorsAllowCredentials(options.Config.HTTP.CORS.AllowCredentials), - ), nil -} - -// health implements the health check. -func health(cfg *config.Config) func(http.ResponseWriter, *http.Request) { - return func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "text/plain") - w.WriteHeader(http.StatusOK) - - // TODO: check if services are up and running - - _, err := io.WriteString(w, http.StatusText(http.StatusOK)) - // io.WriteString should not fail but if it does we want to know. - if err != nil { - panic(err) - } - } -} - -// ready implements the ready check. -func ready(cfg *config.Config) func(http.ResponseWriter, *http.Request) { - return func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "text/plain") - w.WriteHeader(http.StatusOK) - - // TODO: check if services are up and running - - _, err := io.WriteString(w, http.StatusText(http.StatusOK)) - // io.WriteString should not fail but if it does we want to know. - if err != nil { - panic(err) - } - } -} diff --git a/extensions/storage-system/pkg/tracing/tracing.go b/extensions/storage-system/pkg/tracing/tracing.go deleted file mode 100644 index 2a7b1de33..000000000 --- a/extensions/storage-system/pkg/tracing/tracing.go +++ /dev/null @@ -1,18 +0,0 @@ -package tracing - -import ( - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" - "github.com/owncloud/ocis/v2/ocis-pkg/tracing" - "go.opentelemetry.io/otel/trace" -) - -var ( - // TraceProvider is the global trace provider for the service. - TraceProvider = trace.NewNoopTracerProvider() -) - -func Configure(cfg *config.Config, logger log.Logger) error { - tracing.Configure(cfg.Tracing.Enabled, cfg.Tracing.Type, logger) - return nil -} diff --git a/extensions/storage-users/cmd/storage-users/main.go b/extensions/storage-users/cmd/storage-users/main.go deleted file mode 100644 index efd329fdf..000000000 --- a/extensions/storage-users/cmd/storage-users/main.go +++ /dev/null @@ -1,14 +0,0 @@ -package main - -import ( - "os" - - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/command" - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/config/defaults" -) - -func main() { - if err := command.Execute(defaults.DefaultConfig()); err != nil { - os.Exit(1) - } -} diff --git a/extensions/storage-users/pkg/command/health.go b/extensions/storage-users/pkg/command/health.go deleted file mode 100644 index fb8359bd5..000000000 --- a/extensions/storage-users/pkg/command/health.go +++ /dev/null @@ -1,57 +0,0 @@ -package command - -import ( - "fmt" - "net/http" - - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/config" - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/logging" - "github.com/urfave/cli/v2" -) - -// Health is the entrypoint for the health command. -func Health(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "health", - Usage: "check health status", - Category: "info", - Before: func(c *cli.Context) error { - err := parser.ParseConfig(cfg) - if err != nil { - fmt.Printf("%v", err) - } - return err - }, - Action: func(c *cli.Context) error { - logger := logging.Configure(cfg.Service.Name, cfg.Log) - - resp, err := http.Get( - fmt.Sprintf( - "http://%s/healthz", - cfg.Debug.Addr, - ), - ) - - if err != nil { - logger.Fatal(). - Err(err). - Msg("Failed to request health check") - } - - defer resp.Body.Close() - - if resp.StatusCode != http.StatusOK { - logger.Fatal(). - Int("code", resp.StatusCode). - Msg("Health seems to be in bad state") - } - - logger.Debug(). - Int("code", resp.StatusCode). - Msg("Health got a good state") - - return nil - }, - } -} diff --git a/extensions/storage-users/pkg/command/version.go b/extensions/storage-users/pkg/command/version.go deleted file mode 100644 index ff47a383b..000000000 --- a/extensions/storage-users/pkg/command/version.go +++ /dev/null @@ -1,50 +0,0 @@ -package command - -import ( - "fmt" - "os" - - "github.com/owncloud/ocis/v2/ocis-pkg/registry" - "github.com/owncloud/ocis/v2/ocis-pkg/version" - - tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/config" - "github.com/urfave/cli/v2" -) - -// Version prints the service versions of all running instances. -func Version(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "version", - Usage: "print the version of this binary and the running extension instances", - Category: "info", - Action: func(c *cli.Context) error { - fmt.Println("Version: " + version.GetString()) - fmt.Printf("Compiled: %s\n", version.Compiled()) - fmt.Println("") - - reg := registry.GetRegistry() - services, err := reg.GetService(cfg.GRPC.Namespace + "." + cfg.Service.Name) - if err != nil { - fmt.Println(fmt.Errorf("could not get %s services from the registry: %v", cfg.Service.Name, err)) - return err - } - - if len(services) == 0 { - fmt.Println("No running " + cfg.Service.Name + " service found.") - return nil - } - - table := tw.NewWriter(os.Stdout) - table.SetHeader([]string{"Version", "Address", "Id"}) - table.SetAutoFormatHeaders(false) - for _, s := range services { - for _, n := range s.Nodes { - table.Append([]string{s.Version, n.Address, n.Id}) - } - } - table.Render() - return nil - }, - } -} diff --git a/extensions/storage-users/pkg/config/parser/parse.go b/extensions/storage-users/pkg/config/parser/parse.go deleted file mode 100644 index ab352d004..000000000 --- a/extensions/storage-users/pkg/config/parser/parse.go +++ /dev/null @@ -1,42 +0,0 @@ -package parser - -import ( - "errors" - - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/config" - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/config/defaults" - ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/shared" - - "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" -) - -// ParseConfig loads configuration from known paths. -func ParseConfig(cfg *config.Config) error { - _, err := ociscfg.BindSourcesToStructs(cfg.Service.Name, cfg) - if err != nil { - return err - } - - defaults.EnsureDefaults(cfg) - - // load all env variables relevant to the config in the current context. - if err := envdecode.Decode(cfg); err != nil { - // no environment variable set for this config is an expected "error" - if !errors.Is(err, envdecode.ErrNoTargetFieldsAreSet) { - return err - } - } - - defaults.Sanitize(cfg) - - return Validate(cfg) -} - -func Validate(cfg *config.Config) error { - if cfg.TokenManager.JWTSecret == "" { - return shared.MissingJWTTokenError(cfg.Service.Name) - } - - return nil -} diff --git a/extensions/storage-users/pkg/logging/logging.go b/extensions/storage-users/pkg/logging/logging.go deleted file mode 100644 index d719f39b3..000000000 --- a/extensions/storage-users/pkg/logging/logging.go +++ /dev/null @@ -1,17 +0,0 @@ -package logging - -import ( - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// LoggerFromConfig initializes a service-specific logger instance. -func Configure(name string, cfg *config.Log) log.Logger { - return log.NewLogger( - log.Name(name), - log.Level(cfg.Level), - log.Pretty(cfg.Pretty), - log.Color(cfg.Color), - log.File(cfg.File), - ) -} diff --git a/extensions/storage-users/pkg/server/debug/option.go b/extensions/storage-users/pkg/server/debug/option.go deleted file mode 100644 index 61ac5dd87..000000000 --- a/extensions/storage-users/pkg/server/debug/option.go +++ /dev/null @@ -1,50 +0,0 @@ -package debug - -import ( - "context" - - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// Option defines a single option function. -type Option func(o *Options) - -// Options defines the available options for this package. -type Options struct { - Logger log.Logger - Context context.Context - Config *config.Config -} - -// newOptions initializes the available default options. -func newOptions(opts ...Option) Options { - opt := Options{} - - for _, o := range opts { - o(&opt) - } - - return opt -} - -// Logger provides a function to set the logger option. -func Logger(val log.Logger) Option { - return func(o *Options) { - o.Logger = val - } -} - -// Context provides a function to set the context option. -func Context(val context.Context) Option { - return func(o *Options) { - o.Context = val - } -} - -// Config provides a function to set the config option. -func Config(val *config.Config) Option { - return func(o *Options) { - o.Config = val - } -} diff --git a/extensions/storage-users/pkg/server/debug/server.go b/extensions/storage-users/pkg/server/debug/server.go deleted file mode 100644 index feb67c0b4..000000000 --- a/extensions/storage-users/pkg/server/debug/server.go +++ /dev/null @@ -1,63 +0,0 @@ -package debug - -import ( - "io" - "net/http" - - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" - "github.com/owncloud/ocis/v2/ocis-pkg/version" -) - -// Server initializes the debug service and server. -func Server(opts ...Option) (*http.Server, error) { - options := newOptions(opts...) - - return debug.NewService( - debug.Logger(options.Logger), - debug.Name(options.Config.Service.Name), - debug.Version(version.GetString()), - debug.Address(options.Config.Debug.Addr), - debug.Token(options.Config.Debug.Token), - debug.Pprof(options.Config.Debug.Pprof), - debug.Zpages(options.Config.Debug.Zpages), - debug.Health(health(options.Config)), - debug.Ready(ready(options.Config)), - //debug.CorsAllowedOrigins(options.Config.HTTP.CORS.AllowedOrigins), - //debug.CorsAllowedMethods(options.Config.HTTP.CORS.AllowedMethods), - //debug.CorsAllowedHeaders(options.Config.HTTP.CORS.AllowedHeaders), - //debug.CorsAllowCredentials(options.Config.HTTP.CORS.AllowCredentials), - ), nil -} - -// health implements the health check. -func health(cfg *config.Config) func(http.ResponseWriter, *http.Request) { - return func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "text/plain") - w.WriteHeader(http.StatusOK) - - // TODO: check if services are up and running - - _, err := io.WriteString(w, http.StatusText(http.StatusOK)) - // io.WriteString should not fail but if it does we want to know. - if err != nil { - panic(err) - } - } -} - -// ready implements the ready check. -func ready(cfg *config.Config) func(http.ResponseWriter, *http.Request) { - return func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "text/plain") - w.WriteHeader(http.StatusOK) - - // TODO: check if services are up and running - - _, err := io.WriteString(w, http.StatusText(http.StatusOK)) - // io.WriteString should not fail but if it does we want to know. - if err != nil { - panic(err) - } - } -} diff --git a/extensions/storage-users/pkg/tracing/tracing.go b/extensions/storage-users/pkg/tracing/tracing.go deleted file mode 100644 index 2806dd93b..000000000 --- a/extensions/storage-users/pkg/tracing/tracing.go +++ /dev/null @@ -1,18 +0,0 @@ -package tracing - -import ( - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" - "github.com/owncloud/ocis/v2/ocis-pkg/tracing" - "go.opentelemetry.io/otel/trace" -) - -var ( - // TraceProvider is the global trace provider for the service. - TraceProvider = trace.NewNoopTracerProvider() -) - -func Configure(cfg *config.Config, logger log.Logger) error { - tracing.Configure(cfg.Tracing.Enabled, cfg.Tracing.Type, logger) - return nil -} diff --git a/extensions/store/cmd/store/main.go b/extensions/store/cmd/store/main.go deleted file mode 100644 index db1f85bac..000000000 --- a/extensions/store/cmd/store/main.go +++ /dev/null @@ -1,14 +0,0 @@ -package main - -import ( - "os" - - "github.com/owncloud/ocis/v2/extensions/store/pkg/command" - "github.com/owncloud/ocis/v2/extensions/store/pkg/config/defaults" -) - -func main() { - if err := command.Execute(defaults.DefaultConfig()); err != nil { - os.Exit(1) - } -} diff --git a/extensions/store/pkg/command/health.go b/extensions/store/pkg/command/health.go deleted file mode 100644 index ccb7b8b70..000000000 --- a/extensions/store/pkg/command/health.go +++ /dev/null @@ -1,57 +0,0 @@ -package command - -import ( - "fmt" - "net/http" - - "github.com/owncloud/ocis/v2/extensions/store/pkg/config" - "github.com/owncloud/ocis/v2/extensions/store/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/store/pkg/logging" - "github.com/urfave/cli/v2" -) - -// Health is the entrypoint for the health command. -func Health(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "health", - Usage: "check health status", - Category: "info", - Before: func(c *cli.Context) error { - err := parser.ParseConfig(cfg) - if err != nil { - fmt.Printf("%v", err) - } - return err - }, - Action: func(c *cli.Context) error { - logger := logging.Configure(cfg.Service.Name, cfg.Log) - - resp, err := http.Get( - fmt.Sprintf( - "http://%s/healthz", - cfg.Debug.Addr, - ), - ) - - if err != nil { - logger.Fatal(). - Err(err). - Msg("Failed to request health check") - } - - defer resp.Body.Close() - - if resp.StatusCode != http.StatusOK { - logger.Fatal(). - Int("code", resp.StatusCode). - Msg("Health seems to be in bad state") - } - - logger.Debug(). - Int("code", resp.StatusCode). - Msg("Health got a good state") - - return nil - }, - } -} diff --git a/extensions/store/pkg/logging/logging.go b/extensions/store/pkg/logging/logging.go deleted file mode 100644 index 62e29b14a..000000000 --- a/extensions/store/pkg/logging/logging.go +++ /dev/null @@ -1,17 +0,0 @@ -package logging - -import ( - "github.com/owncloud/ocis/v2/extensions/store/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// LoggerFromConfig initializes a service-specific logger instance. -func Configure(name string, cfg *config.Log) log.Logger { - return log.NewLogger( - log.Name(name), - log.Level(cfg.Level), - log.Pretty(cfg.Pretty), - log.Color(cfg.Color), - log.File(cfg.File), - ) -} diff --git a/extensions/store/pkg/server/debug/option.go b/extensions/store/pkg/server/debug/option.go deleted file mode 100644 index e0c72f370..000000000 --- a/extensions/store/pkg/server/debug/option.go +++ /dev/null @@ -1,50 +0,0 @@ -package debug - -import ( - "context" - - "github.com/owncloud/ocis/v2/extensions/store/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// Option defines a single option function. -type Option func(o *Options) - -// Options defines the available options for this package. -type Options struct { - Logger log.Logger - Context context.Context - Config *config.Config -} - -// newOptions initializes the available default options. -func newOptions(opts ...Option) Options { - opt := Options{} - - for _, o := range opts { - o(&opt) - } - - return opt -} - -// Logger provides a function to set the logger option. -func Logger(val log.Logger) Option { - return func(o *Options) { - o.Logger = val - } -} - -// Context provides a function to set the context option. -func Context(val context.Context) Option { - return func(o *Options) { - o.Context = val - } -} - -// Config provides a function to set the config option. -func Config(val *config.Config) Option { - return func(o *Options) { - o.Config = val - } -} diff --git a/extensions/thumbnails/pkg/command/version.go b/extensions/thumbnails/pkg/command/version.go deleted file mode 100644 index ae4879b7f..000000000 --- a/extensions/thumbnails/pkg/command/version.go +++ /dev/null @@ -1,50 +0,0 @@ -package command - -import ( - "fmt" - "os" - - "github.com/owncloud/ocis/v2/ocis-pkg/registry" - "github.com/owncloud/ocis/v2/ocis-pkg/version" - - tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config" - "github.com/urfave/cli/v2" -) - -// Version prints the service versions of all running instances. -func Version(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "version", - Usage: "print the version of this binary and the running extension instances", - Category: "info", - Action: func(c *cli.Context) error { - fmt.Println("Version: " + version.GetString()) - fmt.Printf("Compiled: %s\n", version.Compiled()) - fmt.Println("") - - reg := registry.GetRegistry() - services, err := reg.GetService(cfg.GRPC.Namespace + "." + cfg.Service.Name) - if err != nil { - fmt.Println(fmt.Errorf("could not get %s services from the registry: %v", cfg.Service.Name, err)) - return err - } - - if len(services) == 0 { - fmt.Println("No running " + cfg.Service.Name + " service found.") - return nil - } - - table := tw.NewWriter(os.Stdout) - table.SetHeader([]string{"Version", "Address", "Id"}) - table.SetAutoFormatHeaders(false) - for _, s := range services { - for _, n := range s.Nodes { - table.Append([]string{s.Version, n.Address, n.Id}) - } - } - table.Render() - return nil - }, - } -} diff --git a/extensions/thumbnails/pkg/logging/logging.go b/extensions/thumbnails/pkg/logging/logging.go deleted file mode 100644 index acdafff1b..000000000 --- a/extensions/thumbnails/pkg/logging/logging.go +++ /dev/null @@ -1,17 +0,0 @@ -package logging - -import ( - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// LoggerFromConfig initializes a service-specific logger instance. -func Configure(name string, cfg *config.Log) log.Logger { - return log.NewLogger( - log.Name(name), - log.Level(cfg.Level), - log.Pretty(cfg.Pretty), - log.Color(cfg.Color), - log.File(cfg.File), - ) -} diff --git a/extensions/thumbnails/pkg/server/debug/server.go b/extensions/thumbnails/pkg/server/debug/server.go deleted file mode 100644 index 13123e33d..000000000 --- a/extensions/thumbnails/pkg/server/debug/server.go +++ /dev/null @@ -1,59 +0,0 @@ -package debug - -import ( - "io" - "net/http" - - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" - "github.com/owncloud/ocis/v2/ocis-pkg/version" -) - -// Server initializes the debug service and server. -func Server(opts ...Option) (*http.Server, error) { - options := newOptions(opts...) - - return debug.NewService( - debug.Logger(options.Logger), - debug.Name(options.Config.Service.Name), - debug.Version(version.GetString()), - debug.Address(options.Config.Debug.Addr), - debug.Token(options.Config.Debug.Token), - debug.Pprof(options.Config.Debug.Pprof), - debug.Zpages(options.Config.Debug.Zpages), - debug.Health(health(options.Config)), - debug.Ready(ready(options.Config)), - ), nil -} - -// health implements the health check. -func health(cfg *config.Config) func(http.ResponseWriter, *http.Request) { - return func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "text/plain") - w.WriteHeader(http.StatusOK) - - // TODO: check if services are up and running - - _, err := io.WriteString(w, http.StatusText(http.StatusOK)) - // io.WriteString should not fail but if it does we want to know. - if err != nil { - panic(err) - } - } -} - -// ready implements the ready check. -func ready(cfg *config.Config) func(http.ResponseWriter, *http.Request) { - return func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "text/plain") - w.WriteHeader(http.StatusOK) - - // TODO: check if services are up and running - - _, err := io.WriteString(w, http.StatusText(http.StatusOK)) - // io.WriteString should not fail but if it does we want to know. - if err != nil { - panic(err) - } - } -} diff --git a/extensions/users/cmd/user/main.go b/extensions/users/cmd/user/main.go deleted file mode 100644 index f0f1152dc..000000000 --- a/extensions/users/cmd/user/main.go +++ /dev/null @@ -1,14 +0,0 @@ -package main - -import ( - "os" - - "github.com/owncloud/ocis/v2/extensions/users/pkg/command" - "github.com/owncloud/ocis/v2/extensions/users/pkg/config/defaults" -) - -func main() { - if err := command.Execute(defaults.DefaultConfig()); err != nil { - os.Exit(1) - } -} diff --git a/extensions/users/pkg/command/health.go b/extensions/users/pkg/command/health.go deleted file mode 100644 index 488565c1e..000000000 --- a/extensions/users/pkg/command/health.go +++ /dev/null @@ -1,57 +0,0 @@ -package command - -import ( - "fmt" - "net/http" - - "github.com/owncloud/ocis/v2/extensions/users/pkg/config" - "github.com/owncloud/ocis/v2/extensions/users/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/users/pkg/logging" - "github.com/urfave/cli/v2" -) - -// Health is the entrypoint for the health command. -func Health(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "health", - Usage: "check health status", - Category: "info", - Before: func(c *cli.Context) error { - err := parser.ParseConfig(cfg) - if err != nil { - fmt.Printf("%v", err) - } - return err - }, - Action: func(c *cli.Context) error { - logger := logging.Configure(cfg.Service.Name, cfg.Log) - - resp, err := http.Get( - fmt.Sprintf( - "http://%s/healthz", - cfg.Debug.Addr, - ), - ) - - if err != nil { - logger.Fatal(). - Err(err). - Msg("Failed to request health check") - } - - defer resp.Body.Close() - - if resp.StatusCode != http.StatusOK { - logger.Fatal(). - Int("code", resp.StatusCode). - Msg("Health seems to be in bad state") - } - - logger.Debug(). - Int("code", resp.StatusCode). - Msg("Health got a good state") - - return nil - }, - } -} diff --git a/extensions/users/pkg/logging/logging.go b/extensions/users/pkg/logging/logging.go deleted file mode 100644 index 2fbc8a96c..000000000 --- a/extensions/users/pkg/logging/logging.go +++ /dev/null @@ -1,17 +0,0 @@ -package logging - -import ( - "github.com/owncloud/ocis/v2/extensions/users/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// LoggerFromConfig initializes a service-specific logger instance. -func Configure(name string, cfg *config.Log) log.Logger { - return log.NewLogger( - log.Name(name), - log.Level(cfg.Level), - log.Pretty(cfg.Pretty), - log.Color(cfg.Color), - log.File(cfg.File), - ) -} diff --git a/extensions/users/pkg/server/debug/option.go b/extensions/users/pkg/server/debug/option.go deleted file mode 100644 index 7f59cbc36..000000000 --- a/extensions/users/pkg/server/debug/option.go +++ /dev/null @@ -1,50 +0,0 @@ -package debug - -import ( - "context" - - "github.com/owncloud/ocis/v2/extensions/users/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// Option defines a single option function. -type Option func(o *Options) - -// Options defines the available options for this package. -type Options struct { - Logger log.Logger - Context context.Context - Config *config.Config -} - -// newOptions initializes the available default options. -func newOptions(opts ...Option) Options { - opt := Options{} - - for _, o := range opts { - o(&opt) - } - - return opt -} - -// Logger provides a function to set the logger option. -func Logger(val log.Logger) Option { - return func(o *Options) { - o.Logger = val - } -} - -// Context provides a function to set the context option. -func Context(val context.Context) Option { - return func(o *Options) { - o.Context = val - } -} - -// Config provides a function to set the config option. -func Config(val *config.Config) Option { - return func(o *Options) { - o.Config = val - } -} diff --git a/extensions/webdav/pkg/command/version.go b/extensions/webdav/pkg/command/version.go deleted file mode 100644 index 542a613c9..000000000 --- a/extensions/webdav/pkg/command/version.go +++ /dev/null @@ -1,50 +0,0 @@ -package command - -import ( - "fmt" - "os" - - "github.com/owncloud/ocis/v2/ocis-pkg/registry" - "github.com/owncloud/ocis/v2/ocis-pkg/version" - - tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/config" - "github.com/urfave/cli/v2" -) - -// Version prints the service versions of all running instances. -func Version(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "version", - Usage: "print the version of this binary and the running extension instances", - Category: "info", - Action: func(c *cli.Context) error { - fmt.Println("Version: " + version.GetString()) - fmt.Printf("Compiled: %s\n", version.Compiled()) - fmt.Println("") - - reg := registry.GetRegistry() - services, err := reg.GetService(cfg.HTTP.Namespace + "." + cfg.Service.Name) - if err != nil { - fmt.Println(fmt.Errorf("could not get %s services from the registry: %v", cfg.Service.Name, err)) - return err - } - - if len(services) == 0 { - fmt.Println("No running " + cfg.Service.Name + " service found.") - return nil - } - - table := tw.NewWriter(os.Stdout) - table.SetHeader([]string{"Version", "Address", "Id"}) - table.SetAutoFormatHeaders(false) - for _, s := range services { - for _, n := range s.Nodes { - table.Append([]string{s.Version, n.Address, n.Id}) - } - } - table.Render() - return nil - }, - } -} diff --git a/extensions/webdav/pkg/logging/logging.go b/extensions/webdav/pkg/logging/logging.go deleted file mode 100644 index 1d4363595..000000000 --- a/extensions/webdav/pkg/logging/logging.go +++ /dev/null @@ -1,17 +0,0 @@ -package logging - -import ( - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// LoggerFromConfig initializes a service-specific logger instance. -func Configure(name string, cfg *config.Log) log.Logger { - return log.NewLogger( - log.Name(name), - log.Level(cfg.Level), - log.Pretty(cfg.Pretty), - log.Color(cfg.Color), - log.File(cfg.File), - ) -} diff --git a/extensions/webdav/pkg/server/debug/option.go b/extensions/webdav/pkg/server/debug/option.go deleted file mode 100644 index 8f070a68e..000000000 --- a/extensions/webdav/pkg/server/debug/option.go +++ /dev/null @@ -1,50 +0,0 @@ -package debug - -import ( - "context" - - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// Option defines a single option function. -type Option func(o *Options) - -// Options defines the available options for this package. -type Options struct { - Logger log.Logger - Context context.Context - Config *config.Config -} - -// newOptions initializes the available default options. -func newOptions(opts ...Option) Options { - opt := Options{} - - for _, o := range opts { - o(&opt) - } - - return opt -} - -// Logger provides a function to set the logger option. -func Logger(val log.Logger) Option { - return func(o *Options) { - o.Logger = val - } -} - -// Context provides a function to set the context option. -func Context(val context.Context) Option { - return func(o *Options) { - o.Context = val - } -} - -// Config provides a function to set the config option. -func Config(val *config.Config) Option { - return func(o *Options) { - o.Config = val - } -} diff --git a/go.mod b/go.mod index 237cda7fa..fd972634a 100644 --- a/go.mod +++ b/go.mod @@ -10,7 +10,7 @@ require ( github.com/blevesearch/bleve_index_api v1.0.2 github.com/coreos/go-oidc/v3 v3.2.0 github.com/cs3org/go-cs3apis v0.0.0-20220512100524-551800f020d8 - github.com/cs3org/reva/v2 v2.6.1-0.20220625133157-47ade515fb1e + github.com/cs3org/reva/v2 v2.6.1 github.com/disintegration/imaging v1.6.2 github.com/go-chi/chi/v5 v5.0.7 github.com/go-chi/cors v1.2.1 @@ -32,7 +32,7 @@ require ( github.com/go-micro/plugins/v4/wrapper/trace/opencensus v1.0.0 github.com/go-ozzo/ozzo-validation/v4 v4.3.0 github.com/gofrs/uuid v4.2.0+incompatible - github.com/golang-jwt/jwt/v4 v4.4.1 + github.com/golang-jwt/jwt/v4 v4.4.2 github.com/golang/protobuf v1.5.2 github.com/gookit/config/v2 v2.1.2 github.com/gorilla/mux v1.8.0 @@ -54,11 +54,11 @@ require ( github.com/prometheus/client_golang v1.12.2 github.com/rs/zerolog v1.27.0 github.com/sirupsen/logrus v1.8.1 - github.com/spf13/cobra v1.4.0 - github.com/stretchr/testify v1.7.2 + github.com/spf13/cobra v1.5.0 + github.com/stretchr/testify v1.7.5 github.com/test-go/testify v1.1.4 github.com/thejerf/suture/v4 v4.0.2 - github.com/urfave/cli/v2 v2.10.1 + github.com/urfave/cli/v2 v2.10.3 go-micro.dev/v4 v4.7.0 go.opencensus.io v0.23.0 go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.32.0 @@ -75,7 +75,7 @@ require ( google.golang.org/grpc v1.47.0 google.golang.org/protobuf v1.28.0 gopkg.in/yaml.v2 v2.4.0 - gotest.tools/v3 v3.2.0 + gotest.tools/v3 v3.3.0 stash.kopano.io/kgol/oidc-go v0.3.2 stash.kopano.io/kgol/rndm v1.1.1 ) @@ -122,7 +122,7 @@ require ( github.com/coreos/go-oidc v2.2.1+incompatible // indirect github.com/coreos/go-semver v0.3.0 // indirect github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534 // indirect - github.com/cpuguy83/go-md2man/v2 v2.0.1 // indirect + github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect github.com/crewjam/httperr v0.2.0 // indirect github.com/crewjam/saml v0.4.6 // indirect github.com/cubewise-code/go-mime v0.0.0-20200519001935-8c5762b177d8 // indirect @@ -235,7 +235,7 @@ require ( github.com/sony/gobreaker v0.5.0 // indirect github.com/spacewander/go-suffix-tree v0.0.0-20191010040751-0865e368c784 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/stretchr/objx v0.3.0 // indirect + github.com/stretchr/objx v0.4.0 // indirect github.com/trustelem/zxcvbn v1.0.1 // indirect github.com/tus/tusd v1.8.0 // indirect github.com/wk8/go-ordered-map v0.2.0 // indirect diff --git a/go.sum b/go.sum index 13e51770b..8bfddbca4 100644 --- a/go.sum +++ b/go.sum @@ -285,8 +285,9 @@ github.com/cpu/goacmedns v0.1.1/go.mod h1:MuaouqEhPAHxsbqjgnck5zeghuwBP1dLnPoobe github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/cpuguy83/go-md2man/v2 v2.0.1 h1:r/myEWzV9lfsM1tFLgDyu0atFtJ1fXn261LKYj/3DxU= github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= +github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/crewjam/httperr v0.2.0 h1:b2BfXR8U3AlIHwNeFFvZ+BV1LFvKLlzMjzaTnZMybNo= @@ -296,6 +297,8 @@ github.com/crewjam/saml v0.4.6/go.mod h1:ZBOXnNPFzB3CgOkRm7Nd6IVdkG+l/wF+0ZXLqD9 github.com/cs3org/cato v0.0.0-20200828125504-e418fc54dd5e/go.mod h1:XJEZ3/EQuI3BXTp/6DUzFr850vlxq11I6satRtz0YQ4= github.com/cs3org/reva/v2 v2.6.1-0.20220625133157-47ade515fb1e h1:/XaypNR4cVLC6jD2KQ6Z7D7Euyzj4hPHrLlQQad0bmo= github.com/cs3org/reva/v2 v2.6.1-0.20220625133157-47ade515fb1e/go.mod h1:zAHqzr36X4lIalonDQeNbwrIXjn66C38lp5A+MTRS1c= +github.com/cs3org/reva/v2 v2.6.1 h1:iVJlbKwUbjeTq17zZ8XGtD86yM+L64oHQ24r1HjzsQM= +github.com/cs3org/reva/v2 v2.6.1/go.mod h1:zAHqzr36X4lIalonDQeNbwrIXjn66C38lp5A+MTRS1c= 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= @@ -526,8 +529,8 @@ github.com/golang-jwt/jwt v3.2.2+incompatible h1:IfV12K8xAKAnZqdXVzCZ+TOjboZ2keL github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= github.com/golang-jwt/jwt/v4 v4.1.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= github.com/golang-jwt/jwt/v4 v4.3.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= -github.com/golang-jwt/jwt/v4 v4.4.1 h1:pC5DB52sCeK48Wlb9oPcdhnjkz1TKt1D/P7WKJ0kUcQ= -github.com/golang-jwt/jwt/v4 v4.4.1/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= +github.com/golang-jwt/jwt/v4 v4.4.2 h1:rcc4lwaZgFMCZ5jxF9ABolDcIHdBytAFgqFPbSJQAYs= +github.com/golang-jwt/jwt/v4 v4.4.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/glog v1.0.0 h1:nfP3RFugxnNRyKgeWd4oI1nYvXpxrx8ck8ZrcizshdQ= @@ -1171,8 +1174,9 @@ github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod h1:1l0Ry5zgKv github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= github.com/spf13/cobra v1.1.1/go.mod h1:WnodtKOvamDL/PwE2M4iKs8aMDBZ5Q5klgD3qfVJQMI= -github.com/spf13/cobra v1.4.0 h1:y+wJpx64xcgO1V+RcnwW0LEHxTKRi2ZDPSBjWnrg88Q= github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= +github.com/spf13/cobra v1.5.0 h1:X+jTBEBqF0bHN+9cSMgmfuvv2VHJ9ezmFNf9Y/XstYU= +github.com/spf13/cobra v1.5.0/go.mod h1:dWXEIy2H428czQCjInthrTRUg7yKbok+2Qi/yBIJoUM= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= github.com/spf13/pflag v1.0.0/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= @@ -1186,8 +1190,9 @@ github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5q github.com/spf13/viper v1.7.1/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.3.0 h1:NGXK3lHquSN08v5vWalVI/L8XU9hdzE/G6xsrze47As= github.com/stretchr/objx v0.3.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= +github.com/stretchr/objx v0.4.0 h1:M2gUjqZET1qApGOWNSnZ49BAIMX4F/1plDv3+l31EJ4= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= @@ -1195,8 +1200,8 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5 github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.2 h1:4jaiDzPyXQvSd7D0EjG45355tLlV3VOECpq10pLC+8s= -github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= +github.com/stretchr/testify v1.7.5 h1:s5PTfem8p8EbKQOctVV53k6jCJt3UX4IEJzwh+C324Q= +github.com/stretchr/testify v1.7.5/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/studio-b12/gowebdav v0.0.0-20211109083228-3f8721cd4b6f/go.mod h1:bHA7t77X/QFExdeAnDzK6vKM34kEZAcE1OX4MfiwjkE= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/syndtr/goleveldb v1.0.0/go.mod h1:ZVVdQEZoIme9iO1Ch2Jdy24qqXrMMOU6lpPAyBWyWuQ= @@ -1223,8 +1228,8 @@ github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljT github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= github.com/urfave/cli v1.22.4/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI= -github.com/urfave/cli/v2 v2.10.1 h1:34qJSQxqF/4fqJ7oiAV5WoXaTFlGG9QNM+qxpY3W3gs= -github.com/urfave/cli/v2 v2.10.1/go.mod h1:MaQ2eKodtz1fFzu2U0jL+tVjoWmG134POMRjyXJK6+8= +github.com/urfave/cli/v2 v2.10.3 h1:oi571Fxz5aHugfBAJd5nkwSk3fzATXtMlpxdLylSCMo= +github.com/urfave/cli/v2 v2.10.3/go.mod h1:f8iq5LtQ/bLxafbdBSLPPNsgaW0l/2fYYEHhAyPlwvo= github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8= github.com/valyala/fasttemplate v1.1.0/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8= @@ -1949,8 +1954,8 @@ gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= -gotest.tools/v3 v3.2.0 h1:I0DwBVMGAx26dttAj1BtJLAkVGncrkkUXfJLC4Flt/I= -gotest.tools/v3 v3.2.0/go.mod h1:Mcr9QNxkg0uMvy/YElmo4SpXgJKWgQvYrT7Kw5RzJ1A= +gotest.tools/v3 v3.3.0 h1:MfDY1b1/0xN1CyMlQDac0ziEy9zJQd9CXBRRDHw2jJo= +gotest.tools/v3 v3.3.0/go.mod h1:Mcr9QNxkg0uMvy/YElmo4SpXgJKWgQvYrT7Kw5RzJ1A= honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/ocis-pkg/config/config.go b/ocis-pkg/config/config.go index 77b50da45..59b88543a 100644 --- a/ocis-pkg/config/config.go +++ b/ocis-pkg/config/config.go @@ -3,36 +3,36 @@ package config import ( "github.com/owncloud/ocis/v2/ocis-pkg/shared" - appProvider "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/config" - appRegistry "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/config" - audit "github.com/owncloud/ocis/v2/extensions/audit/pkg/config" - authbasic "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/config" - authbearer "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/config" - authmachine "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/config" - frontend "github.com/owncloud/ocis/v2/extensions/frontend/pkg/config" - gateway "github.com/owncloud/ocis/v2/extensions/gateway/pkg/config" - graphExplorer "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/config" - graph "github.com/owncloud/ocis/v2/extensions/graph/pkg/config" - groups "github.com/owncloud/ocis/v2/extensions/groups/pkg/config" - idm "github.com/owncloud/ocis/v2/extensions/idm/pkg/config" - idp "github.com/owncloud/ocis/v2/extensions/idp/pkg/config" - nats "github.com/owncloud/ocis/v2/extensions/nats/pkg/config" - notifications "github.com/owncloud/ocis/v2/extensions/notifications/pkg/config" - ocdav "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/config" - ocs "github.com/owncloud/ocis/v2/extensions/ocs/pkg/config" - proxy "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" - search "github.com/owncloud/ocis/v2/extensions/search/pkg/config" - settings "github.com/owncloud/ocis/v2/extensions/settings/pkg/config" - sharing "github.com/owncloud/ocis/v2/extensions/sharing/pkg/config" - storagepublic "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/config" - storageshares "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/config" - storagesystem "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/config" - storageusers "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/config" - store "github.com/owncloud/ocis/v2/extensions/store/pkg/config" - thumbnails "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config" - users "github.com/owncloud/ocis/v2/extensions/users/pkg/config" - web "github.com/owncloud/ocis/v2/extensions/web/pkg/config" - webdav "github.com/owncloud/ocis/v2/extensions/webdav/pkg/config" + appProvider "github.com/owncloud/ocis/v2/services/app-provider/pkg/config" + appRegistry "github.com/owncloud/ocis/v2/services/app-registry/pkg/config" + audit "github.com/owncloud/ocis/v2/services/audit/pkg/config" + authbasic "github.com/owncloud/ocis/v2/services/auth-basic/pkg/config" + authbearer "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/config" + authmachine "github.com/owncloud/ocis/v2/services/auth-machine/pkg/config" + frontend "github.com/owncloud/ocis/v2/services/frontend/pkg/config" + gateway "github.com/owncloud/ocis/v2/services/gateway/pkg/config" + graphExplorer "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/config" + graph "github.com/owncloud/ocis/v2/services/graph/pkg/config" + groups "github.com/owncloud/ocis/v2/services/groups/pkg/config" + idm "github.com/owncloud/ocis/v2/services/idm/pkg/config" + idp "github.com/owncloud/ocis/v2/services/idp/pkg/config" + nats "github.com/owncloud/ocis/v2/services/nats/pkg/config" + notifications "github.com/owncloud/ocis/v2/services/notifications/pkg/config" + ocdav "github.com/owncloud/ocis/v2/services/ocdav/pkg/config" + ocs "github.com/owncloud/ocis/v2/services/ocs/pkg/config" + proxy "github.com/owncloud/ocis/v2/services/proxy/pkg/config" + search "github.com/owncloud/ocis/v2/services/search/pkg/config" + settings "github.com/owncloud/ocis/v2/services/settings/pkg/config" + sharing "github.com/owncloud/ocis/v2/services/sharing/pkg/config" + storagepublic "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/config" + storageshares "github.com/owncloud/ocis/v2/services/storage-shares/pkg/config" + storagesystem "github.com/owncloud/ocis/v2/services/storage-system/pkg/config" + storageusers "github.com/owncloud/ocis/v2/services/storage-users/pkg/config" + store "github.com/owncloud/ocis/v2/services/store/pkg/config" + thumbnails "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config" + users "github.com/owncloud/ocis/v2/services/users/pkg/config" + web "github.com/owncloud/ocis/v2/services/web/pkg/config" + webdav "github.com/owncloud/ocis/v2/services/webdav/pkg/config" ) const ( @@ -49,7 +49,7 @@ type Mode int type Runtime struct { Port string `yaml:"port" env:"OCIS_RUNTIME_PORT"` Host string `yaml:"host" env:"OCIS_RUNTIME_HOST"` - Extensions string `yaml:"extensions" env:"OCIS_RUN_EXTENSIONS"` + Extensions string `yaml:"services" env:"OCIS_RUN_EXTENSIONS,OCIS_RUN_SERVICES"` } // Config combines all available configuration parts. diff --git a/ocis-pkg/config/defaultconfig.go b/ocis-pkg/config/defaultconfig.go index b3fa9d1af..b0546c7af 100644 --- a/ocis-pkg/config/defaultconfig.go +++ b/ocis-pkg/config/defaultconfig.go @@ -1,36 +1,36 @@ package config import ( - appProvider "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/config/defaults" - appRegistry "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/config/defaults" - audit "github.com/owncloud/ocis/v2/extensions/audit/pkg/config/defaults" - authbasic "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/config/defaults" - authbearer "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/config/defaults" - authmachine "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/config/defaults" - frontend "github.com/owncloud/ocis/v2/extensions/frontend/pkg/config/defaults" - gateway "github.com/owncloud/ocis/v2/extensions/gateway/pkg/config/defaults" - graphExplorer "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/config/defaults" - graph "github.com/owncloud/ocis/v2/extensions/graph/pkg/config/defaults" - groups "github.com/owncloud/ocis/v2/extensions/groups/pkg/config/defaults" - idm "github.com/owncloud/ocis/v2/extensions/idm/pkg/config/defaults" - idp "github.com/owncloud/ocis/v2/extensions/idp/pkg/config/defaults" - nats "github.com/owncloud/ocis/v2/extensions/nats/pkg/config/defaults" - notifications "github.com/owncloud/ocis/v2/extensions/notifications/pkg/config/defaults" - ocdav "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/config/defaults" - ocs "github.com/owncloud/ocis/v2/extensions/ocs/pkg/config/defaults" - proxy "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config/defaults" - search "github.com/owncloud/ocis/v2/extensions/search/pkg/config/defaults" - settings "github.com/owncloud/ocis/v2/extensions/settings/pkg/config/defaults" - sharing "github.com/owncloud/ocis/v2/extensions/sharing/pkg/config/defaults" - storagepublic "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/config/defaults" - storageshares "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/config/defaults" - storageSystem "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/config/defaults" - storageusers "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/config/defaults" - store "github.com/owncloud/ocis/v2/extensions/store/pkg/config/defaults" - thumbnails "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config/defaults" - users "github.com/owncloud/ocis/v2/extensions/users/pkg/config/defaults" - web "github.com/owncloud/ocis/v2/extensions/web/pkg/config/defaults" - webdav "github.com/owncloud/ocis/v2/extensions/webdav/pkg/config/defaults" + appProvider "github.com/owncloud/ocis/v2/services/app-provider/pkg/config/defaults" + appRegistry "github.com/owncloud/ocis/v2/services/app-registry/pkg/config/defaults" + audit "github.com/owncloud/ocis/v2/services/audit/pkg/config/defaults" + authbasic "github.com/owncloud/ocis/v2/services/auth-basic/pkg/config/defaults" + authbearer "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/config/defaults" + authmachine "github.com/owncloud/ocis/v2/services/auth-machine/pkg/config/defaults" + frontend "github.com/owncloud/ocis/v2/services/frontend/pkg/config/defaults" + gateway "github.com/owncloud/ocis/v2/services/gateway/pkg/config/defaults" + graphExplorer "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/config/defaults" + graph "github.com/owncloud/ocis/v2/services/graph/pkg/config/defaults" + groups "github.com/owncloud/ocis/v2/services/groups/pkg/config/defaults" + idm "github.com/owncloud/ocis/v2/services/idm/pkg/config/defaults" + idp "github.com/owncloud/ocis/v2/services/idp/pkg/config/defaults" + nats "github.com/owncloud/ocis/v2/services/nats/pkg/config/defaults" + notifications "github.com/owncloud/ocis/v2/services/notifications/pkg/config/defaults" + ocdav "github.com/owncloud/ocis/v2/services/ocdav/pkg/config/defaults" + ocs "github.com/owncloud/ocis/v2/services/ocs/pkg/config/defaults" + proxy "github.com/owncloud/ocis/v2/services/proxy/pkg/config/defaults" + search "github.com/owncloud/ocis/v2/services/search/pkg/config/defaults" + settings "github.com/owncloud/ocis/v2/services/settings/pkg/config/defaults" + sharing "github.com/owncloud/ocis/v2/services/sharing/pkg/config/defaults" + storagepublic "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/config/defaults" + storageshares "github.com/owncloud/ocis/v2/services/storage-shares/pkg/config/defaults" + storageSystem "github.com/owncloud/ocis/v2/services/storage-system/pkg/config/defaults" + storageusers "github.com/owncloud/ocis/v2/services/storage-users/pkg/config/defaults" + store "github.com/owncloud/ocis/v2/services/store/pkg/config/defaults" + thumbnails "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config/defaults" + users "github.com/owncloud/ocis/v2/services/users/pkg/config/defaults" + web "github.com/owncloud/ocis/v2/services/web/pkg/config/defaults" + webdav "github.com/owncloud/ocis/v2/services/webdav/pkg/config/defaults" ) func DefaultConfig() *Config { diff --git a/ocis/pkg/command/app-provider.go b/ocis/pkg/command/app-provider.go index 0ebd02724..89120bd57 100644 --- a/ocis/pkg/command/app-provider.go +++ b/ocis/pkg/command/app-provider.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func AppProviderCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.AppProvider.Service.Name, Usage: helper.SubcommandDescription(cfg.AppProvider.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/app-registry.go b/ocis/pkg/command/app-registry.go index a859f0352..b16df293a 100644 --- a/ocis/pkg/command/app-registry.go +++ b/ocis/pkg/command/app-registry.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func AppRegistryCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.AppRegistry.Service.Name, Usage: helper.SubcommandDescription(cfg.AppRegistry.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/audit.go b/ocis/pkg/command/audit.go index 3978adf51..58b4d4e0a 100644 --- a/ocis/pkg/command/audit.go +++ b/ocis/pkg/command/audit.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/audit/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/audit/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func AuditCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.Audit.Service.Name, Usage: helper.SubcommandDescription(cfg.Audit.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/auth-basic.go b/ocis/pkg/command/auth-basic.go index 1a61993d3..3a850faa6 100644 --- a/ocis/pkg/command/auth-basic.go +++ b/ocis/pkg/command/auth-basic.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/auth-basic/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func AuthBasicCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.AuthBasic.Service.Name, Usage: helper.SubcommandDescription(cfg.AuthBasic.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/auth-bearer.go b/ocis/pkg/command/auth-bearer.go index d30be5f6d..be1e36050 100644 --- a/ocis/pkg/command/auth-bearer.go +++ b/ocis/pkg/command/auth-bearer.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func AuthBearerCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.AuthBearer.Service.Name, Usage: helper.SubcommandDescription(cfg.AuthBearer.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/auth-machine.go b/ocis/pkg/command/auth-machine.go index 485e7ddd0..336823efa 100644 --- a/ocis/pkg/command/auth-machine.go +++ b/ocis/pkg/command/auth-machine.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func AuthMachineCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.AuthMachine.Service.Name, Usage: helper.SubcommandDescription(cfg.AuthMachine.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/frontend.go b/ocis/pkg/command/frontend.go index cd31c90bb..741e96cdc 100644 --- a/ocis/pkg/command/frontend.go +++ b/ocis/pkg/command/frontend.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/frontend/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func FrontendCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.Frontend.Service.Name, Usage: helper.SubcommandDescription(cfg.Frontend.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/gateway.go b/ocis/pkg/command/gateway.go index 2e7e8b08d..b771d3c9e 100644 --- a/ocis/pkg/command/gateway.go +++ b/ocis/pkg/command/gateway.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/gateway/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func GatewayCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.Gateway.Service.Name, Usage: helper.SubcommandDescription(cfg.Gateway.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/graph-explorer.go b/ocis/pkg/command/graph-explorer.go index 0f7a8f2cf..4c54deec1 100644 --- a/ocis/pkg/command/graph-explorer.go +++ b/ocis/pkg/command/graph-explorer.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func GraphExplorerCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.GraphExplorer.Service.Name, Usage: helper.SubcommandDescription(cfg.GraphExplorer.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/graph.go b/ocis/pkg/command/graph.go index fd604075c..ce0acc33e 100644 --- a/ocis/pkg/command/graph.go +++ b/ocis/pkg/command/graph.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/graph/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func GraphCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.Graph.Service.Name, Usage: helper.SubcommandDescription(cfg.Graph.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/groups.go b/ocis/pkg/command/groups.go index efce3edcf..503943489 100644 --- a/ocis/pkg/command/groups.go +++ b/ocis/pkg/command/groups.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/groups/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/groups/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func GroupsCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.Groups.Service.Name, Usage: helper.SubcommandDescription(cfg.Groups.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/idm.go b/ocis/pkg/command/idm.go index 70d116f41..21862ade9 100644 --- a/ocis/pkg/command/idm.go +++ b/ocis/pkg/command/idm.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/idm/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/idm/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func IDMCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.IDM.Service.Name, Usage: helper.SubcommandDescription(cfg.IDM.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/idp.go b/ocis/pkg/command/idp.go index 71923b108..6b798bf43 100644 --- a/ocis/pkg/command/idp.go +++ b/ocis/pkg/command/idp.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/idp/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func IDPCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.IDP.Service.Name, Usage: helper.SubcommandDescription(cfg.IDP.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/list.go b/ocis/pkg/command/list.go index 2078775ad..7e85591b5 100644 --- a/ocis/pkg/command/list.go +++ b/ocis/pkg/command/list.go @@ -15,7 +15,7 @@ import ( func ListCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: "list", - Usage: "list oCIS extensions running in the runtime (supervised mode)", + Usage: "list oCIS services running in the runtime (supervised mode)", Category: "runtime", Flags: []cli.Flag{ &cli.StringFlag{ diff --git a/ocis/pkg/command/migrate.go b/ocis/pkg/command/migrate.go index b45bdf188..3f18b96ec 100644 --- a/ocis/pkg/command/migrate.go +++ b/ocis/pkg/command/migrate.go @@ -11,10 +11,12 @@ import ( publicregistry "github.com/cs3org/reva/v2/pkg/publicshare/manager/registry" "github.com/cs3org/reva/v2/pkg/share" "github.com/cs3org/reva/v2/pkg/share/manager/registry" - sharing "github.com/owncloud/ocis/v2/extensions/sharing/pkg/config" + "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/register" + sharing "github.com/owncloud/ocis/v2/services/sharing/pkg/config" + sharingparser "github.com/owncloud/ocis/v2/services/sharing/pkg/config/parser" "github.com/rs/zerolog" "github.com/urfave/cli/v2" ) @@ -26,10 +28,18 @@ func Migrate(cfg *config.Config) *cli.Command { Usage: "migrate data from an existing to another instance", Category: "migration", Before: func(c *cli.Context) error { + // Parse base config if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) return err } + + // Parse sharing config + cfg.Sharing.Commons = cfg.Commons + if err := sharingparser.ParseConfig(cfg.Sharing); err != nil { + fmt.Printf("%v", err) + return err + } return nil }, Subcommands: []*cli.Command{ @@ -59,14 +69,6 @@ func MigrateShares(cfg *config.Config) *cli.Command { Usage: "Share manager to import the data into", }, }, - Before: func(c *cli.Context) error { - err := parser.ParseConfig(cfg, true) - if err != nil { - fmt.Printf("%v", err) - os.Exit(1) - } - return nil - }, Action: func(c *cli.Context) error { log := zerolog.New(zerolog.ConsoleWriter{Out: os.Stderr}).With().Timestamp().Logger() ctx := log.WithContext(context.Background()) @@ -152,14 +154,6 @@ func MigratePublicShares(cfg *config.Config) *cli.Command { Usage: "Public share manager to import the data into", }, }, - Before: func(c *cli.Context) error { - err := parser.ParseConfig(cfg, true) - if err != nil { - fmt.Printf("%v", err) - os.Exit(1) - } - return err - }, Action: func(c *cli.Context) error { log := zerolog.New(zerolog.ConsoleWriter{Out: os.Stderr}).With().Timestamp().Logger() ctx := log.WithContext(context.Background()) diff --git a/ocis/pkg/command/nats.go b/ocis/pkg/command/nats.go index 31575f5e0..e8c60061e 100644 --- a/ocis/pkg/command/nats.go +++ b/ocis/pkg/command/nats.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/nats/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/nats/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func NatsCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.Nats.Service.Name, Usage: helper.SubcommandDescription(cfg.Nats.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/notifications.go b/ocis/pkg/command/notifications.go index a5580bde5..0599dc86e 100644 --- a/ocis/pkg/command/notifications.go +++ b/ocis/pkg/command/notifications.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/notifications/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/notifications/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func NotificationsCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.Notifications.Service.Name, Usage: helper.SubcommandDescription(cfg.Notifications.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/ocdav.go b/ocis/pkg/command/ocdav.go index 57f5e7314..cc04d6488 100644 --- a/ocis/pkg/command/ocdav.go +++ b/ocis/pkg/command/ocdav.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/ocdav/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func OCDavCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.OCDav.Service.Name, Usage: helper.SubcommandDescription(cfg.OCDav.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/ocs.go b/ocis/pkg/command/ocs.go index 8b5065a4f..abeb8310b 100644 --- a/ocis/pkg/command/ocs.go +++ b/ocis/pkg/command/ocs.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/ocs/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func OCSCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.OCS.Service.Name, Usage: helper.SubcommandDescription(cfg.OCS.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/proxy.go b/ocis/pkg/command/proxy.go index 51eb65b2a..127957bc6 100644 --- a/ocis/pkg/command/proxy.go +++ b/ocis/pkg/command/proxy.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/proxy/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func ProxyCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.Proxy.Service.Name, Usage: helper.SubcommandDescription(cfg.Proxy.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/search.go b/ocis/pkg/command/search.go index f19e6a607..c649fbce4 100644 --- a/ocis/pkg/command/search.go +++ b/ocis/pkg/command/search.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/search/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/search/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func SearchCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.Search.Service.Name, Usage: helper.SubcommandDescription(cfg.Search.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/server.go b/ocis/pkg/command/server.go index 2ca639900..c935aba9f 100644 --- a/ocis/pkg/command/server.go +++ b/ocis/pkg/command/server.go @@ -14,7 +14,7 @@ import ( func Server(cfg *config.Config) *cli.Command { return &cli.Command{ Name: "server", - Usage: "start a fullstack server (runtime and all extensions in supervised mode)", + Usage: "start a fullstack server (runtime and all services in supervised mode)", Category: "fullstack", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, false); err != nil { diff --git a/ocis/pkg/command/settings.go b/ocis/pkg/command/settings.go index 4c6257f5d..ec95cf3a1 100644 --- a/ocis/pkg/command/settings.go +++ b/ocis/pkg/command/settings.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/settings/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func SettingsCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.Settings.Service.Name, Usage: helper.SubcommandDescription(cfg.Settings.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/sharing.go b/ocis/pkg/command/sharing.go index a3feca244..9145f532c 100644 --- a/ocis/pkg/command/sharing.go +++ b/ocis/pkg/command/sharing.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/sharing/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func SharingCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.Sharing.Service.Name, Usage: helper.SubcommandDescription(cfg.Sharing.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/storage-publiclink.go b/ocis/pkg/command/storage-publiclink.go index a120d71e6..04780870c 100644 --- a/ocis/pkg/command/storage-publiclink.go +++ b/ocis/pkg/command/storage-publiclink.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func StoragePublicLinkCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.StoragePublicLink.Service.Name, Usage: helper.SubcommandDescription(cfg.StoragePublicLink.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/storage-shares.go b/ocis/pkg/command/storage-shares.go index 8c066096b..e499e008f 100644 --- a/ocis/pkg/command/storage-shares.go +++ b/ocis/pkg/command/storage-shares.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func StorageSharesCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.StorageShares.Service.Name, Usage: helper.SubcommandDescription(cfg.StorageShares.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/storage-system.go b/ocis/pkg/command/storage-system.go index 72d61cf0f..e90af4690 100644 --- a/ocis/pkg/command/storage-system.go +++ b/ocis/pkg/command/storage-system.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func StorageSystemCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.StorageSystem.Service.Name, Usage: helper.SubcommandDescription(cfg.StorageSystem.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/storage-users.go b/ocis/pkg/command/storage-users.go index 44a148612..f1598332b 100644 --- a/ocis/pkg/command/storage-users.go +++ b/ocis/pkg/command/storage-users.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/storage-users/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func StorageUsersCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.StorageUsers.Service.Name, Usage: helper.SubcommandDescription(cfg.StorageUsers.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/store.go b/ocis/pkg/command/store.go index addde0baf..617af037c 100644 --- a/ocis/pkg/command/store.go +++ b/ocis/pkg/command/store.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/store/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/store/pkg/command" "github.com/urfave/cli/v2" ) @@ -17,7 +17,7 @@ func StoreCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.Store.Service.Name, Usage: helper.SubcommandDescription(cfg.Store.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/thumbnails.go b/ocis/pkg/command/thumbnails.go index 82ec98f28..da60a12a1 100644 --- a/ocis/pkg/command/thumbnails.go +++ b/ocis/pkg/command/thumbnails.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func ThumbnailsCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.Thumbnails.Service.Name, Usage: helper.SubcommandDescription(cfg.Thumbnails.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/users.go b/ocis/pkg/command/users.go index f1cce21b6..992a04928 100644 --- a/ocis/pkg/command/users.go +++ b/ocis/pkg/command/users.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/users/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/users/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func UsersCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.Users.Service.Name, Usage: helper.SubcommandDescription(cfg.Users.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/web.go b/ocis/pkg/command/web.go index 1255b71c7..dd826d6b9 100644 --- a/ocis/pkg/command/web.go +++ b/ocis/pkg/command/web.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/web/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/web/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func WebCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.Web.Service.Name, Usage: helper.SubcommandDescription(cfg.Web.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/webdav.go b/ocis/pkg/command/webdav.go index d747f567b..20be56b5b 100644 --- a/ocis/pkg/command/webdav.go +++ b/ocis/pkg/command/webdav.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/webdav/pkg/command" "github.com/urfave/cli/v2" ) @@ -17,7 +17,7 @@ func WebDAVCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.WebDAV.Service.Name, Usage: helper.SubcommandDescription(cfg.WebDAV.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/runtime/cmd/list.go b/ocis/pkg/runtime/cmd/list.go index 64e2a9f8b..b4d54dd29 100644 --- a/ocis/pkg/runtime/cmd/list.go +++ b/ocis/pkg/runtime/cmd/list.go @@ -15,7 +15,7 @@ func List(cfg *config.Config) *cobra.Command { return &cobra.Command{ Use: "list", Aliases: []string{"r"}, - Short: "List running extensions", + Short: "List running services", Run: func(cmd *cobra.Command, args []string) { client, err := rpc.DialHTTP("tcp", net.JoinHostPort(cfg.Hostname, cfg.Port)) if err != nil { diff --git a/ocis/pkg/runtime/service/service.go b/ocis/pkg/runtime/service/service.go index 42a932305..dc5e76bfd 100644 --- a/ocis/pkg/runtime/service/service.go +++ b/ocis/pkg/runtime/service/service.go @@ -19,37 +19,37 @@ import ( "github.com/mohae/deepcopy" "github.com/olekukonko/tablewriter" - appProvider "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/command" - appRegistry "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/command" - authbasic "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/command" - authbearer "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/command" - authmachine "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/command" - frontend "github.com/owncloud/ocis/v2/extensions/frontend/pkg/command" - gateway "github.com/owncloud/ocis/v2/extensions/gateway/pkg/command" - graphExplorer "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/command" - graph "github.com/owncloud/ocis/v2/extensions/graph/pkg/command" - groups "github.com/owncloud/ocis/v2/extensions/groups/pkg/command" - idm "github.com/owncloud/ocis/v2/extensions/idm/pkg/command" - idp "github.com/owncloud/ocis/v2/extensions/idp/pkg/command" - nats "github.com/owncloud/ocis/v2/extensions/nats/pkg/command" - notifications "github.com/owncloud/ocis/v2/extensions/notifications/pkg/command" - ocdav "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/command" - ocs "github.com/owncloud/ocis/v2/extensions/ocs/pkg/command" - proxy "github.com/owncloud/ocis/v2/extensions/proxy/pkg/command" - search "github.com/owncloud/ocis/v2/extensions/search/pkg/command" - settings "github.com/owncloud/ocis/v2/extensions/settings/pkg/command" - sharing "github.com/owncloud/ocis/v2/extensions/sharing/pkg/command" - storagepublic "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/command" - storageshares "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/command" - storageSystem "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/command" - storageusers "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/command" - store "github.com/owncloud/ocis/v2/extensions/store/pkg/command" - thumbnails "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/command" - users "github.com/owncloud/ocis/v2/extensions/users/pkg/command" - web "github.com/owncloud/ocis/v2/extensions/web/pkg/command" - webdav "github.com/owncloud/ocis/v2/extensions/webdav/pkg/command" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + appProvider "github.com/owncloud/ocis/v2/services/app-provider/pkg/command" + appRegistry "github.com/owncloud/ocis/v2/services/app-registry/pkg/command" + authbasic "github.com/owncloud/ocis/v2/services/auth-basic/pkg/command" + authbearer "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/command" + authmachine "github.com/owncloud/ocis/v2/services/auth-machine/pkg/command" + frontend "github.com/owncloud/ocis/v2/services/frontend/pkg/command" + gateway "github.com/owncloud/ocis/v2/services/gateway/pkg/command" + graphExplorer "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/command" + graph "github.com/owncloud/ocis/v2/services/graph/pkg/command" + groups "github.com/owncloud/ocis/v2/services/groups/pkg/command" + idm "github.com/owncloud/ocis/v2/services/idm/pkg/command" + idp "github.com/owncloud/ocis/v2/services/idp/pkg/command" + nats "github.com/owncloud/ocis/v2/services/nats/pkg/command" + notifications "github.com/owncloud/ocis/v2/services/notifications/pkg/command" + ocdav "github.com/owncloud/ocis/v2/services/ocdav/pkg/command" + ocs "github.com/owncloud/ocis/v2/services/ocs/pkg/command" + proxy "github.com/owncloud/ocis/v2/services/proxy/pkg/command" + search "github.com/owncloud/ocis/v2/services/search/pkg/command" + settings "github.com/owncloud/ocis/v2/services/settings/pkg/command" + sharing "github.com/owncloud/ocis/v2/services/sharing/pkg/command" + storagepublic "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/command" + storageshares "github.com/owncloud/ocis/v2/services/storage-shares/pkg/command" + storageSystem "github.com/owncloud/ocis/v2/services/storage-system/pkg/command" + storageusers "github.com/owncloud/ocis/v2/services/storage-users/pkg/command" + store "github.com/owncloud/ocis/v2/services/store/pkg/command" + thumbnails "github.com/owncloud/ocis/v2/services/thumbnails/pkg/command" + users "github.com/owncloud/ocis/v2/services/users/pkg/command" + web "github.com/owncloud/ocis/v2/services/web/pkg/command" + webdav "github.com/owncloud/ocis/v2/services/webdav/pkg/command" "github.com/rs/zerolog" "github.com/thejerf/suture/v4" "go-micro.dev/v4/logger" diff --git a/protogen/gen/ocis/services/search/v0/search.pb.go b/protogen/gen/ocis/services/search/v0/search.pb.go index 29fb75e16..69aec7639 100644 --- a/protogen/gen/ocis/services/search/v0/search.pb.go +++ b/protogen/gen/ocis/services/search/v0/search.pb.go @@ -456,11 +456,11 @@ var file_ocis_services_search_v0_search_proto_rawDesc = []byte{ 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x22, 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x30, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, - 0x2a, 0x42, 0xde, 0x02, 0x5a, 0x3c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2a, 0x42, 0xdc, 0x02, 0x5a, 0x3c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x77, 0x6e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6f, 0x63, 0x69, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x6f, 0x63, 0x69, 0x73, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2f, - 0x76, 0x30, 0x92, 0x41, 0x9c, 0x02, 0x12, 0xb4, 0x01, 0x0a, 0x1e, 0x6f, 0x77, 0x6e, 0x43, 0x6c, + 0x76, 0x30, 0x92, 0x41, 0x9a, 0x02, 0x12, 0xb4, 0x01, 0x0a, 0x1e, 0x6f, 0x77, 0x6e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x20, 0x49, 0x6e, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x65, 0x20, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x22, 0x47, 0x0a, 0x0d, 0x6f, 0x77, 0x6e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x20, 0x47, 0x6d, 0x62, 0x48, 0x12, 0x20, 0x68, 0x74, 0x74, 0x70, @@ -474,11 +474,11 @@ var file_ocis_services_search_v0_search_proto_rawDesc = []byte{ 0x49, 0x43, 0x45, 0x4e, 0x53, 0x45, 0x32, 0x05, 0x31, 0x2e, 0x30, 0x2e, 0x30, 0x2a, 0x02, 0x01, 0x02, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x72, 0x3b, 0x0a, 0x10, 0x44, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, - 0x65, 0x72, 0x20, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x12, 0x27, 0x68, 0x74, 0x74, 0x70, 0x73, + 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x72, 0x39, 0x0a, 0x10, 0x44, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, + 0x65, 0x72, 0x20, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x12, 0x25, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x6f, 0x77, 0x6e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x65, 0x76, 0x2f, - 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x2f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2f, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/protogen/gen/ocis/services/search/v0/search.swagger.json b/protogen/gen/ocis/services/search/v0/search.swagger.json index 55b025f12..a25a91c75 100644 --- a/protogen/gen/ocis/services/search/v0/search.swagger.json +++ b/protogen/gen/ocis/services/search/v0/search.swagger.json @@ -315,6 +315,6 @@ }, "externalDocs": { "description": "Developer Manual", - "url": "https://owncloud.dev/extensions/search/" + "url": "https://owncloud.dev/services/search/" } } diff --git a/protogen/gen/ocis/services/settings/v0/settings.pb.go b/protogen/gen/ocis/services/settings/v0/settings.pb.go index b14b56e87..d7bfa5ea7 100644 --- a/protogen/gen/ocis/services/settings/v0/settings.pb.go +++ b/protogen/gen/ocis/services/settings/v0/settings.pb.go @@ -1549,12 +1549,12 @@ var file_ocis_services_settings_v0_settings_proto_rawDesc = []byte{ 0x79, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x22, 0x26, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x30, 0x2f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x2d, 0x67, 0x65, 0x74, 0x2d, 0x62, 0x79, 0x2d, 0x69, 0x64, 0x3a, 0x01, 0x2a, 0x42, 0xe5, + 0x73, 0x2d, 0x67, 0x65, 0x74, 0x2d, 0x62, 0x79, 0x2d, 0x69, 0x64, 0x3a, 0x01, 0x2a, 0x42, 0xe3, 0x02, 0x5a, 0x3f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x77, 0x6e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6f, 0x63, 0x69, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x6f, 0x63, 0x69, 0x73, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2f, - 0x76, 0x30, 0x92, 0x41, 0xa0, 0x02, 0x12, 0xb6, 0x01, 0x0a, 0x20, 0x6f, 0x77, 0x6e, 0x43, 0x6c, + 0x76, 0x30, 0x92, 0x41, 0x9e, 0x02, 0x12, 0xb6, 0x01, 0x0a, 0x20, 0x6f, 0x77, 0x6e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x20, 0x49, 0x6e, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x65, 0x20, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x20, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x47, 0x0a, 0x0d, 0x6f, 0x77, 0x6e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x20, 0x47, 0x6d, 0x62, 0x48, 0x12, 0x20, 0x68, 0x74, @@ -1568,11 +1568,11 @@ var file_ocis_services_settings_v0_settings_proto_rawDesc = []byte{ 0x2f, 0x4c, 0x49, 0x43, 0x45, 0x4e, 0x53, 0x45, 0x32, 0x05, 0x31, 0x2e, 0x30, 0x2e, 0x30, 0x2a, 0x02, 0x01, 0x02, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x72, 0x3d, 0x0a, 0x10, 0x44, 0x65, 0x76, 0x65, 0x6c, - 0x6f, 0x70, 0x65, 0x72, 0x20, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x12, 0x29, 0x68, 0x74, 0x74, + 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x72, 0x3b, 0x0a, 0x10, 0x44, 0x65, 0x76, 0x65, 0x6c, + 0x6f, 0x70, 0x65, 0x72, 0x20, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x12, 0x27, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x6f, 0x77, 0x6e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x65, - 0x76, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x76, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x73, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x2f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/protogen/gen/ocis/services/settings/v0/settings.swagger.json b/protogen/gen/ocis/services/settings/v0/settings.swagger.json index 4d2db4d52..6298622ba 100644 --- a/protogen/gen/ocis/services/settings/v0/settings.swagger.json +++ b/protogen/gen/ocis/services/settings/v0/settings.swagger.json @@ -1109,6 +1109,6 @@ }, "externalDocs": { "description": "Developer Manual", - "url": "https://owncloud.dev/extensions/settings/" + "url": "https://owncloud.dev/services/settings/" } } diff --git a/protogen/gen/ocis/services/store/v0/store.pb.go b/protogen/gen/ocis/services/store/v0/store.pb.go index 47e658138..279de4afb 100644 --- a/protogen/gen/ocis/services/store/v0/store.pb.go +++ b/protogen/gen/ocis/services/store/v0/store.pb.go @@ -674,11 +674,11 @@ var file_ocis_services_store_v0_store_proto_rawDesc = []byte{ 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6f, 0x63, 0x69, 0x73, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x30, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0xdb, 0x02, 0x5a, 0x3b, 0x67, 0x69, 0x74, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0xd9, 0x02, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x77, 0x6e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6f, 0x63, 0x69, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x6f, 0x63, 0x69, 0x73, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, - 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x30, 0x92, 0x41, 0x9a, 0x02, 0x12, 0xb3, 0x01, 0x0a, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x30, 0x92, 0x41, 0x98, 0x02, 0x12, 0xb3, 0x01, 0x0a, 0x1d, 0x6f, 0x77, 0x6e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x20, 0x49, 0x6e, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x65, 0x20, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x22, 0x47, 0x0a, 0x0d, 0x6f, 0x77, 0x6e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x20, 0x47, 0x6d, 0x62, 0x48, 0x12, @@ -692,11 +692,11 @@ var file_ocis_services_store_v0_store_proto_rawDesc = []byte{ 0x74, 0x65, 0x72, 0x2f, 0x4c, 0x49, 0x43, 0x45, 0x4e, 0x53, 0x45, 0x32, 0x05, 0x31, 0x2e, 0x30, 0x2e, 0x30, 0x2a, 0x02, 0x01, 0x02, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x72, 0x3a, 0x0a, 0x10, 0x44, 0x65, - 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x20, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x12, 0x26, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x72, 0x38, 0x0a, 0x10, 0x44, 0x65, + 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x20, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x12, 0x24, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x6f, 0x77, 0x6e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, - 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/protogen/gen/ocis/services/store/v0/store.swagger.json b/protogen/gen/ocis/services/store/v0/store.swagger.json index 2beaed54c..21a5a67ab 100644 --- a/protogen/gen/ocis/services/store/v0/store.swagger.json +++ b/protogen/gen/ocis/services/store/v0/store.swagger.json @@ -237,6 +237,6 @@ }, "externalDocs": { "description": "Developer Manual", - "url": "https://owncloud.dev/extensions/store/" + "url": "https://owncloud.dev/services/store/" } } diff --git a/protogen/gen/ocis/services/thumbnails/v0/thumbnails.pb.go b/protogen/gen/ocis/services/thumbnails/v0/thumbnails.pb.go index d892e3f04..9d0293e6f 100644 --- a/protogen/gen/ocis/services/thumbnails/v0/thumbnails.pb.go +++ b/protogen/gen/ocis/services/thumbnails/v0/thumbnails.pb.go @@ -257,12 +257,12 @@ var file_ocis_services_thumbnails_v0_thumbnails_proto_rawDesc = []byte{ 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x6f, 0x63, 0x69, 0x73, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x76, 0x30, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x68, 0x75, 0x6d, - 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xeb, 0x02, + 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xe9, 0x02, 0x5a, 0x41, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x77, 0x6e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6f, 0x63, 0x69, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x6f, 0x63, 0x69, 0x73, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x73, - 0x2f, 0x76, 0x30, 0x92, 0x41, 0xa4, 0x02, 0x12, 0xb8, 0x01, 0x0a, 0x22, 0x6f, 0x77, 0x6e, 0x43, + 0x2f, 0x76, 0x30, 0x92, 0x41, 0xa2, 0x02, 0x12, 0xb8, 0x01, 0x0a, 0x22, 0x6f, 0x77, 0x6e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x20, 0x49, 0x6e, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x65, 0x20, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x20, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x47, 0x0a, 0x0d, 0x6f, 0x77, 0x6e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x20, 0x47, 0x6d, 0x62, 0x48, 0x12, @@ -276,12 +276,12 @@ var file_ocis_services_thumbnails_v0_thumbnails_proto_rawDesc = []byte{ 0x74, 0x65, 0x72, 0x2f, 0x4c, 0x49, 0x43, 0x45, 0x4e, 0x53, 0x45, 0x32, 0x05, 0x31, 0x2e, 0x30, 0x2e, 0x30, 0x2a, 0x02, 0x01, 0x02, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x72, 0x3f, 0x0a, 0x10, 0x44, 0x65, - 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x20, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x12, 0x2b, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x72, 0x3d, 0x0a, 0x10, 0x44, 0x65, + 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x20, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x12, 0x29, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x6f, 0x77, 0x6e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, - 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x73, 0x2f, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x74, 0x68, + 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x73, 0x2f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( diff --git a/protogen/gen/ocis/services/thumbnails/v0/thumbnails.swagger.json b/protogen/gen/ocis/services/thumbnails/v0/thumbnails.swagger.json index 7e4731e46..1ce43d1bd 100644 --- a/protogen/gen/ocis/services/thumbnails/v0/thumbnails.swagger.json +++ b/protogen/gen/ocis/services/thumbnails/v0/thumbnails.swagger.json @@ -124,6 +124,6 @@ }, "externalDocs": { "description": "Developer Manual", - "url": "https://owncloud.dev/extensions/thumbnails/" + "url": "https://owncloud.dev/services/thumbnails/" } } diff --git a/protogen/proto/ocis/services/search/v0/search.proto b/protogen/proto/ocis/services/search/v0/search.proto index 7d78dae35..5d071bf01 100644 --- a/protogen/proto/ocis/services/search/v0/search.proto +++ b/protogen/proto/ocis/services/search/v0/search.proto @@ -30,7 +30,7 @@ option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = { produces: "application/json"; external_docs: { description: "Developer Manual"; - url: "https://owncloud.dev/extensions/search/"; + url: "https://owncloud.dev/services/search/"; }; }; diff --git a/protogen/proto/ocis/services/settings/v0/settings.proto b/protogen/proto/ocis/services/settings/v0/settings.proto index 7aa342a1e..a9a6e4cc0 100644 --- a/protogen/proto/ocis/services/settings/v0/settings.proto +++ b/protogen/proto/ocis/services/settings/v0/settings.proto @@ -29,7 +29,7 @@ option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = { produces: "application/json"; external_docs: { description: "Developer Manual"; - url: "https://owncloud.dev/extensions/settings/"; + url: "https://owncloud.dev/services/settings/"; }; }; diff --git a/protogen/proto/ocis/services/store/v0/store.proto b/protogen/proto/ocis/services/store/v0/store.proto index 01f9d1839..03a8e6393 100644 --- a/protogen/proto/ocis/services/store/v0/store.proto +++ b/protogen/proto/ocis/services/store/v0/store.proto @@ -27,7 +27,7 @@ option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = { produces: "application/json"; external_docs: { description: "Developer Manual"; - url: "https://owncloud.dev/extensions/store/"; + url: "https://owncloud.dev/services/store/"; }; }; diff --git a/protogen/proto/ocis/services/thumbnails/v0/thumbnails.proto b/protogen/proto/ocis/services/thumbnails/v0/thumbnails.proto index 148175586..03c1dba60 100644 --- a/protogen/proto/ocis/services/thumbnails/v0/thumbnails.proto +++ b/protogen/proto/ocis/services/thumbnails/v0/thumbnails.proto @@ -27,7 +27,7 @@ option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = { produces: "application/json"; external_docs: { description: "Developer Manual"; - url: "https://owncloud.dev/extensions/thumbnails/"; + url: "https://owncloud.dev/services/thumbnails/"; }; }; diff --git a/extensions/app-provider/Makefile b/services/app-provider/Makefile similarity index 100% rename from extensions/app-provider/Makefile rename to services/app-provider/Makefile diff --git a/extensions/thumbnails/cmd/thumbnails/main.go b/services/app-provider/cmd/app-provider/main.go similarity index 52% rename from extensions/thumbnails/cmd/thumbnails/main.go rename to services/app-provider/cmd/app-provider/main.go index 43d9153c7..c4afd562c 100644 --- a/extensions/thumbnails/cmd/thumbnails/main.go +++ b/services/app-provider/cmd/app-provider/main.go @@ -3,8 +3,8 @@ package main import ( "os" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/command" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/command" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/config/defaults" ) func main() { diff --git a/extensions/thumbnails/pkg/command/health.go b/services/app-provider/pkg/command/health.go similarity index 84% rename from extensions/thumbnails/pkg/command/health.go rename to services/app-provider/pkg/command/health.go index 94f2322bd..9344b8a9a 100644 --- a/extensions/thumbnails/pkg/command/health.go +++ b/services/app-provider/pkg/command/health.go @@ -4,9 +4,9 @@ import ( "fmt" "net/http" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/logging" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/config" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/logging" "github.com/urfave/cli/v2" ) diff --git a/extensions/app-provider/pkg/command/root.go b/services/app-provider/pkg/command/root.go similarity index 95% rename from extensions/app-provider/pkg/command/root.go rename to services/app-provider/pkg/command/root.go index 829fb5d13..3db69a21a 100644 --- a/extensions/app-provider/pkg/command/root.go +++ b/services/app-provider/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/app-provider/pkg/command/server.go b/services/app-provider/pkg/command/server.go similarity index 86% rename from extensions/app-provider/pkg/command/server.go rename to services/app-provider/pkg/command/server.go index 05acb038a..f6bdf87dc 100644 --- a/extensions/app-provider/pkg/command/server.go +++ b/services/app-provider/pkg/command/server.go @@ -9,15 +9,15 @@ import ( "github.com/cs3org/reva/v2/cmd/revad/runtime" "github.com/gofrs/uuid" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/config" - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/revaconfig" - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/service/external" "github.com/owncloud/ocis/v2/ocis-pkg/sync" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/config" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/logging" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/revaconfig" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/extensions/auth-basic/pkg/command/version.go b/services/app-provider/pkg/command/version.go similarity index 95% rename from extensions/auth-basic/pkg/command/version.go rename to services/app-provider/pkg/command/version.go index c0138a7b4..c191fbcff 100644 --- a/extensions/auth-basic/pkg/command/version.go +++ b/services/app-provider/pkg/command/version.go @@ -8,7 +8,7 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/version" tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/config" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/app-provider/pkg/config/config.go b/services/app-provider/pkg/config/config.go similarity index 100% rename from extensions/app-provider/pkg/config/config.go rename to services/app-provider/pkg/config/config.go diff --git a/extensions/app-provider/pkg/config/defaults/defaultconfig.go b/services/app-provider/pkg/config/defaults/defaultconfig.go similarity index 97% rename from extensions/app-provider/pkg/config/defaults/defaultconfig.go rename to services/app-provider/pkg/config/defaults/defaultconfig.go index dc8fc2b04..810f1e54d 100644 --- a/extensions/app-provider/pkg/config/defaults/defaultconfig.go +++ b/services/app-provider/pkg/config/defaults/defaultconfig.go @@ -1,8 +1,8 @@ package defaults import ( - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/app-provider/pkg/config/parser/parse.go b/services/app-provider/pkg/config/parser/parse.go similarity index 86% rename from extensions/app-provider/pkg/config/parser/parse.go rename to services/app-provider/pkg/config/parser/parse.go index 737ce0323..290a970b3 100644 --- a/extensions/app-provider/pkg/config/parser/parse.go +++ b/services/app-provider/pkg/config/parser/parse.go @@ -3,10 +3,10 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/config" - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/config" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/app-provider/pkg/config/reva.go b/services/app-provider/pkg/config/reva.go similarity index 100% rename from extensions/app-provider/pkg/config/reva.go rename to services/app-provider/pkg/config/reva.go diff --git a/extensions/auth-basic/pkg/logging/logging.go b/services/app-provider/pkg/logging/logging.go similarity index 84% rename from extensions/auth-basic/pkg/logging/logging.go rename to services/app-provider/pkg/logging/logging.go index 686e809b6..d288439ea 100644 --- a/extensions/auth-basic/pkg/logging/logging.go +++ b/services/app-provider/pkg/logging/logging.go @@ -1,8 +1,8 @@ package logging import ( - "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/config" ) // LoggerFromConfig initializes a service-specific logger instance. diff --git a/extensions/app-provider/pkg/revaconfig/config.go b/services/app-provider/pkg/revaconfig/config.go similarity index 96% rename from extensions/app-provider/pkg/revaconfig/config.go rename to services/app-provider/pkg/revaconfig/config.go index d8d4f51c8..4ccc75952 100644 --- a/extensions/app-provider/pkg/revaconfig/config.go +++ b/services/app-provider/pkg/revaconfig/config.go @@ -1,7 +1,7 @@ package revaconfig import ( - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/config" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/config" ) // AppProviderConfigFromStruct will adapt an oCIS config struct into a reva mapstructure to start a reva service. diff --git a/extensions/auth-basic/pkg/server/debug/option.go b/services/app-provider/pkg/server/debug/option.go similarity index 93% rename from extensions/auth-basic/pkg/server/debug/option.go rename to services/app-provider/pkg/server/debug/option.go index 0af0e350b..8fa6342dc 100644 --- a/extensions/auth-basic/pkg/server/debug/option.go +++ b/services/app-provider/pkg/server/debug/option.go @@ -3,8 +3,8 @@ package debug import ( "context" - "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/config" ) // Option defines a single option function. diff --git a/extensions/auth-basic/pkg/server/debug/server.go b/services/app-provider/pkg/server/debug/server.go similarity index 96% rename from extensions/auth-basic/pkg/server/debug/server.go rename to services/app-provider/pkg/server/debug/server.go index ed1ecb480..69ac3bd16 100644 --- a/extensions/auth-basic/pkg/server/debug/server.go +++ b/services/app-provider/pkg/server/debug/server.go @@ -4,9 +4,9 @@ import ( "io" "net/http" - "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/config" ) // Server initializes the debug service and server. diff --git a/extensions/auth-basic/pkg/tracing/tracing.go b/services/app-provider/pkg/tracing/tracing.go similarity index 86% rename from extensions/auth-basic/pkg/tracing/tracing.go rename to services/app-provider/pkg/tracing/tracing.go index bcac0cd9d..a04b6685a 100644 --- a/extensions/auth-basic/pkg/tracing/tracing.go +++ b/services/app-provider/pkg/tracing/tracing.go @@ -1,9 +1,9 @@ package tracing import ( - "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/config" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/app-registry/Makefile b/services/app-registry/Makefile similarity index 100% rename from extensions/app-registry/Makefile rename to services/app-registry/Makefile diff --git a/extensions/auth-basic/cmd/auth-basic/main.go b/services/app-registry/cmd/app-registry/main.go similarity index 52% rename from extensions/auth-basic/cmd/auth-basic/main.go rename to services/app-registry/cmd/app-registry/main.go index 9aef09d3f..6a9d91f7d 100644 --- a/extensions/auth-basic/cmd/auth-basic/main.go +++ b/services/app-registry/cmd/app-registry/main.go @@ -3,8 +3,8 @@ package main import ( "os" - "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/command" - "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/command" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/config/defaults" ) func main() { diff --git a/extensions/auth-basic/pkg/command/health.go b/services/app-registry/pkg/command/health.go similarity index 84% rename from extensions/auth-basic/pkg/command/health.go rename to services/app-registry/pkg/command/health.go index bb4ac624a..d1227a054 100644 --- a/extensions/auth-basic/pkg/command/health.go +++ b/services/app-registry/pkg/command/health.go @@ -4,9 +4,9 @@ import ( "fmt" "net/http" - "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/config" - "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/logging" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/config" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/logging" "github.com/urfave/cli/v2" ) diff --git a/extensions/app-registry/pkg/command/root.go b/services/app-registry/pkg/command/root.go similarity index 95% rename from extensions/app-registry/pkg/command/root.go rename to services/app-registry/pkg/command/root.go index b2d0fc4db..5f8362165 100644 --- a/extensions/app-registry/pkg/command/root.go +++ b/services/app-registry/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/app-registry/pkg/command/server.go b/services/app-registry/pkg/command/server.go similarity index 85% rename from extensions/app-registry/pkg/command/server.go rename to services/app-registry/pkg/command/server.go index 3dd5a8ffa..063a5986b 100644 --- a/extensions/app-registry/pkg/command/server.go +++ b/services/app-registry/pkg/command/server.go @@ -9,14 +9,14 @@ import ( "github.com/cs3org/reva/v2/cmd/revad/runtime" "github.com/gofrs/uuid" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/config" - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/revaconfig" - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/service/external" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/config" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/logging" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/revaconfig" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/services/app-registry/pkg/command/version.go b/services/app-registry/pkg/command/version.go new file mode 100644 index 000000000..380a30862 --- /dev/null +++ b/services/app-registry/pkg/command/version.go @@ -0,0 +1,50 @@ +package command + +import ( + "fmt" + "os" + + "github.com/owncloud/ocis/v2/ocis-pkg/registry" + "github.com/owncloud/ocis/v2/ocis-pkg/version" + + tw "github.com/olekukonko/tablewriter" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/config" + "github.com/urfave/cli/v2" +) + +// Version prints the service versions of all running instances. +func Version(cfg *config.Config) *cli.Command { + return &cli.Command{ + Name: "version", + Usage: "print the version of this binary and the running extension instances", + Category: "info", + Action: func(c *cli.Context) error { + fmt.Println("Version: " + version.GetString()) + fmt.Printf("Compiled: %s\n", version.Compiled()) + fmt.Println("") + + reg := registry.GetRegistry() + services, err := reg.GetService(cfg.GRPC.Namespace + "." + cfg.Service.Name) + if err != nil { + fmt.Println(fmt.Errorf("could not get %s services from the registry: %v", cfg.Service.Name, err)) + return err + } + + if len(services) == 0 { + fmt.Println("No running " + cfg.Service.Name + " service found.") + return nil + } + + table := tw.NewWriter(os.Stdout) + table.SetHeader([]string{"Version", "Address", "Id"}) + table.SetAutoFormatHeaders(false) + for _, s := range services { + for _, n := range s.Nodes { + table.Append([]string{s.Version, n.Address, n.Id}) + } + } + table.Render() + return nil + }, + } +} diff --git a/extensions/app-registry/pkg/config/config.go b/services/app-registry/pkg/config/config.go similarity index 100% rename from extensions/app-registry/pkg/config/config.go rename to services/app-registry/pkg/config/config.go diff --git a/extensions/app-registry/pkg/config/defaults/defaultconfig.go b/services/app-registry/pkg/config/defaults/defaultconfig.go similarity index 98% rename from extensions/app-registry/pkg/config/defaults/defaultconfig.go rename to services/app-registry/pkg/config/defaults/defaultconfig.go index 1ff3f4c4d..8ac93b526 100644 --- a/extensions/app-registry/pkg/config/defaults/defaultconfig.go +++ b/services/app-registry/pkg/config/defaults/defaultconfig.go @@ -1,7 +1,7 @@ package defaults import ( - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/config" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/services/app-registry/pkg/config/parser/parse.go b/services/app-registry/pkg/config/parser/parse.go new file mode 100644 index 000000000..6b0d7e0fb --- /dev/null +++ b/services/app-registry/pkg/config/parser/parse.go @@ -0,0 +1,42 @@ +package parser + +import ( + "errors" + + ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/config" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/config/defaults" + + "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" +) + +// ParseConfig loads configuration from known paths. +func ParseConfig(cfg *config.Config) error { + _, err := ociscfg.BindSourcesToStructs(cfg.Service.Name, cfg) + if err != nil { + return err + } + + defaults.EnsureDefaults(cfg) + + // load all env variables relevant to the config in the current context. + if err := envdecode.Decode(cfg); err != nil { + // no environment variable set for this config is an expected "error" + if !errors.Is(err, envdecode.ErrNoTargetFieldsAreSet) { + return err + } + } + + defaults.Sanitize(cfg) + + return Validate(cfg) +} + +func Validate(cfg *config.Config) error { + if cfg.TokenManager.JWTSecret == "" { + return shared.MissingJWTTokenError(cfg.Service.Name) + } + + return nil +} diff --git a/extensions/app-registry/pkg/config/reva.go b/services/app-registry/pkg/config/reva.go similarity index 100% rename from extensions/app-registry/pkg/config/reva.go rename to services/app-registry/pkg/config/reva.go diff --git a/services/app-registry/pkg/logging/logging.go b/services/app-registry/pkg/logging/logging.go new file mode 100644 index 000000000..bf5737a49 --- /dev/null +++ b/services/app-registry/pkg/logging/logging.go @@ -0,0 +1,17 @@ +package logging + +import ( + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/config" +) + +// LoggerFromConfig initializes a service-specific logger instance. +func Configure(name string, cfg *config.Log) log.Logger { + return log.NewLogger( + log.Name(name), + log.Level(cfg.Level), + log.Pretty(cfg.Pretty), + log.Color(cfg.Color), + log.File(cfg.File), + ) +} diff --git a/extensions/app-registry/pkg/revaconfig/config.go b/services/app-registry/pkg/revaconfig/config.go similarity index 95% rename from extensions/app-registry/pkg/revaconfig/config.go rename to services/app-registry/pkg/revaconfig/config.go index 7dba83405..3f1b27cae 100644 --- a/extensions/app-registry/pkg/revaconfig/config.go +++ b/services/app-registry/pkg/revaconfig/config.go @@ -4,7 +4,7 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/mitchellh/mapstructure" - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/config" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/config" ) // AppRegistryConfigFromStruct will adapt an oCIS config struct into a reva mapstructure to start a reva service. diff --git a/services/app-registry/pkg/server/debug/option.go b/services/app-registry/pkg/server/debug/option.go new file mode 100644 index 000000000..ea63c5116 --- /dev/null +++ b/services/app-registry/pkg/server/debug/option.go @@ -0,0 +1,50 @@ +package debug + +import ( + "context" + + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/config" +) + +// Option defines a single option function. +type Option func(o *Options) + +// Options defines the available options for this package. +type Options struct { + Logger log.Logger + Context context.Context + Config *config.Config +} + +// newOptions initializes the available default options. +func newOptions(opts ...Option) Options { + opt := Options{} + + for _, o := range opts { + o(&opt) + } + + return opt +} + +// Logger provides a function to set the logger option. +func Logger(val log.Logger) Option { + return func(o *Options) { + o.Logger = val + } +} + +// Context provides a function to set the context option. +func Context(val context.Context) Option { + return func(o *Options) { + o.Context = val + } +} + +// Config provides a function to set the config option. +func Config(val *config.Config) Option { + return func(o *Options) { + o.Config = val + } +} diff --git a/services/app-registry/pkg/server/debug/server.go b/services/app-registry/pkg/server/debug/server.go new file mode 100644 index 000000000..1b172de6e --- /dev/null +++ b/services/app-registry/pkg/server/debug/server.go @@ -0,0 +1,63 @@ +package debug + +import ( + "io" + "net/http" + + "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" + "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/config" +) + +// Server initializes the debug service and server. +func Server(opts ...Option) (*http.Server, error) { + options := newOptions(opts...) + + return debug.NewService( + debug.Logger(options.Logger), + debug.Name(options.Config.Service.Name), + debug.Version(version.GetString()), + debug.Address(options.Config.Debug.Addr), + debug.Token(options.Config.Debug.Token), + debug.Pprof(options.Config.Debug.Pprof), + debug.Zpages(options.Config.Debug.Zpages), + debug.Health(health(options.Config)), + debug.Ready(ready(options.Config)), + //debug.CorsAllowedOrigins(options.Config.HTTP.CORS.AllowedOrigins), + //debug.CorsAllowedMethods(options.Config.HTTP.CORS.AllowedMethods), + //debug.CorsAllowedHeaders(options.Config.HTTP.CORS.AllowedHeaders), + //debug.CorsAllowCredentials(options.Config.HTTP.CORS.AllowCredentials), + ), nil +} + +// health implements the health check. +func health(cfg *config.Config) func(http.ResponseWriter, *http.Request) { + return func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "text/plain") + w.WriteHeader(http.StatusOK) + + // TODO: check if services are up and running + + _, err := io.WriteString(w, http.StatusText(http.StatusOK)) + // io.WriteString should not fail but if it does we want to know. + if err != nil { + panic(err) + } + } +} + +// ready implements the ready check. +func ready(cfg *config.Config) func(http.ResponseWriter, *http.Request) { + return func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "text/plain") + w.WriteHeader(http.StatusOK) + + // TODO: check if services are up and running + + _, err := io.WriteString(w, http.StatusText(http.StatusOK)) + // io.WriteString should not fail but if it does we want to know. + if err != nil { + panic(err) + } + } +} diff --git a/services/app-registry/pkg/tracing/tracing.go b/services/app-registry/pkg/tracing/tracing.go new file mode 100644 index 000000000..a230f3b8f --- /dev/null +++ b/services/app-registry/pkg/tracing/tracing.go @@ -0,0 +1,18 @@ +package tracing + +import ( + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/config" + "go.opentelemetry.io/otel/trace" +) + +var ( + // TraceProvider is the global trace provider for the service. + TraceProvider = trace.NewNoopTracerProvider() +) + +func Configure(cfg *config.Config, logger log.Logger) error { + tracing.Configure(cfg.Tracing.Enabled, cfg.Tracing.Type, logger) + return nil +} diff --git a/extensions/audit/Makefile b/services/audit/Makefile similarity index 100% rename from extensions/audit/Makefile rename to services/audit/Makefile diff --git a/extensions/web/cmd/web/main.go b/services/audit/cmd/audit/main.go similarity index 52% rename from extensions/web/cmd/web/main.go rename to services/audit/cmd/audit/main.go index 1c6a3e87f..f365e874e 100644 --- a/extensions/web/cmd/web/main.go +++ b/services/audit/cmd/audit/main.go @@ -3,8 +3,8 @@ package main import ( "os" - "github.com/owncloud/ocis/v2/extensions/web/pkg/command" - "github.com/owncloud/ocis/v2/extensions/web/pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/audit/pkg/command" + "github.com/owncloud/ocis/v2/services/audit/pkg/config/defaults" ) func main() { diff --git a/extensions/nats/pkg/command/health.go b/services/audit/pkg/command/health.go similarity index 84% rename from extensions/nats/pkg/command/health.go rename to services/audit/pkg/command/health.go index 6c6a0d817..faf43b8e0 100644 --- a/extensions/nats/pkg/command/health.go +++ b/services/audit/pkg/command/health.go @@ -1,7 +1,7 @@ package command import ( - "github.com/owncloud/ocis/v2/extensions/nats/pkg/config" + "github.com/owncloud/ocis/v2/services/audit/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/audit/pkg/command/root.go b/services/audit/pkg/command/root.go similarity index 95% rename from extensions/audit/pkg/command/root.go rename to services/audit/pkg/command/root.go index 043bf29ef..ec1ef4d72 100644 --- a/extensions/audit/pkg/command/root.go +++ b/services/audit/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/audit/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/audit/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/audit/pkg/command/server.go b/services/audit/pkg/command/server.go similarity index 80% rename from extensions/audit/pkg/command/server.go rename to services/audit/pkg/command/server.go index 24ea141b4..fd904a009 100644 --- a/extensions/audit/pkg/command/server.go +++ b/services/audit/pkg/command/server.go @@ -8,11 +8,11 @@ import ( "github.com/cs3org/reva/v2/pkg/events" "github.com/cs3org/reva/v2/pkg/events/server" "github.com/go-micro/plugins/v4/events/natsjs" - "github.com/owncloud/ocis/v2/extensions/audit/pkg/config" - "github.com/owncloud/ocis/v2/extensions/audit/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/audit/pkg/logging" - svc "github.com/owncloud/ocis/v2/extensions/audit/pkg/service" - "github.com/owncloud/ocis/v2/extensions/audit/pkg/types" + "github.com/owncloud/ocis/v2/services/audit/pkg/config" + "github.com/owncloud/ocis/v2/services/audit/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/audit/pkg/logging" + svc "github.com/owncloud/ocis/v2/services/audit/pkg/service" + "github.com/owncloud/ocis/v2/services/audit/pkg/types" "github.com/urfave/cli/v2" ) diff --git a/extensions/idm/pkg/command/version.go b/services/audit/pkg/command/version.go similarity index 87% rename from extensions/idm/pkg/command/version.go rename to services/audit/pkg/command/version.go index d11ce980e..c3d0eb0b5 100644 --- a/extensions/idm/pkg/command/version.go +++ b/services/audit/pkg/command/version.go @@ -1,7 +1,7 @@ package command import ( - "github.com/owncloud/ocis/v2/extensions/idm/pkg/config" + "github.com/owncloud/ocis/v2/services/audit/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/audit/pkg/config/config.go b/services/audit/pkg/config/config.go similarity index 100% rename from extensions/audit/pkg/config/config.go rename to services/audit/pkg/config/config.go diff --git a/extensions/audit/pkg/config/debug.go b/services/audit/pkg/config/debug.go similarity index 100% rename from extensions/audit/pkg/config/debug.go rename to services/audit/pkg/config/debug.go diff --git a/extensions/audit/pkg/config/defaults/defaultconfig.go b/services/audit/pkg/config/defaults/defaultconfig.go similarity index 94% rename from extensions/audit/pkg/config/defaults/defaultconfig.go rename to services/audit/pkg/config/defaults/defaultconfig.go index d2db3f7f4..f9c06f903 100644 --- a/extensions/audit/pkg/config/defaults/defaultconfig.go +++ b/services/audit/pkg/config/defaults/defaultconfig.go @@ -1,7 +1,7 @@ package defaults import ( - "github.com/owncloud/ocis/v2/extensions/audit/pkg/config" + "github.com/owncloud/ocis/v2/services/audit/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/audit/pkg/config/log.go b/services/audit/pkg/config/log.go similarity index 100% rename from extensions/audit/pkg/config/log.go rename to services/audit/pkg/config/log.go diff --git a/extensions/web/pkg/config/parser/parse.go b/services/audit/pkg/config/parser/parse.go similarity index 86% rename from extensions/web/pkg/config/parser/parse.go rename to services/audit/pkg/config/parser/parse.go index 2732411aa..43adabd42 100644 --- a/extensions/web/pkg/config/parser/parse.go +++ b/services/audit/pkg/config/parser/parse.go @@ -3,9 +3,9 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/web/pkg/config" - "github.com/owncloud/ocis/v2/extensions/web/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/audit/pkg/config" + "github.com/owncloud/ocis/v2/services/audit/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/audit/pkg/config/service.go b/services/audit/pkg/config/service.go similarity index 100% rename from extensions/audit/pkg/config/service.go rename to services/audit/pkg/config/service.go diff --git a/extensions/web/pkg/logging/logging.go b/services/audit/pkg/logging/logging.go similarity index 85% rename from extensions/web/pkg/logging/logging.go rename to services/audit/pkg/logging/logging.go index 29e1f8742..4acd0282b 100644 --- a/extensions/web/pkg/logging/logging.go +++ b/services/audit/pkg/logging/logging.go @@ -1,8 +1,8 @@ package logging import ( - "github.com/owncloud/ocis/v2/extensions/web/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/audit/pkg/config" ) // LoggerFromConfig initializes a service-specific logger instance. diff --git a/extensions/audit/pkg/service/service.go b/services/audit/pkg/service/service.go similarity index 97% rename from extensions/audit/pkg/service/service.go rename to services/audit/pkg/service/service.go index 1e42a80ca..961c41963 100644 --- a/extensions/audit/pkg/service/service.go +++ b/services/audit/pkg/service/service.go @@ -7,9 +7,9 @@ import ( "os" "github.com/cs3org/reva/v2/pkg/events" - "github.com/owncloud/ocis/v2/extensions/audit/pkg/config" - "github.com/owncloud/ocis/v2/extensions/audit/pkg/types" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/audit/pkg/config" + "github.com/owncloud/ocis/v2/services/audit/pkg/types" ) // Log is used to log to different outputs diff --git a/extensions/audit/pkg/service/service_test.go b/services/audit/pkg/service/service_test.go similarity index 99% rename from extensions/audit/pkg/service/service_test.go rename to services/audit/pkg/service/service_test.go index ae64f43a2..072c4dc7c 100644 --- a/extensions/audit/pkg/service/service_test.go +++ b/services/audit/pkg/service/service_test.go @@ -6,8 +6,8 @@ import ( "testing" "github.com/cs3org/reva/v2/pkg/events" - "github.com/owncloud/ocis/v2/extensions/audit/pkg/types" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/audit/pkg/types" "github.com/test-go/testify/require" group "github.com/cs3org/go-cs3apis/cs3/identity/group/v1beta1" diff --git a/extensions/audit/pkg/types/constants.go b/services/audit/pkg/types/constants.go similarity index 100% rename from extensions/audit/pkg/types/constants.go rename to services/audit/pkg/types/constants.go diff --git a/extensions/audit/pkg/types/conversion.go b/services/audit/pkg/types/conversion.go similarity index 100% rename from extensions/audit/pkg/types/conversion.go rename to services/audit/pkg/types/conversion.go diff --git a/extensions/audit/pkg/types/events.go b/services/audit/pkg/types/events.go similarity index 100% rename from extensions/audit/pkg/types/events.go rename to services/audit/pkg/types/events.go diff --git a/extensions/audit/pkg/types/types.go b/services/audit/pkg/types/types.go similarity index 100% rename from extensions/audit/pkg/types/types.go rename to services/audit/pkg/types/types.go diff --git a/extensions/auth-basic/Makefile b/services/auth-basic/Makefile similarity index 100% rename from extensions/auth-basic/Makefile rename to services/auth-basic/Makefile diff --git a/extensions/settings/cmd/settings/main.go b/services/auth-basic/cmd/auth-basic/main.go similarity index 52% rename from extensions/settings/cmd/settings/main.go rename to services/auth-basic/cmd/auth-basic/main.go index 89d04ef65..ec5af41ed 100644 --- a/extensions/settings/cmd/settings/main.go +++ b/services/auth-basic/cmd/auth-basic/main.go @@ -3,8 +3,8 @@ package main import ( "os" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/command" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/auth-basic/pkg/command" + "github.com/owncloud/ocis/v2/services/auth-basic/pkg/config/defaults" ) func main() { diff --git a/extensions/frontend/pkg/command/health.go b/services/auth-basic/pkg/command/health.go similarity index 84% rename from extensions/frontend/pkg/command/health.go rename to services/auth-basic/pkg/command/health.go index ac1e02c88..48f07427d 100644 --- a/extensions/frontend/pkg/command/health.go +++ b/services/auth-basic/pkg/command/health.go @@ -4,9 +4,9 @@ import ( "fmt" "net/http" - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/config" - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/logging" + "github.com/owncloud/ocis/v2/services/auth-basic/pkg/config" + "github.com/owncloud/ocis/v2/services/auth-basic/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/auth-basic/pkg/logging" "github.com/urfave/cli/v2" ) diff --git a/extensions/auth-basic/pkg/command/root.go b/services/auth-basic/pkg/command/root.go similarity index 95% rename from extensions/auth-basic/pkg/command/root.go rename to services/auth-basic/pkg/command/root.go index c7f7dff3b..d62b0d9e3 100644 --- a/extensions/auth-basic/pkg/command/root.go +++ b/services/auth-basic/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/auth-basic/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/auth-basic/pkg/command/server.go b/services/auth-basic/pkg/command/server.go similarity index 88% rename from extensions/auth-basic/pkg/command/server.go rename to services/auth-basic/pkg/command/server.go index c1a1e15fb..cb5bbf6b6 100644 --- a/extensions/auth-basic/pkg/command/server.go +++ b/services/auth-basic/pkg/command/server.go @@ -9,16 +9,16 @@ import ( "github.com/cs3org/reva/v2/cmd/revad/runtime" "github.com/gofrs/uuid" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/config" - "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/revaconfig" - "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/ldap" "github.com/owncloud/ocis/v2/ocis-pkg/service/external" "github.com/owncloud/ocis/v2/ocis-pkg/sync" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/auth-basic/pkg/config" + "github.com/owncloud/ocis/v2/services/auth-basic/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/auth-basic/pkg/logging" + "github.com/owncloud/ocis/v2/services/auth-basic/pkg/revaconfig" + "github.com/owncloud/ocis/v2/services/auth-basic/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/auth-basic/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/extensions/settings/pkg/command/version.go b/services/auth-basic/pkg/command/version.go similarity index 95% rename from extensions/settings/pkg/command/version.go rename to services/auth-basic/pkg/command/version.go index d496dadea..9e2291bf4 100644 --- a/extensions/settings/pkg/command/version.go +++ b/services/auth-basic/pkg/command/version.go @@ -8,7 +8,7 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/version" tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config" + "github.com/owncloud/ocis/v2/services/auth-basic/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/auth-basic/pkg/config/config.go b/services/auth-basic/pkg/config/config.go similarity index 100% rename from extensions/auth-basic/pkg/config/config.go rename to services/auth-basic/pkg/config/config.go diff --git a/extensions/auth-basic/pkg/config/defaults/defaultconfig.go b/services/auth-basic/pkg/config/defaults/defaultconfig.go similarity index 98% rename from extensions/auth-basic/pkg/config/defaults/defaultconfig.go rename to services/auth-basic/pkg/config/defaults/defaultconfig.go index 113e1b115..dd558ef07 100644 --- a/extensions/auth-basic/pkg/config/defaults/defaultconfig.go +++ b/services/auth-basic/pkg/config/defaults/defaultconfig.go @@ -3,8 +3,8 @@ package defaults import ( "path/filepath" - "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/auth-basic/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/auth-basic/pkg/config/parser/parse.go b/services/auth-basic/pkg/config/parser/parse.go similarity index 88% rename from extensions/auth-basic/pkg/config/parser/parse.go rename to services/auth-basic/pkg/config/parser/parse.go index e202c43be..bf000769c 100644 --- a/extensions/auth-basic/pkg/config/parser/parse.go +++ b/services/auth-basic/pkg/config/parser/parse.go @@ -3,10 +3,10 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/config" - "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/auth-basic/pkg/config" + "github.com/owncloud/ocis/v2/services/auth-basic/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/auth-basic/pkg/config/reva.go b/services/auth-basic/pkg/config/reva.go similarity index 100% rename from extensions/auth-basic/pkg/config/reva.go rename to services/auth-basic/pkg/config/reva.go diff --git a/extensions/gateway/pkg/logging/logging.go b/services/auth-basic/pkg/logging/logging.go similarity index 84% rename from extensions/gateway/pkg/logging/logging.go rename to services/auth-basic/pkg/logging/logging.go index 6e80a9001..004f3523f 100644 --- a/extensions/gateway/pkg/logging/logging.go +++ b/services/auth-basic/pkg/logging/logging.go @@ -1,8 +1,8 @@ package logging import ( - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/auth-basic/pkg/config" ) // LoggerFromConfig initializes a service-specific logger instance. diff --git a/extensions/auth-basic/pkg/revaconfig/config.go b/services/auth-basic/pkg/revaconfig/config.go similarity index 97% rename from extensions/auth-basic/pkg/revaconfig/config.go rename to services/auth-basic/pkg/revaconfig/config.go index cba789178..32833a1aa 100644 --- a/extensions/auth-basic/pkg/revaconfig/config.go +++ b/services/auth-basic/pkg/revaconfig/config.go @@ -1,6 +1,6 @@ package revaconfig -import "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/config" +import "github.com/owncloud/ocis/v2/services/auth-basic/pkg/config" // AuthBasicConfigFromStruct will adapt an oCIS config struct into a reva mapstructure to start a reva service. func AuthBasicConfigFromStruct(cfg *config.Config) map[string]interface{} { diff --git a/extensions/frontend/pkg/server/debug/option.go b/services/auth-basic/pkg/server/debug/option.go similarity index 93% rename from extensions/frontend/pkg/server/debug/option.go rename to services/auth-basic/pkg/server/debug/option.go index b4f5ec064..e9a4f9829 100644 --- a/extensions/frontend/pkg/server/debug/option.go +++ b/services/auth-basic/pkg/server/debug/option.go @@ -3,8 +3,8 @@ package debug import ( "context" - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/auth-basic/pkg/config" ) // Option defines a single option function. diff --git a/extensions/frontend/pkg/server/debug/server.go b/services/auth-basic/pkg/server/debug/server.go similarity index 96% rename from extensions/frontend/pkg/server/debug/server.go rename to services/auth-basic/pkg/server/debug/server.go index 7da91c510..62dafeab8 100644 --- a/extensions/frontend/pkg/server/debug/server.go +++ b/services/auth-basic/pkg/server/debug/server.go @@ -4,9 +4,9 @@ import ( "io" "net/http" - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/auth-basic/pkg/config" ) // Server initializes the debug service and server. diff --git a/extensions/frontend/pkg/tracing/tracing.go b/services/auth-basic/pkg/tracing/tracing.go similarity index 87% rename from extensions/frontend/pkg/tracing/tracing.go rename to services/auth-basic/pkg/tracing/tracing.go index b55b70c56..d264fe2f7 100644 --- a/extensions/frontend/pkg/tracing/tracing.go +++ b/services/auth-basic/pkg/tracing/tracing.go @@ -1,9 +1,9 @@ package tracing import ( - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/auth-basic/pkg/config" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/auth-bearer/Makefile b/services/auth-bearer/Makefile similarity index 100% rename from extensions/auth-bearer/Makefile rename to services/auth-bearer/Makefile diff --git a/services/auth-bearer/cmd/auth-bearer/main.go b/services/auth-bearer/cmd/auth-bearer/main.go new file mode 100644 index 000000000..8617701cf --- /dev/null +++ b/services/auth-bearer/cmd/auth-bearer/main.go @@ -0,0 +1,14 @@ +package main + +import ( + "os" + + "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/command" + "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/config/defaults" +) + +func main() { + if err := command.Execute(defaults.DefaultConfig()); err != nil { + os.Exit(1) + } +} diff --git a/extensions/groups/pkg/command/health.go b/services/auth-bearer/pkg/command/health.go similarity index 83% rename from extensions/groups/pkg/command/health.go rename to services/auth-bearer/pkg/command/health.go index 756205dbe..040e695b2 100644 --- a/extensions/groups/pkg/command/health.go +++ b/services/auth-bearer/pkg/command/health.go @@ -4,9 +4,9 @@ import ( "fmt" "net/http" - "github.com/owncloud/ocis/v2/extensions/groups/pkg/config" - "github.com/owncloud/ocis/v2/extensions/groups/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/groups/pkg/logging" + "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/config" + "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/logging" "github.com/urfave/cli/v2" ) diff --git a/extensions/auth-bearer/pkg/command/root.go b/services/auth-bearer/pkg/command/root.go similarity index 95% rename from extensions/auth-bearer/pkg/command/root.go rename to services/auth-bearer/pkg/command/root.go index bb78f2efe..694500d4d 100644 --- a/extensions/auth-bearer/pkg/command/root.go +++ b/services/auth-bearer/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/auth-bearer/pkg/command/server.go b/services/auth-bearer/pkg/command/server.go similarity index 86% rename from extensions/auth-bearer/pkg/command/server.go rename to services/auth-bearer/pkg/command/server.go index bbf13f1fc..7a871f12c 100644 --- a/extensions/auth-bearer/pkg/command/server.go +++ b/services/auth-bearer/pkg/command/server.go @@ -9,15 +9,15 @@ import ( "github.com/cs3org/reva/v2/cmd/revad/runtime" "github.com/gofrs/uuid" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/config" - "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/revaconfig" - "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/service/external" "github.com/owncloud/ocis/v2/ocis-pkg/sync" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/config" + "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/logging" + "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/revaconfig" + "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/services/auth-bearer/pkg/command/version.go b/services/auth-bearer/pkg/command/version.go new file mode 100644 index 000000000..030171e16 --- /dev/null +++ b/services/auth-bearer/pkg/command/version.go @@ -0,0 +1,50 @@ +package command + +import ( + "fmt" + "os" + + "github.com/owncloud/ocis/v2/ocis-pkg/registry" + "github.com/owncloud/ocis/v2/ocis-pkg/version" + + tw "github.com/olekukonko/tablewriter" + "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/config" + "github.com/urfave/cli/v2" +) + +// Version prints the service versions of all running instances. +func Version(cfg *config.Config) *cli.Command { + return &cli.Command{ + Name: "version", + Usage: "print the version of this binary and the running extension instances", + Category: "info", + Action: func(c *cli.Context) error { + fmt.Println("Version: " + version.GetString()) + fmt.Printf("Compiled: %s\n", version.Compiled()) + fmt.Println("") + + reg := registry.GetRegistry() + services, err := reg.GetService(cfg.GRPC.Namespace + "." + cfg.Service.Name) + if err != nil { + fmt.Println(fmt.Errorf("could not get %s services from the registry: %v", cfg.Service.Name, err)) + return err + } + + if len(services) == 0 { + fmt.Println("No running " + cfg.Service.Name + " service found.") + return nil + } + + table := tw.NewWriter(os.Stdout) + table.SetHeader([]string{"Version", "Address", "Id"}) + table.SetAutoFormatHeaders(false) + for _, s := range services { + for _, n := range s.Nodes { + table.Append([]string{s.Version, n.Address, n.Id}) + } + } + table.Render() + return nil + }, + } +} diff --git a/extensions/auth-bearer/pkg/config/config.go b/services/auth-bearer/pkg/config/config.go similarity index 100% rename from extensions/auth-bearer/pkg/config/config.go rename to services/auth-bearer/pkg/config/config.go diff --git a/extensions/auth-bearer/pkg/config/defaults/defaultconfig.go b/services/auth-bearer/pkg/config/defaults/defaultconfig.go similarity index 97% rename from extensions/auth-bearer/pkg/config/defaults/defaultconfig.go rename to services/auth-bearer/pkg/config/defaults/defaultconfig.go index 2a225d96b..73e1cc072 100644 --- a/extensions/auth-bearer/pkg/config/defaults/defaultconfig.go +++ b/services/auth-bearer/pkg/config/defaults/defaultconfig.go @@ -1,7 +1,7 @@ package defaults import ( - "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/config" + "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/services/auth-bearer/pkg/config/parser/parse.go b/services/auth-bearer/pkg/config/parser/parse.go new file mode 100644 index 000000000..01890e2e9 --- /dev/null +++ b/services/auth-bearer/pkg/config/parser/parse.go @@ -0,0 +1,42 @@ +package parser + +import ( + "errors" + + ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/config" + "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/config/defaults" + + "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" +) + +// ParseConfig loads configuration from known paths. +func ParseConfig(cfg *config.Config) error { + _, err := ociscfg.BindSourcesToStructs(cfg.Service.Name, cfg) + if err != nil { + return err + } + + defaults.EnsureDefaults(cfg) + + // load all env variables relevant to the config in the current context. + if err := envdecode.Decode(cfg); err != nil { + // no environment variable set for this config is an expected "error" + if !errors.Is(err, envdecode.ErrNoTargetFieldsAreSet) { + return err + } + } + + defaults.Sanitize(cfg) + + return Validate(cfg) +} + +func Validate(cfg *config.Config) error { + if cfg.TokenManager.JWTSecret == "" { + return shared.MissingJWTTokenError(cfg.Service.Name) + } + + return nil +} diff --git a/extensions/auth-bearer/pkg/config/reva.go b/services/auth-bearer/pkg/config/reva.go similarity index 100% rename from extensions/auth-bearer/pkg/config/reva.go rename to services/auth-bearer/pkg/config/reva.go diff --git a/services/auth-bearer/pkg/logging/logging.go b/services/auth-bearer/pkg/logging/logging.go new file mode 100644 index 000000000..8b55220f5 --- /dev/null +++ b/services/auth-bearer/pkg/logging/logging.go @@ -0,0 +1,17 @@ +package logging + +import ( + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/config" +) + +// LoggerFromConfig initializes a service-specific logger instance. +func Configure(name string, cfg *config.Log) log.Logger { + return log.NewLogger( + log.Name(name), + log.Level(cfg.Level), + log.Pretty(cfg.Pretty), + log.Color(cfg.Color), + log.File(cfg.File), + ) +} diff --git a/extensions/auth-bearer/pkg/revaconfig/config.go b/services/auth-bearer/pkg/revaconfig/config.go similarity index 94% rename from extensions/auth-bearer/pkg/revaconfig/config.go rename to services/auth-bearer/pkg/revaconfig/config.go index 4925ee993..cf51a02dc 100644 --- a/extensions/auth-bearer/pkg/revaconfig/config.go +++ b/services/auth-bearer/pkg/revaconfig/config.go @@ -1,6 +1,6 @@ package revaconfig -import "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/config" +import "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/config" // AuthBearerConfigFromStruct will adapt an oCIS config struct into a reva mapstructure to start a reva service. func AuthBearerConfigFromStruct(cfg *config.Config) map[string]interface{} { diff --git a/extensions/gateway/pkg/server/debug/option.go b/services/auth-bearer/pkg/server/debug/option.go similarity index 93% rename from extensions/gateway/pkg/server/debug/option.go rename to services/auth-bearer/pkg/server/debug/option.go index 34edb7f82..2fde7978b 100644 --- a/extensions/gateway/pkg/server/debug/option.go +++ b/services/auth-bearer/pkg/server/debug/option.go @@ -3,8 +3,8 @@ package debug import ( "context" - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/config" ) // Option defines a single option function. diff --git a/services/auth-bearer/pkg/server/debug/server.go b/services/auth-bearer/pkg/server/debug/server.go new file mode 100644 index 000000000..a44400a04 --- /dev/null +++ b/services/auth-bearer/pkg/server/debug/server.go @@ -0,0 +1,63 @@ +package debug + +import ( + "io" + "net/http" + + "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" + "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/config" +) + +// Server initializes the debug service and server. +func Server(opts ...Option) (*http.Server, error) { + options := newOptions(opts...) + + return debug.NewService( + debug.Logger(options.Logger), + debug.Name(options.Config.Service.Name), + debug.Version(version.GetString()), + debug.Address(options.Config.Debug.Addr), + debug.Token(options.Config.Debug.Token), + debug.Pprof(options.Config.Debug.Pprof), + debug.Zpages(options.Config.Debug.Zpages), + debug.Health(health(options.Config)), + debug.Ready(ready(options.Config)), + //debug.CorsAllowedOrigins(options.Config.HTTP.CORS.AllowedOrigins), + //debug.CorsAllowedMethods(options.Config.HTTP.CORS.AllowedMethods), + //debug.CorsAllowedHeaders(options.Config.HTTP.CORS.AllowedHeaders), + //debug.CorsAllowCredentials(options.Config.HTTP.CORS.AllowCredentials), + ), nil +} + +// health implements the health check. +func health(cfg *config.Config) func(http.ResponseWriter, *http.Request) { + return func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "text/plain") + w.WriteHeader(http.StatusOK) + + // TODO: check if services are up and running + + _, err := io.WriteString(w, http.StatusText(http.StatusOK)) + // io.WriteString should not fail but if it does we want to know. + if err != nil { + panic(err) + } + } +} + +// ready implements the ready check. +func ready(cfg *config.Config) func(http.ResponseWriter, *http.Request) { + return func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "text/plain") + w.WriteHeader(http.StatusOK) + + // TODO: check if services are up and running + + _, err := io.WriteString(w, http.StatusText(http.StatusOK)) + // io.WriteString should not fail but if it does we want to know. + if err != nil { + panic(err) + } + } +} diff --git a/services/auth-bearer/pkg/tracing/tracing.go b/services/auth-bearer/pkg/tracing/tracing.go new file mode 100644 index 000000000..125a743d2 --- /dev/null +++ b/services/auth-bearer/pkg/tracing/tracing.go @@ -0,0 +1,18 @@ +package tracing + +import ( + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/config" + "go.opentelemetry.io/otel/trace" +) + +var ( + // TraceProvider is the global trace provider for the service. + TraceProvider = trace.NewNoopTracerProvider() +) + +func Configure(cfg *config.Config, logger log.Logger) error { + tracing.Configure(cfg.Tracing.Enabled, cfg.Tracing.Type, logger) + return nil +} diff --git a/extensions/auth-machine/Makefile b/services/auth-machine/Makefile similarity index 100% rename from extensions/auth-machine/Makefile rename to services/auth-machine/Makefile diff --git a/services/auth-machine/cmd/auth-machine/main.go b/services/auth-machine/cmd/auth-machine/main.go new file mode 100644 index 000000000..937b0b20c --- /dev/null +++ b/services/auth-machine/cmd/auth-machine/main.go @@ -0,0 +1,14 @@ +package main + +import ( + "os" + + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/command" + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/config/defaults" +) + +func main() { + if err := command.Execute(defaults.DefaultConfig()); err != nil { + os.Exit(1) + } +} diff --git a/services/auth-machine/pkg/command/health.go b/services/auth-machine/pkg/command/health.go new file mode 100644 index 000000000..cc26ea7f2 --- /dev/null +++ b/services/auth-machine/pkg/command/health.go @@ -0,0 +1,57 @@ +package command + +import ( + "fmt" + "net/http" + + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/config" + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/logging" + "github.com/urfave/cli/v2" +) + +// Health is the entrypoint for the health command. +func Health(cfg *config.Config) *cli.Command { + return &cli.Command{ + Name: "health", + Usage: "check health status", + Category: "info", + Before: func(c *cli.Context) error { + err := parser.ParseConfig(cfg) + if err != nil { + fmt.Printf("%v", err) + } + return err + }, + Action: func(c *cli.Context) error { + logger := logging.Configure(cfg.Service.Name, cfg.Log) + + resp, err := http.Get( + fmt.Sprintf( + "http://%s/healthz", + cfg.Debug.Addr, + ), + ) + + if err != nil { + logger.Fatal(). + Err(err). + Msg("Failed to request health check") + } + + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + logger.Fatal(). + Int("code", resp.StatusCode). + Msg("Health seems to be in bad state") + } + + logger.Debug(). + Int("code", resp.StatusCode). + Msg("Health got a good state") + + return nil + }, + } +} diff --git a/extensions/auth-machine/pkg/command/root.go b/services/auth-machine/pkg/command/root.go similarity index 95% rename from extensions/auth-machine/pkg/command/root.go rename to services/auth-machine/pkg/command/root.go index 265762994..29d9cdc8e 100644 --- a/extensions/auth-machine/pkg/command/root.go +++ b/services/auth-machine/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/auth-machine/pkg/command/server.go b/services/auth-machine/pkg/command/server.go similarity index 86% rename from extensions/auth-machine/pkg/command/server.go rename to services/auth-machine/pkg/command/server.go index 5ec422e3e..1bb1610f4 100644 --- a/extensions/auth-machine/pkg/command/server.go +++ b/services/auth-machine/pkg/command/server.go @@ -9,15 +9,15 @@ import ( "github.com/cs3org/reva/v2/cmd/revad/runtime" "github.com/gofrs/uuid" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/config" - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/revaconfig" - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/service/external" "github.com/owncloud/ocis/v2/ocis-pkg/sync" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/config" + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/logging" + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/revaconfig" + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/services/auth-machine/pkg/command/version.go b/services/auth-machine/pkg/command/version.go new file mode 100644 index 000000000..1db2354e4 --- /dev/null +++ b/services/auth-machine/pkg/command/version.go @@ -0,0 +1,50 @@ +package command + +import ( + "fmt" + "os" + + "github.com/owncloud/ocis/v2/ocis-pkg/registry" + "github.com/owncloud/ocis/v2/ocis-pkg/version" + + tw "github.com/olekukonko/tablewriter" + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/config" + "github.com/urfave/cli/v2" +) + +// Version prints the service versions of all running instances. +func Version(cfg *config.Config) *cli.Command { + return &cli.Command{ + Name: "version", + Usage: "print the version of this binary and the running extension instances", + Category: "info", + Action: func(c *cli.Context) error { + fmt.Println("Version: " + version.GetString()) + fmt.Printf("Compiled: %s\n", version.Compiled()) + fmt.Println("") + + reg := registry.GetRegistry() + services, err := reg.GetService(cfg.GRPC.Namespace + "." + cfg.Service.Name) + if err != nil { + fmt.Println(fmt.Errorf("could not get %s services from the registry: %v", cfg.Service.Name, err)) + return err + } + + if len(services) == 0 { + fmt.Println("No running " + cfg.Service.Name + " service found.") + return nil + } + + table := tw.NewWriter(os.Stdout) + table.SetHeader([]string{"Version", "Address", "Id"}) + table.SetAutoFormatHeaders(false) + for _, s := range services { + for _, n := range s.Nodes { + table.Append([]string{s.Version, n.Address, n.Id}) + } + } + table.Render() + return nil + }, + } +} diff --git a/extensions/auth-machine/pkg/config/config.go b/services/auth-machine/pkg/config/config.go similarity index 100% rename from extensions/auth-machine/pkg/config/config.go rename to services/auth-machine/pkg/config/config.go diff --git a/extensions/auth-machine/pkg/config/defaults/defaultconfig.go b/services/auth-machine/pkg/config/defaults/defaultconfig.go similarity index 97% rename from extensions/auth-machine/pkg/config/defaults/defaultconfig.go rename to services/auth-machine/pkg/config/defaults/defaultconfig.go index b472bba15..fc1dee5fc 100644 --- a/extensions/auth-machine/pkg/config/defaults/defaultconfig.go +++ b/services/auth-machine/pkg/config/defaults/defaultconfig.go @@ -1,7 +1,7 @@ package defaults import ( - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/config" + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/auth-machine/pkg/config/parser/parse.go b/services/auth-machine/pkg/config/parser/parse.go similarity index 87% rename from extensions/auth-machine/pkg/config/parser/parse.go rename to services/auth-machine/pkg/config/parser/parse.go index e5493ffc5..1b9c1606a 100644 --- a/extensions/auth-machine/pkg/config/parser/parse.go +++ b/services/auth-machine/pkg/config/parser/parse.go @@ -3,10 +3,10 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/config" - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/config" + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/auth-machine/pkg/config/reva.go b/services/auth-machine/pkg/config/reva.go similarity index 100% rename from extensions/auth-machine/pkg/config/reva.go rename to services/auth-machine/pkg/config/reva.go diff --git a/services/auth-machine/pkg/logging/logging.go b/services/auth-machine/pkg/logging/logging.go new file mode 100644 index 000000000..f46568ba1 --- /dev/null +++ b/services/auth-machine/pkg/logging/logging.go @@ -0,0 +1,17 @@ +package logging + +import ( + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/config" +) + +// LoggerFromConfig initializes a service-specific logger instance. +func Configure(name string, cfg *config.Log) log.Logger { + return log.NewLogger( + log.Name(name), + log.Level(cfg.Level), + log.Pretty(cfg.Pretty), + log.Color(cfg.Color), + log.File(cfg.File), + ) +} diff --git a/extensions/auth-machine/pkg/revaconfig/config.go b/services/auth-machine/pkg/revaconfig/config.go similarity index 94% rename from extensions/auth-machine/pkg/revaconfig/config.go rename to services/auth-machine/pkg/revaconfig/config.go index 1c9acbacf..637488da0 100644 --- a/extensions/auth-machine/pkg/revaconfig/config.go +++ b/services/auth-machine/pkg/revaconfig/config.go @@ -1,7 +1,7 @@ package revaconfig import ( - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/config" + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/config" ) // AuthMachineConfigFromStruct will adapt an oCIS config struct into a reva mapstructure to start a reva service. diff --git a/services/auth-machine/pkg/server/debug/option.go b/services/auth-machine/pkg/server/debug/option.go new file mode 100644 index 000000000..2208627e3 --- /dev/null +++ b/services/auth-machine/pkg/server/debug/option.go @@ -0,0 +1,50 @@ +package debug + +import ( + "context" + + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/config" +) + +// Option defines a single option function. +type Option func(o *Options) + +// Options defines the available options for this package. +type Options struct { + Logger log.Logger + Context context.Context + Config *config.Config +} + +// newOptions initializes the available default options. +func newOptions(opts ...Option) Options { + opt := Options{} + + for _, o := range opts { + o(&opt) + } + + return opt +} + +// Logger provides a function to set the logger option. +func Logger(val log.Logger) Option { + return func(o *Options) { + o.Logger = val + } +} + +// Context provides a function to set the context option. +func Context(val context.Context) Option { + return func(o *Options) { + o.Context = val + } +} + +// Config provides a function to set the config option. +func Config(val *config.Config) Option { + return func(o *Options) { + o.Config = val + } +} diff --git a/services/auth-machine/pkg/server/debug/server.go b/services/auth-machine/pkg/server/debug/server.go new file mode 100644 index 000000000..d2f3b1fc4 --- /dev/null +++ b/services/auth-machine/pkg/server/debug/server.go @@ -0,0 +1,63 @@ +package debug + +import ( + "io" + "net/http" + + "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" + "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/config" +) + +// Server initializes the debug service and server. +func Server(opts ...Option) (*http.Server, error) { + options := newOptions(opts...) + + return debug.NewService( + debug.Logger(options.Logger), + debug.Name(options.Config.Service.Name), + debug.Version(version.GetString()), + debug.Address(options.Config.Debug.Addr), + debug.Token(options.Config.Debug.Token), + debug.Pprof(options.Config.Debug.Pprof), + debug.Zpages(options.Config.Debug.Zpages), + debug.Health(health(options.Config)), + debug.Ready(ready(options.Config)), + //debug.CorsAllowedOrigins(options.Config.HTTP.CORS.AllowedOrigins), + //debug.CorsAllowedMethods(options.Config.HTTP.CORS.AllowedMethods), + //debug.CorsAllowedHeaders(options.Config.HTTP.CORS.AllowedHeaders), + //debug.CorsAllowCredentials(options.Config.HTTP.CORS.AllowCredentials), + ), nil +} + +// health implements the health check. +func health(cfg *config.Config) func(http.ResponseWriter, *http.Request) { + return func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "text/plain") + w.WriteHeader(http.StatusOK) + + // TODO: check if services are up and running + + _, err := io.WriteString(w, http.StatusText(http.StatusOK)) + // io.WriteString should not fail but if it does we want to know. + if err != nil { + panic(err) + } + } +} + +// ready implements the ready check. +func ready(cfg *config.Config) func(http.ResponseWriter, *http.Request) { + return func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "text/plain") + w.WriteHeader(http.StatusOK) + + // TODO: check if services are up and running + + _, err := io.WriteString(w, http.StatusText(http.StatusOK)) + // io.WriteString should not fail but if it does we want to know. + if err != nil { + panic(err) + } + } +} diff --git a/services/auth-machine/pkg/tracing/tracing.go b/services/auth-machine/pkg/tracing/tracing.go new file mode 100644 index 000000000..cd6cbc75a --- /dev/null +++ b/services/auth-machine/pkg/tracing/tracing.go @@ -0,0 +1,18 @@ +package tracing + +import ( + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/config" + "go.opentelemetry.io/otel/trace" +) + +var ( + // TraceProvider is the global trace provider for the service. + TraceProvider = trace.NewNoopTracerProvider() +) + +func Configure(cfg *config.Config, logger log.Logger) error { + tracing.Configure(cfg.Tracing.Enabled, cfg.Tracing.Type, logger) + return nil +} diff --git a/extensions/frontend/Makefile b/services/frontend/Makefile similarity index 100% rename from extensions/frontend/Makefile rename to services/frontend/Makefile diff --git a/extensions/search/cmd/search/main.go b/services/frontend/cmd/frontend/main.go similarity index 52% rename from extensions/search/cmd/search/main.go rename to services/frontend/cmd/frontend/main.go index c2e4061d8..cbdc5dac5 100644 --- a/extensions/search/cmd/search/main.go +++ b/services/frontend/cmd/frontend/main.go @@ -3,8 +3,8 @@ package main import ( "os" - "github.com/owncloud/ocis/v2/extensions/search/pkg/command" - "github.com/owncloud/ocis/v2/extensions/search/pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/frontend/pkg/command" + "github.com/owncloud/ocis/v2/services/frontend/pkg/config/defaults" ) func main() { diff --git a/extensions/webdav/pkg/command/health.go b/services/frontend/pkg/command/health.go similarity index 84% rename from extensions/webdav/pkg/command/health.go rename to services/frontend/pkg/command/health.go index bf31f5c79..158586826 100644 --- a/extensions/webdav/pkg/command/health.go +++ b/services/frontend/pkg/command/health.go @@ -4,9 +4,9 @@ import ( "fmt" "net/http" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/config" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/logging" + "github.com/owncloud/ocis/v2/services/frontend/pkg/config" + "github.com/owncloud/ocis/v2/services/frontend/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/frontend/pkg/logging" "github.com/urfave/cli/v2" ) diff --git a/extensions/frontend/pkg/command/root.go b/services/frontend/pkg/command/root.go similarity index 95% rename from extensions/frontend/pkg/command/root.go rename to services/frontend/pkg/command/root.go index c5eca20b6..313a13496 100644 --- a/extensions/frontend/pkg/command/root.go +++ b/services/frontend/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/frontend/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/frontend/pkg/command/server.go b/services/frontend/pkg/command/server.go similarity index 86% rename from extensions/frontend/pkg/command/server.go rename to services/frontend/pkg/command/server.go index 90d395ac4..f52e97ba8 100644 --- a/extensions/frontend/pkg/command/server.go +++ b/services/frontend/pkg/command/server.go @@ -9,15 +9,15 @@ import ( "github.com/cs3org/reva/v2/cmd/revad/runtime" "github.com/gofrs/uuid" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/config" - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/revaconfig" - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/service/external" "github.com/owncloud/ocis/v2/ocis-pkg/sync" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/frontend/pkg/config" + "github.com/owncloud/ocis/v2/services/frontend/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/frontend/pkg/logging" + "github.com/owncloud/ocis/v2/services/frontend/pkg/revaconfig" + "github.com/owncloud/ocis/v2/services/frontend/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/frontend/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/extensions/graph/pkg/command/version.go b/services/frontend/pkg/command/version.go similarity index 95% rename from extensions/graph/pkg/command/version.go rename to services/frontend/pkg/command/version.go index b36862b14..77ec32121 100644 --- a/extensions/graph/pkg/command/version.go +++ b/services/frontend/pkg/command/version.go @@ -8,7 +8,7 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/version" tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config" + "github.com/owncloud/ocis/v2/services/frontend/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/frontend/pkg/config/config.go b/services/frontend/pkg/config/config.go similarity index 100% rename from extensions/frontend/pkg/config/config.go rename to services/frontend/pkg/config/config.go diff --git a/extensions/frontend/pkg/config/defaults/defaultconfig.go b/services/frontend/pkg/config/defaults/defaultconfig.go similarity index 98% rename from extensions/frontend/pkg/config/defaults/defaultconfig.go rename to services/frontend/pkg/config/defaults/defaultconfig.go index 3dea23c38..b520d75c7 100644 --- a/extensions/frontend/pkg/config/defaults/defaultconfig.go +++ b/services/frontend/pkg/config/defaults/defaultconfig.go @@ -1,7 +1,7 @@ package defaults import ( - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/config" + "github.com/owncloud/ocis/v2/services/frontend/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/frontend/pkg/config/parser/parse.go b/services/frontend/pkg/config/parser/parse.go similarity index 89% rename from extensions/frontend/pkg/config/parser/parse.go rename to services/frontend/pkg/config/parser/parse.go index 6577e7b23..026ae126c 100644 --- a/extensions/frontend/pkg/config/parser/parse.go +++ b/services/frontend/pkg/config/parser/parse.go @@ -3,10 +3,10 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/config" - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/frontend/pkg/config" + "github.com/owncloud/ocis/v2/services/frontend/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/frontend/pkg/config/reva.go b/services/frontend/pkg/config/reva.go similarity index 100% rename from extensions/frontend/pkg/config/reva.go rename to services/frontend/pkg/config/reva.go diff --git a/extensions/groups/pkg/logging/logging.go b/services/frontend/pkg/logging/logging.go similarity index 85% rename from extensions/groups/pkg/logging/logging.go rename to services/frontend/pkg/logging/logging.go index 8303ffbfa..a1b6d6d44 100644 --- a/extensions/groups/pkg/logging/logging.go +++ b/services/frontend/pkg/logging/logging.go @@ -1,8 +1,8 @@ package logging import ( - "github.com/owncloud/ocis/v2/extensions/groups/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/frontend/pkg/config" ) // LoggerFromConfig initializes a service-specific logger instance. diff --git a/extensions/frontend/pkg/revaconfig/config.go b/services/frontend/pkg/revaconfig/config.go similarity index 99% rename from extensions/frontend/pkg/revaconfig/config.go rename to services/frontend/pkg/revaconfig/config.go index aa0ad1643..31fcf9512 100644 --- a/extensions/frontend/pkg/revaconfig/config.go +++ b/services/frontend/pkg/revaconfig/config.go @@ -4,8 +4,8 @@ import ( "path" "strconv" - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/frontend/pkg/config" ) // FrontendConfigFromStruct will adapt an oCIS config struct into a reva mapstructure to start a reva service. diff --git a/extensions/groups/pkg/server/debug/option.go b/services/frontend/pkg/server/debug/option.go similarity index 93% rename from extensions/groups/pkg/server/debug/option.go rename to services/frontend/pkg/server/debug/option.go index 96aa7566a..913fe9a70 100644 --- a/extensions/groups/pkg/server/debug/option.go +++ b/services/frontend/pkg/server/debug/option.go @@ -3,8 +3,8 @@ package debug import ( "context" - "github.com/owncloud/ocis/v2/extensions/groups/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/frontend/pkg/config" ) // Option defines a single option function. diff --git a/extensions/groups/pkg/server/debug/server.go b/services/frontend/pkg/server/debug/server.go similarity index 96% rename from extensions/groups/pkg/server/debug/server.go rename to services/frontend/pkg/server/debug/server.go index f10461c48..84dfc1c71 100644 --- a/extensions/groups/pkg/server/debug/server.go +++ b/services/frontend/pkg/server/debug/server.go @@ -4,9 +4,9 @@ import ( "io" "net/http" - "github.com/owncloud/ocis/v2/extensions/groups/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/frontend/pkg/config" ) // Server initializes the debug service and server. diff --git a/extensions/groups/pkg/tracing/tracing.go b/services/frontend/pkg/tracing/tracing.go similarity index 87% rename from extensions/groups/pkg/tracing/tracing.go rename to services/frontend/pkg/tracing/tracing.go index 93f60b502..84ced0ccb 100644 --- a/extensions/groups/pkg/tracing/tracing.go +++ b/services/frontend/pkg/tracing/tracing.go @@ -1,9 +1,9 @@ package tracing import ( - "github.com/owncloud/ocis/v2/extensions/groups/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/frontend/pkg/config" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/gateway/Makefile b/services/gateway/Makefile similarity index 100% rename from extensions/gateway/Makefile rename to services/gateway/Makefile diff --git a/extensions/audit/cmd/audit/main.go b/services/gateway/cmd/gateway/main.go similarity index 52% rename from extensions/audit/cmd/audit/main.go rename to services/gateway/cmd/gateway/main.go index 3263360b4..d22e80401 100644 --- a/extensions/audit/cmd/audit/main.go +++ b/services/gateway/cmd/gateway/main.go @@ -3,8 +3,8 @@ package main import ( "os" - "github.com/owncloud/ocis/v2/extensions/audit/pkg/command" - "github.com/owncloud/ocis/v2/extensions/audit/pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/gateway/pkg/command" + "github.com/owncloud/ocis/v2/services/gateway/pkg/config/defaults" ) func main() { diff --git a/extensions/graph/pkg/command/health.go b/services/gateway/pkg/command/health.go similarity index 84% rename from extensions/graph/pkg/command/health.go rename to services/gateway/pkg/command/health.go index d6bdf3924..1dd8229b6 100644 --- a/extensions/graph/pkg/command/health.go +++ b/services/gateway/pkg/command/health.go @@ -4,9 +4,9 @@ import ( "fmt" "net/http" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/logging" + "github.com/owncloud/ocis/v2/services/gateway/pkg/config" + "github.com/owncloud/ocis/v2/services/gateway/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/gateway/pkg/logging" "github.com/urfave/cli/v2" ) diff --git a/extensions/gateway/pkg/command/root.go b/services/gateway/pkg/command/root.go similarity index 95% rename from extensions/gateway/pkg/command/root.go rename to services/gateway/pkg/command/root.go index 058d6b4f0..41cddd994 100644 --- a/extensions/gateway/pkg/command/root.go +++ b/services/gateway/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/gateway/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/gateway/pkg/command/server.go b/services/gateway/pkg/command/server.go similarity index 86% rename from extensions/gateway/pkg/command/server.go rename to services/gateway/pkg/command/server.go index 375f0a8f3..3287c9230 100644 --- a/extensions/gateway/pkg/command/server.go +++ b/services/gateway/pkg/command/server.go @@ -9,14 +9,14 @@ import ( "github.com/cs3org/reva/v2/cmd/revad/runtime" "github.com/gofrs/uuid" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/config" - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/revaconfig" - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/service/external" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/gateway/pkg/config" + "github.com/owncloud/ocis/v2/services/gateway/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/gateway/pkg/logging" + "github.com/owncloud/ocis/v2/services/gateway/pkg/revaconfig" + "github.com/owncloud/ocis/v2/services/gateway/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/gateway/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/extensions/store/pkg/command/version.go b/services/gateway/pkg/command/version.go similarity index 95% rename from extensions/store/pkg/command/version.go rename to services/gateway/pkg/command/version.go index 5dcb64923..6e4fcfc07 100644 --- a/extensions/store/pkg/command/version.go +++ b/services/gateway/pkg/command/version.go @@ -8,7 +8,7 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/version" tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/store/pkg/config" + "github.com/owncloud/ocis/v2/services/gateway/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/gateway/pkg/config/config.go b/services/gateway/pkg/config/config.go similarity index 100% rename from extensions/gateway/pkg/config/config.go rename to services/gateway/pkg/config/config.go diff --git a/extensions/gateway/pkg/config/defaults/defaultconfig.go b/services/gateway/pkg/config/defaults/defaultconfig.go similarity index 98% rename from extensions/gateway/pkg/config/defaults/defaultconfig.go rename to services/gateway/pkg/config/defaults/defaultconfig.go index f7616174a..34d36e16e 100644 --- a/extensions/gateway/pkg/config/defaults/defaultconfig.go +++ b/services/gateway/pkg/config/defaults/defaultconfig.go @@ -1,7 +1,7 @@ package defaults import ( - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/config" + "github.com/owncloud/ocis/v2/services/gateway/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/gateway/pkg/config/parser/parse.go b/services/gateway/pkg/config/parser/parse.go similarity index 88% rename from extensions/gateway/pkg/config/parser/parse.go rename to services/gateway/pkg/config/parser/parse.go index 62146646b..aea69ba8c 100644 --- a/extensions/gateway/pkg/config/parser/parse.go +++ b/services/gateway/pkg/config/parser/parse.go @@ -3,10 +3,10 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/config" - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/gateway/pkg/config" + "github.com/owncloud/ocis/v2/services/gateway/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/gateway/pkg/config/reva.go b/services/gateway/pkg/config/reva.go similarity index 100% rename from extensions/gateway/pkg/config/reva.go rename to services/gateway/pkg/config/reva.go diff --git a/extensions/audit/pkg/logging/logging.go b/services/gateway/pkg/logging/logging.go similarity index 85% rename from extensions/audit/pkg/logging/logging.go rename to services/gateway/pkg/logging/logging.go index 17ab56c5c..20e57dfb5 100644 --- a/extensions/audit/pkg/logging/logging.go +++ b/services/gateway/pkg/logging/logging.go @@ -1,8 +1,8 @@ package logging import ( - "github.com/owncloud/ocis/v2/extensions/audit/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/gateway/pkg/config" ) // LoggerFromConfig initializes a service-specific logger instance. diff --git a/extensions/gateway/pkg/revaconfig/config.go b/services/gateway/pkg/revaconfig/config.go similarity index 98% rename from extensions/gateway/pkg/revaconfig/config.go rename to services/gateway/pkg/revaconfig/config.go index ad93f3eae..3d9850a9c 100644 --- a/extensions/gateway/pkg/revaconfig/config.go +++ b/services/gateway/pkg/revaconfig/config.go @@ -8,7 +8,7 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/cs3org/reva/v2/pkg/utils" - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/config" + "github.com/owncloud/ocis/v2/services/gateway/pkg/config" ) // GatewayConfigFromStruct will adapt an oCIS config struct into a reva mapstructure to start a reva service. diff --git a/extensions/graph/pkg/server/debug/option.go b/services/gateway/pkg/server/debug/option.go similarity index 93% rename from extensions/graph/pkg/server/debug/option.go rename to services/gateway/pkg/server/debug/option.go index 5ad37a18d..4ff6334a9 100644 --- a/extensions/graph/pkg/server/debug/option.go +++ b/services/gateway/pkg/server/debug/option.go @@ -3,8 +3,8 @@ package debug import ( "context" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/gateway/pkg/config" ) // Option defines a single option function. diff --git a/extensions/users/pkg/server/debug/server.go b/services/gateway/pkg/server/debug/server.go similarity index 97% rename from extensions/users/pkg/server/debug/server.go rename to services/gateway/pkg/server/debug/server.go index 362e1d2ef..4f2e20c60 100644 --- a/extensions/users/pkg/server/debug/server.go +++ b/services/gateway/pkg/server/debug/server.go @@ -4,9 +4,9 @@ import ( "io" "net/http" - "github.com/owncloud/ocis/v2/extensions/users/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/gateway/pkg/config" ) // Server initializes the debug service and server. diff --git a/extensions/users/pkg/tracing/tracing.go b/services/gateway/pkg/tracing/tracing.go similarity index 87% rename from extensions/users/pkg/tracing/tracing.go rename to services/gateway/pkg/tracing/tracing.go index 661aaff86..82af58316 100644 --- a/extensions/users/pkg/tracing/tracing.go +++ b/services/gateway/pkg/tracing/tracing.go @@ -1,9 +1,9 @@ package tracing import ( - "github.com/owncloud/ocis/v2/extensions/users/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/gateway/pkg/config" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/graph-explorer/.dockerignore b/services/graph-explorer/.dockerignore similarity index 100% rename from extensions/graph-explorer/.dockerignore rename to services/graph-explorer/.dockerignore diff --git a/extensions/graph-explorer/Makefile b/services/graph-explorer/Makefile similarity index 100% rename from extensions/graph-explorer/Makefile rename to services/graph-explorer/Makefile diff --git a/extensions/graph-explorer/assets/.keep b/services/graph-explorer/assets/.keep similarity index 100% rename from extensions/graph-explorer/assets/.keep rename to services/graph-explorer/assets/.keep diff --git a/extensions/auth-machine/cmd/auth-machine/main.go b/services/graph-explorer/cmd/graph-explorer/main.go similarity index 53% rename from extensions/auth-machine/cmd/auth-machine/main.go rename to services/graph-explorer/cmd/graph-explorer/main.go index 5ae469c71..092cd8741 100644 --- a/extensions/auth-machine/cmd/auth-machine/main.go +++ b/services/graph-explorer/cmd/graph-explorer/main.go @@ -3,8 +3,8 @@ package main import ( "os" - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/command" - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/command" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/config/defaults" ) func main() { diff --git a/extensions/graph-explorer/docker/Dockerfile.linux.amd64 b/services/graph-explorer/docker/Dockerfile.linux.amd64 similarity index 100% rename from extensions/graph-explorer/docker/Dockerfile.linux.amd64 rename to services/graph-explorer/docker/Dockerfile.linux.amd64 diff --git a/extensions/graph-explorer/docker/Dockerfile.linux.arm b/services/graph-explorer/docker/Dockerfile.linux.arm similarity index 100% rename from extensions/graph-explorer/docker/Dockerfile.linux.arm rename to services/graph-explorer/docker/Dockerfile.linux.arm diff --git a/extensions/graph-explorer/docker/Dockerfile.linux.arm64 b/services/graph-explorer/docker/Dockerfile.linux.arm64 similarity index 100% rename from extensions/graph-explorer/docker/Dockerfile.linux.arm64 rename to services/graph-explorer/docker/Dockerfile.linux.arm64 diff --git a/extensions/graph-explorer/docker/manifest.tmpl b/services/graph-explorer/docker/manifest.tmpl similarity index 100% rename from extensions/graph-explorer/docker/manifest.tmpl rename to services/graph-explorer/docker/manifest.tmpl diff --git a/extensions/graph-explorer/graph_explorer.go b/services/graph-explorer/graph_explorer.go similarity index 100% rename from extensions/graph-explorer/graph_explorer.go rename to services/graph-explorer/graph_explorer.go diff --git a/extensions/graph-explorer/pkg/assets/option.go b/services/graph-explorer/pkg/assets/option.go similarity index 87% rename from extensions/graph-explorer/pkg/assets/option.go rename to services/graph-explorer/pkg/assets/option.go index d0d5e1155..b02703243 100644 --- a/extensions/graph-explorer/pkg/assets/option.go +++ b/services/graph-explorer/pkg/assets/option.go @@ -3,10 +3,10 @@ package assets import ( "net/http" - graphexplorer "github.com/owncloud/ocis/v2/extensions/graph-explorer" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/assetsfs" "github.com/owncloud/ocis/v2/ocis-pkg/log" + graphexplorer "github.com/owncloud/ocis/v2/services/graph-explorer" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/config" ) // New returns a new http filesystem to serve assets. diff --git a/extensions/app-provider/pkg/command/health.go b/services/graph-explorer/pkg/command/health.go similarity index 84% rename from extensions/app-provider/pkg/command/health.go rename to services/graph-explorer/pkg/command/health.go index f57e9707b..b83a33c82 100644 --- a/extensions/app-provider/pkg/command/health.go +++ b/services/graph-explorer/pkg/command/health.go @@ -4,9 +4,9 @@ import ( "fmt" "net/http" - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/config" - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/logging" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/config" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/logging" "github.com/urfave/cli/v2" ) diff --git a/extensions/graph-explorer/pkg/command/root.go b/services/graph-explorer/pkg/command/root.go similarity index 95% rename from extensions/graph-explorer/pkg/command/root.go rename to services/graph-explorer/pkg/command/root.go index ce7e1dbaf..ad9e1be39 100644 --- a/extensions/graph-explorer/pkg/command/root.go +++ b/services/graph-explorer/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/graph-explorer/pkg/command/server.go b/services/graph-explorer/pkg/command/server.go similarity index 81% rename from extensions/graph-explorer/pkg/command/server.go rename to services/graph-explorer/pkg/command/server.go index f70d840f6..db484c4db 100644 --- a/extensions/graph-explorer/pkg/command/server.go +++ b/services/graph-explorer/pkg/command/server.go @@ -6,14 +6,14 @@ import ( "os" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/config" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/metrics" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/server/http" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/config" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/logging" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/metrics" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/server/http" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/extensions/frontend/pkg/command/version.go b/services/graph-explorer/pkg/command/version.go similarity index 95% rename from extensions/frontend/pkg/command/version.go rename to services/graph-explorer/pkg/command/version.go index 33e305f4b..49b923e9a 100644 --- a/extensions/frontend/pkg/command/version.go +++ b/services/graph-explorer/pkg/command/version.go @@ -8,7 +8,7 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/version" tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/config" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/graph-explorer/pkg/config/config.go b/services/graph-explorer/pkg/config/config.go similarity index 100% rename from extensions/graph-explorer/pkg/config/config.go rename to services/graph-explorer/pkg/config/config.go diff --git a/extensions/graph-explorer/pkg/config/debug.go b/services/graph-explorer/pkg/config/debug.go similarity index 100% rename from extensions/graph-explorer/pkg/config/debug.go rename to services/graph-explorer/pkg/config/debug.go diff --git a/extensions/graph-explorer/pkg/config/defaults/defaultconfig.go b/services/graph-explorer/pkg/config/defaults/defaultconfig.go similarity index 96% rename from extensions/graph-explorer/pkg/config/defaults/defaultconfig.go rename to services/graph-explorer/pkg/config/defaults/defaultconfig.go index 1e2d77b16..f342e7037 100644 --- a/extensions/graph-explorer/pkg/config/defaults/defaultconfig.go +++ b/services/graph-explorer/pkg/config/defaults/defaultconfig.go @@ -3,7 +3,7 @@ package defaults import ( "strings" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/config" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/graph-explorer/pkg/config/http.go b/services/graph-explorer/pkg/config/http.go similarity index 100% rename from extensions/graph-explorer/pkg/config/http.go rename to services/graph-explorer/pkg/config/http.go diff --git a/extensions/graph-explorer/pkg/config/log.go b/services/graph-explorer/pkg/config/log.go similarity index 100% rename from extensions/graph-explorer/pkg/config/log.go rename to services/graph-explorer/pkg/config/log.go diff --git a/extensions/graph-explorer/pkg/config/parser/parse.go b/services/graph-explorer/pkg/config/parser/parse.go similarity index 84% rename from extensions/graph-explorer/pkg/config/parser/parse.go rename to services/graph-explorer/pkg/config/parser/parse.go index d6f355a2f..a77ced49d 100644 --- a/extensions/graph-explorer/pkg/config/parser/parse.go +++ b/services/graph-explorer/pkg/config/parser/parse.go @@ -3,9 +3,9 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/config" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/config" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/graph-explorer/pkg/config/service.go b/services/graph-explorer/pkg/config/service.go similarity index 100% rename from extensions/graph-explorer/pkg/config/service.go rename to services/graph-explorer/pkg/config/service.go diff --git a/extensions/graph-explorer/pkg/config/tracing.go b/services/graph-explorer/pkg/config/tracing.go similarity index 100% rename from extensions/graph-explorer/pkg/config/tracing.go rename to services/graph-explorer/pkg/config/tracing.go diff --git a/extensions/auth-machine/pkg/logging/logging.go b/services/graph-explorer/pkg/logging/logging.go similarity index 84% rename from extensions/auth-machine/pkg/logging/logging.go rename to services/graph-explorer/pkg/logging/logging.go index 84c3be9c6..7fd5a58f4 100644 --- a/extensions/auth-machine/pkg/logging/logging.go +++ b/services/graph-explorer/pkg/logging/logging.go @@ -1,8 +1,8 @@ package logging import ( - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/config" ) // LoggerFromConfig initializes a service-specific logger instance. diff --git a/extensions/graph-explorer/pkg/metrics/metrics.go b/services/graph-explorer/pkg/metrics/metrics.go similarity index 100% rename from extensions/graph-explorer/pkg/metrics/metrics.go rename to services/graph-explorer/pkg/metrics/metrics.go diff --git a/extensions/app-provider/pkg/server/debug/option.go b/services/graph-explorer/pkg/server/debug/option.go similarity index 93% rename from extensions/app-provider/pkg/server/debug/option.go rename to services/graph-explorer/pkg/server/debug/option.go index b0ca9348a..ac86e54fd 100644 --- a/extensions/app-provider/pkg/server/debug/option.go +++ b/services/graph-explorer/pkg/server/debug/option.go @@ -3,8 +3,8 @@ package debug import ( "context" - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/config" ) // Option defines a single option function. diff --git a/services/graph-explorer/pkg/server/debug/server.go b/services/graph-explorer/pkg/server/debug/server.go new file mode 100644 index 000000000..424d621f3 --- /dev/null +++ b/services/graph-explorer/pkg/server/debug/server.go @@ -0,0 +1,59 @@ +package debug + +import ( + "io" + "net/http" + + "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" + "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/config" +) + +// Server initializes the debug service and server. +func Server(opts ...Option) (*http.Server, error) { + options := newOptions(opts...) + + return debug.NewService( + debug.Logger(options.Logger), + debug.Name(options.Config.Service.Name), + debug.Version(version.GetString()), + debug.Address(options.Config.Debug.Addr), + debug.Token(options.Config.Debug.Token), + debug.Pprof(options.Config.Debug.Pprof), + debug.Zpages(options.Config.Debug.Zpages), + debug.Health(health(options.Config)), + debug.Ready(ready(options.Config)), + ), nil +} + +// health implements the health check. +func health(cfg *config.Config) func(http.ResponseWriter, *http.Request) { + return func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "text/plain") + w.WriteHeader(http.StatusOK) + + // TODO: check if services are up and running + + _, err := io.WriteString(w, http.StatusText(http.StatusOK)) + // io.WriteString should not fail but if it does we want to know. + if err != nil { + panic(err) + } + } +} + +// ready implements the ready check. +func ready(cfg *config.Config) func(http.ResponseWriter, *http.Request) { + return func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "text/plain") + w.WriteHeader(http.StatusOK) + + // TODO: check if services are up and running + + _, err := io.WriteString(w, http.StatusText(http.StatusOK)) + // io.WriteString should not fail but if it does we want to know. + if err != nil { + panic(err) + } + } +} diff --git a/extensions/graph-explorer/pkg/server/http/option.go b/services/graph-explorer/pkg/server/http/option.go similarity index 91% rename from extensions/graph-explorer/pkg/server/http/option.go rename to services/graph-explorer/pkg/server/http/option.go index 3edd09578..b17485282 100644 --- a/extensions/graph-explorer/pkg/server/http/option.go +++ b/services/graph-explorer/pkg/server/http/option.go @@ -3,9 +3,9 @@ package http import ( "context" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/config" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/metrics" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/config" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/metrics" "github.com/urfave/cli/v2" ) diff --git a/extensions/graph-explorer/pkg/server/http/server.go b/services/graph-explorer/pkg/server/http/server.go similarity index 94% rename from extensions/graph-explorer/pkg/server/http/server.go rename to services/graph-explorer/pkg/server/http/server.go index 865bf7b10..bb35c2cd1 100644 --- a/extensions/graph-explorer/pkg/server/http/server.go +++ b/services/graph-explorer/pkg/server/http/server.go @@ -2,10 +2,10 @@ package http import ( chimiddleware "github.com/go-chi/chi/v5/middleware" - svc "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/service/v0" "github.com/owncloud/ocis/v2/ocis-pkg/middleware" "github.com/owncloud/ocis/v2/ocis-pkg/service/http" "github.com/owncloud/ocis/v2/ocis-pkg/version" + svc "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/service/v0" "go-micro.dev/v4" ) diff --git a/extensions/graph-explorer/pkg/service/v0/instrument.go b/services/graph-explorer/pkg/service/v0/instrument.go similarity index 89% rename from extensions/graph-explorer/pkg/service/v0/instrument.go rename to services/graph-explorer/pkg/service/v0/instrument.go index 82bf24f2b..58dfd3d01 100644 --- a/extensions/graph-explorer/pkg/service/v0/instrument.go +++ b/services/graph-explorer/pkg/service/v0/instrument.go @@ -3,7 +3,7 @@ package svc import ( "net/http" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/metrics" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/metrics" ) // NewInstrument returns a service that instruments metrics. diff --git a/extensions/graph-explorer/pkg/service/v0/logging.go b/services/graph-explorer/pkg/service/v0/logging.go similarity index 100% rename from extensions/graph-explorer/pkg/service/v0/logging.go rename to services/graph-explorer/pkg/service/v0/logging.go diff --git a/extensions/graph-explorer/pkg/service/v0/option.go b/services/graph-explorer/pkg/service/v0/option.go similarity index 93% rename from extensions/graph-explorer/pkg/service/v0/option.go rename to services/graph-explorer/pkg/service/v0/option.go index ea1eb949f..f3a2f690f 100644 --- a/extensions/graph-explorer/pkg/service/v0/option.go +++ b/services/graph-explorer/pkg/service/v0/option.go @@ -3,8 +3,8 @@ package svc import ( "net/http" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/config" ) // Option defines a single option function. diff --git a/extensions/graph-explorer/pkg/service/v0/service.go b/services/graph-explorer/pkg/service/v0/service.go similarity index 95% rename from extensions/graph-explorer/pkg/service/v0/service.go rename to services/graph-explorer/pkg/service/v0/service.go index 3875aa90b..055f82388 100644 --- a/extensions/graph-explorer/pkg/service/v0/service.go +++ b/services/graph-explorer/pkg/service/v0/service.go @@ -7,9 +7,9 @@ import ( "strings" "github.com/go-chi/chi/v5" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/assets" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/assets" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/config" ) // Service defines the extension handlers. diff --git a/extensions/graph-explorer/pkg/service/v0/tracing.go b/services/graph-explorer/pkg/service/v0/tracing.go similarity index 100% rename from extensions/graph-explorer/pkg/service/v0/tracing.go rename to services/graph-explorer/pkg/service/v0/tracing.go diff --git a/extensions/graph-explorer/pkg/tracing/tracing.go b/services/graph-explorer/pkg/tracing/tracing.go similarity index 88% rename from extensions/graph-explorer/pkg/tracing/tracing.go rename to services/graph-explorer/pkg/tracing/tracing.go index 12c3f1638..2371083fb 100644 --- a/extensions/graph-explorer/pkg/tracing/tracing.go +++ b/services/graph-explorer/pkg/tracing/tracing.go @@ -1,8 +1,8 @@ package tracing import ( - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/config" pkgtrace "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/config" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/graph-explorer/reflex.conf b/services/graph-explorer/reflex.conf similarity index 100% rename from extensions/graph-explorer/reflex.conf rename to services/graph-explorer/reflex.conf diff --git a/extensions/graph/.dockerignore b/services/graph/.dockerignore similarity index 100% rename from extensions/graph/.dockerignore rename to services/graph/.dockerignore diff --git a/extensions/graph/Makefile b/services/graph/Makefile similarity index 100% rename from extensions/graph/Makefile rename to services/graph/Makefile diff --git a/extensions/ocs/cmd/ocs/main.go b/services/graph/cmd/graph/main.go similarity index 52% rename from extensions/ocs/cmd/ocs/main.go rename to services/graph/cmd/graph/main.go index b40fbb050..7844daa6a 100644 --- a/extensions/ocs/cmd/ocs/main.go +++ b/services/graph/cmd/graph/main.go @@ -3,8 +3,8 @@ package main import ( "os" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/command" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/graph/pkg/command" + "github.com/owncloud/ocis/v2/services/graph/pkg/config/defaults" ) func main() { diff --git a/extensions/graph/docker/Dockerfile.linux.amd64 b/services/graph/docker/Dockerfile.linux.amd64 similarity index 100% rename from extensions/graph/docker/Dockerfile.linux.amd64 rename to services/graph/docker/Dockerfile.linux.amd64 diff --git a/extensions/graph/docker/Dockerfile.linux.arm b/services/graph/docker/Dockerfile.linux.arm similarity index 100% rename from extensions/graph/docker/Dockerfile.linux.arm rename to services/graph/docker/Dockerfile.linux.arm diff --git a/extensions/graph/docker/Dockerfile.linux.arm64 b/services/graph/docker/Dockerfile.linux.arm64 similarity index 100% rename from extensions/graph/docker/Dockerfile.linux.arm64 rename to services/graph/docker/Dockerfile.linux.arm64 diff --git a/extensions/graph/docker/manifest.tmpl b/services/graph/docker/manifest.tmpl similarity index 100% rename from extensions/graph/docker/manifest.tmpl rename to services/graph/docker/manifest.tmpl diff --git a/extensions/graph/mocks/gateway_client.go b/services/graph/mocks/gateway_client.go similarity index 100% rename from extensions/graph/mocks/gateway_client.go rename to services/graph/mocks/gateway_client.go diff --git a/extensions/graph/mocks/http_client.go b/services/graph/mocks/http_client.go similarity index 100% rename from extensions/graph/mocks/http_client.go rename to services/graph/mocks/http_client.go diff --git a/extensions/graph/mocks/ldapclient.go b/services/graph/mocks/ldapclient.go similarity index 100% rename from extensions/graph/mocks/ldapclient.go rename to services/graph/mocks/ldapclient.go diff --git a/extensions/graph/mocks/publisher.go b/services/graph/mocks/publisher.go similarity index 100% rename from extensions/graph/mocks/publisher.go rename to services/graph/mocks/publisher.go diff --git a/extensions/ocs/pkg/command/health.go b/services/graph/pkg/command/health.go similarity index 84% rename from extensions/ocs/pkg/command/health.go rename to services/graph/pkg/command/health.go index 125f0d590..e1cbbbd64 100644 --- a/extensions/ocs/pkg/command/health.go +++ b/services/graph/pkg/command/health.go @@ -4,9 +4,9 @@ import ( "fmt" "net/http" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/config" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/logging" + "github.com/owncloud/ocis/v2/services/graph/pkg/config" + "github.com/owncloud/ocis/v2/services/graph/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/graph/pkg/logging" "github.com/urfave/cli/v2" ) diff --git a/extensions/graph/pkg/command/root.go b/services/graph/pkg/command/root.go similarity index 95% rename from extensions/graph/pkg/command/root.go rename to services/graph/pkg/command/root.go index d1132fbef..0e563e60e 100644 --- a/extensions/graph/pkg/command/root.go +++ b/services/graph/pkg/command/root.go @@ -7,8 +7,8 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" "github.com/thejerf/suture/v4" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/graph/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/graph/pkg/command/server.go b/services/graph/pkg/command/server.go similarity index 81% rename from extensions/graph/pkg/command/server.go rename to services/graph/pkg/command/server.go index d8d46cc6a..e0a1f0e7b 100644 --- a/extensions/graph/pkg/command/server.go +++ b/services/graph/pkg/command/server.go @@ -6,14 +6,14 @@ import ( "os" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/metrics" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/server/http" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/graph/pkg/config" + "github.com/owncloud/ocis/v2/services/graph/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/graph/pkg/logging" + "github.com/owncloud/ocis/v2/services/graph/pkg/metrics" + "github.com/owncloud/ocis/v2/services/graph/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/graph/pkg/server/http" + "github.com/owncloud/ocis/v2/services/graph/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/extensions/web/pkg/command/version.go b/services/graph/pkg/command/version.go similarity index 95% rename from extensions/web/pkg/command/version.go rename to services/graph/pkg/command/version.go index c792be769..ebf93b143 100644 --- a/extensions/web/pkg/command/version.go +++ b/services/graph/pkg/command/version.go @@ -8,7 +8,7 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/version" tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/web/pkg/config" + "github.com/owncloud/ocis/v2/services/graph/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/graph/pkg/config/config.go b/services/graph/pkg/config/config.go similarity index 100% rename from extensions/graph/pkg/config/config.go rename to services/graph/pkg/config/config.go diff --git a/extensions/graph/pkg/config/debug.go b/services/graph/pkg/config/debug.go similarity index 100% rename from extensions/graph/pkg/config/debug.go rename to services/graph/pkg/config/debug.go diff --git a/extensions/graph/pkg/config/defaults/defaultconfig.go b/services/graph/pkg/config/defaults/defaultconfig.go similarity index 98% rename from extensions/graph/pkg/config/defaults/defaultconfig.go rename to services/graph/pkg/config/defaults/defaultconfig.go index a9c59d81c..508654e31 100644 --- a/extensions/graph/pkg/config/defaults/defaultconfig.go +++ b/services/graph/pkg/config/defaults/defaultconfig.go @@ -4,8 +4,8 @@ import ( "path" "strings" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/graph/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/graph/pkg/config/http.go b/services/graph/pkg/config/http.go similarity index 100% rename from extensions/graph/pkg/config/http.go rename to services/graph/pkg/config/http.go diff --git a/extensions/graph/pkg/config/log.go b/services/graph/pkg/config/log.go similarity index 100% rename from extensions/graph/pkg/config/log.go rename to services/graph/pkg/config/log.go diff --git a/extensions/graph/pkg/config/parser/parse.go b/services/graph/pkg/config/parser/parse.go similarity index 89% rename from extensions/graph/pkg/config/parser/parse.go rename to services/graph/pkg/config/parser/parse.go index 145c52894..d0fa4780b 100644 --- a/extensions/graph/pkg/config/parser/parse.go +++ b/services/graph/pkg/config/parser/parse.go @@ -3,10 +3,10 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/graph/pkg/config" + "github.com/owncloud/ocis/v2/services/graph/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/graph/pkg/config/reva.go b/services/graph/pkg/config/reva.go similarity index 100% rename from extensions/graph/pkg/config/reva.go rename to services/graph/pkg/config/reva.go diff --git a/extensions/graph/pkg/config/service.go b/services/graph/pkg/config/service.go similarity index 100% rename from extensions/graph/pkg/config/service.go rename to services/graph/pkg/config/service.go diff --git a/extensions/graph/pkg/config/tracing.go b/services/graph/pkg/config/tracing.go similarity index 100% rename from extensions/graph/pkg/config/tracing.go rename to services/graph/pkg/config/tracing.go diff --git a/extensions/graph/pkg/identity/backend.go b/services/graph/pkg/identity/backend.go similarity index 100% rename from extensions/graph/pkg/identity/backend.go rename to services/graph/pkg/identity/backend.go diff --git a/extensions/graph/pkg/identity/cs3.go b/services/graph/pkg/identity/cs3.go similarity index 98% rename from extensions/graph/pkg/identity/cs3.go rename to services/graph/pkg/identity/cs3.go index 8c2dd73c6..039edbfb8 100644 --- a/extensions/graph/pkg/identity/cs3.go +++ b/services/graph/pkg/identity/cs3.go @@ -10,9 +10,9 @@ import ( "github.com/cs3org/reva/v2/pkg/rgrpc/todo/pool" libregraph "github.com/owncloud/libre-graph-api-go" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/service/v0/errorcode" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/graph/pkg/config" + "github.com/owncloud/ocis/v2/services/graph/pkg/service/v0/errorcode" ) var ( diff --git a/extensions/graph/pkg/identity/ldap.go b/services/graph/pkg/identity/ldap.go similarity index 99% rename from extensions/graph/pkg/identity/ldap.go rename to services/graph/pkg/identity/ldap.go index f7726179b..959d62e74 100644 --- a/extensions/graph/pkg/identity/ldap.go +++ b/services/graph/pkg/identity/ldap.go @@ -11,9 +11,9 @@ import ( "github.com/gofrs/uuid" ldapdn "github.com/libregraph/idm/pkg/ldapdn" libregraph "github.com/owncloud/libre-graph-api-go" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/service/v0/errorcode" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/graph/pkg/config" + "github.com/owncloud/ocis/v2/services/graph/pkg/service/v0/errorcode" "golang.org/x/exp/slices" ) diff --git a/extensions/graph/pkg/identity/ldap/reconnect.go b/services/graph/pkg/identity/ldap/reconnect.go similarity index 100% rename from extensions/graph/pkg/identity/ldap/reconnect.go rename to services/graph/pkg/identity/ldap/reconnect.go diff --git a/extensions/graph/pkg/identity/ldap_test.go b/services/graph/pkg/identity/ldap_test.go similarity index 99% rename from extensions/graph/pkg/identity/ldap_test.go rename to services/graph/pkg/identity/ldap_test.go index aac54eca4..87d0b1716 100644 --- a/extensions/graph/pkg/identity/ldap_test.go +++ b/services/graph/pkg/identity/ldap_test.go @@ -10,8 +10,8 @@ import ( "time" "github.com/go-ldap/ldap/v3" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/graph/pkg/config" ) // ldapMock implements the ldap.Client interfac diff --git a/extensions/idm/pkg/logging/logging.go b/services/graph/pkg/logging/logging.go similarity index 85% rename from extensions/idm/pkg/logging/logging.go rename to services/graph/pkg/logging/logging.go index 76d45f3e4..d48a2d315 100644 --- a/extensions/idm/pkg/logging/logging.go +++ b/services/graph/pkg/logging/logging.go @@ -1,8 +1,8 @@ package logging import ( - "github.com/owncloud/ocis/v2/extensions/idm/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/graph/pkg/config" ) // LoggerFromConfig initializes a service-specific logger instance. diff --git a/extensions/graph/pkg/metrics/metrics.go b/services/graph/pkg/metrics/metrics.go similarity index 100% rename from extensions/graph/pkg/metrics/metrics.go rename to services/graph/pkg/metrics/metrics.go diff --git a/extensions/graph/pkg/middleware/auth.go b/services/graph/pkg/middleware/auth.go similarity index 97% rename from extensions/graph/pkg/middleware/auth.go rename to services/graph/pkg/middleware/auth.go index e123ba8db..fc6c487f7 100644 --- a/extensions/graph/pkg/middleware/auth.go +++ b/services/graph/pkg/middleware/auth.go @@ -6,9 +6,9 @@ import ( "github.com/cs3org/reva/v2/pkg/auth/scope" revactx "github.com/cs3org/reva/v2/pkg/ctx" "github.com/cs3org/reva/v2/pkg/token/manager/jwt" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/service/v0/errorcode" "github.com/owncloud/ocis/v2/ocis-pkg/account" opkgm "github.com/owncloud/ocis/v2/ocis-pkg/middleware" + "github.com/owncloud/ocis/v2/services/graph/pkg/service/v0/errorcode" gmmetadata "go-micro.dev/v4/metadata" "google.golang.org/grpc/metadata" ) diff --git a/extensions/graph/pkg/middleware/requireadmin.go b/services/graph/pkg/middleware/requireadmin.go similarity index 92% rename from extensions/graph/pkg/middleware/requireadmin.go rename to services/graph/pkg/middleware/requireadmin.go index 5bc027ec0..15d679041 100644 --- a/extensions/graph/pkg/middleware/requireadmin.go +++ b/services/graph/pkg/middleware/requireadmin.go @@ -4,10 +4,10 @@ import ( "net/http" revactx "github.com/cs3org/reva/v2/pkg/ctx" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/service/v0/errorcode" - settings "github.com/owncloud/ocis/v2/extensions/settings/pkg/service/v0" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/roles" + "github.com/owncloud/ocis/v2/services/graph/pkg/service/v0/errorcode" + settings "github.com/owncloud/ocis/v2/services/settings/pkg/service/v0" ) // RequireAdmin middleware is used to require the user in context to be an admin / have account management permissions diff --git a/extensions/idm/pkg/server/debug/option.go b/services/graph/pkg/server/debug/option.go similarity index 94% rename from extensions/idm/pkg/server/debug/option.go rename to services/graph/pkg/server/debug/option.go index 1eca46af3..a4b779eb2 100644 --- a/extensions/idm/pkg/server/debug/option.go +++ b/services/graph/pkg/server/debug/option.go @@ -3,8 +3,8 @@ package debug import ( "context" - "github.com/owncloud/ocis/v2/extensions/idm/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/graph/pkg/config" ) // Option defines a single option function. diff --git a/extensions/web/pkg/server/debug/server.go b/services/graph/pkg/server/debug/server.go similarity index 96% rename from extensions/web/pkg/server/debug/server.go rename to services/graph/pkg/server/debug/server.go index 85cd8127d..4b6ad6cec 100644 --- a/extensions/web/pkg/server/debug/server.go +++ b/services/graph/pkg/server/debug/server.go @@ -4,9 +4,9 @@ import ( "io" "net/http" - "github.com/owncloud/ocis/v2/extensions/web/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/graph/pkg/config" ) // Server initializes the debug service and server. diff --git a/extensions/ocs/pkg/server/http/option.go b/services/graph/pkg/server/http/option.go similarity index 92% rename from extensions/ocs/pkg/server/http/option.go rename to services/graph/pkg/server/http/option.go index a2e1fc5b3..641c8438a 100644 --- a/extensions/ocs/pkg/server/http/option.go +++ b/services/graph/pkg/server/http/option.go @@ -3,9 +3,9 @@ package http import ( "context" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/config" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/metrics" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/graph/pkg/config" + "github.com/owncloud/ocis/v2/services/graph/pkg/metrics" "github.com/urfave/cli/v2" ) @@ -14,12 +14,12 @@ type Option func(o *Options) // Options defines the available options for this package. type Options struct { - Namespace string Logger log.Logger Context context.Context Config *config.Config Metrics *metrics.Metrics Flags []cli.Flag + Namespace string } // newOptions initializes the available default options. diff --git a/extensions/graph/pkg/server/http/server.go b/services/graph/pkg/server/http/server.go similarity index 93% rename from extensions/graph/pkg/server/http/server.go rename to services/graph/pkg/server/http/server.go index ed208ad22..5ffb9ae08 100644 --- a/extensions/graph/pkg/server/http/server.go +++ b/services/graph/pkg/server/http/server.go @@ -4,12 +4,12 @@ import ( "github.com/cs3org/reva/v2/pkg/events/server" chimiddleware "github.com/go-chi/chi/v5/middleware" "github.com/go-micro/plugins/v4/events/natsjs" - graphMiddleware "github.com/owncloud/ocis/v2/extensions/graph/pkg/middleware" - svc "github.com/owncloud/ocis/v2/extensions/graph/pkg/service/v0" "github.com/owncloud/ocis/v2/ocis-pkg/account" "github.com/owncloud/ocis/v2/ocis-pkg/middleware" "github.com/owncloud/ocis/v2/ocis-pkg/service/http" "github.com/owncloud/ocis/v2/ocis-pkg/version" + graphMiddleware "github.com/owncloud/ocis/v2/services/graph/pkg/middleware" + svc "github.com/owncloud/ocis/v2/services/graph/pkg/service/v0" "github.com/pkg/errors" "go-micro.dev/v4" ) diff --git a/extensions/graph/pkg/service/v0/driveitems.go b/services/graph/pkg/service/v0/driveitems.go similarity index 99% rename from extensions/graph/pkg/service/v0/driveitems.go rename to services/graph/pkg/service/v0/driveitems.go index 68c40d587..0307bdf00 100644 --- a/extensions/graph/pkg/service/v0/driveitems.go +++ b/services/graph/pkg/service/v0/driveitems.go @@ -15,7 +15,7 @@ import ( "github.com/cs3org/reva/v2/pkg/storagespace" "github.com/go-chi/render" libregraph "github.com/owncloud/libre-graph-api-go" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/service/v0/errorcode" + "github.com/owncloud/ocis/v2/services/graph/pkg/service/v0/errorcode" ) // GetRootDriveChildren implements the Service interface. diff --git a/extensions/graph/pkg/service/v0/drives.go b/services/graph/pkg/service/v0/drives.go similarity index 99% rename from extensions/graph/pkg/service/v0/drives.go rename to services/graph/pkg/service/v0/drives.go index 1a0d9db1f..956b5b6d7 100644 --- a/extensions/graph/pkg/service/v0/drives.go +++ b/services/graph/pkg/service/v0/drives.go @@ -24,11 +24,11 @@ import ( "github.com/go-chi/chi/v5" "github.com/go-chi/render" libregraph "github.com/owncloud/libre-graph-api-go" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/service/v0/errorcode" - settingsServiceExt "github.com/owncloud/ocis/v2/extensions/settings/pkg/service/v0" "github.com/owncloud/ocis/v2/ocis-pkg/service/grpc" v0 "github.com/owncloud/ocis/v2/protogen/gen/ocis/messages/settings/v0" settingssvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/settings/v0" + "github.com/owncloud/ocis/v2/services/graph/pkg/service/v0/errorcode" + settingsServiceExt "github.com/owncloud/ocis/v2/services/settings/pkg/service/v0" merrors "go-micro.dev/v4/errors" ) diff --git a/extensions/graph/pkg/service/v0/drives_test.go b/services/graph/pkg/service/v0/drives_test.go similarity index 100% rename from extensions/graph/pkg/service/v0/drives_test.go rename to services/graph/pkg/service/v0/drives_test.go diff --git a/extensions/graph/pkg/service/v0/errorcode/errorcode.go b/services/graph/pkg/service/v0/errorcode/errorcode.go similarity index 100% rename from extensions/graph/pkg/service/v0/errorcode/errorcode.go rename to services/graph/pkg/service/v0/errorcode/errorcode.go diff --git a/extensions/graph/pkg/service/v0/graph.go b/services/graph/pkg/service/v0/graph.go similarity index 97% rename from extensions/graph/pkg/service/v0/graph.go rename to services/graph/pkg/service/v0/graph.go index 1b0ab4246..9117b56b1 100644 --- a/extensions/graph/pkg/service/v0/graph.go +++ b/services/graph/pkg/service/v0/graph.go @@ -9,10 +9,10 @@ import ( provider "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1" "github.com/cs3org/reva/v2/pkg/events" "github.com/go-chi/chi/v5" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/identity" "github.com/owncloud/ocis/v2/ocis-pkg/log" settingssvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/settings/v0" + "github.com/owncloud/ocis/v2/services/graph/pkg/config" + "github.com/owncloud/ocis/v2/services/graph/pkg/identity" mevents "go-micro.dev/v4/events" "google.golang.org/grpc" ) diff --git a/extensions/graph/pkg/service/v0/graph_suite_test.go b/services/graph/pkg/service/v0/graph_suite_test.go similarity index 100% rename from extensions/graph/pkg/service/v0/graph_suite_test.go rename to services/graph/pkg/service/v0/graph_suite_test.go diff --git a/extensions/graph/pkg/service/v0/graph_test.go b/services/graph/pkg/service/v0/graph_test.go similarity index 97% rename from extensions/graph/pkg/service/v0/graph_test.go rename to services/graph/pkg/service/v0/graph_test.go index 89ce1fb02..a119713c3 100644 --- a/extensions/graph/pkg/service/v0/graph_test.go +++ b/services/graph/pkg/service/v0/graph_test.go @@ -17,11 +17,11 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" libregraph "github.com/owncloud/libre-graph-api-go" - "github.com/owncloud/ocis/v2/extensions/graph/mocks" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config/defaults" - service "github.com/owncloud/ocis/v2/extensions/graph/pkg/service/v0" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/service/v0/errorcode" + "github.com/owncloud/ocis/v2/services/graph/mocks" + "github.com/owncloud/ocis/v2/services/graph/pkg/config" + "github.com/owncloud/ocis/v2/services/graph/pkg/config/defaults" + service "github.com/owncloud/ocis/v2/services/graph/pkg/service/v0" + "github.com/owncloud/ocis/v2/services/graph/pkg/service/v0/errorcode" "github.com/stretchr/testify/mock" ) diff --git a/extensions/graph/pkg/service/v0/groups.go b/services/graph/pkg/service/v0/groups.go similarity index 99% rename from extensions/graph/pkg/service/v0/groups.go rename to services/graph/pkg/service/v0/groups.go index 6d19bd7b4..8afdf65a0 100644 --- a/extensions/graph/pkg/service/v0/groups.go +++ b/services/graph/pkg/service/v0/groups.go @@ -11,7 +11,7 @@ import ( "github.com/CiscoM31/godata" libregraph "github.com/owncloud/libre-graph-api-go" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/service/v0/errorcode" + "github.com/owncloud/ocis/v2/services/graph/pkg/service/v0/errorcode" ctxpkg "github.com/cs3org/reva/v2/pkg/ctx" "github.com/cs3org/reva/v2/pkg/events" diff --git a/extensions/graph/pkg/service/v0/instrument.go b/services/graph/pkg/service/v0/instrument.go similarity index 97% rename from extensions/graph/pkg/service/v0/instrument.go rename to services/graph/pkg/service/v0/instrument.go index 7cad7f7c9..80503fe9b 100644 --- a/extensions/graph/pkg/service/v0/instrument.go +++ b/services/graph/pkg/service/v0/instrument.go @@ -3,7 +3,7 @@ package svc import ( "net/http" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/metrics" + "github.com/owncloud/ocis/v2/services/graph/pkg/metrics" ) // NewInstrument returns a service that instruments metrics. diff --git a/extensions/graph/pkg/service/v0/logging.go b/services/graph/pkg/service/v0/logging.go similarity index 100% rename from extensions/graph/pkg/service/v0/logging.go rename to services/graph/pkg/service/v0/logging.go diff --git a/extensions/graph/pkg/service/v0/net/headers.go b/services/graph/pkg/service/v0/net/headers.go similarity index 100% rename from extensions/graph/pkg/service/v0/net/headers.go rename to services/graph/pkg/service/v0/net/headers.go diff --git a/extensions/graph/pkg/service/v0/option.go b/services/graph/pkg/service/v0/option.go similarity index 95% rename from extensions/graph/pkg/service/v0/option.go rename to services/graph/pkg/service/v0/option.go index b8ebe4747..90a2b1b72 100644 --- a/extensions/graph/pkg/service/v0/option.go +++ b/services/graph/pkg/service/v0/option.go @@ -4,11 +4,11 @@ import ( "net/http" "github.com/cs3org/reva/v2/pkg/events" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/identity" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/roles" settingssvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/settings/v0" + "github.com/owncloud/ocis/v2/services/graph/pkg/config" + "github.com/owncloud/ocis/v2/services/graph/pkg/identity" ) // Option defines a single option function. diff --git a/extensions/graph/pkg/service/v0/ordering.go b/services/graph/pkg/service/v0/ordering.go similarity index 100% rename from extensions/graph/pkg/service/v0/ordering.go rename to services/graph/pkg/service/v0/ordering.go diff --git a/extensions/graph/pkg/service/v0/password.go b/services/graph/pkg/service/v0/password.go similarity index 97% rename from extensions/graph/pkg/service/v0/password.go rename to services/graph/pkg/service/v0/password.go index c94b969f3..b5318953d 100644 --- a/extensions/graph/pkg/service/v0/password.go +++ b/services/graph/pkg/service/v0/password.go @@ -13,7 +13,7 @@ import ( "github.com/cs3org/reva/v2/pkg/events" "github.com/go-chi/render" libregraph "github.com/owncloud/libre-graph-api-go" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/service/v0/errorcode" + "github.com/owncloud/ocis/v2/services/graph/pkg/service/v0/errorcode" ) // ChangeOwnPassword implements the Service interface. It allows the user to change diff --git a/extensions/graph/pkg/service/v0/password_test.go b/services/graph/pkg/service/v0/password_test.go similarity index 94% rename from extensions/graph/pkg/service/v0/password_test.go rename to services/graph/pkg/service/v0/password_test.go index 65a0cb2ed..e26242ca7 100644 --- a/extensions/graph/pkg/service/v0/password_test.go +++ b/services/graph/pkg/service/v0/password_test.go @@ -16,12 +16,12 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" libregraph "github.com/owncloud/libre-graph-api-go" - "github.com/owncloud/ocis/v2/extensions/graph/mocks" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config/defaults" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/identity" - service "github.com/owncloud/ocis/v2/extensions/graph/pkg/service/v0" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/graph/mocks" + "github.com/owncloud/ocis/v2/services/graph/pkg/config" + "github.com/owncloud/ocis/v2/services/graph/pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/graph/pkg/identity" + service "github.com/owncloud/ocis/v2/services/graph/pkg/service/v0" "github.com/stretchr/testify/mock" ) diff --git a/extensions/graph/pkg/service/v0/service.go b/services/graph/pkg/service/v0/service.go similarity index 97% rename from extensions/graph/pkg/service/v0/service.go rename to services/graph/pkg/service/v0/service.go index ee31660a8..75066e61d 100644 --- a/extensions/graph/pkg/service/v0/service.go +++ b/services/graph/pkg/service/v0/service.go @@ -13,13 +13,13 @@ import ( "github.com/go-chi/chi/v5" "github.com/go-chi/chi/v5/middleware" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/identity" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/identity/ldap" - graphm "github.com/owncloud/ocis/v2/extensions/graph/pkg/middleware" ocisldap "github.com/owncloud/ocis/v2/ocis-pkg/ldap" "github.com/owncloud/ocis/v2/ocis-pkg/roles" "github.com/owncloud/ocis/v2/ocis-pkg/service/grpc" settingssvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/settings/v0" + "github.com/owncloud/ocis/v2/services/graph/pkg/identity" + "github.com/owncloud/ocis/v2/services/graph/pkg/identity/ldap" + graphm "github.com/owncloud/ocis/v2/services/graph/pkg/middleware" ) const ( diff --git a/extensions/graph/pkg/service/v0/service_test.go b/services/graph/pkg/service/v0/service_test.go similarity index 100% rename from extensions/graph/pkg/service/v0/service_test.go rename to services/graph/pkg/service/v0/service_test.go diff --git a/extensions/graph/pkg/service/v0/tracing.go b/services/graph/pkg/service/v0/tracing.go similarity index 100% rename from extensions/graph/pkg/service/v0/tracing.go rename to services/graph/pkg/service/v0/tracing.go diff --git a/extensions/graph/pkg/service/v0/users.go b/services/graph/pkg/service/v0/users.go similarity index 97% rename from extensions/graph/pkg/service/v0/users.go rename to services/graph/pkg/service/v0/users.go index d567e3e98..96f8e9cc7 100644 --- a/extensions/graph/pkg/service/v0/users.go +++ b/services/graph/pkg/service/v0/users.go @@ -17,10 +17,10 @@ import ( "github.com/go-chi/chi/v5" "github.com/go-chi/render" libregraph "github.com/owncloud/libre-graph-api-go" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/identity" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/service/v0/errorcode" - settingssvc "github.com/owncloud/ocis/v2/extensions/settings/pkg/service/v0" settings "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/settings/v0" + "github.com/owncloud/ocis/v2/services/graph/pkg/identity" + "github.com/owncloud/ocis/v2/services/graph/pkg/service/v0/errorcode" + settingssvc "github.com/owncloud/ocis/v2/services/settings/pkg/service/v0" ) // GetMe implements the Service interface. diff --git a/extensions/graph/pkg/tracing/tracing.go b/services/graph/pkg/tracing/tracing.go similarity index 89% rename from extensions/graph/pkg/tracing/tracing.go rename to services/graph/pkg/tracing/tracing.go index fe7439f63..b0b22395b 100644 --- a/extensions/graph/pkg/tracing/tracing.go +++ b/services/graph/pkg/tracing/tracing.go @@ -1,8 +1,8 @@ package tracing import ( - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config" pkgtrace "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/graph/pkg/config" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/graph/reflex.conf b/services/graph/reflex.conf similarity index 100% rename from extensions/graph/reflex.conf rename to services/graph/reflex.conf diff --git a/extensions/groups/Makefile b/services/groups/Makefile similarity index 100% rename from extensions/groups/Makefile rename to services/groups/Makefile diff --git a/extensions/nats/cmd/nats/main.go b/services/groups/cmd/groups/main.go similarity index 52% rename from extensions/nats/cmd/nats/main.go rename to services/groups/cmd/groups/main.go index afd942568..2172fc845 100644 --- a/extensions/nats/cmd/nats/main.go +++ b/services/groups/cmd/groups/main.go @@ -3,8 +3,8 @@ package main import ( "os" - "github.com/owncloud/ocis/v2/extensions/nats/pkg/command" - "github.com/owncloud/ocis/v2/extensions/nats/pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/groups/pkg/command" + "github.com/owncloud/ocis/v2/services/groups/pkg/config/defaults" ) func main() { diff --git a/services/groups/pkg/command/health.go b/services/groups/pkg/command/health.go new file mode 100644 index 000000000..9925b7ce6 --- /dev/null +++ b/services/groups/pkg/command/health.go @@ -0,0 +1,57 @@ +package command + +import ( + "fmt" + "net/http" + + "github.com/owncloud/ocis/v2/services/groups/pkg/config" + "github.com/owncloud/ocis/v2/services/groups/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/groups/pkg/logging" + "github.com/urfave/cli/v2" +) + +// Health is the entrypoint for the health command. +func Health(cfg *config.Config) *cli.Command { + return &cli.Command{ + Name: "health", + Usage: "check health status", + Category: "info", + Before: func(c *cli.Context) error { + err := parser.ParseConfig(cfg) + if err != nil { + fmt.Printf("%v", err) + } + return err + }, + Action: func(c *cli.Context) error { + logger := logging.Configure(cfg.Service.Name, cfg.Log) + + resp, err := http.Get( + fmt.Sprintf( + "http://%s/healthz", + cfg.Debug.Addr, + ), + ) + + if err != nil { + logger.Fatal(). + Err(err). + Msg("Failed to request health check") + } + + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + logger.Fatal(). + Int("code", resp.StatusCode). + Msg("Health seems to be in bad state") + } + + logger.Debug(). + Int("code", resp.StatusCode). + Msg("Health got a good state") + + return nil + }, + } +} diff --git a/extensions/groups/pkg/command/root.go b/services/groups/pkg/command/root.go similarity index 95% rename from extensions/groups/pkg/command/root.go rename to services/groups/pkg/command/root.go index 9488ae002..c0de62dfd 100644 --- a/extensions/groups/pkg/command/root.go +++ b/services/groups/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/groups/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/groups/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/groups/pkg/command/server.go b/services/groups/pkg/command/server.go similarity index 89% rename from extensions/groups/pkg/command/server.go rename to services/groups/pkg/command/server.go index 00c1247b3..f90bef7c4 100644 --- a/extensions/groups/pkg/command/server.go +++ b/services/groups/pkg/command/server.go @@ -9,16 +9,16 @@ import ( "github.com/cs3org/reva/v2/cmd/revad/runtime" "github.com/gofrs/uuid" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/groups/pkg/config" - "github.com/owncloud/ocis/v2/extensions/groups/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/groups/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/groups/pkg/revaconfig" - "github.com/owncloud/ocis/v2/extensions/groups/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/groups/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/ldap" "github.com/owncloud/ocis/v2/ocis-pkg/service/external" "github.com/owncloud/ocis/v2/ocis-pkg/sync" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/groups/pkg/config" + "github.com/owncloud/ocis/v2/services/groups/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/groups/pkg/logging" + "github.com/owncloud/ocis/v2/services/groups/pkg/revaconfig" + "github.com/owncloud/ocis/v2/services/groups/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/groups/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/extensions/users/pkg/command/version.go b/services/groups/pkg/command/version.go similarity index 95% rename from extensions/users/pkg/command/version.go rename to services/groups/pkg/command/version.go index 5985b2323..1800ebcf2 100644 --- a/extensions/users/pkg/command/version.go +++ b/services/groups/pkg/command/version.go @@ -8,7 +8,7 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/version" tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/users/pkg/config" + "github.com/owncloud/ocis/v2/services/groups/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/groups/pkg/config/config.go b/services/groups/pkg/config/config.go similarity index 100% rename from extensions/groups/pkg/config/config.go rename to services/groups/pkg/config/config.go diff --git a/extensions/groups/pkg/config/defaults/defaultconfig.go b/services/groups/pkg/config/defaults/defaultconfig.go similarity index 98% rename from extensions/groups/pkg/config/defaults/defaultconfig.go rename to services/groups/pkg/config/defaults/defaultconfig.go index 459d6f097..e9e607b0b 100644 --- a/extensions/groups/pkg/config/defaults/defaultconfig.go +++ b/services/groups/pkg/config/defaults/defaultconfig.go @@ -3,8 +3,8 @@ package defaults import ( "path/filepath" - "github.com/owncloud/ocis/v2/extensions/groups/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/groups/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/groups/pkg/config/parser/parse.go b/services/groups/pkg/config/parser/parse.go similarity index 88% rename from extensions/groups/pkg/config/parser/parse.go rename to services/groups/pkg/config/parser/parse.go index a55593fbb..074f6972d 100644 --- a/extensions/groups/pkg/config/parser/parse.go +++ b/services/groups/pkg/config/parser/parse.go @@ -3,10 +3,10 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/groups/pkg/config" - "github.com/owncloud/ocis/v2/extensions/groups/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/groups/pkg/config" + "github.com/owncloud/ocis/v2/services/groups/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/groups/pkg/config/reva.go b/services/groups/pkg/config/reva.go similarity index 100% rename from extensions/groups/pkg/config/reva.go rename to services/groups/pkg/config/reva.go diff --git a/extensions/nats/pkg/logging/logging.go b/services/groups/pkg/logging/logging.go similarity index 85% rename from extensions/nats/pkg/logging/logging.go rename to services/groups/pkg/logging/logging.go index 57b1adac7..fa3a41119 100644 --- a/extensions/nats/pkg/logging/logging.go +++ b/services/groups/pkg/logging/logging.go @@ -1,8 +1,8 @@ package logging import ( - "github.com/owncloud/ocis/v2/extensions/nats/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/groups/pkg/config" ) // LoggerFromConfig initializes a service-specific logger instance. diff --git a/extensions/groups/pkg/revaconfig/config.go b/services/groups/pkg/revaconfig/config.go similarity index 98% rename from extensions/groups/pkg/revaconfig/config.go rename to services/groups/pkg/revaconfig/config.go index 2bdae3d6e..7e6d7fc43 100644 --- a/extensions/groups/pkg/revaconfig/config.go +++ b/services/groups/pkg/revaconfig/config.go @@ -1,7 +1,7 @@ package revaconfig import ( - "github.com/owncloud/ocis/v2/extensions/groups/pkg/config" + "github.com/owncloud/ocis/v2/services/groups/pkg/config" ) // GroupsConfigFromStruct will adapt an oCIS config struct into a reva mapstructure to start a reva service. diff --git a/services/groups/pkg/server/debug/option.go b/services/groups/pkg/server/debug/option.go new file mode 100644 index 000000000..54c9e8fa8 --- /dev/null +++ b/services/groups/pkg/server/debug/option.go @@ -0,0 +1,50 @@ +package debug + +import ( + "context" + + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/groups/pkg/config" +) + +// Option defines a single option function. +type Option func(o *Options) + +// Options defines the available options for this package. +type Options struct { + Logger log.Logger + Context context.Context + Config *config.Config +} + +// newOptions initializes the available default options. +func newOptions(opts ...Option) Options { + opt := Options{} + + for _, o := range opts { + o(&opt) + } + + return opt +} + +// Logger provides a function to set the logger option. +func Logger(val log.Logger) Option { + return func(o *Options) { + o.Logger = val + } +} + +// Context provides a function to set the context option. +func Context(val context.Context) Option { + return func(o *Options) { + o.Context = val + } +} + +// Config provides a function to set the config option. +func Config(val *config.Config) Option { + return func(o *Options) { + o.Config = val + } +} diff --git a/extensions/ocdav/pkg/server/debug/server.go b/services/groups/pkg/server/debug/server.go similarity index 97% rename from extensions/ocdav/pkg/server/debug/server.go rename to services/groups/pkg/server/debug/server.go index 2ef2c7e60..c27e1da6e 100644 --- a/extensions/ocdav/pkg/server/debug/server.go +++ b/services/groups/pkg/server/debug/server.go @@ -4,9 +4,9 @@ import ( "io" "net/http" - "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/groups/pkg/config" ) // Server initializes the debug service and server. diff --git a/extensions/ocdav/pkg/tracing/tracing.go b/services/groups/pkg/tracing/tracing.go similarity index 87% rename from extensions/ocdav/pkg/tracing/tracing.go rename to services/groups/pkg/tracing/tracing.go index 334ec2971..db09c1b29 100644 --- a/extensions/ocdav/pkg/tracing/tracing.go +++ b/services/groups/pkg/tracing/tracing.go @@ -1,9 +1,9 @@ package tracing import ( - "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/groups/pkg/config" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/idm/Makefile b/services/idm/Makefile similarity index 100% rename from extensions/idm/Makefile rename to services/idm/Makefile diff --git a/services/idm/cmd/idm/main.go b/services/idm/cmd/idm/main.go new file mode 100644 index 000000000..f30202e58 --- /dev/null +++ b/services/idm/cmd/idm/main.go @@ -0,0 +1,14 @@ +package main + +import ( + "os" + + "github.com/owncloud/ocis/v2/services/idm/pkg/command" + "github.com/owncloud/ocis/v2/services/idm/pkg/config/defaults" +) + +func main() { + if err := command.Execute(defaults.DefaultConfig()); err != nil { + os.Exit(1) + } +} diff --git a/extensions/idm/idm.go b/services/idm/idm.go similarity index 100% rename from extensions/idm/idm.go rename to services/idm/idm.go diff --git a/extensions/idm/ldif/base.ldif.tmpl b/services/idm/ldif/base.ldif.tmpl similarity index 100% rename from extensions/idm/ldif/base.ldif.tmpl rename to services/idm/ldif/base.ldif.tmpl diff --git a/extensions/idm/ldif/demousers.ldif b/services/idm/ldif/demousers.ldif similarity index 100% rename from extensions/idm/ldif/demousers.ldif rename to services/idm/ldif/demousers.ldif diff --git a/extensions/idm/pkg/command/health.go b/services/idm/pkg/command/health.go similarity index 84% rename from extensions/idm/pkg/command/health.go rename to services/idm/pkg/command/health.go index 9d4cedc45..1b7d5a484 100644 --- a/extensions/idm/pkg/command/health.go +++ b/services/idm/pkg/command/health.go @@ -4,9 +4,9 @@ import ( "fmt" "net/http" - "github.com/owncloud/ocis/v2/extensions/idm/pkg/config" - "github.com/owncloud/ocis/v2/extensions/idm/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/idm/pkg/logging" + "github.com/owncloud/ocis/v2/services/idm/pkg/config" + "github.com/owncloud/ocis/v2/services/idm/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/idm/pkg/logging" "github.com/urfave/cli/v2" ) diff --git a/extensions/idm/pkg/command/root.go b/services/idm/pkg/command/root.go similarity index 95% rename from extensions/idm/pkg/command/root.go rename to services/idm/pkg/command/root.go index c4057e9cf..4db8342e2 100644 --- a/extensions/idm/pkg/command/root.go +++ b/services/idm/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/idm/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/idm/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/idm/pkg/command/server.go b/services/idm/pkg/command/server.go similarity index 95% rename from extensions/idm/pkg/command/server.go rename to services/idm/pkg/command/server.go index 45f6e2d18..bd1cca2b1 100644 --- a/extensions/idm/pkg/command/server.go +++ b/services/idm/pkg/command/server.go @@ -13,12 +13,12 @@ import ( "github.com/libregraph/idm/pkg/ldappassword" "github.com/libregraph/idm/pkg/ldbbolt" "github.com/libregraph/idm/server" - "github.com/owncloud/ocis/v2/extensions/idm" - "github.com/owncloud/ocis/v2/extensions/idm/pkg/config" - "github.com/owncloud/ocis/v2/extensions/idm/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/idm/pkg/logging" pkgcrypto "github.com/owncloud/ocis/v2/ocis-pkg/crypto" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/idm" + "github.com/owncloud/ocis/v2/services/idm/pkg/config" + "github.com/owncloud/ocis/v2/services/idm/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/idm/pkg/logging" "github.com/urfave/cli/v2" ) diff --git a/extensions/nats/pkg/command/version.go b/services/idm/pkg/command/version.go similarity index 87% rename from extensions/nats/pkg/command/version.go rename to services/idm/pkg/command/version.go index fff10c540..f18727e12 100644 --- a/extensions/nats/pkg/command/version.go +++ b/services/idm/pkg/command/version.go @@ -1,7 +1,7 @@ package command import ( - "github.com/owncloud/ocis/v2/extensions/nats/pkg/config" + "github.com/owncloud/ocis/v2/services/idm/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/idm/pkg/config/config.go b/services/idm/pkg/config/config.go similarity index 100% rename from extensions/idm/pkg/config/config.go rename to services/idm/pkg/config/config.go diff --git a/extensions/idm/pkg/config/debug.go b/services/idm/pkg/config/debug.go similarity index 100% rename from extensions/idm/pkg/config/debug.go rename to services/idm/pkg/config/debug.go diff --git a/extensions/idm/pkg/config/defaults/defaultconfig.go b/services/idm/pkg/config/defaults/defaultconfig.go similarity index 96% rename from extensions/idm/pkg/config/defaults/defaultconfig.go rename to services/idm/pkg/config/defaults/defaultconfig.go index 985ec60ce..b736f06ea 100644 --- a/extensions/idm/pkg/config/defaults/defaultconfig.go +++ b/services/idm/pkg/config/defaults/defaultconfig.go @@ -3,8 +3,8 @@ package defaults import ( "path" - "github.com/owncloud/ocis/v2/extensions/idm/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/idm/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/idm/pkg/config/log.go b/services/idm/pkg/config/log.go similarity index 100% rename from extensions/idm/pkg/config/log.go rename to services/idm/pkg/config/log.go diff --git a/extensions/idm/pkg/config/parser/parse.go b/services/idm/pkg/config/parser/parse.go similarity index 91% rename from extensions/idm/pkg/config/parser/parse.go rename to services/idm/pkg/config/parser/parse.go index e5c791e1d..469572560 100644 --- a/extensions/idm/pkg/config/parser/parse.go +++ b/services/idm/pkg/config/parser/parse.go @@ -3,10 +3,10 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/idm/pkg/config" - "github.com/owncloud/ocis/v2/extensions/idm/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/idm/pkg/config" + "github.com/owncloud/ocis/v2/services/idm/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/idm/pkg/config/service.go b/services/idm/pkg/config/service.go similarity index 100% rename from extensions/idm/pkg/config/service.go rename to services/idm/pkg/config/service.go diff --git a/extensions/idm/pkg/config/tracing.go b/services/idm/pkg/config/tracing.go similarity index 100% rename from extensions/idm/pkg/config/tracing.go rename to services/idm/pkg/config/tracing.go diff --git a/extensions/ocs/pkg/logging/logging.go b/services/idm/pkg/logging/logging.go similarity index 85% rename from extensions/ocs/pkg/logging/logging.go rename to services/idm/pkg/logging/logging.go index 9be2a6b5c..615554e51 100644 --- a/extensions/ocs/pkg/logging/logging.go +++ b/services/idm/pkg/logging/logging.go @@ -1,8 +1,8 @@ package logging import ( - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/idm/pkg/config" ) // LoggerFromConfig initializes a service-specific logger instance. diff --git a/extensions/idp/pkg/server/debug/option.go b/services/idm/pkg/server/debug/option.go similarity index 94% rename from extensions/idp/pkg/server/debug/option.go rename to services/idm/pkg/server/debug/option.go index 5648bbbcf..3ed1956c1 100644 --- a/extensions/idp/pkg/server/debug/option.go +++ b/services/idm/pkg/server/debug/option.go @@ -3,8 +3,8 @@ package debug import ( "context" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/idm/pkg/config" ) // Option defines a single option function. diff --git a/extensions/idm/pkg/server/debug/server.go b/services/idm/pkg/server/debug/server.go similarity index 96% rename from extensions/idm/pkg/server/debug/server.go rename to services/idm/pkg/server/debug/server.go index 6db3a833e..3ab54d3f7 100644 --- a/extensions/idm/pkg/server/debug/server.go +++ b/services/idm/pkg/server/debug/server.go @@ -4,9 +4,9 @@ import ( "io" "net/http" - "github.com/owncloud/ocis/v2/extensions/idm/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/idm/pkg/config" ) // Server initializes the debug service and server. diff --git a/extensions/idp/.dockerignore b/services/idp/.dockerignore similarity index 100% rename from extensions/idp/.dockerignore rename to services/idp/.dockerignore diff --git a/extensions/idp/.env b/services/idp/.env similarity index 100% rename from extensions/idp/.env rename to services/idp/.env diff --git a/extensions/idp/.eslintignore b/services/idp/.eslintignore similarity index 100% rename from extensions/idp/.eslintignore rename to services/idp/.eslintignore diff --git a/extensions/idp/.eslintrc.json b/services/idp/.eslintrc.json similarity index 100% rename from extensions/idp/.eslintrc.json rename to services/idp/.eslintrc.json diff --git a/extensions/idp/.gitignore b/services/idp/.gitignore similarity index 100% rename from extensions/idp/.gitignore rename to services/idp/.gitignore diff --git a/extensions/idp/.yarn/releases/yarn-3.1.0.cjs b/services/idp/.yarn/releases/yarn-3.1.0.cjs similarity index 100% rename from extensions/idp/.yarn/releases/yarn-3.1.0.cjs rename to services/idp/.yarn/releases/yarn-3.1.0.cjs diff --git a/extensions/idp/.yarnrc.yml b/services/idp/.yarnrc.yml similarity index 100% rename from extensions/idp/.yarnrc.yml rename to services/idp/.yarnrc.yml diff --git a/extensions/idp/Makefile b/services/idp/Makefile similarity index 100% rename from extensions/idp/Makefile rename to services/idp/Makefile diff --git a/extensions/idp/assets/.keep b/services/idp/assets/.keep similarity index 100% rename from extensions/idp/assets/.keep rename to services/idp/assets/.keep diff --git a/services/idp/cmd/idp/main.go b/services/idp/cmd/idp/main.go new file mode 100644 index 000000000..174283c90 --- /dev/null +++ b/services/idp/cmd/idp/main.go @@ -0,0 +1,14 @@ +package main + +import ( + "os" + + "github.com/owncloud/ocis/v2/services/idp/pkg/command" + "github.com/owncloud/ocis/v2/services/idp/pkg/config/defaults" +) + +func main() { + if err := command.Execute(defaults.DefaultConfig()); err != nil { + os.Exit(1) + } +} diff --git a/extensions/idp/docker/Dockerfile.linux.amd64 b/services/idp/docker/Dockerfile.linux.amd64 similarity index 100% rename from extensions/idp/docker/Dockerfile.linux.amd64 rename to services/idp/docker/Dockerfile.linux.amd64 diff --git a/extensions/idp/docker/Dockerfile.linux.arm b/services/idp/docker/Dockerfile.linux.arm similarity index 100% rename from extensions/idp/docker/Dockerfile.linux.arm rename to services/idp/docker/Dockerfile.linux.arm diff --git a/extensions/idp/docker/Dockerfile.linux.arm64 b/services/idp/docker/Dockerfile.linux.arm64 similarity index 100% rename from extensions/idp/docker/Dockerfile.linux.arm64 rename to services/idp/docker/Dockerfile.linux.arm64 diff --git a/extensions/idp/docker/manifest.tmpl b/services/idp/docker/manifest.tmpl similarity index 100% rename from extensions/idp/docker/manifest.tmpl rename to services/idp/docker/manifest.tmpl diff --git a/extensions/idp/idp.go b/services/idp/idp.go similarity index 100% rename from extensions/idp/idp.go rename to services/idp/idp.go diff --git a/extensions/idp/package.json b/services/idp/package.json similarity index 100% rename from extensions/idp/package.json rename to services/idp/package.json diff --git a/extensions/idp/pkg/assets/option.go b/services/idp/pkg/assets/option.go similarity index 90% rename from extensions/idp/pkg/assets/option.go rename to services/idp/pkg/assets/option.go index 6e89ac6f2..fe8dbf575 100644 --- a/extensions/idp/pkg/assets/option.go +++ b/services/idp/pkg/assets/option.go @@ -3,10 +3,10 @@ package assets import ( "net/http" - "github.com/owncloud/ocis/v2/extensions/idp" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/assetsfs" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/idp" + "github.com/owncloud/ocis/v2/services/idp/pkg/config" ) // New returns a new http filesystem to serve assets. diff --git a/extensions/idp/pkg/backends/cs3/bootstrap/cs3.go b/services/idp/pkg/backends/cs3/bootstrap/cs3.go similarity index 98% rename from extensions/idp/pkg/backends/cs3/bootstrap/cs3.go rename to services/idp/pkg/backends/cs3/bootstrap/cs3.go index 964332d5a..24bc638d1 100644 --- a/extensions/idp/pkg/backends/cs3/bootstrap/cs3.go +++ b/services/idp/pkg/backends/cs3/bootstrap/cs3.go @@ -25,7 +25,7 @@ import ( "github.com/libregraph/lico/identifier" "github.com/libregraph/lico/identity" "github.com/libregraph/lico/identity/managers" - cs3 "github.com/owncloud/ocis/v2/extensions/idp/pkg/backends/cs3/identifier" + cs3 "github.com/owncloud/ocis/v2/services/idp/pkg/backends/cs3/identifier" ) // Identity managers. diff --git a/extensions/idp/pkg/backends/cs3/identifier/cs3.go b/services/idp/pkg/backends/cs3/identifier/cs3.go similarity index 100% rename from extensions/idp/pkg/backends/cs3/identifier/cs3.go rename to services/idp/pkg/backends/cs3/identifier/cs3.go diff --git a/extensions/idp/pkg/backends/cs3/identifier/session.go b/services/idp/pkg/backends/cs3/identifier/session.go similarity index 100% rename from extensions/idp/pkg/backends/cs3/identifier/session.go rename to services/idp/pkg/backends/cs3/identifier/session.go diff --git a/extensions/idp/pkg/backends/cs3/identifier/user.go b/services/idp/pkg/backends/cs3/identifier/user.go similarity index 100% rename from extensions/idp/pkg/backends/cs3/identifier/user.go rename to services/idp/pkg/backends/cs3/identifier/user.go diff --git a/extensions/idp/pkg/command/health.go b/services/idp/pkg/command/health.go similarity index 84% rename from extensions/idp/pkg/command/health.go rename to services/idp/pkg/command/health.go index 33376cb6c..687d806fe 100644 --- a/extensions/idp/pkg/command/health.go +++ b/services/idp/pkg/command/health.go @@ -4,9 +4,9 @@ import ( "fmt" "net/http" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/config" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/logging" + "github.com/owncloud/ocis/v2/services/idp/pkg/config" + "github.com/owncloud/ocis/v2/services/idp/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/idp/pkg/logging" "github.com/urfave/cli/v2" ) diff --git a/extensions/idp/pkg/command/root.go b/services/idp/pkg/command/root.go similarity index 95% rename from extensions/idp/pkg/command/root.go rename to services/idp/pkg/command/root.go index c09d8042e..409c036f0 100644 --- a/extensions/idp/pkg/command/root.go +++ b/services/idp/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/idp/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/idp/pkg/command/server.go b/services/idp/pkg/command/server.go similarity index 89% rename from extensions/idp/pkg/command/server.go rename to services/idp/pkg/command/server.go index 31024e92f..46a277b38 100644 --- a/extensions/idp/pkg/command/server.go +++ b/services/idp/pkg/command/server.go @@ -15,14 +15,14 @@ import ( "path/filepath" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/config" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/metrics" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/server/http" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/idp/pkg/config" + "github.com/owncloud/ocis/v2/services/idp/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/idp/pkg/logging" + "github.com/owncloud/ocis/v2/services/idp/pkg/metrics" + "github.com/owncloud/ocis/v2/services/idp/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/idp/pkg/server/http" + "github.com/owncloud/ocis/v2/services/idp/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/extensions/ocs/pkg/command/version.go b/services/idp/pkg/command/version.go similarity index 95% rename from extensions/ocs/pkg/command/version.go rename to services/idp/pkg/command/version.go index a49d4ce94..59652acf5 100644 --- a/extensions/ocs/pkg/command/version.go +++ b/services/idp/pkg/command/version.go @@ -8,7 +8,7 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/version" tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/config" + "github.com/owncloud/ocis/v2/services/idp/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/idp/pkg/config/config.go b/services/idp/pkg/config/config.go similarity index 100% rename from extensions/idp/pkg/config/config.go rename to services/idp/pkg/config/config.go diff --git a/extensions/idp/pkg/config/debug.go b/services/idp/pkg/config/debug.go similarity index 100% rename from extensions/idp/pkg/config/debug.go rename to services/idp/pkg/config/debug.go diff --git a/extensions/idp/pkg/config/defaults/defaultconfig.go b/services/idp/pkg/config/defaults/defaultconfig.go similarity index 99% rename from extensions/idp/pkg/config/defaults/defaultconfig.go rename to services/idp/pkg/config/defaults/defaultconfig.go index 2fd213cdf..8953b4c6b 100644 --- a/extensions/idp/pkg/config/defaults/defaultconfig.go +++ b/services/idp/pkg/config/defaults/defaultconfig.go @@ -4,8 +4,8 @@ import ( "path/filepath" "strings" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/idp/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/idp/pkg/config/http.go b/services/idp/pkg/config/http.go similarity index 100% rename from extensions/idp/pkg/config/http.go rename to services/idp/pkg/config/http.go diff --git a/extensions/idp/pkg/config/log.go b/services/idp/pkg/config/log.go similarity index 100% rename from extensions/idp/pkg/config/log.go rename to services/idp/pkg/config/log.go diff --git a/extensions/idp/pkg/config/parser/parse.go b/services/idp/pkg/config/parser/parse.go similarity index 89% rename from extensions/idp/pkg/config/parser/parse.go rename to services/idp/pkg/config/parser/parse.go index 0a978219c..3939baccd 100644 --- a/extensions/idp/pkg/config/parser/parse.go +++ b/services/idp/pkg/config/parser/parse.go @@ -3,10 +3,10 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/config" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/idp/pkg/config" + "github.com/owncloud/ocis/v2/services/idp/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/idp/pkg/config/reva.go b/services/idp/pkg/config/reva.go similarity index 100% rename from extensions/idp/pkg/config/reva.go rename to services/idp/pkg/config/reva.go diff --git a/extensions/idp/pkg/config/service.go b/services/idp/pkg/config/service.go similarity index 100% rename from extensions/idp/pkg/config/service.go rename to services/idp/pkg/config/service.go diff --git a/extensions/idp/pkg/config/tracing.go b/services/idp/pkg/config/tracing.go similarity index 100% rename from extensions/idp/pkg/config/tracing.go rename to services/idp/pkg/config/tracing.go diff --git a/extensions/idp/pkg/logging/logging.go b/services/idp/pkg/logging/logging.go similarity index 85% rename from extensions/idp/pkg/logging/logging.go rename to services/idp/pkg/logging/logging.go index c52de8351..4bd94fe84 100644 --- a/extensions/idp/pkg/logging/logging.go +++ b/services/idp/pkg/logging/logging.go @@ -1,8 +1,8 @@ package logging import ( - "github.com/owncloud/ocis/v2/extensions/idp/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/idp/pkg/config" ) // LoggerFromConfig initializes a service-specific logger instance. diff --git a/extensions/idp/pkg/metrics/metrics.go b/services/idp/pkg/metrics/metrics.go similarity index 100% rename from extensions/idp/pkg/metrics/metrics.go rename to services/idp/pkg/metrics/metrics.go diff --git a/extensions/idp/pkg/middleware/static.go b/services/idp/pkg/middleware/static.go similarity index 95% rename from extensions/idp/pkg/middleware/static.go rename to services/idp/pkg/middleware/static.go index e7e18caa1..11bbe1fa8 100644 --- a/extensions/idp/pkg/middleware/static.go +++ b/services/idp/pkg/middleware/static.go @@ -4,7 +4,7 @@ import ( "net/http" "strings" - idpTracing "github.com/owncloud/ocis/v2/extensions/idp/pkg/tracing" + idpTracing "github.com/owncloud/ocis/v2/services/idp/pkg/tracing" "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/codes" ) diff --git a/extensions/ocs/pkg/server/debug/option.go b/services/idp/pkg/server/debug/option.go similarity index 94% rename from extensions/ocs/pkg/server/debug/option.go rename to services/idp/pkg/server/debug/option.go index a89ad2aa8..1f4cb85bc 100644 --- a/extensions/ocs/pkg/server/debug/option.go +++ b/services/idp/pkg/server/debug/option.go @@ -3,8 +3,8 @@ package debug import ( "context" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/idp/pkg/config" ) // Option defines a single option function. diff --git a/extensions/idp/pkg/server/debug/server.go b/services/idp/pkg/server/debug/server.go similarity index 97% rename from extensions/idp/pkg/server/debug/server.go rename to services/idp/pkg/server/debug/server.go index bac512a9c..8d99b20d2 100644 --- a/extensions/idp/pkg/server/debug/server.go +++ b/services/idp/pkg/server/debug/server.go @@ -5,11 +5,11 @@ import ( "net/http" "net/url" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/shared" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/idp/pkg/config" ) // Server initializes the debug service and server. diff --git a/extensions/idp/pkg/server/http/option.go b/services/idp/pkg/server/http/option.go similarity index 92% rename from extensions/idp/pkg/server/http/option.go rename to services/idp/pkg/server/http/option.go index fffc93a8a..84074fb87 100644 --- a/extensions/idp/pkg/server/http/option.go +++ b/services/idp/pkg/server/http/option.go @@ -3,9 +3,9 @@ package http import ( "context" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/config" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/metrics" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/idp/pkg/config" + "github.com/owncloud/ocis/v2/services/idp/pkg/metrics" "github.com/urfave/cli/v2" ) diff --git a/extensions/idp/pkg/server/http/server.go b/services/idp/pkg/server/http/server.go similarity index 97% rename from extensions/idp/pkg/server/http/server.go rename to services/idp/pkg/server/http/server.go index e974dc9d4..6e03aa2ab 100644 --- a/extensions/idp/pkg/server/http/server.go +++ b/services/idp/pkg/server/http/server.go @@ -5,11 +5,11 @@ import ( "os" chimiddleware "github.com/go-chi/chi/v5/middleware" - svc "github.com/owncloud/ocis/v2/extensions/idp/pkg/service/v0" pkgcrypto "github.com/owncloud/ocis/v2/ocis-pkg/crypto" "github.com/owncloud/ocis/v2/ocis-pkg/middleware" "github.com/owncloud/ocis/v2/ocis-pkg/service/http" "github.com/owncloud/ocis/v2/ocis-pkg/version" + svc "github.com/owncloud/ocis/v2/services/idp/pkg/service/v0" "go-micro.dev/v4" ) diff --git a/extensions/idp/pkg/service/v0/instrument.go b/services/idp/pkg/service/v0/instrument.go similarity index 88% rename from extensions/idp/pkg/service/v0/instrument.go rename to services/idp/pkg/service/v0/instrument.go index 8c7a948ea..ddc7c24c0 100644 --- a/extensions/idp/pkg/service/v0/instrument.go +++ b/services/idp/pkg/service/v0/instrument.go @@ -3,7 +3,7 @@ package svc import ( "net/http" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/metrics" + "github.com/owncloud/ocis/v2/services/idp/pkg/metrics" ) // NewInstrument returns a service that instruments metrics. diff --git a/extensions/idp/pkg/service/v0/logging.go b/services/idp/pkg/service/v0/logging.go similarity index 100% rename from extensions/idp/pkg/service/v0/logging.go rename to services/idp/pkg/service/v0/logging.go diff --git a/extensions/web/pkg/service/v0/option.go b/services/idp/pkg/service/v0/option.go similarity index 94% rename from extensions/web/pkg/service/v0/option.go rename to services/idp/pkg/service/v0/option.go index ae058da84..e8ba55010 100644 --- a/extensions/web/pkg/service/v0/option.go +++ b/services/idp/pkg/service/v0/option.go @@ -3,8 +3,8 @@ package svc import ( "net/http" - "github.com/owncloud/ocis/v2/extensions/web/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/idp/pkg/config" ) // Option defines a single option function. diff --git a/extensions/idp/pkg/service/v0/service.go b/services/idp/pkg/service/v0/service.go similarity index 96% rename from extensions/idp/pkg/service/v0/service.go rename to services/idp/pkg/service/v0/service.go index 8f6b8db36..a32a0ecb2 100644 --- a/extensions/idp/pkg/service/v0/service.go +++ b/services/idp/pkg/service/v0/service.go @@ -19,12 +19,12 @@ import ( libreGraphBackendSupport "github.com/libregraph/lico/bootstrap/backends/libregraph" licoconfig "github.com/libregraph/lico/config" "github.com/libregraph/lico/server" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/assets" - cs3BackendSupport "github.com/owncloud/ocis/v2/extensions/idp/pkg/backends/cs3/bootstrap" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/config" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/middleware" "github.com/owncloud/ocis/v2/ocis-pkg/ldap" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/idp/pkg/assets" + cs3BackendSupport "github.com/owncloud/ocis/v2/services/idp/pkg/backends/cs3/bootstrap" + "github.com/owncloud/ocis/v2/services/idp/pkg/config" + "github.com/owncloud/ocis/v2/services/idp/pkg/middleware" "gopkg.in/yaml.v2" "stash.kopano.io/kgol/rndm" ) diff --git a/extensions/idp/pkg/service/v0/tracing.go b/services/idp/pkg/service/v0/tracing.go similarity index 100% rename from extensions/idp/pkg/service/v0/tracing.go rename to services/idp/pkg/service/v0/tracing.go diff --git a/extensions/idp/pkg/tracing/tracing.go b/services/idp/pkg/tracing/tracing.go similarity index 89% rename from extensions/idp/pkg/tracing/tracing.go rename to services/idp/pkg/tracing/tracing.go index 43ef5bc0f..339597b54 100644 --- a/extensions/idp/pkg/tracing/tracing.go +++ b/services/idp/pkg/tracing/tracing.go @@ -1,8 +1,8 @@ package tracing import ( - "github.com/owncloud/ocis/v2/extensions/idp/pkg/config" pkgtrace "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/idp/pkg/config" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/idp/reflex.conf b/services/idp/reflex.conf similarity index 100% rename from extensions/idp/reflex.conf rename to services/idp/reflex.conf diff --git a/extensions/idp/scripts/build.js b/services/idp/scripts/build.js similarity index 100% rename from extensions/idp/scripts/build.js rename to services/idp/scripts/build.js diff --git a/extensions/idp/scripts/start.js b/services/idp/scripts/start.js similarity index 100% rename from extensions/idp/scripts/start.js rename to services/idp/scripts/start.js diff --git a/extensions/idp/scripts/test.js b/services/idp/scripts/test.js similarity index 100% rename from extensions/idp/scripts/test.js rename to services/idp/scripts/test.js diff --git a/extensions/idp/ui/i18n/Makefile b/services/idp/ui/i18n/Makefile similarity index 100% rename from extensions/idp/ui/i18n/Makefile rename to services/idp/ui/i18n/Makefile diff --git a/extensions/idp/ui/i18n/de.po b/services/idp/ui/i18n/de.po similarity index 100% rename from extensions/idp/ui/i18n/de.po rename to services/idp/ui/i18n/de.po diff --git a/extensions/idp/ui/i18n/es.po b/services/idp/ui/i18n/es.po similarity index 100% rename from extensions/idp/ui/i18n/es.po rename to services/idp/ui/i18n/es.po diff --git a/extensions/idp/ui/i18n/fr.po b/services/idp/ui/i18n/fr.po similarity index 100% rename from extensions/idp/ui/i18n/fr.po rename to services/idp/ui/i18n/fr.po diff --git a/extensions/idp/ui/i18n/hi.po b/services/idp/ui/i18n/hi.po similarity index 100% rename from extensions/idp/ui/i18n/hi.po rename to services/idp/ui/i18n/hi.po diff --git a/extensions/idp/ui/i18n/hr.po b/services/idp/ui/i18n/hr.po similarity index 100% rename from extensions/idp/ui/i18n/hr.po rename to services/idp/ui/i18n/hr.po diff --git a/extensions/idp/ui/i18n/hu.po b/services/idp/ui/i18n/hu.po similarity index 100% rename from extensions/idp/ui/i18n/hu.po rename to services/idp/ui/i18n/hu.po diff --git a/extensions/idp/ui/i18n/is.po b/services/idp/ui/i18n/is.po similarity index 100% rename from extensions/idp/ui/i18n/is.po rename to services/idp/ui/i18n/is.po diff --git a/extensions/idp/ui/i18n/it.po b/services/idp/ui/i18n/it.po similarity index 100% rename from extensions/idp/ui/i18n/it.po rename to services/idp/ui/i18n/it.po diff --git a/extensions/idp/ui/i18n/ja.po b/services/idp/ui/i18n/ja.po similarity index 100% rename from extensions/idp/ui/i18n/ja.po rename to services/idp/ui/i18n/ja.po diff --git a/extensions/idp/ui/i18n/konnect-identifier.pot b/services/idp/ui/i18n/konnect-identifier.pot similarity index 100% rename from extensions/idp/ui/i18n/konnect-identifier.pot rename to services/idp/ui/i18n/konnect-identifier.pot diff --git a/extensions/idp/ui/i18n/nb.po b/services/idp/ui/i18n/nb.po similarity index 100% rename from extensions/idp/ui/i18n/nb.po rename to services/idp/ui/i18n/nb.po diff --git a/extensions/idp/ui/i18n/nl.po b/services/idp/ui/i18n/nl.po similarity index 100% rename from extensions/idp/ui/i18n/nl.po rename to services/idp/ui/i18n/nl.po diff --git a/extensions/idp/ui/i18n/pl.po b/services/idp/ui/i18n/pl.po similarity index 100% rename from extensions/idp/ui/i18n/pl.po rename to services/idp/ui/i18n/pl.po diff --git a/extensions/idp/ui/i18n/pt_PT.po b/services/idp/ui/i18n/pt_PT.po similarity index 100% rename from extensions/idp/ui/i18n/pt_PT.po rename to services/idp/ui/i18n/pt_PT.po diff --git a/extensions/idp/ui/i18n/ru.po b/services/idp/ui/i18n/ru.po similarity index 100% rename from extensions/idp/ui/i18n/ru.po rename to services/idp/ui/i18n/ru.po diff --git a/extensions/idp/ui/i18n/sl.po b/services/idp/ui/i18n/sl.po similarity index 100% rename from extensions/idp/ui/i18n/sl.po rename to services/idp/ui/i18n/sl.po diff --git a/extensions/idp/ui/i18n/src/messages.json b/services/idp/ui/i18n/src/messages.json similarity index 100% rename from extensions/idp/ui/i18n/src/messages.json rename to services/idp/ui/i18n/src/messages.json diff --git a/extensions/idp/ui/public/index.html b/services/idp/ui/public/index.html similarity index 100% rename from extensions/idp/ui/public/index.html rename to services/idp/ui/public/index.html diff --git a/extensions/idp/ui/public/static/logo.svg b/services/idp/ui/public/static/logo.svg similarity index 100% rename from extensions/idp/ui/public/static/logo.svg rename to services/idp/ui/public/static/logo.svg diff --git a/extensions/idp/ui/src/Main.js b/services/idp/ui/src/Main.js similarity index 100% rename from extensions/idp/ui/src/Main.js rename to services/idp/ui/src/Main.js diff --git a/extensions/idp/ui/src/Main.test.js b/services/idp/ui/src/Main.test.js similarity index 100% rename from extensions/idp/ui/src/Main.test.js rename to services/idp/ui/src/Main.test.js diff --git a/extensions/idp/ui/src/Routes.js b/services/idp/ui/src/Routes.js similarity index 100% rename from extensions/idp/ui/src/Routes.js rename to services/idp/ui/src/Routes.js diff --git a/extensions/idp/ui/src/actions/common.js b/services/idp/ui/src/actions/common.js similarity index 100% rename from extensions/idp/ui/src/actions/common.js rename to services/idp/ui/src/actions/common.js diff --git a/extensions/idp/ui/src/actions/login.js b/services/idp/ui/src/actions/login.js similarity index 100% rename from extensions/idp/ui/src/actions/login.js rename to services/idp/ui/src/actions/login.js diff --git a/extensions/idp/ui/src/actions/types.js b/services/idp/ui/src/actions/types.js similarity index 100% rename from extensions/idp/ui/src/actions/types.js rename to services/idp/ui/src/actions/types.js diff --git a/extensions/idp/ui/src/actions/utils.js b/services/idp/ui/src/actions/utils.js similarity index 100% rename from extensions/idp/ui/src/actions/utils.js rename to services/idp/ui/src/actions/utils.js diff --git a/extensions/idp/ui/src/app.css b/services/idp/ui/src/app.css similarity index 100% rename from extensions/idp/ui/src/app.css rename to services/idp/ui/src/app.css diff --git a/extensions/idp/ui/src/app.js b/services/idp/ui/src/app.js similarity index 100% rename from extensions/idp/ui/src/app.js rename to services/idp/ui/src/app.js diff --git a/extensions/idp/ui/src/components/ClientDisplayName.js b/services/idp/ui/src/components/ClientDisplayName.js similarity index 100% rename from extensions/idp/ui/src/components/ClientDisplayName.js rename to services/idp/ui/src/components/ClientDisplayName.js diff --git a/extensions/idp/ui/src/components/Loading.js b/services/idp/ui/src/components/Loading.js similarity index 100% rename from extensions/idp/ui/src/components/Loading.js rename to services/idp/ui/src/components/Loading.js diff --git a/extensions/idp/ui/src/components/PrivateRoute.js b/services/idp/ui/src/components/PrivateRoute.js similarity index 100% rename from extensions/idp/ui/src/components/PrivateRoute.js rename to services/idp/ui/src/components/PrivateRoute.js diff --git a/extensions/idp/ui/src/components/RedirectWithQuery.js b/services/idp/ui/src/components/RedirectWithQuery.js similarity index 100% rename from extensions/idp/ui/src/components/RedirectWithQuery.js rename to services/idp/ui/src/components/RedirectWithQuery.js diff --git a/extensions/idp/ui/src/components/ResponsiveScreen.js b/services/idp/ui/src/components/ResponsiveScreen.js similarity index 100% rename from extensions/idp/ui/src/components/ResponsiveScreen.js rename to services/idp/ui/src/components/ResponsiveScreen.js diff --git a/extensions/idp/ui/src/components/ScopesList.js b/services/idp/ui/src/components/ScopesList.js similarity index 100% rename from extensions/idp/ui/src/components/ScopesList.js rename to services/idp/ui/src/components/ScopesList.js diff --git a/extensions/idp/ui/src/components/TextInput.js b/services/idp/ui/src/components/TextInput.js similarity index 100% rename from extensions/idp/ui/src/components/TextInput.js rename to services/idp/ui/src/components/TextInput.js diff --git a/extensions/idp/ui/src/containers/Goodbye/Goodbyescreen.js b/services/idp/ui/src/containers/Goodbye/Goodbyescreen.js similarity index 100% rename from extensions/idp/ui/src/containers/Goodbye/Goodbyescreen.js rename to services/idp/ui/src/containers/Goodbye/Goodbyescreen.js diff --git a/extensions/idp/ui/src/containers/Goodbye/index.js b/services/idp/ui/src/containers/Goodbye/index.js similarity index 100% rename from extensions/idp/ui/src/containers/Goodbye/index.js rename to services/idp/ui/src/containers/Goodbye/index.js diff --git a/extensions/idp/ui/src/containers/Login/Chooseaccount.js b/services/idp/ui/src/containers/Login/Chooseaccount.js similarity index 100% rename from extensions/idp/ui/src/containers/Login/Chooseaccount.js rename to services/idp/ui/src/containers/Login/Chooseaccount.js diff --git a/extensions/idp/ui/src/containers/Login/Consent.js b/services/idp/ui/src/containers/Login/Consent.js similarity index 100% rename from extensions/idp/ui/src/containers/Login/Consent.js rename to services/idp/ui/src/containers/Login/Consent.js diff --git a/extensions/idp/ui/src/containers/Login/Login.js b/services/idp/ui/src/containers/Login/Login.js similarity index 100% rename from extensions/idp/ui/src/containers/Login/Login.js rename to services/idp/ui/src/containers/Login/Login.js diff --git a/extensions/idp/ui/src/containers/Login/Loginscreen.js b/services/idp/ui/src/containers/Login/Loginscreen.js similarity index 100% rename from extensions/idp/ui/src/containers/Login/Loginscreen.js rename to services/idp/ui/src/containers/Login/Loginscreen.js diff --git a/extensions/idp/ui/src/containers/Login/index.js b/services/idp/ui/src/containers/Login/index.js similarity index 100% rename from extensions/idp/ui/src/containers/Login/index.js rename to services/idp/ui/src/containers/Login/index.js diff --git a/extensions/idp/ui/src/containers/Welcome/Welcomescreen.js b/services/idp/ui/src/containers/Welcome/Welcomescreen.js similarity index 100% rename from extensions/idp/ui/src/containers/Welcome/Welcomescreen.js rename to services/idp/ui/src/containers/Welcome/Welcomescreen.js diff --git a/extensions/idp/ui/src/containers/Welcome/index.js b/services/idp/ui/src/containers/Welcome/index.js similarity index 100% rename from extensions/idp/ui/src/containers/Welcome/index.js rename to services/idp/ui/src/containers/Welcome/index.js diff --git a/extensions/idp/ui/src/errors/index.js b/services/idp/ui/src/errors/index.js similarity index 100% rename from extensions/idp/ui/src/errors/index.js rename to services/idp/ui/src/errors/index.js diff --git a/extensions/idp/ui/src/images/background.jpg b/services/idp/ui/src/images/background.jpg similarity index 100% rename from extensions/idp/ui/src/images/background.jpg rename to services/idp/ui/src/images/background.jpg diff --git a/extensions/idp/ui/src/index.js b/services/idp/ui/src/index.js similarity index 100% rename from extensions/idp/ui/src/index.js rename to services/idp/ui/src/index.js diff --git a/extensions/idp/ui/src/locales/de.json b/services/idp/ui/src/locales/de.json similarity index 100% rename from extensions/idp/ui/src/locales/de.json rename to services/idp/ui/src/locales/de.json diff --git a/extensions/idp/ui/src/locales/es.json b/services/idp/ui/src/locales/es.json similarity index 100% rename from extensions/idp/ui/src/locales/es.json rename to services/idp/ui/src/locales/es.json diff --git a/extensions/idp/ui/src/locales/fr.json b/services/idp/ui/src/locales/fr.json similarity index 100% rename from extensions/idp/ui/src/locales/fr.json rename to services/idp/ui/src/locales/fr.json diff --git a/extensions/idp/ui/src/locales/hi.json b/services/idp/ui/src/locales/hi.json similarity index 100% rename from extensions/idp/ui/src/locales/hi.json rename to services/idp/ui/src/locales/hi.json diff --git a/extensions/idp/ui/src/locales/hr.json b/services/idp/ui/src/locales/hr.json similarity index 100% rename from extensions/idp/ui/src/locales/hr.json rename to services/idp/ui/src/locales/hr.json diff --git a/extensions/idp/ui/src/locales/hu.json b/services/idp/ui/src/locales/hu.json similarity index 100% rename from extensions/idp/ui/src/locales/hu.json rename to services/idp/ui/src/locales/hu.json diff --git a/extensions/idp/ui/src/locales/index.js b/services/idp/ui/src/locales/index.js similarity index 100% rename from extensions/idp/ui/src/locales/index.js rename to services/idp/ui/src/locales/index.js diff --git a/extensions/idp/ui/src/locales/is.json b/services/idp/ui/src/locales/is.json similarity index 100% rename from extensions/idp/ui/src/locales/is.json rename to services/idp/ui/src/locales/is.json diff --git a/extensions/idp/ui/src/locales/it.json b/services/idp/ui/src/locales/it.json similarity index 100% rename from extensions/idp/ui/src/locales/it.json rename to services/idp/ui/src/locales/it.json diff --git a/extensions/idp/ui/src/locales/ja.json b/services/idp/ui/src/locales/ja.json similarity index 100% rename from extensions/idp/ui/src/locales/ja.json rename to services/idp/ui/src/locales/ja.json diff --git a/extensions/idp/ui/src/locales/nb.json b/services/idp/ui/src/locales/nb.json similarity index 100% rename from extensions/idp/ui/src/locales/nb.json rename to services/idp/ui/src/locales/nb.json diff --git a/extensions/idp/ui/src/locales/nl.json b/services/idp/ui/src/locales/nl.json similarity index 100% rename from extensions/idp/ui/src/locales/nl.json rename to services/idp/ui/src/locales/nl.json diff --git a/extensions/idp/ui/src/locales/pl.json b/services/idp/ui/src/locales/pl.json similarity index 100% rename from extensions/idp/ui/src/locales/pl.json rename to services/idp/ui/src/locales/pl.json diff --git a/extensions/idp/ui/src/locales/pt_PT.json b/services/idp/ui/src/locales/pt_PT.json similarity index 100% rename from extensions/idp/ui/src/locales/pt_PT.json rename to services/idp/ui/src/locales/pt_PT.json diff --git a/extensions/idp/ui/src/locales/ru.json b/services/idp/ui/src/locales/ru.json similarity index 100% rename from extensions/idp/ui/src/locales/ru.json rename to services/idp/ui/src/locales/ru.json diff --git a/extensions/idp/ui/src/locales/sl.json b/services/idp/ui/src/locales/sl.json similarity index 100% rename from extensions/idp/ui/src/locales/sl.json rename to services/idp/ui/src/locales/sl.json diff --git a/extensions/idp/ui/src/models/hello.js b/services/idp/ui/src/models/hello.js similarity index 100% rename from extensions/idp/ui/src/models/hello.js rename to services/idp/ui/src/models/hello.js diff --git a/extensions/idp/ui/src/reducers/common.js b/services/idp/ui/src/reducers/common.js similarity index 100% rename from extensions/idp/ui/src/reducers/common.js rename to services/idp/ui/src/reducers/common.js diff --git a/extensions/idp/ui/src/reducers/index.js b/services/idp/ui/src/reducers/index.js similarity index 100% rename from extensions/idp/ui/src/reducers/index.js rename to services/idp/ui/src/reducers/index.js diff --git a/extensions/idp/ui/src/reducers/login.js b/services/idp/ui/src/reducers/login.js similarity index 100% rename from extensions/idp/ui/src/reducers/login.js rename to services/idp/ui/src/reducers/login.js diff --git a/extensions/idp/ui/src/store.js b/services/idp/ui/src/store.js similarity index 100% rename from extensions/idp/ui/src/store.js rename to services/idp/ui/src/store.js diff --git a/extensions/idp/ui/src/utils.js b/services/idp/ui/src/utils.js similarity index 100% rename from extensions/idp/ui/src/utils.js rename to services/idp/ui/src/utils.js diff --git a/extensions/idp/ui/src/version.js b/services/idp/ui/src/version.js similarity index 100% rename from extensions/idp/ui/src/version.js rename to services/idp/ui/src/version.js diff --git a/extensions/idp/ui_config/env.js b/services/idp/ui_config/env.js similarity index 100% rename from extensions/idp/ui_config/env.js rename to services/idp/ui_config/env.js diff --git a/extensions/idp/ui_config/jest/cssTransform.js b/services/idp/ui_config/jest/cssTransform.js similarity index 100% rename from extensions/idp/ui_config/jest/cssTransform.js rename to services/idp/ui_config/jest/cssTransform.js diff --git a/extensions/idp/ui_config/jest/fileTransform.js b/services/idp/ui_config/jest/fileTransform.js similarity index 100% rename from extensions/idp/ui_config/jest/fileTransform.js rename to services/idp/ui_config/jest/fileTransform.js diff --git a/extensions/idp/ui_config/modules.js b/services/idp/ui_config/modules.js similarity index 100% rename from extensions/idp/ui_config/modules.js rename to services/idp/ui_config/modules.js diff --git a/extensions/idp/ui_config/paths.js b/services/idp/ui_config/paths.js similarity index 100% rename from extensions/idp/ui_config/paths.js rename to services/idp/ui_config/paths.js diff --git a/extensions/idp/ui_config/pnpTs.js b/services/idp/ui_config/pnpTs.js similarity index 100% rename from extensions/idp/ui_config/pnpTs.js rename to services/idp/ui_config/pnpTs.js diff --git a/extensions/idp/ui_config/webpack.config.js b/services/idp/ui_config/webpack.config.js similarity index 100% rename from extensions/idp/ui_config/webpack.config.js rename to services/idp/ui_config/webpack.config.js diff --git a/extensions/idp/ui_config/webpackDevServer.config.js b/services/idp/ui_config/webpackDevServer.config.js similarity index 100% rename from extensions/idp/ui_config/webpackDevServer.config.js rename to services/idp/ui_config/webpackDevServer.config.js diff --git a/extensions/idp/yarn.lock b/services/idp/yarn.lock similarity index 100% rename from extensions/idp/yarn.lock rename to services/idp/yarn.lock diff --git a/extensions/nats/Makefile b/services/nats/Makefile similarity index 100% rename from extensions/nats/Makefile rename to services/nats/Makefile diff --git a/services/nats/cmd/nats/main.go b/services/nats/cmd/nats/main.go new file mode 100644 index 000000000..4b5803ac7 --- /dev/null +++ b/services/nats/cmd/nats/main.go @@ -0,0 +1,14 @@ +package main + +import ( + "os" + + "github.com/owncloud/ocis/v2/services/nats/pkg/command" + "github.com/owncloud/ocis/v2/services/nats/pkg/config/defaults" +) + +func main() { + if err := command.Execute(defaults.DefaultConfig()); err != nil { + os.Exit(1) + } +} diff --git a/extensions/audit/pkg/command/health.go b/services/nats/pkg/command/health.go similarity index 84% rename from extensions/audit/pkg/command/health.go rename to services/nats/pkg/command/health.go index 530bf24cb..75e5ab838 100644 --- a/extensions/audit/pkg/command/health.go +++ b/services/nats/pkg/command/health.go @@ -1,7 +1,7 @@ package command import ( - "github.com/owncloud/ocis/v2/extensions/audit/pkg/config" + "github.com/owncloud/ocis/v2/services/nats/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/nats/pkg/command/root.go b/services/nats/pkg/command/root.go similarity index 95% rename from extensions/nats/pkg/command/root.go rename to services/nats/pkg/command/root.go index faa301839..b51674628 100644 --- a/extensions/nats/pkg/command/root.go +++ b/services/nats/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/nats/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/nats/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/nats/pkg/command/server.go b/services/nats/pkg/command/server.go similarity index 85% rename from extensions/nats/pkg/command/server.go rename to services/nats/pkg/command/server.go index 9c029815c..5bed4387e 100644 --- a/extensions/nats/pkg/command/server.go +++ b/services/nats/pkg/command/server.go @@ -7,10 +7,10 @@ import ( "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/nats/pkg/config" - "github.com/owncloud/ocis/v2/extensions/nats/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/nats/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/nats/pkg/server/nats" + "github.com/owncloud/ocis/v2/services/nats/pkg/config" + "github.com/owncloud/ocis/v2/services/nats/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/nats/pkg/logging" + "github.com/owncloud/ocis/v2/services/nats/pkg/server/nats" "github.com/urfave/cli/v2" ) diff --git a/extensions/audit/pkg/command/version.go b/services/nats/pkg/command/version.go similarity index 87% rename from extensions/audit/pkg/command/version.go rename to services/nats/pkg/command/version.go index 0a90a7e1b..cedb412b1 100644 --- a/extensions/audit/pkg/command/version.go +++ b/services/nats/pkg/command/version.go @@ -1,7 +1,7 @@ package command import ( - "github.com/owncloud/ocis/v2/extensions/audit/pkg/config" + "github.com/owncloud/ocis/v2/services/nats/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/nats/pkg/config/config.go b/services/nats/pkg/config/config.go similarity index 100% rename from extensions/nats/pkg/config/config.go rename to services/nats/pkg/config/config.go diff --git a/extensions/nats/pkg/config/debug.go b/services/nats/pkg/config/debug.go similarity index 100% rename from extensions/nats/pkg/config/debug.go rename to services/nats/pkg/config/debug.go diff --git a/extensions/nats/pkg/config/defaults/defaultconfig.go b/services/nats/pkg/config/defaults/defaultconfig.go similarity index 95% rename from extensions/nats/pkg/config/defaults/defaultconfig.go rename to services/nats/pkg/config/defaults/defaultconfig.go index 176657242..d130a8ac2 100644 --- a/extensions/nats/pkg/config/defaults/defaultconfig.go +++ b/services/nats/pkg/config/defaults/defaultconfig.go @@ -3,8 +3,8 @@ package defaults import ( "path" - "github.com/owncloud/ocis/v2/extensions/nats/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/nats/pkg/config" ) // NOTE: Most of this configuration is not needed to keep it as simple as possible diff --git a/extensions/nats/pkg/config/log.go b/services/nats/pkg/config/log.go similarity index 100% rename from extensions/nats/pkg/config/log.go rename to services/nats/pkg/config/log.go diff --git a/extensions/audit/pkg/config/parser/parse.go b/services/nats/pkg/config/parser/parse.go similarity index 85% rename from extensions/audit/pkg/config/parser/parse.go rename to services/nats/pkg/config/parser/parse.go index 677e5906c..b741cf3a0 100644 --- a/extensions/audit/pkg/config/parser/parse.go +++ b/services/nats/pkg/config/parser/parse.go @@ -3,9 +3,9 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/audit/pkg/config" - "github.com/owncloud/ocis/v2/extensions/audit/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/nats/pkg/config" + "github.com/owncloud/ocis/v2/services/nats/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/nats/pkg/config/service.go b/services/nats/pkg/config/service.go similarity index 100% rename from extensions/nats/pkg/config/service.go rename to services/nats/pkg/config/service.go diff --git a/services/nats/pkg/logging/logging.go b/services/nats/pkg/logging/logging.go new file mode 100644 index 000000000..230b1d7f7 --- /dev/null +++ b/services/nats/pkg/logging/logging.go @@ -0,0 +1,17 @@ +package logging + +import ( + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/nats/pkg/config" +) + +// LoggerFromConfig initializes a service-specific logger instance. +func Configure(name string, cfg *config.Log) log.Logger { + return log.NewLogger( + log.Name(name), + log.Level(cfg.Level), + log.Pretty(cfg.Pretty), + log.Color(cfg.Color), + log.File(cfg.File), + ) +} diff --git a/extensions/nats/pkg/logging/nats.go b/services/nats/pkg/logging/nats.go similarity index 100% rename from extensions/nats/pkg/logging/nats.go rename to services/nats/pkg/logging/nats.go diff --git a/extensions/nats/pkg/server/nats/nats.go b/services/nats/pkg/server/nats/nats.go similarity index 100% rename from extensions/nats/pkg/server/nats/nats.go rename to services/nats/pkg/server/nats/nats.go diff --git a/extensions/nats/pkg/server/nats/options.go b/services/nats/pkg/server/nats/options.go similarity index 100% rename from extensions/nats/pkg/server/nats/options.go rename to services/nats/pkg/server/nats/options.go diff --git a/extensions/notifications/Makefile b/services/notifications/Makefile similarity index 100% rename from extensions/notifications/Makefile rename to services/notifications/Makefile diff --git a/extensions/auth-bearer/cmd/auth-bearer/main.go b/services/notifications/cmd/notifications/main.go similarity index 52% rename from extensions/auth-bearer/cmd/auth-bearer/main.go rename to services/notifications/cmd/notifications/main.go index 0a6ebecb9..5d5752af3 100644 --- a/extensions/auth-bearer/cmd/auth-bearer/main.go +++ b/services/notifications/cmd/notifications/main.go @@ -3,8 +3,8 @@ package main import ( "os" - "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/command" - "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/notifications/pkg/command" + "github.com/owncloud/ocis/v2/services/notifications/pkg/config/defaults" ) func main() { diff --git a/extensions/notifications/pkg/channels/channels.go b/services/notifications/pkg/channels/channels.go similarity index 97% rename from extensions/notifications/pkg/channels/channels.go rename to services/notifications/pkg/channels/channels.go index 62881dd75..e058e2db2 100644 --- a/extensions/notifications/pkg/channels/channels.go +++ b/services/notifications/pkg/channels/channels.go @@ -9,8 +9,8 @@ import ( groups "github.com/cs3org/go-cs3apis/cs3/identity/group/v1beta1" rpc "github.com/cs3org/go-cs3apis/cs3/rpc/v1beta1" "github.com/cs3org/reva/v2/pkg/rgrpc/todo/pool" - "github.com/owncloud/ocis/v2/extensions/notifications/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/notifications/pkg/config" "github.com/pkg/errors" ) diff --git a/extensions/notifications/pkg/command/health.go b/services/notifications/pkg/command/health.go similarity index 82% rename from extensions/notifications/pkg/command/health.go rename to services/notifications/pkg/command/health.go index 740dd8af8..bcc1df71a 100644 --- a/extensions/notifications/pkg/command/health.go +++ b/services/notifications/pkg/command/health.go @@ -1,7 +1,7 @@ package command import ( - "github.com/owncloud/ocis/v2/extensions/notifications/pkg/config" + "github.com/owncloud/ocis/v2/services/notifications/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/notifications/pkg/command/root.go b/services/notifications/pkg/command/root.go similarity index 95% rename from extensions/notifications/pkg/command/root.go rename to services/notifications/pkg/command/root.go index bf90ee56b..17d52afe6 100644 --- a/extensions/notifications/pkg/command/root.go +++ b/services/notifications/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/notifications/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/notifications/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/notifications/pkg/command/server.go b/services/notifications/pkg/command/server.go similarity index 78% rename from extensions/notifications/pkg/command/server.go rename to services/notifications/pkg/command/server.go index 1b9a68f10..91f43b1b9 100644 --- a/extensions/notifications/pkg/command/server.go +++ b/services/notifications/pkg/command/server.go @@ -7,11 +7,11 @@ import ( "github.com/cs3org/reva/v2/pkg/events" "github.com/cs3org/reva/v2/pkg/events/server" "github.com/go-micro/plugins/v4/events/natsjs" - "github.com/owncloud/ocis/v2/extensions/notifications/pkg/channels" - "github.com/owncloud/ocis/v2/extensions/notifications/pkg/config" - "github.com/owncloud/ocis/v2/extensions/notifications/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/notifications/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/notifications/pkg/service" + "github.com/owncloud/ocis/v2/services/notifications/pkg/channels" + "github.com/owncloud/ocis/v2/services/notifications/pkg/config" + "github.com/owncloud/ocis/v2/services/notifications/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/notifications/pkg/logging" + "github.com/owncloud/ocis/v2/services/notifications/pkg/service" "github.com/urfave/cli/v2" ) diff --git a/extensions/notifications/pkg/command/version.go b/services/notifications/pkg/command/version.go similarity index 85% rename from extensions/notifications/pkg/command/version.go rename to services/notifications/pkg/command/version.go index d1b55c18f..153f65af3 100644 --- a/extensions/notifications/pkg/command/version.go +++ b/services/notifications/pkg/command/version.go @@ -1,7 +1,7 @@ package command import ( - "github.com/owncloud/ocis/v2/extensions/notifications/pkg/config" + "github.com/owncloud/ocis/v2/services/notifications/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/notifications/pkg/config/config.go b/services/notifications/pkg/config/config.go similarity index 100% rename from extensions/notifications/pkg/config/config.go rename to services/notifications/pkg/config/config.go diff --git a/extensions/notifications/pkg/config/debug.go b/services/notifications/pkg/config/debug.go similarity index 100% rename from extensions/notifications/pkg/config/debug.go rename to services/notifications/pkg/config/debug.go diff --git a/extensions/notifications/pkg/config/defaults/defaultconfig.go b/services/notifications/pkg/config/defaults/defaultconfig.go similarity index 95% rename from extensions/notifications/pkg/config/defaults/defaultconfig.go rename to services/notifications/pkg/config/defaults/defaultconfig.go index 5f29ea927..c01c4d2f6 100644 --- a/extensions/notifications/pkg/config/defaults/defaultconfig.go +++ b/services/notifications/pkg/config/defaults/defaultconfig.go @@ -1,7 +1,7 @@ package defaults import ( - "github.com/owncloud/ocis/v2/extensions/notifications/pkg/config" + "github.com/owncloud/ocis/v2/services/notifications/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/notifications/pkg/config/log.go b/services/notifications/pkg/config/log.go similarity index 100% rename from extensions/notifications/pkg/config/log.go rename to services/notifications/pkg/config/log.go diff --git a/extensions/notifications/pkg/config/parser/parse.go b/services/notifications/pkg/config/parser/parse.go similarity index 86% rename from extensions/notifications/pkg/config/parser/parse.go rename to services/notifications/pkg/config/parser/parse.go index 6bb231a06..72ccfb22f 100644 --- a/extensions/notifications/pkg/config/parser/parse.go +++ b/services/notifications/pkg/config/parser/parse.go @@ -3,10 +3,10 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/notifications/pkg/config" - "github.com/owncloud/ocis/v2/extensions/notifications/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/notifications/pkg/config" + "github.com/owncloud/ocis/v2/services/notifications/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/notifications/pkg/config/service.go b/services/notifications/pkg/config/service.go similarity index 100% rename from extensions/notifications/pkg/config/service.go rename to services/notifications/pkg/config/service.go diff --git a/extensions/auth-bearer/pkg/logging/logging.go b/services/notifications/pkg/logging/logging.go similarity index 84% rename from extensions/auth-bearer/pkg/logging/logging.go rename to services/notifications/pkg/logging/logging.go index 70706b74a..982389bcf 100644 --- a/extensions/auth-bearer/pkg/logging/logging.go +++ b/services/notifications/pkg/logging/logging.go @@ -1,8 +1,8 @@ package logging import ( - "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/notifications/pkg/config" ) // LoggerFromConfig initializes a service-specific logger instance. diff --git a/extensions/notifications/pkg/service/service.go b/services/notifications/pkg/service/service.go similarity index 95% rename from extensions/notifications/pkg/service/service.go rename to services/notifications/pkg/service/service.go index a2d4a7cc7..d6c8f9705 100644 --- a/extensions/notifications/pkg/service/service.go +++ b/services/notifications/pkg/service/service.go @@ -6,8 +6,8 @@ import ( "syscall" "github.com/cs3org/reva/v2/pkg/events" - "github.com/owncloud/ocis/v2/extensions/notifications/pkg/channels" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/notifications/pkg/channels" ) type Service interface { diff --git a/extensions/ocdav/Makefile b/services/ocdav/Makefile similarity index 100% rename from extensions/ocdav/Makefile rename to services/ocdav/Makefile diff --git a/extensions/idm/cmd/idm/main.go b/services/ocdav/cmd/ocdav/main.go similarity index 52% rename from extensions/idm/cmd/idm/main.go rename to services/ocdav/cmd/ocdav/main.go index 56faeab58..9875027bd 100644 --- a/extensions/idm/cmd/idm/main.go +++ b/services/ocdav/cmd/ocdav/main.go @@ -3,8 +3,8 @@ package main import ( "os" - "github.com/owncloud/ocis/v2/extensions/idm/pkg/command" - "github.com/owncloud/ocis/v2/extensions/idm/pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/ocdav/pkg/command" + "github.com/owncloud/ocis/v2/services/ocdav/pkg/config/defaults" ) func main() { diff --git a/extensions/web/pkg/command/health.go b/services/ocdav/pkg/command/health.go similarity index 84% rename from extensions/web/pkg/command/health.go rename to services/ocdav/pkg/command/health.go index 640ed8bd8..8724a43ad 100644 --- a/extensions/web/pkg/command/health.go +++ b/services/ocdav/pkg/command/health.go @@ -4,9 +4,9 @@ import ( "fmt" "net/http" - "github.com/owncloud/ocis/v2/extensions/web/pkg/config" - "github.com/owncloud/ocis/v2/extensions/web/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/web/pkg/logging" + "github.com/owncloud/ocis/v2/services/ocdav/pkg/config" + "github.com/owncloud/ocis/v2/services/ocdav/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/ocdav/pkg/logging" "github.com/urfave/cli/v2" ) diff --git a/extensions/ocdav/pkg/command/root.go b/services/ocdav/pkg/command/root.go similarity index 95% rename from extensions/ocdav/pkg/command/root.go rename to services/ocdav/pkg/command/root.go index 9b2bbf7d9..b96cc0181 100644 --- a/extensions/ocdav/pkg/command/root.go +++ b/services/ocdav/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/ocdav/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/ocdav/pkg/command/server.go b/services/ocdav/pkg/command/server.go similarity index 91% rename from extensions/ocdav/pkg/command/server.go rename to services/ocdav/pkg/command/server.go index 2109e6303..7af407553 100644 --- a/extensions/ocdav/pkg/command/server.go +++ b/services/ocdav/pkg/command/server.go @@ -7,12 +7,12 @@ import ( "github.com/cs3org/reva/v2/pkg/micro/ocdav" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/config" - "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/ocdav/pkg/config" + "github.com/owncloud/ocis/v2/services/ocdav/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/ocdav/pkg/logging" + "github.com/owncloud/ocis/v2/services/ocdav/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/ocdav/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/extensions/idp/pkg/command/version.go b/services/ocdav/pkg/command/version.go similarity index 95% rename from extensions/idp/pkg/command/version.go rename to services/ocdav/pkg/command/version.go index 64522d25c..71ab3f901 100644 --- a/extensions/idp/pkg/command/version.go +++ b/services/ocdav/pkg/command/version.go @@ -8,7 +8,7 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/version" tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/config" + "github.com/owncloud/ocis/v2/services/ocdav/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/ocdav/pkg/config/config.go b/services/ocdav/pkg/config/config.go similarity index 100% rename from extensions/ocdav/pkg/config/config.go rename to services/ocdav/pkg/config/config.go diff --git a/extensions/ocdav/pkg/config/defaults/defaultconfig.go b/services/ocdav/pkg/config/defaults/defaultconfig.go similarity index 97% rename from extensions/ocdav/pkg/config/defaults/defaultconfig.go rename to services/ocdav/pkg/config/defaults/defaultconfig.go index e41d021b8..804e56528 100644 --- a/extensions/ocdav/pkg/config/defaults/defaultconfig.go +++ b/services/ocdav/pkg/config/defaults/defaultconfig.go @@ -1,8 +1,8 @@ package defaults import ( - "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/ocdav/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/ocdav/pkg/config/parser/parse.go b/services/ocdav/pkg/config/parser/parse.go similarity index 87% rename from extensions/ocdav/pkg/config/parser/parse.go rename to services/ocdav/pkg/config/parser/parse.go index bb7822ca9..6a1de96b2 100644 --- a/extensions/ocdav/pkg/config/parser/parse.go +++ b/services/ocdav/pkg/config/parser/parse.go @@ -3,10 +3,10 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/config" - "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/ocdav/pkg/config" + "github.com/owncloud/ocis/v2/services/ocdav/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/ocdav/pkg/config/reva.go b/services/ocdav/pkg/config/reva.go similarity index 100% rename from extensions/ocdav/pkg/config/reva.go rename to services/ocdav/pkg/config/reva.go diff --git a/services/ocdav/pkg/logging/logging.go b/services/ocdav/pkg/logging/logging.go new file mode 100644 index 000000000..f5341b839 --- /dev/null +++ b/services/ocdav/pkg/logging/logging.go @@ -0,0 +1,17 @@ +package logging + +import ( + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/ocdav/pkg/config" +) + +// LoggerFromConfig initializes a service-specific logger instance. +func Configure(name string, cfg *config.Log) log.Logger { + return log.NewLogger( + log.Name(name), + log.Level(cfg.Level), + log.Pretty(cfg.Pretty), + log.Color(cfg.Color), + log.File(cfg.File), + ) +} diff --git a/extensions/web/pkg/server/debug/option.go b/services/ocdav/pkg/server/debug/option.go similarity index 94% rename from extensions/web/pkg/server/debug/option.go rename to services/ocdav/pkg/server/debug/option.go index 360025b00..76dc12aa5 100644 --- a/extensions/web/pkg/server/debug/option.go +++ b/services/ocdav/pkg/server/debug/option.go @@ -3,8 +3,8 @@ package debug import ( "context" - "github.com/owncloud/ocis/v2/extensions/web/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/ocdav/pkg/config" ) // Option defines a single option function. diff --git a/extensions/gateway/pkg/server/debug/server.go b/services/ocdav/pkg/server/debug/server.go similarity index 96% rename from extensions/gateway/pkg/server/debug/server.go rename to services/ocdav/pkg/server/debug/server.go index 0d3a8d249..43f2b2e74 100644 --- a/extensions/gateway/pkg/server/debug/server.go +++ b/services/ocdav/pkg/server/debug/server.go @@ -4,9 +4,9 @@ import ( "io" "net/http" - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/ocdav/pkg/config" ) // Server initializes the debug service and server. diff --git a/extensions/gateway/pkg/tracing/tracing.go b/services/ocdav/pkg/tracing/tracing.go similarity index 87% rename from extensions/gateway/pkg/tracing/tracing.go rename to services/ocdav/pkg/tracing/tracing.go index 41f6df08f..b9f661c86 100644 --- a/extensions/gateway/pkg/tracing/tracing.go +++ b/services/ocdav/pkg/tracing/tracing.go @@ -1,9 +1,9 @@ package tracing import ( - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/ocdav/pkg/config" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/ocs/.dockerignore b/services/ocs/.dockerignore similarity index 100% rename from extensions/ocs/.dockerignore rename to services/ocs/.dockerignore diff --git a/extensions/ocs/Makefile b/services/ocs/Makefile similarity index 100% rename from extensions/ocs/Makefile rename to services/ocs/Makefile diff --git a/services/ocs/cmd/ocs/main.go b/services/ocs/cmd/ocs/main.go new file mode 100644 index 000000000..a2b9021ea --- /dev/null +++ b/services/ocs/cmd/ocs/main.go @@ -0,0 +1,14 @@ +package main + +import ( + "os" + + "github.com/owncloud/ocis/v2/services/ocs/pkg/command" + "github.com/owncloud/ocis/v2/services/ocs/pkg/config/defaults" +) + +func main() { + if err := command.Execute(defaults.DefaultConfig()); err != nil { + os.Exit(1) + } +} diff --git a/extensions/ocs/config/.gitignore b/services/ocs/config/.gitignore similarity index 100% rename from extensions/ocs/config/.gitignore rename to services/ocs/config/.gitignore diff --git a/extensions/ocs/docker/Dockerfile.linux.amd64 b/services/ocs/docker/Dockerfile.linux.amd64 similarity index 100% rename from extensions/ocs/docker/Dockerfile.linux.amd64 rename to services/ocs/docker/Dockerfile.linux.amd64 diff --git a/extensions/ocs/docker/Dockerfile.linux.arm b/services/ocs/docker/Dockerfile.linux.arm similarity index 100% rename from extensions/ocs/docker/Dockerfile.linux.arm rename to services/ocs/docker/Dockerfile.linux.arm diff --git a/extensions/ocs/docker/Dockerfile.linux.arm64 b/services/ocs/docker/Dockerfile.linux.arm64 similarity index 100% rename from extensions/ocs/docker/Dockerfile.linux.arm64 rename to services/ocs/docker/Dockerfile.linux.arm64 diff --git a/extensions/ocs/docker/manifest.tmpl b/services/ocs/docker/manifest.tmpl similarity index 100% rename from extensions/ocs/docker/manifest.tmpl rename to services/ocs/docker/manifest.tmpl diff --git a/services/ocs/pkg/command/health.go b/services/ocs/pkg/command/health.go new file mode 100644 index 000000000..197c2e1ca --- /dev/null +++ b/services/ocs/pkg/command/health.go @@ -0,0 +1,57 @@ +package command + +import ( + "fmt" + "net/http" + + "github.com/owncloud/ocis/v2/services/ocs/pkg/config" + "github.com/owncloud/ocis/v2/services/ocs/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/ocs/pkg/logging" + "github.com/urfave/cli/v2" +) + +// Health is the entrypoint for the health command. +func Health(cfg *config.Config) *cli.Command { + return &cli.Command{ + Name: "health", + Usage: "check health status", + Category: "info", + Before: func(c *cli.Context) error { + err := parser.ParseConfig(cfg) + if err != nil { + fmt.Printf("%v", err) + } + return err + }, + Action: func(c *cli.Context) error { + logger := logging.Configure(cfg.Service.Name, cfg.Log) + + resp, err := http.Get( + fmt.Sprintf( + "http://%s/healthz", + cfg.Debug.Addr, + ), + ) + + if err != nil { + logger.Fatal(). + Err(err). + Msg("Failed to request health check") + } + + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + logger.Fatal(). + Int("code", resp.StatusCode). + Msg("Health seems to be in bad state") + } + + logger.Debug(). + Int("code", resp.StatusCode). + Msg("Health got a good state") + + return nil + }, + } +} diff --git a/extensions/ocs/pkg/command/root.go b/services/ocs/pkg/command/root.go similarity index 95% rename from extensions/ocs/pkg/command/root.go rename to services/ocs/pkg/command/root.go index 0ab6e6159..9e3436e07 100644 --- a/extensions/ocs/pkg/command/root.go +++ b/services/ocs/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/ocs/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/ocs/pkg/command/server.go b/services/ocs/pkg/command/server.go similarity index 82% rename from extensions/ocs/pkg/command/server.go rename to services/ocs/pkg/command/server.go index ade9fa50d..8de4dd160 100644 --- a/extensions/ocs/pkg/command/server.go +++ b/services/ocs/pkg/command/server.go @@ -5,16 +5,16 @@ import ( "fmt" "os" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/ocs/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/ocs/pkg/logging" + "github.com/owncloud/ocis/v2/services/ocs/pkg/tracing" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/config" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/metrics" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/server/http" + "github.com/owncloud/ocis/v2/services/ocs/pkg/config" + "github.com/owncloud/ocis/v2/services/ocs/pkg/metrics" + "github.com/owncloud/ocis/v2/services/ocs/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/ocs/pkg/server/http" "github.com/urfave/cli/v2" ) diff --git a/extensions/ocdav/pkg/command/version.go b/services/ocs/pkg/command/version.go similarity index 95% rename from extensions/ocdav/pkg/command/version.go rename to services/ocs/pkg/command/version.go index ae2b44f31..4d3bf8bba 100644 --- a/extensions/ocdav/pkg/command/version.go +++ b/services/ocs/pkg/command/version.go @@ -8,7 +8,7 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/version" tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/config" + "github.com/owncloud/ocis/v2/services/ocs/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/ocs/pkg/config/config.go b/services/ocs/pkg/config/config.go similarity index 100% rename from extensions/ocs/pkg/config/config.go rename to services/ocs/pkg/config/config.go diff --git a/extensions/ocs/pkg/config/debug.go b/services/ocs/pkg/config/debug.go similarity index 100% rename from extensions/ocs/pkg/config/debug.go rename to services/ocs/pkg/config/debug.go diff --git a/extensions/ocs/pkg/config/defaults/defaultconfig.go b/services/ocs/pkg/config/defaults/defaultconfig.go similarity index 97% rename from extensions/ocs/pkg/config/defaults/defaultconfig.go rename to services/ocs/pkg/config/defaults/defaultconfig.go index 79d839aee..d2ce6df71 100644 --- a/extensions/ocs/pkg/config/defaults/defaultconfig.go +++ b/services/ocs/pkg/config/defaults/defaultconfig.go @@ -3,7 +3,7 @@ package defaults import ( "strings" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/config" + "github.com/owncloud/ocis/v2/services/ocs/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/ocs/pkg/config/http.go b/services/ocs/pkg/config/http.go similarity index 100% rename from extensions/ocs/pkg/config/http.go rename to services/ocs/pkg/config/http.go diff --git a/extensions/ocs/pkg/config/log.go b/services/ocs/pkg/config/log.go similarity index 100% rename from extensions/ocs/pkg/config/log.go rename to services/ocs/pkg/config/log.go diff --git a/extensions/ocs/pkg/config/parser/parse.go b/services/ocs/pkg/config/parser/parse.go similarity index 89% rename from extensions/ocs/pkg/config/parser/parse.go rename to services/ocs/pkg/config/parser/parse.go index d9e3c5590..ecb6b0e18 100644 --- a/extensions/ocs/pkg/config/parser/parse.go +++ b/services/ocs/pkg/config/parser/parse.go @@ -3,8 +3,8 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/config" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/ocs/pkg/config" + "github.com/owncloud/ocis/v2/services/ocs/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/shared" diff --git a/extensions/ocs/pkg/config/reva.go b/services/ocs/pkg/config/reva.go similarity index 100% rename from extensions/ocs/pkg/config/reva.go rename to services/ocs/pkg/config/reva.go diff --git a/extensions/ocs/pkg/config/service.go b/services/ocs/pkg/config/service.go similarity index 100% rename from extensions/ocs/pkg/config/service.go rename to services/ocs/pkg/config/service.go diff --git a/extensions/ocs/pkg/config/tracing.go b/services/ocs/pkg/config/tracing.go similarity index 100% rename from extensions/ocs/pkg/config/tracing.go rename to services/ocs/pkg/config/tracing.go diff --git a/services/ocs/pkg/logging/logging.go b/services/ocs/pkg/logging/logging.go new file mode 100644 index 000000000..9156b2b81 --- /dev/null +++ b/services/ocs/pkg/logging/logging.go @@ -0,0 +1,17 @@ +package logging + +import ( + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/ocs/pkg/config" +) + +// LoggerFromConfig initializes a service-specific logger instance. +func Configure(name string, cfg *config.Log) log.Logger { + return log.NewLogger( + log.Name(name), + log.Level(cfg.Level), + log.Pretty(cfg.Pretty), + log.Color(cfg.Color), + log.File(cfg.File), + ) +} diff --git a/extensions/ocs/pkg/metrics/metrics.go b/services/ocs/pkg/metrics/metrics.go similarity index 100% rename from extensions/ocs/pkg/metrics/metrics.go rename to services/ocs/pkg/metrics/metrics.go diff --git a/extensions/ocs/pkg/middleware/format.go b/services/ocs/pkg/middleware/format.go similarity index 100% rename from extensions/ocs/pkg/middleware/format.go rename to services/ocs/pkg/middleware/format.go diff --git a/extensions/ocs/pkg/middleware/logtrace.go b/services/ocs/pkg/middleware/logtrace.go similarity index 89% rename from extensions/ocs/pkg/middleware/logtrace.go rename to services/ocs/pkg/middleware/logtrace.go index 7e51bd7f6..a9444902d 100644 --- a/extensions/ocs/pkg/middleware/logtrace.go +++ b/services/ocs/pkg/middleware/logtrace.go @@ -3,7 +3,7 @@ package middleware import ( "net/http" - ocstracing "github.com/owncloud/ocis/v2/extensions/ocs/pkg/tracing" + ocstracing "github.com/owncloud/ocis/v2/services/ocs/pkg/tracing" "go.opentelemetry.io/otel/propagation" ) diff --git a/extensions/ocs/pkg/middleware/options.go b/services/ocs/pkg/middleware/options.go similarity index 100% rename from extensions/ocs/pkg/middleware/options.go rename to services/ocs/pkg/middleware/options.go diff --git a/extensions/ocs/pkg/middleware/requireadmin.go b/services/ocs/pkg/middleware/requireadmin.go similarity index 85% rename from extensions/ocs/pkg/middleware/requireadmin.go rename to services/ocs/pkg/middleware/requireadmin.go index 4e41843c3..87f58eebe 100644 --- a/extensions/ocs/pkg/middleware/requireadmin.go +++ b/services/ocs/pkg/middleware/requireadmin.go @@ -4,10 +4,10 @@ import ( "net/http" "github.com/go-chi/render" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/service/v0/data" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/service/v0/response" - settings "github.com/owncloud/ocis/v2/extensions/settings/pkg/service/v0" "github.com/owncloud/ocis/v2/ocis-pkg/roles" + "github.com/owncloud/ocis/v2/services/ocs/pkg/service/v0/data" + "github.com/owncloud/ocis/v2/services/ocs/pkg/service/v0/response" + settings "github.com/owncloud/ocis/v2/services/settings/pkg/service/v0" ) // RequireAdmin middleware is used to require the user in context to be an admin / have account management permissions diff --git a/extensions/ocs/pkg/middleware/requireselforadmin.go b/services/ocs/pkg/middleware/requireselforadmin.go similarity index 90% rename from extensions/ocs/pkg/middleware/requireselforadmin.go rename to services/ocs/pkg/middleware/requireselforadmin.go index 38cef4482..51ce63d1e 100644 --- a/extensions/ocs/pkg/middleware/requireselforadmin.go +++ b/services/ocs/pkg/middleware/requireselforadmin.go @@ -7,11 +7,11 @@ import ( revactx "github.com/cs3org/reva/v2/pkg/ctx" "github.com/go-chi/chi/v5" "github.com/go-chi/render" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/service/v0/data" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/service/v0/response" - settings "github.com/owncloud/ocis/v2/extensions/settings/pkg/service/v0" - settingsService "github.com/owncloud/ocis/v2/extensions/settings/pkg/service/v0" "github.com/owncloud/ocis/v2/ocis-pkg/roles" + "github.com/owncloud/ocis/v2/services/ocs/pkg/service/v0/data" + "github.com/owncloud/ocis/v2/services/ocs/pkg/service/v0/response" + settings "github.com/owncloud/ocis/v2/services/settings/pkg/service/v0" + settingsService "github.com/owncloud/ocis/v2/services/settings/pkg/service/v0" ) // RequireSelfOrAdmin middleware is used to require the requesting user to be an admin or the requested user himself diff --git a/extensions/ocs/pkg/middleware/requireuser.go b/services/ocs/pkg/middleware/requireuser.go similarity index 88% rename from extensions/ocs/pkg/middleware/requireuser.go rename to services/ocs/pkg/middleware/requireuser.go index 1cb30477a..2b17f178b 100644 --- a/extensions/ocs/pkg/middleware/requireuser.go +++ b/services/ocs/pkg/middleware/requireuser.go @@ -5,8 +5,8 @@ import ( revactx "github.com/cs3org/reva/v2/pkg/ctx" "github.com/go-chi/render" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/service/v0/data" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/service/v0/response" + "github.com/owncloud/ocis/v2/services/ocs/pkg/service/v0/data" + "github.com/owncloud/ocis/v2/services/ocs/pkg/service/v0/response" ) // RequireUser middleware is used to require a user in context diff --git a/services/ocs/pkg/server/debug/option.go b/services/ocs/pkg/server/debug/option.go new file mode 100644 index 000000000..2533141d9 --- /dev/null +++ b/services/ocs/pkg/server/debug/option.go @@ -0,0 +1,50 @@ +package debug + +import ( + "context" + + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/ocs/pkg/config" +) + +// Option defines a single option function. +type Option func(o *Options) + +// Options defines the available options for this package. +type Options struct { + Logger log.Logger + Context context.Context + Config *config.Config +} + +// newOptions initializes the available default options. +func newOptions(opts ...Option) Options { + opt := Options{} + + for _, o := range opts { + o(&opt) + } + + return opt +} + +// Logger provides a function to set the logger option. +func Logger(val log.Logger) Option { + return func(o *Options) { + o.Logger = val + } +} + +// Context provides a function to set the context option. +func Context(val context.Context) Option { + return func(o *Options) { + o.Context = val + } +} + +// Config provides a function to set the config option. +func Config(val *config.Config) Option { + return func(o *Options) { + o.Config = val + } +} diff --git a/extensions/ocs/pkg/server/debug/server.go b/services/ocs/pkg/server/debug/server.go similarity index 97% rename from extensions/ocs/pkg/server/debug/server.go rename to services/ocs/pkg/server/debug/server.go index 09c2b80f7..ec1446494 100644 --- a/extensions/ocs/pkg/server/debug/server.go +++ b/services/ocs/pkg/server/debug/server.go @@ -4,9 +4,9 @@ import ( "io" "net/http" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/ocs/pkg/config" ) // Server initializes the debug service and server. diff --git a/extensions/web/pkg/server/http/option.go b/services/ocs/pkg/server/http/option.go similarity index 92% rename from extensions/web/pkg/server/http/option.go rename to services/ocs/pkg/server/http/option.go index 98462b72a..dd10e91e2 100644 --- a/extensions/web/pkg/server/http/option.go +++ b/services/ocs/pkg/server/http/option.go @@ -3,9 +3,9 @@ package http import ( "context" - "github.com/owncloud/ocis/v2/extensions/web/pkg/config" - "github.com/owncloud/ocis/v2/extensions/web/pkg/metrics" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/ocs/pkg/config" + "github.com/owncloud/ocis/v2/services/ocs/pkg/metrics" "github.com/urfave/cli/v2" ) @@ -14,12 +14,12 @@ type Option func(o *Options) // Options defines the available options for this package. type Options struct { + Namespace string Logger log.Logger Context context.Context Config *config.Config Metrics *metrics.Metrics Flags []cli.Flag - Namespace string } // newOptions initializes the available default options. diff --git a/extensions/ocs/pkg/server/http/server.go b/services/ocs/pkg/server/http/server.go similarity index 92% rename from extensions/ocs/pkg/server/http/server.go rename to services/ocs/pkg/server/http/server.go index 47f42247a..1f3a4b608 100644 --- a/extensions/ocs/pkg/server/http/server.go +++ b/services/ocs/pkg/server/http/server.go @@ -2,12 +2,12 @@ package http import ( chimiddleware "github.com/go-chi/chi/v5/middleware" - ocsmw "github.com/owncloud/ocis/v2/extensions/ocs/pkg/middleware" - svc "github.com/owncloud/ocis/v2/extensions/ocs/pkg/service/v0" "github.com/owncloud/ocis/v2/ocis-pkg/cors" "github.com/owncloud/ocis/v2/ocis-pkg/middleware" "github.com/owncloud/ocis/v2/ocis-pkg/service/http" "github.com/owncloud/ocis/v2/ocis-pkg/version" + ocsmw "github.com/owncloud/ocis/v2/services/ocs/pkg/middleware" + svc "github.com/owncloud/ocis/v2/services/ocs/pkg/service/v0" "go-micro.dev/v4" ) diff --git a/extensions/ocs/pkg/service/v0/config.go b/services/ocs/pkg/service/v0/config.go similarity index 75% rename from extensions/ocs/pkg/service/v0/config.go rename to services/ocs/pkg/service/v0/config.go index da4b7bc9f..9ff28bad1 100644 --- a/extensions/ocs/pkg/service/v0/config.go +++ b/services/ocs/pkg/service/v0/config.go @@ -3,8 +3,8 @@ package svc import ( "net/http" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/service/v0/data" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/service/v0/response" + "github.com/owncloud/ocis/v2/services/ocs/pkg/service/v0/data" + "github.com/owncloud/ocis/v2/services/ocs/pkg/service/v0/response" ) // GetConfig renders the ocs config endpoint diff --git a/extensions/ocs/pkg/service/v0/data/config.go b/services/ocs/pkg/service/v0/data/config.go similarity index 100% rename from extensions/ocs/pkg/service/v0/data/config.go rename to services/ocs/pkg/service/v0/data/config.go diff --git a/extensions/ocs/pkg/service/v0/data/group.go b/services/ocs/pkg/service/v0/data/group.go similarity index 100% rename from extensions/ocs/pkg/service/v0/data/group.go rename to services/ocs/pkg/service/v0/data/group.go diff --git a/extensions/ocs/pkg/service/v0/data/meta.go b/services/ocs/pkg/service/v0/data/meta.go similarity index 100% rename from extensions/ocs/pkg/service/v0/data/meta.go rename to services/ocs/pkg/service/v0/data/meta.go diff --git a/extensions/ocs/pkg/service/v0/data/user.go b/services/ocs/pkg/service/v0/data/user.go similarity index 100% rename from extensions/ocs/pkg/service/v0/data/user.go rename to services/ocs/pkg/service/v0/data/user.go diff --git a/extensions/ocs/pkg/service/v0/groups.go b/services/ocs/pkg/service/v0/groups.go similarity index 94% rename from extensions/ocs/pkg/service/v0/groups.go rename to services/ocs/pkg/service/v0/groups.go index ce0a658e6..be933718e 100644 --- a/extensions/ocs/pkg/service/v0/groups.go +++ b/services/ocs/pkg/service/v0/groups.go @@ -5,8 +5,8 @@ import ( "net/url" "github.com/go-chi/chi/v5" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/service/v0/data" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/service/v0/response" + "github.com/owncloud/ocis/v2/services/ocs/pkg/service/v0/data" + "github.com/owncloud/ocis/v2/services/ocs/pkg/service/v0/response" ) // ListUserGroups lists a users groups diff --git a/extensions/ocs/pkg/service/v0/instrument.go b/services/ocs/pkg/service/v0/instrument.go similarity index 91% rename from extensions/ocs/pkg/service/v0/instrument.go rename to services/ocs/pkg/service/v0/instrument.go index c13987343..15c42b348 100644 --- a/extensions/ocs/pkg/service/v0/instrument.go +++ b/services/ocs/pkg/service/v0/instrument.go @@ -3,7 +3,7 @@ package svc import ( "net/http" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/metrics" + "github.com/owncloud/ocis/v2/services/ocs/pkg/metrics" ) // NewInstrument returns a service that instruments metrics. diff --git a/extensions/ocs/pkg/service/v0/logging.go b/services/ocs/pkg/service/v0/logging.go similarity index 100% rename from extensions/ocs/pkg/service/v0/logging.go rename to services/ocs/pkg/service/v0/logging.go diff --git a/extensions/ocs/pkg/service/v0/option.go b/services/ocs/pkg/service/v0/option.go similarity index 96% rename from extensions/ocs/pkg/service/v0/option.go rename to services/ocs/pkg/service/v0/option.go index ba4a7b9b3..bfefbe61f 100644 --- a/extensions/ocs/pkg/service/v0/option.go +++ b/services/ocs/pkg/service/v0/option.go @@ -3,10 +3,10 @@ package svc import ( "net/http" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/roles" settingssvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/settings/v0" + "github.com/owncloud/ocis/v2/services/ocs/pkg/config" ) // Option defines a single option function. diff --git a/extensions/ocs/pkg/service/v0/response/response.go b/services/ocs/pkg/service/v0/response/response.go similarity index 97% rename from extensions/ocs/pkg/service/v0/response/response.go rename to services/ocs/pkg/service/v0/response/response.go index 6731d1fa4..d1035fcd7 100644 --- a/extensions/ocs/pkg/service/v0/response/response.go +++ b/services/ocs/pkg/service/v0/response/response.go @@ -6,7 +6,7 @@ import ( "reflect" "github.com/go-chi/render" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/service/v0/data" + "github.com/owncloud/ocis/v2/services/ocs/pkg/service/v0/data" ) // Response is the top level response structure diff --git a/extensions/ocs/pkg/service/v0/response/version.go b/services/ocs/pkg/service/v0/response/version.go similarity index 97% rename from extensions/ocs/pkg/service/v0/response/version.go rename to services/ocs/pkg/service/v0/response/version.go index fe7f71760..5e72bc257 100644 --- a/extensions/ocs/pkg/service/v0/response/version.go +++ b/services/ocs/pkg/service/v0/response/version.go @@ -6,7 +6,7 @@ import ( "github.com/go-chi/chi/v5" "github.com/go-chi/render" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/service/v0/data" + "github.com/owncloud/ocis/v2/services/ocs/pkg/service/v0/data" ) type key int diff --git a/extensions/ocs/pkg/service/v0/service.go b/services/ocs/pkg/service/v0/service.go similarity index 92% rename from extensions/ocs/pkg/service/v0/service.go rename to services/ocs/pkg/service/v0/service.go index 1abae288d..372d0c9c9 100644 --- a/extensions/ocs/pkg/service/v0/service.go +++ b/services/ocs/pkg/service/v0/service.go @@ -11,16 +11,16 @@ import ( "github.com/go-chi/chi/v5/middleware" "github.com/go-chi/render" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/config" - ocsm "github.com/owncloud/ocis/v2/extensions/ocs/pkg/middleware" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/service/v0/data" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/service/v0/response" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/user/backend" "github.com/owncloud/ocis/v2/ocis-pkg/account" "github.com/owncloud/ocis/v2/ocis-pkg/log" opkgm "github.com/owncloud/ocis/v2/ocis-pkg/middleware" "github.com/owncloud/ocis/v2/ocis-pkg/roles" settingssvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/settings/v0" + "github.com/owncloud/ocis/v2/services/ocs/pkg/config" + ocsm "github.com/owncloud/ocis/v2/services/ocs/pkg/middleware" + "github.com/owncloud/ocis/v2/services/ocs/pkg/service/v0/data" + "github.com/owncloud/ocis/v2/services/ocs/pkg/service/v0/response" + "github.com/owncloud/ocis/v2/services/proxy/pkg/user/backend" ) // Service defines the extension handlers. diff --git a/extensions/ocs/pkg/service/v0/tracing.go b/services/ocs/pkg/service/v0/tracing.go similarity index 100% rename from extensions/ocs/pkg/service/v0/tracing.go rename to services/ocs/pkg/service/v0/tracing.go diff --git a/extensions/ocs/pkg/service/v0/users.go b/services/ocs/pkg/service/v0/users.go similarity index 97% rename from extensions/ocs/pkg/service/v0/users.go rename to services/ocs/pkg/service/v0/users.go index 035288b98..d666033d4 100644 --- a/extensions/ocs/pkg/service/v0/users.go +++ b/services/ocs/pkg/service/v0/users.go @@ -15,9 +15,9 @@ import ( revactx "github.com/cs3org/reva/v2/pkg/ctx" "github.com/go-chi/chi/v5" "github.com/go-micro/plugins/v4/client/grpc" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/service/v0/data" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/service/v0/response" - ocstracing "github.com/owncloud/ocis/v2/extensions/ocs/pkg/tracing" + "github.com/owncloud/ocis/v2/services/ocs/pkg/service/v0/data" + "github.com/owncloud/ocis/v2/services/ocs/pkg/service/v0/response" + ocstracing "github.com/owncloud/ocis/v2/services/ocs/pkg/tracing" merrors "go-micro.dev/v4/errors" ) diff --git a/extensions/ocs/pkg/tracing/tracing.go b/services/ocs/pkg/tracing/tracing.go similarity index 89% rename from extensions/ocs/pkg/tracing/tracing.go rename to services/ocs/pkg/tracing/tracing.go index ab9d2df2b..6119fac10 100644 --- a/extensions/ocs/pkg/tracing/tracing.go +++ b/services/ocs/pkg/tracing/tracing.go @@ -1,8 +1,8 @@ package tracing import ( - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/config" pkgtrace "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/ocs/pkg/config" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/ocs/reflex.conf b/services/ocs/reflex.conf similarity index 100% rename from extensions/ocs/reflex.conf rename to services/ocs/reflex.conf diff --git a/extensions/proxy/.dockerignore b/services/proxy/.dockerignore similarity index 100% rename from extensions/proxy/.dockerignore rename to services/proxy/.dockerignore diff --git a/extensions/proxy/Makefile b/services/proxy/Makefile similarity index 100% rename from extensions/proxy/Makefile rename to services/proxy/Makefile diff --git a/extensions/idp/cmd/idp/main.go b/services/proxy/cmd/proxy/main.go similarity index 52% rename from extensions/idp/cmd/idp/main.go rename to services/proxy/cmd/proxy/main.go index d632da7f4..7db75b5de 100644 --- a/extensions/idp/cmd/idp/main.go +++ b/services/proxy/cmd/proxy/main.go @@ -3,8 +3,8 @@ package main import ( "os" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/command" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/proxy/pkg/command" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config/defaults" ) func main() { diff --git a/extensions/proxy/docker/Dockerfile.linux.amd64 b/services/proxy/docker/Dockerfile.linux.amd64 similarity index 100% rename from extensions/proxy/docker/Dockerfile.linux.amd64 rename to services/proxy/docker/Dockerfile.linux.amd64 diff --git a/extensions/proxy/docker/Dockerfile.linux.arm b/services/proxy/docker/Dockerfile.linux.arm similarity index 100% rename from extensions/proxy/docker/Dockerfile.linux.arm rename to services/proxy/docker/Dockerfile.linux.arm diff --git a/extensions/proxy/docker/Dockerfile.linux.arm64 b/services/proxy/docker/Dockerfile.linux.arm64 similarity index 100% rename from extensions/proxy/docker/Dockerfile.linux.arm64 rename to services/proxy/docker/Dockerfile.linux.arm64 diff --git a/extensions/proxy/docker/manifest.tmpl b/services/proxy/docker/manifest.tmpl similarity index 100% rename from extensions/proxy/docker/manifest.tmpl rename to services/proxy/docker/manifest.tmpl diff --git a/services/proxy/pkg/command/health.go b/services/proxy/pkg/command/health.go new file mode 100644 index 000000000..cb9ee814b --- /dev/null +++ b/services/proxy/pkg/command/health.go @@ -0,0 +1,57 @@ +package command + +import ( + "fmt" + "net/http" + + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/proxy/pkg/logging" + "github.com/urfave/cli/v2" +) + +// Health is the entrypoint for the health command. +func Health(cfg *config.Config) *cli.Command { + return &cli.Command{ + Name: "health", + Usage: "check health status", + Category: "info", + Before: func(c *cli.Context) error { + err := parser.ParseConfig(cfg) + if err != nil { + fmt.Printf("%v", err) + } + return err + }, + Action: func(c *cli.Context) error { + logger := logging.Configure(cfg.Service.Name, cfg.Log) + + resp, err := http.Get( + fmt.Sprintf( + "http://%s/healthz", + cfg.Debug.Addr, + ), + ) + + if err != nil { + logger.Fatal(). + Err(err). + Msg("Failed to request health check") + } + + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + logger.Fatal(). + Int("code", resp.StatusCode). + Msg("Health seems to be in bad state") + } + + logger.Debug(). + Int("code", resp.StatusCode). + Msg("Health got a good state") + + return nil + }, + } +} diff --git a/extensions/proxy/pkg/command/root.go b/services/proxy/pkg/command/root.go similarity index 95% rename from extensions/proxy/pkg/command/root.go rename to services/proxy/pkg/command/root.go index 467a1bfca..1f809d049 100644 --- a/extensions/proxy/pkg/command/root.go +++ b/services/proxy/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/proxy/pkg/command/server.go b/services/proxy/pkg/command/server.go similarity index 90% rename from extensions/proxy/pkg/command/server.go rename to services/proxy/pkg/command/server.go index 769dba962..b41633ea9 100644 --- a/extensions/proxy/pkg/command/server.go +++ b/services/proxy/pkg/command/server.go @@ -13,23 +13,23 @@ import ( chimiddleware "github.com/go-chi/chi/v5/middleware" "github.com/justinas/alice" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/cs3" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/metrics" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/middleware" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/proxy" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/server/debug" - proxyHTTP "github.com/owncloud/ocis/v2/extensions/proxy/pkg/server/http" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/tracing" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/user/backend" "github.com/owncloud/ocis/v2/ocis-pkg/log" pkgmiddleware "github.com/owncloud/ocis/v2/ocis-pkg/middleware" "github.com/owncloud/ocis/v2/ocis-pkg/service/grpc" "github.com/owncloud/ocis/v2/ocis-pkg/version" settingssvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/settings/v0" storesvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/store/v0" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/proxy/pkg/cs3" + "github.com/owncloud/ocis/v2/services/proxy/pkg/logging" + "github.com/owncloud/ocis/v2/services/proxy/pkg/metrics" + "github.com/owncloud/ocis/v2/services/proxy/pkg/middleware" + "github.com/owncloud/ocis/v2/services/proxy/pkg/proxy" + "github.com/owncloud/ocis/v2/services/proxy/pkg/server/debug" + proxyHTTP "github.com/owncloud/ocis/v2/services/proxy/pkg/server/http" + "github.com/owncloud/ocis/v2/services/proxy/pkg/tracing" + "github.com/owncloud/ocis/v2/services/proxy/pkg/user/backend" "github.com/urfave/cli/v2" "golang.org/x/oauth2" ) diff --git a/extensions/proxy/pkg/command/version.go b/services/proxy/pkg/command/version.go similarity index 95% rename from extensions/proxy/pkg/command/version.go rename to services/proxy/pkg/command/version.go index e2d1a6eb0..b24caa11b 100644 --- a/extensions/proxy/pkg/command/version.go +++ b/services/proxy/pkg/command/version.go @@ -8,7 +8,7 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/version" tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/proxy/pkg/config/config.go b/services/proxy/pkg/config/config.go similarity index 100% rename from extensions/proxy/pkg/config/config.go rename to services/proxy/pkg/config/config.go diff --git a/extensions/proxy/pkg/config/debug.go b/services/proxy/pkg/config/debug.go similarity index 100% rename from extensions/proxy/pkg/config/debug.go rename to services/proxy/pkg/config/debug.go diff --git a/extensions/proxy/pkg/config/defaults/defaultconfig.go b/services/proxy/pkg/config/defaults/defaultconfig.go similarity index 99% rename from extensions/proxy/pkg/config/defaults/defaultconfig.go rename to services/proxy/pkg/config/defaults/defaultconfig.go index b7f90f8d1..566373002 100644 --- a/extensions/proxy/pkg/config/defaults/defaultconfig.go +++ b/services/proxy/pkg/config/defaults/defaultconfig.go @@ -4,8 +4,8 @@ import ( "path" "strings" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/proxy/pkg/config/http.go b/services/proxy/pkg/config/http.go similarity index 100% rename from extensions/proxy/pkg/config/http.go rename to services/proxy/pkg/config/http.go diff --git a/extensions/proxy/pkg/config/log.go b/services/proxy/pkg/config/log.go similarity index 100% rename from extensions/proxy/pkg/config/log.go rename to services/proxy/pkg/config/log.go diff --git a/extensions/proxy/pkg/config/parser/parse.go b/services/proxy/pkg/config/parser/parse.go similarity index 88% rename from extensions/proxy/pkg/config/parser/parse.go rename to services/proxy/pkg/config/parser/parse.go index 02f20229b..14218d9e8 100644 --- a/extensions/proxy/pkg/config/parser/parse.go +++ b/services/proxy/pkg/config/parser/parse.go @@ -3,10 +3,10 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/proxy/pkg/config/reva.go b/services/proxy/pkg/config/reva.go similarity index 100% rename from extensions/proxy/pkg/config/reva.go rename to services/proxy/pkg/config/reva.go diff --git a/extensions/proxy/pkg/config/service.go b/services/proxy/pkg/config/service.go similarity index 100% rename from extensions/proxy/pkg/config/service.go rename to services/proxy/pkg/config/service.go diff --git a/extensions/proxy/pkg/config/tracing.go b/services/proxy/pkg/config/tracing.go similarity index 100% rename from extensions/proxy/pkg/config/tracing.go rename to services/proxy/pkg/config/tracing.go diff --git a/extensions/proxy/pkg/cs3/client.go b/services/proxy/pkg/cs3/client.go similarity index 92% rename from extensions/proxy/pkg/cs3/client.go rename to services/proxy/pkg/cs3/client.go index 10b650aef..bbc4dcc3d 100644 --- a/extensions/proxy/pkg/cs3/client.go +++ b/services/proxy/pkg/cs3/client.go @@ -2,7 +2,7 @@ package cs3 import ( gateway "github.com/cs3org/go-cs3apis/cs3/gateway/v1beta1" - proxytracing "github.com/owncloud/ocis/v2/extensions/proxy/pkg/tracing" + proxytracing "github.com/owncloud/ocis/v2/services/proxy/pkg/tracing" "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc" "google.golang.org/grpc" "google.golang.org/grpc/credentials/insecure" diff --git a/services/proxy/pkg/logging/logging.go b/services/proxy/pkg/logging/logging.go new file mode 100644 index 000000000..f4a0b6959 --- /dev/null +++ b/services/proxy/pkg/logging/logging.go @@ -0,0 +1,17 @@ +package logging + +import ( + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" +) + +// LoggerFromConfig initializes a service-specific logger instance. +func Configure(name string, cfg *config.Log) log.Logger { + return log.NewLogger( + log.Name(name), + log.Level(cfg.Level), + log.Pretty(cfg.Pretty), + log.Color(cfg.Color), + log.File(cfg.File), + ) +} diff --git a/extensions/proxy/pkg/metrics/metrics.go b/services/proxy/pkg/metrics/metrics.go similarity index 100% rename from extensions/proxy/pkg/metrics/metrics.go rename to services/proxy/pkg/metrics/metrics.go diff --git a/extensions/proxy/pkg/middleware/accesslog.go b/services/proxy/pkg/middleware/accesslog.go similarity index 100% rename from extensions/proxy/pkg/middleware/accesslog.go rename to services/proxy/pkg/middleware/accesslog.go diff --git a/extensions/proxy/pkg/middleware/account_resolver.go b/services/proxy/pkg/middleware/account_resolver.go similarity index 98% rename from extensions/proxy/pkg/middleware/account_resolver.go rename to services/proxy/pkg/middleware/account_resolver.go index 451eeee7a..2972264d5 100644 --- a/extensions/proxy/pkg/middleware/account_resolver.go +++ b/services/proxy/pkg/middleware/account_resolver.go @@ -4,7 +4,7 @@ import ( "errors" "net/http" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/user/backend" + "github.com/owncloud/ocis/v2/services/proxy/pkg/user/backend" revactx "github.com/cs3org/reva/v2/pkg/ctx" "github.com/owncloud/ocis/v2/ocis-pkg/log" diff --git a/extensions/proxy/pkg/middleware/account_resolver_test.go b/services/proxy/pkg/middleware/account_resolver_test.go similarity index 95% rename from extensions/proxy/pkg/middleware/account_resolver_test.go rename to services/proxy/pkg/middleware/account_resolver_test.go index 7da0d9a5e..14a74225c 100644 --- a/extensions/proxy/pkg/middleware/account_resolver_test.go +++ b/services/proxy/pkg/middleware/account_resolver_test.go @@ -10,11 +10,11 @@ import ( "github.com/cs3org/reva/v2/pkg/auth/scope" revactx "github.com/cs3org/reva/v2/pkg/ctx" "github.com/cs3org/reva/v2/pkg/token/manager/jwt" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/user/backend" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/user/backend/test" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/oidc" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" + "github.com/owncloud/ocis/v2/services/proxy/pkg/user/backend" + "github.com/owncloud/ocis/v2/services/proxy/pkg/user/backend/test" "github.com/stretchr/testify/assert" ) diff --git a/extensions/proxy/pkg/middleware/authentication.go b/services/proxy/pkg/middleware/authentication.go similarity index 100% rename from extensions/proxy/pkg/middleware/authentication.go rename to services/proxy/pkg/middleware/authentication.go diff --git a/extensions/proxy/pkg/middleware/basic_auth.go b/services/proxy/pkg/middleware/basic_auth.go similarity index 97% rename from extensions/proxy/pkg/middleware/basic_auth.go rename to services/proxy/pkg/middleware/basic_auth.go index 5d54283cb..b7d480d87 100644 --- a/extensions/proxy/pkg/middleware/basic_auth.go +++ b/services/proxy/pkg/middleware/basic_auth.go @@ -5,10 +5,10 @@ import ( "net/http" "strings" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/user/backend" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/webdav" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/oidc" + "github.com/owncloud/ocis/v2/services/proxy/pkg/user/backend" + "github.com/owncloud/ocis/v2/services/proxy/pkg/webdav" ) // BasicAuth provides a middleware to check if BasicAuth is provided diff --git a/extensions/proxy/pkg/middleware/basic_auth_test.go b/services/proxy/pkg/middleware/basic_auth_test.go similarity index 100% rename from extensions/proxy/pkg/middleware/basic_auth_test.go rename to services/proxy/pkg/middleware/basic_auth_test.go diff --git a/extensions/proxy/pkg/middleware/create_home.go b/services/proxy/pkg/middleware/create_home.go similarity index 100% rename from extensions/proxy/pkg/middleware/create_home.go rename to services/proxy/pkg/middleware/create_home.go diff --git a/extensions/proxy/pkg/middleware/https_redirect.go b/services/proxy/pkg/middleware/https_redirect.go similarity index 100% rename from extensions/proxy/pkg/middleware/https_redirect.go rename to services/proxy/pkg/middleware/https_redirect.go diff --git a/extensions/proxy/pkg/middleware/oidc_auth.go b/services/proxy/pkg/middleware/oidc_auth.go similarity index 98% rename from extensions/proxy/pkg/middleware/oidc_auth.go rename to services/proxy/pkg/middleware/oidc_auth.go index a115fd10a..332b5eb6e 100644 --- a/extensions/proxy/pkg/middleware/oidc_auth.go +++ b/services/proxy/pkg/middleware/oidc_auth.go @@ -9,10 +9,10 @@ import ( "github.com/golang-jwt/jwt/v4" gOidc "github.com/coreos/go-oidc/v3/oidc" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/oidc" "github.com/owncloud/ocis/v2/ocis-pkg/sync" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" "golang.org/x/oauth2" ) diff --git a/extensions/proxy/pkg/middleware/oidc_auth_test.go b/services/proxy/pkg/middleware/oidc_auth_test.go similarity index 100% rename from extensions/proxy/pkg/middleware/oidc_auth_test.go rename to services/proxy/pkg/middleware/oidc_auth_test.go diff --git a/extensions/proxy/pkg/middleware/options.go b/services/proxy/pkg/middleware/options.go similarity index 97% rename from extensions/proxy/pkg/middleware/options.go rename to services/proxy/pkg/middleware/options.go index 6701e71b1..63994ee8e 100644 --- a/extensions/proxy/pkg/middleware/options.go +++ b/services/proxy/pkg/middleware/options.go @@ -4,14 +4,14 @@ import ( "net/http" "time" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/user/backend" + "github.com/owncloud/ocis/v2/services/proxy/pkg/user/backend" settingssvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/settings/v0" storesvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/store/v0" gateway "github.com/cs3org/go-cs3apis/cs3/gateway/v1beta1" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" ) // Option defines a single option function. diff --git a/extensions/proxy/pkg/middleware/public_share_auth.go b/services/proxy/pkg/middleware/public_share_auth.go similarity index 100% rename from extensions/proxy/pkg/middleware/public_share_auth.go rename to services/proxy/pkg/middleware/public_share_auth.go diff --git a/extensions/proxy/pkg/middleware/selector_cookie.go b/services/proxy/pkg/middleware/selector_cookie.go similarity index 92% rename from extensions/proxy/pkg/middleware/selector_cookie.go rename to services/proxy/pkg/middleware/selector_cookie.go index 1c99ba411..f0ec0d1f2 100644 --- a/extensions/proxy/pkg/middleware/selector_cookie.go +++ b/services/proxy/pkg/middleware/selector_cookie.go @@ -3,10 +3,10 @@ package middleware import ( "net/http" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/proxy/policy" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/oidc" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" + "github.com/owncloud/ocis/v2/services/proxy/pkg/proxy/policy" ) // SelectorCookie provides a middleware which diff --git a/extensions/proxy/pkg/middleware/signed_url_auth.go b/services/proxy/pkg/middleware/signed_url_auth.go similarity index 98% rename from extensions/proxy/pkg/middleware/signed_url_auth.go rename to services/proxy/pkg/middleware/signed_url_auth.go index e917d3e7a..d71036d5a 100644 --- a/extensions/proxy/pkg/middleware/signed_url_auth.go +++ b/services/proxy/pkg/middleware/signed_url_auth.go @@ -12,11 +12,11 @@ import ( "time" revactx "github.com/cs3org/reva/v2/pkg/ctx" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/user/backend" "github.com/owncloud/ocis/v2/ocis-pkg/log" storemsg "github.com/owncloud/ocis/v2/protogen/gen/ocis/messages/store/v0" storesvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/store/v0" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" + "github.com/owncloud/ocis/v2/services/proxy/pkg/user/backend" "golang.org/x/crypto/pbkdf2" ) diff --git a/extensions/proxy/pkg/middleware/signed_url_auth_test.go b/services/proxy/pkg/middleware/signed_url_auth_test.go similarity index 100% rename from extensions/proxy/pkg/middleware/signed_url_auth_test.go rename to services/proxy/pkg/middleware/signed_url_auth_test.go diff --git a/extensions/proxy/pkg/proxy/option.go b/services/proxy/pkg/proxy/option.go similarity index 92% rename from extensions/proxy/pkg/proxy/option.go rename to services/proxy/pkg/proxy/option.go index 13d8b461e..628e9087c 100644 --- a/extensions/proxy/pkg/proxy/option.go +++ b/services/proxy/pkg/proxy/option.go @@ -1,8 +1,8 @@ package proxy import ( - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" ) // Option defines a single option function. diff --git a/extensions/proxy/pkg/proxy/policy/selector.go b/services/proxy/pkg/proxy/policy/selector.go similarity index 99% rename from extensions/proxy/pkg/proxy/policy/selector.go rename to services/proxy/pkg/proxy/policy/selector.go index f462d26c8..05cf5d3a4 100644 --- a/extensions/proxy/pkg/proxy/policy/selector.go +++ b/services/proxy/pkg/proxy/policy/selector.go @@ -7,8 +7,8 @@ import ( "sort" revactx "github.com/cs3org/reva/v2/pkg/ctx" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/oidc" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" ) var ( diff --git a/extensions/proxy/pkg/proxy/policy/selector_test.go b/services/proxy/pkg/proxy/policy/selector_test.go similarity index 98% rename from extensions/proxy/pkg/proxy/policy/selector_test.go rename to services/proxy/pkg/proxy/policy/selector_test.go index ebe344fd3..182138226 100644 --- a/extensions/proxy/pkg/proxy/policy/selector_test.go +++ b/services/proxy/pkg/proxy/policy/selector_test.go @@ -8,8 +8,8 @@ import ( userv1beta1 "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1" revactx "github.com/cs3org/reva/v2/pkg/ctx" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/oidc" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" ) func TestLoadSelector(t *testing.T) { diff --git a/extensions/proxy/pkg/proxy/proxy.go b/services/proxy/pkg/proxy/proxy.go similarity index 97% rename from extensions/proxy/pkg/proxy/proxy.go rename to services/proxy/pkg/proxy/proxy.go index 6d27096ec..a275d788b 100644 --- a/extensions/proxy/pkg/proxy/proxy.go +++ b/services/proxy/pkg/proxy/proxy.go @@ -16,12 +16,12 @@ import ( "go.opentelemetry.io/otel/attribute" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/proxy/policy" - proxytracing "github.com/owncloud/ocis/v2/extensions/proxy/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/registry" pkgtrace "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" + "github.com/owncloud/ocis/v2/services/proxy/pkg/proxy/policy" + proxytracing "github.com/owncloud/ocis/v2/services/proxy/pkg/tracing" "go.opentelemetry.io/otel/propagation" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/proxy/pkg/proxy/proxy_integration_test.go b/services/proxy/pkg/proxy/proxy_integration_test.go similarity index 98% rename from extensions/proxy/pkg/proxy/proxy_integration_test.go rename to services/proxy/pkg/proxy/proxy_integration_test.go index afe0145cc..7f173d689 100644 --- a/extensions/proxy/pkg/proxy/proxy_integration_test.go +++ b/services/proxy/pkg/proxy/proxy_integration_test.go @@ -10,7 +10,7 @@ import ( "net/url" "testing" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" ) func TestProxyIntegration(t *testing.T) { diff --git a/extensions/proxy/pkg/proxy/proxy_test.go b/services/proxy/pkg/proxy/proxy_test.go similarity index 97% rename from extensions/proxy/pkg/proxy/proxy_test.go rename to services/proxy/pkg/proxy/proxy_test.go index e270b640f..0fa67a77b 100644 --- a/extensions/proxy/pkg/proxy/proxy_test.go +++ b/services/proxy/pkg/proxy/proxy_test.go @@ -7,8 +7,8 @@ import ( "net/url" "testing" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config/defaults" ) type matchertest struct { diff --git a/services/proxy/pkg/server/debug/option.go b/services/proxy/pkg/server/debug/option.go new file mode 100644 index 000000000..5174c60d4 --- /dev/null +++ b/services/proxy/pkg/server/debug/option.go @@ -0,0 +1,50 @@ +package debug + +import ( + "context" + + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" +) + +// Option defines a single option function. +type Option func(o *Options) + +// Options defines the available options for this package. +type Options struct { + Logger log.Logger + Context context.Context + Config *config.Config +} + +// newOptions initializes the available default options. +func newOptions(opts ...Option) Options { + opt := Options{} + + for _, o := range opts { + o(&opt) + } + + return opt +} + +// Logger provides a function to set the logger option. +func Logger(val log.Logger) Option { + return func(o *Options) { + o.Logger = val + } +} + +// Context provides a function to set the context option. +func Context(val context.Context) Option { + return func(o *Options) { + o.Context = val + } +} + +// Config provides a function to set the config option. +func Config(val *config.Config) Option { + return func(o *Options) { + o.Config = val + } +} diff --git a/extensions/proxy/pkg/server/debug/server.go b/services/proxy/pkg/server/debug/server.go similarity index 97% rename from extensions/proxy/pkg/server/debug/server.go rename to services/proxy/pkg/server/debug/server.go index 02d7d3f0b..ccc766ab3 100644 --- a/extensions/proxy/pkg/server/debug/server.go +++ b/services/proxy/pkg/server/debug/server.go @@ -5,9 +5,9 @@ import ( "io" "net/http" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" ) // Server initializes the debug service and server. diff --git a/extensions/proxy/pkg/server/http/option.go b/services/proxy/pkg/server/http/option.go similarity index 93% rename from extensions/proxy/pkg/server/http/option.go rename to services/proxy/pkg/server/http/option.go index ebe89721b..3955118fd 100644 --- a/extensions/proxy/pkg/server/http/option.go +++ b/services/proxy/pkg/server/http/option.go @@ -5,9 +5,9 @@ import ( "net/http" "github.com/justinas/alice" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/metrics" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" + "github.com/owncloud/ocis/v2/services/proxy/pkg/metrics" "github.com/urfave/cli/v2" ) diff --git a/extensions/proxy/pkg/server/http/server.go b/services/proxy/pkg/server/http/server.go similarity index 100% rename from extensions/proxy/pkg/server/http/server.go rename to services/proxy/pkg/server/http/server.go diff --git a/extensions/proxy/pkg/tracing/tracing.go b/services/proxy/pkg/tracing/tracing.go similarity index 89% rename from extensions/proxy/pkg/tracing/tracing.go rename to services/proxy/pkg/tracing/tracing.go index 7b6db6d58..b8a07b12c 100644 --- a/extensions/proxy/pkg/tracing/tracing.go +++ b/services/proxy/pkg/tracing/tracing.go @@ -1,8 +1,8 @@ package tracing import ( - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" pkgtrace "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/proxy/pkg/user/backend/backend.go b/services/proxy/pkg/user/backend/backend.go similarity index 100% rename from extensions/proxy/pkg/user/backend/backend.go rename to services/proxy/pkg/user/backend/backend.go diff --git a/extensions/proxy/pkg/user/backend/cs3.go b/services/proxy/pkg/user/backend/cs3.go similarity index 98% rename from extensions/proxy/pkg/user/backend/cs3.go rename to services/proxy/pkg/user/backend/cs3.go index 57fbb552b..cad1139a2 100644 --- a/extensions/proxy/pkg/user/backend/cs3.go +++ b/services/proxy/pkg/user/backend/cs3.go @@ -16,12 +16,12 @@ import ( revactx "github.com/cs3org/reva/v2/pkg/ctx" "github.com/cs3org/reva/v2/pkg/token" libregraph "github.com/owncloud/libre-graph-api-go" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/service/v0/errorcode" - settingsService "github.com/owncloud/ocis/v2/extensions/settings/pkg/service/v0" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/oidc" "github.com/owncloud/ocis/v2/ocis-pkg/registry" settingssvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/settings/v0" + "github.com/owncloud/ocis/v2/services/graph/pkg/service/v0/errorcode" + settingsService "github.com/owncloud/ocis/v2/services/settings/pkg/service/v0" merrors "go-micro.dev/v4/errors" "go-micro.dev/v4/selector" ) diff --git a/extensions/proxy/pkg/user/backend/test/backend_mock.go b/services/proxy/pkg/user/backend/test/backend_mock.go similarity index 99% rename from extensions/proxy/pkg/user/backend/test/backend_mock.go rename to services/proxy/pkg/user/backend/test/backend_mock.go index fbcaf5d7a..49c642a29 100644 --- a/extensions/proxy/pkg/user/backend/test/backend_mock.go +++ b/services/proxy/pkg/user/backend/test/backend_mock.go @@ -8,7 +8,7 @@ import ( "sync" userv1beta1 "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/user/backend" + "github.com/owncloud/ocis/v2/services/proxy/pkg/user/backend" ) // Ensure, that UserBackendMock does implement UserBackend. diff --git a/extensions/proxy/pkg/webdav/response.go b/services/proxy/pkg/webdav/response.go similarity index 100% rename from extensions/proxy/pkg/webdav/response.go rename to services/proxy/pkg/webdav/response.go diff --git a/extensions/proxy/pkg/webdav/webdav.go b/services/proxy/pkg/webdav/webdav.go similarity index 100% rename from extensions/proxy/pkg/webdav/webdav.go rename to services/proxy/pkg/webdav/webdav.go diff --git a/services/search/cmd/search/main.go b/services/search/cmd/search/main.go new file mode 100644 index 000000000..70103e7bf --- /dev/null +++ b/services/search/cmd/search/main.go @@ -0,0 +1,14 @@ +package main + +import ( + "os" + + "github.com/owncloud/ocis/v2/services/search/pkg/command" + "github.com/owncloud/ocis/v2/services/search/pkg/config/defaults" +) + +func main() { + if err := command.Execute(defaults.DefaultConfig()); err != nil { + os.Exit(1) + } +} diff --git a/extensions/search/pkg/command/health.go b/services/search/pkg/command/health.go similarity index 83% rename from extensions/search/pkg/command/health.go rename to services/search/pkg/command/health.go index 9ce5a68dd..21060de80 100644 --- a/extensions/search/pkg/command/health.go +++ b/services/search/pkg/command/health.go @@ -4,9 +4,9 @@ import ( "fmt" "net/http" - "github.com/owncloud/ocis/v2/extensions/search/pkg/config" - "github.com/owncloud/ocis/v2/extensions/search/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/search/pkg/logging" + "github.com/owncloud/ocis/v2/services/search/pkg/config" + "github.com/owncloud/ocis/v2/services/search/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/search/pkg/logging" "github.com/urfave/cli/v2" ) diff --git a/extensions/search/pkg/command/index.go b/services/search/pkg/command/index.go similarity index 91% rename from extensions/search/pkg/command/index.go rename to services/search/pkg/command/index.go index 4e6ecc65c..981395164 100644 --- a/extensions/search/pkg/command/index.go +++ b/services/search/pkg/command/index.go @@ -6,10 +6,10 @@ import ( "github.com/urfave/cli/v2" - "github.com/owncloud/ocis/v2/extensions/search/pkg/config" - "github.com/owncloud/ocis/v2/extensions/search/pkg/config/parser" "github.com/owncloud/ocis/v2/ocis-pkg/service/grpc" searchsvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/search/v0" + "github.com/owncloud/ocis/v2/services/search/pkg/config" + "github.com/owncloud/ocis/v2/services/search/pkg/config/parser" ) // Index is the entrypoint for the server command. diff --git a/extensions/search/pkg/command/root.go b/services/search/pkg/command/root.go similarity index 95% rename from extensions/search/pkg/command/root.go rename to services/search/pkg/command/root.go index 5bc7db0e4..204aab9f8 100644 --- a/extensions/search/pkg/command/root.go +++ b/services/search/pkg/command/root.go @@ -7,8 +7,8 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" "github.com/thejerf/suture/v4" - "github.com/owncloud/ocis/v2/extensions/search/pkg/config" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/search/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/search/pkg/command/server.go b/services/search/pkg/command/server.go similarity index 79% rename from extensions/search/pkg/command/server.go rename to services/search/pkg/command/server.go index 2c72c8e07..ab6284edf 100644 --- a/extensions/search/pkg/command/server.go +++ b/services/search/pkg/command/server.go @@ -6,14 +6,14 @@ import ( "os" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/search/pkg/config" - "github.com/owncloud/ocis/v2/extensions/search/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/search/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/search/pkg/metrics" - "github.com/owncloud/ocis/v2/extensions/search/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/search/pkg/server/grpc" - "github.com/owncloud/ocis/v2/extensions/search/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/search/pkg/config" + "github.com/owncloud/ocis/v2/services/search/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/search/pkg/logging" + "github.com/owncloud/ocis/v2/services/search/pkg/metrics" + "github.com/owncloud/ocis/v2/services/search/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/search/pkg/server/grpc" + "github.com/owncloud/ocis/v2/services/search/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/extensions/search/pkg/command/version.go b/services/search/pkg/command/version.go similarity index 95% rename from extensions/search/pkg/command/version.go rename to services/search/pkg/command/version.go index ac5ca55ab..9aba6033b 100644 --- a/extensions/search/pkg/command/version.go +++ b/services/search/pkg/command/version.go @@ -8,7 +8,7 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/version" tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/search/pkg/config" + "github.com/owncloud/ocis/v2/services/search/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/search/pkg/config/config.go b/services/search/pkg/config/config.go similarity index 100% rename from extensions/search/pkg/config/config.go rename to services/search/pkg/config/config.go diff --git a/extensions/search/pkg/config/debug.go b/services/search/pkg/config/debug.go similarity index 100% rename from extensions/search/pkg/config/debug.go rename to services/search/pkg/config/debug.go diff --git a/extensions/search/pkg/config/defaults/defaultconfig.go b/services/search/pkg/config/defaults/defaultconfig.go similarity index 96% rename from extensions/search/pkg/config/defaults/defaultconfig.go rename to services/search/pkg/config/defaults/defaultconfig.go index 8eed2a216..213dfc5ab 100644 --- a/extensions/search/pkg/config/defaults/defaultconfig.go +++ b/services/search/pkg/config/defaults/defaultconfig.go @@ -3,8 +3,8 @@ package defaults import ( "path" - "github.com/owncloud/ocis/v2/extensions/search/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/search/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/search/pkg/config/grpc.go b/services/search/pkg/config/grpc.go similarity index 100% rename from extensions/search/pkg/config/grpc.go rename to services/search/pkg/config/grpc.go diff --git a/extensions/search/pkg/config/http.go b/services/search/pkg/config/http.go similarity index 100% rename from extensions/search/pkg/config/http.go rename to services/search/pkg/config/http.go diff --git a/extensions/search/pkg/config/log.go b/services/search/pkg/config/log.go similarity index 100% rename from extensions/search/pkg/config/log.go rename to services/search/pkg/config/log.go diff --git a/extensions/search/pkg/config/parser/parse.go b/services/search/pkg/config/parser/parse.go similarity index 87% rename from extensions/search/pkg/config/parser/parse.go rename to services/search/pkg/config/parser/parse.go index 8be7eb621..fafad8f84 100644 --- a/extensions/search/pkg/config/parser/parse.go +++ b/services/search/pkg/config/parser/parse.go @@ -3,10 +3,10 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/search/pkg/config" - "github.com/owncloud/ocis/v2/extensions/search/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/search/pkg/config" + "github.com/owncloud/ocis/v2/services/search/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/search/pkg/config/reva.go b/services/search/pkg/config/reva.go similarity index 100% rename from extensions/search/pkg/config/reva.go rename to services/search/pkg/config/reva.go diff --git a/extensions/search/pkg/config/service.go b/services/search/pkg/config/service.go similarity index 100% rename from extensions/search/pkg/config/service.go rename to services/search/pkg/config/service.go diff --git a/extensions/search/pkg/config/tracing.go b/services/search/pkg/config/tracing.go similarity index 100% rename from extensions/search/pkg/config/tracing.go rename to services/search/pkg/config/tracing.go diff --git a/services/search/pkg/logging/logging.go b/services/search/pkg/logging/logging.go new file mode 100644 index 000000000..28f1aebef --- /dev/null +++ b/services/search/pkg/logging/logging.go @@ -0,0 +1,17 @@ +package logging + +import ( + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/search/pkg/config" +) + +// LoggerFromConfig initializes a service-specific logger instance. +func Configure(name string, cfg *config.Log) log.Logger { + return log.NewLogger( + log.Name(name), + log.Level(cfg.Level), + log.Pretty(cfg.Pretty), + log.Color(cfg.Color), + log.File(cfg.File), + ) +} diff --git a/extensions/search/pkg/metrics/metrics.go b/services/search/pkg/metrics/metrics.go similarity index 100% rename from extensions/search/pkg/metrics/metrics.go rename to services/search/pkg/metrics/metrics.go diff --git a/extensions/search/pkg/search/index/index.go b/services/search/pkg/search/index/index.go similarity index 100% rename from extensions/search/pkg/search/index/index.go rename to services/search/pkg/search/index/index.go diff --git a/extensions/search/pkg/search/index/index_suite_test.go b/services/search/pkg/search/index/index_suite_test.go similarity index 100% rename from extensions/search/pkg/search/index/index_suite_test.go rename to services/search/pkg/search/index/index_suite_test.go diff --git a/extensions/search/pkg/search/index/index_test.go b/services/search/pkg/search/index/index_test.go similarity index 99% rename from extensions/search/pkg/search/index/index_test.go rename to services/search/pkg/search/index/index_test.go index 7d7b0afc4..cbc77cf16 100644 --- a/extensions/search/pkg/search/index/index_test.go +++ b/services/search/pkg/search/index/index_test.go @@ -6,9 +6,9 @@ import ( "github.com/blevesearch/bleve/v2" sprovider "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1" typesv1beta1 "github.com/cs3org/go-cs3apis/cs3/types/v1beta1" - "github.com/owncloud/ocis/v2/extensions/search/pkg/search/index" searchmsg "github.com/owncloud/ocis/v2/protogen/gen/ocis/messages/search/v0" searchsvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/search/v0" + "github.com/owncloud/ocis/v2/services/search/pkg/search/index" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" diff --git a/extensions/search/pkg/search/index/mocks/BleveIndex.go b/services/search/pkg/search/index/mocks/BleveIndex.go similarity index 100% rename from extensions/search/pkg/search/index/mocks/BleveIndex.go rename to services/search/pkg/search/index/mocks/BleveIndex.go diff --git a/extensions/search/pkg/search/mocks/IndexClient.go b/services/search/pkg/search/mocks/IndexClient.go similarity index 100% rename from extensions/search/pkg/search/mocks/IndexClient.go rename to services/search/pkg/search/mocks/IndexClient.go diff --git a/extensions/search/pkg/search/mocks/ProviderClient.go b/services/search/pkg/search/mocks/ProviderClient.go similarity index 100% rename from extensions/search/pkg/search/mocks/ProviderClient.go rename to services/search/pkg/search/mocks/ProviderClient.go diff --git a/extensions/search/pkg/search/provider/events.go b/services/search/pkg/search/provider/events.go similarity index 100% rename from extensions/search/pkg/search/provider/events.go rename to services/search/pkg/search/provider/events.go diff --git a/extensions/search/pkg/search/provider/events_test.go b/services/search/pkg/search/provider/events_test.go similarity index 97% rename from extensions/search/pkg/search/provider/events_test.go rename to services/search/pkg/search/provider/events_test.go index f90b9b0e2..b1c9dfdc5 100644 --- a/extensions/search/pkg/search/provider/events_test.go +++ b/services/search/pkg/search/provider/events_test.go @@ -13,9 +13,9 @@ import ( "github.com/cs3org/reva/v2/pkg/events" "github.com/cs3org/reva/v2/pkg/rgrpc/status" cs3mocks "github.com/cs3org/reva/v2/tests/cs3mocks/mocks" - "github.com/owncloud/ocis/v2/extensions/search/pkg/search/mocks" - provider "github.com/owncloud/ocis/v2/extensions/search/pkg/search/provider" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/search/pkg/search/mocks" + provider "github.com/owncloud/ocis/v2/services/search/pkg/search/provider" ) var _ = Describe("Searchprovider", func() { diff --git a/extensions/search/pkg/search/provider/provider_suite_test.go b/services/search/pkg/search/provider/provider_suite_test.go similarity index 100% rename from extensions/search/pkg/search/provider/provider_suite_test.go rename to services/search/pkg/search/provider/provider_suite_test.go diff --git a/extensions/search/pkg/search/provider/searchprovider.go b/services/search/pkg/search/provider/searchprovider.go similarity index 99% rename from extensions/search/pkg/search/provider/searchprovider.go rename to services/search/pkg/search/provider/searchprovider.go index 5b0301c8e..310909021 100644 --- a/extensions/search/pkg/search/provider/searchprovider.go +++ b/services/search/pkg/search/provider/searchprovider.go @@ -19,8 +19,8 @@ import ( "github.com/cs3org/reva/v2/pkg/storage/utils/walker" "github.com/cs3org/reva/v2/pkg/storagespace" "github.com/cs3org/reva/v2/pkg/utils" - "github.com/owncloud/ocis/v2/extensions/search/pkg/search" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/search/pkg/search" "google.golang.org/grpc/metadata" searchmsg "github.com/owncloud/ocis/v2/protogen/gen/ocis/messages/search/v0" diff --git a/extensions/search/pkg/search/provider/searchprovider_test.go b/services/search/pkg/search/provider/searchprovider_test.go similarity index 98% rename from extensions/search/pkg/search/provider/searchprovider_test.go rename to services/search/pkg/search/provider/searchprovider_test.go index 5f7278273..ee131614a 100644 --- a/extensions/search/pkg/search/provider/searchprovider_test.go +++ b/services/search/pkg/search/provider/searchprovider_test.go @@ -13,11 +13,11 @@ import ( typesv1beta1 "github.com/cs3org/go-cs3apis/cs3/types/v1beta1" "github.com/cs3org/reva/v2/pkg/rgrpc/status" cs3mocks "github.com/cs3org/reva/v2/tests/cs3mocks/mocks" - "github.com/owncloud/ocis/v2/extensions/search/pkg/search/mocks" - provider "github.com/owncloud/ocis/v2/extensions/search/pkg/search/provider" "github.com/owncloud/ocis/v2/ocis-pkg/log" searchmsg "github.com/owncloud/ocis/v2/protogen/gen/ocis/messages/search/v0" searchsvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/search/v0" + "github.com/owncloud/ocis/v2/services/search/pkg/search/mocks" + provider "github.com/owncloud/ocis/v2/services/search/pkg/search/provider" ) var _ = Describe("Searchprovider", func() { diff --git a/extensions/search/pkg/search/search.go b/services/search/pkg/search/search.go similarity index 100% rename from extensions/search/pkg/search/search.go rename to services/search/pkg/search/search.go diff --git a/extensions/search/pkg/search/search_suite_test.go b/services/search/pkg/search/search_suite_test.go similarity index 100% rename from extensions/search/pkg/search/search_suite_test.go rename to services/search/pkg/search/search_suite_test.go diff --git a/services/search/pkg/server/debug/option.go b/services/search/pkg/server/debug/option.go new file mode 100644 index 000000000..9ee332992 --- /dev/null +++ b/services/search/pkg/server/debug/option.go @@ -0,0 +1,50 @@ +package debug + +import ( + "context" + + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/search/pkg/config" +) + +// Option defines a single option function. +type Option func(o *Options) + +// Options defines the available options for this package. +type Options struct { + Logger log.Logger + Context context.Context + Config *config.Config +} + +// newOptions initializes the available default options. +func newOptions(opts ...Option) Options { + opt := Options{} + + for _, o := range opts { + o(&opt) + } + + return opt +} + +// Logger provides a function to set the logger option. +func Logger(val log.Logger) Option { + return func(o *Options) { + o.Logger = val + } +} + +// Context provides a function to set the context option. +func Context(val context.Context) Option { + return func(o *Options) { + o.Context = val + } +} + +// Config provides a function to set the config option. +func Config(val *config.Config) Option { + return func(o *Options) { + o.Config = val + } +} diff --git a/extensions/graph/pkg/server/debug/server.go b/services/search/pkg/server/debug/server.go similarity index 96% rename from extensions/graph/pkg/server/debug/server.go rename to services/search/pkg/server/debug/server.go index ba4eed23a..db1e4cedd 100644 --- a/extensions/graph/pkg/server/debug/server.go +++ b/services/search/pkg/server/debug/server.go @@ -4,9 +4,9 @@ import ( "io" "net/http" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/search/pkg/config" ) // Server initializes the debug service and server. diff --git a/extensions/search/pkg/server/grpc/option.go b/services/search/pkg/server/grpc/option.go similarity index 89% rename from extensions/search/pkg/server/grpc/option.go rename to services/search/pkg/server/grpc/option.go index ddd6eab88..1aec67b00 100644 --- a/extensions/search/pkg/server/grpc/option.go +++ b/services/search/pkg/server/grpc/option.go @@ -3,10 +3,10 @@ package grpc import ( "context" - "github.com/owncloud/ocis/v2/extensions/search/pkg/config" - "github.com/owncloud/ocis/v2/extensions/search/pkg/metrics" - svc "github.com/owncloud/ocis/v2/extensions/search/pkg/service/v0" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/search/pkg/config" + "github.com/owncloud/ocis/v2/services/search/pkg/metrics" + svc "github.com/owncloud/ocis/v2/services/search/pkg/service/v0" "github.com/urfave/cli/v2" ) diff --git a/extensions/search/pkg/server/grpc/server.go b/services/search/pkg/server/grpc/server.go similarity index 93% rename from extensions/search/pkg/server/grpc/server.go rename to services/search/pkg/server/grpc/server.go index a604223d8..28bad68a3 100644 --- a/extensions/search/pkg/server/grpc/server.go +++ b/services/search/pkg/server/grpc/server.go @@ -1,10 +1,10 @@ package grpc import ( - svc "github.com/owncloud/ocis/v2/extensions/search/pkg/service/v0" "github.com/owncloud/ocis/v2/ocis-pkg/service/grpc" "github.com/owncloud/ocis/v2/ocis-pkg/version" searchsvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/search/v0" + svc "github.com/owncloud/ocis/v2/services/search/pkg/service/v0" ) // Server initializes a new go-micro service ready to run diff --git a/extensions/search/pkg/service/v0/option.go b/services/search/pkg/service/v0/option.go similarity index 91% rename from extensions/search/pkg/service/v0/option.go rename to services/search/pkg/service/v0/option.go index cb4e4bdca..9f1a7d19e 100644 --- a/extensions/search/pkg/service/v0/option.go +++ b/services/search/pkg/service/v0/option.go @@ -1,8 +1,8 @@ package service import ( - "github.com/owncloud/ocis/v2/extensions/search/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/search/pkg/config" ) // Option defines a single option function. diff --git a/extensions/search/pkg/service/v0/service.go b/services/search/pkg/service/v0/service.go similarity index 91% rename from extensions/search/pkg/service/v0/service.go rename to services/search/pkg/service/v0/service.go index 235b56101..d3fd24724 100644 --- a/extensions/search/pkg/service/v0/service.go +++ b/services/search/pkg/service/v0/service.go @@ -14,12 +14,12 @@ import ( "go-micro.dev/v4/metadata" grpcmetadata "google.golang.org/grpc/metadata" - "github.com/owncloud/ocis/v2/extensions/search/pkg/config" - "github.com/owncloud/ocis/v2/extensions/search/pkg/search" - "github.com/owncloud/ocis/v2/extensions/search/pkg/search/index" - searchprovider "github.com/owncloud/ocis/v2/extensions/search/pkg/search/provider" "github.com/owncloud/ocis/v2/ocis-pkg/log" searchsvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/search/v0" + "github.com/owncloud/ocis/v2/services/search/pkg/config" + "github.com/owncloud/ocis/v2/services/search/pkg/search" + "github.com/owncloud/ocis/v2/services/search/pkg/search/index" + searchprovider "github.com/owncloud/ocis/v2/services/search/pkg/search/provider" ) // NewHandler returns a service implementation for Service. diff --git a/extensions/webdav/pkg/tracing/tracing.go b/services/search/pkg/tracing/tracing.go similarity index 89% rename from extensions/webdav/pkg/tracing/tracing.go rename to services/search/pkg/tracing/tracing.go index 6e7d39a3b..a9778903d 100644 --- a/extensions/webdav/pkg/tracing/tracing.go +++ b/services/search/pkg/tracing/tracing.go @@ -1,8 +1,8 @@ package tracing import ( - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/config" pkgtrace "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/search/pkg/config" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/settings/.dockerignore b/services/settings/.dockerignore similarity index 100% rename from extensions/settings/.dockerignore rename to services/settings/.dockerignore diff --git a/extensions/settings/.eslintrc.json b/services/settings/.eslintrc.json similarity index 100% rename from extensions/settings/.eslintrc.json rename to services/settings/.eslintrc.json diff --git a/extensions/settings/.gitignore b/services/settings/.gitignore similarity index 100% rename from extensions/settings/.gitignore rename to services/settings/.gitignore diff --git a/extensions/settings/.golangci.yml b/services/settings/.golangci.yml similarity index 100% rename from extensions/settings/.golangci.yml rename to services/settings/.golangci.yml diff --git a/extensions/settings/.yarn/releases/yarn-stable-temp.cjs b/services/settings/.yarn/releases/yarn-stable-temp.cjs similarity index 100% rename from extensions/settings/.yarn/releases/yarn-stable-temp.cjs rename to services/settings/.yarn/releases/yarn-stable-temp.cjs diff --git a/extensions/settings/Makefile b/services/settings/Makefile similarity index 100% rename from extensions/settings/Makefile rename to services/settings/Makefile diff --git a/extensions/settings/assets/.keep b/services/settings/assets/.keep similarity index 100% rename from extensions/settings/assets/.keep rename to services/settings/assets/.keep diff --git a/extensions/settings/babel.config.js b/services/settings/babel.config.js similarity index 100% rename from extensions/settings/babel.config.js rename to services/settings/babel.config.js diff --git a/extensions/webdav/cmd/webdav/main.go b/services/settings/cmd/settings/main.go similarity index 52% rename from extensions/webdav/cmd/webdav/main.go rename to services/settings/cmd/settings/main.go index 48bb27dc7..1e21338dd 100644 --- a/extensions/webdav/cmd/webdav/main.go +++ b/services/settings/cmd/settings/main.go @@ -3,8 +3,8 @@ package main import ( "os" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/command" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/settings/pkg/command" + "github.com/owncloud/ocis/v2/services/settings/pkg/config/defaults" ) func main() { diff --git a/extensions/settings/docker/Dockerfile.linux.amd64 b/services/settings/docker/Dockerfile.linux.amd64 similarity index 100% rename from extensions/settings/docker/Dockerfile.linux.amd64 rename to services/settings/docker/Dockerfile.linux.amd64 diff --git a/extensions/settings/docker/Dockerfile.linux.arm b/services/settings/docker/Dockerfile.linux.arm similarity index 100% rename from extensions/settings/docker/Dockerfile.linux.arm rename to services/settings/docker/Dockerfile.linux.arm diff --git a/extensions/settings/docker/Dockerfile.linux.arm64 b/services/settings/docker/Dockerfile.linux.arm64 similarity index 100% rename from extensions/settings/docker/Dockerfile.linux.arm64 rename to services/settings/docker/Dockerfile.linux.arm64 diff --git a/extensions/settings/docker/manifest.tmpl b/services/settings/docker/manifest.tmpl similarity index 100% rename from extensions/settings/docker/manifest.tmpl rename to services/settings/docker/manifest.tmpl diff --git a/extensions/settings/l10n/.tx/config b/services/settings/l10n/.tx/config similarity index 100% rename from extensions/settings/l10n/.tx/config rename to services/settings/l10n/.tx/config diff --git a/extensions/settings/l10n/translations.json b/services/settings/l10n/translations.json similarity index 100% rename from extensions/settings/l10n/translations.json rename to services/settings/l10n/translations.json diff --git a/extensions/settings/nightwatch.conf.js b/services/settings/nightwatch.conf.js similarity index 100% rename from extensions/settings/nightwatch.conf.js rename to services/settings/nightwatch.conf.js diff --git a/extensions/settings/package.json b/services/settings/package.json similarity index 100% rename from extensions/settings/package.json rename to services/settings/package.json diff --git a/extensions/settings/pkg/assets/option.go b/services/settings/pkg/assets/option.go similarity index 89% rename from extensions/settings/pkg/assets/option.go rename to services/settings/pkg/assets/option.go index 0ea16cb54..75104c2f0 100644 --- a/extensions/settings/pkg/assets/option.go +++ b/services/settings/pkg/assets/option.go @@ -3,10 +3,10 @@ package assets import ( "net/http" - "github.com/owncloud/ocis/v2/extensions/settings" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/assetsfs" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/settings" + "github.com/owncloud/ocis/v2/services/settings/pkg/config" ) // New returns a new http filesystem to serve assets. diff --git a/extensions/settings/pkg/command/health.go b/services/settings/pkg/command/health.go similarity index 83% rename from extensions/settings/pkg/command/health.go rename to services/settings/pkg/command/health.go index e0e7397ef..68dee3672 100644 --- a/extensions/settings/pkg/command/health.go +++ b/services/settings/pkg/command/health.go @@ -4,9 +4,9 @@ import ( "fmt" "net/http" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/logging" + "github.com/owncloud/ocis/v2/services/settings/pkg/config" + "github.com/owncloud/ocis/v2/services/settings/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/settings/pkg/logging" "github.com/urfave/cli/v2" ) diff --git a/extensions/settings/pkg/command/root.go b/services/settings/pkg/command/root.go similarity index 95% rename from extensions/settings/pkg/command/root.go rename to services/settings/pkg/command/root.go index 152045ecd..dd53b3cae 100644 --- a/extensions/settings/pkg/command/root.go +++ b/services/settings/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/settings/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/settings/pkg/command/server.go b/services/settings/pkg/command/server.go similarity index 80% rename from extensions/settings/pkg/command/server.go rename to services/settings/pkg/command/server.go index 26f863b18..9306b00bf 100644 --- a/extensions/settings/pkg/command/server.go +++ b/services/settings/pkg/command/server.go @@ -6,15 +6,15 @@ import ( "os" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/metrics" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/server/grpc" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/server/http" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/settings/pkg/config" + "github.com/owncloud/ocis/v2/services/settings/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/settings/pkg/logging" + "github.com/owncloud/ocis/v2/services/settings/pkg/metrics" + "github.com/owncloud/ocis/v2/services/settings/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/settings/pkg/server/grpc" + "github.com/owncloud/ocis/v2/services/settings/pkg/server/http" + "github.com/owncloud/ocis/v2/services/settings/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/extensions/groups/pkg/command/version.go b/services/settings/pkg/command/version.go similarity index 95% rename from extensions/groups/pkg/command/version.go rename to services/settings/pkg/command/version.go index 9ad6bb137..9ac087f77 100644 --- a/extensions/groups/pkg/command/version.go +++ b/services/settings/pkg/command/version.go @@ -8,7 +8,7 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/version" tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/groups/pkg/config" + "github.com/owncloud/ocis/v2/services/settings/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/settings/pkg/config/config.go b/services/settings/pkg/config/config.go similarity index 100% rename from extensions/settings/pkg/config/config.go rename to services/settings/pkg/config/config.go diff --git a/extensions/settings/pkg/config/debug.go b/services/settings/pkg/config/debug.go similarity index 100% rename from extensions/settings/pkg/config/debug.go rename to services/settings/pkg/config/debug.go diff --git a/extensions/settings/pkg/config/defaults/defaultconfig.go b/services/settings/pkg/config/defaults/defaultconfig.go similarity index 98% rename from extensions/settings/pkg/config/defaults/defaultconfig.go rename to services/settings/pkg/config/defaults/defaultconfig.go index 66ec6ceb3..05e3d70b3 100644 --- a/extensions/settings/pkg/config/defaults/defaultconfig.go +++ b/services/settings/pkg/config/defaults/defaultconfig.go @@ -4,8 +4,8 @@ import ( "path" "strings" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/settings/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/settings/pkg/config/grpc.go b/services/settings/pkg/config/grpc.go similarity index 100% rename from extensions/settings/pkg/config/grpc.go rename to services/settings/pkg/config/grpc.go diff --git a/extensions/settings/pkg/config/http.go b/services/settings/pkg/config/http.go similarity index 100% rename from extensions/settings/pkg/config/http.go rename to services/settings/pkg/config/http.go diff --git a/extensions/settings/pkg/config/log.go b/services/settings/pkg/config/log.go similarity index 100% rename from extensions/settings/pkg/config/log.go rename to services/settings/pkg/config/log.go diff --git a/extensions/settings/pkg/config/parser/parse.go b/services/settings/pkg/config/parser/parse.go similarity index 89% rename from extensions/settings/pkg/config/parser/parse.go rename to services/settings/pkg/config/parser/parse.go index acf962609..1e9071a78 100644 --- a/extensions/settings/pkg/config/parser/parse.go +++ b/services/settings/pkg/config/parser/parse.go @@ -3,10 +3,10 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/settings/pkg/config" + "github.com/owncloud/ocis/v2/services/settings/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/settings/pkg/config/reva.go b/services/settings/pkg/config/reva.go similarity index 100% rename from extensions/settings/pkg/config/reva.go rename to services/settings/pkg/config/reva.go diff --git a/extensions/settings/pkg/config/service.go b/services/settings/pkg/config/service.go similarity index 100% rename from extensions/settings/pkg/config/service.go rename to services/settings/pkg/config/service.go diff --git a/extensions/settings/pkg/config/tracing.go b/services/settings/pkg/config/tracing.go similarity index 100% rename from extensions/settings/pkg/config/tracing.go rename to services/settings/pkg/config/tracing.go diff --git a/services/settings/pkg/logging/logging.go b/services/settings/pkg/logging/logging.go new file mode 100644 index 000000000..f12ce8916 --- /dev/null +++ b/services/settings/pkg/logging/logging.go @@ -0,0 +1,17 @@ +package logging + +import ( + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/settings/pkg/config" +) + +// LoggerFromConfig initializes a service-specific logger instance. +func Configure(name string, cfg *config.Log) log.Logger { + return log.NewLogger( + log.Name(name), + log.Level(cfg.Level), + log.Pretty(cfg.Pretty), + log.Color(cfg.Color), + log.File(cfg.File), + ) +} diff --git a/extensions/settings/pkg/metrics/metrics.go b/services/settings/pkg/metrics/metrics.go similarity index 100% rename from extensions/settings/pkg/metrics/metrics.go rename to services/settings/pkg/metrics/metrics.go diff --git a/services/settings/pkg/server/debug/option.go b/services/settings/pkg/server/debug/option.go new file mode 100644 index 000000000..bfafab5a4 --- /dev/null +++ b/services/settings/pkg/server/debug/option.go @@ -0,0 +1,50 @@ +package debug + +import ( + "context" + + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/settings/pkg/config" +) + +// Option defines a single option function. +type Option func(o *Options) + +// Options defines the available options for this package. +type Options struct { + Logger log.Logger + Context context.Context + Config *config.Config +} + +// newOptions initializes the available default options. +func newOptions(opts ...Option) Options { + opt := Options{} + + for _, o := range opts { + o(&opt) + } + + return opt +} + +// Logger provides a function to set the logger option. +func Logger(val log.Logger) Option { + return func(o *Options) { + o.Logger = val + } +} + +// Context provides a function to set the context option. +func Context(val context.Context) Option { + return func(o *Options) { + o.Context = val + } +} + +// Config provides a function to set the config option. +func Config(val *config.Config) Option { + return func(o *Options) { + o.Config = val + } +} diff --git a/extensions/webdav/pkg/server/debug/server.go b/services/settings/pkg/server/debug/server.go similarity index 96% rename from extensions/webdav/pkg/server/debug/server.go rename to services/settings/pkg/server/debug/server.go index b6905ec45..e1ed5ff2c 100644 --- a/extensions/webdav/pkg/server/debug/server.go +++ b/services/settings/pkg/server/debug/server.go @@ -4,9 +4,9 @@ import ( "io" "net/http" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/settings/pkg/config" ) // Server initializes the debug service and server. diff --git a/extensions/settings/pkg/server/grpc/option.go b/services/settings/pkg/server/grpc/option.go similarity index 92% rename from extensions/settings/pkg/server/grpc/option.go rename to services/settings/pkg/server/grpc/option.go index 6268f4be9..b87b02813 100644 --- a/extensions/settings/pkg/server/grpc/option.go +++ b/services/settings/pkg/server/grpc/option.go @@ -3,9 +3,9 @@ package grpc import ( "context" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/metrics" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/settings/pkg/config" + "github.com/owncloud/ocis/v2/services/settings/pkg/metrics" "github.com/urfave/cli/v2" ) diff --git a/extensions/settings/pkg/server/grpc/server.go b/services/settings/pkg/server/grpc/server.go similarity index 97% rename from extensions/settings/pkg/server/grpc/server.go rename to services/settings/pkg/server/grpc/server.go index 7d2469606..b8690a3db 100644 --- a/extensions/settings/pkg/server/grpc/server.go +++ b/services/settings/pkg/server/grpc/server.go @@ -4,10 +4,10 @@ import ( "context" permissions "github.com/cs3org/go-cs3apis/cs3/permissions/v1beta1" - svc "github.com/owncloud/ocis/v2/extensions/settings/pkg/service/v0" "github.com/owncloud/ocis/v2/ocis-pkg/service/grpc" "github.com/owncloud/ocis/v2/ocis-pkg/version" settingssvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/settings/v0" + svc "github.com/owncloud/ocis/v2/services/settings/pkg/service/v0" "go-micro.dev/v4/api" "go-micro.dev/v4/server" ) diff --git a/extensions/settings/pkg/server/http/option.go b/services/settings/pkg/server/http/option.go similarity index 92% rename from extensions/settings/pkg/server/http/option.go rename to services/settings/pkg/server/http/option.go index 6d1e81f5e..e4537ffb1 100644 --- a/extensions/settings/pkg/server/http/option.go +++ b/services/settings/pkg/server/http/option.go @@ -3,9 +3,9 @@ package http import ( "context" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/metrics" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/settings/pkg/config" + "github.com/owncloud/ocis/v2/services/settings/pkg/metrics" "github.com/urfave/cli/v2" ) diff --git a/extensions/settings/pkg/server/http/server.go b/services/settings/pkg/server/http/server.go similarity index 94% rename from extensions/settings/pkg/server/http/server.go rename to services/settings/pkg/server/http/server.go index d8b173a8b..ec96b0f4d 100644 --- a/extensions/settings/pkg/server/http/server.go +++ b/services/settings/pkg/server/http/server.go @@ -3,14 +3,14 @@ package http import ( "github.com/go-chi/chi/v5" chimiddleware "github.com/go-chi/chi/v5/middleware" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/assets" - svc "github.com/owncloud/ocis/v2/extensions/settings/pkg/service/v0" "github.com/owncloud/ocis/v2/ocis-pkg/account" "github.com/owncloud/ocis/v2/ocis-pkg/cors" "github.com/owncloud/ocis/v2/ocis-pkg/middleware" "github.com/owncloud/ocis/v2/ocis-pkg/service/http" "github.com/owncloud/ocis/v2/ocis-pkg/version" settingssvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/settings/v0" + "github.com/owncloud/ocis/v2/services/settings/pkg/assets" + svc "github.com/owncloud/ocis/v2/services/settings/pkg/service/v0" "go-micro.dev/v4" ) diff --git a/extensions/settings/pkg/service/v0/instrument.go b/services/settings/pkg/service/v0/instrument.go similarity index 78% rename from extensions/settings/pkg/service/v0/instrument.go rename to services/settings/pkg/service/v0/instrument.go index d5d13961c..882a1e184 100644 --- a/extensions/settings/pkg/service/v0/instrument.go +++ b/services/settings/pkg/service/v0/instrument.go @@ -1,7 +1,7 @@ package svc import ( - "github.com/owncloud/ocis/v2/extensions/settings/pkg/metrics" + "github.com/owncloud/ocis/v2/services/settings/pkg/metrics" ) // NewInstrument returns a service that instruments metrics. diff --git a/extensions/settings/pkg/service/v0/logging.go b/services/settings/pkg/service/v0/logging.go similarity index 100% rename from extensions/settings/pkg/service/v0/logging.go rename to services/settings/pkg/service/v0/logging.go diff --git a/extensions/settings/pkg/service/v0/option.go b/services/settings/pkg/service/v0/option.go similarity index 92% rename from extensions/settings/pkg/service/v0/option.go rename to services/settings/pkg/service/v0/option.go index 7aa6e1afb..00a3b3941 100644 --- a/extensions/settings/pkg/service/v0/option.go +++ b/services/settings/pkg/service/v0/option.go @@ -3,8 +3,8 @@ package svc import ( "net/http" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/settings/pkg/config" ) // Option defines a single option function. diff --git a/extensions/settings/pkg/service/v0/permissions.go b/services/settings/pkg/service/v0/permissions.go similarity index 100% rename from extensions/settings/pkg/service/v0/permissions.go rename to services/settings/pkg/service/v0/permissions.go diff --git a/extensions/settings/pkg/service/v0/service.go b/services/settings/pkg/service/v0/service.go similarity index 98% rename from extensions/settings/pkg/service/v0/service.go rename to services/settings/pkg/service/v0/service.go index 7142ebc09..2c08461ae 100644 --- a/extensions/settings/pkg/service/v0/service.go +++ b/services/settings/pkg/service/v0/service.go @@ -8,15 +8,15 @@ import ( permissions "github.com/cs3org/go-cs3apis/cs3/permissions/v1beta1" rpcv1beta1 "github.com/cs3org/go-cs3apis/cs3/rpc/v1beta1" "github.com/cs3org/reva/v2/pkg/rgrpc/status" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/settings" - filestore "github.com/owncloud/ocis/v2/extensions/settings/pkg/store/filesystem" - metastore "github.com/owncloud/ocis/v2/extensions/settings/pkg/store/metadata" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/middleware" "github.com/owncloud/ocis/v2/ocis-pkg/roles" settingsmsg "github.com/owncloud/ocis/v2/protogen/gen/ocis/messages/settings/v0" settingssvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/settings/v0" + "github.com/owncloud/ocis/v2/services/settings/pkg/config" + "github.com/owncloud/ocis/v2/services/settings/pkg/settings" + filestore "github.com/owncloud/ocis/v2/services/settings/pkg/store/filesystem" + metastore "github.com/owncloud/ocis/v2/services/settings/pkg/store/metadata" merrors "go-micro.dev/v4/errors" "go-micro.dev/v4/metadata" "google.golang.org/protobuf/types/known/emptypb" diff --git a/extensions/settings/pkg/service/v0/service_test.go b/services/settings/pkg/service/v0/service_test.go similarity index 100% rename from extensions/settings/pkg/service/v0/service_test.go rename to services/settings/pkg/service/v0/service_test.go diff --git a/extensions/settings/pkg/service/v0/settings.go b/services/settings/pkg/service/v0/settings.go similarity index 100% rename from extensions/settings/pkg/service/v0/settings.go rename to services/settings/pkg/service/v0/settings.go diff --git a/extensions/settings/pkg/service/v0/tracing.go b/services/settings/pkg/service/v0/tracing.go similarity index 100% rename from extensions/settings/pkg/service/v0/tracing.go rename to services/settings/pkg/service/v0/tracing.go diff --git a/extensions/settings/pkg/service/v0/validator.go b/services/settings/pkg/service/v0/validator.go similarity index 100% rename from extensions/settings/pkg/service/v0/validator.go rename to services/settings/pkg/service/v0/validator.go diff --git a/extensions/settings/pkg/settings/settings.go b/services/settings/pkg/settings/settings.go similarity index 97% rename from extensions/settings/pkg/settings/settings.go rename to services/settings/pkg/settings/settings.go index 5037fa1b2..19658ed0e 100644 --- a/extensions/settings/pkg/settings/settings.go +++ b/services/settings/pkg/settings/settings.go @@ -3,8 +3,8 @@ package settings import ( "errors" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config" settingsmsg "github.com/owncloud/ocis/v2/protogen/gen/ocis/messages/settings/v0" + "github.com/owncloud/ocis/v2/services/settings/pkg/config" ) var ( diff --git a/extensions/settings/pkg/store/defaults/defaults.go b/services/settings/pkg/store/defaults/defaults.go similarity index 99% rename from extensions/settings/pkg/store/defaults/defaults.go rename to services/settings/pkg/store/defaults/defaults.go index e24c63255..91173c657 100644 --- a/extensions/settings/pkg/store/defaults/defaults.go +++ b/services/settings/pkg/store/defaults/defaults.go @@ -1,8 +1,8 @@ package defaults import ( - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config" settingsmsg "github.com/owncloud/ocis/v2/protogen/gen/ocis/messages/settings/v0" + "github.com/owncloud/ocis/v2/services/settings/pkg/config" ) const ( diff --git a/extensions/settings/pkg/store/errortypes/errortypes.go b/services/settings/pkg/store/errortypes/errortypes.go similarity index 100% rename from extensions/settings/pkg/store/errortypes/errortypes.go rename to services/settings/pkg/store/errortypes/errortypes.go diff --git a/extensions/settings/pkg/store/filesystem/assignments.go b/services/settings/pkg/store/filesystem/assignments.go similarity index 100% rename from extensions/settings/pkg/store/filesystem/assignments.go rename to services/settings/pkg/store/filesystem/assignments.go diff --git a/extensions/settings/pkg/store/filesystem/assignments_test.go b/services/settings/pkg/store/filesystem/assignments_test.go similarity index 100% rename from extensions/settings/pkg/store/filesystem/assignments_test.go rename to services/settings/pkg/store/filesystem/assignments_test.go diff --git a/extensions/settings/pkg/store/filesystem/bundles.go b/services/settings/pkg/store/filesystem/bundles.go similarity index 98% rename from extensions/settings/pkg/store/filesystem/bundles.go rename to services/settings/pkg/store/filesystem/bundles.go index 3b5430d42..50746fe1d 100644 --- a/extensions/settings/pkg/store/filesystem/bundles.go +++ b/services/settings/pkg/store/filesystem/bundles.go @@ -8,8 +8,8 @@ import ( "sync" "github.com/gofrs/uuid" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/store/errortypes" settingsmsg "github.com/owncloud/ocis/v2/protogen/gen/ocis/messages/settings/v0" + "github.com/owncloud/ocis/v2/services/settings/pkg/store/errortypes" ) var m = &sync.RWMutex{} diff --git a/extensions/settings/pkg/store/filesystem/bundles_test.go b/services/settings/pkg/store/filesystem/bundles_test.go similarity index 100% rename from extensions/settings/pkg/store/filesystem/bundles_test.go rename to services/settings/pkg/store/filesystem/bundles_test.go diff --git a/extensions/settings/pkg/store/filesystem/io.go b/services/settings/pkg/store/filesystem/io.go similarity index 93% rename from extensions/settings/pkg/store/filesystem/io.go rename to services/settings/pkg/store/filesystem/io.go index 2e59192fd..38b5f5a6d 100644 --- a/extensions/settings/pkg/store/filesystem/io.go +++ b/services/settings/pkg/store/filesystem/io.go @@ -4,7 +4,7 @@ import ( "io/ioutil" "os" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/store/errortypes" + "github.com/owncloud/ocis/v2/services/settings/pkg/store/errortypes" "google.golang.org/protobuf/encoding/protojson" "google.golang.org/protobuf/proto" ) diff --git a/extensions/settings/pkg/store/filesystem/paths.go b/services/settings/pkg/store/filesystem/paths.go similarity index 100% rename from extensions/settings/pkg/store/filesystem/paths.go rename to services/settings/pkg/store/filesystem/paths.go diff --git a/extensions/settings/pkg/store/filesystem/permissions.go b/services/settings/pkg/store/filesystem/permissions.go similarity index 95% rename from extensions/settings/pkg/store/filesystem/permissions.go rename to services/settings/pkg/store/filesystem/permissions.go index a84886202..a01ba6546 100644 --- a/extensions/settings/pkg/store/filesystem/permissions.go +++ b/services/settings/pkg/store/filesystem/permissions.go @@ -1,9 +1,9 @@ package store import ( - "github.com/owncloud/ocis/v2/extensions/settings/pkg/settings" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/util" settingsmsg "github.com/owncloud/ocis/v2/protogen/gen/ocis/messages/settings/v0" + "github.com/owncloud/ocis/v2/services/settings/pkg/settings" + "github.com/owncloud/ocis/v2/services/settings/pkg/util" ) // ListPermissionsByResource collects all permissions from the provided roleIDs that match the requested resource diff --git a/extensions/settings/pkg/store/filesystem/staticcheck.conf b/services/settings/pkg/store/filesystem/staticcheck.conf similarity index 100% rename from extensions/settings/pkg/store/filesystem/staticcheck.conf rename to services/settings/pkg/store/filesystem/staticcheck.conf diff --git a/extensions/settings/pkg/store/filesystem/store.go b/services/settings/pkg/store/filesystem/store.go similarity index 88% rename from extensions/settings/pkg/store/filesystem/store.go rename to services/settings/pkg/store/filesystem/store.go index 4782648fe..970e3e73f 100644 --- a/extensions/settings/pkg/store/filesystem/store.go +++ b/services/settings/pkg/store/filesystem/store.go @@ -4,9 +4,9 @@ package store import ( "os" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/settings" olog "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/settings/pkg/config" + "github.com/owncloud/ocis/v2/services/settings/pkg/settings" ) var ( diff --git a/extensions/settings/pkg/store/filesystem/store_test.go b/services/settings/pkg/store/filesystem/store_test.go similarity index 100% rename from extensions/settings/pkg/store/filesystem/store_test.go rename to services/settings/pkg/store/filesystem/store_test.go diff --git a/extensions/settings/pkg/store/filesystem/values.go b/services/settings/pkg/store/filesystem/values.go similarity index 100% rename from extensions/settings/pkg/store/filesystem/values.go rename to services/settings/pkg/store/filesystem/values.go diff --git a/extensions/settings/pkg/store/filesystem/values_test.go b/services/settings/pkg/store/filesystem/values_test.go similarity index 100% rename from extensions/settings/pkg/store/filesystem/values_test.go rename to services/settings/pkg/store/filesystem/values_test.go diff --git a/extensions/settings/pkg/store/metadata/assignments.go b/services/settings/pkg/store/metadata/assignments.go similarity index 100% rename from extensions/settings/pkg/store/metadata/assignments.go rename to services/settings/pkg/store/metadata/assignments.go diff --git a/extensions/settings/pkg/store/metadata/assignments_test.go b/services/settings/pkg/store/metadata/assignments_test.go similarity index 98% rename from extensions/settings/pkg/store/metadata/assignments_test.go rename to services/settings/pkg/store/metadata/assignments_test.go index 19165fac8..18d246a46 100644 --- a/extensions/settings/pkg/store/metadata/assignments_test.go +++ b/services/settings/pkg/store/metadata/assignments_test.go @@ -6,10 +6,10 @@ import ( "testing" "github.com/gofrs/uuid" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config/defaults" olog "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/shared" settingsmsg "github.com/owncloud/ocis/v2/protogen/gen/ocis/messages/settings/v0" + "github.com/owncloud/ocis/v2/services/settings/pkg/config/defaults" "github.com/stretchr/testify/require" ) diff --git a/extensions/settings/pkg/store/metadata/bundles.go b/services/settings/pkg/store/metadata/bundles.go similarity index 98% rename from extensions/settings/pkg/store/metadata/bundles.go rename to services/settings/pkg/store/metadata/bundles.go index d55b756c0..36cdd7c96 100644 --- a/extensions/settings/pkg/store/metadata/bundles.go +++ b/services/settings/pkg/store/metadata/bundles.go @@ -8,8 +8,8 @@ import ( "fmt" "github.com/gofrs/uuid" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/store/defaults" settingsmsg "github.com/owncloud/ocis/v2/protogen/gen/ocis/messages/settings/v0" + "github.com/owncloud/ocis/v2/services/settings/pkg/store/defaults" ) // ListBundles returns all bundles in the dataPath folder that match the given type. diff --git a/extensions/settings/pkg/store/metadata/bundles_test.go b/services/settings/pkg/store/metadata/bundles_test.go similarity index 100% rename from extensions/settings/pkg/store/metadata/bundles_test.go rename to services/settings/pkg/store/metadata/bundles_test.go diff --git a/extensions/settings/pkg/store/metadata/cache.go b/services/settings/pkg/store/metadata/cache.go similarity index 100% rename from extensions/settings/pkg/store/metadata/cache.go rename to services/settings/pkg/store/metadata/cache.go diff --git a/extensions/settings/pkg/store/metadata/permissions.go b/services/settings/pkg/store/metadata/permissions.go similarity index 95% rename from extensions/settings/pkg/store/metadata/permissions.go rename to services/settings/pkg/store/metadata/permissions.go index d70c7dbce..9756db8d6 100644 --- a/extensions/settings/pkg/store/metadata/permissions.go +++ b/services/settings/pkg/store/metadata/permissions.go @@ -1,9 +1,9 @@ package store import ( - "github.com/owncloud/ocis/v2/extensions/settings/pkg/settings" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/util" settingsmsg "github.com/owncloud/ocis/v2/protogen/gen/ocis/messages/settings/v0" + "github.com/owncloud/ocis/v2/services/settings/pkg/settings" + "github.com/owncloud/ocis/v2/services/settings/pkg/util" ) // ListPermissionsByResource collects all permissions from the provided roleIDs that match the requested resource diff --git a/extensions/settings/pkg/store/metadata/permissions_test.go b/services/settings/pkg/store/metadata/permissions_test.go similarity index 100% rename from extensions/settings/pkg/store/metadata/permissions_test.go rename to services/settings/pkg/store/metadata/permissions_test.go diff --git a/extensions/settings/pkg/store/metadata/store.go b/services/settings/pkg/store/metadata/store.go similarity index 94% rename from extensions/settings/pkg/store/metadata/store.go rename to services/settings/pkg/store/metadata/store.go index 3e37d5d52..654c3bba4 100644 --- a/extensions/settings/pkg/store/metadata/store.go +++ b/services/settings/pkg/store/metadata/store.go @@ -9,11 +9,11 @@ import ( "github.com/cs3org/reva/v2/pkg/storage/utils/metadata" "github.com/gofrs/uuid" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/settings" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/store/defaults" olog "github.com/owncloud/ocis/v2/ocis-pkg/log" settingsmsg "github.com/owncloud/ocis/v2/protogen/gen/ocis/messages/settings/v0" + "github.com/owncloud/ocis/v2/services/settings/pkg/config" + "github.com/owncloud/ocis/v2/services/settings/pkg/settings" + "github.com/owncloud/ocis/v2/services/settings/pkg/store/defaults" ) var ( diff --git a/extensions/settings/pkg/store/metadata/store_test.go b/services/settings/pkg/store/metadata/store_test.go similarity index 97% rename from extensions/settings/pkg/store/metadata/store_test.go rename to services/settings/pkg/store/metadata/store_test.go index 679562989..bb1c75ff8 100644 --- a/extensions/settings/pkg/store/metadata/store_test.go +++ b/services/settings/pkg/store/metadata/store_test.go @@ -4,7 +4,7 @@ import ( "context" "strings" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/settings/pkg/config/defaults" ) const ( diff --git a/extensions/settings/pkg/store/metadata/values.go b/services/settings/pkg/store/metadata/values.go similarity index 100% rename from extensions/settings/pkg/store/metadata/values.go rename to services/settings/pkg/store/metadata/values.go diff --git a/extensions/settings/pkg/store/metadata/values_test.go b/services/settings/pkg/store/metadata/values_test.go similarity index 100% rename from extensions/settings/pkg/store/metadata/values_test.go rename to services/settings/pkg/store/metadata/values_test.go diff --git a/services/settings/pkg/store/registry.go b/services/settings/pkg/store/registry.go new file mode 100644 index 000000000..7c7771598 --- /dev/null +++ b/services/settings/pkg/store/registry.go @@ -0,0 +1,7 @@ +package store + +import ( + // init filesystem store + _ "github.com/owncloud/ocis/v2/services/settings/pkg/store/filesystem" + _ "github.com/owncloud/ocis/v2/services/settings/pkg/store/metadata" +) diff --git a/extensions/settings/pkg/tracing/tracing.go b/services/settings/pkg/tracing/tracing.go similarity index 89% rename from extensions/settings/pkg/tracing/tracing.go rename to services/settings/pkg/tracing/tracing.go index 9532fd297..46a5bbd81 100644 --- a/extensions/settings/pkg/tracing/tracing.go +++ b/services/settings/pkg/tracing/tracing.go @@ -1,8 +1,8 @@ package tracing import ( - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config" pkgtrace "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/settings/pkg/config" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/settings/pkg/util/resource_helper.go b/services/settings/pkg/util/resource_helper.go similarity index 100% rename from extensions/settings/pkg/util/resource_helper.go rename to services/settings/pkg/util/resource_helper.go diff --git a/extensions/settings/pkg/util/resource_helper_test.go b/services/settings/pkg/util/resource_helper_test.go similarity index 100% rename from extensions/settings/pkg/util/resource_helper_test.go rename to services/settings/pkg/util/resource_helper_test.go diff --git a/extensions/settings/reflex.conf b/services/settings/reflex.conf similarity index 100% rename from extensions/settings/reflex.conf rename to services/settings/reflex.conf diff --git a/extensions/settings/rollup.config.js b/services/settings/rollup.config.js similarity index 100% rename from extensions/settings/rollup.config.js rename to services/settings/rollup.config.js diff --git a/extensions/settings/settings.go b/services/settings/settings.go similarity index 100% rename from extensions/settings/settings.go rename to services/settings/settings.go diff --git a/extensions/settings/ui/app.js b/services/settings/ui/app.js similarity index 100% rename from extensions/settings/ui/app.js rename to services/settings/ui/app.js diff --git a/extensions/settings/ui/client/settings/index.js b/services/settings/ui/client/settings/index.js similarity index 100% rename from extensions/settings/ui/client/settings/index.js rename to services/settings/ui/client/settings/index.js diff --git a/extensions/settings/ui/components/SettingsApp.vue b/services/settings/ui/components/SettingsApp.vue similarity index 100% rename from extensions/settings/ui/components/SettingsApp.vue rename to services/settings/ui/components/SettingsApp.vue diff --git a/extensions/settings/ui/components/SettingsBundle.vue b/services/settings/ui/components/SettingsBundle.vue similarity index 100% rename from extensions/settings/ui/components/SettingsBundle.vue rename to services/settings/ui/components/SettingsBundle.vue diff --git a/extensions/settings/ui/components/settings/SettingBoolean.vue b/services/settings/ui/components/settings/SettingBoolean.vue similarity index 100% rename from extensions/settings/ui/components/settings/SettingBoolean.vue rename to services/settings/ui/components/settings/SettingBoolean.vue diff --git a/extensions/settings/ui/components/settings/SettingMultiChoice.vue b/services/settings/ui/components/settings/SettingMultiChoice.vue similarity index 100% rename from extensions/settings/ui/components/settings/SettingMultiChoice.vue rename to services/settings/ui/components/settings/SettingMultiChoice.vue diff --git a/extensions/settings/ui/components/settings/SettingNumber.vue b/services/settings/ui/components/settings/SettingNumber.vue similarity index 100% rename from extensions/settings/ui/components/settings/SettingNumber.vue rename to services/settings/ui/components/settings/SettingNumber.vue diff --git a/extensions/settings/ui/components/settings/SettingSingleChoice.vue b/services/settings/ui/components/settings/SettingSingleChoice.vue similarity index 100% rename from extensions/settings/ui/components/settings/SettingSingleChoice.vue rename to services/settings/ui/components/settings/SettingSingleChoice.vue diff --git a/extensions/settings/ui/components/settings/SettingString.vue b/services/settings/ui/components/settings/SettingString.vue similarity index 100% rename from extensions/settings/ui/components/settings/SettingString.vue rename to services/settings/ui/components/settings/SettingString.vue diff --git a/extensions/settings/ui/components/settings/SettingUnknown.vue b/services/settings/ui/components/settings/SettingUnknown.vue similarity index 100% rename from extensions/settings/ui/components/settings/SettingUnknown.vue rename to services/settings/ui/components/settings/SettingUnknown.vue diff --git a/extensions/settings/ui/dictionary.js b/services/settings/ui/dictionary.js similarity index 100% rename from extensions/settings/ui/dictionary.js rename to services/settings/ui/dictionary.js diff --git a/extensions/settings/ui/store/index.js b/services/settings/ui/store/index.js similarity index 100% rename from extensions/settings/ui/store/index.js rename to services/settings/ui/store/index.js diff --git a/extensions/settings/ui/tests/acceptance/features/settings.feature b/services/settings/ui/tests/acceptance/features/settings.feature similarity index 100% rename from extensions/settings/ui/tests/acceptance/features/settings.feature rename to services/settings/ui/tests/acceptance/features/settings.feature diff --git a/extensions/settings/ui/tests/acceptance/helpers/language.js b/services/settings/ui/tests/acceptance/helpers/language.js similarity index 100% rename from extensions/settings/ui/tests/acceptance/helpers/language.js rename to services/settings/ui/tests/acceptance/helpers/language.js diff --git a/extensions/settings/ui/tests/acceptance/pageobjects/filesPageSettingsContext.js b/services/settings/ui/tests/acceptance/pageobjects/filesPageSettingsContext.js similarity index 100% rename from extensions/settings/ui/tests/acceptance/pageobjects/filesPageSettingsContext.js rename to services/settings/ui/tests/acceptance/pageobjects/filesPageSettingsContext.js diff --git a/extensions/settings/ui/tests/acceptance/pageobjects/settingsPage.js b/services/settings/ui/tests/acceptance/pageobjects/settingsPage.js similarity index 100% rename from extensions/settings/ui/tests/acceptance/pageobjects/settingsPage.js rename to services/settings/ui/tests/acceptance/pageobjects/settingsPage.js diff --git a/extensions/settings/ui/tests/acceptance/stepDefinitions/settingsContext.js b/services/settings/ui/tests/acceptance/stepDefinitions/settingsContext.js similarity index 100% rename from extensions/settings/ui/tests/acceptance/stepDefinitions/settingsContext.js rename to services/settings/ui/tests/acceptance/stepDefinitions/settingsContext.js diff --git a/extensions/settings/ui/tests/run-acceptance-test.sh b/services/settings/ui/tests/run-acceptance-test.sh similarity index 100% rename from extensions/settings/ui/tests/run-acceptance-test.sh rename to services/settings/ui/tests/run-acceptance-test.sh diff --git a/extensions/settings/yarn.lock b/services/settings/yarn.lock similarity index 100% rename from extensions/settings/yarn.lock rename to services/settings/yarn.lock diff --git a/extensions/sharing/Makefile b/services/sharing/Makefile similarity index 100% rename from extensions/sharing/Makefile rename to services/sharing/Makefile diff --git a/extensions/ocdav/cmd/ocdav/main.go b/services/sharing/cmd/sharing/main.go similarity index 52% rename from extensions/ocdav/cmd/ocdav/main.go rename to services/sharing/cmd/sharing/main.go index 7346590a0..54e0996e3 100644 --- a/extensions/ocdav/cmd/ocdav/main.go +++ b/services/sharing/cmd/sharing/main.go @@ -3,8 +3,8 @@ package main import ( "os" - "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/command" - "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/sharing/pkg/command" + "github.com/owncloud/ocis/v2/services/sharing/pkg/config/defaults" ) func main() { diff --git a/extensions/proxy/pkg/command/health.go b/services/sharing/pkg/command/health.go similarity index 84% rename from extensions/proxy/pkg/command/health.go rename to services/sharing/pkg/command/health.go index 9b2dd4d9f..1c2bb37ed 100644 --- a/extensions/proxy/pkg/command/health.go +++ b/services/sharing/pkg/command/health.go @@ -4,9 +4,9 @@ import ( "fmt" "net/http" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/logging" + "github.com/owncloud/ocis/v2/services/sharing/pkg/config" + "github.com/owncloud/ocis/v2/services/sharing/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/sharing/pkg/logging" "github.com/urfave/cli/v2" ) diff --git a/extensions/sharing/pkg/command/root.go b/services/sharing/pkg/command/root.go similarity index 95% rename from extensions/sharing/pkg/command/root.go rename to services/sharing/pkg/command/root.go index 38e6cd0e3..fae443c93 100644 --- a/extensions/sharing/pkg/command/root.go +++ b/services/sharing/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/sharing/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/sharing/pkg/command/server.go b/services/sharing/pkg/command/server.go similarity index 88% rename from extensions/sharing/pkg/command/server.go rename to services/sharing/pkg/command/server.go index 3b9470c1a..97737f8af 100644 --- a/extensions/sharing/pkg/command/server.go +++ b/services/sharing/pkg/command/server.go @@ -10,15 +10,15 @@ import ( "github.com/cs3org/reva/v2/cmd/revad/runtime" "github.com/gofrs/uuid" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/config" - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/revaconfig" - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/service/external" "github.com/owncloud/ocis/v2/ocis-pkg/sync" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/sharing/pkg/config" + "github.com/owncloud/ocis/v2/services/sharing/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/sharing/pkg/logging" + "github.com/owncloud/ocis/v2/services/sharing/pkg/revaconfig" + "github.com/owncloud/ocis/v2/services/sharing/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/sharing/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/services/sharing/pkg/command/version.go b/services/sharing/pkg/command/version.go new file mode 100644 index 000000000..368f0710d --- /dev/null +++ b/services/sharing/pkg/command/version.go @@ -0,0 +1,50 @@ +package command + +import ( + "fmt" + "os" + + "github.com/owncloud/ocis/v2/ocis-pkg/registry" + "github.com/owncloud/ocis/v2/ocis-pkg/version" + + tw "github.com/olekukonko/tablewriter" + "github.com/owncloud/ocis/v2/services/sharing/pkg/config" + "github.com/urfave/cli/v2" +) + +// Version prints the service versions of all running instances. +func Version(cfg *config.Config) *cli.Command { + return &cli.Command{ + Name: "version", + Usage: "print the version of this binary and the running extension instances", + Category: "info", + Action: func(c *cli.Context) error { + fmt.Println("Version: " + version.GetString()) + fmt.Printf("Compiled: %s\n", version.Compiled()) + fmt.Println("") + + reg := registry.GetRegistry() + services, err := reg.GetService(cfg.GRPC.Namespace + "." + cfg.Service.Name) + if err != nil { + fmt.Println(fmt.Errorf("could not get %s services from the registry: %v", cfg.Service.Name, err)) + return err + } + + if len(services) == 0 { + fmt.Println("No running " + cfg.Service.Name + " service found.") + return nil + } + + table := tw.NewWriter(os.Stdout) + table.SetHeader([]string{"Version", "Address", "Id"}) + table.SetAutoFormatHeaders(false) + for _, s := range services { + for _, n := range s.Nodes { + table.Append([]string{s.Version, n.Address, n.Id}) + } + } + table.Render() + return nil + }, + } +} diff --git a/extensions/sharing/pkg/config/config.go b/services/sharing/pkg/config/config.go similarity index 100% rename from extensions/sharing/pkg/config/config.go rename to services/sharing/pkg/config/config.go diff --git a/extensions/sharing/pkg/config/defaults/defaultconfig.go b/services/sharing/pkg/config/defaults/defaultconfig.go similarity index 98% rename from extensions/sharing/pkg/config/defaults/defaultconfig.go rename to services/sharing/pkg/config/defaults/defaultconfig.go index 54513c932..890320cc9 100644 --- a/extensions/sharing/pkg/config/defaults/defaultconfig.go +++ b/services/sharing/pkg/config/defaults/defaultconfig.go @@ -3,8 +3,8 @@ package defaults import ( "path/filepath" - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/sharing/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/sharing/pkg/config/parser/parse.go b/services/sharing/pkg/config/parser/parse.go similarity index 92% rename from extensions/sharing/pkg/config/parser/parse.go rename to services/sharing/pkg/config/parser/parse.go index f6a43b2b7..32cc5624c 100644 --- a/extensions/sharing/pkg/config/parser/parse.go +++ b/services/sharing/pkg/config/parser/parse.go @@ -3,10 +3,10 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/config" - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/sharing/pkg/config" + "github.com/owncloud/ocis/v2/services/sharing/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/sharing/pkg/config/reva.go b/services/sharing/pkg/config/reva.go similarity index 100% rename from extensions/sharing/pkg/config/reva.go rename to services/sharing/pkg/config/reva.go diff --git a/extensions/graph/pkg/logging/logging.go b/services/sharing/pkg/logging/logging.go similarity index 85% rename from extensions/graph/pkg/logging/logging.go rename to services/sharing/pkg/logging/logging.go index a62806d0d..55fa28366 100644 --- a/extensions/graph/pkg/logging/logging.go +++ b/services/sharing/pkg/logging/logging.go @@ -1,8 +1,8 @@ package logging import ( - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/sharing/pkg/config" ) // LoggerFromConfig initializes a service-specific logger instance. diff --git a/extensions/sharing/pkg/revaconfig/config.go b/services/sharing/pkg/revaconfig/config.go similarity index 98% rename from extensions/sharing/pkg/revaconfig/config.go rename to services/sharing/pkg/revaconfig/config.go index efd5de224..5b5634f1f 100644 --- a/extensions/sharing/pkg/revaconfig/config.go +++ b/services/sharing/pkg/revaconfig/config.go @@ -1,7 +1,7 @@ package revaconfig import ( - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/config" + "github.com/owncloud/ocis/v2/services/sharing/pkg/config" ) // SharingConfigFromStruct will adapt an oCIS config struct into a reva mapstructure to start a reva service. diff --git a/extensions/ocdav/pkg/server/debug/option.go b/services/sharing/pkg/server/debug/option.go similarity index 93% rename from extensions/ocdav/pkg/server/debug/option.go rename to services/sharing/pkg/server/debug/option.go index ab52227f9..cfae7d88d 100644 --- a/extensions/ocdav/pkg/server/debug/option.go +++ b/services/sharing/pkg/server/debug/option.go @@ -3,8 +3,8 @@ package debug import ( "context" - "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/sharing/pkg/config" ) // Option defines a single option function. diff --git a/services/sharing/pkg/server/debug/server.go b/services/sharing/pkg/server/debug/server.go new file mode 100644 index 000000000..7c4ffd846 --- /dev/null +++ b/services/sharing/pkg/server/debug/server.go @@ -0,0 +1,63 @@ +package debug + +import ( + "io" + "net/http" + + "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" + "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/sharing/pkg/config" +) + +// Server initializes the debug service and server. +func Server(opts ...Option) (*http.Server, error) { + options := newOptions(opts...) + + return debug.NewService( + debug.Logger(options.Logger), + debug.Name(options.Config.Service.Name), + debug.Version(version.GetString()), + debug.Address(options.Config.Debug.Addr), + debug.Token(options.Config.Debug.Token), + debug.Pprof(options.Config.Debug.Pprof), + debug.Zpages(options.Config.Debug.Zpages), + debug.Health(health(options.Config)), + debug.Ready(ready(options.Config)), + //debug.CorsAllowedOrigins(options.Config.HTTP.CORS.AllowedOrigins), + //debug.CorsAllowedMethods(options.Config.HTTP.CORS.AllowedMethods), + //debug.CorsAllowedHeaders(options.Config.HTTP.CORS.AllowedHeaders), + //debug.CorsAllowCredentials(options.Config.HTTP.CORS.AllowCredentials), + ), nil +} + +// health implements the health check. +func health(cfg *config.Config) func(http.ResponseWriter, *http.Request) { + return func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "text/plain") + w.WriteHeader(http.StatusOK) + + // TODO: check if services are up and running + + _, err := io.WriteString(w, http.StatusText(http.StatusOK)) + // io.WriteString should not fail but if it does we want to know. + if err != nil { + panic(err) + } + } +} + +// ready implements the ready check. +func ready(cfg *config.Config) func(http.ResponseWriter, *http.Request) { + return func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "text/plain") + w.WriteHeader(http.StatusOK) + + // TODO: check if services are up and running + + _, err := io.WriteString(w, http.StatusText(http.StatusOK)) + // io.WriteString should not fail but if it does we want to know. + if err != nil { + panic(err) + } + } +} diff --git a/services/sharing/pkg/tracing/tracing.go b/services/sharing/pkg/tracing/tracing.go new file mode 100644 index 000000000..b9eb3cfd0 --- /dev/null +++ b/services/sharing/pkg/tracing/tracing.go @@ -0,0 +1,18 @@ +package tracing + +import ( + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/sharing/pkg/config" + "go.opentelemetry.io/otel/trace" +) + +var ( + // TraceProvider is the global trace provider for the service. + TraceProvider = trace.NewNoopTracerProvider() +) + +func Configure(cfg *config.Config, logger log.Logger) error { + tracing.Configure(cfg.Tracing.Enabled, cfg.Tracing.Type, logger) + return nil +} diff --git a/extensions/storage-publiclink/Makefile b/services/storage-publiclink/Makefile similarity index 100% rename from extensions/storage-publiclink/Makefile rename to services/storage-publiclink/Makefile diff --git a/services/storage-publiclink/cmd/storage-publiclink/main.go b/services/storage-publiclink/cmd/storage-publiclink/main.go new file mode 100644 index 000000000..6d2415a00 --- /dev/null +++ b/services/storage-publiclink/cmd/storage-publiclink/main.go @@ -0,0 +1,14 @@ +package main + +import ( + "os" + + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/command" + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/config/defaults" +) + +func main() { + if err := command.Execute(defaults.DefaultConfig()); err != nil { + os.Exit(1) + } +} diff --git a/services/storage-publiclink/pkg/command/health.go b/services/storage-publiclink/pkg/command/health.go new file mode 100644 index 000000000..b2f3889f5 --- /dev/null +++ b/services/storage-publiclink/pkg/command/health.go @@ -0,0 +1,57 @@ +package command + +import ( + "fmt" + "net/http" + + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/logging" + "github.com/urfave/cli/v2" +) + +// Health is the entrypoint for the health command. +func Health(cfg *config.Config) *cli.Command { + return &cli.Command{ + Name: "health", + Usage: "check health status", + Category: "info", + Before: func(c *cli.Context) error { + err := parser.ParseConfig(cfg) + if err != nil { + fmt.Printf("%v", err) + } + return err + }, + Action: func(c *cli.Context) error { + logger := logging.Configure(cfg.Service.Name, cfg.Log) + + resp, err := http.Get( + fmt.Sprintf( + "http://%s/healthz", + cfg.Debug.Addr, + ), + ) + + if err != nil { + logger.Fatal(). + Err(err). + Msg("Failed to request health check") + } + + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + logger.Fatal(). + Int("code", resp.StatusCode). + Msg("Health seems to be in bad state") + } + + logger.Debug(). + Int("code", resp.StatusCode). + Msg("Health got a good state") + + return nil + }, + } +} diff --git a/extensions/storage-publiclink/pkg/command/root.go b/services/storage-publiclink/pkg/command/root.go similarity index 95% rename from extensions/storage-publiclink/pkg/command/root.go rename to services/storage-publiclink/pkg/command/root.go index c49903d06..831cb046e 100644 --- a/extensions/storage-publiclink/pkg/command/root.go +++ b/services/storage-publiclink/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/storage-publiclink/pkg/command/server.go b/services/storage-publiclink/pkg/command/server.go similarity index 85% rename from extensions/storage-publiclink/pkg/command/server.go rename to services/storage-publiclink/pkg/command/server.go index 9a49633fd..66dd9c9d8 100644 --- a/extensions/storage-publiclink/pkg/command/server.go +++ b/services/storage-publiclink/pkg/command/server.go @@ -9,15 +9,15 @@ import ( "github.com/cs3org/reva/v2/cmd/revad/runtime" "github.com/gofrs/uuid" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/config" - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/revaconfig" - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/service/external" "github.com/owncloud/ocis/v2/ocis-pkg/sync" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/logging" + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/revaconfig" + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/extensions/app-registry/pkg/command/version.go b/services/storage-publiclink/pkg/command/version.go similarity index 94% rename from extensions/app-registry/pkg/command/version.go rename to services/storage-publiclink/pkg/command/version.go index 491f02c28..31e23c9f3 100644 --- a/extensions/app-registry/pkg/command/version.go +++ b/services/storage-publiclink/pkg/command/version.go @@ -8,7 +8,7 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/version" tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/storage-publiclink/pkg/config/config.go b/services/storage-publiclink/pkg/config/config.go similarity index 100% rename from extensions/storage-publiclink/pkg/config/config.go rename to services/storage-publiclink/pkg/config/config.go diff --git a/extensions/storage-publiclink/pkg/config/defaults/defaultconfig.go b/services/storage-publiclink/pkg/config/defaults/defaultconfig.go similarity index 96% rename from extensions/storage-publiclink/pkg/config/defaults/defaultconfig.go rename to services/storage-publiclink/pkg/config/defaults/defaultconfig.go index 0845d0a02..fd94933ef 100644 --- a/extensions/storage-publiclink/pkg/config/defaults/defaultconfig.go +++ b/services/storage-publiclink/pkg/config/defaults/defaultconfig.go @@ -1,7 +1,7 @@ package defaults import ( - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/services/storage-publiclink/pkg/config/parser/parse.go b/services/storage-publiclink/pkg/config/parser/parse.go new file mode 100644 index 000000000..b081f858b --- /dev/null +++ b/services/storage-publiclink/pkg/config/parser/parse.go @@ -0,0 +1,42 @@ +package parser + +import ( + "errors" + + ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/config/defaults" + + "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" +) + +// ParseConfig loads configuration from known paths. +func ParseConfig(cfg *config.Config) error { + _, err := ociscfg.BindSourcesToStructs(cfg.Service.Name, cfg) + if err != nil { + return err + } + + defaults.EnsureDefaults(cfg) + + // load all env variables relevant to the config in the current context. + if err := envdecode.Decode(cfg); err != nil { + // no environment variable set for this config is an expected "error" + if !errors.Is(err, envdecode.ErrNoTargetFieldsAreSet) { + return err + } + } + + defaults.Sanitize(cfg) + + return Validate(cfg) +} + +func Validate(cfg *config.Config) error { + if cfg.TokenManager.JWTSecret == "" { + return shared.MissingJWTTokenError(cfg.Service.Name) + } + + return nil +} diff --git a/extensions/storage-publiclink/pkg/config/reva.go b/services/storage-publiclink/pkg/config/reva.go similarity index 100% rename from extensions/storage-publiclink/pkg/config/reva.go rename to services/storage-publiclink/pkg/config/reva.go diff --git a/services/storage-publiclink/pkg/logging/logging.go b/services/storage-publiclink/pkg/logging/logging.go new file mode 100644 index 000000000..c5a037c83 --- /dev/null +++ b/services/storage-publiclink/pkg/logging/logging.go @@ -0,0 +1,17 @@ +package logging + +import ( + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/config" +) + +// LoggerFromConfig initializes a service-specific logger instance. +func Configure(name string, cfg *config.Log) log.Logger { + return log.NewLogger( + log.Name(name), + log.Level(cfg.Level), + log.Pretty(cfg.Pretty), + log.Color(cfg.Color), + log.File(cfg.File), + ) +} diff --git a/extensions/storage-publiclink/pkg/revaconfig/config.go b/services/storage-publiclink/pkg/revaconfig/config.go similarity index 94% rename from extensions/storage-publiclink/pkg/revaconfig/config.go rename to services/storage-publiclink/pkg/revaconfig/config.go index 8a0f0285e..2c2cfd9c0 100644 --- a/extensions/storage-publiclink/pkg/revaconfig/config.go +++ b/services/storage-publiclink/pkg/revaconfig/config.go @@ -1,7 +1,7 @@ package revaconfig import ( - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/config" ) // StoragePublicLinkConfigFromStruct will adapt an oCIS config struct into a reva mapstructure to start a reva service. diff --git a/services/storage-publiclink/pkg/server/debug/option.go b/services/storage-publiclink/pkg/server/debug/option.go new file mode 100644 index 000000000..4d3645a62 --- /dev/null +++ b/services/storage-publiclink/pkg/server/debug/option.go @@ -0,0 +1,50 @@ +package debug + +import ( + "context" + + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/config" +) + +// Option defines a single option function. +type Option func(o *Options) + +// Options defines the available options for this package. +type Options struct { + Logger log.Logger + Context context.Context + Config *config.Config +} + +// newOptions initializes the available default options. +func newOptions(opts ...Option) Options { + opt := Options{} + + for _, o := range opts { + o(&opt) + } + + return opt +} + +// Logger provides a function to set the logger option. +func Logger(val log.Logger) Option { + return func(o *Options) { + o.Logger = val + } +} + +// Context provides a function to set the context option. +func Context(val context.Context) Option { + return func(o *Options) { + o.Context = val + } +} + +// Config provides a function to set the config option. +func Config(val *config.Config) Option { + return func(o *Options) { + o.Config = val + } +} diff --git a/extensions/app-provider/pkg/server/debug/server.go b/services/storage-publiclink/pkg/server/debug/server.go similarity index 96% rename from extensions/app-provider/pkg/server/debug/server.go rename to services/storage-publiclink/pkg/server/debug/server.go index d54147b6c..61b501b58 100644 --- a/extensions/app-provider/pkg/server/debug/server.go +++ b/services/storage-publiclink/pkg/server/debug/server.go @@ -4,9 +4,9 @@ import ( "io" "net/http" - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/config" ) // Server initializes the debug service and server. diff --git a/extensions/app-registry/pkg/tracing/tracing.go b/services/storage-publiclink/pkg/tracing/tracing.go similarity index 85% rename from extensions/app-registry/pkg/tracing/tracing.go rename to services/storage-publiclink/pkg/tracing/tracing.go index 2c975afc5..56551e597 100644 --- a/extensions/app-registry/pkg/tracing/tracing.go +++ b/services/storage-publiclink/pkg/tracing/tracing.go @@ -1,9 +1,9 @@ package tracing import ( - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/config" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/storage-shares/Makefile b/services/storage-shares/Makefile similarity index 100% rename from extensions/storage-shares/Makefile rename to services/storage-shares/Makefile diff --git a/extensions/app-provider/cmd/app-provider/main.go b/services/storage-shares/cmd/storage-shares/main.go similarity index 53% rename from extensions/app-provider/cmd/app-provider/main.go rename to services/storage-shares/cmd/storage-shares/main.go index 43c7ac478..8a8f9336b 100644 --- a/extensions/app-provider/cmd/app-provider/main.go +++ b/services/storage-shares/cmd/storage-shares/main.go @@ -3,8 +3,8 @@ package main import ( "os" - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/command" - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/command" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/config/defaults" ) func main() { diff --git a/extensions/app-registry/pkg/command/health.go b/services/storage-shares/pkg/command/health.go similarity index 84% rename from extensions/app-registry/pkg/command/health.go rename to services/storage-shares/pkg/command/health.go index 912ecdfb0..90e68c8ba 100644 --- a/extensions/app-registry/pkg/command/health.go +++ b/services/storage-shares/pkg/command/health.go @@ -4,9 +4,9 @@ import ( "fmt" "net/http" - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/config" - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/logging" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/logging" "github.com/urfave/cli/v2" ) diff --git a/extensions/storage-shares/pkg/command/root.go b/services/storage-shares/pkg/command/root.go similarity index 95% rename from extensions/storage-shares/pkg/command/root.go rename to services/storage-shares/pkg/command/root.go index 062a22e67..5d8db7f5e 100644 --- a/extensions/storage-shares/pkg/command/root.go +++ b/services/storage-shares/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/storage-shares/pkg/command/server.go b/services/storage-shares/pkg/command/server.go similarity index 85% rename from extensions/storage-shares/pkg/command/server.go rename to services/storage-shares/pkg/command/server.go index a782f0e39..e54197997 100644 --- a/extensions/storage-shares/pkg/command/server.go +++ b/services/storage-shares/pkg/command/server.go @@ -9,15 +9,15 @@ import ( "github.com/cs3org/reva/v2/cmd/revad/runtime" "github.com/gofrs/uuid" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/config" - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/revaconfig" - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/service/external" "github.com/owncloud/ocis/v2/ocis-pkg/sync" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/logging" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/revaconfig" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/extensions/auth-machine/pkg/command/version.go b/services/storage-shares/pkg/command/version.go similarity index 95% rename from extensions/auth-machine/pkg/command/version.go rename to services/storage-shares/pkg/command/version.go index a687bbde9..df3e40b2f 100644 --- a/extensions/auth-machine/pkg/command/version.go +++ b/services/storage-shares/pkg/command/version.go @@ -8,7 +8,7 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/version" tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/storage-shares/pkg/config/config.go b/services/storage-shares/pkg/config/config.go similarity index 100% rename from extensions/storage-shares/pkg/config/config.go rename to services/storage-shares/pkg/config/config.go diff --git a/extensions/storage-shares/pkg/config/defaults/defaultconfig.go b/services/storage-shares/pkg/config/defaults/defaultconfig.go similarity index 96% rename from extensions/storage-shares/pkg/config/defaults/defaultconfig.go rename to services/storage-shares/pkg/config/defaults/defaultconfig.go index 9569e3440..b9664276f 100644 --- a/extensions/storage-shares/pkg/config/defaults/defaultconfig.go +++ b/services/storage-shares/pkg/config/defaults/defaultconfig.go @@ -1,7 +1,7 @@ package defaults import ( - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/app-registry/pkg/config/parser/parse.go b/services/storage-shares/pkg/config/parser/parse.go similarity index 87% rename from extensions/app-registry/pkg/config/parser/parse.go rename to services/storage-shares/pkg/config/parser/parse.go index 96fd9792b..6c7b5c371 100644 --- a/extensions/app-registry/pkg/config/parser/parse.go +++ b/services/storage-shares/pkg/config/parser/parse.go @@ -3,10 +3,10 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/config" - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/storage-shares/pkg/config/reva.go b/services/storage-shares/pkg/config/reva.go similarity index 100% rename from extensions/storage-shares/pkg/config/reva.go rename to services/storage-shares/pkg/config/reva.go diff --git a/extensions/app-registry/pkg/logging/logging.go b/services/storage-shares/pkg/logging/logging.go similarity index 84% rename from extensions/app-registry/pkg/logging/logging.go rename to services/storage-shares/pkg/logging/logging.go index 9776ff748..f7f4151ca 100644 --- a/extensions/app-registry/pkg/logging/logging.go +++ b/services/storage-shares/pkg/logging/logging.go @@ -1,8 +1,8 @@ package logging import ( - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/config" ) // LoggerFromConfig initializes a service-specific logger instance. diff --git a/extensions/storage-shares/pkg/revaconfig/config.go b/services/storage-shares/pkg/revaconfig/config.go similarity index 94% rename from extensions/storage-shares/pkg/revaconfig/config.go rename to services/storage-shares/pkg/revaconfig/config.go index c01554622..d6d29ba0e 100644 --- a/extensions/storage-shares/pkg/revaconfig/config.go +++ b/services/storage-shares/pkg/revaconfig/config.go @@ -1,7 +1,7 @@ package revaconfig import ( - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/config" ) // StorageSharesConfigFromStruct will adapt an oCIS config struct into a reva mapstructure to start a reva service. diff --git a/extensions/app-registry/pkg/server/debug/option.go b/services/storage-shares/pkg/server/debug/option.go similarity index 93% rename from extensions/app-registry/pkg/server/debug/option.go rename to services/storage-shares/pkg/server/debug/option.go index 043e3fefe..3363308d1 100644 --- a/extensions/app-registry/pkg/server/debug/option.go +++ b/services/storage-shares/pkg/server/debug/option.go @@ -3,8 +3,8 @@ package debug import ( "context" - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/config" ) // Option defines a single option function. diff --git a/extensions/app-registry/pkg/server/debug/server.go b/services/storage-shares/pkg/server/debug/server.go similarity index 96% rename from extensions/app-registry/pkg/server/debug/server.go rename to services/storage-shares/pkg/server/debug/server.go index 82ffa38ad..159b70fdb 100644 --- a/extensions/app-registry/pkg/server/debug/server.go +++ b/services/storage-shares/pkg/server/debug/server.go @@ -4,9 +4,9 @@ import ( "io" "net/http" - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/config" ) // Server initializes the debug service and server. diff --git a/extensions/app-provider/pkg/tracing/tracing.go b/services/storage-shares/pkg/tracing/tracing.go similarity index 86% rename from extensions/app-provider/pkg/tracing/tracing.go rename to services/storage-shares/pkg/tracing/tracing.go index 0311f3b89..80077224d 100644 --- a/extensions/app-provider/pkg/tracing/tracing.go +++ b/services/storage-shares/pkg/tracing/tracing.go @@ -1,9 +1,9 @@ package tracing import ( - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/config" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/storage-system/Makefile b/services/storage-system/Makefile similarity index 100% rename from extensions/storage-system/Makefile rename to services/storage-system/Makefile diff --git a/extensions/app-registry/cmd/app-registry/main.go b/services/storage-system/cmd/storage-system/main.go similarity index 53% rename from extensions/app-registry/cmd/app-registry/main.go rename to services/storage-system/cmd/storage-system/main.go index 023b61ff4..d9242ea05 100644 --- a/extensions/app-registry/cmd/app-registry/main.go +++ b/services/storage-system/cmd/storage-system/main.go @@ -3,8 +3,8 @@ package main import ( "os" - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/command" - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/command" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/config/defaults" ) func main() { diff --git a/extensions/auth-machine/pkg/command/health.go b/services/storage-system/pkg/command/health.go similarity index 84% rename from extensions/auth-machine/pkg/command/health.go rename to services/storage-system/pkg/command/health.go index 50b886f72..8b5d5e116 100644 --- a/extensions/auth-machine/pkg/command/health.go +++ b/services/storage-system/pkg/command/health.go @@ -4,9 +4,9 @@ import ( "fmt" "net/http" - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/config" - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/logging" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/logging" "github.com/urfave/cli/v2" ) diff --git a/extensions/storage-system/pkg/command/root.go b/services/storage-system/pkg/command/root.go similarity index 95% rename from extensions/storage-system/pkg/command/root.go rename to services/storage-system/pkg/command/root.go index 4cc90487d..8e9847e60 100644 --- a/extensions/storage-system/pkg/command/root.go +++ b/services/storage-system/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/storage-system/pkg/command/server.go b/services/storage-system/pkg/command/server.go similarity index 86% rename from extensions/storage-system/pkg/command/server.go rename to services/storage-system/pkg/command/server.go index 3ece430e4..b06a3ad90 100644 --- a/extensions/storage-system/pkg/command/server.go +++ b/services/storage-system/pkg/command/server.go @@ -9,15 +9,15 @@ import ( "github.com/cs3org/reva/v2/cmd/revad/runtime" "github.com/gofrs/uuid" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/config" - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/revaconfig" - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/service/external" "github.com/owncloud/ocis/v2/ocis-pkg/sync" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/logging" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/revaconfig" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/extensions/app-provider/pkg/command/version.go b/services/storage-system/pkg/command/version.go similarity index 95% rename from extensions/app-provider/pkg/command/version.go rename to services/storage-system/pkg/command/version.go index b65c39ee6..43898d149 100644 --- a/extensions/app-provider/pkg/command/version.go +++ b/services/storage-system/pkg/command/version.go @@ -8,7 +8,7 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/version" tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/storage-system/pkg/config/config.go b/services/storage-system/pkg/config/config.go similarity index 100% rename from extensions/storage-system/pkg/config/config.go rename to services/storage-system/pkg/config/config.go diff --git a/extensions/storage-system/pkg/config/defaults/defaultconfig.go b/services/storage-system/pkg/config/defaults/defaultconfig.go similarity index 97% rename from extensions/storage-system/pkg/config/defaults/defaultconfig.go rename to services/storage-system/pkg/config/defaults/defaultconfig.go index b6825d980..f5daefdfa 100644 --- a/extensions/storage-system/pkg/config/defaults/defaultconfig.go +++ b/services/storage-system/pkg/config/defaults/defaultconfig.go @@ -3,8 +3,8 @@ package defaults import ( "path/filepath" - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/storage-system/pkg/config/parser/parse.go b/services/storage-system/pkg/config/parser/parse.go similarity index 88% rename from extensions/storage-system/pkg/config/parser/parse.go rename to services/storage-system/pkg/config/parser/parse.go index bb110555b..ce706ed67 100644 --- a/extensions/storage-system/pkg/config/parser/parse.go +++ b/services/storage-system/pkg/config/parser/parse.go @@ -3,10 +3,10 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/config" - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/storage-system/pkg/config/reva.go b/services/storage-system/pkg/config/reva.go similarity index 100% rename from extensions/storage-system/pkg/config/reva.go rename to services/storage-system/pkg/config/reva.go diff --git a/extensions/app-provider/pkg/logging/logging.go b/services/storage-system/pkg/logging/logging.go similarity index 84% rename from extensions/app-provider/pkg/logging/logging.go rename to services/storage-system/pkg/logging/logging.go index 5bd741e06..f2419085e 100644 --- a/extensions/app-provider/pkg/logging/logging.go +++ b/services/storage-system/pkg/logging/logging.go @@ -1,8 +1,8 @@ package logging import ( - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/config" ) // LoggerFromConfig initializes a service-specific logger instance. diff --git a/extensions/storage-system/pkg/revaconfig/config.go b/services/storage-system/pkg/revaconfig/config.go similarity index 98% rename from extensions/storage-system/pkg/revaconfig/config.go rename to services/storage-system/pkg/revaconfig/config.go index f9b2c327e..99e50e562 100644 --- a/extensions/storage-system/pkg/revaconfig/config.go +++ b/services/storage-system/pkg/revaconfig/config.go @@ -2,7 +2,7 @@ package revaconfig import ( userpb "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1" - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/config" ) // StorageSystemFromStruct will adapt an oCIS config struct into a reva mapstructure to start a reva service. diff --git a/extensions/auth-machine/pkg/server/debug/option.go b/services/storage-system/pkg/server/debug/option.go similarity index 93% rename from extensions/auth-machine/pkg/server/debug/option.go rename to services/storage-system/pkg/server/debug/option.go index 057a52990..e0b164377 100644 --- a/extensions/auth-machine/pkg/server/debug/option.go +++ b/services/storage-system/pkg/server/debug/option.go @@ -3,8 +3,8 @@ package debug import ( "context" - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/config" ) // Option defines a single option function. diff --git a/extensions/auth-machine/pkg/server/debug/server.go b/services/storage-system/pkg/server/debug/server.go similarity index 96% rename from extensions/auth-machine/pkg/server/debug/server.go rename to services/storage-system/pkg/server/debug/server.go index 7812ed6de..0c83d7742 100644 --- a/extensions/auth-machine/pkg/server/debug/server.go +++ b/services/storage-system/pkg/server/debug/server.go @@ -4,9 +4,9 @@ import ( "io" "net/http" - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/config" ) // Server initializes the debug service and server. diff --git a/extensions/auth-machine/pkg/tracing/tracing.go b/services/storage-system/pkg/tracing/tracing.go similarity index 86% rename from extensions/auth-machine/pkg/tracing/tracing.go rename to services/storage-system/pkg/tracing/tracing.go index 49a7a96af..531ef376a 100644 --- a/extensions/auth-machine/pkg/tracing/tracing.go +++ b/services/storage-system/pkg/tracing/tracing.go @@ -1,9 +1,9 @@ package tracing import ( - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/config" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/storage-users/Makefile b/services/storage-users/Makefile similarity index 100% rename from extensions/storage-users/Makefile rename to services/storage-users/Makefile diff --git a/services/storage-users/cmd/storage-users/main.go b/services/storage-users/cmd/storage-users/main.go new file mode 100644 index 000000000..c3c7bc7e3 --- /dev/null +++ b/services/storage-users/cmd/storage-users/main.go @@ -0,0 +1,14 @@ +package main + +import ( + "os" + + "github.com/owncloud/ocis/v2/services/storage-users/pkg/command" + "github.com/owncloud/ocis/v2/services/storage-users/pkg/config/defaults" +) + +func main() { + if err := command.Execute(defaults.DefaultConfig()); err != nil { + os.Exit(1) + } +} diff --git a/extensions/auth-bearer/pkg/command/health.go b/services/storage-users/pkg/command/health.go similarity index 84% rename from extensions/auth-bearer/pkg/command/health.go rename to services/storage-users/pkg/command/health.go index 87cb09913..9dcb45556 100644 --- a/extensions/auth-bearer/pkg/command/health.go +++ b/services/storage-users/pkg/command/health.go @@ -4,9 +4,9 @@ import ( "fmt" "net/http" - "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/config" - "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/logging" + "github.com/owncloud/ocis/v2/services/storage-users/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-users/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/storage-users/pkg/logging" "github.com/urfave/cli/v2" ) diff --git a/extensions/storage-users/pkg/command/root.go b/services/storage-users/pkg/command/root.go similarity index 95% rename from extensions/storage-users/pkg/command/root.go rename to services/storage-users/pkg/command/root.go index 9b2204803..ae9dd94c0 100644 --- a/extensions/storage-users/pkg/command/root.go +++ b/services/storage-users/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/storage-users/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/storage-users/pkg/command/server.go b/services/storage-users/pkg/command/server.go similarity index 85% rename from extensions/storage-users/pkg/command/server.go rename to services/storage-users/pkg/command/server.go index e62f58f5c..7cf8b60a9 100644 --- a/extensions/storage-users/pkg/command/server.go +++ b/services/storage-users/pkg/command/server.go @@ -9,15 +9,15 @@ import ( "github.com/cs3org/reva/v2/cmd/revad/runtime" "github.com/gofrs/uuid" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/config" - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/revaconfig" - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/service/external" "github.com/owncloud/ocis/v2/ocis-pkg/sync" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/storage-users/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-users/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/storage-users/pkg/logging" + "github.com/owncloud/ocis/v2/services/storage-users/pkg/revaconfig" + "github.com/owncloud/ocis/v2/services/storage-users/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/storage-users/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/extensions/auth-bearer/pkg/command/version.go b/services/storage-users/pkg/command/version.go similarity index 95% rename from extensions/auth-bearer/pkg/command/version.go rename to services/storage-users/pkg/command/version.go index ff482957f..153d72e55 100644 --- a/extensions/auth-bearer/pkg/command/version.go +++ b/services/storage-users/pkg/command/version.go @@ -8,7 +8,7 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/version" tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-users/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/storage-users/pkg/config/config.go b/services/storage-users/pkg/config/config.go similarity index 100% rename from extensions/storage-users/pkg/config/config.go rename to services/storage-users/pkg/config/config.go diff --git a/extensions/storage-users/pkg/config/defaults/defaultconfig.go b/services/storage-users/pkg/config/defaults/defaultconfig.go similarity index 98% rename from extensions/storage-users/pkg/config/defaults/defaultconfig.go rename to services/storage-users/pkg/config/defaults/defaultconfig.go index 86fcba158..be958a536 100644 --- a/extensions/storage-users/pkg/config/defaults/defaultconfig.go +++ b/services/storage-users/pkg/config/defaults/defaultconfig.go @@ -3,8 +3,8 @@ package defaults import ( "path/filepath" - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/storage-users/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/auth-bearer/pkg/config/parser/parse.go b/services/storage-users/pkg/config/parser/parse.go similarity index 87% rename from extensions/auth-bearer/pkg/config/parser/parse.go rename to services/storage-users/pkg/config/parser/parse.go index 7ee80bb04..049a504ab 100644 --- a/extensions/auth-bearer/pkg/config/parser/parse.go +++ b/services/storage-users/pkg/config/parser/parse.go @@ -3,10 +3,10 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/config" - "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/storage-users/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-users/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/storage-users/pkg/config/reva.go b/services/storage-users/pkg/config/reva.go similarity index 100% rename from extensions/storage-users/pkg/config/reva.go rename to services/storage-users/pkg/config/reva.go diff --git a/services/storage-users/pkg/logging/logging.go b/services/storage-users/pkg/logging/logging.go new file mode 100644 index 000000000..e0576506b --- /dev/null +++ b/services/storage-users/pkg/logging/logging.go @@ -0,0 +1,17 @@ +package logging + +import ( + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/storage-users/pkg/config" +) + +// LoggerFromConfig initializes a service-specific logger instance. +func Configure(name string, cfg *config.Log) log.Logger { + return log.NewLogger( + log.Name(name), + log.Level(cfg.Level), + log.Pretty(cfg.Pretty), + log.Color(cfg.Color), + log.File(cfg.File), + ) +} diff --git a/extensions/storage-users/pkg/revaconfig/config.go b/services/storage-users/pkg/revaconfig/config.go similarity index 96% rename from extensions/storage-users/pkg/revaconfig/config.go rename to services/storage-users/pkg/revaconfig/config.go index e9a281eea..21ce7f2e7 100644 --- a/extensions/storage-users/pkg/revaconfig/config.go +++ b/services/storage-users/pkg/revaconfig/config.go @@ -1,7 +1,7 @@ package revaconfig import ( - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-users/pkg/config" ) // StorageUsersConfigFromStruct will adapt an oCIS config struct into a reva mapstructure to start a reva service. diff --git a/extensions/storage-users/pkg/revaconfig/user.go b/services/storage-users/pkg/revaconfig/user.go similarity index 98% rename from extensions/storage-users/pkg/revaconfig/user.go rename to services/storage-users/pkg/revaconfig/user.go index 139c47027..ca0660777 100644 --- a/extensions/storage-users/pkg/revaconfig/user.go +++ b/services/storage-users/pkg/revaconfig/user.go @@ -1,6 +1,6 @@ package revaconfig -import "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/config" +import "github.com/owncloud/ocis/v2/services/storage-users/pkg/config" func UserDrivers(cfg *config.Config) map[string]interface{} { return map[string]interface{}{ diff --git a/extensions/auth-bearer/pkg/server/debug/option.go b/services/storage-users/pkg/server/debug/option.go similarity index 93% rename from extensions/auth-bearer/pkg/server/debug/option.go rename to services/storage-users/pkg/server/debug/option.go index 07ec93635..1ef04bc73 100644 --- a/extensions/auth-bearer/pkg/server/debug/option.go +++ b/services/storage-users/pkg/server/debug/option.go @@ -3,8 +3,8 @@ package debug import ( "context" - "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/storage-users/pkg/config" ) // Option defines a single option function. diff --git a/extensions/auth-bearer/pkg/server/debug/server.go b/services/storage-users/pkg/server/debug/server.go similarity index 96% rename from extensions/auth-bearer/pkg/server/debug/server.go rename to services/storage-users/pkg/server/debug/server.go index 32d514073..bad45bf05 100644 --- a/extensions/auth-bearer/pkg/server/debug/server.go +++ b/services/storage-users/pkg/server/debug/server.go @@ -4,9 +4,9 @@ import ( "io" "net/http" - "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/storage-users/pkg/config" ) // Server initializes the debug service and server. diff --git a/extensions/auth-bearer/pkg/tracing/tracing.go b/services/storage-users/pkg/tracing/tracing.go similarity index 86% rename from extensions/auth-bearer/pkg/tracing/tracing.go rename to services/storage-users/pkg/tracing/tracing.go index 67a0dc3f0..8a9fca712 100644 --- a/extensions/auth-bearer/pkg/tracing/tracing.go +++ b/services/storage-users/pkg/tracing/tracing.go @@ -1,9 +1,9 @@ package tracing import ( - "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/storage-users/pkg/config" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/store/.golangci.yaml b/services/store/.golangci.yaml similarity index 100% rename from extensions/store/.golangci.yaml rename to services/store/.golangci.yaml diff --git a/extensions/store/Makefile b/services/store/Makefile similarity index 100% rename from extensions/store/Makefile rename to services/store/Makefile diff --git a/services/store/cmd/store/main.go b/services/store/cmd/store/main.go new file mode 100644 index 000000000..ecf42e819 --- /dev/null +++ b/services/store/cmd/store/main.go @@ -0,0 +1,14 @@ +package main + +import ( + "os" + + "github.com/owncloud/ocis/v2/services/store/pkg/command" + "github.com/owncloud/ocis/v2/services/store/pkg/config/defaults" +) + +func main() { + if err := command.Execute(defaults.DefaultConfig()); err != nil { + os.Exit(1) + } +} diff --git a/extensions/store/docker/Dockerfile.linux.amd64 b/services/store/docker/Dockerfile.linux.amd64 similarity index 100% rename from extensions/store/docker/Dockerfile.linux.amd64 rename to services/store/docker/Dockerfile.linux.amd64 diff --git a/extensions/store/docker/Dockerfile.linux.arm b/services/store/docker/Dockerfile.linux.arm similarity index 100% rename from extensions/store/docker/Dockerfile.linux.arm rename to services/store/docker/Dockerfile.linux.arm diff --git a/extensions/store/docker/Dockerfile.linux.arm64 b/services/store/docker/Dockerfile.linux.arm64 similarity index 100% rename from extensions/store/docker/Dockerfile.linux.arm64 rename to services/store/docker/Dockerfile.linux.arm64 diff --git a/extensions/store/docker/manifest.tmpl b/services/store/docker/manifest.tmpl similarity index 100% rename from extensions/store/docker/manifest.tmpl rename to services/store/docker/manifest.tmpl diff --git a/services/store/pkg/command/health.go b/services/store/pkg/command/health.go new file mode 100644 index 000000000..e08ec2c78 --- /dev/null +++ b/services/store/pkg/command/health.go @@ -0,0 +1,57 @@ +package command + +import ( + "fmt" + "net/http" + + "github.com/owncloud/ocis/v2/services/store/pkg/config" + "github.com/owncloud/ocis/v2/services/store/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/store/pkg/logging" + "github.com/urfave/cli/v2" +) + +// Health is the entrypoint for the health command. +func Health(cfg *config.Config) *cli.Command { + return &cli.Command{ + Name: "health", + Usage: "check health status", + Category: "info", + Before: func(c *cli.Context) error { + err := parser.ParseConfig(cfg) + if err != nil { + fmt.Printf("%v", err) + } + return err + }, + Action: func(c *cli.Context) error { + logger := logging.Configure(cfg.Service.Name, cfg.Log) + + resp, err := http.Get( + fmt.Sprintf( + "http://%s/healthz", + cfg.Debug.Addr, + ), + ) + + if err != nil { + logger.Fatal(). + Err(err). + Msg("Failed to request health check") + } + + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + logger.Fatal(). + Int("code", resp.StatusCode). + Msg("Health seems to be in bad state") + } + + logger.Debug(). + Int("code", resp.StatusCode). + Msg("Health got a good state") + + return nil + }, + } +} diff --git a/extensions/store/pkg/command/root.go b/services/store/pkg/command/root.go similarity index 91% rename from extensions/store/pkg/command/root.go rename to services/store/pkg/command/root.go index 2d9a1d288..5396b1103 100644 --- a/extensions/store/pkg/command/root.go +++ b/services/store/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/store/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/store/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) @@ -29,7 +29,7 @@ func GetCommands(cfg *config.Config) cli.Commands { func Execute(cfg *config.Config) error { app := clihelper.DefaultApp(&cli.App{ Name: "store", - Usage: "Service to store values for ocis extensions", + Usage: "Service to store values for ocis services", Commands: GetCommands(cfg), }) diff --git a/extensions/store/pkg/command/server.go b/services/store/pkg/command/server.go similarity index 80% rename from extensions/store/pkg/command/server.go rename to services/store/pkg/command/server.go index a69740865..8b08d7a4e 100644 --- a/extensions/store/pkg/command/server.go +++ b/services/store/pkg/command/server.go @@ -7,14 +7,14 @@ import ( "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/store/pkg/config" - "github.com/owncloud/ocis/v2/extensions/store/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/store/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/store/pkg/metrics" - "github.com/owncloud/ocis/v2/extensions/store/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/store/pkg/server/grpc" - "github.com/owncloud/ocis/v2/extensions/store/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/store/pkg/config" + "github.com/owncloud/ocis/v2/services/store/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/store/pkg/logging" + "github.com/owncloud/ocis/v2/services/store/pkg/metrics" + "github.com/owncloud/ocis/v2/services/store/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/store/pkg/server/grpc" + "github.com/owncloud/ocis/v2/services/store/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/services/store/pkg/command/version.go b/services/store/pkg/command/version.go new file mode 100644 index 000000000..b1cfe5742 --- /dev/null +++ b/services/store/pkg/command/version.go @@ -0,0 +1,50 @@ +package command + +import ( + "fmt" + "os" + + "github.com/owncloud/ocis/v2/ocis-pkg/registry" + "github.com/owncloud/ocis/v2/ocis-pkg/version" + + tw "github.com/olekukonko/tablewriter" + "github.com/owncloud/ocis/v2/services/store/pkg/config" + "github.com/urfave/cli/v2" +) + +// Version prints the service versions of all running instances. +func Version(cfg *config.Config) *cli.Command { + return &cli.Command{ + Name: "version", + Usage: "print the version of this binary and the running extension instances", + Category: "info", + Action: func(c *cli.Context) error { + fmt.Println("Version: " + version.GetString()) + fmt.Printf("Compiled: %s\n", version.Compiled()) + fmt.Println("") + + reg := registry.GetRegistry() + services, err := reg.GetService(cfg.GRPC.Namespace + "." + cfg.Service.Name) + if err != nil { + fmt.Println(fmt.Errorf("could not get %s services from the registry: %v", cfg.Service.Name, err)) + return err + } + + if len(services) == 0 { + fmt.Println("No running " + cfg.Service.Name + " service found.") + return nil + } + + table := tw.NewWriter(os.Stdout) + table.SetHeader([]string{"Version", "Address", "Id"}) + table.SetAutoFormatHeaders(false) + for _, s := range services { + for _, n := range s.Nodes { + table.Append([]string{s.Version, n.Address, n.Id}) + } + } + table.Render() + return nil + }, + } +} diff --git a/extensions/store/pkg/config/config.go b/services/store/pkg/config/config.go similarity index 100% rename from extensions/store/pkg/config/config.go rename to services/store/pkg/config/config.go diff --git a/extensions/store/pkg/config/debug.go b/services/store/pkg/config/debug.go similarity index 100% rename from extensions/store/pkg/config/debug.go rename to services/store/pkg/config/debug.go diff --git a/extensions/store/pkg/config/defaults/defaultconfig.go b/services/store/pkg/config/defaults/defaultconfig.go similarity index 96% rename from extensions/store/pkg/config/defaults/defaultconfig.go rename to services/store/pkg/config/defaults/defaultconfig.go index 3f765cda5..1755b8111 100644 --- a/extensions/store/pkg/config/defaults/defaultconfig.go +++ b/services/store/pkg/config/defaults/defaultconfig.go @@ -3,8 +3,8 @@ package defaults import ( "path" - "github.com/owncloud/ocis/v2/extensions/store/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/store/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/store/pkg/config/grpc.go b/services/store/pkg/config/grpc.go similarity index 100% rename from extensions/store/pkg/config/grpc.go rename to services/store/pkg/config/grpc.go diff --git a/extensions/store/pkg/config/log.go b/services/store/pkg/config/log.go similarity index 100% rename from extensions/store/pkg/config/log.go rename to services/store/pkg/config/log.go diff --git a/extensions/store/pkg/config/parser/parse.go b/services/store/pkg/config/parser/parse.go similarity index 85% rename from extensions/store/pkg/config/parser/parse.go rename to services/store/pkg/config/parser/parse.go index 2729c98a1..5fb6a3c55 100644 --- a/extensions/store/pkg/config/parser/parse.go +++ b/services/store/pkg/config/parser/parse.go @@ -3,9 +3,9 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/store/pkg/config" - "github.com/owncloud/ocis/v2/extensions/store/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/store/pkg/config" + "github.com/owncloud/ocis/v2/services/store/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/store/pkg/config/service.go b/services/store/pkg/config/service.go similarity index 100% rename from extensions/store/pkg/config/service.go rename to services/store/pkg/config/service.go diff --git a/extensions/store/pkg/config/tracing.go b/services/store/pkg/config/tracing.go similarity index 100% rename from extensions/store/pkg/config/tracing.go rename to services/store/pkg/config/tracing.go diff --git a/services/store/pkg/logging/logging.go b/services/store/pkg/logging/logging.go new file mode 100644 index 000000000..13fcd3705 --- /dev/null +++ b/services/store/pkg/logging/logging.go @@ -0,0 +1,17 @@ +package logging + +import ( + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/store/pkg/config" +) + +// LoggerFromConfig initializes a service-specific logger instance. +func Configure(name string, cfg *config.Log) log.Logger { + return log.NewLogger( + log.Name(name), + log.Level(cfg.Level), + log.Pretty(cfg.Pretty), + log.Color(cfg.Color), + log.File(cfg.File), + ) +} diff --git a/extensions/store/pkg/metrics/metrics.go b/services/store/pkg/metrics/metrics.go similarity index 100% rename from extensions/store/pkg/metrics/metrics.go rename to services/store/pkg/metrics/metrics.go diff --git a/services/store/pkg/server/debug/option.go b/services/store/pkg/server/debug/option.go new file mode 100644 index 000000000..1613a3ef8 --- /dev/null +++ b/services/store/pkg/server/debug/option.go @@ -0,0 +1,50 @@ +package debug + +import ( + "context" + + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/store/pkg/config" +) + +// Option defines a single option function. +type Option func(o *Options) + +// Options defines the available options for this package. +type Options struct { + Logger log.Logger + Context context.Context + Config *config.Config +} + +// newOptions initializes the available default options. +func newOptions(opts ...Option) Options { + opt := Options{} + + for _, o := range opts { + o(&opt) + } + + return opt +} + +// Logger provides a function to set the logger option. +func Logger(val log.Logger) Option { + return func(o *Options) { + o.Logger = val + } +} + +// Context provides a function to set the context option. +func Context(val context.Context) Option { + return func(o *Options) { + o.Context = val + } +} + +// Config provides a function to set the config option. +func Config(val *config.Config) Option { + return func(o *Options) { + o.Config = val + } +} diff --git a/extensions/store/pkg/server/debug/server.go b/services/store/pkg/server/debug/server.go similarity index 96% rename from extensions/store/pkg/server/debug/server.go rename to services/store/pkg/server/debug/server.go index e5f4e4416..09507ef0d 100644 --- a/extensions/store/pkg/server/debug/server.go +++ b/services/store/pkg/server/debug/server.go @@ -4,9 +4,9 @@ import ( "io" "net/http" - "github.com/owncloud/ocis/v2/extensions/store/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/store/pkg/config" ) // Server initializes the debug service and server. diff --git a/extensions/store/pkg/server/grpc/option.go b/services/store/pkg/server/grpc/option.go similarity index 92% rename from extensions/store/pkg/server/grpc/option.go rename to services/store/pkg/server/grpc/option.go index 2e3813dd4..dc8e16843 100644 --- a/extensions/store/pkg/server/grpc/option.go +++ b/services/store/pkg/server/grpc/option.go @@ -3,9 +3,9 @@ package grpc import ( "context" - "github.com/owncloud/ocis/v2/extensions/store/pkg/config" - "github.com/owncloud/ocis/v2/extensions/store/pkg/metrics" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/store/pkg/config" + "github.com/owncloud/ocis/v2/services/store/pkg/metrics" "github.com/urfave/cli/v2" ) diff --git a/extensions/store/pkg/server/grpc/server.go b/services/store/pkg/server/grpc/server.go similarity index 93% rename from extensions/store/pkg/server/grpc/server.go rename to services/store/pkg/server/grpc/server.go index 2d7e918cb..0a3de8549 100644 --- a/extensions/store/pkg/server/grpc/server.go +++ b/services/store/pkg/server/grpc/server.go @@ -1,10 +1,10 @@ package grpc import ( - svc "github.com/owncloud/ocis/v2/extensions/store/pkg/service/v0" "github.com/owncloud/ocis/v2/ocis-pkg/service/grpc" "github.com/owncloud/ocis/v2/ocis-pkg/version" storesvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/store/v0" + svc "github.com/owncloud/ocis/v2/services/store/pkg/service/v0" ) // Server initializes a new go-micro service ready to run diff --git a/extensions/store/pkg/service/v0/option.go b/services/store/pkg/service/v0/option.go similarity index 94% rename from extensions/store/pkg/service/v0/option.go rename to services/store/pkg/service/v0/option.go index 7cd8f7078..46bea7899 100644 --- a/extensions/store/pkg/service/v0/option.go +++ b/services/store/pkg/service/v0/option.go @@ -1,8 +1,8 @@ package service import ( - "github.com/owncloud/ocis/v2/extensions/store/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/store/pkg/config" ) // Option defines a single option function. diff --git a/extensions/store/pkg/service/v0/service.go b/services/store/pkg/service/v0/service.go similarity index 99% rename from extensions/store/pkg/service/v0/service.go rename to services/store/pkg/service/v0/service.go index 50919c2f0..57499d89f 100644 --- a/extensions/store/pkg/service/v0/service.go +++ b/services/store/pkg/service/v0/service.go @@ -9,10 +9,10 @@ import ( "github.com/blevesearch/bleve/v2" "github.com/blevesearch/bleve/v2/analysis/analyzer/keyword" - "github.com/owncloud/ocis/v2/extensions/store/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" storemsg "github.com/owncloud/ocis/v2/protogen/gen/ocis/messages/store/v0" storesvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/store/v0" + "github.com/owncloud/ocis/v2/services/store/pkg/config" merrors "go-micro.dev/v4/errors" "google.golang.org/protobuf/encoding/protojson" ) diff --git a/extensions/store/pkg/tracing/tracing.go b/services/store/pkg/tracing/tracing.go similarity index 89% rename from extensions/store/pkg/tracing/tracing.go rename to services/store/pkg/tracing/tracing.go index 4bb2401ad..6e6e70526 100644 --- a/extensions/store/pkg/tracing/tracing.go +++ b/services/store/pkg/tracing/tracing.go @@ -1,8 +1,8 @@ package tracing import ( - "github.com/owncloud/ocis/v2/extensions/store/pkg/config" pkgtrace "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/store/pkg/config" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/store/reflex.conf b/services/store/reflex.conf similarity index 100% rename from extensions/store/reflex.conf rename to services/store/reflex.conf diff --git a/extensions/thumbnails/Makefile b/services/thumbnails/Makefile similarity index 100% rename from extensions/thumbnails/Makefile rename to services/thumbnails/Makefile diff --git a/extensions/frontend/cmd/frontend/main.go b/services/thumbnails/cmd/thumbnails/main.go similarity index 52% rename from extensions/frontend/cmd/frontend/main.go rename to services/thumbnails/cmd/thumbnails/main.go index 9fdc69192..f0a86f58b 100644 --- a/extensions/frontend/cmd/frontend/main.go +++ b/services/thumbnails/cmd/thumbnails/main.go @@ -3,8 +3,8 @@ package main import ( "os" - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/command" - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/command" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config/defaults" ) func main() { diff --git a/extensions/thumbnails/docker/Dockerfile.linux.amd64 b/services/thumbnails/docker/Dockerfile.linux.amd64 similarity index 100% rename from extensions/thumbnails/docker/Dockerfile.linux.amd64 rename to services/thumbnails/docker/Dockerfile.linux.amd64 diff --git a/extensions/thumbnails/docker/Dockerfile.linux.arm b/services/thumbnails/docker/Dockerfile.linux.arm similarity index 100% rename from extensions/thumbnails/docker/Dockerfile.linux.arm rename to services/thumbnails/docker/Dockerfile.linux.arm diff --git a/extensions/thumbnails/docker/Dockerfile.linux.arm64 b/services/thumbnails/docker/Dockerfile.linux.arm64 similarity index 100% rename from extensions/thumbnails/docker/Dockerfile.linux.arm64 rename to services/thumbnails/docker/Dockerfile.linux.arm64 diff --git a/extensions/thumbnails/docker/manifest.tmpl b/services/thumbnails/docker/manifest.tmpl similarity index 100% rename from extensions/thumbnails/docker/manifest.tmpl rename to services/thumbnails/docker/manifest.tmpl diff --git a/extensions/gateway/pkg/command/health.go b/services/thumbnails/pkg/command/health.go similarity index 83% rename from extensions/gateway/pkg/command/health.go rename to services/thumbnails/pkg/command/health.go index 9ff7965c7..d8e1210b0 100644 --- a/extensions/gateway/pkg/command/health.go +++ b/services/thumbnails/pkg/command/health.go @@ -4,9 +4,9 @@ import ( "fmt" "net/http" - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/config" - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/logging" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/logging" "github.com/urfave/cli/v2" ) diff --git a/extensions/thumbnails/pkg/command/root.go b/services/thumbnails/pkg/command/root.go similarity index 95% rename from extensions/thumbnails/pkg/command/root.go rename to services/thumbnails/pkg/command/root.go index f270959d2..efa87a675 100644 --- a/extensions/thumbnails/pkg/command/root.go +++ b/services/thumbnails/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/thumbnails/pkg/command/server.go b/services/thumbnails/pkg/command/server.go similarity index 80% rename from extensions/thumbnails/pkg/command/server.go rename to services/thumbnails/pkg/command/server.go index 85efcc7f7..7f8392c7f 100644 --- a/extensions/thumbnails/pkg/command/server.go +++ b/services/thumbnails/pkg/command/server.go @@ -6,15 +6,15 @@ import ( "os" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/metrics" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/server/grpc" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/server/http" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/logging" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/metrics" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/server/grpc" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/server/http" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/extensions/gateway/pkg/command/version.go b/services/thumbnails/pkg/command/version.go similarity index 95% rename from extensions/gateway/pkg/command/version.go rename to services/thumbnails/pkg/command/version.go index 7fd1d3afc..5b893a897 100644 --- a/extensions/gateway/pkg/command/version.go +++ b/services/thumbnails/pkg/command/version.go @@ -8,7 +8,7 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/version" tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/config" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/thumbnails/pkg/config/config.go b/services/thumbnails/pkg/config/config.go similarity index 100% rename from extensions/thumbnails/pkg/config/config.go rename to services/thumbnails/pkg/config/config.go diff --git a/extensions/thumbnails/pkg/config/debug.go b/services/thumbnails/pkg/config/debug.go similarity index 100% rename from extensions/thumbnails/pkg/config/debug.go rename to services/thumbnails/pkg/config/debug.go diff --git a/extensions/thumbnails/pkg/config/defaults/defaultconfig.go b/services/thumbnails/pkg/config/defaults/defaultconfig.go similarity index 97% rename from extensions/thumbnails/pkg/config/defaults/defaultconfig.go rename to services/thumbnails/pkg/config/defaults/defaultconfig.go index 3a179e0f5..752169b8e 100644 --- a/extensions/thumbnails/pkg/config/defaults/defaultconfig.go +++ b/services/thumbnails/pkg/config/defaults/defaultconfig.go @@ -4,8 +4,8 @@ import ( "path" "strings" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/thumbnails/pkg/config/grpc.go b/services/thumbnails/pkg/config/grpc.go similarity index 100% rename from extensions/thumbnails/pkg/config/grpc.go rename to services/thumbnails/pkg/config/grpc.go diff --git a/extensions/thumbnails/pkg/config/http.go b/services/thumbnails/pkg/config/http.go similarity index 100% rename from extensions/thumbnails/pkg/config/http.go rename to services/thumbnails/pkg/config/http.go diff --git a/extensions/thumbnails/pkg/config/log.go b/services/thumbnails/pkg/config/log.go similarity index 100% rename from extensions/thumbnails/pkg/config/log.go rename to services/thumbnails/pkg/config/log.go diff --git a/extensions/thumbnails/pkg/config/parser/parse.go b/services/thumbnails/pkg/config/parser/parse.go similarity index 85% rename from extensions/thumbnails/pkg/config/parser/parse.go rename to services/thumbnails/pkg/config/parser/parse.go index 0a36b2a32..020c13747 100644 --- a/extensions/thumbnails/pkg/config/parser/parse.go +++ b/services/thumbnails/pkg/config/parser/parse.go @@ -3,9 +3,9 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/thumbnails/pkg/config/service.go b/services/thumbnails/pkg/config/service.go similarity index 100% rename from extensions/thumbnails/pkg/config/service.go rename to services/thumbnails/pkg/config/service.go diff --git a/extensions/thumbnails/pkg/config/tracing.go b/services/thumbnails/pkg/config/tracing.go similarity index 100% rename from extensions/thumbnails/pkg/config/tracing.go rename to services/thumbnails/pkg/config/tracing.go diff --git a/extensions/frontend/pkg/logging/logging.go b/services/thumbnails/pkg/logging/logging.go similarity index 84% rename from extensions/frontend/pkg/logging/logging.go rename to services/thumbnails/pkg/logging/logging.go index 20dc29549..86405182a 100644 --- a/extensions/frontend/pkg/logging/logging.go +++ b/services/thumbnails/pkg/logging/logging.go @@ -1,8 +1,8 @@ package logging import ( - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config" ) // LoggerFromConfig initializes a service-specific logger instance. diff --git a/extensions/thumbnails/pkg/metrics/metrics.go b/services/thumbnails/pkg/metrics/metrics.go similarity index 100% rename from extensions/thumbnails/pkg/metrics/metrics.go rename to services/thumbnails/pkg/metrics/metrics.go diff --git a/extensions/thumbnails/pkg/preprocessor/fontloader.go b/services/thumbnails/pkg/preprocessor/fontloader.go similarity index 100% rename from extensions/thumbnails/pkg/preprocessor/fontloader.go rename to services/thumbnails/pkg/preprocessor/fontloader.go diff --git a/extensions/thumbnails/pkg/preprocessor/preprocessor.go b/services/thumbnails/pkg/preprocessor/preprocessor.go similarity index 100% rename from extensions/thumbnails/pkg/preprocessor/preprocessor.go rename to services/thumbnails/pkg/preprocessor/preprocessor.go diff --git a/extensions/thumbnails/pkg/preprocessor/textanalyzer.go b/services/thumbnails/pkg/preprocessor/textanalyzer.go similarity index 100% rename from extensions/thumbnails/pkg/preprocessor/textanalyzer.go rename to services/thumbnails/pkg/preprocessor/textanalyzer.go diff --git a/extensions/thumbnails/pkg/preprocessor/textanalyzer_test.go b/services/thumbnails/pkg/preprocessor/textanalyzer_test.go similarity index 100% rename from extensions/thumbnails/pkg/preprocessor/textanalyzer_test.go rename to services/thumbnails/pkg/preprocessor/textanalyzer_test.go diff --git a/extensions/thumbnails/pkg/server/debug/option.go b/services/thumbnails/pkg/server/debug/option.go similarity index 92% rename from extensions/thumbnails/pkg/server/debug/option.go rename to services/thumbnails/pkg/server/debug/option.go index dfced5ae6..534a47f1c 100644 --- a/extensions/thumbnails/pkg/server/debug/option.go +++ b/services/thumbnails/pkg/server/debug/option.go @@ -1,8 +1,8 @@ package debug import ( - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config" ) // Option defines a single option function. diff --git a/extensions/search/pkg/server/debug/server.go b/services/thumbnails/pkg/server/debug/server.go similarity index 96% rename from extensions/search/pkg/server/debug/server.go rename to services/thumbnails/pkg/server/debug/server.go index 43d2caeee..3a1ddcea7 100644 --- a/extensions/search/pkg/server/debug/server.go +++ b/services/thumbnails/pkg/server/debug/server.go @@ -4,9 +4,9 @@ import ( "io" "net/http" - "github.com/owncloud/ocis/v2/extensions/search/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config" ) // Server initializes the debug service and server. diff --git a/extensions/thumbnails/pkg/server/grpc/option.go b/services/thumbnails/pkg/server/grpc/option.go similarity index 93% rename from extensions/thumbnails/pkg/server/grpc/option.go rename to services/thumbnails/pkg/server/grpc/option.go index c5cd4f3e3..ede5c1207 100644 --- a/extensions/thumbnails/pkg/server/grpc/option.go +++ b/services/thumbnails/pkg/server/grpc/option.go @@ -3,9 +3,9 @@ package grpc import ( "context" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/metrics" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/metrics" "github.com/urfave/cli/v2" ) diff --git a/extensions/thumbnails/pkg/server/grpc/server.go b/services/thumbnails/pkg/server/grpc/server.go similarity index 83% rename from extensions/thumbnails/pkg/server/grpc/server.go rename to services/thumbnails/pkg/server/grpc/server.go index 1eee17df2..9f78524f0 100644 --- a/extensions/thumbnails/pkg/server/grpc/server.go +++ b/services/thumbnails/pkg/server/grpc/server.go @@ -2,13 +2,13 @@ package grpc import ( "github.com/cs3org/reva/v2/pkg/rgrpc/todo/pool" - svc "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/service/grpc/v0" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/service/grpc/v0/decorators" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/thumbnail/imgsource" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/thumbnail/storage" "github.com/owncloud/ocis/v2/ocis-pkg/service/grpc" "github.com/owncloud/ocis/v2/ocis-pkg/version" thumbnailssvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/thumbnails/v0" + svc "github.com/owncloud/ocis/v2/services/thumbnails/pkg/service/grpc/v0" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/service/grpc/v0/decorators" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/thumbnail/imgsource" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/thumbnail/storage" ) // NewService initializes the grpc service and server. diff --git a/extensions/thumbnails/pkg/server/http/option.go b/services/thumbnails/pkg/server/http/option.go similarity index 91% rename from extensions/thumbnails/pkg/server/http/option.go rename to services/thumbnails/pkg/server/http/option.go index 5cdd52aa8..6cb7020ee 100644 --- a/extensions/thumbnails/pkg/server/http/option.go +++ b/services/thumbnails/pkg/server/http/option.go @@ -3,9 +3,9 @@ package http import ( "context" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/metrics" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/metrics" "github.com/urfave/cli/v2" ) diff --git a/extensions/thumbnails/pkg/server/http/server.go b/services/thumbnails/pkg/server/http/server.go similarity index 90% rename from extensions/thumbnails/pkg/server/http/server.go rename to services/thumbnails/pkg/server/http/server.go index 540dce155..7f03f4080 100644 --- a/extensions/thumbnails/pkg/server/http/server.go +++ b/services/thumbnails/pkg/server/http/server.go @@ -2,11 +2,11 @@ package http import ( "github.com/go-chi/chi/v5/middleware" - svc "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/service/http/v0" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/thumbnail/storage" ocismiddleware "github.com/owncloud/ocis/v2/ocis-pkg/middleware" "github.com/owncloud/ocis/v2/ocis-pkg/service/http" "github.com/owncloud/ocis/v2/ocis-pkg/version" + svc "github.com/owncloud/ocis/v2/services/thumbnails/pkg/service/http/v0" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/thumbnail/storage" "go-micro.dev/v4" ) diff --git a/extensions/thumbnails/pkg/service/grpc/v0/decorators/base.go b/services/thumbnails/pkg/service/grpc/v0/decorators/base.go similarity index 100% rename from extensions/thumbnails/pkg/service/grpc/v0/decorators/base.go rename to services/thumbnails/pkg/service/grpc/v0/decorators/base.go diff --git a/extensions/thumbnails/pkg/service/grpc/v0/decorators/instrument.go b/services/thumbnails/pkg/service/grpc/v0/decorators/instrument.go similarity index 94% rename from extensions/thumbnails/pkg/service/grpc/v0/decorators/instrument.go rename to services/thumbnails/pkg/service/grpc/v0/decorators/instrument.go index df1359417..66f481ee1 100644 --- a/extensions/thumbnails/pkg/service/grpc/v0/decorators/instrument.go +++ b/services/thumbnails/pkg/service/grpc/v0/decorators/instrument.go @@ -3,8 +3,8 @@ package decorators import ( "context" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/metrics" thumbnailssvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/thumbnails/v0" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/metrics" "github.com/prometheus/client_golang/prometheus" ) diff --git a/extensions/thumbnails/pkg/service/grpc/v0/decorators/logging.go b/services/thumbnails/pkg/service/grpc/v0/decorators/logging.go similarity index 100% rename from extensions/thumbnails/pkg/service/grpc/v0/decorators/logging.go rename to services/thumbnails/pkg/service/grpc/v0/decorators/logging.go diff --git a/extensions/thumbnails/pkg/service/grpc/v0/decorators/tracing.go b/services/thumbnails/pkg/service/grpc/v0/decorators/tracing.go similarity index 93% rename from extensions/thumbnails/pkg/service/grpc/v0/decorators/tracing.go rename to services/thumbnails/pkg/service/grpc/v0/decorators/tracing.go index 1f5f24dc2..d19828a70 100644 --- a/extensions/thumbnails/pkg/service/grpc/v0/decorators/tracing.go +++ b/services/thumbnails/pkg/service/grpc/v0/decorators/tracing.go @@ -5,8 +5,8 @@ import ( "go.opentelemetry.io/otel/trace" - thumbnailsTracing "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/tracing" thumbnailssvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/thumbnails/v0" + thumbnailsTracing "github.com/owncloud/ocis/v2/services/thumbnails/pkg/tracing" "go.opentelemetry.io/otel/attribute" ) diff --git a/extensions/thumbnails/pkg/service/grpc/v0/option.go b/services/thumbnails/pkg/service/grpc/v0/option.go similarity index 89% rename from extensions/thumbnails/pkg/service/grpc/v0/option.go rename to services/thumbnails/pkg/service/grpc/v0/option.go index e62d96133..19b341c58 100644 --- a/extensions/thumbnails/pkg/service/grpc/v0/option.go +++ b/services/thumbnails/pkg/service/grpc/v0/option.go @@ -5,10 +5,10 @@ import ( gateway "github.com/cs3org/go-cs3apis/cs3/gateway/v1beta1" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/thumbnail/imgsource" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/thumbnail/storage" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/thumbnail/imgsource" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/thumbnail/storage" ) // Option defines a single option function. diff --git a/extensions/thumbnails/pkg/service/grpc/v0/service.go b/services/thumbnails/pkg/service/grpc/v0/service.go similarity index 96% rename from extensions/thumbnails/pkg/service/grpc/v0/service.go rename to services/thumbnails/pkg/service/grpc/v0/service.go index ba6c35f92..e6cc0cac5 100644 --- a/extensions/thumbnails/pkg/service/grpc/v0/service.go +++ b/services/thumbnails/pkg/service/grpc/v0/service.go @@ -14,14 +14,14 @@ import ( revactx "github.com/cs3org/reva/v2/pkg/ctx" "github.com/cs3org/reva/v2/pkg/storagespace" "github.com/golang-jwt/jwt/v4" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/preprocessor" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/service/grpc/v0/decorators" - tjwt "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/service/jwt" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/thumbnail" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/thumbnail/imgsource" "github.com/owncloud/ocis/v2/ocis-pkg/log" thumbnailsmsg "github.com/owncloud/ocis/v2/protogen/gen/ocis/messages/thumbnails/v0" thumbnailssvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/thumbnails/v0" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/preprocessor" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/service/grpc/v0/decorators" + tjwt "github.com/owncloud/ocis/v2/services/thumbnails/pkg/service/jwt" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/thumbnail" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/thumbnail/imgsource" "github.com/pkg/errors" merrors "go-micro.dev/v4/errors" "google.golang.org/grpc/metadata" diff --git a/extensions/thumbnails/pkg/service/http/v0/instrument.go b/services/thumbnails/pkg/service/http/v0/instrument.go similarity index 90% rename from extensions/thumbnails/pkg/service/http/v0/instrument.go rename to services/thumbnails/pkg/service/http/v0/instrument.go index 259a5dc4d..91fc4f9a6 100644 --- a/extensions/thumbnails/pkg/service/http/v0/instrument.go +++ b/services/thumbnails/pkg/service/http/v0/instrument.go @@ -3,7 +3,7 @@ package svc import ( "net/http" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/metrics" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/metrics" ) // NewInstrument returns a service that instruments metrics. diff --git a/extensions/thumbnails/pkg/service/http/v0/logging.go b/services/thumbnails/pkg/service/http/v0/logging.go similarity index 100% rename from extensions/thumbnails/pkg/service/http/v0/logging.go rename to services/thumbnails/pkg/service/http/v0/logging.go diff --git a/extensions/thumbnails/pkg/service/http/v0/option.go b/services/thumbnails/pkg/service/http/v0/option.go similarity index 89% rename from extensions/thumbnails/pkg/service/http/v0/option.go rename to services/thumbnails/pkg/service/http/v0/option.go index e3535ed66..13f2f52a7 100644 --- a/extensions/thumbnails/pkg/service/http/v0/option.go +++ b/services/thumbnails/pkg/service/http/v0/option.go @@ -3,9 +3,9 @@ package svc import ( "net/http" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/thumbnail/storage" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/thumbnail/storage" ) // Option defines a single option function. diff --git a/extensions/thumbnails/pkg/service/http/v0/service.go b/services/thumbnails/pkg/service/http/v0/service.go similarity index 93% rename from extensions/thumbnails/pkg/service/http/v0/service.go rename to services/thumbnails/pkg/service/http/v0/service.go index b715dddd2..a124ab7e6 100644 --- a/extensions/thumbnails/pkg/service/http/v0/service.go +++ b/services/thumbnails/pkg/service/http/v0/service.go @@ -9,10 +9,10 @@ import ( "github.com/go-chi/chi/v5" "github.com/golang-jwt/jwt/v4" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config" - tjwt "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/service/jwt" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/thumbnail" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config" + tjwt "github.com/owncloud/ocis/v2/services/thumbnails/pkg/service/jwt" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/thumbnail" ) type contextKey string diff --git a/extensions/thumbnails/pkg/service/http/v0/tracing.go b/services/thumbnails/pkg/service/http/v0/tracing.go similarity index 100% rename from extensions/thumbnails/pkg/service/http/v0/tracing.go rename to services/thumbnails/pkg/service/http/v0/tracing.go diff --git a/extensions/thumbnails/pkg/service/jwt/jwt.go b/services/thumbnails/pkg/service/jwt/jwt.go similarity index 100% rename from extensions/thumbnails/pkg/service/jwt/jwt.go rename to services/thumbnails/pkg/service/jwt/jwt.go diff --git a/extensions/thumbnails/pkg/thumbnail/encoding.go b/services/thumbnails/pkg/thumbnail/encoding.go similarity index 100% rename from extensions/thumbnails/pkg/thumbnail/encoding.go rename to services/thumbnails/pkg/thumbnail/encoding.go diff --git a/extensions/thumbnails/pkg/thumbnail/encoding_test.go b/services/thumbnails/pkg/thumbnail/encoding_test.go similarity index 100% rename from extensions/thumbnails/pkg/thumbnail/encoding_test.go rename to services/thumbnails/pkg/thumbnail/encoding_test.go diff --git a/extensions/thumbnails/pkg/thumbnail/generator.go b/services/thumbnails/pkg/thumbnail/generator.go similarity index 100% rename from extensions/thumbnails/pkg/thumbnail/generator.go rename to services/thumbnails/pkg/thumbnail/generator.go diff --git a/extensions/thumbnails/pkg/thumbnail/imgsource/cs3.go b/services/thumbnails/pkg/thumbnail/imgsource/cs3.go similarity index 97% rename from extensions/thumbnails/pkg/thumbnail/imgsource/cs3.go rename to services/thumbnails/pkg/thumbnail/imgsource/cs3.go index 40e9cbd43..b9d46bbea 100644 --- a/extensions/thumbnails/pkg/thumbnail/imgsource/cs3.go +++ b/services/thumbnails/pkg/thumbnail/imgsource/cs3.go @@ -13,7 +13,7 @@ import ( revactx "github.com/cs3org/reva/v2/pkg/ctx" "github.com/cs3org/reva/v2/pkg/rhttp" "github.com/cs3org/reva/v2/pkg/storagespace" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config" "github.com/pkg/errors" "google.golang.org/grpc/metadata" ) diff --git a/extensions/thumbnails/pkg/thumbnail/imgsource/imgsource.go b/services/thumbnails/pkg/thumbnail/imgsource/imgsource.go similarity index 100% rename from extensions/thumbnails/pkg/thumbnail/imgsource/imgsource.go rename to services/thumbnails/pkg/thumbnail/imgsource/imgsource.go diff --git a/extensions/thumbnails/pkg/thumbnail/imgsource/webdav.go b/services/thumbnails/pkg/thumbnail/imgsource/webdav.go similarity index 95% rename from extensions/thumbnails/pkg/thumbnail/imgsource/webdav.go rename to services/thumbnails/pkg/thumbnail/imgsource/webdav.go index 00287d102..3d1edd56f 100644 --- a/extensions/thumbnails/pkg/thumbnail/imgsource/webdav.go +++ b/services/thumbnails/pkg/thumbnail/imgsource/webdav.go @@ -10,7 +10,7 @@ import ( "io" "net/http" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config" "github.com/pkg/errors" ) diff --git a/extensions/thumbnails/pkg/thumbnail/resolutions.go b/services/thumbnails/pkg/thumbnail/resolutions.go similarity index 100% rename from extensions/thumbnails/pkg/thumbnail/resolutions.go rename to services/thumbnails/pkg/thumbnail/resolutions.go diff --git a/extensions/thumbnails/pkg/thumbnail/resolutions_test.go b/services/thumbnails/pkg/thumbnail/resolutions_test.go similarity index 100% rename from extensions/thumbnails/pkg/thumbnail/resolutions_test.go rename to services/thumbnails/pkg/thumbnail/resolutions_test.go diff --git a/extensions/thumbnails/pkg/thumbnail/storage/filesystem.go b/services/thumbnails/pkg/thumbnail/storage/filesystem.go similarity index 97% rename from extensions/thumbnails/pkg/thumbnail/storage/filesystem.go rename to services/thumbnails/pkg/thumbnail/storage/filesystem.go index 4b4d9fc7f..692669d30 100644 --- a/extensions/thumbnails/pkg/thumbnail/storage/filesystem.go +++ b/services/thumbnails/pkg/thumbnail/storage/filesystem.go @@ -6,8 +6,8 @@ import ( "path/filepath" "strconv" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config" "github.com/pkg/errors" ) diff --git a/extensions/thumbnails/pkg/thumbnail/storage/inmemory.go b/services/thumbnails/pkg/thumbnail/storage/inmemory.go similarity index 100% rename from extensions/thumbnails/pkg/thumbnail/storage/inmemory.go rename to services/thumbnails/pkg/thumbnail/storage/inmemory.go diff --git a/extensions/thumbnails/pkg/thumbnail/storage/storage.go b/services/thumbnails/pkg/thumbnail/storage/storage.go similarity index 100% rename from extensions/thumbnails/pkg/thumbnail/storage/storage.go rename to services/thumbnails/pkg/thumbnail/storage/storage.go diff --git a/extensions/thumbnails/pkg/thumbnail/thumbnail.go b/services/thumbnails/pkg/thumbnail/thumbnail.go similarity index 97% rename from extensions/thumbnails/pkg/thumbnail/thumbnail.go rename to services/thumbnails/pkg/thumbnail/thumbnail.go index 6a156410e..c1efbe22e 100644 --- a/extensions/thumbnails/pkg/thumbnail/thumbnail.go +++ b/services/thumbnails/pkg/thumbnail/thumbnail.go @@ -6,8 +6,8 @@ import ( "image/gif" "mime" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/thumbnail/storage" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/thumbnail/storage" ) var ( diff --git a/extensions/thumbnails/pkg/thumbnail/thumbnail_test.go b/services/thumbnails/pkg/thumbnail/thumbnail_test.go similarity index 91% rename from extensions/thumbnails/pkg/thumbnail/thumbnail_test.go rename to services/thumbnails/pkg/thumbnail/thumbnail_test.go index 3b368d12c..cf301a0dd 100644 --- a/extensions/thumbnails/pkg/thumbnail/thumbnail_test.go +++ b/services/thumbnails/pkg/thumbnail/thumbnail_test.go @@ -6,8 +6,8 @@ import ( "path/filepath" "testing" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/thumbnail/storage" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/thumbnail/storage" ) type NoOpManager struct { diff --git a/extensions/thumbnails/pkg/tracing/tracing.go b/services/thumbnails/pkg/tracing/tracing.go similarity index 89% rename from extensions/thumbnails/pkg/tracing/tracing.go rename to services/thumbnails/pkg/tracing/tracing.go index 3b2ea32fb..984cdc95b 100644 --- a/extensions/thumbnails/pkg/tracing/tracing.go +++ b/services/thumbnails/pkg/tracing/tracing.go @@ -1,8 +1,8 @@ package tracing import ( - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config" pkgtrace "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/thumbnails/reflex.conf b/services/thumbnails/reflex.conf similarity index 100% rename from extensions/thumbnails/reflex.conf rename to services/thumbnails/reflex.conf diff --git a/extensions/thumbnails/testdata/oc.png b/services/thumbnails/testdata/oc.png similarity index 100% rename from extensions/thumbnails/testdata/oc.png rename to services/thumbnails/testdata/oc.png diff --git a/extensions/users/Makefile b/services/users/Makefile similarity index 100% rename from extensions/users/Makefile rename to services/users/Makefile diff --git a/services/users/cmd/user/main.go b/services/users/cmd/user/main.go new file mode 100644 index 000000000..cae358d3c --- /dev/null +++ b/services/users/cmd/user/main.go @@ -0,0 +1,14 @@ +package main + +import ( + "os" + + "github.com/owncloud/ocis/v2/services/users/pkg/command" + "github.com/owncloud/ocis/v2/services/users/pkg/config/defaults" +) + +func main() { + if err := command.Execute(defaults.DefaultConfig()); err != nil { + os.Exit(1) + } +} diff --git a/services/users/pkg/command/health.go b/services/users/pkg/command/health.go new file mode 100644 index 000000000..729dcf4d0 --- /dev/null +++ b/services/users/pkg/command/health.go @@ -0,0 +1,57 @@ +package command + +import ( + "fmt" + "net/http" + + "github.com/owncloud/ocis/v2/services/users/pkg/config" + "github.com/owncloud/ocis/v2/services/users/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/users/pkg/logging" + "github.com/urfave/cli/v2" +) + +// Health is the entrypoint for the health command. +func Health(cfg *config.Config) *cli.Command { + return &cli.Command{ + Name: "health", + Usage: "check health status", + Category: "info", + Before: func(c *cli.Context) error { + err := parser.ParseConfig(cfg) + if err != nil { + fmt.Printf("%v", err) + } + return err + }, + Action: func(c *cli.Context) error { + logger := logging.Configure(cfg.Service.Name, cfg.Log) + + resp, err := http.Get( + fmt.Sprintf( + "http://%s/healthz", + cfg.Debug.Addr, + ), + ) + + if err != nil { + logger.Fatal(). + Err(err). + Msg("Failed to request health check") + } + + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + logger.Fatal(). + Int("code", resp.StatusCode). + Msg("Health seems to be in bad state") + } + + logger.Debug(). + Int("code", resp.StatusCode). + Msg("Health got a good state") + + return nil + }, + } +} diff --git a/extensions/users/pkg/command/root.go b/services/users/pkg/command/root.go similarity index 95% rename from extensions/users/pkg/command/root.go rename to services/users/pkg/command/root.go index d88536de4..7ce50ddf0 100644 --- a/extensions/users/pkg/command/root.go +++ b/services/users/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/users/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/users/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/users/pkg/command/server.go b/services/users/pkg/command/server.go similarity index 89% rename from extensions/users/pkg/command/server.go rename to services/users/pkg/command/server.go index bd1db9054..0073a8a63 100644 --- a/extensions/users/pkg/command/server.go +++ b/services/users/pkg/command/server.go @@ -9,16 +9,16 @@ import ( "github.com/cs3org/reva/v2/cmd/revad/runtime" "github.com/gofrs/uuid" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/users/pkg/config" - "github.com/owncloud/ocis/v2/extensions/users/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/users/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/users/pkg/revaconfig" - "github.com/owncloud/ocis/v2/extensions/users/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/users/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/ldap" "github.com/owncloud/ocis/v2/ocis-pkg/service/external" "github.com/owncloud/ocis/v2/ocis-pkg/sync" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/users/pkg/config" + "github.com/owncloud/ocis/v2/services/users/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/users/pkg/logging" + "github.com/owncloud/ocis/v2/services/users/pkg/revaconfig" + "github.com/owncloud/ocis/v2/services/users/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/users/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/services/users/pkg/command/version.go b/services/users/pkg/command/version.go new file mode 100644 index 000000000..d4f8c4038 --- /dev/null +++ b/services/users/pkg/command/version.go @@ -0,0 +1,50 @@ +package command + +import ( + "fmt" + "os" + + "github.com/owncloud/ocis/v2/ocis-pkg/registry" + "github.com/owncloud/ocis/v2/ocis-pkg/version" + + tw "github.com/olekukonko/tablewriter" + "github.com/owncloud/ocis/v2/services/users/pkg/config" + "github.com/urfave/cli/v2" +) + +// Version prints the service versions of all running instances. +func Version(cfg *config.Config) *cli.Command { + return &cli.Command{ + Name: "version", + Usage: "print the version of this binary and the running extension instances", + Category: "info", + Action: func(c *cli.Context) error { + fmt.Println("Version: " + version.GetString()) + fmt.Printf("Compiled: %s\n", version.Compiled()) + fmt.Println("") + + reg := registry.GetRegistry() + services, err := reg.GetService(cfg.GRPC.Namespace + "." + cfg.Service.Name) + if err != nil { + fmt.Println(fmt.Errorf("could not get %s services from the registry: %v", cfg.Service.Name, err)) + return err + } + + if len(services) == 0 { + fmt.Println("No running " + cfg.Service.Name + " service found.") + return nil + } + + table := tw.NewWriter(os.Stdout) + table.SetHeader([]string{"Version", "Address", "Id"}) + table.SetAutoFormatHeaders(false) + for _, s := range services { + for _, n := range s.Nodes { + table.Append([]string{s.Version, n.Address, n.Id}) + } + } + table.Render() + return nil + }, + } +} diff --git a/extensions/users/pkg/config/config.go b/services/users/pkg/config/config.go similarity index 100% rename from extensions/users/pkg/config/config.go rename to services/users/pkg/config/config.go diff --git a/extensions/users/pkg/config/defaults/defaultconfig.go b/services/users/pkg/config/defaults/defaultconfig.go similarity index 98% rename from extensions/users/pkg/config/defaults/defaultconfig.go rename to services/users/pkg/config/defaults/defaultconfig.go index 89db09946..fb8c5b13a 100644 --- a/extensions/users/pkg/config/defaults/defaultconfig.go +++ b/services/users/pkg/config/defaults/defaultconfig.go @@ -3,8 +3,8 @@ package defaults import ( "path/filepath" - "github.com/owncloud/ocis/v2/extensions/users/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/users/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/users/pkg/config/parser/parse.go b/services/users/pkg/config/parser/parse.go similarity index 89% rename from extensions/users/pkg/config/parser/parse.go rename to services/users/pkg/config/parser/parse.go index f12fc1f97..b776daa64 100644 --- a/extensions/users/pkg/config/parser/parse.go +++ b/services/users/pkg/config/parser/parse.go @@ -3,10 +3,10 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/users/pkg/config" - "github.com/owncloud/ocis/v2/extensions/users/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/users/pkg/config" + "github.com/owncloud/ocis/v2/services/users/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/users/pkg/config/reva.go b/services/users/pkg/config/reva.go similarity index 100% rename from extensions/users/pkg/config/reva.go rename to services/users/pkg/config/reva.go diff --git a/services/users/pkg/logging/logging.go b/services/users/pkg/logging/logging.go new file mode 100644 index 000000000..88769574a --- /dev/null +++ b/services/users/pkg/logging/logging.go @@ -0,0 +1,17 @@ +package logging + +import ( + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/users/pkg/config" +) + +// LoggerFromConfig initializes a service-specific logger instance. +func Configure(name string, cfg *config.Log) log.Logger { + return log.NewLogger( + log.Name(name), + log.Level(cfg.Level), + log.Pretty(cfg.Pretty), + log.Color(cfg.Color), + log.File(cfg.File), + ) +} diff --git a/extensions/users/pkg/revaconfig/config.go b/services/users/pkg/revaconfig/config.go similarity index 98% rename from extensions/users/pkg/revaconfig/config.go rename to services/users/pkg/revaconfig/config.go index 1c29ccd4a..434daf23d 100644 --- a/extensions/users/pkg/revaconfig/config.go +++ b/services/users/pkg/revaconfig/config.go @@ -1,7 +1,7 @@ package revaconfig import ( - "github.com/owncloud/ocis/v2/extensions/users/pkg/config" + "github.com/owncloud/ocis/v2/services/users/pkg/config" ) // UsersConfigFromStruct will adapt an oCIS config struct into a reva mapstructure to start a reva service. diff --git a/services/users/pkg/server/debug/option.go b/services/users/pkg/server/debug/option.go new file mode 100644 index 000000000..2b1b96a8a --- /dev/null +++ b/services/users/pkg/server/debug/option.go @@ -0,0 +1,50 @@ +package debug + +import ( + "context" + + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/users/pkg/config" +) + +// Option defines a single option function. +type Option func(o *Options) + +// Options defines the available options for this package. +type Options struct { + Logger log.Logger + Context context.Context + Config *config.Config +} + +// newOptions initializes the available default options. +func newOptions(opts ...Option) Options { + opt := Options{} + + for _, o := range opts { + o(&opt) + } + + return opt +} + +// Logger provides a function to set the logger option. +func Logger(val log.Logger) Option { + return func(o *Options) { + o.Logger = val + } +} + +// Context provides a function to set the context option. +func Context(val context.Context) Option { + return func(o *Options) { + o.Context = val + } +} + +// Config provides a function to set the config option. +func Config(val *config.Config) Option { + return func(o *Options) { + o.Config = val + } +} diff --git a/services/users/pkg/server/debug/server.go b/services/users/pkg/server/debug/server.go new file mode 100644 index 000000000..b7871834c --- /dev/null +++ b/services/users/pkg/server/debug/server.go @@ -0,0 +1,63 @@ +package debug + +import ( + "io" + "net/http" + + "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" + "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/users/pkg/config" +) + +// Server initializes the debug service and server. +func Server(opts ...Option) (*http.Server, error) { + options := newOptions(opts...) + + return debug.NewService( + debug.Logger(options.Logger), + debug.Name(options.Config.Service.Name), + debug.Version(version.GetString()), + debug.Address(options.Config.Debug.Addr), + debug.Token(options.Config.Debug.Token), + debug.Pprof(options.Config.Debug.Pprof), + debug.Zpages(options.Config.Debug.Zpages), + debug.Health(health(options.Config)), + debug.Ready(ready(options.Config)), + //debug.CorsAllowedOrigins(options.Config.HTTP.CORS.AllowedOrigins), + //debug.CorsAllowedMethods(options.Config.HTTP.CORS.AllowedMethods), + //debug.CorsAllowedHeaders(options.Config.HTTP.CORS.AllowedHeaders), + //debug.CorsAllowCredentials(options.Config.HTTP.CORS.AllowCredentials), + ), nil +} + +// health implements the health check. +func health(cfg *config.Config) func(http.ResponseWriter, *http.Request) { + return func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "text/plain") + w.WriteHeader(http.StatusOK) + + // TODO: check if services are up and running + + _, err := io.WriteString(w, http.StatusText(http.StatusOK)) + // io.WriteString should not fail but if it does we want to know. + if err != nil { + panic(err) + } + } +} + +// ready implements the ready check. +func ready(cfg *config.Config) func(http.ResponseWriter, *http.Request) { + return func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "text/plain") + w.WriteHeader(http.StatusOK) + + // TODO: check if services are up and running + + _, err := io.WriteString(w, http.StatusText(http.StatusOK)) + // io.WriteString should not fail but if it does we want to know. + if err != nil { + panic(err) + } + } +} diff --git a/services/users/pkg/tracing/tracing.go b/services/users/pkg/tracing/tracing.go new file mode 100644 index 000000000..b75884091 --- /dev/null +++ b/services/users/pkg/tracing/tracing.go @@ -0,0 +1,18 @@ +package tracing + +import ( + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/users/pkg/config" + "go.opentelemetry.io/otel/trace" +) + +var ( + // TraceProvider is the global trace provider for the service. + TraceProvider = trace.NewNoopTracerProvider() +) + +func Configure(cfg *config.Config, logger log.Logger) error { + tracing.Configure(cfg.Tracing.Enabled, cfg.Tracing.Type, logger) + return nil +} diff --git a/extensions/web/.dockerignore b/services/web/.dockerignore similarity index 100% rename from extensions/web/.dockerignore rename to services/web/.dockerignore diff --git a/extensions/web/Makefile b/services/web/Makefile similarity index 100% rename from extensions/web/Makefile rename to services/web/Makefile diff --git a/extensions/web/assets/.keep b/services/web/assets/.keep similarity index 100% rename from extensions/web/assets/.keep rename to services/web/assets/.keep diff --git a/services/web/cmd/web/main.go b/services/web/cmd/web/main.go new file mode 100644 index 000000000..9974c37fc --- /dev/null +++ b/services/web/cmd/web/main.go @@ -0,0 +1,14 @@ +package main + +import ( + "os" + + "github.com/owncloud/ocis/v2/services/web/pkg/command" + "github.com/owncloud/ocis/v2/services/web/pkg/config/defaults" +) + +func main() { + if err := command.Execute(defaults.DefaultConfig()); err != nil { + os.Exit(1) + } +} diff --git a/extensions/web/docker/Dockerfile.linux.amd64 b/services/web/docker/Dockerfile.linux.amd64 similarity index 100% rename from extensions/web/docker/Dockerfile.linux.amd64 rename to services/web/docker/Dockerfile.linux.amd64 diff --git a/extensions/web/docker/Dockerfile.linux.arm b/services/web/docker/Dockerfile.linux.arm similarity index 100% rename from extensions/web/docker/Dockerfile.linux.arm rename to services/web/docker/Dockerfile.linux.arm diff --git a/extensions/web/docker/Dockerfile.linux.arm64 b/services/web/docker/Dockerfile.linux.arm64 similarity index 100% rename from extensions/web/docker/Dockerfile.linux.arm64 rename to services/web/docker/Dockerfile.linux.arm64 diff --git a/extensions/web/docker/manifest.tmpl b/services/web/docker/manifest.tmpl similarity index 100% rename from extensions/web/docker/manifest.tmpl rename to services/web/docker/manifest.tmpl diff --git a/extensions/web/pkg/assets/option.go b/services/web/pkg/assets/option.go similarity index 90% rename from extensions/web/pkg/assets/option.go rename to services/web/pkg/assets/option.go index 78cdb2e99..c839c29dd 100644 --- a/extensions/web/pkg/assets/option.go +++ b/services/web/pkg/assets/option.go @@ -3,10 +3,10 @@ package assets import ( "net/http" - "github.com/owncloud/ocis/v2/extensions/web" - "github.com/owncloud/ocis/v2/extensions/web/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/assetsfs" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/web" + "github.com/owncloud/ocis/v2/services/web/pkg/config" ) // New returns a new http filesystem to serve assets. diff --git a/extensions/web/pkg/assets/server.go b/services/web/pkg/assets/server.go similarity index 100% rename from extensions/web/pkg/assets/server.go rename to services/web/pkg/assets/server.go diff --git a/services/web/pkg/command/health.go b/services/web/pkg/command/health.go new file mode 100644 index 000000000..633067f85 --- /dev/null +++ b/services/web/pkg/command/health.go @@ -0,0 +1,57 @@ +package command + +import ( + "fmt" + "net/http" + + "github.com/owncloud/ocis/v2/services/web/pkg/config" + "github.com/owncloud/ocis/v2/services/web/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/web/pkg/logging" + "github.com/urfave/cli/v2" +) + +// Health is the entrypoint for the health command. +func Health(cfg *config.Config) *cli.Command { + return &cli.Command{ + Name: "health", + Usage: "check health status", + Category: "info", + Before: func(c *cli.Context) error { + err := parser.ParseConfig(cfg) + if err != nil { + fmt.Printf("%v", err) + } + return err + }, + Action: func(c *cli.Context) error { + logger := logging.Configure(cfg.Service.Name, cfg.Log) + + resp, err := http.Get( + fmt.Sprintf( + "http://%s/healthz", + cfg.Debug.Addr, + ), + ) + + if err != nil { + logger.Fatal(). + Err(err). + Msg("Failed to request health check") + } + + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + logger.Fatal(). + Int("code", resp.StatusCode). + Msg("Health seems to be in bad state") + } + + logger.Debug(). + Int("code", resp.StatusCode). + Msg("Health got a good state") + + return nil + }, + } +} diff --git a/extensions/web/pkg/command/root.go b/services/web/pkg/command/root.go similarity index 95% rename from extensions/web/pkg/command/root.go rename to services/web/pkg/command/root.go index 73381e194..ef57b4956 100644 --- a/extensions/web/pkg/command/root.go +++ b/services/web/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/web/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/web/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/web/pkg/command/server.go b/services/web/pkg/command/server.go similarity index 85% rename from extensions/web/pkg/command/server.go rename to services/web/pkg/command/server.go index 40d2e0c91..ba7f1f539 100644 --- a/extensions/web/pkg/command/server.go +++ b/services/web/pkg/command/server.go @@ -8,13 +8,13 @@ import ( "os" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/web/pkg/config" - "github.com/owncloud/ocis/v2/extensions/web/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/web/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/web/pkg/metrics" - "github.com/owncloud/ocis/v2/extensions/web/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/web/pkg/server/http" - "github.com/owncloud/ocis/v2/extensions/web/pkg/tracing" + "github.com/owncloud/ocis/v2/services/web/pkg/config" + "github.com/owncloud/ocis/v2/services/web/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/web/pkg/logging" + "github.com/owncloud/ocis/v2/services/web/pkg/metrics" + "github.com/owncloud/ocis/v2/services/web/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/web/pkg/server/http" + "github.com/owncloud/ocis/v2/services/web/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/services/web/pkg/command/version.go b/services/web/pkg/command/version.go new file mode 100644 index 000000000..faef4e15b --- /dev/null +++ b/services/web/pkg/command/version.go @@ -0,0 +1,50 @@ +package command + +import ( + "fmt" + "os" + + "github.com/owncloud/ocis/v2/ocis-pkg/registry" + "github.com/owncloud/ocis/v2/ocis-pkg/version" + + tw "github.com/olekukonko/tablewriter" + "github.com/owncloud/ocis/v2/services/web/pkg/config" + "github.com/urfave/cli/v2" +) + +// Version prints the service versions of all running instances. +func Version(cfg *config.Config) *cli.Command { + return &cli.Command{ + Name: "version", + Usage: "print the version of this binary and the running extension instances", + Category: "info", + Action: func(c *cli.Context) error { + fmt.Println("Version: " + version.GetString()) + fmt.Printf("Compiled: %s\n", version.Compiled()) + fmt.Println("") + + reg := registry.GetRegistry() + services, err := reg.GetService(cfg.HTTP.Namespace + "." + cfg.Service.Name) + if err != nil { + fmt.Println(fmt.Errorf("could not get %s services from the registry: %v", cfg.Service.Name, err)) + return err + } + + if len(services) == 0 { + fmt.Println("No running " + cfg.Service.Name + " service found.") + return nil + } + + table := tw.NewWriter(os.Stdout) + table.SetHeader([]string{"Version", "Address", "Id"}) + table.SetAutoFormatHeaders(false) + for _, s := range services { + for _, n := range s.Nodes { + table.Append([]string{s.Version, n.Address, n.Id}) + } + } + table.Render() + return nil + }, + } +} diff --git a/extensions/web/pkg/config/config.go b/services/web/pkg/config/config.go similarity index 100% rename from extensions/web/pkg/config/config.go rename to services/web/pkg/config/config.go diff --git a/extensions/web/pkg/config/debug.go b/services/web/pkg/config/debug.go similarity index 100% rename from extensions/web/pkg/config/debug.go rename to services/web/pkg/config/debug.go diff --git a/extensions/web/pkg/config/defaults/defaultconfig.go b/services/web/pkg/config/defaults/defaultconfig.go similarity index 97% rename from extensions/web/pkg/config/defaults/defaultconfig.go rename to services/web/pkg/config/defaults/defaultconfig.go index e27191c6b..48584ec78 100644 --- a/extensions/web/pkg/config/defaults/defaultconfig.go +++ b/services/web/pkg/config/defaults/defaultconfig.go @@ -3,7 +3,7 @@ package defaults import ( "strings" - "github.com/owncloud/ocis/v2/extensions/web/pkg/config" + "github.com/owncloud/ocis/v2/services/web/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/web/pkg/config/http.go b/services/web/pkg/config/http.go similarity index 100% rename from extensions/web/pkg/config/http.go rename to services/web/pkg/config/http.go diff --git a/extensions/web/pkg/config/log.go b/services/web/pkg/config/log.go similarity index 100% rename from extensions/web/pkg/config/log.go rename to services/web/pkg/config/log.go diff --git a/extensions/webdav/pkg/config/parser/parse.go b/services/web/pkg/config/parser/parse.go similarity index 85% rename from extensions/webdav/pkg/config/parser/parse.go rename to services/web/pkg/config/parser/parse.go index 898249ef2..664a6f596 100644 --- a/extensions/webdav/pkg/config/parser/parse.go +++ b/services/web/pkg/config/parser/parse.go @@ -3,9 +3,9 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/config" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/web/pkg/config" + "github.com/owncloud/ocis/v2/services/web/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/web/pkg/config/service.go b/services/web/pkg/config/service.go similarity index 100% rename from extensions/web/pkg/config/service.go rename to services/web/pkg/config/service.go diff --git a/extensions/web/pkg/config/tracing.go b/services/web/pkg/config/tracing.go similarity index 100% rename from extensions/web/pkg/config/tracing.go rename to services/web/pkg/config/tracing.go diff --git a/services/web/pkg/logging/logging.go b/services/web/pkg/logging/logging.go new file mode 100644 index 000000000..c0a956944 --- /dev/null +++ b/services/web/pkg/logging/logging.go @@ -0,0 +1,17 @@ +package logging + +import ( + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/web/pkg/config" +) + +// LoggerFromConfig initializes a service-specific logger instance. +func Configure(name string, cfg *config.Log) log.Logger { + return log.NewLogger( + log.Name(name), + log.Level(cfg.Level), + log.Pretty(cfg.Pretty), + log.Color(cfg.Color), + log.File(cfg.File), + ) +} diff --git a/extensions/web/pkg/metrics/metrics.go b/services/web/pkg/metrics/metrics.go similarity index 100% rename from extensions/web/pkg/metrics/metrics.go rename to services/web/pkg/metrics/metrics.go diff --git a/extensions/web/pkg/middleware/silentrefresh.go b/services/web/pkg/middleware/silentrefresh.go similarity index 82% rename from extensions/web/pkg/middleware/silentrefresh.go rename to services/web/pkg/middleware/silentrefresh.go index 84fb50934..fa2033fc3 100644 --- a/extensions/web/pkg/middleware/silentrefresh.go +++ b/services/web/pkg/middleware/silentrefresh.go @@ -8,6 +8,7 @@ import ( func SilentRefresh(next http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { w.Header().Set("X-Frame-Options", "SAMEORIGIN") + w.Header().Set("Content-Security-Policy", "frame-ancestors 'self'") next.ServeHTTP(w, r) }) } diff --git a/services/web/pkg/server/debug/option.go b/services/web/pkg/server/debug/option.go new file mode 100644 index 000000000..e13279121 --- /dev/null +++ b/services/web/pkg/server/debug/option.go @@ -0,0 +1,50 @@ +package debug + +import ( + "context" + + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/web/pkg/config" +) + +// Option defines a single option function. +type Option func(o *Options) + +// Options defines the available options for this package. +type Options struct { + Logger log.Logger + Context context.Context + Config *config.Config +} + +// newOptions initializes the available default options. +func newOptions(opts ...Option) Options { + opt := Options{} + + for _, o := range opts { + o(&opt) + } + + return opt +} + +// Logger provides a function to set the logger option. +func Logger(val log.Logger) Option { + return func(o *Options) { + o.Logger = val + } +} + +// Context provides a function to set the context option. +func Context(val context.Context) Option { + return func(o *Options) { + o.Context = val + } +} + +// Config provides a function to set the config option. +func Config(val *config.Config) Option { + return func(o *Options) { + o.Config = val + } +} diff --git a/services/web/pkg/server/debug/server.go b/services/web/pkg/server/debug/server.go new file mode 100644 index 000000000..4fa164df7 --- /dev/null +++ b/services/web/pkg/server/debug/server.go @@ -0,0 +1,59 @@ +package debug + +import ( + "io" + "net/http" + + "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" + "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/web/pkg/config" +) + +// Server initializes the debug service and server. +func Server(opts ...Option) (*http.Server, error) { + options := newOptions(opts...) + + return debug.NewService( + debug.Logger(options.Logger), + debug.Name(options.Config.Service.Name), + debug.Version(version.GetString()), + debug.Address(options.Config.Debug.Addr), + debug.Token(options.Config.Debug.Token), + debug.Pprof(options.Config.Debug.Pprof), + debug.Zpages(options.Config.Debug.Zpages), + debug.Health(health(options.Config)), + debug.Ready(ready(options.Config)), + ), nil +} + +// health implements the health check. +func health(cfg *config.Config) func(http.ResponseWriter, *http.Request) { + return func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "text/plain") + w.WriteHeader(http.StatusOK) + + // TODO: check if services are up and running + + _, err := io.WriteString(w, http.StatusText(http.StatusOK)) + // io.WriteString should not fail but if it does we want to know. + if err != nil { + panic(err) + } + } +} + +// ready implements the ready check. +func ready(cfg *config.Config) func(http.ResponseWriter, *http.Request) { + return func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "text/plain") + w.WriteHeader(http.StatusOK) + + // TODO: check if services are up and running + + _, err := io.WriteString(w, http.StatusText(http.StatusOK)) + // io.WriteString should not fail but if it does we want to know. + if err != nil { + panic(err) + } + } +} diff --git a/extensions/graph/pkg/server/http/option.go b/services/web/pkg/server/http/option.go similarity index 92% rename from extensions/graph/pkg/server/http/option.go rename to services/web/pkg/server/http/option.go index ff4b19d72..5ae833c36 100644 --- a/extensions/graph/pkg/server/http/option.go +++ b/services/web/pkg/server/http/option.go @@ -3,9 +3,9 @@ package http import ( "context" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/metrics" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/web/pkg/config" + "github.com/owncloud/ocis/v2/services/web/pkg/metrics" "github.com/urfave/cli/v2" ) diff --git a/extensions/web/pkg/server/http/server.go b/services/web/pkg/server/http/server.go similarity index 90% rename from extensions/web/pkg/server/http/server.go rename to services/web/pkg/server/http/server.go index 8f0d964aa..6984c65b4 100644 --- a/extensions/web/pkg/server/http/server.go +++ b/services/web/pkg/server/http/server.go @@ -2,11 +2,11 @@ package http import ( chimiddleware "github.com/go-chi/chi/v5/middleware" - webmid "github.com/owncloud/ocis/v2/extensions/web/pkg/middleware" - svc "github.com/owncloud/ocis/v2/extensions/web/pkg/service/v0" "github.com/owncloud/ocis/v2/ocis-pkg/middleware" "github.com/owncloud/ocis/v2/ocis-pkg/service/http" "github.com/owncloud/ocis/v2/ocis-pkg/version" + webmid "github.com/owncloud/ocis/v2/services/web/pkg/middleware" + svc "github.com/owncloud/ocis/v2/services/web/pkg/service/v0" "go-micro.dev/v4" ) diff --git a/extensions/web/pkg/service/v0/instrument.go b/services/web/pkg/service/v0/instrument.go similarity index 90% rename from extensions/web/pkg/service/v0/instrument.go rename to services/web/pkg/service/v0/instrument.go index 7a625b7eb..2d89f069d 100644 --- a/extensions/web/pkg/service/v0/instrument.go +++ b/services/web/pkg/service/v0/instrument.go @@ -3,7 +3,7 @@ package svc import ( "net/http" - "github.com/owncloud/ocis/v2/extensions/web/pkg/metrics" + "github.com/owncloud/ocis/v2/services/web/pkg/metrics" ) // NewInstrument returns a service that instruments metrics. diff --git a/extensions/web/pkg/service/v0/logging.go b/services/web/pkg/service/v0/logging.go similarity index 100% rename from extensions/web/pkg/service/v0/logging.go rename to services/web/pkg/service/v0/logging.go diff --git a/extensions/idp/pkg/service/v0/option.go b/services/web/pkg/service/v0/option.go similarity index 94% rename from extensions/idp/pkg/service/v0/option.go rename to services/web/pkg/service/v0/option.go index d86aa51d3..a7f4cd031 100644 --- a/extensions/idp/pkg/service/v0/option.go +++ b/services/web/pkg/service/v0/option.go @@ -3,8 +3,8 @@ package svc import ( "net/http" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/web/pkg/config" ) // Option defines a single option function. diff --git a/extensions/web/pkg/service/v0/service.go b/services/web/pkg/service/v0/service.go similarity index 97% rename from extensions/web/pkg/service/v0/service.go rename to services/web/pkg/service/v0/service.go index 32af6f533..342c39e25 100644 --- a/extensions/web/pkg/service/v0/service.go +++ b/services/web/pkg/service/v0/service.go @@ -12,9 +12,9 @@ import ( "time" "github.com/go-chi/chi/v5" - "github.com/owncloud/ocis/v2/extensions/web/pkg/assets" - "github.com/owncloud/ocis/v2/extensions/web/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/web/pkg/assets" + "github.com/owncloud/ocis/v2/services/web/pkg/config" ) var ( diff --git a/extensions/web/pkg/service/v0/tracing.go b/services/web/pkg/service/v0/tracing.go similarity index 100% rename from extensions/web/pkg/service/v0/tracing.go rename to services/web/pkg/service/v0/tracing.go diff --git a/extensions/web/pkg/tracing/tracing.go b/services/web/pkg/tracing/tracing.go similarity index 89% rename from extensions/web/pkg/tracing/tracing.go rename to services/web/pkg/tracing/tracing.go index b23c4605d..378e1e0c3 100644 --- a/extensions/web/pkg/tracing/tracing.go +++ b/services/web/pkg/tracing/tracing.go @@ -1,8 +1,8 @@ package tracing import ( - "github.com/owncloud/ocis/v2/extensions/web/pkg/config" pkgtrace "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/web/pkg/config" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/web/reflex.conf b/services/web/reflex.conf similarity index 100% rename from extensions/web/reflex.conf rename to services/web/reflex.conf diff --git a/extensions/web/web.go b/services/web/web.go similarity index 100% rename from extensions/web/web.go rename to services/web/web.go diff --git a/extensions/webdav/.dockerignore b/services/webdav/.dockerignore similarity index 100% rename from extensions/webdav/.dockerignore rename to services/webdav/.dockerignore diff --git a/extensions/webdav/Makefile b/services/webdav/Makefile similarity index 100% rename from extensions/webdav/Makefile rename to services/webdav/Makefile diff --git a/services/webdav/cmd/webdav/main.go b/services/webdav/cmd/webdav/main.go new file mode 100644 index 000000000..84449ec2e --- /dev/null +++ b/services/webdav/cmd/webdav/main.go @@ -0,0 +1,14 @@ +package main + +import ( + "os" + + "github.com/owncloud/ocis/v2/services/webdav/pkg/command" + "github.com/owncloud/ocis/v2/services/webdav/pkg/config/defaults" +) + +func main() { + if err := command.Execute(defaults.DefaultConfig()); err != nil { + os.Exit(1) + } +} diff --git a/extensions/webdav/config/.gitignore b/services/webdav/config/.gitignore similarity index 100% rename from extensions/webdav/config/.gitignore rename to services/webdav/config/.gitignore diff --git a/extensions/webdav/docker/Dockerfile.linux.amd64 b/services/webdav/docker/Dockerfile.linux.amd64 similarity index 100% rename from extensions/webdav/docker/Dockerfile.linux.amd64 rename to services/webdav/docker/Dockerfile.linux.amd64 diff --git a/extensions/webdav/docker/Dockerfile.linux.arm b/services/webdav/docker/Dockerfile.linux.arm similarity index 100% rename from extensions/webdav/docker/Dockerfile.linux.arm rename to services/webdav/docker/Dockerfile.linux.arm diff --git a/extensions/webdav/docker/Dockerfile.linux.arm64 b/services/webdav/docker/Dockerfile.linux.arm64 similarity index 100% rename from extensions/webdav/docker/Dockerfile.linux.arm64 rename to services/webdav/docker/Dockerfile.linux.arm64 diff --git a/extensions/webdav/docker/manifest.tmpl b/services/webdav/docker/manifest.tmpl similarity index 100% rename from extensions/webdav/docker/manifest.tmpl rename to services/webdav/docker/manifest.tmpl diff --git a/services/webdav/pkg/command/health.go b/services/webdav/pkg/command/health.go new file mode 100644 index 000000000..e0bc1d5d2 --- /dev/null +++ b/services/webdav/pkg/command/health.go @@ -0,0 +1,57 @@ +package command + +import ( + "fmt" + "net/http" + + "github.com/owncloud/ocis/v2/services/webdav/pkg/config" + "github.com/owncloud/ocis/v2/services/webdav/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/webdav/pkg/logging" + "github.com/urfave/cli/v2" +) + +// Health is the entrypoint for the health command. +func Health(cfg *config.Config) *cli.Command { + return &cli.Command{ + Name: "health", + Usage: "check health status", + Category: "info", + Before: func(c *cli.Context) error { + err := parser.ParseConfig(cfg) + if err != nil { + fmt.Printf("%v", err) + } + return err + }, + Action: func(c *cli.Context) error { + logger := logging.Configure(cfg.Service.Name, cfg.Log) + + resp, err := http.Get( + fmt.Sprintf( + "http://%s/healthz", + cfg.Debug.Addr, + ), + ) + + if err != nil { + logger.Fatal(). + Err(err). + Msg("Failed to request health check") + } + + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + logger.Fatal(). + Int("code", resp.StatusCode). + Msg("Health seems to be in bad state") + } + + logger.Debug(). + Int("code", resp.StatusCode). + Msg("Health got a good state") + + return nil + }, + } +} diff --git a/extensions/webdav/pkg/command/root.go b/services/webdav/pkg/command/root.go similarity index 95% rename from extensions/webdav/pkg/command/root.go rename to services/webdav/pkg/command/root.go index 9501820cd..c8f857ca2 100644 --- a/extensions/webdav/pkg/command/root.go +++ b/services/webdav/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/webdav/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/webdav/pkg/command/server.go b/services/webdav/pkg/command/server.go similarity index 82% rename from extensions/webdav/pkg/command/server.go rename to services/webdav/pkg/command/server.go index f83ed0de5..9b59d7d32 100644 --- a/extensions/webdav/pkg/command/server.go +++ b/services/webdav/pkg/command/server.go @@ -6,14 +6,14 @@ import ( "os" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/config" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/metrics" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/server/http" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/webdav/pkg/config" + "github.com/owncloud/ocis/v2/services/webdav/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/webdav/pkg/logging" + "github.com/owncloud/ocis/v2/services/webdav/pkg/metrics" + "github.com/owncloud/ocis/v2/services/webdav/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/webdav/pkg/server/http" + "github.com/owncloud/ocis/v2/services/webdav/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/services/webdav/pkg/command/version.go b/services/webdav/pkg/command/version.go new file mode 100644 index 000000000..fed75e792 --- /dev/null +++ b/services/webdav/pkg/command/version.go @@ -0,0 +1,50 @@ +package command + +import ( + "fmt" + "os" + + "github.com/owncloud/ocis/v2/ocis-pkg/registry" + "github.com/owncloud/ocis/v2/ocis-pkg/version" + + tw "github.com/olekukonko/tablewriter" + "github.com/owncloud/ocis/v2/services/webdav/pkg/config" + "github.com/urfave/cli/v2" +) + +// Version prints the service versions of all running instances. +func Version(cfg *config.Config) *cli.Command { + return &cli.Command{ + Name: "version", + Usage: "print the version of this binary and the running extension instances", + Category: "info", + Action: func(c *cli.Context) error { + fmt.Println("Version: " + version.GetString()) + fmt.Printf("Compiled: %s\n", version.Compiled()) + fmt.Println("") + + reg := registry.GetRegistry() + services, err := reg.GetService(cfg.HTTP.Namespace + "." + cfg.Service.Name) + if err != nil { + fmt.Println(fmt.Errorf("could not get %s services from the registry: %v", cfg.Service.Name, err)) + return err + } + + if len(services) == 0 { + fmt.Println("No running " + cfg.Service.Name + " service found.") + return nil + } + + table := tw.NewWriter(os.Stdout) + table.SetHeader([]string{"Version", "Address", "Id"}) + table.SetAutoFormatHeaders(false) + for _, s := range services { + for _, n := range s.Nodes { + table.Append([]string{s.Version, n.Address, n.Id}) + } + } + table.Render() + return nil + }, + } +} diff --git a/extensions/webdav/pkg/config/config.go b/services/webdav/pkg/config/config.go similarity index 100% rename from extensions/webdav/pkg/config/config.go rename to services/webdav/pkg/config/config.go diff --git a/extensions/webdav/pkg/config/debug.go b/services/webdav/pkg/config/debug.go similarity index 100% rename from extensions/webdav/pkg/config/debug.go rename to services/webdav/pkg/config/debug.go diff --git a/extensions/webdav/pkg/config/defaults/defaultconfig.go b/services/webdav/pkg/config/defaults/defaultconfig.go similarity index 97% rename from extensions/webdav/pkg/config/defaults/defaultconfig.go rename to services/webdav/pkg/config/defaults/defaultconfig.go index 57e8564e5..107f8e9b1 100644 --- a/extensions/webdav/pkg/config/defaults/defaultconfig.go +++ b/services/webdav/pkg/config/defaults/defaultconfig.go @@ -3,7 +3,7 @@ package defaults import ( "strings" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/config" + "github.com/owncloud/ocis/v2/services/webdav/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/webdav/pkg/config/http.go b/services/webdav/pkg/config/http.go similarity index 100% rename from extensions/webdav/pkg/config/http.go rename to services/webdav/pkg/config/http.go diff --git a/extensions/webdav/pkg/config/log.go b/services/webdav/pkg/config/log.go similarity index 100% rename from extensions/webdav/pkg/config/log.go rename to services/webdav/pkg/config/log.go diff --git a/extensions/nats/pkg/config/parser/parse.go b/services/webdav/pkg/config/parser/parse.go similarity index 86% rename from extensions/nats/pkg/config/parser/parse.go rename to services/webdav/pkg/config/parser/parse.go index 2625948bb..f1f34ba49 100644 --- a/extensions/nats/pkg/config/parser/parse.go +++ b/services/webdav/pkg/config/parser/parse.go @@ -3,9 +3,9 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/nats/pkg/config" - "github.com/owncloud/ocis/v2/extensions/nats/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/webdav/pkg/config" + "github.com/owncloud/ocis/v2/services/webdav/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/webdav/pkg/config/service.go b/services/webdav/pkg/config/service.go similarity index 100% rename from extensions/webdav/pkg/config/service.go rename to services/webdav/pkg/config/service.go diff --git a/extensions/webdav/pkg/config/tracing.go b/services/webdav/pkg/config/tracing.go similarity index 100% rename from extensions/webdav/pkg/config/tracing.go rename to services/webdav/pkg/config/tracing.go diff --git a/extensions/webdav/pkg/constants/constants.go b/services/webdav/pkg/constants/constants.go similarity index 100% rename from extensions/webdav/pkg/constants/constants.go rename to services/webdav/pkg/constants/constants.go diff --git a/extensions/webdav/pkg/dav/requests/thumbnail.go b/services/webdav/pkg/dav/requests/thumbnail.go similarity index 97% rename from extensions/webdav/pkg/dav/requests/thumbnail.go rename to services/webdav/pkg/dav/requests/thumbnail.go index 134034cd3..4f8d5036c 100644 --- a/extensions/webdav/pkg/dav/requests/thumbnail.go +++ b/services/webdav/pkg/dav/requests/thumbnail.go @@ -9,7 +9,7 @@ import ( "github.com/go-chi/chi/v5" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/constants" + "github.com/owncloud/ocis/v2/services/webdav/pkg/constants" ) const ( diff --git a/extensions/webdav/pkg/errors/error.go b/services/webdav/pkg/errors/error.go similarity index 100% rename from extensions/webdav/pkg/errors/error.go rename to services/webdav/pkg/errors/error.go diff --git a/services/webdav/pkg/logging/logging.go b/services/webdav/pkg/logging/logging.go new file mode 100644 index 000000000..e7e5fed88 --- /dev/null +++ b/services/webdav/pkg/logging/logging.go @@ -0,0 +1,17 @@ +package logging + +import ( + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/webdav/pkg/config" +) + +// LoggerFromConfig initializes a service-specific logger instance. +func Configure(name string, cfg *config.Log) log.Logger { + return log.NewLogger( + log.Name(name), + log.Level(cfg.Level), + log.Pretty(cfg.Pretty), + log.Color(cfg.Color), + log.File(cfg.File), + ) +} diff --git a/extensions/webdav/pkg/metrics/metrics.go b/services/webdav/pkg/metrics/metrics.go similarity index 100% rename from extensions/webdav/pkg/metrics/metrics.go rename to services/webdav/pkg/metrics/metrics.go diff --git a/extensions/webdav/pkg/net/headers.go b/services/webdav/pkg/net/headers.go similarity index 100% rename from extensions/webdav/pkg/net/headers.go rename to services/webdav/pkg/net/headers.go diff --git a/extensions/webdav/pkg/net/net.go b/services/webdav/pkg/net/net.go similarity index 100% rename from extensions/webdav/pkg/net/net.go rename to services/webdav/pkg/net/net.go diff --git a/extensions/webdav/pkg/prop/prop.go b/services/webdav/pkg/prop/prop.go similarity index 100% rename from extensions/webdav/pkg/prop/prop.go rename to services/webdav/pkg/prop/prop.go diff --git a/extensions/webdav/pkg/propfind/propfind.go b/services/webdav/pkg/propfind/propfind.go similarity index 98% rename from extensions/webdav/pkg/propfind/propfind.go rename to services/webdav/pkg/propfind/propfind.go index a747b5860..3bc8e4f9c 100644 --- a/extensions/webdav/pkg/propfind/propfind.go +++ b/services/webdav/pkg/propfind/propfind.go @@ -6,8 +6,8 @@ import ( "io" "net/http" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/errors" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/prop" + "github.com/owncloud/ocis/v2/services/webdav/pkg/errors" + "github.com/owncloud/ocis/v2/services/webdav/pkg/prop" ) const ( diff --git a/services/webdav/pkg/server/debug/option.go b/services/webdav/pkg/server/debug/option.go new file mode 100644 index 000000000..c0820ebf5 --- /dev/null +++ b/services/webdav/pkg/server/debug/option.go @@ -0,0 +1,50 @@ +package debug + +import ( + "context" + + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/webdav/pkg/config" +) + +// Option defines a single option function. +type Option func(o *Options) + +// Options defines the available options for this package. +type Options struct { + Logger log.Logger + Context context.Context + Config *config.Config +} + +// newOptions initializes the available default options. +func newOptions(opts ...Option) Options { + opt := Options{} + + for _, o := range opts { + o(&opt) + } + + return opt +} + +// Logger provides a function to set the logger option. +func Logger(val log.Logger) Option { + return func(o *Options) { + o.Logger = val + } +} + +// Context provides a function to set the context option. +func Context(val context.Context) Option { + return func(o *Options) { + o.Context = val + } +} + +// Config provides a function to set the config option. +func Config(val *config.Config) Option { + return func(o *Options) { + o.Config = val + } +} diff --git a/extensions/settings/pkg/server/debug/server.go b/services/webdav/pkg/server/debug/server.go similarity index 96% rename from extensions/settings/pkg/server/debug/server.go rename to services/webdav/pkg/server/debug/server.go index 6a46abc3b..e9b9d3c90 100644 --- a/extensions/settings/pkg/server/debug/server.go +++ b/services/webdav/pkg/server/debug/server.go @@ -4,9 +4,9 @@ import ( "io" "net/http" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/webdav/pkg/config" ) // Server initializes the debug service and server. diff --git a/extensions/webdav/pkg/server/http/option.go b/services/webdav/pkg/server/http/option.go similarity index 92% rename from extensions/webdav/pkg/server/http/option.go rename to services/webdav/pkg/server/http/option.go index ceff8482c..e05f6aaf2 100644 --- a/extensions/webdav/pkg/server/http/option.go +++ b/services/webdav/pkg/server/http/option.go @@ -3,9 +3,9 @@ package http import ( "context" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/config" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/metrics" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/webdav/pkg/config" + "github.com/owncloud/ocis/v2/services/webdav/pkg/metrics" "github.com/urfave/cli/v2" ) diff --git a/extensions/webdav/pkg/server/http/server.go b/services/webdav/pkg/server/http/server.go similarity index 96% rename from extensions/webdav/pkg/server/http/server.go rename to services/webdav/pkg/server/http/server.go index 498f9926c..f5b782507 100644 --- a/extensions/webdav/pkg/server/http/server.go +++ b/services/webdav/pkg/server/http/server.go @@ -2,11 +2,11 @@ package http import ( chimiddleware "github.com/go-chi/chi/v5/middleware" - svc "github.com/owncloud/ocis/v2/extensions/webdav/pkg/service/v0" "github.com/owncloud/ocis/v2/ocis-pkg/cors" "github.com/owncloud/ocis/v2/ocis-pkg/middleware" "github.com/owncloud/ocis/v2/ocis-pkg/service/http" "github.com/owncloud/ocis/v2/ocis-pkg/version" + svc "github.com/owncloud/ocis/v2/services/webdav/pkg/service/v0" "go-micro.dev/v4" ) diff --git a/extensions/webdav/pkg/service/v0/instrument.go b/services/webdav/pkg/service/v0/instrument.go similarity index 90% rename from extensions/webdav/pkg/service/v0/instrument.go rename to services/webdav/pkg/service/v0/instrument.go index 34e318c58..3ede8164b 100644 --- a/extensions/webdav/pkg/service/v0/instrument.go +++ b/services/webdav/pkg/service/v0/instrument.go @@ -3,7 +3,7 @@ package svc import ( "net/http" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/metrics" + "github.com/owncloud/ocis/v2/services/webdav/pkg/metrics" ) // NewInstrument returns a service that instruments metrics. diff --git a/extensions/webdav/pkg/service/v0/logging.go b/services/webdav/pkg/service/v0/logging.go similarity index 100% rename from extensions/webdav/pkg/service/v0/logging.go rename to services/webdav/pkg/service/v0/logging.go diff --git a/extensions/webdav/pkg/service/v0/option.go b/services/webdav/pkg/service/v0/option.go similarity index 94% rename from extensions/webdav/pkg/service/v0/option.go rename to services/webdav/pkg/service/v0/option.go index 1bdab9a32..a2c5dc641 100644 --- a/extensions/webdav/pkg/service/v0/option.go +++ b/services/webdav/pkg/service/v0/option.go @@ -3,8 +3,8 @@ package svc import ( "net/http" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/webdav/pkg/config" ) // Option defines a single option function. diff --git a/extensions/webdav/pkg/service/v0/search.go b/services/webdav/pkg/service/v0/search.go similarity index 97% rename from extensions/webdav/pkg/service/v0/search.go rename to services/webdav/pkg/service/v0/search.go index 75ff164c5..7ba77db16 100644 --- a/extensions/webdav/pkg/service/v0/search.go +++ b/services/webdav/pkg/service/v0/search.go @@ -11,11 +11,11 @@ import ( provider "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1" revactx "github.com/cs3org/reva/v2/pkg/ctx" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/net" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/prop" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/propfind" searchmsg "github.com/owncloud/ocis/v2/protogen/gen/ocis/messages/search/v0" searchsvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/search/v0" + "github.com/owncloud/ocis/v2/services/webdav/pkg/net" + "github.com/owncloud/ocis/v2/services/webdav/pkg/prop" + "github.com/owncloud/ocis/v2/services/webdav/pkg/propfind" merrors "go-micro.dev/v4/errors" "go-micro.dev/v4/metadata" ) diff --git a/extensions/webdav/pkg/service/v0/service.go b/services/webdav/pkg/service/v0/service.go similarity index 98% rename from extensions/webdav/pkg/service/v0/service.go rename to services/webdav/pkg/service/v0/service.go index a914169d9..89f60fe58 100644 --- a/extensions/webdav/pkg/service/v0/service.go +++ b/services/webdav/pkg/service/v0/service.go @@ -20,14 +20,14 @@ import ( merrors "go-micro.dev/v4/errors" "google.golang.org/grpc/metadata" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/config" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/constants" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/dav/requests" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/service/grpc" thumbnailsmsg "github.com/owncloud/ocis/v2/protogen/gen/ocis/messages/thumbnails/v0" searchsvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/search/v0" thumbnailssvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/thumbnails/v0" + "github.com/owncloud/ocis/v2/services/webdav/pkg/config" + "github.com/owncloud/ocis/v2/services/webdav/pkg/constants" + "github.com/owncloud/ocis/v2/services/webdav/pkg/dav/requests" ) const ( diff --git a/extensions/webdav/pkg/service/v0/tracing.go b/services/webdav/pkg/service/v0/tracing.go similarity index 100% rename from extensions/webdav/pkg/service/v0/tracing.go rename to services/webdav/pkg/service/v0/tracing.go diff --git a/extensions/search/pkg/tracing/tracing.go b/services/webdav/pkg/tracing/tracing.go similarity index 89% rename from extensions/search/pkg/tracing/tracing.go rename to services/webdav/pkg/tracing/tracing.go index fda0ae373..cbcadf44e 100644 --- a/extensions/search/pkg/tracing/tracing.go +++ b/services/webdav/pkg/tracing/tracing.go @@ -1,8 +1,8 @@ package tracing import ( - "github.com/owncloud/ocis/v2/extensions/search/pkg/config" pkgtrace "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/webdav/pkg/config" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/webdav/reflex.conf b/services/webdav/reflex.conf similarity index 100% rename from extensions/webdav/reflex.conf rename to services/webdav/reflex.conf diff --git a/tests/acceptance/expected-failures-API-on-OCIS-storage.md b/tests/acceptance/expected-failures-API-on-OCIS-storage.md index b492a3a39..b2bc3a85a 100644 --- a/tests/acceptance/expected-failures-API-on-OCIS-storage.md +++ b/tests/acceptance/expected-failures-API-on-OCIS-storage.md @@ -942,7 +942,7 @@ _ocdav: api compatibility, return correct status code_ - [apiCapabilities/capabilitiesWithNormalUser.feature:11](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiCapabilities/capabilitiesWithNormalUser.feature#L11) Scenario: getting default capabilities with normal user -#### [REPORT request not implemented](https://github.com/owncloud/ocis/issues/1330) +#### [/webdav and spaces endpoint does not alloow REPORT requests](https://github.com/owncloud/ocis/issues/4034) - [apiWebdavOperations/search.feature:42](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavOperations/search.feature#L42) - [apiWebdavOperations/search.feature:48](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavOperations/search.feature#L48) @@ -951,6 +951,7 @@ _ocdav: api compatibility, return correct status code_ - [apiWebdavOperations/search.feature:87](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavOperations/search.feature#L87) - [apiWebdavOperations/search.feature:93](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavOperations/search.feature#L93) - [apiWebdavOperations/search.feature:102](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavOperations/search.feature#L102) +- [apiWebdavOperations/search.feature:108](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavOperations/search.feature#L108) - [apiWebdavOperations/search.feature:126](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavOperations/search.feature#L126) - [apiWebdavOperations/search.feature:132](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavOperations/search.feature#L132) - [apiWebdavOperations/search.feature:150](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavOperations/search.feature#L150) @@ -958,7 +959,6 @@ _ocdav: api compatibility, return correct status code_ - [apiWebdavOperations/search.feature:174](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavOperations/search.feature#L174) - [apiWebdavOperations/search.feature:180](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavOperations/search.feature#L180) - [apiWebdavOperations/search.feature:207](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavOperations/search.feature#L207) -- [apiWebdavOperations/search.feature:208](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavOperations/search.feature#L208) - [apiWebdavOperations/search.feature:213](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavOperations/search.feature#L213) - [apiWebdavOperations/search.feature:239](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavOperations/search.feature#L239) - [apiWebdavOperations/search.feature:245](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavOperations/search.feature#L245) @@ -971,7 +971,7 @@ _ocdav: api compatibility, return correct status code_ ### [No permisions propertry in response while searching for files and folders on ocis with new webdav](https://github.com/owncloud/ocis/issues/4009) -- [apiWebdavOperations/search.feature:108](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavOperations/search.feature#L108) +- [apiWebdavOperations/search.feature:208](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavOperations/search.feature#L208) - [apiWebdavOperations/search.feature:240](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavOperations/search.feature#L240) ### [Search with limit does not give required response with new webdav](https://github.com/owncloud/ocis/issues/4017)