diff --git a/.drone.star b/.drone.star index 20e2a19369..01d5b77086 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 9cce3ac8ac..ec289b4462 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 b7adfd4373..d8a771c7a6 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 32492d9cab..0ecba45fa3 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 1c2b1a614f..f9a94efa83 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 6b8059ea2f..0635429d86 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 0000000000..ec3c54f734 --- /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 ded537ded6..44ac5ab844 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 0000000000..3b6f338d37 --- /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 0000000000..ebe84055e3 --- /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 fd528e3dc5..9cb480f4a3 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 569385b081..ef1163a3d9 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 20cce9da83..5f56e8a507 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 4cb7352c35..9b6fc1015d 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 60cb9095cb..114398b744 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 7f19ee7961..e7db5e37a8 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 d02ea46a32..7fbb44ae95 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 13f2b2c957..6adf5522f1 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 240bc6f960..dadcf7031b 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 12121bd84e..0de6a1b537 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 3ff17a8e8f..0000000000 --- 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 a88cabd2d6..0000000000 --- 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 dbd212255c..0000000000 --- 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 ae71b8bf27..0000000000 --- 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 7e260efbd5..0000000000 --- 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 e127a10155..0000000000 --- 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 199dd30ec8..0000000000 --- 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 6b741c9c15..0000000000 --- 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 5a63a77c45..0000000000 --- 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 ebc68c19be..0000000000 --- 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 0b121cfdcd..0000000000 --- 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 d556218cf1..0000000000 --- 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 3e64df09ff..775c17ec72 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 df174223fc..b3fcbffd6d 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 c2cac9c7f8..63dc7e5600 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 8be5b74295..c678a46ff0 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 4eb9af586c..09a64b1857 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 cbeb4934bc..5fcc955b34 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 3c6d56c1b7..e8651c9ad1 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 9eaf321976..9c07fa9775 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 e75b22acda..2503a4152c 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 39221058a0..c26192066e 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 4fdd2f9225..b215390a30 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 233279020b..d3670e210f 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 bfb67a80a2..39f01d65cc 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 1f10b13667..ed96c59023 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 530a637cb1..52abf0d54b 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 0000000000..fd8026dacd --- /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 0f47e22979..9537249763 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 fb164e6bab..672746f057 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 853f8938fa..0a867d48a3 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 2619a3ece0..5b3ef4ef6d 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 cba78fad0d..edb7c4afd2 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 0000000000..000c6bae31 --- /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 3e6321e9dd..097fde9320 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 a99f2f87f7..5822f76c9e 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 4a89602b6c..90d1e88ce2 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 a8aa67a9b3..ff90bf0b4e 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 a10159400f..f395da2dfd 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 f1a18da072..910c9ed678 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 fb754d6a86..88419d3941 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 0000000000..2ca0cc0a1c --- /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 74b42c95d3..0a94422888 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 f20db0e2e5..474045761e 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 e14c403f6d..745b2d9be4 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 5308c51bd6..05816eff2e 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 0000000000..2e14453920 --- /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 0a21994c82..47829d34ec 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 0000000000..6bb9b556d6 --- /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 ced032337c..5f6d8a5ac0 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 d87996e53f..47b62d22f8 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 0000000000..cf999eabda --- /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 c5b2f37f48..f0b67bacf0 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 75% rename from docs/extensions/nats/_index.md rename to docs/services/nats/_index.md index bd785e2223..789842d9a9 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 0000000000..9af5ae0b65 --- /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 85% rename from docs/extensions/notifications/_index.md rename to docs/services/notifications/_index.md index 0cc731856e..9d27724ced 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 0000000000..de4f28af4a --- /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 88bd6382fc..a675ccf84c 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 af9bd28c45..d9df050871 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 3f74f782c8..3a3df3f464 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 0000000000..cb8afa4319 --- /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 f406b83ec1..8c0dbcb62f 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 ee3e60d7d8..d8502d70cc 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 fc245f06b9..ac340e6406 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 0000000000..1f3e17fc7d --- /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 4a61c4d884..2b98862e01 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 6ee245d617..e9cd6137f9 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 53c2820012..8fb1b92b47 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 6c7153f609..50fd82be77 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 f67e27a3eb..1fa7cca59d 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 5d7d243d9b..c367552b87 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 545e345134..5cf0240fc5 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 171541e2f1..be41c1be9e 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 9ca88c1de0..21f7638805 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 e5ad8de52e..1a87d00b43 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 0000000000..9c34ac21bd --- /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 0f8b2f6013..223ce0f6a3 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 96fb78c4b8..068af4d7a5 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 2556908abe..b79c493097 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 6f4d3e066d..4e58119d61 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 dbddd5532a..2dcb754486 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 853ef9acc7..156fb3fda7 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 ddc5be10a8..9277a24b8d 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 1595260c78..c0070e39fe 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 84c57b0a00..86c71e11c8 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 56% rename from docs/extensions/settings/configuration.md rename to docs/services/thumbnails/configuration.md index ac61a75705..845255d096 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 1c90dbf56c..91f38a4986 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 8aa88d203b..1f621a58d0 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 a37a35a2e1..c5571c001b 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 0000000000..e003438719 --- /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 75f2130ccd..ac9be9f12f 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 7c1e082ae5..1ce3ae9eea 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 4d414c90de..7e0f765b4e 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 570a3c41a3..0000000000 --- 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 dc1c83a80f..0000000000 --- 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 da1feefd43..0000000000 --- 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 61021010b7..0000000000 --- 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 bf2db03f50..0000000000 --- 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 f18c953b98..0000000000 --- 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 00cc7bd14d..0000000000 --- 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 d11a6ed6e9..0000000000 --- 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 f6a9bf09f8..0000000000 --- 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 c965086a7a..0000000000 --- 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 ed0042a0e8..0000000000 --- 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 128b670aee..0000000000 --- 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 eedbb81e23..0000000000 --- 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 b804dd4f8b..0000000000 --- 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 c89befa1b5..0000000000 --- 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 ac8d8dc7e2..0000000000 --- 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 3fff7ec87a..0000000000 --- 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 5b18313cec..0000000000 --- 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 d8e711fc67..0000000000 --- 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 688d997d57..0000000000 --- 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 d82af83bd6..0000000000 --- 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 63938d147e..0000000000 --- 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 f0303cc8a7..0000000000 --- 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 6e4842fb19..0000000000 --- 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 90114df284..0000000000 --- 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 2c59af9067..0000000000 --- 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 c9e262a423..0000000000 --- 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 f69064d4f0..0000000000 --- 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 d620d0e65b..0000000000 --- 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 679d663f9f..0000000000 --- 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 cd3ab196b5..0000000000 --- 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 03549280f2..0000000000 --- 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 1ee5114d9a..0000000000 --- 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 cae95d6900..0000000000 --- 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 14a690a0b9..0000000000 --- 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 cc5342080e..0000000000 --- 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 e663319fc9..0000000000 --- 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 0be6749a48..0000000000 --- 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 c7c66653f0..0000000000 --- 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 fb0bbf230b..0000000000 --- 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 b585f564b9..0000000000 --- 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 a9e1af69fe..0000000000 --- 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 cf6a1af702..0000000000 --- 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 d09325e024..0000000000 --- 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 1eabece470..0000000000 --- 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 52dc14efb5..0000000000 --- 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 77c9277164..0000000000 --- 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 5071fda3ec..0000000000 --- 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 a1b8225fcd..0000000000 --- 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 63d0348db3..0000000000 --- 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 2a7b1de337..0000000000 --- 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 efd329fdfd..0000000000 --- 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 fb8359bd51..0000000000 --- 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 ff47a383b3..0000000000 --- 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 ab352d004d..0000000000 --- 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 d719f39b3f..0000000000 --- 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 61ac5dd87c..0000000000 --- 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 feb67c0b4a..0000000000 --- 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 2806dd93b0..0000000000 --- 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 db1f85bac0..0000000000 --- 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 ccb7b8b703..0000000000 --- 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 62e29b14ab..0000000000 --- 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 e0c72f3709..0000000000 --- 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 ae4879b7fe..0000000000 --- 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 acdafff1b8..0000000000 --- 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 13123e33d9..0000000000 --- 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 f0f1152dc4..0000000000 --- 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 488565c1e3..0000000000 --- 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 2fbc8a96c6..0000000000 --- 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 7f59cbc36f..0000000000 --- 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 542a613c93..0000000000 --- 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 1d43635959..0000000000 --- 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 8f070a68e1..0000000000 --- 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 237cda7fae..fd972634a6 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 13e51770bb..8bfddbca42 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 77b50da45b..59b88543ac 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 b3fa9d1af5..b0546c7af0 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 0ebd027245..89120bd57f 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 a859f03528..b16df293a8 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 3978adf515..58b4d4e0a6 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 1a61993d36..3a850faa67 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 d30be5f6d5..be1e360503 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 485e7ddd02..336823efab 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 cd31c90bb2..741e96cdce 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 2e7e8b08db..b771d3c9e9 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 0f7a8f2cf7..4c54deec1e 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 fd604075ce..ce0acc33e6 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 efce3edcfc..5039434894 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 70d116f41c..21862ade96 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 71923b108b..6b798bf438 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 2078775ad4..7e85591b54 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 b45bdf1883..3f18b96ece 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 31575f5e01..e8c60061ed 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 a5580bde55..0599dc86e8 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 57f5e73140..cc04d64884 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 8b5065a4fc..abeb8310bd 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 51eb65b2a0..127957bc69 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 f19e6a607f..c649fbce41 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 2ca6399006..c935aba9f1 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 4c6257f5d4..ec95cf3a17 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 a3feca244a..9145f532c5 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 a120d71e66..04780870c5 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 8c066096b2..e499e008f6 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 72d61cf0f3..e90af46907 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 44a1486129..f1598332bb 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 addde0baf8..617af037cd 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 82ec98f28a..da60a12a18 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 f1cce21b6c..992a049285 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 1255b71c7b..dd826d6b99 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 d747f567b5..20be56b5b0 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 64e2a9f8bf..b4d54dd299 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 42a9323052..dc5e76bfdb 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 29fb75e166..69aec7639d 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 55b025f121..a25a91c758 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 b14b56e87a..d7bfa5ea77 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 4d2db4d52c..6298622ba2 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 47e658138f..279de4afb9 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 2beaed54c4..21a5a67ab6 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 d892e3f045..9d0293e6fb 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 7e4731e46d..1ce43d1bdc 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 7d78dae35a..5d071bf017 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 7aa342a1eb..a9a6e4cc08 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 01f9d1839c..03a8e6393a 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 148175586d..03c1dba60c 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 43d9153c76..c4afd562c2 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 94f2322bd4..9344b8a9ac 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 829fb5d133..3db69a21ad 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 05acb038a9..f6bdf87dc3 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 c0138a7b4c..c191fbcfff 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 dc8fc2b048..810f1e54d0 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 737ce03237..290a970b3e 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 686e809b63..d288439ea8 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 d8d4f51c8b..4ccc75952e 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 0af0e350b0..8fa6342dc9 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 ed1ecb480c..69ac3bd16f 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 bcac0cd9da..a04b6685ab 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 9aef09d3f7..6a9d91f7d6 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 bb4ac624a2..d1227a0544 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 b2d0fc4dbb..5f8362165a 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 3dd5a8ffa8..063a5986b8 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 0000000000..380a308626 --- /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 1ff3f4c4db..8ac93b5267 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 0000000000..6b0d7e0fb5 --- /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 0000000000..bf5737a49e --- /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 7dba83405b..3f1b27caee 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 0000000000..ea63c5116e --- /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 0000000000..1b172de6e5 --- /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 0000000000..a230f3b8fb --- /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 1c6a3e87fb..f365e874ec 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 6c6a0d817b..faf43b8e08 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 043bf29ef8..ec1ef4d72b 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 24ea141b42..fd904a0095 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 d11ce980ed..c3d0eb0b5a 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 d2db3f7f40..f9c06f903b 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 2732411aad..43adabd426 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 29e1f8742f..4acd0282b9 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 1e42a80caa..961c419634 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 ae64f43a2c..072c4dc7c0 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 89d04ef65d..ec5af41edf 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 ac1e02c888..48f07427d8 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 c7f7dff3b5..d62b0d9e37 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 c1a1e15fb7..cb5bbf6b6c 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 d496dadeac..9e2291bf41 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 113e1b1159..dd558ef079 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 e202c43bee..bf000769c1 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 6e80a90017..004f3523fd 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 cba7891788..32833a1aa4 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 b4f5ec064d..e9a4f98296 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 7da91c5103..62dafeab8b 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 b55b70c560..d264fe2f7d 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 0000000000..8617701cfd --- /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 756205dbe6..040e695b26 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 bb78f2efec..694500d4d6 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 bbf13f1fc3..7a871f12c0 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 0000000000..030171e169 --- /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 2a225d96bc..73e1cc0721 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 0000000000..01890e2e99 --- /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 0000000000..8b55220f5b --- /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 4925ee993b..cf51a02dcc 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 34edb7f825..2fde7978b6 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 0000000000..a44400a041 --- /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 0000000000..125a743d21 --- /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 0000000000..937b0b20cd --- /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 0000000000..cc26ea7f29 --- /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 2657629946..29d9cdc8e3 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 5ec422e3ee..1bb1610f47 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 0000000000..1db2354e44 --- /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 b472bba152..fc1dee5fc5 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 e5493ffc57..1b9c1606a9 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 0000000000..f46568ba12 --- /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 1c9acbacf0..637488da00 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 0000000000..2208627e31 --- /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 0000000000..d2f3b1fc41 --- /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 0000000000..cd6cbc75a2 --- /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 c2e4061d8a..cbdc5dac51 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 bf31f5c79d..1585868261 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 c5eca20b60..313a134969 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 90d395ac47..f52e97ba8a 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 b36862b14d..77ec32121a 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 3dea23c38a..b520d75c71 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 6577e7b230..026ae126c9 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 8303ffbfa7..a1b6d6d440 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 aa0ad16430..31fcf95128 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 96aa7566af..913fe9a70b 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 f10461c48a..84dfc1c71f 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 93f60b5026..84ced0ccbb 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 3263360b48..d22e804011 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 d6bdf3924e..1dd8229b69 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 058d6b4f06..41cddd994c 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 375f0a8f30..3287c92307 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 5dcb649231..6e4fcfc078 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 f7616174af..34d36e16ed 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 62146646b3..aea69ba8cb 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 17ab56c5c3..20e57dfb50 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 ad93f3eaea..3d9850a9c0 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 5ad37a18d9..4ff6334a9b 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 362e1d2ef9..4f2e20c60f 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 661aaff865..82af583167 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 5ae469c71c..092cd87412 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 d0d5e11550..b02703243a 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 f57e9707b9..b83a33c820 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 ce7e1dbafa..ad9e1be393 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 f70d840f6d..db484c4db8 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 33e305f4be..49b923e9a5 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 1e2d77b167..f342e7037f 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 d6f355a2ff..a77ced49d5 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 84c3be9c63..7fd5a58f45 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 b0ca9348ac..ac86e54fd5 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 0000000000..424d621f39 --- /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 3edd095782..b174852820 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 865bf7b101..bb35c2cd13 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 82bf24f2be..58dfd3d01f 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 ea1eb949f9..f3a2f690f9 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 3875aa90b6..055f82388a 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 12c3f16386..2371083fbc 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 b40fbb0507..7844daa6af 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 125f0d5900..e1cbbbd641 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 d1132fbeff..0e563e60e0 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 d8d46cc6a7..e0a1f0e7bb 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 c792be769c..ebf93b1436 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 a9c59d81c4..508654e31c 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 145c528944..d0fa4780b8 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 8c2dd73c61..039edbfb86 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 f7726179bc..959d62e741 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 aac54eca44..87d0b17162 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 76d45f3e4d..d48a2d3158 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 e123ba8dbb..fc6c487f72 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 5bc027ec0d..15d679041c 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 1eca46af32..a4b779eb2b 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 85cd8127d1..4b6ad6cecb 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 a2e1fc5b39..641c8438a7 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 ed208ad22a..5ffb9ae08b 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 68c40d5872..0307bdf006 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 1a0d9db1fe..956b5b6d70 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 1b0ab42462..9117b56b1c 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 89ce1fb024..a119713c38 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 6d19bd7b48..8afdf65a01 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 7cad7f7c9c..80503fe9be 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 b8ebe47479..90a2b1b72d 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 c94b969f34..b5318953dc 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 65a0cb2edf..e26242ca7a 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 ee31660a86..75066e61d8 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 d567e3e98f..96f8e9cc75 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 fe7439f635..b0b22395b0 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 afd9425687..2172fc8450 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 0000000000..9925b7ce68 --- /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 9488ae0028..c0de62dfd0 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 00c1247b30..f90bef7c46 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 5985b23234..1800ebcf27 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 459d6f097f..e9e607b0bf 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 a55593fbb0..074f6972d1 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 57b1adac71..fa3a411197 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 2bdae3d6e8..7e6d7fc430 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 0000000000..54c9e8fa82 --- /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 2ef2c7e600..c27e1da6ec 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 334ec29712..db09c1b292 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 0000000000..f30202e587 --- /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 9d4cedc459..1b7d5a4841 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 c4057e9cf3..4db8342e21 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 45f6e2d18f..bd1cca2b10 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 fff10c540f..f18727e12f 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 985ec60cec..b736f06ea4 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 e5c791e1dc..4695725600 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 9be2a6b5ca..615554e51c 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 5648bbbcf3..3ed1956c11 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 6db3a833e5..3ab54d3f70 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 0000000000..174283c909 --- /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 6e89ac6f25..fe8dbf575e 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 964332d5a7..24bc638d11 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 33376cb6c5..687d806fe5 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 c09d8042ec..409c036f06 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 31024e92f2..46a277b382 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 a49d4ce944..59652acf50 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 2fd213cdfa..8953b4c6b2 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 0a978219c5..3939baccdb 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 c52de8351e..4bd94fe842 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 e7e18caa1d..11bbe1fa81 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 a89ad2aa8f..1f4cb85bc4 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 bac512a9c4..8d99b20d20 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 fffc93a8a0..84074fb87e 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 e974dc9d41..6e03aa2ab2 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 8c7a948eae..ddc7c24c05 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 ae058da847..e8ba550102 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 8f6b8db360..a32a0ecb29 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 43ef5bc0fb..339597b54a 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 0000000000..4b5803ac78 --- /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 530bf24cb0..75e5ab838e 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 faa3018391..b516746284 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 9c029815ce..5bed4387e9 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 0a90a7e1bb..cedb412b1e 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 1766572423..d130a8ac2a 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 677e5906ca..b741cf3a09 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 0000000000..230b1d7f79 --- /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 0a6ebecb97..5d5752af38 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 62881dd750..e058e2db29 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 740dd8af8b..bcc1df71ab 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 bf90ee56be..17d52afe63 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 1b9a68f103..91f43b1b93 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 d1b55c18ff..153f65af38 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 5f29ea9278..c01c4d2f62 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 6bb231a066..72ccfb22f9 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 70706b74a4..982389bcf5 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 a2d4a7cc7d..d6c8f97051 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 56faeab58c..9875027bdb 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 640ed8bd80..8724a43adb 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 9b2bbf7d9c..b96cc01813 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 2109e63039..7af4075539 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 64522d25c0..71ab3f9019 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 e41d021b8e..804e565284 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 bb7822ca94..6a1de96b28 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 0000000000..f5341b839f --- /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 360025b000..76dc12aa51 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 0d3a8d2499..43f2b2e748 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 41f6df08f1..b9f661c861 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 0000000000..a2b9021ead --- /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 0000000000..197c2e1ca8 --- /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 0ab6e61599..9e3436e079 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 ade9fa50d8..8de4dd160d 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 ae2b44f312..4d3bf8bba2 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 79d839aee3..d2ce6df71b 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 d9e3c55908..ecb6b0e184 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 0000000000..9156b2b814 --- /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 7e51bd7f6d..a9444902d9 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 4e41843c31..87f58eebe0 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 38cef44827..51ce63d1e7 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 1cb30477a1..2b17f178b0 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 0000000000..2533141d95 --- /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 09c2b80f74..ec14464947 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 98462b72a6..dd10e91e2c 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 47f42247ac..1f3a4b608d 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 da4b7bc9ff..9ff28bad19 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 ce0a658e60..be933718ef 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 c139873439..15c42b348f 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 ba4a7b9b3a..bfefbe61f0 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 6731d1fa48..d1035fcd74 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 fe7f717606..5e72bc257a 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 1abae288d9..372d0c9c95 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 035288b980..d666033d45 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 ab9d2df2ba..6119fac108 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 d632da7f4a..7db75b5de0 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 0000000000..cb9ee814bf --- /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 467a1bfca3..1f809d049f 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 769dba9620..b41633ea95 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 e2d1a6eb0e..b24caa11ba 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 b7f90f8d1f..566373002a 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 02f20229bb..14218d9e8e 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 10b650aef7..bbc4dcc3d3 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 0000000000..f4a0b6959f --- /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 451eeee7a1..2972264d5d 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 7da0d9a5e7..14a74225cb 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 5d54283cbc..b7d480d87b 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 a115fd10aa..332b5eb6e3 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 6701e71b16..63994ee8e4 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 1c99ba411e..f0ec0d1f24 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 e917d3e7a9..d71036d5a7 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 13d8b461e2..628e9087c7 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 f462d26c8e..05cf5d3a4c 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 ebe344fd32..1821382262 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 6d27096ecb..a275d788b1 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 afe0145cc8..7f173d6894 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 e270b640f1..0fa67a77b1 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 0000000000..5174c60d46 --- /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 02d7d3f0b6..ccc766ab32 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 ebe89721b6..3955118fd7 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 7b6db6d58a..b8a07b12ca 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 57fbb552b5..cad1139a2d 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 fbcaf5d7ab..49c642a29a 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 0000000000..70103e7bf0 --- /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 9ce5a68dd3..21060de80d 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 4e6ecc65c9..981395164c 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 5bc7db0e42..204aab9f84 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 2c72c8e07f..ab6284edf2 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 ac5ca55abd..9aba6033b0 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 8eed2a2166..213dfc5ab1 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 8be7eb621b..fafad8f848 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 0000000000..28f1aebef1 --- /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 7d7b0afc49..cbc77cf16a 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 f90b9b0e26..b1c9dfdc51 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 5b0301c8e6..310909021f 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 5f72782735..ee131614a8 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 0000000000..9ee3329929 --- /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 ba4eed23af..db1e4cedd4 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 ddd6eab888..1aec67b003 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 a604223d88..28bad68a3c 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 cb4e4bdca6..9f1a7d19eb 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 235b561019..d3fd24724a 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 6e7d39a3bb..a9778903db 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 48bb27dc78..1e21338dd8 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 0ea16cb54c..75104c2f0e 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 e0e7397ef4..68dee3672a 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 152045ecd8..dd53b3cae1 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 26f863b18e..9306b00bf9 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 9ad6bb137a..9ac087f77d 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 66ec6ceb3c..05e3d70b3d 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 acf9626093..1e9071a78a 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 0000000000..f12ce8916e --- /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 0000000000..bfafab5a49 --- /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 b6905ec459..e1ed5ff2cb 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 6268f4be93..b87b02813d 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 7d2469606d..b8690a3db7 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 6d1e81f5e6..e4537ffb12 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 d8b173a8bb..ec96b0f4d4 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 d5d13961c0..882a1e1840 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 7aa6e1afbb..00a3b39410 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 7142ebc096..2c08461aed 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 5037fa1b27..19658ed0e4 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 e24c632550..91173c657d 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 3b5430d42d..50746fe1da 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 2e59192fda..38b5f5a6da 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 a84886202d..a01ba65468 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 4782648fe5..970e3e73ff 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 19165fac8d..18d246a46a 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 d55b756c05..36cdd7c96d 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 d70c7dbcee..9756db8d62 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 3e37d5d52c..654c3bba4c 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 6795629892..bb1c75ff89 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 0000000000..7c77715982 --- /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 9532fd2972..46a5bbd813 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 7346590a0b..54e0996e3f 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 9b2dd4d9f6..1c2bb37ed4 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 38e6cd0e30..fae443c937 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 3b9470c1a3..97737f8afe 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 0000000000..368f0710d2 --- /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 54513c932b..890320cc95 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 f6a43b2b76..32cc5624c7 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 a62806d0db..55fa28366f 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 efd5de2243..5b5634f1fb 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 ab52227f95..cfae7d88d4 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 0000000000..7c4ffd8469 --- /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 0000000000..b9eb3cfd0f --- /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 0000000000..6d2415a007 --- /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 0000000000..b2f3889f50 --- /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 c49903d06e..831cb046ec 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 9a49633fd2..66dd9c9d8e 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 491f02c280..31e23c9f38 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 0845d0a024..fd94933ef7 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 0000000000..b081f858be --- /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 0000000000..c5a037c836 --- /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 8a0f0285ed..2c2cfd9c00 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 0000000000..4d3645a629 --- /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 d54147b6c7..61b501b58a 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 2c975afc52..56551e597d 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 43c7ac4783..8a8f9336be 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 912ecdfb02..90e68c8ba1 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 062a22e673..5d8db7f5ec 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 a782f0e393..e541979971 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 a687bbde99..df3e40b2fc 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 9569e34401..b9664276f5 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 96fd9792be..6c7b5c3716 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 9776ff7481..f7f4151ca1 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 c015546221..d6d29ba0ef 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 043e3fefe9..3363308d19 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 82ffa38add..159b70fdb1 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 0311f3b892..80077224d9 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 023b61ff43..d9242ea057 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 50b886f724..8b5d5e116a 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 4cc90487d0..8e9847e606 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 3ece430e41..b06a3ad908 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 b65c39ee67..43898d1490 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 b6825d9801..f5daefdfa0 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 bb110555b6..ce706ed670 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 5bd741e063..f2419085eb 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 f9b2c327e9..99e50e562b 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 057a52990d..e0b1643775 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 7812ed6dee..0c83d77422 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 49a7a96af6..531ef376ab 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 0000000000..c3c7bc7e3f --- /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 87cb099137..9dcb45556a 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 9b22048030..ae9dd94c0e 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 e62f58f5c1..7cf8b60a99 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 ff482957f6..153d72e551 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 86fcba1588..be958a5360 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 7ee80bb04e..049a504ab9 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 0000000000..e0576506bb --- /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 e9a281eea3..21ce7f2e73 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 139c47027f..ca06607772 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 07ec936357..1ef04bc738 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 32d5140738..bad45bf058 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 67a0dc3f04..8a9fca7123 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 0000000000..ecf42e8193 --- /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 0000000000..e08ec2c782 --- /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 2d9a1d2880..5396b1103e 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 a697408657..8b08d7a4eb 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 0000000000..b1cfe57429 --- /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 3f765cda5a..1755b81116 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 2729c98a1e..5fb6a3c557 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 0000000000..13fcd37052 --- /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 0000000000..1613a3ef87 --- /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 e5f4e44167..09507ef0db 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 2e3813dd40..dc8e168437 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 2d7e918cb9..0a3de8549d 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 7cd8f70789..46bea78990 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 50919c2f0e..57499d89f4 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 4bb2401ad3..6e6e705261 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 9fdc691924..f0a86f58bf 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 9ff7965c77..d8e1210b01 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 f270959d2a..efa87a675e 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 85efcc7f71..7f8392c7f8 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 7fd1d3afcb..5b893a8979 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 3a179e0f5e..752169b8e2 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 0a36b2a32b..020c137473 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 20dc29549f..86405182a9 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 dfced5ae67..534a47f1cc 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 43d2caeee6..3a1ddcea74 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 c5cd4f3e30..ede5c12070 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 1eee17df2a..9f78524f0f 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 5cdd52aa83..6cb7020ee5 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 540dce1552..7f03f4080e 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 df1359417e..66f481ee1d 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 1f5f24dc23..d19828a70c 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 e62d961330..19b341c580 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 ba6c35f929..e6cc0cac59 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 259a5dc4d6..91fc4f9a62 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 e3535ed66a..13f2f52a7f 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 b715dddd27..a124ab7e63 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 40e9cbd438..b9d46bbea6 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 00287d102d..3d1edd56f9 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 4b4d9fc7ff..692669d302 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 6a156410e8..c1efbe22e9 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 3b368d12cd..cf301a0ddb 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 3b2ea32fbf..984cdc95bd 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 0000000000..cae358d3c0 --- /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 0000000000..729dcf4d09 --- /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 d88536de46..7ce50ddf07 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 bd1db9054d..0073a8a637 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 0000000000..d4f8c4038a --- /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 89db09946f..fb8c5b13ac 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 f12fc1f978..b776daa64c 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 0000000000..88769574a5 --- /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 1c29ccd4ab..434daf23d3 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 0000000000..2b1b96a8a5 --- /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 0000000000..b7871834c1 --- /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 0000000000..b75884091d --- /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 0000000000..9974c37fc9 --- /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 78cdb2e994..c839c29ddd 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 0000000000..633067f856 --- /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 73381e194b..ef57b49566 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 40d2e0c910..ba7f1f539c 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 0000000000..faef4e15bc --- /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 e27191c6b4..48584ec78f 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 898249ef25..664a6f5969 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 0000000000..c0a956944d --- /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 84fb50934b..fa2033fc31 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 0000000000..e132791218 --- /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 0000000000..4fa164df78 --- /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 ff4b19d721..5ae833c361 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 8f0d964aad..6984c65b44 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 7a625b7eb0..2d89f069d6 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 d86aa51d33..a7f4cd0312 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 32af6f5330..342c39e254 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 b23c4605dc..378e1e0c36 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 0000000000..84449ec2e3 --- /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 0000000000..e0bc1d5d28 --- /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 9501820cda..c8f857ca2c 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 f83ed0de55..9b59d7d324 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 0000000000..fed75e7920 --- /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 57e8564e51..107f8e9b15 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 2625948bb8..f1f34ba495 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 134034cd3a..4f8d5036c7 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 0000000000..e7e5fed88b --- /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 a747b5860f..3bc8e4f9c6 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 0000000000..c0820ebf56 --- /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 6a46abc3b8..e9b9d3c906 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 ceff8482c1..e05f6aaf29 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 498f9926cb..f5b782507f 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 34e318c589..3ede8164b4 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 1bdab9a32f..a2c5dc641d 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 75ff164c55..7ba77db16f 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 a914169d93..89f60fe583 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 fda0ae3734..cbcadf44ed 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 b492a3a391..b2bc3a85ac 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)