diff --git a/.drone.star b/.drone.star index 20e2a1936..01d5b7708 100644 --- a/.drone.star +++ b/.drone.star @@ -44,35 +44,35 @@ DEFAULT_NODEJS_VERSION = "14" config = { "modules": [ # if you add a module here please also add it to the root level Makefile - "extensions/app-provider", - "extensions/app-registry", - "extensions/audit", - "extensions/auth-basic", - "extensions/auth-bearer", - "extensions/auth-machine", - "extensions/frontend", - "extensions/gateway", - "extensions/graph-explorer", - "extensions/graph", - "extensions/groups", - "extensions/idm", - "extensions/idp", - "extensions/nats", - "extensions/notifications", - "extensions/ocdav", - "extensions/ocs", - "extensions/proxy", - "extensions/settings", - "extensions/sharing", - "extensions/storage-system", - "extensions/storage-publiclink", - "extensions/storage-shares", - "extensions/storage-users", - "extensions/store", - "extensions/thumbnails", - "extensions/users", - "extensions/web", - "extensions/webdav", + "services/app-provider", + "services/app-registry", + "services/audit", + "services/auth-basic", + "services/auth-bearer", + "services/auth-machine", + "services/frontend", + "services/gateway", + "services/graph-explorer", + "services/graph", + "services/groups", + "services/idm", + "services/idp", + "services/nats", + "services/notifications", + "services/ocdav", + "services/ocs", + "services/proxy", + "services/settings", + "services/sharing", + "services/storage-system", + "services/storage-publiclink", + "services/storage-shares", + "services/storage-users", + "services/store", + "services/thumbnails", + "services/users", + "services/web", + "services/webdav", "ocis-pkg", "ocis", ], @@ -777,7 +777,7 @@ def settingsUITests(ctx, storage = "ocis", accounts_hash_difficulty = 4): "LOCAL_UPLOAD_DIR": "/uploads", "NODE_TLS_REJECT_UNAUTHORIZED": 0, "WEB_PATH": "/srv/app/web", - "FEATURE_PATH": "/drone/src/extensions/settings/ui/tests/acceptance/features", + "FEATURE_PATH": "/drone/src/services/settings/ui/tests/acceptance/features", "MIDDLEWARE_HOST": "http://middleware:3000", }, "commands": [ @@ -788,7 +788,7 @@ def settingsUITests(ctx, storage = "ocis", accounts_hash_difficulty = 4): "git checkout $WEB_COMMITID", # TODO: settings/package.json has all the acceptance test dependencies # they shouldn't be needed since we could also use them from web:/tests/acceptance/package.json - "cd /drone/src/extensions/settings", + "cd /drone/src/services/settings", "yarn install --immutable", "make test-acceptance-webui", ], @@ -1640,8 +1640,8 @@ def ocisServer(storage, accounts_hash_difficulty = 4, volumes = [], depends_on = "SHARING_USER_OWNCLOUDSQL_DB_PORT": 3306, "SHARING_USER_OWNCLOUDSQL_DB_NAME": "owncloud", # General oCIS config - # OCIS_RUN_EXTENSIONS specifies to start all fullstack extensions except idm and idp. These are replaced by external services - "OCIS_RUN_EXTENSIONS": "app-registry,app-provider,auth-basic,auth-bearer,auth-machine,frontend,gateway,graph,graph-explorer,groups,nats,notifications,ocdav,ocs,proxy,search,settings,sharing,storage-system,storage-publiclink,storage-shares,storage-users,store,thumbnails,users,web,webdav", + # OCIS_RUN_SERVICES specifies to start all fullstack services except idm and idp. These are replaced by external services + "OCIS_RUN_SERVICES": "app-registry,app-provider,auth-basic,auth-bearer,auth-machine,frontend,gateway,graph,graph-explorer,groups,nats,notifications,ocdav,ocs,proxy,search,settings,sharing,storage-system,storage-publiclink,storage-shares,storage-users,store,thumbnails,users,web,webdav", "OCIS_LOG_LEVEL": "info", "OCIS_URL": OCIS_URL, "FRONTEND_ENABLE_RESHARING": "true", diff --git a/.gitignore b/.gitignore index 82ae55de5..ec289b446 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,10 @@ # coverage reports */coverage.out -extensions/*/coverage.out +services/*/coverage.out # unit test reports */checkstyle.xml -extensions/*/checkstyle.xml +services/*/checkstyle.xml # nodejs / yarn */package-lock.json @@ -14,9 +14,9 @@ yarn.lock # build artifacts */bin -extensions/*/bin +services/*/bin dist/ -extensions/*/assets +services/*/assets ocis/ocis ocis/cmd/ocis/__debug_bin ocis/cmd/ocis/config/ diff --git a/.make/docs.mk b/.make/docs.mk index b7adfd437..d8a771c7a 100644 --- a/.make/docs.mk +++ b/.make/docs.mk @@ -1,6 +1,6 @@ SKIP_CONFIG_DOCS_GENERATE ?= 0 -CONFIG_DOCS_BASE_PATH ?= ../../docs/extensions +CONFIG_DOCS_BASE_PATH ?= ../../docs/services .PHONY: config-docs-generate config-docs-generate: #$(FLAEX) diff --git a/.vscode/launch.json b/.vscode/launch.json index 32492d9ca..0ecba45fa 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -21,8 +21,8 @@ "PROXY_ENABLE_BASIC_AUTH": "true", // demo users "IDM_CREATE_DEMO_USERS": "true", - // OCIS_RUN_EXTENSIONS allows to start a subset of extensions even in the supervised mode - //"OCIS_RUN_EXTENSIONS": "settings,storage-system,graph,graph-explorer,idp,idm,ocs,store,thumbnails,web,webdav,frontend,gateway,users,groups,auth-basic,auth-bearer,storage-authmachine,storage-users,storage-shares,storage-publiclink,storage-system,app-provider,sharing,proxy,ocdav", + // OCIS_RUN_SERVICES allows to start a subset of services even in the supervised mode + //"OCIS_RUN_SERVICES": "settings,storage-system,graph,graph-explorer,idp,idm,ocs,store,thumbnails,web,webdav,frontend,gateway,users,groups,auth-basic,auth-bearer,storage-authmachine,storage-users,storage-shares,storage-publiclink,storage-system,app-provider,sharing,proxy,ocdav", /* * Keep secrets and passwords in one block to allow easy uncommenting diff --git a/Makefile b/Makefile index 6b8059ea2..0635429d8 100644 --- a/Makefile +++ b/Makefile @@ -16,35 +16,35 @@ L10N_MODULES := $(shell find . -path '*.tx*' -name 'config' | sed 's|/[^/]*$$||' # if you add a module here please also add it to the .drone.star file OCIS_MODULES = \ - extensions/app-provider \ - extensions/app-registry \ - extensions/audit \ - extensions/auth-basic \ - extensions/auth-bearer \ - extensions/auth-machine \ - extensions/frontend \ - extensions/gateway \ - extensions/graph \ - extensions/graph-explorer \ - extensions/groups \ - extensions/idm \ - extensions/idp \ - extensions/nats \ - extensions/notifications \ - extensions/ocdav \ - extensions/ocs \ - extensions/proxy \ - extensions/settings \ - extensions/sharing \ - extensions/storage-system \ - extensions/storage-publiclink \ - extensions/storage-shares \ - extensions/storage-users \ - extensions/store \ - extensions/thumbnails \ - extensions/users \ - extensions/web \ - extensions/webdav\ + services/app-provider \ + services/app-registry \ + services/audit \ + services/auth-basic \ + services/auth-bearer \ + services/auth-machine \ + services/frontend \ + services/gateway \ + services/graph \ + services/graph-explorer \ + services/groups \ + services/idm \ + services/idp \ + services/nats \ + services/notifications \ + services/ocdav \ + services/ocs \ + services/proxy \ + services/settings \ + services/sharing \ + services/storage-system \ + services/storage-publiclink \ + services/storage-shares \ + services/storage-users \ + services/store \ + services/thumbnails \ + services/users \ + services/web \ + services/webdav\ ocis \ ocis-pkg diff --git a/changelog/unreleased/refactor-extensions-to-services.md b/changelog/unreleased/refactor-extensions-to-services.md new file mode 100644 index 000000000..ebe84055e --- /dev/null +++ b/changelog/unreleased/refactor-extensions-to-services.md @@ -0,0 +1,7 @@ +Enhancement: Refactor extensions to services + +We have decided to name all extensions, we maintain and provide with ocis, +services from here on to avoid confusion between external extensions and code +we provide and maintain. + +https://github.com/owncloud/ocis/pull/3980 diff --git a/deployments/examples/oc10_ocis_parallel/docker-compose.yml b/deployments/examples/oc10_ocis_parallel/docker-compose.yml index 60cb9095c..114398b74 100644 --- a/deployments/examples/oc10_ocis_parallel/docker-compose.yml +++ b/deployments/examples/oc10_ocis_parallel/docker-compose.yml @@ -109,8 +109,8 @@ services: # ownCloud storage readonly OCIS_STORAGE_READ_ONLY: "false" # TODO: conflict with OWNCLOUDSQL -> https://github.com/owncloud/ocis/issues/2303 # General oCIS config - # OCIS_RUN_EXTENSIONS specifies to start all fullstack extensions except idm and idp. These are replaced by external services - OCIS_RUN_EXTENSIONS: app-registry,app-provider,auth-basic,auth-bearer,auth-machine,frontend,gateway,graph,graph-explorer,groups,nats,notifications,ocdav,ocs,proxy,search,settings,sharing,storage-system,storage-publiclink,storage-shares,storage-users,store,thumbnails,users,web,webdav + # OCIS_RUN_SERVICES specifies to start all fullstack services except idm and idp. These are replaced by external services + OCIS_RUN_SERVICES: app-registry,app-provider,auth-basic,auth-bearer,auth-machine,frontend,gateway,graph,graph-explorer,groups,nats,notifications,ocdav,ocs,proxy,search,settings,sharing,storage-system,storage-publiclink,storage-shares,storage-users,store,thumbnails,users,web,webdav OCIS_LOG_LEVEL: ${OCIS_LOG_LEVEL:-error} # make oCIS less verbose OCIS_LOG_COLOR: "${OCIS_LOG_COLOR:-false}" OCIS_URL: https://${CLOUD_DOMAIN:-cloud.owncloud.test} diff --git a/deployments/examples/ocis_hello/config/ocis/proxy.yaml b/deployments/examples/ocis_hello/config/ocis/proxy.yaml index 7f19ee796..e7db5e37a 100644 --- a/deployments/examples/ocis_hello/config/ocis/proxy.yaml +++ b/deployments/examples/ocis_hello/config/ocis/proxy.yaml @@ -5,7 +5,7 @@ policy_selector: policies: - name: ocis routes: - # defaults, taken from https://owncloud.dev/extensions/proxy/configuration/ + # defaults, taken from https://owncloud.dev/services/proxy/configuration/ - endpoint: / backend: http://localhost:9100 - endpoint: /.well-known/ diff --git a/deployments/examples/ocis_ldap/docker-compose.yml b/deployments/examples/ocis_ldap/docker-compose.yml index 13f2b2c95..6adf5522f 100644 --- a/deployments/examples/ocis_ldap/docker-compose.yml +++ b/deployments/examples/ocis_ldap/docker-compose.yml @@ -72,8 +72,8 @@ services: IDP_LDAP_UUID_ATTRIBUTE: "ownclouduuid" IDP_LDAP_UUID_ATTRIBUTE_TYPE: binary GRAPH_LDAP_SERVER_WRITE_ENABLED: "false" # assuming the external ldap is readonly - # OCIS_RUN_EXTENSIONS specifies to start all extensions except glauth, idm and accounts. These are replaced by external services - OCIS_RUN_EXTENSIONS: app-registry,app-provider,audit,auth-basic,auth-bearer,auth-machine,frontend,gateway,graph,graph-explorer,groups,idp,nats,notifications,ocdav,ocs,proxy,search,settings,sharing,storage-system,storage-publiclink,storage-shares,storage-users,store,thumbnails,users,web,webdav + # OCIS_RUN_SERVICES specifies to start all services except glauth, idm and accounts. These are replaced by external services + OCIS_RUN_SERVICES: app-registry,app-provider,audit,auth-basic,auth-bearer,auth-machine,frontend,gateway,graph,graph-explorer,groups,idp,nats,notifications,ocdav,ocs,proxy,search,settings,sharing,storage-system,storage-publiclink,storage-shares,storage-users,store,thumbnails,users,web,webdav # General oCIS config OCIS_URL: https://${OCIS_DOMAIN:-ocis.owncloud.test} OCIS_LOG_LEVEL: ${OCIS_LOG_LEVEL:-error} # make oCIS less verbose diff --git a/docs/Makefile b/docs/Makefile index 12121bd84..0de6a1b53 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -7,7 +7,7 @@ help: @grep -E '^[a-zA-Z0-9_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' .PHONY: docs-generate -docs-generate: ## run docs-generate for all oCIS extensions +docs-generate: ## run docs-generate for all oCIS services @pushd helpers && go run configenvextractor.go; popd @$(MAKE) --no-print-directory -C ../ docs-generate diff --git a/docs/extensions/gateway/configuration.md b/docs/extensions/gateway/configuration.md deleted file mode 100644 index 3ff17a8e8..000000000 --- a/docs/extensions/gateway/configuration.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Service Configuration -date: 2018-05-02T00:00:00+00:00 -weight: 20 -geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/gateway -geekdocFilePath: configuration.md -geekdocCollapseSection: true ---- - -## Example YAML Config - -{{< include file="extensions/_includes/gateway-config-example.yaml" language="yaml" >}} - -{{< include file="extensions/_includes/gateway_configvars.md" >}} diff --git a/docs/extensions/graph-explorer/configuration.md b/docs/extensions/graph-explorer/configuration.md deleted file mode 100644 index a88cabd2d..000000000 --- a/docs/extensions/graph-explorer/configuration.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Service Configuration -date: 2018-05-02T00:00:00+00:00 -weight: 20 -geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/graph-explorer -geekdocFilePath: configuration.md -geekdocCollapseSection: true ---- - -## Example YAML Config - -{{< include file="extensions/_includes/graph-explorer-config-example.yaml" language="yaml" >}} - -{{< include file="extensions/_includes/graph-explorer_configvars.md" >}} \ No newline at end of file diff --git a/docs/extensions/graph/configuration.md b/docs/extensions/graph/configuration.md deleted file mode 100644 index dbd212255..000000000 --- a/docs/extensions/graph/configuration.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: Service Configuration -date: 2018-05-02T00:00:00+00:00 -weight: 20 -geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/graph -geekdocFilePath: configuration.md -geekdocCollapseSection: true ---- -## Example YAML Config - -{{< include file="extensions/_includes/graph-config-example.yaml" language="yaml" >}} - -{{< include file="extensions/_includes/graph_configvars.md" >}} \ No newline at end of file diff --git a/docs/extensions/groups/configuration.md b/docs/extensions/groups/configuration.md deleted file mode 100644 index ae71b8bf2..000000000 --- a/docs/extensions/groups/configuration.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Service Configuration -date: 2018-05-02T00:00:00+00:00 -weight: 20 -geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/groups -geekdocFilePath: configuration.md -geekdocCollapseSection: true ---- - -## Example YAML Config - -{{< include file="extensions/_includes/groups-config-example.yaml" language="yaml" >}} - -{{< include file="extensions/_includes/groups_configvars.md" >}} diff --git a/docs/extensions/notifications/configuration.md b/docs/extensions/notifications/configuration.md deleted file mode 100644 index 7e260efbd..000000000 --- a/docs/extensions/notifications/configuration.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Service Configuration -date: 2018-05-02T00:00:00+00:00 -weight: 20 -geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/notifications -geekdocFilePath: configuration.md -geekdocCollapseSection: true ---- - -## Example YAML Config - -{{< include file="extensions/_includes/notifications-config-example.yaml" language="yaml" >}} - -{{< include file="extensions/_includes/notifications_configvars.md" >}} \ No newline at end of file diff --git a/docs/extensions/proxy/configuration.md b/docs/extensions/proxy/configuration.md deleted file mode 100644 index e127a1015..000000000 --- a/docs/extensions/proxy/configuration.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Service Configuration -date: 2018-05-02T00:00:00+00:00 -weight: 20 -geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/proxy -geekdocFilePath: configuration.md -geekdocCollapseSection: true ---- - -## Example YAML Config - -{{< include file="extensions/_includes/proxy-config-example.yaml" language="yaml" >}} - -{{< include file="extensions/_includes/proxy_configvars.md" >}} \ No newline at end of file diff --git a/docs/extensions/sharing/configuration.md b/docs/extensions/sharing/configuration.md deleted file mode 100644 index 199dd30ec..000000000 --- a/docs/extensions/sharing/configuration.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Service Configuration -date: 2018-05-02T00:00:00+00:00 -weight: 20 -geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/sharing -geekdocFilePath: configuration.md -geekdocCollapseSection: true ---- - -## Example YAML Config - -{{< include file="extensions/_includes/sharing-config-example.yaml" language="yaml" >}} - -{{< include file="extensions/_includes/sharing_configvars.md" >}} diff --git a/docs/extensions/storage-publiclink/configuration.md b/docs/extensions/storage-publiclink/configuration.md deleted file mode 100644 index 6b741c9c1..000000000 --- a/docs/extensions/storage-publiclink/configuration.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Service Configuration -date: 2018-05-02T00:00:00+00:00 -weight: 20 -geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/storage-publiclink -geekdocFilePath: configuration.md -geekdocCollapseSection: true ---- - -## Example YAML Config - -{{< include file="extensions/_includes/storage-publiclink-config-example.yaml" language="yaml" >}} - -{{< include file="extensions/_includes/storage-publiclink_configvars.md" >}} diff --git a/docs/extensions/storage-shares/configuration.md b/docs/extensions/storage-shares/configuration.md deleted file mode 100644 index 5a63a77c4..000000000 --- a/docs/extensions/storage-shares/configuration.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Service Configuration -date: 2018-05-02T00:00:00+00:00 -weight: 20 -geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/storage-shares -geekdocFilePath: configuration.md -geekdocCollapseSection: true ---- - -## Example YAML Config - -{{< include file="extensions/_includes/storage-shares-config-example.yaml" language="yaml" >}} - -{{< include file="extensions/_includes/storage-shares_configvars.md" >}} diff --git a/docs/extensions/storage-system/configuration.md b/docs/extensions/storage-system/configuration.md deleted file mode 100644 index ebc68c19b..000000000 --- a/docs/extensions/storage-system/configuration.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Service Configuration -date: 2018-05-02T00:00:00+00:00 -weight: 20 -geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/storage-system -geekdocFilePath: configuration.md -geekdocCollapseSection: true ---- - -## Example YAML Config - -{{< include file="extensions/_includes/storage-system-config-example.yaml" language="yaml" >}} - -{{< include file="extensions/_includes/storage-system_configvars.md" >}} diff --git a/docs/extensions/storage-users/configuration.md b/docs/extensions/storage-users/configuration.md deleted file mode 100644 index 0b121cfdc..000000000 --- a/docs/extensions/storage-users/configuration.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Service Configuration -date: 2018-05-02T00:00:00+00:00 -weight: 20 -geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/storage-users -geekdocFilePath: configuration.md -geekdocCollapseSection: true ---- - -## Example YAML Config - -{{< include file="extensions/_includes/storage-users-config-example.yaml" language="yaml" >}} - -{{< include file="extensions/_includes/storage-users_configvars.md" >}} diff --git a/docs/extensions/store/configuration.md b/docs/extensions/store/configuration.md deleted file mode 100644 index d556218cf..000000000 --- a/docs/extensions/store/configuration.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Service Configuration -date: 2018-05-02T00:00:00+00:00 -weight: 20 -geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/store -geekdocFilePath: configuration.md -geekdocCollapseSection: true ---- - -## Example YAML Config - -{{< include file="extensions/_includes/store-config-example.yaml" language="yaml" >}} - -{{< include file="extensions/_includes/store_configvars.md" >}} \ No newline at end of file diff --git a/docs/helpers/adoc-generator.go.tmpl b/docs/helpers/adoc-generator.go.tmpl index 3e64df09f..775c17ec7 100644 --- a/docs/helpers/adoc-generator.go.tmpl +++ b/docs/helpers/adoc-generator.go.tmpl @@ -35,7 +35,7 @@ if err != nil { log.Fatal(err) } replacer := strings.NewReplacer( - "github.com/owncloud/ocis/v2/extensions/", "", + "github.com/owncloud/ocis/v2/services/", "", "/pkg/config/defaults", "", ) var fields []ConfigField @@ -48,7 +48,7 @@ m := map[string]interface{}{ {{- end }} } - targetFolder := "../../docs/extensions/_includes/adoc/" + targetFolder := "../../docs/services/_includes/adoc/" for pkg, conf := range m { fields = GetAnnotatedVariables(conf) if len(fields) > 0 { diff --git a/docs/helpers/configenvextractor.go b/docs/helpers/configenvextractor.go index df174223f..b3fcbffd6 100644 --- a/docs/helpers/configenvextractor.go +++ b/docs/helpers/configenvextractor.go @@ -20,7 +20,7 @@ var targets = map[string]string{ func main() { fmt.Println("Getting relevant packages") - paths, err := filepath.Glob("../../extensions/*/pkg/config/defaults/defaultconfig.go") + paths, err := filepath.Glob("../../services/*/pkg/config/defaults/defaultconfig.go") if err != nil { log.Fatal(err) } diff --git a/docs/helpers/environment-variable-docs-generator.go.tmpl b/docs/helpers/environment-variable-docs-generator.go.tmpl index c2cac9c7f..63dc7e560 100644 --- a/docs/helpers/environment-variable-docs-generator.go.tmpl +++ b/docs/helpers/environment-variable-docs-generator.go.tmpl @@ -29,7 +29,7 @@ if err != nil { log.Fatal(err) } replacer := strings.NewReplacer( - "github.com/owncloud/ocis/v2/extensions/", "", + "github.com/owncloud/ocis/v2/services/", "", "/pkg/config/defaults", "", ) var fields []ConfigField @@ -42,7 +42,7 @@ m := map[string]interface{}{ {{- end }} } - targetFolder := "../../docs/extensions/_includes/" + targetFolder := "../../docs/services/_includes/" for pkg, conf := range m { fields = GetAnnotatedVariables(conf) if len(fields) > 0 { diff --git a/docs/helpers/example-config-generator.go.tmpl b/docs/helpers/example-config-generator.go.tmpl index 8be5b7429..c678a46ff 100644 --- a/docs/helpers/example-config-generator.go.tmpl +++ b/docs/helpers/example-config-generator.go.tmpl @@ -15,7 +15,7 @@ import ( func main() { replacer := strings.NewReplacer( - "github.com/owncloud/ocis/v2/extensions/", "", + "github.com/owncloud/ocis/v2/services/", "", "/pkg/config/defaults", "", ) cfg := map[string]string{ @@ -35,7 +35,7 @@ func main() { targetFolders := []string{ // TODO: comment in when it is clear how to commit this to the structure of the master|main branch // filepath.Join("../../", pkg, "/config"), - "../../docs/extensions/_includes/", + "../../docs/services/_includes/", } for _, targetFolder := range targetFolders { os.MkdirAll(targetFolder, 0700) diff --git a/docs/ocis/deployment/ocis_individual_services.md b/docs/ocis/deployment/ocis_individual_services.md index 4eb9af586..09a64b185 100644 --- a/docs/ocis/deployment/ocis_individual_services.md +++ b/docs/ocis/deployment/ocis_individual_services.md @@ -19,7 +19,7 @@ geekdocFilePath: ocis_individual_services.md The docker stack consists of at least 24 containers. One of them is Traefik, a proxy which is terminating ssl and forwards the requests to oCIS in the internal docker network. -The other containers are oCIS extensions, running each one in a separate container. In this example, oCIS uses its internal IDP [LibreGraph Connect]({{< ref "../../extensions/idp" >}}) and the [oCIS storage driver]({{< ref "../storage/storagedrivers" >}}). You also can start more than one container of each service by setting `OCIS_SCALE` to a number greater than 1. Currently this won't scale all services, but we are working on making all service easily scalable. +The other containers are oCIS services, running each one in a separate container. In this example, oCIS uses its internal IDP [LibreGraph Connect]({{< ref "../../services/idp" >}}) and the [oCIS storage driver]({{< ref "../storage/storagedrivers" >}}). You also can start more than one container of each service by setting `OCIS_SCALE` to a number greater than 1. Currently this won't scale all services, but we are working on making all service easily scalable. ## Server Deployment @@ -76,7 +76,7 @@ See also [example server setup]({{< ref "preparing_server" >}}) STORAGE_TRANSFER_SECRET= # Machine auth api key secret. Must be changed in order to have a secure oCIS. Defaults to "change-me-please" OCIS_MACHINE_AUTH_API_KEY= - # Number of services to run for extensions, that currently can be easily scaled. Defaults to 1. + # Number of services to run for services, that currently can be easily scaled. Defaults to 1. OCIS_SCALE= ``` diff --git a/docs/ocis/deployment/ocis_keycloak.md b/docs/ocis/deployment/ocis_keycloak.md index cbeb4934b..5fcc955b3 100644 --- a/docs/ocis/deployment/ocis_keycloak.md +++ b/docs/ocis/deployment/ocis_keycloak.md @@ -20,9 +20,9 @@ geekdocFilePath: ocis_keycloak.md The docker stack consists 4 containers. One of them is Traefik, a proxy which is terminating ssl and forwards the requests to oCIS in the internal docker network. It is also responsible for redirecting requests on the OIDC discovery endpoints (e.g. `.well-known/openid-configuration`) to the correct destination in Keycloak. -Keycloak add two containers: Keycloak itself and a PostgreSQL as database. Keycloak will be configured as oCIS' IDP instead of the internal IDP [LibreGraph Connect]({{< ref "../../extensions/idp" >}}) +Keycloak add two containers: Keycloak itself and a PostgreSQL as database. Keycloak will be configured as oCIS' IDP instead of the internal IDP [LibreGraph Connect]({{< ref "../../services/idp" >}}) -The other container is oCIS itself, running all extensions in one container. In this example oCIS uses the [oCIS storage driver]({{< ref "../storage/storagedrivers" >}}) +The other container is oCIS itself, running all services in one container. In this example oCIS uses the [oCIS storage driver]({{< ref "../storage/storagedrivers" >}}) ## Server Deployment diff --git a/docs/ocis/deployment/ocis_traefik.md b/docs/ocis/deployment/ocis_traefik.md index 3c6d56c1b..e8651c9ad 100644 --- a/docs/ocis/deployment/ocis_traefik.md +++ b/docs/ocis/deployment/ocis_traefik.md @@ -18,7 +18,7 @@ geekdocFilePath: ocis_traefik.md The docker stack consists of two containers. One of them is Traefik, a proxy which is terminating ssl and forwards the requests to oCIS in the internal docker network. -The other one is oCIS itself running all extensions in one container. In this example, oCIS uses its internal IDP [LibreGraph Connect]({{< ref "../../extensions/idp" >}}) and the [oCIS storage driver]({{< ref "../storage/storagedrivers" >}}) +The other one is oCIS itself running all extensions in one container. In this example, oCIS uses its internal IDP [LibreGraph Connect]({{< ref "../../services/idp" >}}) and the [oCIS storage driver]({{< ref "../storage/storagedrivers" >}}) ## Server Deployment diff --git a/docs/ocis/development/extensions.md b/docs/ocis/development/extensions.md index 9eaf32197..9c07fa977 100644 --- a/docs/ocis/development/extensions.md +++ b/docs/ocis/development/extensions.md @@ -46,7 +46,7 @@ For a consistent look and feel, ownCloud Web uses an external design library, th ### Settings -An extension likely has some behaviour which the user can configure. Fundamental configuration will often be done by administrators during deployment, via configuration files or by setting environment variables. But for other settings, which are supposed to change more often or which are even user specific, this is not a viable way. Therefore you need to offer the users a UI where they can configure your extension to their liking. Because implementing something like this is a repetitive task among extensions, oCIS already offers the settings extensions which does that for your extension. Your extension just needs to register settings bundles, respective permissions and finally read the current values from the settings service. You can read more on that on the [settings extension]({{< ref "../../extensions/settings" >}}) and see how [oCIS Hello uses these settings](https://owncloud.dev/extensions/ocis_hello/settings/). +An extension likely has some behaviour which the user can configure. Fundamental configuration will often be done by administrators during deployment, via configuration files or by setting environment variables. But for other settings, which are supposed to change more often or which are even user specific, this is not a viable way. Therefore you need to offer the users a UI where they can configure your extension to their liking. Because implementing something like this is a repetitive task among extensions, oCIS already offers the settings extensions which does that for your extension. Your extension just needs to register settings bundles, respective permissions and finally read the current values from the settings service. You can read more on that on the [settings extension]({{< ref "../../services/settings" >}}) and see how [oCIS Hello uses these settings](https://owncloud.dev/extensions/ocis_hello/settings/). ### Proxy diff --git a/docs/extensions/_includes/.gitignore b/docs/services/_includes/.gitignore similarity index 100% rename from docs/extensions/_includes/.gitignore rename to docs/services/_includes/.gitignore diff --git a/docs/extensions/_includes/_index.md b/docs/services/_includes/_index.md similarity index 100% rename from docs/extensions/_includes/_index.md rename to docs/services/_includes/_index.md diff --git a/docs/extensions/_includes/adoc/.gitkeep b/docs/services/_includes/adoc/.gitkeep similarity index 100% rename from docs/extensions/_includes/adoc/.gitkeep rename to docs/services/_includes/adoc/.gitkeep diff --git a/docs/extensions/app-provider/_index.md b/docs/services/app-provider/_index.md similarity index 79% rename from docs/extensions/app-provider/_index.md rename to docs/services/app-provider/_index.md index 39221058a..c26192066 100644 --- a/docs/extensions/app-provider/_index.md +++ b/docs/services/app-provider/_index.md @@ -3,7 +3,7 @@ title: App-Provider date: 2022-03-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/app-provider +geekdocEditPath: edit/master/docs/services/app-provider geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/extensions/auth-basic/configuration.md b/docs/services/app-provider/configuration.md similarity index 57% rename from docs/extensions/auth-basic/configuration.md rename to docs/services/app-provider/configuration.md index 4fdd2f922..b215390a3 100644 --- a/docs/extensions/auth-basic/configuration.md +++ b/docs/services/app-provider/configuration.md @@ -3,13 +3,13 @@ title: Service Configuration date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/auth-basic +geekdocEditPath: edit/master/docs/services/app-provider geekdocFilePath: configuration.md geekdocCollapseSection: true --- ## Example YAML Config -{{< include file="extensions/_includes/auth-basic-config-example.yaml" language="yaml" >}} +{{< include file="services/_includes/app-provider-config-example.yaml" language="yaml" >}} -{{< include file="extensions/_includes/auth-basic_configvars.md" >}} +{{< include file="services/_includes/app-provider_configvars.md" >}} diff --git a/docs/extensions/app-registry/_index.md b/docs/services/app-registry/_index.md similarity index 79% rename from docs/extensions/app-registry/_index.md rename to docs/services/app-registry/_index.md index 233279020..d3670e210 100644 --- a/docs/extensions/app-registry/_index.md +++ b/docs/services/app-registry/_index.md @@ -3,7 +3,7 @@ title: App-Registry date: 2022-03-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/app-registry +geekdocEditPath: edit/master/docs/services/app-registry geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/extensions/app-registry/apps.md b/docs/services/app-registry/apps.md similarity index 99% rename from docs/extensions/app-registry/apps.md rename to docs/services/app-registry/apps.md index bfb67a80a..39f01d65c 100644 --- a/docs/extensions/app-registry/apps.md +++ b/docs/services/app-registry/apps.md @@ -3,7 +3,7 @@ title: "Apps" date: 2018-05-02T00:00:00+00:00 weight: 10 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/app-registry +geekdocEditPath: edit/master/docs/services/app-registry geekdocFilePath: apps.md --- diff --git a/docs/extensions/thumbnails/configuration.md b/docs/services/app-registry/configuration.md similarity index 56% rename from docs/extensions/thumbnails/configuration.md rename to docs/services/app-registry/configuration.md index 1f10b1366..ed96c5902 100644 --- a/docs/extensions/thumbnails/configuration.md +++ b/docs/services/app-registry/configuration.md @@ -3,13 +3,13 @@ title: Service Configuration date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/thumbnails +geekdocEditPath: edit/master/docs/services/app-registry geekdocFilePath: configuration.md geekdocCollapseSection: true --- ## Example YAML Config -{{< include file="extensions/_includes/thumbnails-config-example.yaml" language="yaml" >}} +{{< include file="services/_includes/app-registry-config-example.yaml" language="yaml" >}} -{{< include file="extensions/_includes/thumbnails_configvars.md" >}} \ No newline at end of file +{{< include file="services/_includes/app-registry_configvars.md" >}} diff --git a/docs/extensions/audit/_index.md b/docs/services/audit/_index.md similarity index 81% rename from docs/extensions/audit/_index.md rename to docs/services/audit/_index.md index 530a637cb..52abf0d54 100644 --- a/docs/extensions/audit/_index.md +++ b/docs/services/audit/_index.md @@ -3,7 +3,7 @@ title: Audit date: 2022-03-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/audit +geekdocEditPath: edit/master/docs/services/audit geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/services/audit/configuration.md b/docs/services/audit/configuration.md new file mode 100644 index 000000000..fd8026dac --- /dev/null +++ b/docs/services/audit/configuration.md @@ -0,0 +1,16 @@ +--- +title: Service Configuration +date: 2018-05-02T00:00:00+00:00 +weight: 20 +geekdocRepo: https://github.com/owncloud/ocis +geekdocEditPath: edit/master/docs/services/audit +geekdocFilePath: configuration.md +geekdocCollapseSection: true +--- + + +## Example YAML Config + +{{< include file="services/_includes/audit-config-example.yaml" language="yaml" >}} + +{{< include file="services/_includes/audit_configvars.md" >}} diff --git a/docs/extensions/auth-basic/_index.md b/docs/services/auth-basic/_index.md similarity index 80% rename from docs/extensions/auth-basic/_index.md rename to docs/services/auth-basic/_index.md index 0f47e2297..953724976 100644 --- a/docs/extensions/auth-basic/_index.md +++ b/docs/services/auth-basic/_index.md @@ -3,7 +3,7 @@ title: Auth-Basic date: 2022-03-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/auth-basic +geekdocEditPath: edit/master/docs/services/auth-basic geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/extensions/frontend/configuration.md b/docs/services/auth-basic/configuration.md similarity index 57% rename from docs/extensions/frontend/configuration.md rename to docs/services/auth-basic/configuration.md index fb164e6ba..672746f05 100644 --- a/docs/extensions/frontend/configuration.md +++ b/docs/services/auth-basic/configuration.md @@ -3,13 +3,13 @@ title: Service Configuration date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/frontend +geekdocEditPath: edit/master/docs/services/auth-basic geekdocFilePath: configuration.md geekdocCollapseSection: true --- ## Example YAML Config -{{< include file="extensions/_includes/frontend-config-example.yaml" language="yaml" >}} +{{< include file="services/_includes/auth-basic-config-example.yaml" language="yaml" >}} -{{< include file="extensions/_includes/frontend_configvars.md" >}} +{{< include file="services/_includes/auth-basic_configvars.md" >}} diff --git a/docs/extensions/auth-bearer/_index.md b/docs/services/auth-bearer/_index.md similarity index 79% rename from docs/extensions/auth-bearer/_index.md rename to docs/services/auth-bearer/_index.md index 853f8938f..0a867d48a 100644 --- a/docs/extensions/auth-bearer/_index.md +++ b/docs/services/auth-bearer/_index.md @@ -3,7 +3,7 @@ title: Auth-Bearer date: 2022-03-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/auth-bearer +geekdocEditPath: edit/master/docs/services/auth-bearer geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/extensions/audit/configuration.md b/docs/services/auth-bearer/configuration.md similarity index 50% rename from docs/extensions/audit/configuration.md rename to docs/services/auth-bearer/configuration.md index 2619a3ece..5b3ef4ef6 100644 --- a/docs/extensions/audit/configuration.md +++ b/docs/services/auth-bearer/configuration.md @@ -3,14 +3,13 @@ title: Service Configuration date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/audit +geekdocEditPath: edit/master/docs/services/auth-bearer geekdocFilePath: configuration.md geekdocCollapseSection: true --- - ## Example YAML Config -{{< include file="extensions/_includes/audit-config-example.yaml" language="yaml" >}} +{{< include file="services/_includes/auth-bearer-config-example.yaml" language="yaml" >}} -{{< include file="extensions/_includes/audit_configvars.md" >}} +{{< include file="services/_includes/auth-bearer_configvars.md" >}} diff --git a/docs/extensions/auth-machine/_index.md b/docs/services/auth-machine/_index.md similarity index 79% rename from docs/extensions/auth-machine/_index.md rename to docs/services/auth-machine/_index.md index cba78fad0..edb7c4afd 100644 --- a/docs/extensions/auth-machine/_index.md +++ b/docs/services/auth-machine/_index.md @@ -3,7 +3,7 @@ title: Auth-Machine date: 2022-03-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/auth-machine +geekdocEditPath: edit/master/docs/services/auth-machine geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/services/auth-machine/configuration.md b/docs/services/auth-machine/configuration.md new file mode 100644 index 000000000..000c6bae3 --- /dev/null +++ b/docs/services/auth-machine/configuration.md @@ -0,0 +1,15 @@ +--- +title: Service Configuration +date: 2018-05-02T00:00:00+00:00 +weight: 20 +geekdocRepo: https://github.com/owncloud/ocis +geekdocEditPath: edit/master/docs/services/auth-machine +geekdocFilePath: configuration.md +geekdocCollapseSection: true +--- + +## Example YAML Config + +{{< include file="services/_includes/auth-machine-config-example.yaml" language="yaml" >}} + +{{< include file="services/_includes/auth-machine_configvars.md" >}} diff --git a/docs/extensions/frontend/_index.md b/docs/services/frontend/_index.md similarity index 80% rename from docs/extensions/frontend/_index.md rename to docs/services/frontend/_index.md index 3e6321e9d..097fde932 100644 --- a/docs/extensions/frontend/_index.md +++ b/docs/services/frontend/_index.md @@ -3,7 +3,7 @@ title: Frontend date: 2022-03-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/frontend +geekdocEditPath: edit/master/docs/services/frontend geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/extensions/search/configuration.md b/docs/services/frontend/configuration.md similarity index 57% rename from docs/extensions/search/configuration.md rename to docs/services/frontend/configuration.md index a99f2f87f..5822f76c9 100644 --- a/docs/extensions/search/configuration.md +++ b/docs/services/frontend/configuration.md @@ -3,13 +3,13 @@ title: Service Configuration date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/search +geekdocEditPath: edit/master/docs/services/frontend geekdocFilePath: configuration.md geekdocCollapseSection: true --- ## Example YAML Config -{{< include file="extensions/_includes/search-config-example.yaml" language="yaml" >}} +{{< include file="services/_includes/frontend-config-example.yaml" language="yaml" >}} -{{< include file="extensions/_includes/search_configvars.md" >}} +{{< include file="services/_includes/frontend_configvars.md" >}} diff --git a/docs/extensions/gateway/_index.md b/docs/services/gateway/_index.md similarity index 80% rename from docs/extensions/gateway/_index.md rename to docs/services/gateway/_index.md index 4a89602b6..90d1e88ce 100644 --- a/docs/extensions/gateway/_index.md +++ b/docs/services/gateway/_index.md @@ -3,7 +3,7 @@ title: Gateway date: 2022-03-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/gateway +geekdocEditPath: edit/master/docs/services/gateway geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/extensions/users/configuration.md b/docs/services/gateway/configuration.md similarity index 57% rename from docs/extensions/users/configuration.md rename to docs/services/gateway/configuration.md index a8aa67a9b..ff90bf0b4 100644 --- a/docs/extensions/users/configuration.md +++ b/docs/services/gateway/configuration.md @@ -3,13 +3,13 @@ title: Service Configuration date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/users +geekdocEditPath: edit/master/docs/services/gateway geekdocFilePath: configuration.md geekdocCollapseSection: true --- ## Example YAML Config -{{< include file="extensions/_includes/users-config-example.yaml" language="yaml" >}} +{{< include file="services/_includes/gateway-config-example.yaml" language="yaml" >}} -{{< include file="extensions/_includes/users_configvars.md" >}} +{{< include file="services/_includes/gateway_configvars.md" >}} diff --git a/docs/extensions/graph-explorer/.gitignore b/docs/services/graph-explorer/.gitignore similarity index 100% rename from docs/extensions/graph-explorer/.gitignore rename to docs/services/graph-explorer/.gitignore diff --git a/docs/extensions/graph-explorer/_index.md b/docs/services/graph-explorer/_index.md similarity index 84% rename from docs/extensions/graph-explorer/_index.md rename to docs/services/graph-explorer/_index.md index 6e97f68a3..917b059f1 100644 --- a/docs/extensions/graph-explorer/_index.md +++ b/docs/services/graph-explorer/_index.md @@ -3,7 +3,7 @@ title: "Graph-Explorer" date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/graph-explorer +geekdocEditPath: edit/master/docs/services/graph-explorer geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/extensions/app-registry/configuration.md b/docs/services/graph-explorer/configuration.md similarity index 55% rename from docs/extensions/app-registry/configuration.md rename to docs/services/graph-explorer/configuration.md index f1a18da07..910c9ed67 100644 --- a/docs/extensions/app-registry/configuration.md +++ b/docs/services/graph-explorer/configuration.md @@ -3,13 +3,13 @@ title: Service Configuration date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/app-registry +geekdocEditPath: edit/master/docs/services/graph-explorer geekdocFilePath: configuration.md geekdocCollapseSection: true --- ## Example YAML Config -{{< include file="extensions/_includes/app-registry-config-example.yaml" language="yaml" >}} +{{< include file="services/_includes/graph-explorer-config-example.yaml" language="yaml" >}} -{{< include file="extensions/_includes/app-registry_configvars.md" >}} +{{< include file="services/_includes/graph-explorer_configvars.md" >}} \ No newline at end of file diff --git a/docs/extensions/graph/.gitignore b/docs/services/graph/.gitignore similarity index 100% rename from docs/extensions/graph/.gitignore rename to docs/services/graph/.gitignore diff --git a/docs/extensions/graph/_index.md b/docs/services/graph/_index.md similarity index 84% rename from docs/extensions/graph/_index.md rename to docs/services/graph/_index.md index 7ff7bc687..8344431b3 100644 --- a/docs/extensions/graph/_index.md +++ b/docs/services/graph/_index.md @@ -3,7 +3,7 @@ title: "Graph" date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/graph +geekdocEditPath: edit/master/docs/services/graph geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/services/graph/configuration.md b/docs/services/graph/configuration.md new file mode 100644 index 000000000..2ca0cc0a1 --- /dev/null +++ b/docs/services/graph/configuration.md @@ -0,0 +1,14 @@ +--- +title: Service Configuration +date: 2018-05-02T00:00:00+00:00 +weight: 20 +geekdocRepo: https://github.com/owncloud/ocis +geekdocEditPath: edit/master/docs/services/graph +geekdocFilePath: configuration.md +geekdocCollapseSection: true +--- +## Example YAML Config + +{{< include file="services/_includes/graph-config-example.yaml" language="yaml" >}} + +{{< include file="services/_includes/graph_configvars.md" >}} \ No newline at end of file diff --git a/docs/extensions/graph/groups.md b/docs/services/graph/groups.md similarity index 99% rename from docs/extensions/graph/groups.md rename to docs/services/graph/groups.md index 74b42c95d..0a9442288 100644 --- a/docs/extensions/graph/groups.md +++ b/docs/services/graph/groups.md @@ -2,7 +2,7 @@ title: Groups weight: 40 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/graph +geekdocEditPath: edit/master/docs/services/graph geekdocFilePath: users.md --- diff --git a/docs/extensions/graph/spaces.md b/docs/services/graph/spaces.md similarity index 99% rename from docs/extensions/graph/spaces.md rename to docs/services/graph/spaces.md index f20db0e2e..474045761 100644 --- a/docs/extensions/graph/spaces.md +++ b/docs/services/graph/spaces.md @@ -2,7 +2,7 @@ title: Spaces weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/graph +geekdocEditPath: edit/master/docs/services/graph geekdocFilePath: spaces.md --- diff --git a/docs/extensions/graph/users.md b/docs/services/graph/users.md similarity index 99% rename from docs/extensions/graph/users.md rename to docs/services/graph/users.md index e14c403f6..745b2d9be 100644 --- a/docs/extensions/graph/users.md +++ b/docs/services/graph/users.md @@ -2,7 +2,7 @@ title: Users weight: 30 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/graph +geekdocEditPath: edit/master/docs/services/graph geekdocFilePath: users.md --- diff --git a/docs/extensions/groups/_index.md b/docs/services/groups/_index.md similarity index 80% rename from docs/extensions/groups/_index.md rename to docs/services/groups/_index.md index 5308c51bd..05816eff2 100644 --- a/docs/extensions/groups/_index.md +++ b/docs/services/groups/_index.md @@ -3,7 +3,7 @@ title: Groups date: 2022-03-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/groups +geekdocEditPath: edit/master/docs/services/groups geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/services/groups/configuration.md b/docs/services/groups/configuration.md new file mode 100644 index 000000000..2e1445392 --- /dev/null +++ b/docs/services/groups/configuration.md @@ -0,0 +1,15 @@ +--- +title: Service Configuration +date: 2018-05-02T00:00:00+00:00 +weight: 20 +geekdocRepo: https://github.com/owncloud/ocis +geekdocEditPath: edit/master/docs/services/groups +geekdocFilePath: configuration.md +geekdocCollapseSection: true +--- + +## Example YAML Config + +{{< include file="services/_includes/groups-config-example.yaml" language="yaml" >}} + +{{< include file="services/_includes/groups_configvars.md" >}} diff --git a/docs/extensions/idm/_index.md b/docs/services/idm/_index.md similarity index 96% rename from docs/extensions/idm/_index.md rename to docs/services/idm/_index.md index 0a21994c8..47829d34e 100644 --- a/docs/extensions/idm/_index.md +++ b/docs/services/idm/_index.md @@ -3,7 +3,7 @@ title: IDM date: 2022-03-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/idm +geekdocEditPath: edit/master/docs/services/idm geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/services/idm/configuration.md b/docs/services/idm/configuration.md new file mode 100644 index 000000000..6bb9b556d --- /dev/null +++ b/docs/services/idm/configuration.md @@ -0,0 +1,15 @@ +--- +title: Service Configuration +date: 2018-05-02T00:00:00+00:00 +weight: 20 +geekdocRepo: https://github.com/owncloud/ocis +geekdocEditPath: edit/master/docs/services/idm +geekdocFilePath: configuration.md +geekdocCollapseSection: true +--- + +## Example YAML Config + +{{< include file="services/_includes/idm-config-example.yaml" language="yaml" >}} + +{{< include file="services/_includes/idm_configvars.md" >}} \ No newline at end of file diff --git a/docs/extensions/idm/configuration_hints.md b/docs/services/idm/configuration_hints.md similarity index 97% rename from docs/extensions/idm/configuration_hints.md rename to docs/services/idm/configuration_hints.md index ced032337..5f6d8a5ac 100644 --- a/docs/extensions/idm/configuration_hints.md +++ b/docs/services/idm/configuration_hints.md @@ -3,7 +3,7 @@ title: Configuration Hints date: 2022-04-27:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/idm +geekdocEditPath: edit/master/docs/services/idm geekdocFilePath: configuration_hints.md geekdocCollapseSection: true --- diff --git a/docs/extensions/idp/.gitignore b/docs/services/idp/.gitignore similarity index 100% rename from docs/extensions/idp/.gitignore rename to docs/services/idp/.gitignore diff --git a/docs/extensions/idp/_index.md b/docs/services/idp/_index.md similarity index 82% rename from docs/extensions/idp/_index.md rename to docs/services/idp/_index.md index e4ab82677..5fc69e855 100644 --- a/docs/extensions/idp/_index.md +++ b/docs/services/idp/_index.md @@ -2,7 +2,7 @@ title: IDP weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/idp +geekdocEditPath: edit/master/docs/services/idp geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/services/idp/configuration.md b/docs/services/idp/configuration.md new file mode 100644 index 000000000..cf999eabd --- /dev/null +++ b/docs/services/idp/configuration.md @@ -0,0 +1,15 @@ +--- +title: Service Configuration +date: 2018-05-02T00:00:00+00:00 +weight: 20 +geekdocRepo: https://github.com/owncloud/ocis +geekdocEditPath: edit/master/docs/services/idp +geekdocFilePath: configuration.md +geekdocCollapseSection: true +--- + +## Example YAML Config + +{{< include file="services/_includes/idp-config-example.yaml" language="yaml" >}} + +{{< include file="services/_includes/idp_configvars.md" >}} \ No newline at end of file diff --git a/docs/extensions/idp/theming.md b/docs/services/idp/theming.md similarity index 98% rename from docs/extensions/idp/theming.md rename to docs/services/idp/theming.md index c5b2f37f4..f0b67bacf 100644 --- a/docs/extensions/idp/theming.md +++ b/docs/services/idp/theming.md @@ -2,7 +2,7 @@ title: Theming weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/theming +geekdocEditPath: edit/master/docs/services/theming geekdocFilePath: theming.md --- diff --git a/docs/extensions/nats/_index.md b/docs/services/nats/_index.md similarity index 81% rename from docs/extensions/nats/_index.md rename to docs/services/nats/_index.md index bd785e222..789842d9a 100644 --- a/docs/extensions/nats/_index.md +++ b/docs/services/nats/_index.md @@ -3,7 +3,7 @@ title: NATS date: 2022-03-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/nats +geekdocEditPath: edit/master/docs/services/nats geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/services/nats/configuration.md b/docs/services/nats/configuration.md new file mode 100644 index 000000000..9af5ae0b6 --- /dev/null +++ b/docs/services/nats/configuration.md @@ -0,0 +1,15 @@ +--- +title: Service Configuration +date: 2018-05-02T00:00:00+00:00 +weight: 20 +geekdocRepo: https://github.com/owncloud/ocis +geekdocEditPath: edit/master/docs/services/nats +geekdocFilePath: configuration.md +geekdocCollapseSection: true +--- + +## Example YAML Config + +{{< include file="services/_includes/nats-config-example.yaml" language="yaml" >}} + +{{< include file="services/_includes/nats_configvars.md" >}} \ No newline at end of file diff --git a/docs/extensions/notifications/_index.md b/docs/services/notifications/_index.md similarity index 88% rename from docs/extensions/notifications/_index.md rename to docs/services/notifications/_index.md index 0cc731856..9d27724ce 100644 --- a/docs/extensions/notifications/_index.md +++ b/docs/services/notifications/_index.md @@ -3,7 +3,7 @@ title: Notifications date: 2022-03-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/notifications +geekdocEditPath: edit/master/docs/services/notifications geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/services/notifications/configuration.md b/docs/services/notifications/configuration.md new file mode 100644 index 000000000..de4f28af4 --- /dev/null +++ b/docs/services/notifications/configuration.md @@ -0,0 +1,15 @@ +--- +title: Service Configuration +date: 2018-05-02T00:00:00+00:00 +weight: 20 +geekdocRepo: https://github.com/owncloud/ocis +geekdocEditPath: edit/master/docs/services/notifications +geekdocFilePath: configuration.md +geekdocCollapseSection: true +--- + +## Example YAML Config + +{{< include file="services/_includes/notifications-config-example.yaml" language="yaml" >}} + +{{< include file="services/_includes/notifications_configvars.md" >}} \ No newline at end of file diff --git a/docs/extensions/ocdav/_index.md b/docs/services/ocdav/_index.md similarity index 81% rename from docs/extensions/ocdav/_index.md rename to docs/services/ocdav/_index.md index 62f55ff1b..24f9202be 100644 --- a/docs/extensions/ocdav/_index.md +++ b/docs/services/ocdav/_index.md @@ -3,7 +3,7 @@ title: ocDAV date: 2022-03-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/ocdav +geekdocEditPath: edit/master/docs/services/ocdav geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/extensions/ocs/configuration.md b/docs/services/ocdav/configuration.md similarity index 57% rename from docs/extensions/ocs/configuration.md rename to docs/services/ocdav/configuration.md index af9bd28c4..d9df05087 100644 --- a/docs/extensions/ocs/configuration.md +++ b/docs/services/ocdav/configuration.md @@ -3,13 +3,13 @@ title: Service Configuration date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/ocs +geekdocEditPath: edit/master/docs/services/ocdav geekdocFilePath: configuration.md geekdocCollapseSection: true --- ## Example YAML Config -{{< include file="extensions/_includes/ocs-config-example.yaml" language="yaml" >}} +{{< include file="services/_includes/ocdav-config-example.yaml" language="yaml" >}} -{{< include file="extensions/_includes/ocs_configvars.md" >}} \ No newline at end of file +{{< include file="services/_includes/ocdav_configvars.md" >}} diff --git a/docs/extensions/ocs/.gitignore b/docs/services/ocs/.gitignore similarity index 100% rename from docs/extensions/ocs/.gitignore rename to docs/services/ocs/.gitignore diff --git a/docs/extensions/ocs/_index.md b/docs/services/ocs/_index.md similarity index 83% rename from docs/extensions/ocs/_index.md rename to docs/services/ocs/_index.md index 70796fe3c..609a362d6 100644 --- a/docs/extensions/ocs/_index.md +++ b/docs/services/ocs/_index.md @@ -3,7 +3,7 @@ title: "Ocs" date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/ocs +geekdocEditPath: edit/master/docs/services/ocs geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/services/ocs/configuration.md b/docs/services/ocs/configuration.md new file mode 100644 index 000000000..cb8afa431 --- /dev/null +++ b/docs/services/ocs/configuration.md @@ -0,0 +1,15 @@ +--- +title: Service Configuration +date: 2018-05-02T00:00:00+00:00 +weight: 20 +geekdocRepo: https://github.com/owncloud/ocis +geekdocEditPath: edit/master/docs/services/ocs +geekdocFilePath: configuration.md +geekdocCollapseSection: true +--- + +## Example YAML Config + +{{< include file="services/_includes/ocs-config-example.yaml" language="yaml" >}} + +{{< include file="services/_includes/ocs_configvars.md" >}} \ No newline at end of file diff --git a/docs/extensions/port-ranges.md b/docs/services/port-ranges.md similarity index 100% rename from docs/extensions/port-ranges.md rename to docs/services/port-ranges.md diff --git a/docs/extensions/proxy/.gitignore b/docs/services/proxy/.gitignore similarity index 100% rename from docs/extensions/proxy/.gitignore rename to docs/services/proxy/.gitignore diff --git a/docs/extensions/proxy/_index.md b/docs/services/proxy/_index.md similarity index 81% rename from docs/extensions/proxy/_index.md rename to docs/services/proxy/_index.md index b7aaaef71..cad3836ad 100644 --- a/docs/extensions/proxy/_index.md +++ b/docs/services/proxy/_index.md @@ -2,7 +2,7 @@ title: Proxy weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/proxy +geekdocEditPath: edit/master/docs/services/proxy geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/extensions/web/configuration.md b/docs/services/proxy/configuration.md similarity index 57% rename from docs/extensions/web/configuration.md rename to docs/services/proxy/configuration.md index ee3e60d7d..d8502d70c 100644 --- a/docs/extensions/web/configuration.md +++ b/docs/services/proxy/configuration.md @@ -3,13 +3,13 @@ title: Service Configuration date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/web +geekdocEditPath: edit/master/docs/services/proxy geekdocFilePath: configuration.md geekdocCollapseSection: true --- ## Example YAML Config -{{< include file="extensions/_includes/web-config-example.yaml" language="yaml" >}} +{{< include file="services/_includes/proxy-config-example.yaml" language="yaml" >}} -{{< include file="extensions/_includes/web_configvars.md" >}} \ No newline at end of file +{{< include file="services/_includes/proxy_configvars.md" >}} \ No newline at end of file diff --git a/docs/extensions/search/_index.md b/docs/services/search/_index.md similarity index 77% rename from docs/extensions/search/_index.md rename to docs/services/search/_index.md index b00af59fc..01768a832 100644 --- a/docs/extensions/search/_index.md +++ b/docs/services/search/_index.md @@ -2,7 +2,7 @@ title: Search weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/search +geekdocEditPath: edit/master/docs/services/search geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/services/search/configuration.md b/docs/services/search/configuration.md new file mode 100644 index 000000000..1f3e17fc7 --- /dev/null +++ b/docs/services/search/configuration.md @@ -0,0 +1,15 @@ +--- +title: Service Configuration +date: 2018-05-02T00:00:00+00:00 +weight: 20 +geekdocRepo: https://github.com/owncloud/ocis +geekdocEditPath: edit/master/docs/services/search +geekdocFilePath: configuration.md +geekdocCollapseSection: true +--- + +## Example YAML Config + +{{< include file="services/_includes/search-config-example.yaml" language="yaml" >}} + +{{< include file="services/_includes/search_configvars.md" >}} diff --git a/docs/extensions/settings/.gitignore b/docs/services/settings/.gitignore similarity index 100% rename from docs/extensions/settings/.gitignore rename to docs/services/settings/.gitignore diff --git a/docs/extensions/settings/_index.md b/docs/services/settings/_index.md similarity index 97% rename from docs/extensions/settings/_index.md rename to docs/services/settings/_index.md index fabaf141d..a08d972c0 100644 --- a/docs/extensions/settings/_index.md +++ b/docs/services/settings/_index.md @@ -3,7 +3,7 @@ title: "Settings" date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/settings +geekdocEditPath: edit/master/docs/services/settings geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/extensions/settings/bundles.md b/docs/services/settings/bundles.md similarity index 97% rename from docs/extensions/settings/bundles.md rename to docs/services/settings/bundles.md index 6ee245d61..e9cd6137f 100644 --- a/docs/extensions/settings/bundles.md +++ b/docs/services/settings/bundles.md @@ -3,7 +3,7 @@ title: "Settings Bundles" date: 2020-05-04T00:00:00+00:00 weight: 50 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/settings +geekdocEditPath: edit/master/docs/services/settings geekdocFilePath: bundles.md --- diff --git a/docs/extensions/webdav/configuration.md b/docs/services/settings/configuration.md similarity index 57% rename from docs/extensions/webdav/configuration.md rename to docs/services/settings/configuration.md index 53c282001..8fb1b92b4 100644 --- a/docs/extensions/webdav/configuration.md +++ b/docs/services/settings/configuration.md @@ -3,13 +3,13 @@ title: Service Configuration date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/webdav +geekdocEditPath: edit/master/docs/services/settings geekdocFilePath: configuration.md geekdocCollapseSection: true --- ## Example YAML Config -{{< include file="extensions/_includes/webdav-config-example.yaml" language="yaml" >}} +{{< include file="services/_includes/settings-config-example.yaml" language="yaml" >}} -{{< include file="extensions/_includes/webdav_configvars.md" >}} \ No newline at end of file +{{< include file="services/_includes/settings_configvars.md" >}} \ No newline at end of file diff --git a/docs/extensions/settings/glossary.md b/docs/services/settings/glossary.md similarity index 94% rename from docs/extensions/settings/glossary.md rename to docs/services/settings/glossary.md index 6c7153f60..50fd82be7 100644 --- a/docs/extensions/settings/glossary.md +++ b/docs/services/settings/glossary.md @@ -3,7 +3,7 @@ title: "Glossary" date: 2020-05-04T12:35:00+01:00 weight: 80 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/settings +geekdocEditPath: edit/master/docs/services/settings geekdocFilePath: glossary.md --- diff --git a/docs/extensions/settings/releasing.md b/docs/services/settings/releasing.md similarity index 92% rename from docs/extensions/settings/releasing.md rename to docs/services/settings/releasing.md index f67e27a3e..1fa7cca59 100644 --- a/docs/extensions/settings/releasing.md +++ b/docs/services/settings/releasing.md @@ -2,7 +2,7 @@ title: "Releasing" weight: 70 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/settings +geekdocEditPath: edit/master/docs/services/settings geekdocFilePath: releasing.md --- diff --git a/docs/extensions/settings/tests.md b/docs/services/settings/tests.md similarity index 98% rename from docs/extensions/settings/tests.md rename to docs/services/settings/tests.md index 5d7d243d9..c367552b8 100644 --- a/docs/extensions/settings/tests.md +++ b/docs/services/settings/tests.md @@ -2,7 +2,7 @@ title: "Tests" weight: 90 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/settings +geekdocEditPath: edit/master/docs/services/settings geekdocFilePath: tests.md --- diff --git a/docs/extensions/settings/values.md b/docs/services/settings/values.md similarity index 97% rename from docs/extensions/settings/values.md rename to docs/services/settings/values.md index 545e34513..5cf0240fc 100644 --- a/docs/extensions/settings/values.md +++ b/docs/services/settings/values.md @@ -3,7 +3,7 @@ title: "Settings Values" date: 2020-05-04T00:00:00+00:00 weight: 51 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/settings +geekdocEditPath: edit/master/docs/services/settings geekdocFilePath: values.md --- diff --git a/docs/extensions/sharing/_index.md b/docs/services/sharing/_index.md similarity index 77% rename from docs/extensions/sharing/_index.md rename to docs/services/sharing/_index.md index e96801c9e..86eb1fed2 100644 --- a/docs/extensions/sharing/_index.md +++ b/docs/services/sharing/_index.md @@ -2,7 +2,7 @@ title: Sharing weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/sharing +geekdocEditPath: edit/master/docs/services/sharing geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/extensions/ocdav/configuration.md b/docs/services/sharing/configuration.md similarity index 57% rename from docs/extensions/ocdav/configuration.md rename to docs/services/sharing/configuration.md index 9ca88c1de..21f763880 100644 --- a/docs/extensions/ocdav/configuration.md +++ b/docs/services/sharing/configuration.md @@ -3,13 +3,13 @@ title: Service Configuration date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/ocdav +geekdocEditPath: edit/master/docs/services/sharing geekdocFilePath: configuration.md geekdocCollapseSection: true --- ## Example YAML Config -{{< include file="extensions/_includes/ocdav-config-example.yaml" language="yaml" >}} +{{< include file="services/_includes/sharing-config-example.yaml" language="yaml" >}} -{{< include file="extensions/_includes/ocdav_configvars.md" >}} +{{< include file="services/_includes/sharing_configvars.md" >}} diff --git a/docs/extensions/storage-publiclink/_index.md b/docs/services/storage-publiclink/_index.md similarity index 78% rename from docs/extensions/storage-publiclink/_index.md rename to docs/services/storage-publiclink/_index.md index e5ad8de52..1a87d00b4 100644 --- a/docs/extensions/storage-publiclink/_index.md +++ b/docs/services/storage-publiclink/_index.md @@ -3,7 +3,7 @@ title: Storage-Publiclink date: 2022-03-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/storage-publiclink +geekdocEditPath: edit/master/docs/services/storage-publiclink geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/services/storage-publiclink/configuration.md b/docs/services/storage-publiclink/configuration.md new file mode 100644 index 000000000..9c34ac21b --- /dev/null +++ b/docs/services/storage-publiclink/configuration.md @@ -0,0 +1,15 @@ +--- +title: Service Configuration +date: 2018-05-02T00:00:00+00:00 +weight: 20 +geekdocRepo: https://github.com/owncloud/ocis +geekdocEditPath: edit/master/docs/services/storage-publiclink +geekdocFilePath: configuration.md +geekdocCollapseSection: true +--- + +## Example YAML Config + +{{< include file="services/_includes/storage-publiclink-config-example.yaml" language="yaml" >}} + +{{< include file="services/_includes/storage-publiclink_configvars.md" >}} diff --git a/docs/extensions/storage-shares/_index.md b/docs/services/storage-shares/_index.md similarity index 79% rename from docs/extensions/storage-shares/_index.md rename to docs/services/storage-shares/_index.md index 0f8b2f601..223ce0f6a 100644 --- a/docs/extensions/storage-shares/_index.md +++ b/docs/services/storage-shares/_index.md @@ -3,7 +3,7 @@ title: Storage-Shares date: 2022-03-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/storage-shares +geekdocEditPath: edit/master/docs/services/storage-shares geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/extensions/auth-machine/configuration.md b/docs/services/storage-shares/configuration.md similarity index 57% rename from docs/extensions/auth-machine/configuration.md rename to docs/services/storage-shares/configuration.md index 96fb78c4b..068af4d7a 100644 --- a/docs/extensions/auth-machine/configuration.md +++ b/docs/services/storage-shares/configuration.md @@ -3,13 +3,13 @@ title: Service Configuration date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/auth-machine +geekdocEditPath: edit/master/docs/services/storage-shares geekdocFilePath: configuration.md geekdocCollapseSection: true --- ## Example YAML Config -{{< include file="extensions/_includes/auth-machine-config-example.yaml" language="yaml" >}} +{{< include file="services/_includes/storage-shares-config-example.yaml" language="yaml" >}} -{{< include file="extensions/_includes/auth-machine_configvars.md" >}} +{{< include file="services/_includes/storage-shares_configvars.md" >}} diff --git a/docs/extensions/storage-system/_index.md b/docs/services/storage-system/_index.md similarity index 79% rename from docs/extensions/storage-system/_index.md rename to docs/services/storage-system/_index.md index 2556908ab..b79c49309 100644 --- a/docs/extensions/storage-system/_index.md +++ b/docs/services/storage-system/_index.md @@ -3,7 +3,7 @@ title: Storage-System date: 2022-03-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/storage-system +geekdocEditPath: edit/master/docs/services/storage-system geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/extensions/app-provider/configuration.md b/docs/services/storage-system/configuration.md similarity index 57% rename from docs/extensions/app-provider/configuration.md rename to docs/services/storage-system/configuration.md index 6f4d3e066..4e58119d6 100644 --- a/docs/extensions/app-provider/configuration.md +++ b/docs/services/storage-system/configuration.md @@ -3,13 +3,13 @@ title: Service Configuration date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/app-provider +geekdocEditPath: edit/master/docs/services/storage-system geekdocFilePath: configuration.md geekdocCollapseSection: true --- ## Example YAML Config -{{< include file="extensions/_includes/app-provider-config-example.yaml" language="yaml" >}} +{{< include file="services/_includes/storage-system-config-example.yaml" language="yaml" >}} -{{< include file="extensions/_includes/app-provider_configvars.md" >}} +{{< include file="services/_includes/storage-system_configvars.md" >}} diff --git a/docs/extensions/storage-users/_index.md b/docs/services/storage-users/_index.md similarity index 79% rename from docs/extensions/storage-users/_index.md rename to docs/services/storage-users/_index.md index dbddd5532..2dcb75448 100644 --- a/docs/extensions/storage-users/_index.md +++ b/docs/services/storage-users/_index.md @@ -3,7 +3,7 @@ title: Storage-Users date: 2022-03-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/storage-users +geekdocEditPath: edit/master/docs/services/storage-users geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/extensions/auth-bearer/configuration.md b/docs/services/storage-users/configuration.md similarity index 57% rename from docs/extensions/auth-bearer/configuration.md rename to docs/services/storage-users/configuration.md index 853ef9acc..156fb3fda 100644 --- a/docs/extensions/auth-bearer/configuration.md +++ b/docs/services/storage-users/configuration.md @@ -3,13 +3,13 @@ title: Service Configuration date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/auth-bearer +geekdocEditPath: edit/master/docs/services/storage-users geekdocFilePath: configuration.md geekdocCollapseSection: true --- ## Example YAML Config -{{< include file="extensions/_includes/auth-bearer-config-example.yaml" language="yaml" >}} +{{< include file="services/_includes/storage-users-config-example.yaml" language="yaml" >}} -{{< include file="extensions/_includes/auth-bearer_configvars.md" >}} +{{< include file="services/_includes/storage-users_configvars.md" >}} diff --git a/docs/extensions/store/.gitignore b/docs/services/store/.gitignore similarity index 100% rename from docs/extensions/store/.gitignore rename to docs/services/store/.gitignore diff --git a/docs/extensions/store/_index.md b/docs/services/store/_index.md similarity index 79% rename from docs/extensions/store/_index.md rename to docs/services/store/_index.md index 3638f9652..0dc1c2e8e 100644 --- a/docs/extensions/store/_index.md +++ b/docs/services/store/_index.md @@ -3,7 +3,7 @@ title: "Store" date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/store +geekdocEditPath: edit/master/docs/services/store geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/extensions/idm/configuration.md b/docs/services/store/configuration.md similarity index 57% rename from docs/extensions/idm/configuration.md rename to docs/services/store/configuration.md index 1595260c7..c0070e39f 100644 --- a/docs/extensions/idm/configuration.md +++ b/docs/services/store/configuration.md @@ -3,13 +3,13 @@ title: Service Configuration date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/idm +geekdocEditPath: edit/master/docs/services/store geekdocFilePath: configuration.md geekdocCollapseSection: true --- ## Example YAML Config -{{< include file="extensions/_includes/idm-config-example.yaml" language="yaml" >}} +{{< include file="services/_includes/store-config-example.yaml" language="yaml" >}} -{{< include file="extensions/_includes/idm_configvars.md" >}} \ No newline at end of file +{{< include file="services/_includes/store_configvars.md" >}} \ No newline at end of file diff --git a/docs/extensions/thumbnails/.gitignore b/docs/services/thumbnails/.gitignore similarity index 100% rename from docs/extensions/thumbnails/.gitignore rename to docs/services/thumbnails/.gitignore diff --git a/docs/extensions/thumbnails/_index.md b/docs/services/thumbnails/_index.md similarity index 82% rename from docs/extensions/thumbnails/_index.md rename to docs/services/thumbnails/_index.md index 30c3f3fa9..c90f2811f 100644 --- a/docs/extensions/thumbnails/_index.md +++ b/docs/services/thumbnails/_index.md @@ -3,7 +3,7 @@ title: "Thumbnails" date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/thumbnails +geekdocEditPath: edit/master/docs/services/thumbnails geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/extensions/settings/configuration.md b/docs/services/thumbnails/configuration.md similarity index 57% rename from docs/extensions/settings/configuration.md rename to docs/services/thumbnails/configuration.md index ac61a7570..845255d09 100644 --- a/docs/extensions/settings/configuration.md +++ b/docs/services/thumbnails/configuration.md @@ -3,13 +3,13 @@ title: Service Configuration date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/settings +geekdocEditPath: edit/master/docs/services/thumbnails geekdocFilePath: configuration.md geekdocCollapseSection: true --- ## Example YAML Config -{{< include file="extensions/_includes/settings-config-example.yaml" language="yaml" >}} +{{< include file="services/_includes/thumbnails-config-example.yaml" language="yaml" >}} -{{< include file="extensions/_includes/settings_configvars.md" >}} \ No newline at end of file +{{< include file="services/_includes/thumbnails_configvars.md" >}} \ No newline at end of file diff --git a/docs/extensions/users/_index.md b/docs/services/users/_index.md similarity index 81% rename from docs/extensions/users/_index.md rename to docs/services/users/_index.md index 1c90dbf56..91f38a498 100644 --- a/docs/extensions/users/_index.md +++ b/docs/services/users/_index.md @@ -3,7 +3,7 @@ title: Users date: 2022-03-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/users +geekdocEditPath: edit/master/docs/services/users geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/extensions/idp/configuration.md b/docs/services/users/configuration.md similarity index 57% rename from docs/extensions/idp/configuration.md rename to docs/services/users/configuration.md index 8aa88d203..1f621a58d 100644 --- a/docs/extensions/idp/configuration.md +++ b/docs/services/users/configuration.md @@ -3,13 +3,13 @@ title: Service Configuration date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/idp +geekdocEditPath: edit/master/docs/services/users geekdocFilePath: configuration.md geekdocCollapseSection: true --- ## Example YAML Config -{{< include file="extensions/_includes/idp-config-example.yaml" language="yaml" >}} +{{< include file="services/_includes/users-config-example.yaml" language="yaml" >}} -{{< include file="extensions/_includes/idp_configvars.md" >}} \ No newline at end of file +{{< include file="services/_includes/users_configvars.md" >}} diff --git a/docs/extensions/web/.gitignore b/docs/services/web/.gitignore similarity index 100% rename from docs/extensions/web/.gitignore rename to docs/services/web/.gitignore diff --git a/docs/extensions/web/_index.md b/docs/services/web/_index.md similarity index 85% rename from docs/extensions/web/_index.md rename to docs/services/web/_index.md index cb8c7900b..e856f5944 100644 --- a/docs/extensions/web/_index.md +++ b/docs/services/web/_index.md @@ -3,7 +3,7 @@ title: "Web" date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/web +geekdocEditPath: edit/master/docs/services/web geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/services/web/configuration.md b/docs/services/web/configuration.md new file mode 100644 index 000000000..e00343871 --- /dev/null +++ b/docs/services/web/configuration.md @@ -0,0 +1,15 @@ +--- +title: Service Configuration +date: 2018-05-02T00:00:00+00:00 +weight: 20 +geekdocRepo: https://github.com/owncloud/ocis +geekdocEditPath: edit/master/docs/services/web +geekdocFilePath: configuration.md +geekdocCollapseSection: true +--- + +## Example YAML Config + +{{< include file="services/_includes/web-config-example.yaml" language="yaml" >}} + +{{< include file="services/_includes/web_configvars.md" >}} \ No newline at end of file diff --git a/docs/extensions/web/releasing.md b/docs/services/web/releasing.md similarity index 97% rename from docs/extensions/web/releasing.md rename to docs/services/web/releasing.md index 75f2130cc..ac9be9f12 100644 --- a/docs/extensions/web/releasing.md +++ b/docs/services/web/releasing.md @@ -2,7 +2,7 @@ title: "Releasing" weight: 40 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/web +geekdocEditPath: edit/master/docs/services/web geekdocFilePath: releasing.md --- diff --git a/docs/extensions/webdav/.gitignore b/docs/services/webdav/.gitignore similarity index 100% rename from docs/extensions/webdav/.gitignore rename to docs/services/webdav/.gitignore diff --git a/docs/extensions/webdav/_index.md b/docs/services/webdav/_index.md similarity index 82% rename from docs/extensions/webdav/_index.md rename to docs/services/webdav/_index.md index dbf0f98b6..6dd82460e 100644 --- a/docs/extensions/webdav/_index.md +++ b/docs/services/webdav/_index.md @@ -3,7 +3,7 @@ title: WebDaV date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/webdav +geekdocEditPath: edit/master/docs/services/webdav geekdocFilePath: _index.md geekdocCollapseSection: true --- diff --git a/docs/extensions/nats/configuration.md b/docs/services/webdav/configuration.md similarity index 57% rename from docs/extensions/nats/configuration.md rename to docs/services/webdav/configuration.md index 4d414c90d..7e0f765b4 100644 --- a/docs/extensions/nats/configuration.md +++ b/docs/services/webdav/configuration.md @@ -3,13 +3,13 @@ title: Service Configuration date: 2018-05-02T00:00:00+00:00 weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/nats +geekdocEditPath: edit/master/docs/services/webdav geekdocFilePath: configuration.md geekdocCollapseSection: true --- ## Example YAML Config -{{< include file="extensions/_includes/nats-config-example.yaml" language="yaml" >}} +{{< include file="services/_includes/webdav-config-example.yaml" language="yaml" >}} -{{< include file="extensions/_includes/nats_configvars.md" >}} \ No newline at end of file +{{< include file="services/_includes/webdav_configvars.md" >}} \ No newline at end of file diff --git a/extensions/gateway/cmd/gateway/main.go b/extensions/gateway/cmd/gateway/main.go deleted file mode 100644 index 570a3c41a..000000000 --- a/extensions/gateway/cmd/gateway/main.go +++ /dev/null @@ -1,14 +0,0 @@ -package main - -import ( - "os" - - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/command" - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/config/defaults" -) - -func main() { - if err := command.Execute(defaults.DefaultConfig()); err != nil { - os.Exit(1) - } -} diff --git a/extensions/graph-explorer/cmd/graph-explorer/main.go b/extensions/graph-explorer/cmd/graph-explorer/main.go deleted file mode 100644 index dc1c83a80..000000000 --- a/extensions/graph-explorer/cmd/graph-explorer/main.go +++ /dev/null @@ -1,14 +0,0 @@ -package main - -import ( - "os" - - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/command" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/config/defaults" -) - -func main() { - if err := command.Execute(defaults.DefaultConfig()); err != nil { - os.Exit(1) - } -} diff --git a/extensions/graph-explorer/pkg/command/health.go b/extensions/graph-explorer/pkg/command/health.go deleted file mode 100644 index da1feefd4..000000000 --- a/extensions/graph-explorer/pkg/command/health.go +++ /dev/null @@ -1,57 +0,0 @@ -package command - -import ( - "fmt" - "net/http" - - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/config" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/logging" - "github.com/urfave/cli/v2" -) - -// Health is the entrypoint for the health command. -func Health(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "health", - Usage: "check health status", - Category: "info", - Before: func(c *cli.Context) error { - err := parser.ParseConfig(cfg) - if err != nil { - fmt.Printf("%v", err) - } - return err - }, - Action: func(c *cli.Context) error { - logger := logging.Configure(cfg.Service.Name, cfg.Log) - - resp, err := http.Get( - fmt.Sprintf( - "http://%s/healthz", - cfg.Debug.Addr, - ), - ) - - if err != nil { - logger.Fatal(). - Err(err). - Msg("Failed to request health check") - } - - defer resp.Body.Close() - - if resp.StatusCode != http.StatusOK { - logger.Fatal(). - Int("code", resp.StatusCode). - Msg("Health seems to be in bad state") - } - - logger.Debug(). - Int("code", resp.StatusCode). - Msg("Health got a good state") - - return nil - }, - } -} diff --git a/extensions/graph-explorer/pkg/command/version.go b/extensions/graph-explorer/pkg/command/version.go deleted file mode 100644 index 61021010b..000000000 --- a/extensions/graph-explorer/pkg/command/version.go +++ /dev/null @@ -1,50 +0,0 @@ -package command - -import ( - "fmt" - "os" - - "github.com/owncloud/ocis/v2/ocis-pkg/registry" - "github.com/owncloud/ocis/v2/ocis-pkg/version" - - tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/config" - "github.com/urfave/cli/v2" -) - -// Version prints the service versions of all running instances. -func Version(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "version", - Usage: "print the version of this binary and the running extension instances", - Category: "info", - Action: func(c *cli.Context) error { - fmt.Println("Version: " + version.GetString()) - fmt.Printf("Compiled: %s\n", version.Compiled()) - fmt.Println("") - - reg := registry.GetRegistry() - services, err := reg.GetService(cfg.HTTP.Namespace + "." + cfg.Service.Name) - if err != nil { - fmt.Println(fmt.Errorf("could not get %s services from the registry: %v", cfg.Service.Name, err)) - return err - } - - if len(services) == 0 { - fmt.Println("No running " + cfg.Service.Name + " service found.") - return nil - } - - table := tw.NewWriter(os.Stdout) - table.SetHeader([]string{"Version", "Address", "Id"}) - table.SetAutoFormatHeaders(false) - for _, s := range services { - for _, n := range s.Nodes { - table.Append([]string{s.Version, n.Address, n.Id}) - } - } - table.Render() - return nil - }, - } -} diff --git a/extensions/graph-explorer/pkg/logging/logging.go b/extensions/graph-explorer/pkg/logging/logging.go deleted file mode 100644 index bf2db03f5..000000000 --- a/extensions/graph-explorer/pkg/logging/logging.go +++ /dev/null @@ -1,17 +0,0 @@ -package logging - -import ( - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// LoggerFromConfig initializes a service-specific logger instance. -func Configure(name string, cfg *config.Log) log.Logger { - return log.NewLogger( - log.Name(name), - log.Level(cfg.Level), - log.Pretty(cfg.Pretty), - log.Color(cfg.Color), - log.File(cfg.File), - ) -} diff --git a/extensions/graph-explorer/pkg/server/debug/option.go b/extensions/graph-explorer/pkg/server/debug/option.go deleted file mode 100644 index f18c953b9..000000000 --- a/extensions/graph-explorer/pkg/server/debug/option.go +++ /dev/null @@ -1,50 +0,0 @@ -package debug - -import ( - "context" - - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// Option defines a single option function. -type Option func(o *Options) - -// Options defines the available options for this package. -type Options struct { - Logger log.Logger - Context context.Context - Config *config.Config -} - -// newOptions initializes the available default options. -func newOptions(opts ...Option) Options { - opt := Options{} - - for _, o := range opts { - o(&opt) - } - - return opt -} - -// Logger provides a function to set the logger option. -func Logger(val log.Logger) Option { - return func(o *Options) { - o.Logger = val - } -} - -// Context provides a function to set the context option. -func Context(val context.Context) Option { - return func(o *Options) { - o.Context = val - } -} - -// Config provides a function to set the config option. -func Config(val *config.Config) Option { - return func(o *Options) { - o.Config = val - } -} diff --git a/extensions/graph-explorer/pkg/server/debug/server.go b/extensions/graph-explorer/pkg/server/debug/server.go deleted file mode 100644 index 00cc7bd14..000000000 --- a/extensions/graph-explorer/pkg/server/debug/server.go +++ /dev/null @@ -1,59 +0,0 @@ -package debug - -import ( - "io" - "net/http" - - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" - "github.com/owncloud/ocis/v2/ocis-pkg/version" -) - -// Server initializes the debug service and server. -func Server(opts ...Option) (*http.Server, error) { - options := newOptions(opts...) - - return debug.NewService( - debug.Logger(options.Logger), - debug.Name(options.Config.Service.Name), - debug.Version(version.GetString()), - debug.Address(options.Config.Debug.Addr), - debug.Token(options.Config.Debug.Token), - debug.Pprof(options.Config.Debug.Pprof), - debug.Zpages(options.Config.Debug.Zpages), - debug.Health(health(options.Config)), - debug.Ready(ready(options.Config)), - ), nil -} - -// health implements the health check. -func health(cfg *config.Config) func(http.ResponseWriter, *http.Request) { - return func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "text/plain") - w.WriteHeader(http.StatusOK) - - // TODO: check if services are up and running - - _, err := io.WriteString(w, http.StatusText(http.StatusOK)) - // io.WriteString should not fail but if it does we want to know. - if err != nil { - panic(err) - } - } -} - -// ready implements the ready check. -func ready(cfg *config.Config) func(http.ResponseWriter, *http.Request) { - return func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "text/plain") - w.WriteHeader(http.StatusOK) - - // TODO: check if services are up and running - - _, err := io.WriteString(w, http.StatusText(http.StatusOK)) - // io.WriteString should not fail but if it does we want to know. - if err != nil { - panic(err) - } - } -} diff --git a/extensions/groups/cmd/groups/main.go b/extensions/groups/cmd/groups/main.go deleted file mode 100644 index f6a9bf09f..000000000 --- a/extensions/groups/cmd/groups/main.go +++ /dev/null @@ -1,14 +0,0 @@ -package main - -import ( - "os" - - "github.com/owncloud/ocis/v2/extensions/groups/pkg/command" - "github.com/owncloud/ocis/v2/extensions/groups/pkg/config/defaults" -) - -func main() { - if err := command.Execute(defaults.DefaultConfig()); err != nil { - os.Exit(1) - } -} diff --git a/extensions/notifications/cmd/notifications/main.go b/extensions/notifications/cmd/notifications/main.go deleted file mode 100644 index c965086a7..000000000 --- a/extensions/notifications/cmd/notifications/main.go +++ /dev/null @@ -1,14 +0,0 @@ -package main - -import ( - "os" - - "github.com/owncloud/ocis/v2/extensions/notifications/pkg/command" - "github.com/owncloud/ocis/v2/extensions/notifications/pkg/config/defaults" -) - -func main() { - if err := command.Execute(defaults.DefaultConfig()); err != nil { - os.Exit(1) - } -} diff --git a/extensions/notifications/pkg/logging/logging.go b/extensions/notifications/pkg/logging/logging.go deleted file mode 100644 index ed0042a0e..000000000 --- a/extensions/notifications/pkg/logging/logging.go +++ /dev/null @@ -1,17 +0,0 @@ -package logging - -import ( - "github.com/owncloud/ocis/v2/extensions/notifications/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// LoggerFromConfig initializes a service-specific logger instance. -func Configure(name string, cfg *config.Log) log.Logger { - return log.NewLogger( - log.Name(name), - log.Level(cfg.Level), - log.Pretty(cfg.Pretty), - log.Color(cfg.Color), - log.File(cfg.File), - ) -} diff --git a/extensions/ocdav/cmd/ocdav/main.go b/extensions/ocdav/cmd/ocdav/main.go deleted file mode 100644 index 7346590a0..000000000 --- a/extensions/ocdav/cmd/ocdav/main.go +++ /dev/null @@ -1,14 +0,0 @@ -package main - -import ( - "os" - - "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/command" - "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/config/defaults" -) - -func main() { - if err := command.Execute(defaults.DefaultConfig()); err != nil { - os.Exit(1) - } -} diff --git a/extensions/ocdav/pkg/command/health.go b/extensions/ocdav/pkg/command/health.go deleted file mode 100644 index 128b670ae..000000000 --- a/extensions/ocdav/pkg/command/health.go +++ /dev/null @@ -1,57 +0,0 @@ -package command - -import ( - "fmt" - "net/http" - - "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/config" - "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/logging" - "github.com/urfave/cli/v2" -) - -// Health is the entrypoint for the health command. -func Health(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "health", - Usage: "check health status", - Category: "info", - Before: func(c *cli.Context) error { - err := parser.ParseConfig(cfg) - if err != nil { - fmt.Printf("%v", err) - } - return err - }, - Action: func(c *cli.Context) error { - logger := logging.Configure(cfg.Service.Name, cfg.Log) - - resp, err := http.Get( - fmt.Sprintf( - "http://%s/healthz", - cfg.Debug.Addr, - ), - ) - - if err != nil { - logger.Fatal(). - Err(err). - Msg("Failed to request health check") - } - - defer resp.Body.Close() - - if resp.StatusCode != http.StatusOK { - logger.Fatal(). - Int("code", resp.StatusCode). - Msg("Health seems to be in bad state") - } - - logger.Debug(). - Int("code", resp.StatusCode). - Msg("Health got a good state") - - return nil - }, - } -} diff --git a/extensions/ocdav/pkg/logging/logging.go b/extensions/ocdav/pkg/logging/logging.go deleted file mode 100644 index eedbb81e2..000000000 --- a/extensions/ocdav/pkg/logging/logging.go +++ /dev/null @@ -1,17 +0,0 @@ -package logging - -import ( - "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// LoggerFromConfig initializes a service-specific logger instance. -func Configure(name string, cfg *config.Log) log.Logger { - return log.NewLogger( - log.Name(name), - log.Level(cfg.Level), - log.Pretty(cfg.Pretty), - log.Color(cfg.Color), - log.File(cfg.File), - ) -} diff --git a/extensions/proxy/cmd/proxy/main.go b/extensions/proxy/cmd/proxy/main.go deleted file mode 100644 index b804dd4f8..000000000 --- a/extensions/proxy/cmd/proxy/main.go +++ /dev/null @@ -1,14 +0,0 @@ -package main - -import ( - "os" - - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/command" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config/defaults" -) - -func main() { - if err := command.Execute(defaults.DefaultConfig()); err != nil { - os.Exit(1) - } -} diff --git a/extensions/proxy/pkg/logging/logging.go b/extensions/proxy/pkg/logging/logging.go deleted file mode 100644 index c89befa1b..000000000 --- a/extensions/proxy/pkg/logging/logging.go +++ /dev/null @@ -1,17 +0,0 @@ -package logging - -import ( - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// LoggerFromConfig initializes a service-specific logger instance. -func Configure(name string, cfg *config.Log) log.Logger { - return log.NewLogger( - log.Name(name), - log.Level(cfg.Level), - log.Pretty(cfg.Pretty), - log.Color(cfg.Color), - log.File(cfg.File), - ) -} diff --git a/extensions/proxy/pkg/server/debug/option.go b/extensions/proxy/pkg/server/debug/option.go deleted file mode 100644 index ac8d8dc7e..000000000 --- a/extensions/proxy/pkg/server/debug/option.go +++ /dev/null @@ -1,50 +0,0 @@ -package debug - -import ( - "context" - - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// Option defines a single option function. -type Option func(o *Options) - -// Options defines the available options for this package. -type Options struct { - Logger log.Logger - Context context.Context - Config *config.Config -} - -// newOptions initializes the available default options. -func newOptions(opts ...Option) Options { - opt := Options{} - - for _, o := range opts { - o(&opt) - } - - return opt -} - -// Logger provides a function to set the logger option. -func Logger(val log.Logger) Option { - return func(o *Options) { - o.Logger = val - } -} - -// Context provides a function to set the context option. -func Context(val context.Context) Option { - return func(o *Options) { - o.Context = val - } -} - -// Config provides a function to set the config option. -func Config(val *config.Config) Option { - return func(o *Options) { - o.Config = val - } -} diff --git a/extensions/search/pkg/logging/logging.go b/extensions/search/pkg/logging/logging.go deleted file mode 100644 index 3fff7ec87..000000000 --- a/extensions/search/pkg/logging/logging.go +++ /dev/null @@ -1,17 +0,0 @@ -package logging - -import ( - "github.com/owncloud/ocis/v2/extensions/search/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// LoggerFromConfig initializes a service-specific logger instance. -func Configure(name string, cfg *config.Log) log.Logger { - return log.NewLogger( - log.Name(name), - log.Level(cfg.Level), - log.Pretty(cfg.Pretty), - log.Color(cfg.Color), - log.File(cfg.File), - ) -} diff --git a/extensions/search/pkg/server/debug/option.go b/extensions/search/pkg/server/debug/option.go deleted file mode 100644 index 5b18313ce..000000000 --- a/extensions/search/pkg/server/debug/option.go +++ /dev/null @@ -1,50 +0,0 @@ -package debug - -import ( - "context" - - "github.com/owncloud/ocis/v2/extensions/search/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// Option defines a single option function. -type Option func(o *Options) - -// Options defines the available options for this package. -type Options struct { - Logger log.Logger - Context context.Context - Config *config.Config -} - -// newOptions initializes the available default options. -func newOptions(opts ...Option) Options { - opt := Options{} - - for _, o := range opts { - o(&opt) - } - - return opt -} - -// Logger provides a function to set the logger option. -func Logger(val log.Logger) Option { - return func(o *Options) { - o.Logger = val - } -} - -// Context provides a function to set the context option. -func Context(val context.Context) Option { - return func(o *Options) { - o.Context = val - } -} - -// Config provides a function to set the config option. -func Config(val *config.Config) Option { - return func(o *Options) { - o.Config = val - } -} diff --git a/extensions/settings/pkg/logging/logging.go b/extensions/settings/pkg/logging/logging.go deleted file mode 100644 index d8e711fc6..000000000 --- a/extensions/settings/pkg/logging/logging.go +++ /dev/null @@ -1,17 +0,0 @@ -package logging - -import ( - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// LoggerFromConfig initializes a service-specific logger instance. -func Configure(name string, cfg *config.Log) log.Logger { - return log.NewLogger( - log.Name(name), - log.Level(cfg.Level), - log.Pretty(cfg.Pretty), - log.Color(cfg.Color), - log.File(cfg.File), - ) -} diff --git a/extensions/settings/pkg/server/debug/option.go b/extensions/settings/pkg/server/debug/option.go deleted file mode 100644 index 688d997d5..000000000 --- a/extensions/settings/pkg/server/debug/option.go +++ /dev/null @@ -1,50 +0,0 @@ -package debug - -import ( - "context" - - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// Option defines a single option function. -type Option func(o *Options) - -// Options defines the available options for this package. -type Options struct { - Logger log.Logger - Context context.Context - Config *config.Config -} - -// newOptions initializes the available default options. -func newOptions(opts ...Option) Options { - opt := Options{} - - for _, o := range opts { - o(&opt) - } - - return opt -} - -// Logger provides a function to set the logger option. -func Logger(val log.Logger) Option { - return func(o *Options) { - o.Logger = val - } -} - -// Context provides a function to set the context option. -func Context(val context.Context) Option { - return func(o *Options) { - o.Context = val - } -} - -// Config provides a function to set the config option. -func Config(val *config.Config) Option { - return func(o *Options) { - o.Config = val - } -} diff --git a/extensions/settings/pkg/store/registry.go b/extensions/settings/pkg/store/registry.go deleted file mode 100644 index d82af83bd..000000000 --- a/extensions/settings/pkg/store/registry.go +++ /dev/null @@ -1,7 +0,0 @@ -package store - -import ( - // init filesystem store - _ "github.com/owncloud/ocis/v2/extensions/settings/pkg/store/filesystem" - _ "github.com/owncloud/ocis/v2/extensions/settings/pkg/store/metadata" -) diff --git a/extensions/sharing/cmd/sharing/main.go b/extensions/sharing/cmd/sharing/main.go deleted file mode 100644 index 63938d147..000000000 --- a/extensions/sharing/cmd/sharing/main.go +++ /dev/null @@ -1,14 +0,0 @@ -package main - -import ( - "os" - - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/command" - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/config/defaults" -) - -func main() { - if err := command.Execute(defaults.DefaultConfig()); err != nil { - os.Exit(1) - } -} diff --git a/extensions/sharing/pkg/command/health.go b/extensions/sharing/pkg/command/health.go deleted file mode 100644 index f0303cc8a..000000000 --- a/extensions/sharing/pkg/command/health.go +++ /dev/null @@ -1,57 +0,0 @@ -package command - -import ( - "fmt" - "net/http" - - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/config" - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/logging" - "github.com/urfave/cli/v2" -) - -// Health is the entrypoint for the health command. -func Health(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "health", - Usage: "check health status", - Category: "info", - Before: func(c *cli.Context) error { - err := parser.ParseConfig(cfg) - if err != nil { - fmt.Printf("%v", err) - } - return err - }, - Action: func(c *cli.Context) error { - logger := logging.Configure(cfg.Service.Name, cfg.Log) - - resp, err := http.Get( - fmt.Sprintf( - "http://%s/healthz", - cfg.Debug.Addr, - ), - ) - - if err != nil { - logger.Fatal(). - Err(err). - Msg("Failed to request health check") - } - - defer resp.Body.Close() - - if resp.StatusCode != http.StatusOK { - logger.Fatal(). - Int("code", resp.StatusCode). - Msg("Health seems to be in bad state") - } - - logger.Debug(). - Int("code", resp.StatusCode). - Msg("Health got a good state") - - return nil - }, - } -} diff --git a/extensions/sharing/pkg/command/version.go b/extensions/sharing/pkg/command/version.go deleted file mode 100644 index 6e4842fb1..000000000 --- a/extensions/sharing/pkg/command/version.go +++ /dev/null @@ -1,50 +0,0 @@ -package command - -import ( - "fmt" - "os" - - "github.com/owncloud/ocis/v2/ocis-pkg/registry" - "github.com/owncloud/ocis/v2/ocis-pkg/version" - - tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/config" - "github.com/urfave/cli/v2" -) - -// Version prints the service versions of all running instances. -func Version(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "version", - Usage: "print the version of this binary and the running extension instances", - Category: "info", - Action: func(c *cli.Context) error { - fmt.Println("Version: " + version.GetString()) - fmt.Printf("Compiled: %s\n", version.Compiled()) - fmt.Println("") - - reg := registry.GetRegistry() - services, err := reg.GetService(cfg.GRPC.Namespace + "." + cfg.Service.Name) - if err != nil { - fmt.Println(fmt.Errorf("could not get %s services from the registry: %v", cfg.Service.Name, err)) - return err - } - - if len(services) == 0 { - fmt.Println("No running " + cfg.Service.Name + " service found.") - return nil - } - - table := tw.NewWriter(os.Stdout) - table.SetHeader([]string{"Version", "Address", "Id"}) - table.SetAutoFormatHeaders(false) - for _, s := range services { - for _, n := range s.Nodes { - table.Append([]string{s.Version, n.Address, n.Id}) - } - } - table.Render() - return nil - }, - } -} diff --git a/extensions/sharing/pkg/logging/logging.go b/extensions/sharing/pkg/logging/logging.go deleted file mode 100644 index 90114df28..000000000 --- a/extensions/sharing/pkg/logging/logging.go +++ /dev/null @@ -1,17 +0,0 @@ -package logging - -import ( - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// LoggerFromConfig initializes a service-specific logger instance. -func Configure(name string, cfg *config.Log) log.Logger { - return log.NewLogger( - log.Name(name), - log.Level(cfg.Level), - log.Pretty(cfg.Pretty), - log.Color(cfg.Color), - log.File(cfg.File), - ) -} diff --git a/extensions/sharing/pkg/server/debug/option.go b/extensions/sharing/pkg/server/debug/option.go deleted file mode 100644 index 2c59af906..000000000 --- a/extensions/sharing/pkg/server/debug/option.go +++ /dev/null @@ -1,50 +0,0 @@ -package debug - -import ( - "context" - - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// Option defines a single option function. -type Option func(o *Options) - -// Options defines the available options for this package. -type Options struct { - Logger log.Logger - Context context.Context - Config *config.Config -} - -// newOptions initializes the available default options. -func newOptions(opts ...Option) Options { - opt := Options{} - - for _, o := range opts { - o(&opt) - } - - return opt -} - -// Logger provides a function to set the logger option. -func Logger(val log.Logger) Option { - return func(o *Options) { - o.Logger = val - } -} - -// Context provides a function to set the context option. -func Context(val context.Context) Option { - return func(o *Options) { - o.Context = val - } -} - -// Config provides a function to set the config option. -func Config(val *config.Config) Option { - return func(o *Options) { - o.Config = val - } -} diff --git a/extensions/sharing/pkg/server/debug/server.go b/extensions/sharing/pkg/server/debug/server.go deleted file mode 100644 index c9e262a42..000000000 --- a/extensions/sharing/pkg/server/debug/server.go +++ /dev/null @@ -1,63 +0,0 @@ -package debug - -import ( - "io" - "net/http" - - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" - "github.com/owncloud/ocis/v2/ocis-pkg/version" -) - -// Server initializes the debug service and server. -func Server(opts ...Option) (*http.Server, error) { - options := newOptions(opts...) - - return debug.NewService( - debug.Logger(options.Logger), - debug.Name(options.Config.Service.Name), - debug.Version(version.GetString()), - debug.Address(options.Config.Debug.Addr), - debug.Token(options.Config.Debug.Token), - debug.Pprof(options.Config.Debug.Pprof), - debug.Zpages(options.Config.Debug.Zpages), - debug.Health(health(options.Config)), - debug.Ready(ready(options.Config)), - //debug.CorsAllowedOrigins(options.Config.HTTP.CORS.AllowedOrigins), - //debug.CorsAllowedMethods(options.Config.HTTP.CORS.AllowedMethods), - //debug.CorsAllowedHeaders(options.Config.HTTP.CORS.AllowedHeaders), - //debug.CorsAllowCredentials(options.Config.HTTP.CORS.AllowCredentials), - ), nil -} - -// health implements the health check. -func health(cfg *config.Config) func(http.ResponseWriter, *http.Request) { - return func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "text/plain") - w.WriteHeader(http.StatusOK) - - // TODO: check if services are up and running - - _, err := io.WriteString(w, http.StatusText(http.StatusOK)) - // io.WriteString should not fail but if it does we want to know. - if err != nil { - panic(err) - } - } -} - -// ready implements the ready check. -func ready(cfg *config.Config) func(http.ResponseWriter, *http.Request) { - return func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "text/plain") - w.WriteHeader(http.StatusOK) - - // TODO: check if services are up and running - - _, err := io.WriteString(w, http.StatusText(http.StatusOK)) - // io.WriteString should not fail but if it does we want to know. - if err != nil { - panic(err) - } - } -} diff --git a/extensions/sharing/pkg/tracing/tracing.go b/extensions/sharing/pkg/tracing/tracing.go deleted file mode 100644 index f69064d4f..000000000 --- a/extensions/sharing/pkg/tracing/tracing.go +++ /dev/null @@ -1,18 +0,0 @@ -package tracing - -import ( - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" - "github.com/owncloud/ocis/v2/ocis-pkg/tracing" - "go.opentelemetry.io/otel/trace" -) - -var ( - // TraceProvider is the global trace provider for the service. - TraceProvider = trace.NewNoopTracerProvider() -) - -func Configure(cfg *config.Config, logger log.Logger) error { - tracing.Configure(cfg.Tracing.Enabled, cfg.Tracing.Type, logger) - return nil -} diff --git a/extensions/storage-publiclink/cmd/storage-publiclink/main.go b/extensions/storage-publiclink/cmd/storage-publiclink/main.go deleted file mode 100644 index d620d0e65..000000000 --- a/extensions/storage-publiclink/cmd/storage-publiclink/main.go +++ /dev/null @@ -1,14 +0,0 @@ -package main - -import ( - "os" - - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/command" - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/config/defaults" -) - -func main() { - if err := command.Execute(defaults.DefaultConfig()); err != nil { - os.Exit(1) - } -} diff --git a/extensions/storage-publiclink/pkg/command/health.go b/extensions/storage-publiclink/pkg/command/health.go deleted file mode 100644 index 679d663f9..000000000 --- a/extensions/storage-publiclink/pkg/command/health.go +++ /dev/null @@ -1,57 +0,0 @@ -package command - -import ( - "fmt" - "net/http" - - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/config" - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/logging" - "github.com/urfave/cli/v2" -) - -// Health is the entrypoint for the health command. -func Health(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "health", - Usage: "check health status", - Category: "info", - Before: func(c *cli.Context) error { - err := parser.ParseConfig(cfg) - if err != nil { - fmt.Printf("%v", err) - } - return err - }, - Action: func(c *cli.Context) error { - logger := logging.Configure(cfg.Service.Name, cfg.Log) - - resp, err := http.Get( - fmt.Sprintf( - "http://%s/healthz", - cfg.Debug.Addr, - ), - ) - - if err != nil { - logger.Fatal(). - Err(err). - Msg("Failed to request health check") - } - - defer resp.Body.Close() - - if resp.StatusCode != http.StatusOK { - logger.Fatal(). - Int("code", resp.StatusCode). - Msg("Health seems to be in bad state") - } - - logger.Debug(). - Int("code", resp.StatusCode). - Msg("Health got a good state") - - return nil - }, - } -} diff --git a/extensions/storage-publiclink/pkg/command/version.go b/extensions/storage-publiclink/pkg/command/version.go deleted file mode 100644 index cd3ab196b..000000000 --- a/extensions/storage-publiclink/pkg/command/version.go +++ /dev/null @@ -1,50 +0,0 @@ -package command - -import ( - "fmt" - "os" - - "github.com/owncloud/ocis/v2/ocis-pkg/registry" - "github.com/owncloud/ocis/v2/ocis-pkg/version" - - tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/config" - "github.com/urfave/cli/v2" -) - -// Version prints the service versions of all running instances. -func Version(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "version", - Usage: "print the version of this binary and the running extension instances", - Category: "info", - Action: func(c *cli.Context) error { - fmt.Println("Version: " + version.GetString()) - fmt.Printf("Compiled: %s\n", version.Compiled()) - fmt.Println("") - - reg := registry.GetRegistry() - services, err := reg.GetService(cfg.GRPC.Namespace + "." + cfg.Service.Name) - if err != nil { - fmt.Println(fmt.Errorf("could not get %s services from the registry: %v", cfg.Service.Name, err)) - return err - } - - if len(services) == 0 { - fmt.Println("No running " + cfg.Service.Name + " service found.") - return nil - } - - table := tw.NewWriter(os.Stdout) - table.SetHeader([]string{"Version", "Address", "Id"}) - table.SetAutoFormatHeaders(false) - for _, s := range services { - for _, n := range s.Nodes { - table.Append([]string{s.Version, n.Address, n.Id}) - } - } - table.Render() - return nil - }, - } -} diff --git a/extensions/storage-publiclink/pkg/config/parser/parse.go b/extensions/storage-publiclink/pkg/config/parser/parse.go deleted file mode 100644 index 03549280f..000000000 --- a/extensions/storage-publiclink/pkg/config/parser/parse.go +++ /dev/null @@ -1,42 +0,0 @@ -package parser - -import ( - "errors" - - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/config" - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/config/defaults" - ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/shared" - - "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" -) - -// ParseConfig loads configuration from known paths. -func ParseConfig(cfg *config.Config) error { - _, err := ociscfg.BindSourcesToStructs(cfg.Service.Name, cfg) - if err != nil { - return err - } - - defaults.EnsureDefaults(cfg) - - // load all env variables relevant to the config in the current context. - if err := envdecode.Decode(cfg); err != nil { - // no environment variable set for this config is an expected "error" - if !errors.Is(err, envdecode.ErrNoTargetFieldsAreSet) { - return err - } - } - - defaults.Sanitize(cfg) - - return Validate(cfg) -} - -func Validate(cfg *config.Config) error { - if cfg.TokenManager.JWTSecret == "" { - return shared.MissingJWTTokenError(cfg.Service.Name) - } - - return nil -} diff --git a/extensions/storage-publiclink/pkg/logging/logging.go b/extensions/storage-publiclink/pkg/logging/logging.go deleted file mode 100644 index 1ee5114d9..000000000 --- a/extensions/storage-publiclink/pkg/logging/logging.go +++ /dev/null @@ -1,17 +0,0 @@ -package logging - -import ( - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// LoggerFromConfig initializes a service-specific logger instance. -func Configure(name string, cfg *config.Log) log.Logger { - return log.NewLogger( - log.Name(name), - log.Level(cfg.Level), - log.Pretty(cfg.Pretty), - log.Color(cfg.Color), - log.File(cfg.File), - ) -} diff --git a/extensions/storage-publiclink/pkg/server/debug/option.go b/extensions/storage-publiclink/pkg/server/debug/option.go deleted file mode 100644 index cae95d690..000000000 --- a/extensions/storage-publiclink/pkg/server/debug/option.go +++ /dev/null @@ -1,50 +0,0 @@ -package debug - -import ( - "context" - - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// Option defines a single option function. -type Option func(o *Options) - -// Options defines the available options for this package. -type Options struct { - Logger log.Logger - Context context.Context - Config *config.Config -} - -// newOptions initializes the available default options. -func newOptions(opts ...Option) Options { - opt := Options{} - - for _, o := range opts { - o(&opt) - } - - return opt -} - -// Logger provides a function to set the logger option. -func Logger(val log.Logger) Option { - return func(o *Options) { - o.Logger = val - } -} - -// Context provides a function to set the context option. -func Context(val context.Context) Option { - return func(o *Options) { - o.Context = val - } -} - -// Config provides a function to set the config option. -func Config(val *config.Config) Option { - return func(o *Options) { - o.Config = val - } -} diff --git a/extensions/storage-publiclink/pkg/server/debug/server.go b/extensions/storage-publiclink/pkg/server/debug/server.go deleted file mode 100644 index 14a690a0b..000000000 --- a/extensions/storage-publiclink/pkg/server/debug/server.go +++ /dev/null @@ -1,63 +0,0 @@ -package debug - -import ( - "io" - "net/http" - - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" - "github.com/owncloud/ocis/v2/ocis-pkg/version" -) - -// Server initializes the debug service and server. -func Server(opts ...Option) (*http.Server, error) { - options := newOptions(opts...) - - return debug.NewService( - debug.Logger(options.Logger), - debug.Name(options.Config.Service.Name), - debug.Version(version.GetString()), - debug.Address(options.Config.Debug.Addr), - debug.Token(options.Config.Debug.Token), - debug.Pprof(options.Config.Debug.Pprof), - debug.Zpages(options.Config.Debug.Zpages), - debug.Health(health(options.Config)), - debug.Ready(ready(options.Config)), - //debug.CorsAllowedOrigins(options.Config.HTTP.CORS.AllowedOrigins), - //debug.CorsAllowedMethods(options.Config.HTTP.CORS.AllowedMethods), - //debug.CorsAllowedHeaders(options.Config.HTTP.CORS.AllowedHeaders), - //debug.CorsAllowCredentials(options.Config.HTTP.CORS.AllowCredentials), - ), nil -} - -// health implements the health check. -func health(cfg *config.Config) func(http.ResponseWriter, *http.Request) { - return func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "text/plain") - w.WriteHeader(http.StatusOK) - - // TODO: check if services are up and running - - _, err := io.WriteString(w, http.StatusText(http.StatusOK)) - // io.WriteString should not fail but if it does we want to know. - if err != nil { - panic(err) - } - } -} - -// ready implements the ready check. -func ready(cfg *config.Config) func(http.ResponseWriter, *http.Request) { - return func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "text/plain") - w.WriteHeader(http.StatusOK) - - // TODO: check if services are up and running - - _, err := io.WriteString(w, http.StatusText(http.StatusOK)) - // io.WriteString should not fail but if it does we want to know. - if err != nil { - panic(err) - } - } -} diff --git a/extensions/storage-publiclink/pkg/tracing/tracing.go b/extensions/storage-publiclink/pkg/tracing/tracing.go deleted file mode 100644 index cc5342080..000000000 --- a/extensions/storage-publiclink/pkg/tracing/tracing.go +++ /dev/null @@ -1,18 +0,0 @@ -package tracing - -import ( - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" - "github.com/owncloud/ocis/v2/ocis-pkg/tracing" - "go.opentelemetry.io/otel/trace" -) - -var ( - // TraceProvider is the global trace provider for the service. - TraceProvider = trace.NewNoopTracerProvider() -) - -func Configure(cfg *config.Config, logger log.Logger) error { - tracing.Configure(cfg.Tracing.Enabled, cfg.Tracing.Type, logger) - return nil -} diff --git a/extensions/storage-shares/cmd/storage-shares/main.go b/extensions/storage-shares/cmd/storage-shares/main.go deleted file mode 100644 index e663319fc..000000000 --- a/extensions/storage-shares/cmd/storage-shares/main.go +++ /dev/null @@ -1,14 +0,0 @@ -package main - -import ( - "os" - - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/command" - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/config/defaults" -) - -func main() { - if err := command.Execute(defaults.DefaultConfig()); err != nil { - os.Exit(1) - } -} diff --git a/extensions/storage-shares/pkg/command/health.go b/extensions/storage-shares/pkg/command/health.go deleted file mode 100644 index 0be6749a4..000000000 --- a/extensions/storage-shares/pkg/command/health.go +++ /dev/null @@ -1,57 +0,0 @@ -package command - -import ( - "fmt" - "net/http" - - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/config" - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/logging" - "github.com/urfave/cli/v2" -) - -// Health is the entrypoint for the health command. -func Health(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "health", - Usage: "check health status", - Category: "info", - Before: func(c *cli.Context) error { - err := parser.ParseConfig(cfg) - if err != nil { - fmt.Printf("%v", err) - } - return err - }, - Action: func(c *cli.Context) error { - logger := logging.Configure(cfg.Service.Name, cfg.Log) - - resp, err := http.Get( - fmt.Sprintf( - "http://%s/healthz", - cfg.Debug.Addr, - ), - ) - - if err != nil { - logger.Fatal(). - Err(err). - Msg("Failed to request health check") - } - - defer resp.Body.Close() - - if resp.StatusCode != http.StatusOK { - logger.Fatal(). - Int("code", resp.StatusCode). - Msg("Health seems to be in bad state") - } - - logger.Debug(). - Int("code", resp.StatusCode). - Msg("Health got a good state") - - return nil - }, - } -} diff --git a/extensions/storage-shares/pkg/command/version.go b/extensions/storage-shares/pkg/command/version.go deleted file mode 100644 index c7c66653f..000000000 --- a/extensions/storage-shares/pkg/command/version.go +++ /dev/null @@ -1,50 +0,0 @@ -package command - -import ( - "fmt" - "os" - - "github.com/owncloud/ocis/v2/ocis-pkg/registry" - "github.com/owncloud/ocis/v2/ocis-pkg/version" - - tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/config" - "github.com/urfave/cli/v2" -) - -// Version prints the service versions of all running instances. -func Version(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "version", - Usage: "print the version of this binary and the running extension instances", - Category: "info", - Action: func(c *cli.Context) error { - fmt.Println("Version: " + version.GetString()) - fmt.Printf("Compiled: %s\n", version.Compiled()) - fmt.Println("") - - reg := registry.GetRegistry() - services, err := reg.GetService(cfg.GRPC.Namespace + "." + cfg.Service.Name) - if err != nil { - fmt.Println(fmt.Errorf("could not get %s services from the registry: %v", cfg.Service.Name, err)) - return err - } - - if len(services) == 0 { - fmt.Println("No running " + cfg.Service.Name + " service found.") - return nil - } - - table := tw.NewWriter(os.Stdout) - table.SetHeader([]string{"Version", "Address", "Id"}) - table.SetAutoFormatHeaders(false) - for _, s := range services { - for _, n := range s.Nodes { - table.Append([]string{s.Version, n.Address, n.Id}) - } - } - table.Render() - return nil - }, - } -} diff --git a/extensions/storage-shares/pkg/config/parser/parse.go b/extensions/storage-shares/pkg/config/parser/parse.go deleted file mode 100644 index fb0bbf230..000000000 --- a/extensions/storage-shares/pkg/config/parser/parse.go +++ /dev/null @@ -1,42 +0,0 @@ -package parser - -import ( - "errors" - - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/config" - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/config/defaults" - ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/shared" - - "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" -) - -// ParseConfig loads configuration from known paths. -func ParseConfig(cfg *config.Config) error { - _, err := ociscfg.BindSourcesToStructs(cfg.Service.Name, cfg) - if err != nil { - return err - } - - defaults.EnsureDefaults(cfg) - - // load all env variables relevant to the config in the current context. - if err := envdecode.Decode(cfg); err != nil { - // no environment variable set for this config is an expected "error" - if !errors.Is(err, envdecode.ErrNoTargetFieldsAreSet) { - return err - } - } - - defaults.Sanitize(cfg) - - return Validate(cfg) -} - -func Validate(cfg *config.Config) error { - if cfg.TokenManager.JWTSecret == "" { - return shared.MissingJWTTokenError(cfg.Service.Name) - } - - return nil -} diff --git a/extensions/storage-shares/pkg/logging/logging.go b/extensions/storage-shares/pkg/logging/logging.go deleted file mode 100644 index b585f564b..000000000 --- a/extensions/storage-shares/pkg/logging/logging.go +++ /dev/null @@ -1,17 +0,0 @@ -package logging - -import ( - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// LoggerFromConfig initializes a service-specific logger instance. -func Configure(name string, cfg *config.Log) log.Logger { - return log.NewLogger( - log.Name(name), - log.Level(cfg.Level), - log.Pretty(cfg.Pretty), - log.Color(cfg.Color), - log.File(cfg.File), - ) -} diff --git a/extensions/storage-shares/pkg/server/debug/option.go b/extensions/storage-shares/pkg/server/debug/option.go deleted file mode 100644 index a9e1af69f..000000000 --- a/extensions/storage-shares/pkg/server/debug/option.go +++ /dev/null @@ -1,50 +0,0 @@ -package debug - -import ( - "context" - - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// Option defines a single option function. -type Option func(o *Options) - -// Options defines the available options for this package. -type Options struct { - Logger log.Logger - Context context.Context - Config *config.Config -} - -// newOptions initializes the available default options. -func newOptions(opts ...Option) Options { - opt := Options{} - - for _, o := range opts { - o(&opt) - } - - return opt -} - -// Logger provides a function to set the logger option. -func Logger(val log.Logger) Option { - return func(o *Options) { - o.Logger = val - } -} - -// Context provides a function to set the context option. -func Context(val context.Context) Option { - return func(o *Options) { - o.Context = val - } -} - -// Config provides a function to set the config option. -func Config(val *config.Config) Option { - return func(o *Options) { - o.Config = val - } -} diff --git a/extensions/storage-shares/pkg/server/debug/server.go b/extensions/storage-shares/pkg/server/debug/server.go deleted file mode 100644 index cf6a1af70..000000000 --- a/extensions/storage-shares/pkg/server/debug/server.go +++ /dev/null @@ -1,63 +0,0 @@ -package debug - -import ( - "io" - "net/http" - - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" - "github.com/owncloud/ocis/v2/ocis-pkg/version" -) - -// Server initializes the debug service and server. -func Server(opts ...Option) (*http.Server, error) { - options := newOptions(opts...) - - return debug.NewService( - debug.Logger(options.Logger), - debug.Name(options.Config.Service.Name), - debug.Version(version.GetString()), - debug.Address(options.Config.Debug.Addr), - debug.Token(options.Config.Debug.Token), - debug.Pprof(options.Config.Debug.Pprof), - debug.Zpages(options.Config.Debug.Zpages), - debug.Health(health(options.Config)), - debug.Ready(ready(options.Config)), - //debug.CorsAllowedOrigins(options.Config.HTTP.CORS.AllowedOrigins), - //debug.CorsAllowedMethods(options.Config.HTTP.CORS.AllowedMethods), - //debug.CorsAllowedHeaders(options.Config.HTTP.CORS.AllowedHeaders), - //debug.CorsAllowCredentials(options.Config.HTTP.CORS.AllowCredentials), - ), nil -} - -// health implements the health check. -func health(cfg *config.Config) func(http.ResponseWriter, *http.Request) { - return func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "text/plain") - w.WriteHeader(http.StatusOK) - - // TODO: check if services are up and running - - _, err := io.WriteString(w, http.StatusText(http.StatusOK)) - // io.WriteString should not fail but if it does we want to know. - if err != nil { - panic(err) - } - } -} - -// ready implements the ready check. -func ready(cfg *config.Config) func(http.ResponseWriter, *http.Request) { - return func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "text/plain") - w.WriteHeader(http.StatusOK) - - // TODO: check if services are up and running - - _, err := io.WriteString(w, http.StatusText(http.StatusOK)) - // io.WriteString should not fail but if it does we want to know. - if err != nil { - panic(err) - } - } -} diff --git a/extensions/storage-shares/pkg/tracing/tracing.go b/extensions/storage-shares/pkg/tracing/tracing.go deleted file mode 100644 index d09325e02..000000000 --- a/extensions/storage-shares/pkg/tracing/tracing.go +++ /dev/null @@ -1,18 +0,0 @@ -package tracing - -import ( - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" - "github.com/owncloud/ocis/v2/ocis-pkg/tracing" - "go.opentelemetry.io/otel/trace" -) - -var ( - // TraceProvider is the global trace provider for the service. - TraceProvider = trace.NewNoopTracerProvider() -) - -func Configure(cfg *config.Config, logger log.Logger) error { - tracing.Configure(cfg.Tracing.Enabled, cfg.Tracing.Type, logger) - return nil -} diff --git a/extensions/storage-system/cmd/storage-system/main.go b/extensions/storage-system/cmd/storage-system/main.go deleted file mode 100644 index 1eabece47..000000000 --- a/extensions/storage-system/cmd/storage-system/main.go +++ /dev/null @@ -1,14 +0,0 @@ -package main - -import ( - "os" - - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/command" - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/config/defaults" -) - -func main() { - if err := command.Execute(defaults.DefaultConfig()); err != nil { - os.Exit(1) - } -} diff --git a/extensions/storage-system/pkg/command/health.go b/extensions/storage-system/pkg/command/health.go deleted file mode 100644 index 52dc14efb..000000000 --- a/extensions/storage-system/pkg/command/health.go +++ /dev/null @@ -1,57 +0,0 @@ -package command - -import ( - "fmt" - "net/http" - - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/config" - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/logging" - "github.com/urfave/cli/v2" -) - -// Health is the entrypoint for the health command. -func Health(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "health", - Usage: "check health status", - Category: "info", - Before: func(c *cli.Context) error { - err := parser.ParseConfig(cfg) - if err != nil { - fmt.Printf("%v", err) - } - return err - }, - Action: func(c *cli.Context) error { - logger := logging.Configure(cfg.Service.Name, cfg.Log) - - resp, err := http.Get( - fmt.Sprintf( - "http://%s/healthz", - cfg.Debug.Addr, - ), - ) - - if err != nil { - logger.Fatal(). - Err(err). - Msg("Failed to request health check") - } - - defer resp.Body.Close() - - if resp.StatusCode != http.StatusOK { - logger.Fatal(). - Int("code", resp.StatusCode). - Msg("Health seems to be in bad state") - } - - logger.Debug(). - Int("code", resp.StatusCode). - Msg("Health got a good state") - - return nil - }, - } -} diff --git a/extensions/storage-system/pkg/command/version.go b/extensions/storage-system/pkg/command/version.go deleted file mode 100644 index 77c927716..000000000 --- a/extensions/storage-system/pkg/command/version.go +++ /dev/null @@ -1,50 +0,0 @@ -package command - -import ( - "fmt" - "os" - - "github.com/owncloud/ocis/v2/ocis-pkg/registry" - "github.com/owncloud/ocis/v2/ocis-pkg/version" - - tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/config" - "github.com/urfave/cli/v2" -) - -// Version prints the service versions of all running instances. -func Version(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "version", - Usage: "print the version of this binary and the running extension instances", - Category: "info", - Action: func(c *cli.Context) error { - fmt.Println("Version: " + version.GetString()) - fmt.Printf("Compiled: %s\n", version.Compiled()) - fmt.Println("") - - reg := registry.GetRegistry() - services, err := reg.GetService(cfg.GRPC.Namespace + "." + cfg.Service.Name) - if err != nil { - fmt.Println(fmt.Errorf("could not get %s services from the registry: %v", cfg.Service.Name, err)) - return err - } - - if len(services) == 0 { - fmt.Println("No running " + cfg.Service.Name + " service found.") - return nil - } - - table := tw.NewWriter(os.Stdout) - table.SetHeader([]string{"Version", "Address", "Id"}) - table.SetAutoFormatHeaders(false) - for _, s := range services { - for _, n := range s.Nodes { - table.Append([]string{s.Version, n.Address, n.Id}) - } - } - table.Render() - return nil - }, - } -} diff --git a/extensions/storage-system/pkg/logging/logging.go b/extensions/storage-system/pkg/logging/logging.go deleted file mode 100644 index 5071fda3e..000000000 --- a/extensions/storage-system/pkg/logging/logging.go +++ /dev/null @@ -1,17 +0,0 @@ -package logging - -import ( - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// LoggerFromConfig initializes a service-specific logger instance. -func Configure(name string, cfg *config.Log) log.Logger { - return log.NewLogger( - log.Name(name), - log.Level(cfg.Level), - log.Pretty(cfg.Pretty), - log.Color(cfg.Color), - log.File(cfg.File), - ) -} diff --git a/extensions/storage-system/pkg/server/debug/option.go b/extensions/storage-system/pkg/server/debug/option.go deleted file mode 100644 index a1b8225fc..000000000 --- a/extensions/storage-system/pkg/server/debug/option.go +++ /dev/null @@ -1,50 +0,0 @@ -package debug - -import ( - "context" - - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// Option defines a single option function. -type Option func(o *Options) - -// Options defines the available options for this package. -type Options struct { - Logger log.Logger - Context context.Context - Config *config.Config -} - -// newOptions initializes the available default options. -func newOptions(opts ...Option) Options { - opt := Options{} - - for _, o := range opts { - o(&opt) - } - - return opt -} - -// Logger provides a function to set the logger option. -func Logger(val log.Logger) Option { - return func(o *Options) { - o.Logger = val - } -} - -// Context provides a function to set the context option. -func Context(val context.Context) Option { - return func(o *Options) { - o.Context = val - } -} - -// Config provides a function to set the config option. -func Config(val *config.Config) Option { - return func(o *Options) { - o.Config = val - } -} diff --git a/extensions/storage-system/pkg/server/debug/server.go b/extensions/storage-system/pkg/server/debug/server.go deleted file mode 100644 index 63d0348db..000000000 --- a/extensions/storage-system/pkg/server/debug/server.go +++ /dev/null @@ -1,63 +0,0 @@ -package debug - -import ( - "io" - "net/http" - - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" - "github.com/owncloud/ocis/v2/ocis-pkg/version" -) - -// Server initializes the debug service and server. -func Server(opts ...Option) (*http.Server, error) { - options := newOptions(opts...) - - return debug.NewService( - debug.Logger(options.Logger), - debug.Name(options.Config.Service.Name), - debug.Version(version.GetString()), - debug.Address(options.Config.Debug.Addr), - debug.Token(options.Config.Debug.Token), - debug.Pprof(options.Config.Debug.Pprof), - debug.Zpages(options.Config.Debug.Zpages), - debug.Health(health(options.Config)), - debug.Ready(ready(options.Config)), - //debug.CorsAllowedOrigins(options.Config.HTTP.CORS.AllowedOrigins), - //debug.CorsAllowedMethods(options.Config.HTTP.CORS.AllowedMethods), - //debug.CorsAllowedHeaders(options.Config.HTTP.CORS.AllowedHeaders), - //debug.CorsAllowCredentials(options.Config.HTTP.CORS.AllowCredentials), - ), nil -} - -// health implements the health check. -func health(cfg *config.Config) func(http.ResponseWriter, *http.Request) { - return func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "text/plain") - w.WriteHeader(http.StatusOK) - - // TODO: check if services are up and running - - _, err := io.WriteString(w, http.StatusText(http.StatusOK)) - // io.WriteString should not fail but if it does we want to know. - if err != nil { - panic(err) - } - } -} - -// ready implements the ready check. -func ready(cfg *config.Config) func(http.ResponseWriter, *http.Request) { - return func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "text/plain") - w.WriteHeader(http.StatusOK) - - // TODO: check if services are up and running - - _, err := io.WriteString(w, http.StatusText(http.StatusOK)) - // io.WriteString should not fail but if it does we want to know. - if err != nil { - panic(err) - } - } -} diff --git a/extensions/storage-system/pkg/tracing/tracing.go b/extensions/storage-system/pkg/tracing/tracing.go deleted file mode 100644 index 2a7b1de33..000000000 --- a/extensions/storage-system/pkg/tracing/tracing.go +++ /dev/null @@ -1,18 +0,0 @@ -package tracing - -import ( - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" - "github.com/owncloud/ocis/v2/ocis-pkg/tracing" - "go.opentelemetry.io/otel/trace" -) - -var ( - // TraceProvider is the global trace provider for the service. - TraceProvider = trace.NewNoopTracerProvider() -) - -func Configure(cfg *config.Config, logger log.Logger) error { - tracing.Configure(cfg.Tracing.Enabled, cfg.Tracing.Type, logger) - return nil -} diff --git a/extensions/storage-users/cmd/storage-users/main.go b/extensions/storage-users/cmd/storage-users/main.go deleted file mode 100644 index efd329fdf..000000000 --- a/extensions/storage-users/cmd/storage-users/main.go +++ /dev/null @@ -1,14 +0,0 @@ -package main - -import ( - "os" - - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/command" - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/config/defaults" -) - -func main() { - if err := command.Execute(defaults.DefaultConfig()); err != nil { - os.Exit(1) - } -} diff --git a/extensions/storage-users/pkg/command/health.go b/extensions/storage-users/pkg/command/health.go deleted file mode 100644 index fb8359bd5..000000000 --- a/extensions/storage-users/pkg/command/health.go +++ /dev/null @@ -1,57 +0,0 @@ -package command - -import ( - "fmt" - "net/http" - - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/config" - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/logging" - "github.com/urfave/cli/v2" -) - -// Health is the entrypoint for the health command. -func Health(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "health", - Usage: "check health status", - Category: "info", - Before: func(c *cli.Context) error { - err := parser.ParseConfig(cfg) - if err != nil { - fmt.Printf("%v", err) - } - return err - }, - Action: func(c *cli.Context) error { - logger := logging.Configure(cfg.Service.Name, cfg.Log) - - resp, err := http.Get( - fmt.Sprintf( - "http://%s/healthz", - cfg.Debug.Addr, - ), - ) - - if err != nil { - logger.Fatal(). - Err(err). - Msg("Failed to request health check") - } - - defer resp.Body.Close() - - if resp.StatusCode != http.StatusOK { - logger.Fatal(). - Int("code", resp.StatusCode). - Msg("Health seems to be in bad state") - } - - logger.Debug(). - Int("code", resp.StatusCode). - Msg("Health got a good state") - - return nil - }, - } -} diff --git a/extensions/storage-users/pkg/command/version.go b/extensions/storage-users/pkg/command/version.go deleted file mode 100644 index ff47a383b..000000000 --- a/extensions/storage-users/pkg/command/version.go +++ /dev/null @@ -1,50 +0,0 @@ -package command - -import ( - "fmt" - "os" - - "github.com/owncloud/ocis/v2/ocis-pkg/registry" - "github.com/owncloud/ocis/v2/ocis-pkg/version" - - tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/config" - "github.com/urfave/cli/v2" -) - -// Version prints the service versions of all running instances. -func Version(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "version", - Usage: "print the version of this binary and the running extension instances", - Category: "info", - Action: func(c *cli.Context) error { - fmt.Println("Version: " + version.GetString()) - fmt.Printf("Compiled: %s\n", version.Compiled()) - fmt.Println("") - - reg := registry.GetRegistry() - services, err := reg.GetService(cfg.GRPC.Namespace + "." + cfg.Service.Name) - if err != nil { - fmt.Println(fmt.Errorf("could not get %s services from the registry: %v", cfg.Service.Name, err)) - return err - } - - if len(services) == 0 { - fmt.Println("No running " + cfg.Service.Name + " service found.") - return nil - } - - table := tw.NewWriter(os.Stdout) - table.SetHeader([]string{"Version", "Address", "Id"}) - table.SetAutoFormatHeaders(false) - for _, s := range services { - for _, n := range s.Nodes { - table.Append([]string{s.Version, n.Address, n.Id}) - } - } - table.Render() - return nil - }, - } -} diff --git a/extensions/storage-users/pkg/config/parser/parse.go b/extensions/storage-users/pkg/config/parser/parse.go deleted file mode 100644 index ab352d004..000000000 --- a/extensions/storage-users/pkg/config/parser/parse.go +++ /dev/null @@ -1,42 +0,0 @@ -package parser - -import ( - "errors" - - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/config" - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/config/defaults" - ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/shared" - - "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" -) - -// ParseConfig loads configuration from known paths. -func ParseConfig(cfg *config.Config) error { - _, err := ociscfg.BindSourcesToStructs(cfg.Service.Name, cfg) - if err != nil { - return err - } - - defaults.EnsureDefaults(cfg) - - // load all env variables relevant to the config in the current context. - if err := envdecode.Decode(cfg); err != nil { - // no environment variable set for this config is an expected "error" - if !errors.Is(err, envdecode.ErrNoTargetFieldsAreSet) { - return err - } - } - - defaults.Sanitize(cfg) - - return Validate(cfg) -} - -func Validate(cfg *config.Config) error { - if cfg.TokenManager.JWTSecret == "" { - return shared.MissingJWTTokenError(cfg.Service.Name) - } - - return nil -} diff --git a/extensions/storage-users/pkg/logging/logging.go b/extensions/storage-users/pkg/logging/logging.go deleted file mode 100644 index d719f39b3..000000000 --- a/extensions/storage-users/pkg/logging/logging.go +++ /dev/null @@ -1,17 +0,0 @@ -package logging - -import ( - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// LoggerFromConfig initializes a service-specific logger instance. -func Configure(name string, cfg *config.Log) log.Logger { - return log.NewLogger( - log.Name(name), - log.Level(cfg.Level), - log.Pretty(cfg.Pretty), - log.Color(cfg.Color), - log.File(cfg.File), - ) -} diff --git a/extensions/storage-users/pkg/server/debug/option.go b/extensions/storage-users/pkg/server/debug/option.go deleted file mode 100644 index 61ac5dd87..000000000 --- a/extensions/storage-users/pkg/server/debug/option.go +++ /dev/null @@ -1,50 +0,0 @@ -package debug - -import ( - "context" - - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// Option defines a single option function. -type Option func(o *Options) - -// Options defines the available options for this package. -type Options struct { - Logger log.Logger - Context context.Context - Config *config.Config -} - -// newOptions initializes the available default options. -func newOptions(opts ...Option) Options { - opt := Options{} - - for _, o := range opts { - o(&opt) - } - - return opt -} - -// Logger provides a function to set the logger option. -func Logger(val log.Logger) Option { - return func(o *Options) { - o.Logger = val - } -} - -// Context provides a function to set the context option. -func Context(val context.Context) Option { - return func(o *Options) { - o.Context = val - } -} - -// Config provides a function to set the config option. -func Config(val *config.Config) Option { - return func(o *Options) { - o.Config = val - } -} diff --git a/extensions/storage-users/pkg/server/debug/server.go b/extensions/storage-users/pkg/server/debug/server.go deleted file mode 100644 index feb67c0b4..000000000 --- a/extensions/storage-users/pkg/server/debug/server.go +++ /dev/null @@ -1,63 +0,0 @@ -package debug - -import ( - "io" - "net/http" - - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" - "github.com/owncloud/ocis/v2/ocis-pkg/version" -) - -// Server initializes the debug service and server. -func Server(opts ...Option) (*http.Server, error) { - options := newOptions(opts...) - - return debug.NewService( - debug.Logger(options.Logger), - debug.Name(options.Config.Service.Name), - debug.Version(version.GetString()), - debug.Address(options.Config.Debug.Addr), - debug.Token(options.Config.Debug.Token), - debug.Pprof(options.Config.Debug.Pprof), - debug.Zpages(options.Config.Debug.Zpages), - debug.Health(health(options.Config)), - debug.Ready(ready(options.Config)), - //debug.CorsAllowedOrigins(options.Config.HTTP.CORS.AllowedOrigins), - //debug.CorsAllowedMethods(options.Config.HTTP.CORS.AllowedMethods), - //debug.CorsAllowedHeaders(options.Config.HTTP.CORS.AllowedHeaders), - //debug.CorsAllowCredentials(options.Config.HTTP.CORS.AllowCredentials), - ), nil -} - -// health implements the health check. -func health(cfg *config.Config) func(http.ResponseWriter, *http.Request) { - return func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "text/plain") - w.WriteHeader(http.StatusOK) - - // TODO: check if services are up and running - - _, err := io.WriteString(w, http.StatusText(http.StatusOK)) - // io.WriteString should not fail but if it does we want to know. - if err != nil { - panic(err) - } - } -} - -// ready implements the ready check. -func ready(cfg *config.Config) func(http.ResponseWriter, *http.Request) { - return func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "text/plain") - w.WriteHeader(http.StatusOK) - - // TODO: check if services are up and running - - _, err := io.WriteString(w, http.StatusText(http.StatusOK)) - // io.WriteString should not fail but if it does we want to know. - if err != nil { - panic(err) - } - } -} diff --git a/extensions/storage-users/pkg/tracing/tracing.go b/extensions/storage-users/pkg/tracing/tracing.go deleted file mode 100644 index 2806dd93b..000000000 --- a/extensions/storage-users/pkg/tracing/tracing.go +++ /dev/null @@ -1,18 +0,0 @@ -package tracing - -import ( - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" - "github.com/owncloud/ocis/v2/ocis-pkg/tracing" - "go.opentelemetry.io/otel/trace" -) - -var ( - // TraceProvider is the global trace provider for the service. - TraceProvider = trace.NewNoopTracerProvider() -) - -func Configure(cfg *config.Config, logger log.Logger) error { - tracing.Configure(cfg.Tracing.Enabled, cfg.Tracing.Type, logger) - return nil -} diff --git a/extensions/store/cmd/store/main.go b/extensions/store/cmd/store/main.go deleted file mode 100644 index db1f85bac..000000000 --- a/extensions/store/cmd/store/main.go +++ /dev/null @@ -1,14 +0,0 @@ -package main - -import ( - "os" - - "github.com/owncloud/ocis/v2/extensions/store/pkg/command" - "github.com/owncloud/ocis/v2/extensions/store/pkg/config/defaults" -) - -func main() { - if err := command.Execute(defaults.DefaultConfig()); err != nil { - os.Exit(1) - } -} diff --git a/extensions/store/pkg/command/health.go b/extensions/store/pkg/command/health.go deleted file mode 100644 index ccb7b8b70..000000000 --- a/extensions/store/pkg/command/health.go +++ /dev/null @@ -1,57 +0,0 @@ -package command - -import ( - "fmt" - "net/http" - - "github.com/owncloud/ocis/v2/extensions/store/pkg/config" - "github.com/owncloud/ocis/v2/extensions/store/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/store/pkg/logging" - "github.com/urfave/cli/v2" -) - -// Health is the entrypoint for the health command. -func Health(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "health", - Usage: "check health status", - Category: "info", - Before: func(c *cli.Context) error { - err := parser.ParseConfig(cfg) - if err != nil { - fmt.Printf("%v", err) - } - return err - }, - Action: func(c *cli.Context) error { - logger := logging.Configure(cfg.Service.Name, cfg.Log) - - resp, err := http.Get( - fmt.Sprintf( - "http://%s/healthz", - cfg.Debug.Addr, - ), - ) - - if err != nil { - logger.Fatal(). - Err(err). - Msg("Failed to request health check") - } - - defer resp.Body.Close() - - if resp.StatusCode != http.StatusOK { - logger.Fatal(). - Int("code", resp.StatusCode). - Msg("Health seems to be in bad state") - } - - logger.Debug(). - Int("code", resp.StatusCode). - Msg("Health got a good state") - - return nil - }, - } -} diff --git a/extensions/store/pkg/logging/logging.go b/extensions/store/pkg/logging/logging.go deleted file mode 100644 index 62e29b14a..000000000 --- a/extensions/store/pkg/logging/logging.go +++ /dev/null @@ -1,17 +0,0 @@ -package logging - -import ( - "github.com/owncloud/ocis/v2/extensions/store/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// LoggerFromConfig initializes a service-specific logger instance. -func Configure(name string, cfg *config.Log) log.Logger { - return log.NewLogger( - log.Name(name), - log.Level(cfg.Level), - log.Pretty(cfg.Pretty), - log.Color(cfg.Color), - log.File(cfg.File), - ) -} diff --git a/extensions/store/pkg/server/debug/option.go b/extensions/store/pkg/server/debug/option.go deleted file mode 100644 index e0c72f370..000000000 --- a/extensions/store/pkg/server/debug/option.go +++ /dev/null @@ -1,50 +0,0 @@ -package debug - -import ( - "context" - - "github.com/owncloud/ocis/v2/extensions/store/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// Option defines a single option function. -type Option func(o *Options) - -// Options defines the available options for this package. -type Options struct { - Logger log.Logger - Context context.Context - Config *config.Config -} - -// newOptions initializes the available default options. -func newOptions(opts ...Option) Options { - opt := Options{} - - for _, o := range opts { - o(&opt) - } - - return opt -} - -// Logger provides a function to set the logger option. -func Logger(val log.Logger) Option { - return func(o *Options) { - o.Logger = val - } -} - -// Context provides a function to set the context option. -func Context(val context.Context) Option { - return func(o *Options) { - o.Context = val - } -} - -// Config provides a function to set the config option. -func Config(val *config.Config) Option { - return func(o *Options) { - o.Config = val - } -} diff --git a/extensions/thumbnails/pkg/command/version.go b/extensions/thumbnails/pkg/command/version.go deleted file mode 100644 index ae4879b7f..000000000 --- a/extensions/thumbnails/pkg/command/version.go +++ /dev/null @@ -1,50 +0,0 @@ -package command - -import ( - "fmt" - "os" - - "github.com/owncloud/ocis/v2/ocis-pkg/registry" - "github.com/owncloud/ocis/v2/ocis-pkg/version" - - tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config" - "github.com/urfave/cli/v2" -) - -// Version prints the service versions of all running instances. -func Version(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "version", - Usage: "print the version of this binary and the running extension instances", - Category: "info", - Action: func(c *cli.Context) error { - fmt.Println("Version: " + version.GetString()) - fmt.Printf("Compiled: %s\n", version.Compiled()) - fmt.Println("") - - reg := registry.GetRegistry() - services, err := reg.GetService(cfg.GRPC.Namespace + "." + cfg.Service.Name) - if err != nil { - fmt.Println(fmt.Errorf("could not get %s services from the registry: %v", cfg.Service.Name, err)) - return err - } - - if len(services) == 0 { - fmt.Println("No running " + cfg.Service.Name + " service found.") - return nil - } - - table := tw.NewWriter(os.Stdout) - table.SetHeader([]string{"Version", "Address", "Id"}) - table.SetAutoFormatHeaders(false) - for _, s := range services { - for _, n := range s.Nodes { - table.Append([]string{s.Version, n.Address, n.Id}) - } - } - table.Render() - return nil - }, - } -} diff --git a/extensions/thumbnails/pkg/logging/logging.go b/extensions/thumbnails/pkg/logging/logging.go deleted file mode 100644 index acdafff1b..000000000 --- a/extensions/thumbnails/pkg/logging/logging.go +++ /dev/null @@ -1,17 +0,0 @@ -package logging - -import ( - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// LoggerFromConfig initializes a service-specific logger instance. -func Configure(name string, cfg *config.Log) log.Logger { - return log.NewLogger( - log.Name(name), - log.Level(cfg.Level), - log.Pretty(cfg.Pretty), - log.Color(cfg.Color), - log.File(cfg.File), - ) -} diff --git a/extensions/thumbnails/pkg/server/debug/server.go b/extensions/thumbnails/pkg/server/debug/server.go deleted file mode 100644 index 13123e33d..000000000 --- a/extensions/thumbnails/pkg/server/debug/server.go +++ /dev/null @@ -1,59 +0,0 @@ -package debug - -import ( - "io" - "net/http" - - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" - "github.com/owncloud/ocis/v2/ocis-pkg/version" -) - -// Server initializes the debug service and server. -func Server(opts ...Option) (*http.Server, error) { - options := newOptions(opts...) - - return debug.NewService( - debug.Logger(options.Logger), - debug.Name(options.Config.Service.Name), - debug.Version(version.GetString()), - debug.Address(options.Config.Debug.Addr), - debug.Token(options.Config.Debug.Token), - debug.Pprof(options.Config.Debug.Pprof), - debug.Zpages(options.Config.Debug.Zpages), - debug.Health(health(options.Config)), - debug.Ready(ready(options.Config)), - ), nil -} - -// health implements the health check. -func health(cfg *config.Config) func(http.ResponseWriter, *http.Request) { - return func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "text/plain") - w.WriteHeader(http.StatusOK) - - // TODO: check if services are up and running - - _, err := io.WriteString(w, http.StatusText(http.StatusOK)) - // io.WriteString should not fail but if it does we want to know. - if err != nil { - panic(err) - } - } -} - -// ready implements the ready check. -func ready(cfg *config.Config) func(http.ResponseWriter, *http.Request) { - return func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "text/plain") - w.WriteHeader(http.StatusOK) - - // TODO: check if services are up and running - - _, err := io.WriteString(w, http.StatusText(http.StatusOK)) - // io.WriteString should not fail but if it does we want to know. - if err != nil { - panic(err) - } - } -} diff --git a/extensions/users/cmd/user/main.go b/extensions/users/cmd/user/main.go deleted file mode 100644 index f0f1152dc..000000000 --- a/extensions/users/cmd/user/main.go +++ /dev/null @@ -1,14 +0,0 @@ -package main - -import ( - "os" - - "github.com/owncloud/ocis/v2/extensions/users/pkg/command" - "github.com/owncloud/ocis/v2/extensions/users/pkg/config/defaults" -) - -func main() { - if err := command.Execute(defaults.DefaultConfig()); err != nil { - os.Exit(1) - } -} diff --git a/extensions/users/pkg/command/health.go b/extensions/users/pkg/command/health.go deleted file mode 100644 index 488565c1e..000000000 --- a/extensions/users/pkg/command/health.go +++ /dev/null @@ -1,57 +0,0 @@ -package command - -import ( - "fmt" - "net/http" - - "github.com/owncloud/ocis/v2/extensions/users/pkg/config" - "github.com/owncloud/ocis/v2/extensions/users/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/users/pkg/logging" - "github.com/urfave/cli/v2" -) - -// Health is the entrypoint for the health command. -func Health(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "health", - Usage: "check health status", - Category: "info", - Before: func(c *cli.Context) error { - err := parser.ParseConfig(cfg) - if err != nil { - fmt.Printf("%v", err) - } - return err - }, - Action: func(c *cli.Context) error { - logger := logging.Configure(cfg.Service.Name, cfg.Log) - - resp, err := http.Get( - fmt.Sprintf( - "http://%s/healthz", - cfg.Debug.Addr, - ), - ) - - if err != nil { - logger.Fatal(). - Err(err). - Msg("Failed to request health check") - } - - defer resp.Body.Close() - - if resp.StatusCode != http.StatusOK { - logger.Fatal(). - Int("code", resp.StatusCode). - Msg("Health seems to be in bad state") - } - - logger.Debug(). - Int("code", resp.StatusCode). - Msg("Health got a good state") - - return nil - }, - } -} diff --git a/extensions/users/pkg/logging/logging.go b/extensions/users/pkg/logging/logging.go deleted file mode 100644 index 2fbc8a96c..000000000 --- a/extensions/users/pkg/logging/logging.go +++ /dev/null @@ -1,17 +0,0 @@ -package logging - -import ( - "github.com/owncloud/ocis/v2/extensions/users/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// LoggerFromConfig initializes a service-specific logger instance. -func Configure(name string, cfg *config.Log) log.Logger { - return log.NewLogger( - log.Name(name), - log.Level(cfg.Level), - log.Pretty(cfg.Pretty), - log.Color(cfg.Color), - log.File(cfg.File), - ) -} diff --git a/extensions/users/pkg/server/debug/option.go b/extensions/users/pkg/server/debug/option.go deleted file mode 100644 index 7f59cbc36..000000000 --- a/extensions/users/pkg/server/debug/option.go +++ /dev/null @@ -1,50 +0,0 @@ -package debug - -import ( - "context" - - "github.com/owncloud/ocis/v2/extensions/users/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// Option defines a single option function. -type Option func(o *Options) - -// Options defines the available options for this package. -type Options struct { - Logger log.Logger - Context context.Context - Config *config.Config -} - -// newOptions initializes the available default options. -func newOptions(opts ...Option) Options { - opt := Options{} - - for _, o := range opts { - o(&opt) - } - - return opt -} - -// Logger provides a function to set the logger option. -func Logger(val log.Logger) Option { - return func(o *Options) { - o.Logger = val - } -} - -// Context provides a function to set the context option. -func Context(val context.Context) Option { - return func(o *Options) { - o.Context = val - } -} - -// Config provides a function to set the config option. -func Config(val *config.Config) Option { - return func(o *Options) { - o.Config = val - } -} diff --git a/extensions/webdav/pkg/command/version.go b/extensions/webdav/pkg/command/version.go deleted file mode 100644 index 542a613c9..000000000 --- a/extensions/webdav/pkg/command/version.go +++ /dev/null @@ -1,50 +0,0 @@ -package command - -import ( - "fmt" - "os" - - "github.com/owncloud/ocis/v2/ocis-pkg/registry" - "github.com/owncloud/ocis/v2/ocis-pkg/version" - - tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/config" - "github.com/urfave/cli/v2" -) - -// Version prints the service versions of all running instances. -func Version(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "version", - Usage: "print the version of this binary and the running extension instances", - Category: "info", - Action: func(c *cli.Context) error { - fmt.Println("Version: " + version.GetString()) - fmt.Printf("Compiled: %s\n", version.Compiled()) - fmt.Println("") - - reg := registry.GetRegistry() - services, err := reg.GetService(cfg.HTTP.Namespace + "." + cfg.Service.Name) - if err != nil { - fmt.Println(fmt.Errorf("could not get %s services from the registry: %v", cfg.Service.Name, err)) - return err - } - - if len(services) == 0 { - fmt.Println("No running " + cfg.Service.Name + " service found.") - return nil - } - - table := tw.NewWriter(os.Stdout) - table.SetHeader([]string{"Version", "Address", "Id"}) - table.SetAutoFormatHeaders(false) - for _, s := range services { - for _, n := range s.Nodes { - table.Append([]string{s.Version, n.Address, n.Id}) - } - } - table.Render() - return nil - }, - } -} diff --git a/extensions/webdav/pkg/logging/logging.go b/extensions/webdav/pkg/logging/logging.go deleted file mode 100644 index 1d4363595..000000000 --- a/extensions/webdav/pkg/logging/logging.go +++ /dev/null @@ -1,17 +0,0 @@ -package logging - -import ( - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// LoggerFromConfig initializes a service-specific logger instance. -func Configure(name string, cfg *config.Log) log.Logger { - return log.NewLogger( - log.Name(name), - log.Level(cfg.Level), - log.Pretty(cfg.Pretty), - log.Color(cfg.Color), - log.File(cfg.File), - ) -} diff --git a/extensions/webdav/pkg/server/debug/option.go b/extensions/webdav/pkg/server/debug/option.go deleted file mode 100644 index 8f070a68e..000000000 --- a/extensions/webdav/pkg/server/debug/option.go +++ /dev/null @@ -1,50 +0,0 @@ -package debug - -import ( - "context" - - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/config" - "github.com/owncloud/ocis/v2/ocis-pkg/log" -) - -// Option defines a single option function. -type Option func(o *Options) - -// Options defines the available options for this package. -type Options struct { - Logger log.Logger - Context context.Context - Config *config.Config -} - -// newOptions initializes the available default options. -func newOptions(opts ...Option) Options { - opt := Options{} - - for _, o := range opts { - o(&opt) - } - - return opt -} - -// Logger provides a function to set the logger option. -func Logger(val log.Logger) Option { - return func(o *Options) { - o.Logger = val - } -} - -// Context provides a function to set the context option. -func Context(val context.Context) Option { - return func(o *Options) { - o.Context = val - } -} - -// Config provides a function to set the config option. -func Config(val *config.Config) Option { - return func(o *Options) { - o.Config = val - } -} diff --git a/ocis-pkg/config/config.go b/ocis-pkg/config/config.go index 4028a689e..c5c2f0358 100644 --- a/ocis-pkg/config/config.go +++ b/ocis-pkg/config/config.go @@ -3,36 +3,36 @@ package config import ( "github.com/owncloud/ocis/v2/ocis-pkg/shared" - appProvider "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/config" - appRegistry "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/config" - audit "github.com/owncloud/ocis/v2/extensions/audit/pkg/config" - authbasic "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/config" - authbearer "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/config" - authmachine "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/config" - frontend "github.com/owncloud/ocis/v2/extensions/frontend/pkg/config" - gateway "github.com/owncloud/ocis/v2/extensions/gateway/pkg/config" - graphExplorer "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/config" - graph "github.com/owncloud/ocis/v2/extensions/graph/pkg/config" - groups "github.com/owncloud/ocis/v2/extensions/groups/pkg/config" - idm "github.com/owncloud/ocis/v2/extensions/idm/pkg/config" - idp "github.com/owncloud/ocis/v2/extensions/idp/pkg/config" - nats "github.com/owncloud/ocis/v2/extensions/nats/pkg/config" - notifications "github.com/owncloud/ocis/v2/extensions/notifications/pkg/config" - ocdav "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/config" - ocs "github.com/owncloud/ocis/v2/extensions/ocs/pkg/config" - proxy "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" - search "github.com/owncloud/ocis/v2/extensions/search/pkg/config" - settings "github.com/owncloud/ocis/v2/extensions/settings/pkg/config" - sharing "github.com/owncloud/ocis/v2/extensions/sharing/pkg/config" - storagepublic "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/config" - storageshares "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/config" - storagesystem "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/config" - storageusers "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/config" - store "github.com/owncloud/ocis/v2/extensions/store/pkg/config" - thumbnails "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config" - users "github.com/owncloud/ocis/v2/extensions/users/pkg/config" - web "github.com/owncloud/ocis/v2/extensions/web/pkg/config" - webdav "github.com/owncloud/ocis/v2/extensions/webdav/pkg/config" + appProvider "github.com/owncloud/ocis/v2/services/app-provider/pkg/config" + appRegistry "github.com/owncloud/ocis/v2/services/app-registry/pkg/config" + audit "github.com/owncloud/ocis/v2/services/audit/pkg/config" + authbasic "github.com/owncloud/ocis/v2/services/auth-basic/pkg/config" + authbearer "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/config" + authmachine "github.com/owncloud/ocis/v2/services/auth-machine/pkg/config" + frontend "github.com/owncloud/ocis/v2/services/frontend/pkg/config" + gateway "github.com/owncloud/ocis/v2/services/gateway/pkg/config" + graphExplorer "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/config" + graph "github.com/owncloud/ocis/v2/services/graph/pkg/config" + groups "github.com/owncloud/ocis/v2/services/groups/pkg/config" + idm "github.com/owncloud/ocis/v2/services/idm/pkg/config" + idp "github.com/owncloud/ocis/v2/services/idp/pkg/config" + nats "github.com/owncloud/ocis/v2/services/nats/pkg/config" + notifications "github.com/owncloud/ocis/v2/services/notifications/pkg/config" + ocdav "github.com/owncloud/ocis/v2/services/ocdav/pkg/config" + ocs "github.com/owncloud/ocis/v2/services/ocs/pkg/config" + proxy "github.com/owncloud/ocis/v2/services/proxy/pkg/config" + search "github.com/owncloud/ocis/v2/services/search/pkg/config" + settings "github.com/owncloud/ocis/v2/services/settings/pkg/config" + sharing "github.com/owncloud/ocis/v2/services/sharing/pkg/config" + storagepublic "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/config" + storageshares "github.com/owncloud/ocis/v2/services/storage-shares/pkg/config" + storagesystem "github.com/owncloud/ocis/v2/services/storage-system/pkg/config" + storageusers "github.com/owncloud/ocis/v2/services/storage-users/pkg/config" + store "github.com/owncloud/ocis/v2/services/store/pkg/config" + thumbnails "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config" + users "github.com/owncloud/ocis/v2/services/users/pkg/config" + web "github.com/owncloud/ocis/v2/services/web/pkg/config" + webdav "github.com/owncloud/ocis/v2/services/webdav/pkg/config" ) const ( @@ -49,7 +49,7 @@ type Mode int type Runtime struct { Port string `yaml:"port" env:"OCIS_RUNTIME_PORT"` Host string `yaml:"host" env:"OCIS_RUNTIME_HOST"` - Extensions string `yaml:"extensions" env:"OCIS_RUN_EXTENSIONS"` + Extensions string `yaml:"services" env:"OCIS_RUN_EXTENSIONS,OCIS_RUN_SERVICES"` } // Config combines all available configuration parts. diff --git a/ocis-pkg/config/defaultconfig.go b/ocis-pkg/config/defaultconfig.go index b3fa9d1af..b0546c7af 100644 --- a/ocis-pkg/config/defaultconfig.go +++ b/ocis-pkg/config/defaultconfig.go @@ -1,36 +1,36 @@ package config import ( - appProvider "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/config/defaults" - appRegistry "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/config/defaults" - audit "github.com/owncloud/ocis/v2/extensions/audit/pkg/config/defaults" - authbasic "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/config/defaults" - authbearer "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/config/defaults" - authmachine "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/config/defaults" - frontend "github.com/owncloud/ocis/v2/extensions/frontend/pkg/config/defaults" - gateway "github.com/owncloud/ocis/v2/extensions/gateway/pkg/config/defaults" - graphExplorer "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/config/defaults" - graph "github.com/owncloud/ocis/v2/extensions/graph/pkg/config/defaults" - groups "github.com/owncloud/ocis/v2/extensions/groups/pkg/config/defaults" - idm "github.com/owncloud/ocis/v2/extensions/idm/pkg/config/defaults" - idp "github.com/owncloud/ocis/v2/extensions/idp/pkg/config/defaults" - nats "github.com/owncloud/ocis/v2/extensions/nats/pkg/config/defaults" - notifications "github.com/owncloud/ocis/v2/extensions/notifications/pkg/config/defaults" - ocdav "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/config/defaults" - ocs "github.com/owncloud/ocis/v2/extensions/ocs/pkg/config/defaults" - proxy "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config/defaults" - search "github.com/owncloud/ocis/v2/extensions/search/pkg/config/defaults" - settings "github.com/owncloud/ocis/v2/extensions/settings/pkg/config/defaults" - sharing "github.com/owncloud/ocis/v2/extensions/sharing/pkg/config/defaults" - storagepublic "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/config/defaults" - storageshares "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/config/defaults" - storageSystem "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/config/defaults" - storageusers "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/config/defaults" - store "github.com/owncloud/ocis/v2/extensions/store/pkg/config/defaults" - thumbnails "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config/defaults" - users "github.com/owncloud/ocis/v2/extensions/users/pkg/config/defaults" - web "github.com/owncloud/ocis/v2/extensions/web/pkg/config/defaults" - webdav "github.com/owncloud/ocis/v2/extensions/webdav/pkg/config/defaults" + appProvider "github.com/owncloud/ocis/v2/services/app-provider/pkg/config/defaults" + appRegistry "github.com/owncloud/ocis/v2/services/app-registry/pkg/config/defaults" + audit "github.com/owncloud/ocis/v2/services/audit/pkg/config/defaults" + authbasic "github.com/owncloud/ocis/v2/services/auth-basic/pkg/config/defaults" + authbearer "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/config/defaults" + authmachine "github.com/owncloud/ocis/v2/services/auth-machine/pkg/config/defaults" + frontend "github.com/owncloud/ocis/v2/services/frontend/pkg/config/defaults" + gateway "github.com/owncloud/ocis/v2/services/gateway/pkg/config/defaults" + graphExplorer "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/config/defaults" + graph "github.com/owncloud/ocis/v2/services/graph/pkg/config/defaults" + groups "github.com/owncloud/ocis/v2/services/groups/pkg/config/defaults" + idm "github.com/owncloud/ocis/v2/services/idm/pkg/config/defaults" + idp "github.com/owncloud/ocis/v2/services/idp/pkg/config/defaults" + nats "github.com/owncloud/ocis/v2/services/nats/pkg/config/defaults" + notifications "github.com/owncloud/ocis/v2/services/notifications/pkg/config/defaults" + ocdav "github.com/owncloud/ocis/v2/services/ocdav/pkg/config/defaults" + ocs "github.com/owncloud/ocis/v2/services/ocs/pkg/config/defaults" + proxy "github.com/owncloud/ocis/v2/services/proxy/pkg/config/defaults" + search "github.com/owncloud/ocis/v2/services/search/pkg/config/defaults" + settings "github.com/owncloud/ocis/v2/services/settings/pkg/config/defaults" + sharing "github.com/owncloud/ocis/v2/services/sharing/pkg/config/defaults" + storagepublic "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/config/defaults" + storageshares "github.com/owncloud/ocis/v2/services/storage-shares/pkg/config/defaults" + storageSystem "github.com/owncloud/ocis/v2/services/storage-system/pkg/config/defaults" + storageusers "github.com/owncloud/ocis/v2/services/storage-users/pkg/config/defaults" + store "github.com/owncloud/ocis/v2/services/store/pkg/config/defaults" + thumbnails "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config/defaults" + users "github.com/owncloud/ocis/v2/services/users/pkg/config/defaults" + web "github.com/owncloud/ocis/v2/services/web/pkg/config/defaults" + webdav "github.com/owncloud/ocis/v2/services/webdav/pkg/config/defaults" ) func DefaultConfig() *Config { diff --git a/ocis/pkg/command/app-provider.go b/ocis/pkg/command/app-provider.go index 0ebd02724..89120bd57 100644 --- a/ocis/pkg/command/app-provider.go +++ b/ocis/pkg/command/app-provider.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func AppProviderCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.AppProvider.Service.Name, Usage: helper.SubcommandDescription(cfg.AppProvider.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/app-registry.go b/ocis/pkg/command/app-registry.go index a859f0352..b16df293a 100644 --- a/ocis/pkg/command/app-registry.go +++ b/ocis/pkg/command/app-registry.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func AppRegistryCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.AppRegistry.Service.Name, Usage: helper.SubcommandDescription(cfg.AppRegistry.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/audit.go b/ocis/pkg/command/audit.go index 3978adf51..58b4d4e0a 100644 --- a/ocis/pkg/command/audit.go +++ b/ocis/pkg/command/audit.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/audit/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/audit/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func AuditCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.Audit.Service.Name, Usage: helper.SubcommandDescription(cfg.Audit.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/auth-basic.go b/ocis/pkg/command/auth-basic.go index 1a61993d3..3a850faa6 100644 --- a/ocis/pkg/command/auth-basic.go +++ b/ocis/pkg/command/auth-basic.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/auth-basic/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func AuthBasicCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.AuthBasic.Service.Name, Usage: helper.SubcommandDescription(cfg.AuthBasic.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/auth-bearer.go b/ocis/pkg/command/auth-bearer.go index d30be5f6d..be1e36050 100644 --- a/ocis/pkg/command/auth-bearer.go +++ b/ocis/pkg/command/auth-bearer.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func AuthBearerCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.AuthBearer.Service.Name, Usage: helper.SubcommandDescription(cfg.AuthBearer.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/auth-machine.go b/ocis/pkg/command/auth-machine.go index 485e7ddd0..336823efa 100644 --- a/ocis/pkg/command/auth-machine.go +++ b/ocis/pkg/command/auth-machine.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func AuthMachineCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.AuthMachine.Service.Name, Usage: helper.SubcommandDescription(cfg.AuthMachine.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/frontend.go b/ocis/pkg/command/frontend.go index cd31c90bb..741e96cdc 100644 --- a/ocis/pkg/command/frontend.go +++ b/ocis/pkg/command/frontend.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/frontend/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func FrontendCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.Frontend.Service.Name, Usage: helper.SubcommandDescription(cfg.Frontend.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/gateway.go b/ocis/pkg/command/gateway.go index 2e7e8b08d..b771d3c9e 100644 --- a/ocis/pkg/command/gateway.go +++ b/ocis/pkg/command/gateway.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/gateway/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func GatewayCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.Gateway.Service.Name, Usage: helper.SubcommandDescription(cfg.Gateway.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/graph-explorer.go b/ocis/pkg/command/graph-explorer.go index 0f7a8f2cf..4c54deec1 100644 --- a/ocis/pkg/command/graph-explorer.go +++ b/ocis/pkg/command/graph-explorer.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func GraphExplorerCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.GraphExplorer.Service.Name, Usage: helper.SubcommandDescription(cfg.GraphExplorer.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/graph.go b/ocis/pkg/command/graph.go index fd604075c..ce0acc33e 100644 --- a/ocis/pkg/command/graph.go +++ b/ocis/pkg/command/graph.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/graph/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func GraphCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.Graph.Service.Name, Usage: helper.SubcommandDescription(cfg.Graph.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/groups.go b/ocis/pkg/command/groups.go index efce3edcf..503943489 100644 --- a/ocis/pkg/command/groups.go +++ b/ocis/pkg/command/groups.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/groups/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/groups/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func GroupsCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.Groups.Service.Name, Usage: helper.SubcommandDescription(cfg.Groups.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/idm.go b/ocis/pkg/command/idm.go index 70d116f41..21862ade9 100644 --- a/ocis/pkg/command/idm.go +++ b/ocis/pkg/command/idm.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/idm/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/idm/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func IDMCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.IDM.Service.Name, Usage: helper.SubcommandDescription(cfg.IDM.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/idp.go b/ocis/pkg/command/idp.go index 71923b108..6b798bf43 100644 --- a/ocis/pkg/command/idp.go +++ b/ocis/pkg/command/idp.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/idp/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func IDPCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.IDP.Service.Name, Usage: helper.SubcommandDescription(cfg.IDP.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/list.go b/ocis/pkg/command/list.go index 2078775ad..7e85591b5 100644 --- a/ocis/pkg/command/list.go +++ b/ocis/pkg/command/list.go @@ -15,7 +15,7 @@ import ( func ListCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: "list", - Usage: "list oCIS extensions running in the runtime (supervised mode)", + Usage: "list oCIS services running in the runtime (supervised mode)", Category: "runtime", Flags: []cli.Flag{ &cli.StringFlag{ diff --git a/ocis/pkg/command/migrate.go b/ocis/pkg/command/migrate.go index 11bc48668..3f18b96ec 100644 --- a/ocis/pkg/command/migrate.go +++ b/ocis/pkg/command/migrate.go @@ -11,12 +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" - sharingparser "github.com/owncloud/ocis/v2/extensions/sharing/pkg/config/parser" + "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" ) diff --git a/ocis/pkg/command/nats.go b/ocis/pkg/command/nats.go index 31575f5e0..e8c60061e 100644 --- a/ocis/pkg/command/nats.go +++ b/ocis/pkg/command/nats.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/nats/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/nats/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func NatsCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.Nats.Service.Name, Usage: helper.SubcommandDescription(cfg.Nats.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/notifications.go b/ocis/pkg/command/notifications.go index a5580bde5..0599dc86e 100644 --- a/ocis/pkg/command/notifications.go +++ b/ocis/pkg/command/notifications.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/notifications/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/notifications/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func NotificationsCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.Notifications.Service.Name, Usage: helper.SubcommandDescription(cfg.Notifications.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/ocdav.go b/ocis/pkg/command/ocdav.go index 57f5e7314..cc04d6488 100644 --- a/ocis/pkg/command/ocdav.go +++ b/ocis/pkg/command/ocdav.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/ocdav/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func OCDavCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.OCDav.Service.Name, Usage: helper.SubcommandDescription(cfg.OCDav.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/ocs.go b/ocis/pkg/command/ocs.go index 8b5065a4f..abeb8310b 100644 --- a/ocis/pkg/command/ocs.go +++ b/ocis/pkg/command/ocs.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/ocs/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func OCSCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.OCS.Service.Name, Usage: helper.SubcommandDescription(cfg.OCS.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/proxy.go b/ocis/pkg/command/proxy.go index 51eb65b2a..127957bc6 100644 --- a/ocis/pkg/command/proxy.go +++ b/ocis/pkg/command/proxy.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/proxy/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func ProxyCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.Proxy.Service.Name, Usage: helper.SubcommandDescription(cfg.Proxy.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/search.go b/ocis/pkg/command/search.go index f19e6a607..c649fbce4 100644 --- a/ocis/pkg/command/search.go +++ b/ocis/pkg/command/search.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/search/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/search/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func SearchCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.Search.Service.Name, Usage: helper.SubcommandDescription(cfg.Search.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/server.go b/ocis/pkg/command/server.go index 2ca639900..c935aba9f 100644 --- a/ocis/pkg/command/server.go +++ b/ocis/pkg/command/server.go @@ -14,7 +14,7 @@ import ( func Server(cfg *config.Config) *cli.Command { return &cli.Command{ Name: "server", - Usage: "start a fullstack server (runtime and all extensions in supervised mode)", + Usage: "start a fullstack server (runtime and all services in supervised mode)", Category: "fullstack", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, false); err != nil { diff --git a/ocis/pkg/command/settings.go b/ocis/pkg/command/settings.go index 4c6257f5d..ec95cf3a1 100644 --- a/ocis/pkg/command/settings.go +++ b/ocis/pkg/command/settings.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/settings/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func SettingsCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.Settings.Service.Name, Usage: helper.SubcommandDescription(cfg.Settings.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/sharing.go b/ocis/pkg/command/sharing.go index a3feca244..9145f532c 100644 --- a/ocis/pkg/command/sharing.go +++ b/ocis/pkg/command/sharing.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/sharing/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func SharingCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.Sharing.Service.Name, Usage: helper.SubcommandDescription(cfg.Sharing.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/storage-publiclink.go b/ocis/pkg/command/storage-publiclink.go index a120d71e6..04780870c 100644 --- a/ocis/pkg/command/storage-publiclink.go +++ b/ocis/pkg/command/storage-publiclink.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func StoragePublicLinkCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.StoragePublicLink.Service.Name, Usage: helper.SubcommandDescription(cfg.StoragePublicLink.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/storage-shares.go b/ocis/pkg/command/storage-shares.go index 8c066096b..e499e008f 100644 --- a/ocis/pkg/command/storage-shares.go +++ b/ocis/pkg/command/storage-shares.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func StorageSharesCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.StorageShares.Service.Name, Usage: helper.SubcommandDescription(cfg.StorageShares.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/storage-system.go b/ocis/pkg/command/storage-system.go index 72d61cf0f..e90af4690 100644 --- a/ocis/pkg/command/storage-system.go +++ b/ocis/pkg/command/storage-system.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func StorageSystemCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.StorageSystem.Service.Name, Usage: helper.SubcommandDescription(cfg.StorageSystem.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/storage-users.go b/ocis/pkg/command/storage-users.go index 44a148612..f1598332b 100644 --- a/ocis/pkg/command/storage-users.go +++ b/ocis/pkg/command/storage-users.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/storage-users/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func StorageUsersCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.StorageUsers.Service.Name, Usage: helper.SubcommandDescription(cfg.StorageUsers.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/store.go b/ocis/pkg/command/store.go index addde0baf..617af037c 100644 --- a/ocis/pkg/command/store.go +++ b/ocis/pkg/command/store.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/store/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/store/pkg/command" "github.com/urfave/cli/v2" ) @@ -17,7 +17,7 @@ func StoreCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.Store.Service.Name, Usage: helper.SubcommandDescription(cfg.Store.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/thumbnails.go b/ocis/pkg/command/thumbnails.go index 82ec98f28..da60a12a1 100644 --- a/ocis/pkg/command/thumbnails.go +++ b/ocis/pkg/command/thumbnails.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func ThumbnailsCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.Thumbnails.Service.Name, Usage: helper.SubcommandDescription(cfg.Thumbnails.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/users.go b/ocis/pkg/command/users.go index f1cce21b6..992a04928 100644 --- a/ocis/pkg/command/users.go +++ b/ocis/pkg/command/users.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/users/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/users/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func UsersCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.Users.Service.Name, Usage: helper.SubcommandDescription(cfg.Users.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/web.go b/ocis/pkg/command/web.go index 1255b71c7..dd826d6b9 100644 --- a/ocis/pkg/command/web.go +++ b/ocis/pkg/command/web.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/web/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/web/pkg/command" "github.com/urfave/cli/v2" ) @@ -16,7 +16,7 @@ func WebCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.Web.Service.Name, Usage: helper.SubcommandDescription(cfg.Web.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/command/webdav.go b/ocis/pkg/command/webdav.go index d747f567b..20be56b5b 100644 --- a/ocis/pkg/command/webdav.go +++ b/ocis/pkg/command/webdav.go @@ -3,11 +3,11 @@ package command import ( "fmt" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/command" "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/parser" "github.com/owncloud/ocis/v2/ocis/pkg/command/helper" "github.com/owncloud/ocis/v2/ocis/pkg/register" + "github.com/owncloud/ocis/v2/services/webdav/pkg/command" "github.com/urfave/cli/v2" ) @@ -17,7 +17,7 @@ func WebDAVCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: cfg.WebDAV.Service.Name, Usage: helper.SubcommandDescription(cfg.WebDAV.Service.Name), - Category: "extensions", + Category: "services", Before: func(c *cli.Context) error { if err := parser.ParseConfig(cfg, true); err != nil { fmt.Printf("%v", err) diff --git a/ocis/pkg/runtime/cmd/list.go b/ocis/pkg/runtime/cmd/list.go index 64e2a9f8b..b4d54dd29 100644 --- a/ocis/pkg/runtime/cmd/list.go +++ b/ocis/pkg/runtime/cmd/list.go @@ -15,7 +15,7 @@ func List(cfg *config.Config) *cobra.Command { return &cobra.Command{ Use: "list", Aliases: []string{"r"}, - Short: "List running extensions", + Short: "List running services", Run: func(cmd *cobra.Command, args []string) { client, err := rpc.DialHTTP("tcp", net.JoinHostPort(cfg.Hostname, cfg.Port)) if err != nil { diff --git a/ocis/pkg/runtime/service/service.go b/ocis/pkg/runtime/service/service.go index 42a932305..dc5e76bfd 100644 --- a/ocis/pkg/runtime/service/service.go +++ b/ocis/pkg/runtime/service/service.go @@ -19,37 +19,37 @@ import ( "github.com/mohae/deepcopy" "github.com/olekukonko/tablewriter" - appProvider "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/command" - appRegistry "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/command" - authbasic "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/command" - authbearer "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/command" - authmachine "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/command" - frontend "github.com/owncloud/ocis/v2/extensions/frontend/pkg/command" - gateway "github.com/owncloud/ocis/v2/extensions/gateway/pkg/command" - graphExplorer "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/command" - graph "github.com/owncloud/ocis/v2/extensions/graph/pkg/command" - groups "github.com/owncloud/ocis/v2/extensions/groups/pkg/command" - idm "github.com/owncloud/ocis/v2/extensions/idm/pkg/command" - idp "github.com/owncloud/ocis/v2/extensions/idp/pkg/command" - nats "github.com/owncloud/ocis/v2/extensions/nats/pkg/command" - notifications "github.com/owncloud/ocis/v2/extensions/notifications/pkg/command" - ocdav "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/command" - ocs "github.com/owncloud/ocis/v2/extensions/ocs/pkg/command" - proxy "github.com/owncloud/ocis/v2/extensions/proxy/pkg/command" - search "github.com/owncloud/ocis/v2/extensions/search/pkg/command" - settings "github.com/owncloud/ocis/v2/extensions/settings/pkg/command" - sharing "github.com/owncloud/ocis/v2/extensions/sharing/pkg/command" - storagepublic "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/command" - storageshares "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/command" - storageSystem "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/command" - storageusers "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/command" - store "github.com/owncloud/ocis/v2/extensions/store/pkg/command" - thumbnails "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/command" - users "github.com/owncloud/ocis/v2/extensions/users/pkg/command" - web "github.com/owncloud/ocis/v2/extensions/web/pkg/command" - webdav "github.com/owncloud/ocis/v2/extensions/webdav/pkg/command" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + appProvider "github.com/owncloud/ocis/v2/services/app-provider/pkg/command" + appRegistry "github.com/owncloud/ocis/v2/services/app-registry/pkg/command" + authbasic "github.com/owncloud/ocis/v2/services/auth-basic/pkg/command" + authbearer "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/command" + authmachine "github.com/owncloud/ocis/v2/services/auth-machine/pkg/command" + frontend "github.com/owncloud/ocis/v2/services/frontend/pkg/command" + gateway "github.com/owncloud/ocis/v2/services/gateway/pkg/command" + graphExplorer "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/command" + graph "github.com/owncloud/ocis/v2/services/graph/pkg/command" + groups "github.com/owncloud/ocis/v2/services/groups/pkg/command" + idm "github.com/owncloud/ocis/v2/services/idm/pkg/command" + idp "github.com/owncloud/ocis/v2/services/idp/pkg/command" + nats "github.com/owncloud/ocis/v2/services/nats/pkg/command" + notifications "github.com/owncloud/ocis/v2/services/notifications/pkg/command" + ocdav "github.com/owncloud/ocis/v2/services/ocdav/pkg/command" + ocs "github.com/owncloud/ocis/v2/services/ocs/pkg/command" + proxy "github.com/owncloud/ocis/v2/services/proxy/pkg/command" + search "github.com/owncloud/ocis/v2/services/search/pkg/command" + settings "github.com/owncloud/ocis/v2/services/settings/pkg/command" + sharing "github.com/owncloud/ocis/v2/services/sharing/pkg/command" + storagepublic "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/command" + storageshares "github.com/owncloud/ocis/v2/services/storage-shares/pkg/command" + storageSystem "github.com/owncloud/ocis/v2/services/storage-system/pkg/command" + storageusers "github.com/owncloud/ocis/v2/services/storage-users/pkg/command" + store "github.com/owncloud/ocis/v2/services/store/pkg/command" + thumbnails "github.com/owncloud/ocis/v2/services/thumbnails/pkg/command" + users "github.com/owncloud/ocis/v2/services/users/pkg/command" + web "github.com/owncloud/ocis/v2/services/web/pkg/command" + webdav "github.com/owncloud/ocis/v2/services/webdav/pkg/command" "github.com/rs/zerolog" "github.com/thejerf/suture/v4" "go-micro.dev/v4/logger" diff --git a/protogen/gen/ocis/services/search/v0/search.pb.go b/protogen/gen/ocis/services/search/v0/search.pb.go index 29fb75e16..69aec7639 100644 --- a/protogen/gen/ocis/services/search/v0/search.pb.go +++ b/protogen/gen/ocis/services/search/v0/search.pb.go @@ -456,11 +456,11 @@ var file_ocis_services_search_v0_search_proto_rawDesc = []byte{ 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x22, 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x30, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, - 0x2a, 0x42, 0xde, 0x02, 0x5a, 0x3c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2a, 0x42, 0xdc, 0x02, 0x5a, 0x3c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x77, 0x6e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6f, 0x63, 0x69, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x6f, 0x63, 0x69, 0x73, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2f, - 0x76, 0x30, 0x92, 0x41, 0x9c, 0x02, 0x12, 0xb4, 0x01, 0x0a, 0x1e, 0x6f, 0x77, 0x6e, 0x43, 0x6c, + 0x76, 0x30, 0x92, 0x41, 0x9a, 0x02, 0x12, 0xb4, 0x01, 0x0a, 0x1e, 0x6f, 0x77, 0x6e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x20, 0x49, 0x6e, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x65, 0x20, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x22, 0x47, 0x0a, 0x0d, 0x6f, 0x77, 0x6e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x20, 0x47, 0x6d, 0x62, 0x48, 0x12, 0x20, 0x68, 0x74, 0x74, 0x70, @@ -474,11 +474,11 @@ var file_ocis_services_search_v0_search_proto_rawDesc = []byte{ 0x49, 0x43, 0x45, 0x4e, 0x53, 0x45, 0x32, 0x05, 0x31, 0x2e, 0x30, 0x2e, 0x30, 0x2a, 0x02, 0x01, 0x02, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x72, 0x3b, 0x0a, 0x10, 0x44, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, - 0x65, 0x72, 0x20, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x12, 0x27, 0x68, 0x74, 0x74, 0x70, 0x73, + 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x72, 0x39, 0x0a, 0x10, 0x44, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, + 0x65, 0x72, 0x20, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x12, 0x25, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x6f, 0x77, 0x6e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x65, 0x76, 0x2f, - 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x2f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2f, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/protogen/gen/ocis/services/search/v0/search.swagger.json b/protogen/gen/ocis/services/search/v0/search.swagger.json index 55b025f12..a25a91c75 100644 --- a/protogen/gen/ocis/services/search/v0/search.swagger.json +++ b/protogen/gen/ocis/services/search/v0/search.swagger.json @@ -315,6 +315,6 @@ }, "externalDocs": { "description": "Developer Manual", - "url": "https://owncloud.dev/extensions/search/" + "url": "https://owncloud.dev/services/search/" } } diff --git a/protogen/gen/ocis/services/settings/v0/settings.pb.go b/protogen/gen/ocis/services/settings/v0/settings.pb.go index b14b56e87..d7bfa5ea7 100644 --- a/protogen/gen/ocis/services/settings/v0/settings.pb.go +++ b/protogen/gen/ocis/services/settings/v0/settings.pb.go @@ -1549,12 +1549,12 @@ var file_ocis_services_settings_v0_settings_proto_rawDesc = []byte{ 0x79, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x22, 0x26, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x30, 0x2f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x2d, 0x67, 0x65, 0x74, 0x2d, 0x62, 0x79, 0x2d, 0x69, 0x64, 0x3a, 0x01, 0x2a, 0x42, 0xe5, + 0x73, 0x2d, 0x67, 0x65, 0x74, 0x2d, 0x62, 0x79, 0x2d, 0x69, 0x64, 0x3a, 0x01, 0x2a, 0x42, 0xe3, 0x02, 0x5a, 0x3f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x77, 0x6e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6f, 0x63, 0x69, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x6f, 0x63, 0x69, 0x73, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2f, - 0x76, 0x30, 0x92, 0x41, 0xa0, 0x02, 0x12, 0xb6, 0x01, 0x0a, 0x20, 0x6f, 0x77, 0x6e, 0x43, 0x6c, + 0x76, 0x30, 0x92, 0x41, 0x9e, 0x02, 0x12, 0xb6, 0x01, 0x0a, 0x20, 0x6f, 0x77, 0x6e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x20, 0x49, 0x6e, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x65, 0x20, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x20, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x47, 0x0a, 0x0d, 0x6f, 0x77, 0x6e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x20, 0x47, 0x6d, 0x62, 0x48, 0x12, 0x20, 0x68, 0x74, @@ -1568,11 +1568,11 @@ var file_ocis_services_settings_v0_settings_proto_rawDesc = []byte{ 0x2f, 0x4c, 0x49, 0x43, 0x45, 0x4e, 0x53, 0x45, 0x32, 0x05, 0x31, 0x2e, 0x30, 0x2e, 0x30, 0x2a, 0x02, 0x01, 0x02, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x72, 0x3d, 0x0a, 0x10, 0x44, 0x65, 0x76, 0x65, 0x6c, - 0x6f, 0x70, 0x65, 0x72, 0x20, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x12, 0x29, 0x68, 0x74, 0x74, + 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x72, 0x3b, 0x0a, 0x10, 0x44, 0x65, 0x76, 0x65, 0x6c, + 0x6f, 0x70, 0x65, 0x72, 0x20, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x12, 0x27, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x6f, 0x77, 0x6e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x65, - 0x76, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x76, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x73, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x2f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/protogen/gen/ocis/services/settings/v0/settings.swagger.json b/protogen/gen/ocis/services/settings/v0/settings.swagger.json index 4d2db4d52..6298622ba 100644 --- a/protogen/gen/ocis/services/settings/v0/settings.swagger.json +++ b/protogen/gen/ocis/services/settings/v0/settings.swagger.json @@ -1109,6 +1109,6 @@ }, "externalDocs": { "description": "Developer Manual", - "url": "https://owncloud.dev/extensions/settings/" + "url": "https://owncloud.dev/services/settings/" } } diff --git a/protogen/gen/ocis/services/store/v0/store.pb.go b/protogen/gen/ocis/services/store/v0/store.pb.go index 47e658138..279de4afb 100644 --- a/protogen/gen/ocis/services/store/v0/store.pb.go +++ b/protogen/gen/ocis/services/store/v0/store.pb.go @@ -674,11 +674,11 @@ var file_ocis_services_store_v0_store_proto_rawDesc = []byte{ 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6f, 0x63, 0x69, 0x73, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x30, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0xdb, 0x02, 0x5a, 0x3b, 0x67, 0x69, 0x74, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0xd9, 0x02, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x77, 0x6e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6f, 0x63, 0x69, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x6f, 0x63, 0x69, 0x73, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, - 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x30, 0x92, 0x41, 0x9a, 0x02, 0x12, 0xb3, 0x01, 0x0a, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x30, 0x92, 0x41, 0x98, 0x02, 0x12, 0xb3, 0x01, 0x0a, 0x1d, 0x6f, 0x77, 0x6e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x20, 0x49, 0x6e, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x65, 0x20, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x22, 0x47, 0x0a, 0x0d, 0x6f, 0x77, 0x6e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x20, 0x47, 0x6d, 0x62, 0x48, 0x12, @@ -692,11 +692,11 @@ var file_ocis_services_store_v0_store_proto_rawDesc = []byte{ 0x74, 0x65, 0x72, 0x2f, 0x4c, 0x49, 0x43, 0x45, 0x4e, 0x53, 0x45, 0x32, 0x05, 0x31, 0x2e, 0x30, 0x2e, 0x30, 0x2a, 0x02, 0x01, 0x02, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x72, 0x3a, 0x0a, 0x10, 0x44, 0x65, - 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x20, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x12, 0x26, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x72, 0x38, 0x0a, 0x10, 0x44, 0x65, + 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x20, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x12, 0x24, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x6f, 0x77, 0x6e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, - 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/protogen/gen/ocis/services/store/v0/store.swagger.json b/protogen/gen/ocis/services/store/v0/store.swagger.json index 2beaed54c..21a5a67ab 100644 --- a/protogen/gen/ocis/services/store/v0/store.swagger.json +++ b/protogen/gen/ocis/services/store/v0/store.swagger.json @@ -237,6 +237,6 @@ }, "externalDocs": { "description": "Developer Manual", - "url": "https://owncloud.dev/extensions/store/" + "url": "https://owncloud.dev/services/store/" } } diff --git a/protogen/gen/ocis/services/thumbnails/v0/thumbnails.pb.go b/protogen/gen/ocis/services/thumbnails/v0/thumbnails.pb.go index d892e3f04..9d0293e6f 100644 --- a/protogen/gen/ocis/services/thumbnails/v0/thumbnails.pb.go +++ b/protogen/gen/ocis/services/thumbnails/v0/thumbnails.pb.go @@ -257,12 +257,12 @@ var file_ocis_services_thumbnails_v0_thumbnails_proto_rawDesc = []byte{ 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x6f, 0x63, 0x69, 0x73, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x76, 0x30, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x68, 0x75, 0x6d, - 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xeb, 0x02, + 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xe9, 0x02, 0x5a, 0x41, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x77, 0x6e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6f, 0x63, 0x69, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x6f, 0x63, 0x69, 0x73, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x73, - 0x2f, 0x76, 0x30, 0x92, 0x41, 0xa4, 0x02, 0x12, 0xb8, 0x01, 0x0a, 0x22, 0x6f, 0x77, 0x6e, 0x43, + 0x2f, 0x76, 0x30, 0x92, 0x41, 0xa2, 0x02, 0x12, 0xb8, 0x01, 0x0a, 0x22, 0x6f, 0x77, 0x6e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x20, 0x49, 0x6e, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x65, 0x20, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x20, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x47, 0x0a, 0x0d, 0x6f, 0x77, 0x6e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x20, 0x47, 0x6d, 0x62, 0x48, 0x12, @@ -276,12 +276,12 @@ var file_ocis_services_thumbnails_v0_thumbnails_proto_rawDesc = []byte{ 0x74, 0x65, 0x72, 0x2f, 0x4c, 0x49, 0x43, 0x45, 0x4e, 0x53, 0x45, 0x32, 0x05, 0x31, 0x2e, 0x30, 0x2e, 0x30, 0x2a, 0x02, 0x01, 0x02, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x72, 0x3f, 0x0a, 0x10, 0x44, 0x65, - 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x20, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x12, 0x2b, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x72, 0x3d, 0x0a, 0x10, 0x44, 0x65, + 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x20, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x12, 0x29, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x6f, 0x77, 0x6e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, - 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x73, 0x2f, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x74, 0x68, + 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x73, 0x2f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( diff --git a/protogen/gen/ocis/services/thumbnails/v0/thumbnails.swagger.json b/protogen/gen/ocis/services/thumbnails/v0/thumbnails.swagger.json index 7e4731e46..1ce43d1bd 100644 --- a/protogen/gen/ocis/services/thumbnails/v0/thumbnails.swagger.json +++ b/protogen/gen/ocis/services/thumbnails/v0/thumbnails.swagger.json @@ -124,6 +124,6 @@ }, "externalDocs": { "description": "Developer Manual", - "url": "https://owncloud.dev/extensions/thumbnails/" + "url": "https://owncloud.dev/services/thumbnails/" } } diff --git a/protogen/proto/ocis/services/search/v0/search.proto b/protogen/proto/ocis/services/search/v0/search.proto index 7d78dae35..5d071bf01 100644 --- a/protogen/proto/ocis/services/search/v0/search.proto +++ b/protogen/proto/ocis/services/search/v0/search.proto @@ -30,7 +30,7 @@ option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = { produces: "application/json"; external_docs: { description: "Developer Manual"; - url: "https://owncloud.dev/extensions/search/"; + url: "https://owncloud.dev/services/search/"; }; }; diff --git a/protogen/proto/ocis/services/settings/v0/settings.proto b/protogen/proto/ocis/services/settings/v0/settings.proto index 7aa342a1e..a9a6e4cc0 100644 --- a/protogen/proto/ocis/services/settings/v0/settings.proto +++ b/protogen/proto/ocis/services/settings/v0/settings.proto @@ -29,7 +29,7 @@ option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = { produces: "application/json"; external_docs: { description: "Developer Manual"; - url: "https://owncloud.dev/extensions/settings/"; + url: "https://owncloud.dev/services/settings/"; }; }; diff --git a/protogen/proto/ocis/services/store/v0/store.proto b/protogen/proto/ocis/services/store/v0/store.proto index 01f9d1839..03a8e6393 100644 --- a/protogen/proto/ocis/services/store/v0/store.proto +++ b/protogen/proto/ocis/services/store/v0/store.proto @@ -27,7 +27,7 @@ option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = { produces: "application/json"; external_docs: { description: "Developer Manual"; - url: "https://owncloud.dev/extensions/store/"; + url: "https://owncloud.dev/services/store/"; }; }; diff --git a/protogen/proto/ocis/services/thumbnails/v0/thumbnails.proto b/protogen/proto/ocis/services/thumbnails/v0/thumbnails.proto index 148175586..03c1dba60 100644 --- a/protogen/proto/ocis/services/thumbnails/v0/thumbnails.proto +++ b/protogen/proto/ocis/services/thumbnails/v0/thumbnails.proto @@ -27,7 +27,7 @@ option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = { produces: "application/json"; external_docs: { description: "Developer Manual"; - url: "https://owncloud.dev/extensions/thumbnails/"; + url: "https://owncloud.dev/services/thumbnails/"; }; }; diff --git a/extensions/app-provider/Makefile b/services/app-provider/Makefile similarity index 100% rename from extensions/app-provider/Makefile rename to services/app-provider/Makefile diff --git a/extensions/thumbnails/cmd/thumbnails/main.go b/services/app-provider/cmd/app-provider/main.go similarity index 52% rename from extensions/thumbnails/cmd/thumbnails/main.go rename to services/app-provider/cmd/app-provider/main.go index 43d9153c7..c4afd562c 100644 --- a/extensions/thumbnails/cmd/thumbnails/main.go +++ b/services/app-provider/cmd/app-provider/main.go @@ -3,8 +3,8 @@ package main import ( "os" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/command" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/command" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/config/defaults" ) func main() { diff --git a/extensions/thumbnails/pkg/command/health.go b/services/app-provider/pkg/command/health.go similarity index 84% rename from extensions/thumbnails/pkg/command/health.go rename to services/app-provider/pkg/command/health.go index 94f2322bd..9344b8a9a 100644 --- a/extensions/thumbnails/pkg/command/health.go +++ b/services/app-provider/pkg/command/health.go @@ -4,9 +4,9 @@ import ( "fmt" "net/http" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/logging" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/config" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/logging" "github.com/urfave/cli/v2" ) diff --git a/extensions/app-provider/pkg/command/root.go b/services/app-provider/pkg/command/root.go similarity index 95% rename from extensions/app-provider/pkg/command/root.go rename to services/app-provider/pkg/command/root.go index 829fb5d13..3db69a21a 100644 --- a/extensions/app-provider/pkg/command/root.go +++ b/services/app-provider/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/app-provider/pkg/command/server.go b/services/app-provider/pkg/command/server.go similarity index 86% rename from extensions/app-provider/pkg/command/server.go rename to services/app-provider/pkg/command/server.go index 05acb038a..f6bdf87dc 100644 --- a/extensions/app-provider/pkg/command/server.go +++ b/services/app-provider/pkg/command/server.go @@ -9,15 +9,15 @@ import ( "github.com/cs3org/reva/v2/cmd/revad/runtime" "github.com/gofrs/uuid" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/config" - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/revaconfig" - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/service/external" "github.com/owncloud/ocis/v2/ocis-pkg/sync" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/config" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/logging" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/revaconfig" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/extensions/auth-basic/pkg/command/version.go b/services/app-provider/pkg/command/version.go similarity index 95% rename from extensions/auth-basic/pkg/command/version.go rename to services/app-provider/pkg/command/version.go index c0138a7b4..c191fbcff 100644 --- a/extensions/auth-basic/pkg/command/version.go +++ b/services/app-provider/pkg/command/version.go @@ -8,7 +8,7 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/version" tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/config" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/app-provider/pkg/config/config.go b/services/app-provider/pkg/config/config.go similarity index 100% rename from extensions/app-provider/pkg/config/config.go rename to services/app-provider/pkg/config/config.go diff --git a/extensions/app-provider/pkg/config/defaults/defaultconfig.go b/services/app-provider/pkg/config/defaults/defaultconfig.go similarity index 97% rename from extensions/app-provider/pkg/config/defaults/defaultconfig.go rename to services/app-provider/pkg/config/defaults/defaultconfig.go index dc8fc2b04..810f1e54d 100644 --- a/extensions/app-provider/pkg/config/defaults/defaultconfig.go +++ b/services/app-provider/pkg/config/defaults/defaultconfig.go @@ -1,8 +1,8 @@ package defaults import ( - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/app-provider/pkg/config/parser/parse.go b/services/app-provider/pkg/config/parser/parse.go similarity index 86% rename from extensions/app-provider/pkg/config/parser/parse.go rename to services/app-provider/pkg/config/parser/parse.go index 737ce0323..290a970b3 100644 --- a/extensions/app-provider/pkg/config/parser/parse.go +++ b/services/app-provider/pkg/config/parser/parse.go @@ -3,10 +3,10 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/config" - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/config" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/app-provider/pkg/config/reva.go b/services/app-provider/pkg/config/reva.go similarity index 100% rename from extensions/app-provider/pkg/config/reva.go rename to services/app-provider/pkg/config/reva.go diff --git a/extensions/auth-basic/pkg/logging/logging.go b/services/app-provider/pkg/logging/logging.go similarity index 84% rename from extensions/auth-basic/pkg/logging/logging.go rename to services/app-provider/pkg/logging/logging.go index 686e809b6..d288439ea 100644 --- a/extensions/auth-basic/pkg/logging/logging.go +++ b/services/app-provider/pkg/logging/logging.go @@ -1,8 +1,8 @@ package logging import ( - "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/config" ) // LoggerFromConfig initializes a service-specific logger instance. diff --git a/extensions/app-provider/pkg/revaconfig/config.go b/services/app-provider/pkg/revaconfig/config.go similarity index 96% rename from extensions/app-provider/pkg/revaconfig/config.go rename to services/app-provider/pkg/revaconfig/config.go index d8d4f51c8..4ccc75952 100644 --- a/extensions/app-provider/pkg/revaconfig/config.go +++ b/services/app-provider/pkg/revaconfig/config.go @@ -1,7 +1,7 @@ package revaconfig import ( - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/config" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/config" ) // AppProviderConfigFromStruct will adapt an oCIS config struct into a reva mapstructure to start a reva service. diff --git a/extensions/auth-basic/pkg/server/debug/option.go b/services/app-provider/pkg/server/debug/option.go similarity index 93% rename from extensions/auth-basic/pkg/server/debug/option.go rename to services/app-provider/pkg/server/debug/option.go index 0af0e350b..8fa6342dc 100644 --- a/extensions/auth-basic/pkg/server/debug/option.go +++ b/services/app-provider/pkg/server/debug/option.go @@ -3,8 +3,8 @@ package debug import ( "context" - "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/config" ) // Option defines a single option function. diff --git a/extensions/auth-basic/pkg/server/debug/server.go b/services/app-provider/pkg/server/debug/server.go similarity index 96% rename from extensions/auth-basic/pkg/server/debug/server.go rename to services/app-provider/pkg/server/debug/server.go index ed1ecb480..69ac3bd16 100644 --- a/extensions/auth-basic/pkg/server/debug/server.go +++ b/services/app-provider/pkg/server/debug/server.go @@ -4,9 +4,9 @@ import ( "io" "net/http" - "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/config" ) // Server initializes the debug service and server. diff --git a/extensions/auth-basic/pkg/tracing/tracing.go b/services/app-provider/pkg/tracing/tracing.go similarity index 86% rename from extensions/auth-basic/pkg/tracing/tracing.go rename to services/app-provider/pkg/tracing/tracing.go index bcac0cd9d..a04b6685a 100644 --- a/extensions/auth-basic/pkg/tracing/tracing.go +++ b/services/app-provider/pkg/tracing/tracing.go @@ -1,9 +1,9 @@ package tracing import ( - "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/app-provider/pkg/config" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/app-registry/Makefile b/services/app-registry/Makefile similarity index 100% rename from extensions/app-registry/Makefile rename to services/app-registry/Makefile diff --git a/extensions/auth-basic/cmd/auth-basic/main.go b/services/app-registry/cmd/app-registry/main.go similarity index 52% rename from extensions/auth-basic/cmd/auth-basic/main.go rename to services/app-registry/cmd/app-registry/main.go index 9aef09d3f..6a9d91f7d 100644 --- a/extensions/auth-basic/cmd/auth-basic/main.go +++ b/services/app-registry/cmd/app-registry/main.go @@ -3,8 +3,8 @@ package main import ( "os" - "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/command" - "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/command" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/config/defaults" ) func main() { diff --git a/extensions/auth-basic/pkg/command/health.go b/services/app-registry/pkg/command/health.go similarity index 84% rename from extensions/auth-basic/pkg/command/health.go rename to services/app-registry/pkg/command/health.go index bb4ac624a..d1227a054 100644 --- a/extensions/auth-basic/pkg/command/health.go +++ b/services/app-registry/pkg/command/health.go @@ -4,9 +4,9 @@ import ( "fmt" "net/http" - "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/config" - "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/logging" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/config" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/logging" "github.com/urfave/cli/v2" ) diff --git a/extensions/app-registry/pkg/command/root.go b/services/app-registry/pkg/command/root.go similarity index 95% rename from extensions/app-registry/pkg/command/root.go rename to services/app-registry/pkg/command/root.go index b2d0fc4db..5f8362165 100644 --- a/extensions/app-registry/pkg/command/root.go +++ b/services/app-registry/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/app-registry/pkg/command/server.go b/services/app-registry/pkg/command/server.go similarity index 85% rename from extensions/app-registry/pkg/command/server.go rename to services/app-registry/pkg/command/server.go index 3dd5a8ffa..063a5986b 100644 --- a/extensions/app-registry/pkg/command/server.go +++ b/services/app-registry/pkg/command/server.go @@ -9,14 +9,14 @@ import ( "github.com/cs3org/reva/v2/cmd/revad/runtime" "github.com/gofrs/uuid" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/config" - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/revaconfig" - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/service/external" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/config" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/logging" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/revaconfig" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/services/app-registry/pkg/command/version.go b/services/app-registry/pkg/command/version.go new file mode 100644 index 000000000..380a30862 --- /dev/null +++ b/services/app-registry/pkg/command/version.go @@ -0,0 +1,50 @@ +package command + +import ( + "fmt" + "os" + + "github.com/owncloud/ocis/v2/ocis-pkg/registry" + "github.com/owncloud/ocis/v2/ocis-pkg/version" + + tw "github.com/olekukonko/tablewriter" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/config" + "github.com/urfave/cli/v2" +) + +// Version prints the service versions of all running instances. +func Version(cfg *config.Config) *cli.Command { + return &cli.Command{ + Name: "version", + Usage: "print the version of this binary and the running extension instances", + Category: "info", + Action: func(c *cli.Context) error { + fmt.Println("Version: " + version.GetString()) + fmt.Printf("Compiled: %s\n", version.Compiled()) + fmt.Println("") + + reg := registry.GetRegistry() + services, err := reg.GetService(cfg.GRPC.Namespace + "." + cfg.Service.Name) + if err != nil { + fmt.Println(fmt.Errorf("could not get %s services from the registry: %v", cfg.Service.Name, err)) + return err + } + + if len(services) == 0 { + fmt.Println("No running " + cfg.Service.Name + " service found.") + return nil + } + + table := tw.NewWriter(os.Stdout) + table.SetHeader([]string{"Version", "Address", "Id"}) + table.SetAutoFormatHeaders(false) + for _, s := range services { + for _, n := range s.Nodes { + table.Append([]string{s.Version, n.Address, n.Id}) + } + } + table.Render() + return nil + }, + } +} diff --git a/extensions/app-registry/pkg/config/config.go b/services/app-registry/pkg/config/config.go similarity index 100% rename from extensions/app-registry/pkg/config/config.go rename to services/app-registry/pkg/config/config.go diff --git a/extensions/app-registry/pkg/config/defaults/defaultconfig.go b/services/app-registry/pkg/config/defaults/defaultconfig.go similarity index 98% rename from extensions/app-registry/pkg/config/defaults/defaultconfig.go rename to services/app-registry/pkg/config/defaults/defaultconfig.go index 1ff3f4c4d..8ac93b526 100644 --- a/extensions/app-registry/pkg/config/defaults/defaultconfig.go +++ b/services/app-registry/pkg/config/defaults/defaultconfig.go @@ -1,7 +1,7 @@ package defaults import ( - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/config" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/services/app-registry/pkg/config/parser/parse.go b/services/app-registry/pkg/config/parser/parse.go new file mode 100644 index 000000000..6b0d7e0fb --- /dev/null +++ b/services/app-registry/pkg/config/parser/parse.go @@ -0,0 +1,42 @@ +package parser + +import ( + "errors" + + ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/config" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/config/defaults" + + "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" +) + +// ParseConfig loads configuration from known paths. +func ParseConfig(cfg *config.Config) error { + _, err := ociscfg.BindSourcesToStructs(cfg.Service.Name, cfg) + if err != nil { + return err + } + + defaults.EnsureDefaults(cfg) + + // load all env variables relevant to the config in the current context. + if err := envdecode.Decode(cfg); err != nil { + // no environment variable set for this config is an expected "error" + if !errors.Is(err, envdecode.ErrNoTargetFieldsAreSet) { + return err + } + } + + defaults.Sanitize(cfg) + + return Validate(cfg) +} + +func Validate(cfg *config.Config) error { + if cfg.TokenManager.JWTSecret == "" { + return shared.MissingJWTTokenError(cfg.Service.Name) + } + + return nil +} diff --git a/extensions/app-registry/pkg/config/reva.go b/services/app-registry/pkg/config/reva.go similarity index 100% rename from extensions/app-registry/pkg/config/reva.go rename to services/app-registry/pkg/config/reva.go diff --git a/services/app-registry/pkg/logging/logging.go b/services/app-registry/pkg/logging/logging.go new file mode 100644 index 000000000..bf5737a49 --- /dev/null +++ b/services/app-registry/pkg/logging/logging.go @@ -0,0 +1,17 @@ +package logging + +import ( + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/config" +) + +// LoggerFromConfig initializes a service-specific logger instance. +func Configure(name string, cfg *config.Log) log.Logger { + return log.NewLogger( + log.Name(name), + log.Level(cfg.Level), + log.Pretty(cfg.Pretty), + log.Color(cfg.Color), + log.File(cfg.File), + ) +} diff --git a/extensions/app-registry/pkg/revaconfig/config.go b/services/app-registry/pkg/revaconfig/config.go similarity index 95% rename from extensions/app-registry/pkg/revaconfig/config.go rename to services/app-registry/pkg/revaconfig/config.go index 7dba83405..3f1b27cae 100644 --- a/extensions/app-registry/pkg/revaconfig/config.go +++ b/services/app-registry/pkg/revaconfig/config.go @@ -4,7 +4,7 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/mitchellh/mapstructure" - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/config" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/config" ) // AppRegistryConfigFromStruct will adapt an oCIS config struct into a reva mapstructure to start a reva service. diff --git a/services/app-registry/pkg/server/debug/option.go b/services/app-registry/pkg/server/debug/option.go new file mode 100644 index 000000000..ea63c5116 --- /dev/null +++ b/services/app-registry/pkg/server/debug/option.go @@ -0,0 +1,50 @@ +package debug + +import ( + "context" + + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/config" +) + +// Option defines a single option function. +type Option func(o *Options) + +// Options defines the available options for this package. +type Options struct { + Logger log.Logger + Context context.Context + Config *config.Config +} + +// newOptions initializes the available default options. +func newOptions(opts ...Option) Options { + opt := Options{} + + for _, o := range opts { + o(&opt) + } + + return opt +} + +// Logger provides a function to set the logger option. +func Logger(val log.Logger) Option { + return func(o *Options) { + o.Logger = val + } +} + +// Context provides a function to set the context option. +func Context(val context.Context) Option { + return func(o *Options) { + o.Context = val + } +} + +// Config provides a function to set the config option. +func Config(val *config.Config) Option { + return func(o *Options) { + o.Config = val + } +} diff --git a/services/app-registry/pkg/server/debug/server.go b/services/app-registry/pkg/server/debug/server.go new file mode 100644 index 000000000..1b172de6e --- /dev/null +++ b/services/app-registry/pkg/server/debug/server.go @@ -0,0 +1,63 @@ +package debug + +import ( + "io" + "net/http" + + "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" + "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/config" +) + +// Server initializes the debug service and server. +func Server(opts ...Option) (*http.Server, error) { + options := newOptions(opts...) + + return debug.NewService( + debug.Logger(options.Logger), + debug.Name(options.Config.Service.Name), + debug.Version(version.GetString()), + debug.Address(options.Config.Debug.Addr), + debug.Token(options.Config.Debug.Token), + debug.Pprof(options.Config.Debug.Pprof), + debug.Zpages(options.Config.Debug.Zpages), + debug.Health(health(options.Config)), + debug.Ready(ready(options.Config)), + //debug.CorsAllowedOrigins(options.Config.HTTP.CORS.AllowedOrigins), + //debug.CorsAllowedMethods(options.Config.HTTP.CORS.AllowedMethods), + //debug.CorsAllowedHeaders(options.Config.HTTP.CORS.AllowedHeaders), + //debug.CorsAllowCredentials(options.Config.HTTP.CORS.AllowCredentials), + ), nil +} + +// health implements the health check. +func health(cfg *config.Config) func(http.ResponseWriter, *http.Request) { + return func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "text/plain") + w.WriteHeader(http.StatusOK) + + // TODO: check if services are up and running + + _, err := io.WriteString(w, http.StatusText(http.StatusOK)) + // io.WriteString should not fail but if it does we want to know. + if err != nil { + panic(err) + } + } +} + +// ready implements the ready check. +func ready(cfg *config.Config) func(http.ResponseWriter, *http.Request) { + return func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "text/plain") + w.WriteHeader(http.StatusOK) + + // TODO: check if services are up and running + + _, err := io.WriteString(w, http.StatusText(http.StatusOK)) + // io.WriteString should not fail but if it does we want to know. + if err != nil { + panic(err) + } + } +} diff --git a/services/app-registry/pkg/tracing/tracing.go b/services/app-registry/pkg/tracing/tracing.go new file mode 100644 index 000000000..a230f3b8f --- /dev/null +++ b/services/app-registry/pkg/tracing/tracing.go @@ -0,0 +1,18 @@ +package tracing + +import ( + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/app-registry/pkg/config" + "go.opentelemetry.io/otel/trace" +) + +var ( + // TraceProvider is the global trace provider for the service. + TraceProvider = trace.NewNoopTracerProvider() +) + +func Configure(cfg *config.Config, logger log.Logger) error { + tracing.Configure(cfg.Tracing.Enabled, cfg.Tracing.Type, logger) + return nil +} diff --git a/extensions/audit/Makefile b/services/audit/Makefile similarity index 100% rename from extensions/audit/Makefile rename to services/audit/Makefile diff --git a/extensions/web/cmd/web/main.go b/services/audit/cmd/audit/main.go similarity index 52% rename from extensions/web/cmd/web/main.go rename to services/audit/cmd/audit/main.go index 1c6a3e87f..f365e874e 100644 --- a/extensions/web/cmd/web/main.go +++ b/services/audit/cmd/audit/main.go @@ -3,8 +3,8 @@ package main import ( "os" - "github.com/owncloud/ocis/v2/extensions/web/pkg/command" - "github.com/owncloud/ocis/v2/extensions/web/pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/audit/pkg/command" + "github.com/owncloud/ocis/v2/services/audit/pkg/config/defaults" ) func main() { diff --git a/extensions/nats/pkg/command/health.go b/services/audit/pkg/command/health.go similarity index 84% rename from extensions/nats/pkg/command/health.go rename to services/audit/pkg/command/health.go index 6c6a0d817..faf43b8e0 100644 --- a/extensions/nats/pkg/command/health.go +++ b/services/audit/pkg/command/health.go @@ -1,7 +1,7 @@ package command import ( - "github.com/owncloud/ocis/v2/extensions/nats/pkg/config" + "github.com/owncloud/ocis/v2/services/audit/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/audit/pkg/command/root.go b/services/audit/pkg/command/root.go similarity index 95% rename from extensions/audit/pkg/command/root.go rename to services/audit/pkg/command/root.go index 043bf29ef..ec1ef4d72 100644 --- a/extensions/audit/pkg/command/root.go +++ b/services/audit/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/audit/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/audit/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/audit/pkg/command/server.go b/services/audit/pkg/command/server.go similarity index 80% rename from extensions/audit/pkg/command/server.go rename to services/audit/pkg/command/server.go index 24ea141b4..fd904a009 100644 --- a/extensions/audit/pkg/command/server.go +++ b/services/audit/pkg/command/server.go @@ -8,11 +8,11 @@ import ( "github.com/cs3org/reva/v2/pkg/events" "github.com/cs3org/reva/v2/pkg/events/server" "github.com/go-micro/plugins/v4/events/natsjs" - "github.com/owncloud/ocis/v2/extensions/audit/pkg/config" - "github.com/owncloud/ocis/v2/extensions/audit/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/audit/pkg/logging" - svc "github.com/owncloud/ocis/v2/extensions/audit/pkg/service" - "github.com/owncloud/ocis/v2/extensions/audit/pkg/types" + "github.com/owncloud/ocis/v2/services/audit/pkg/config" + "github.com/owncloud/ocis/v2/services/audit/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/audit/pkg/logging" + svc "github.com/owncloud/ocis/v2/services/audit/pkg/service" + "github.com/owncloud/ocis/v2/services/audit/pkg/types" "github.com/urfave/cli/v2" ) diff --git a/extensions/idm/pkg/command/version.go b/services/audit/pkg/command/version.go similarity index 87% rename from extensions/idm/pkg/command/version.go rename to services/audit/pkg/command/version.go index d11ce980e..c3d0eb0b5 100644 --- a/extensions/idm/pkg/command/version.go +++ b/services/audit/pkg/command/version.go @@ -1,7 +1,7 @@ package command import ( - "github.com/owncloud/ocis/v2/extensions/idm/pkg/config" + "github.com/owncloud/ocis/v2/services/audit/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/audit/pkg/config/config.go b/services/audit/pkg/config/config.go similarity index 100% rename from extensions/audit/pkg/config/config.go rename to services/audit/pkg/config/config.go diff --git a/extensions/audit/pkg/config/debug.go b/services/audit/pkg/config/debug.go similarity index 100% rename from extensions/audit/pkg/config/debug.go rename to services/audit/pkg/config/debug.go diff --git a/extensions/audit/pkg/config/defaults/defaultconfig.go b/services/audit/pkg/config/defaults/defaultconfig.go similarity index 94% rename from extensions/audit/pkg/config/defaults/defaultconfig.go rename to services/audit/pkg/config/defaults/defaultconfig.go index d2db3f7f4..f9c06f903 100644 --- a/extensions/audit/pkg/config/defaults/defaultconfig.go +++ b/services/audit/pkg/config/defaults/defaultconfig.go @@ -1,7 +1,7 @@ package defaults import ( - "github.com/owncloud/ocis/v2/extensions/audit/pkg/config" + "github.com/owncloud/ocis/v2/services/audit/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/audit/pkg/config/log.go b/services/audit/pkg/config/log.go similarity index 100% rename from extensions/audit/pkg/config/log.go rename to services/audit/pkg/config/log.go diff --git a/extensions/web/pkg/config/parser/parse.go b/services/audit/pkg/config/parser/parse.go similarity index 86% rename from extensions/web/pkg/config/parser/parse.go rename to services/audit/pkg/config/parser/parse.go index 2732411aa..43adabd42 100644 --- a/extensions/web/pkg/config/parser/parse.go +++ b/services/audit/pkg/config/parser/parse.go @@ -3,9 +3,9 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/web/pkg/config" - "github.com/owncloud/ocis/v2/extensions/web/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/audit/pkg/config" + "github.com/owncloud/ocis/v2/services/audit/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/audit/pkg/config/service.go b/services/audit/pkg/config/service.go similarity index 100% rename from extensions/audit/pkg/config/service.go rename to services/audit/pkg/config/service.go diff --git a/extensions/web/pkg/logging/logging.go b/services/audit/pkg/logging/logging.go similarity index 85% rename from extensions/web/pkg/logging/logging.go rename to services/audit/pkg/logging/logging.go index 29e1f8742..4acd0282b 100644 --- a/extensions/web/pkg/logging/logging.go +++ b/services/audit/pkg/logging/logging.go @@ -1,8 +1,8 @@ package logging import ( - "github.com/owncloud/ocis/v2/extensions/web/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/audit/pkg/config" ) // LoggerFromConfig initializes a service-specific logger instance. diff --git a/extensions/audit/pkg/service/service.go b/services/audit/pkg/service/service.go similarity index 97% rename from extensions/audit/pkg/service/service.go rename to services/audit/pkg/service/service.go index 1e42a80ca..961c41963 100644 --- a/extensions/audit/pkg/service/service.go +++ b/services/audit/pkg/service/service.go @@ -7,9 +7,9 @@ import ( "os" "github.com/cs3org/reva/v2/pkg/events" - "github.com/owncloud/ocis/v2/extensions/audit/pkg/config" - "github.com/owncloud/ocis/v2/extensions/audit/pkg/types" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/audit/pkg/config" + "github.com/owncloud/ocis/v2/services/audit/pkg/types" ) // Log is used to log to different outputs diff --git a/extensions/audit/pkg/service/service_test.go b/services/audit/pkg/service/service_test.go similarity index 99% rename from extensions/audit/pkg/service/service_test.go rename to services/audit/pkg/service/service_test.go index ae64f43a2..072c4dc7c 100644 --- a/extensions/audit/pkg/service/service_test.go +++ b/services/audit/pkg/service/service_test.go @@ -6,8 +6,8 @@ import ( "testing" "github.com/cs3org/reva/v2/pkg/events" - "github.com/owncloud/ocis/v2/extensions/audit/pkg/types" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/audit/pkg/types" "github.com/test-go/testify/require" group "github.com/cs3org/go-cs3apis/cs3/identity/group/v1beta1" diff --git a/extensions/audit/pkg/types/constants.go b/services/audit/pkg/types/constants.go similarity index 100% rename from extensions/audit/pkg/types/constants.go rename to services/audit/pkg/types/constants.go diff --git a/extensions/audit/pkg/types/conversion.go b/services/audit/pkg/types/conversion.go similarity index 100% rename from extensions/audit/pkg/types/conversion.go rename to services/audit/pkg/types/conversion.go diff --git a/extensions/audit/pkg/types/events.go b/services/audit/pkg/types/events.go similarity index 100% rename from extensions/audit/pkg/types/events.go rename to services/audit/pkg/types/events.go diff --git a/extensions/audit/pkg/types/types.go b/services/audit/pkg/types/types.go similarity index 100% rename from extensions/audit/pkg/types/types.go rename to services/audit/pkg/types/types.go diff --git a/extensions/auth-basic/Makefile b/services/auth-basic/Makefile similarity index 100% rename from extensions/auth-basic/Makefile rename to services/auth-basic/Makefile diff --git a/extensions/settings/cmd/settings/main.go b/services/auth-basic/cmd/auth-basic/main.go similarity index 52% rename from extensions/settings/cmd/settings/main.go rename to services/auth-basic/cmd/auth-basic/main.go index 89d04ef65..ec5af41ed 100644 --- a/extensions/settings/cmd/settings/main.go +++ b/services/auth-basic/cmd/auth-basic/main.go @@ -3,8 +3,8 @@ package main import ( "os" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/command" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/auth-basic/pkg/command" + "github.com/owncloud/ocis/v2/services/auth-basic/pkg/config/defaults" ) func main() { diff --git a/extensions/frontend/pkg/command/health.go b/services/auth-basic/pkg/command/health.go similarity index 84% rename from extensions/frontend/pkg/command/health.go rename to services/auth-basic/pkg/command/health.go index ac1e02c88..48f07427d 100644 --- a/extensions/frontend/pkg/command/health.go +++ b/services/auth-basic/pkg/command/health.go @@ -4,9 +4,9 @@ import ( "fmt" "net/http" - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/config" - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/logging" + "github.com/owncloud/ocis/v2/services/auth-basic/pkg/config" + "github.com/owncloud/ocis/v2/services/auth-basic/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/auth-basic/pkg/logging" "github.com/urfave/cli/v2" ) diff --git a/extensions/auth-basic/pkg/command/root.go b/services/auth-basic/pkg/command/root.go similarity index 95% rename from extensions/auth-basic/pkg/command/root.go rename to services/auth-basic/pkg/command/root.go index c7f7dff3b..d62b0d9e3 100644 --- a/extensions/auth-basic/pkg/command/root.go +++ b/services/auth-basic/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/auth-basic/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/auth-basic/pkg/command/server.go b/services/auth-basic/pkg/command/server.go similarity index 88% rename from extensions/auth-basic/pkg/command/server.go rename to services/auth-basic/pkg/command/server.go index c1a1e15fb..cb5bbf6b6 100644 --- a/extensions/auth-basic/pkg/command/server.go +++ b/services/auth-basic/pkg/command/server.go @@ -9,16 +9,16 @@ import ( "github.com/cs3org/reva/v2/cmd/revad/runtime" "github.com/gofrs/uuid" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/config" - "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/revaconfig" - "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/ldap" "github.com/owncloud/ocis/v2/ocis-pkg/service/external" "github.com/owncloud/ocis/v2/ocis-pkg/sync" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/auth-basic/pkg/config" + "github.com/owncloud/ocis/v2/services/auth-basic/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/auth-basic/pkg/logging" + "github.com/owncloud/ocis/v2/services/auth-basic/pkg/revaconfig" + "github.com/owncloud/ocis/v2/services/auth-basic/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/auth-basic/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/extensions/settings/pkg/command/version.go b/services/auth-basic/pkg/command/version.go similarity index 95% rename from extensions/settings/pkg/command/version.go rename to services/auth-basic/pkg/command/version.go index d496dadea..9e2291bf4 100644 --- a/extensions/settings/pkg/command/version.go +++ b/services/auth-basic/pkg/command/version.go @@ -8,7 +8,7 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/version" tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config" + "github.com/owncloud/ocis/v2/services/auth-basic/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/auth-basic/pkg/config/config.go b/services/auth-basic/pkg/config/config.go similarity index 100% rename from extensions/auth-basic/pkg/config/config.go rename to services/auth-basic/pkg/config/config.go diff --git a/extensions/auth-basic/pkg/config/defaults/defaultconfig.go b/services/auth-basic/pkg/config/defaults/defaultconfig.go similarity index 98% rename from extensions/auth-basic/pkg/config/defaults/defaultconfig.go rename to services/auth-basic/pkg/config/defaults/defaultconfig.go index 113e1b115..dd558ef07 100644 --- a/extensions/auth-basic/pkg/config/defaults/defaultconfig.go +++ b/services/auth-basic/pkg/config/defaults/defaultconfig.go @@ -3,8 +3,8 @@ package defaults import ( "path/filepath" - "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/auth-basic/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/auth-basic/pkg/config/parser/parse.go b/services/auth-basic/pkg/config/parser/parse.go similarity index 88% rename from extensions/auth-basic/pkg/config/parser/parse.go rename to services/auth-basic/pkg/config/parser/parse.go index e202c43be..bf000769c 100644 --- a/extensions/auth-basic/pkg/config/parser/parse.go +++ b/services/auth-basic/pkg/config/parser/parse.go @@ -3,10 +3,10 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/config" - "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/auth-basic/pkg/config" + "github.com/owncloud/ocis/v2/services/auth-basic/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/auth-basic/pkg/config/reva.go b/services/auth-basic/pkg/config/reva.go similarity index 100% rename from extensions/auth-basic/pkg/config/reva.go rename to services/auth-basic/pkg/config/reva.go diff --git a/extensions/gateway/pkg/logging/logging.go b/services/auth-basic/pkg/logging/logging.go similarity index 84% rename from extensions/gateway/pkg/logging/logging.go rename to services/auth-basic/pkg/logging/logging.go index 6e80a9001..004f3523f 100644 --- a/extensions/gateway/pkg/logging/logging.go +++ b/services/auth-basic/pkg/logging/logging.go @@ -1,8 +1,8 @@ package logging import ( - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/auth-basic/pkg/config" ) // LoggerFromConfig initializes a service-specific logger instance. diff --git a/extensions/auth-basic/pkg/revaconfig/config.go b/services/auth-basic/pkg/revaconfig/config.go similarity index 97% rename from extensions/auth-basic/pkg/revaconfig/config.go rename to services/auth-basic/pkg/revaconfig/config.go index cba789178..32833a1aa 100644 --- a/extensions/auth-basic/pkg/revaconfig/config.go +++ b/services/auth-basic/pkg/revaconfig/config.go @@ -1,6 +1,6 @@ package revaconfig -import "github.com/owncloud/ocis/v2/extensions/auth-basic/pkg/config" +import "github.com/owncloud/ocis/v2/services/auth-basic/pkg/config" // AuthBasicConfigFromStruct will adapt an oCIS config struct into a reva mapstructure to start a reva service. func AuthBasicConfigFromStruct(cfg *config.Config) map[string]interface{} { diff --git a/extensions/frontend/pkg/server/debug/option.go b/services/auth-basic/pkg/server/debug/option.go similarity index 93% rename from extensions/frontend/pkg/server/debug/option.go rename to services/auth-basic/pkg/server/debug/option.go index b4f5ec064..e9a4f9829 100644 --- a/extensions/frontend/pkg/server/debug/option.go +++ b/services/auth-basic/pkg/server/debug/option.go @@ -3,8 +3,8 @@ package debug import ( "context" - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/auth-basic/pkg/config" ) // Option defines a single option function. diff --git a/extensions/frontend/pkg/server/debug/server.go b/services/auth-basic/pkg/server/debug/server.go similarity index 96% rename from extensions/frontend/pkg/server/debug/server.go rename to services/auth-basic/pkg/server/debug/server.go index 7da91c510..62dafeab8 100644 --- a/extensions/frontend/pkg/server/debug/server.go +++ b/services/auth-basic/pkg/server/debug/server.go @@ -4,9 +4,9 @@ import ( "io" "net/http" - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/auth-basic/pkg/config" ) // Server initializes the debug service and server. diff --git a/extensions/frontend/pkg/tracing/tracing.go b/services/auth-basic/pkg/tracing/tracing.go similarity index 87% rename from extensions/frontend/pkg/tracing/tracing.go rename to services/auth-basic/pkg/tracing/tracing.go index b55b70c56..d264fe2f7 100644 --- a/extensions/frontend/pkg/tracing/tracing.go +++ b/services/auth-basic/pkg/tracing/tracing.go @@ -1,9 +1,9 @@ package tracing import ( - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/auth-basic/pkg/config" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/auth-bearer/Makefile b/services/auth-bearer/Makefile similarity index 100% rename from extensions/auth-bearer/Makefile rename to services/auth-bearer/Makefile diff --git a/services/auth-bearer/cmd/auth-bearer/main.go b/services/auth-bearer/cmd/auth-bearer/main.go new file mode 100644 index 000000000..8617701cf --- /dev/null +++ b/services/auth-bearer/cmd/auth-bearer/main.go @@ -0,0 +1,14 @@ +package main + +import ( + "os" + + "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/command" + "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/config/defaults" +) + +func main() { + if err := command.Execute(defaults.DefaultConfig()); err != nil { + os.Exit(1) + } +} diff --git a/extensions/groups/pkg/command/health.go b/services/auth-bearer/pkg/command/health.go similarity index 83% rename from extensions/groups/pkg/command/health.go rename to services/auth-bearer/pkg/command/health.go index 756205dbe..040e695b2 100644 --- a/extensions/groups/pkg/command/health.go +++ b/services/auth-bearer/pkg/command/health.go @@ -4,9 +4,9 @@ import ( "fmt" "net/http" - "github.com/owncloud/ocis/v2/extensions/groups/pkg/config" - "github.com/owncloud/ocis/v2/extensions/groups/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/groups/pkg/logging" + "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/config" + "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/logging" "github.com/urfave/cli/v2" ) diff --git a/extensions/auth-bearer/pkg/command/root.go b/services/auth-bearer/pkg/command/root.go similarity index 95% rename from extensions/auth-bearer/pkg/command/root.go rename to services/auth-bearer/pkg/command/root.go index bb78f2efe..694500d4d 100644 --- a/extensions/auth-bearer/pkg/command/root.go +++ b/services/auth-bearer/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/auth-bearer/pkg/command/server.go b/services/auth-bearer/pkg/command/server.go similarity index 86% rename from extensions/auth-bearer/pkg/command/server.go rename to services/auth-bearer/pkg/command/server.go index bbf13f1fc..7a871f12c 100644 --- a/extensions/auth-bearer/pkg/command/server.go +++ b/services/auth-bearer/pkg/command/server.go @@ -9,15 +9,15 @@ import ( "github.com/cs3org/reva/v2/cmd/revad/runtime" "github.com/gofrs/uuid" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/config" - "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/revaconfig" - "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/service/external" "github.com/owncloud/ocis/v2/ocis-pkg/sync" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/config" + "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/logging" + "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/revaconfig" + "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/services/auth-bearer/pkg/command/version.go b/services/auth-bearer/pkg/command/version.go new file mode 100644 index 000000000..030171e16 --- /dev/null +++ b/services/auth-bearer/pkg/command/version.go @@ -0,0 +1,50 @@ +package command + +import ( + "fmt" + "os" + + "github.com/owncloud/ocis/v2/ocis-pkg/registry" + "github.com/owncloud/ocis/v2/ocis-pkg/version" + + tw "github.com/olekukonko/tablewriter" + "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/config" + "github.com/urfave/cli/v2" +) + +// Version prints the service versions of all running instances. +func Version(cfg *config.Config) *cli.Command { + return &cli.Command{ + Name: "version", + Usage: "print the version of this binary and the running extension instances", + Category: "info", + Action: func(c *cli.Context) error { + fmt.Println("Version: " + version.GetString()) + fmt.Printf("Compiled: %s\n", version.Compiled()) + fmt.Println("") + + reg := registry.GetRegistry() + services, err := reg.GetService(cfg.GRPC.Namespace + "." + cfg.Service.Name) + if err != nil { + fmt.Println(fmt.Errorf("could not get %s services from the registry: %v", cfg.Service.Name, err)) + return err + } + + if len(services) == 0 { + fmt.Println("No running " + cfg.Service.Name + " service found.") + return nil + } + + table := tw.NewWriter(os.Stdout) + table.SetHeader([]string{"Version", "Address", "Id"}) + table.SetAutoFormatHeaders(false) + for _, s := range services { + for _, n := range s.Nodes { + table.Append([]string{s.Version, n.Address, n.Id}) + } + } + table.Render() + return nil + }, + } +} diff --git a/extensions/auth-bearer/pkg/config/config.go b/services/auth-bearer/pkg/config/config.go similarity index 100% rename from extensions/auth-bearer/pkg/config/config.go rename to services/auth-bearer/pkg/config/config.go diff --git a/extensions/auth-bearer/pkg/config/defaults/defaultconfig.go b/services/auth-bearer/pkg/config/defaults/defaultconfig.go similarity index 97% rename from extensions/auth-bearer/pkg/config/defaults/defaultconfig.go rename to services/auth-bearer/pkg/config/defaults/defaultconfig.go index 2a225d96b..73e1cc072 100644 --- a/extensions/auth-bearer/pkg/config/defaults/defaultconfig.go +++ b/services/auth-bearer/pkg/config/defaults/defaultconfig.go @@ -1,7 +1,7 @@ package defaults import ( - "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/config" + "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/services/auth-bearer/pkg/config/parser/parse.go b/services/auth-bearer/pkg/config/parser/parse.go new file mode 100644 index 000000000..01890e2e9 --- /dev/null +++ b/services/auth-bearer/pkg/config/parser/parse.go @@ -0,0 +1,42 @@ +package parser + +import ( + "errors" + + ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/config" + "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/config/defaults" + + "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" +) + +// ParseConfig loads configuration from known paths. +func ParseConfig(cfg *config.Config) error { + _, err := ociscfg.BindSourcesToStructs(cfg.Service.Name, cfg) + if err != nil { + return err + } + + defaults.EnsureDefaults(cfg) + + // load all env variables relevant to the config in the current context. + if err := envdecode.Decode(cfg); err != nil { + // no environment variable set for this config is an expected "error" + if !errors.Is(err, envdecode.ErrNoTargetFieldsAreSet) { + return err + } + } + + defaults.Sanitize(cfg) + + return Validate(cfg) +} + +func Validate(cfg *config.Config) error { + if cfg.TokenManager.JWTSecret == "" { + return shared.MissingJWTTokenError(cfg.Service.Name) + } + + return nil +} diff --git a/extensions/auth-bearer/pkg/config/reva.go b/services/auth-bearer/pkg/config/reva.go similarity index 100% rename from extensions/auth-bearer/pkg/config/reva.go rename to services/auth-bearer/pkg/config/reva.go diff --git a/services/auth-bearer/pkg/logging/logging.go b/services/auth-bearer/pkg/logging/logging.go new file mode 100644 index 000000000..8b55220f5 --- /dev/null +++ b/services/auth-bearer/pkg/logging/logging.go @@ -0,0 +1,17 @@ +package logging + +import ( + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/config" +) + +// LoggerFromConfig initializes a service-specific logger instance. +func Configure(name string, cfg *config.Log) log.Logger { + return log.NewLogger( + log.Name(name), + log.Level(cfg.Level), + log.Pretty(cfg.Pretty), + log.Color(cfg.Color), + log.File(cfg.File), + ) +} diff --git a/extensions/auth-bearer/pkg/revaconfig/config.go b/services/auth-bearer/pkg/revaconfig/config.go similarity index 94% rename from extensions/auth-bearer/pkg/revaconfig/config.go rename to services/auth-bearer/pkg/revaconfig/config.go index 4925ee993..cf51a02dc 100644 --- a/extensions/auth-bearer/pkg/revaconfig/config.go +++ b/services/auth-bearer/pkg/revaconfig/config.go @@ -1,6 +1,6 @@ package revaconfig -import "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/config" +import "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/config" // AuthBearerConfigFromStruct will adapt an oCIS config struct into a reva mapstructure to start a reva service. func AuthBearerConfigFromStruct(cfg *config.Config) map[string]interface{} { diff --git a/extensions/gateway/pkg/server/debug/option.go b/services/auth-bearer/pkg/server/debug/option.go similarity index 93% rename from extensions/gateway/pkg/server/debug/option.go rename to services/auth-bearer/pkg/server/debug/option.go index 34edb7f82..2fde7978b 100644 --- a/extensions/gateway/pkg/server/debug/option.go +++ b/services/auth-bearer/pkg/server/debug/option.go @@ -3,8 +3,8 @@ package debug import ( "context" - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/config" ) // Option defines a single option function. diff --git a/services/auth-bearer/pkg/server/debug/server.go b/services/auth-bearer/pkg/server/debug/server.go new file mode 100644 index 000000000..a44400a04 --- /dev/null +++ b/services/auth-bearer/pkg/server/debug/server.go @@ -0,0 +1,63 @@ +package debug + +import ( + "io" + "net/http" + + "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" + "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/config" +) + +// Server initializes the debug service and server. +func Server(opts ...Option) (*http.Server, error) { + options := newOptions(opts...) + + return debug.NewService( + debug.Logger(options.Logger), + debug.Name(options.Config.Service.Name), + debug.Version(version.GetString()), + debug.Address(options.Config.Debug.Addr), + debug.Token(options.Config.Debug.Token), + debug.Pprof(options.Config.Debug.Pprof), + debug.Zpages(options.Config.Debug.Zpages), + debug.Health(health(options.Config)), + debug.Ready(ready(options.Config)), + //debug.CorsAllowedOrigins(options.Config.HTTP.CORS.AllowedOrigins), + //debug.CorsAllowedMethods(options.Config.HTTP.CORS.AllowedMethods), + //debug.CorsAllowedHeaders(options.Config.HTTP.CORS.AllowedHeaders), + //debug.CorsAllowCredentials(options.Config.HTTP.CORS.AllowCredentials), + ), nil +} + +// health implements the health check. +func health(cfg *config.Config) func(http.ResponseWriter, *http.Request) { + return func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "text/plain") + w.WriteHeader(http.StatusOK) + + // TODO: check if services are up and running + + _, err := io.WriteString(w, http.StatusText(http.StatusOK)) + // io.WriteString should not fail but if it does we want to know. + if err != nil { + panic(err) + } + } +} + +// ready implements the ready check. +func ready(cfg *config.Config) func(http.ResponseWriter, *http.Request) { + return func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "text/plain") + w.WriteHeader(http.StatusOK) + + // TODO: check if services are up and running + + _, err := io.WriteString(w, http.StatusText(http.StatusOK)) + // io.WriteString should not fail but if it does we want to know. + if err != nil { + panic(err) + } + } +} diff --git a/services/auth-bearer/pkg/tracing/tracing.go b/services/auth-bearer/pkg/tracing/tracing.go new file mode 100644 index 000000000..125a743d2 --- /dev/null +++ b/services/auth-bearer/pkg/tracing/tracing.go @@ -0,0 +1,18 @@ +package tracing + +import ( + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/config" + "go.opentelemetry.io/otel/trace" +) + +var ( + // TraceProvider is the global trace provider for the service. + TraceProvider = trace.NewNoopTracerProvider() +) + +func Configure(cfg *config.Config, logger log.Logger) error { + tracing.Configure(cfg.Tracing.Enabled, cfg.Tracing.Type, logger) + return nil +} diff --git a/extensions/auth-machine/Makefile b/services/auth-machine/Makefile similarity index 100% rename from extensions/auth-machine/Makefile rename to services/auth-machine/Makefile diff --git a/services/auth-machine/cmd/auth-machine/main.go b/services/auth-machine/cmd/auth-machine/main.go new file mode 100644 index 000000000..937b0b20c --- /dev/null +++ b/services/auth-machine/cmd/auth-machine/main.go @@ -0,0 +1,14 @@ +package main + +import ( + "os" + + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/command" + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/config/defaults" +) + +func main() { + if err := command.Execute(defaults.DefaultConfig()); err != nil { + os.Exit(1) + } +} diff --git a/services/auth-machine/pkg/command/health.go b/services/auth-machine/pkg/command/health.go new file mode 100644 index 000000000..cc26ea7f2 --- /dev/null +++ b/services/auth-machine/pkg/command/health.go @@ -0,0 +1,57 @@ +package command + +import ( + "fmt" + "net/http" + + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/config" + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/logging" + "github.com/urfave/cli/v2" +) + +// Health is the entrypoint for the health command. +func Health(cfg *config.Config) *cli.Command { + return &cli.Command{ + Name: "health", + Usage: "check health status", + Category: "info", + Before: func(c *cli.Context) error { + err := parser.ParseConfig(cfg) + if err != nil { + fmt.Printf("%v", err) + } + return err + }, + Action: func(c *cli.Context) error { + logger := logging.Configure(cfg.Service.Name, cfg.Log) + + resp, err := http.Get( + fmt.Sprintf( + "http://%s/healthz", + cfg.Debug.Addr, + ), + ) + + if err != nil { + logger.Fatal(). + Err(err). + Msg("Failed to request health check") + } + + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + logger.Fatal(). + Int("code", resp.StatusCode). + Msg("Health seems to be in bad state") + } + + logger.Debug(). + Int("code", resp.StatusCode). + Msg("Health got a good state") + + return nil + }, + } +} diff --git a/extensions/auth-machine/pkg/command/root.go b/services/auth-machine/pkg/command/root.go similarity index 95% rename from extensions/auth-machine/pkg/command/root.go rename to services/auth-machine/pkg/command/root.go index 265762994..29d9cdc8e 100644 --- a/extensions/auth-machine/pkg/command/root.go +++ b/services/auth-machine/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/auth-machine/pkg/command/server.go b/services/auth-machine/pkg/command/server.go similarity index 86% rename from extensions/auth-machine/pkg/command/server.go rename to services/auth-machine/pkg/command/server.go index 5ec422e3e..1bb1610f4 100644 --- a/extensions/auth-machine/pkg/command/server.go +++ b/services/auth-machine/pkg/command/server.go @@ -9,15 +9,15 @@ import ( "github.com/cs3org/reva/v2/cmd/revad/runtime" "github.com/gofrs/uuid" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/config" - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/revaconfig" - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/service/external" "github.com/owncloud/ocis/v2/ocis-pkg/sync" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/config" + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/logging" + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/revaconfig" + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/services/auth-machine/pkg/command/version.go b/services/auth-machine/pkg/command/version.go new file mode 100644 index 000000000..1db2354e4 --- /dev/null +++ b/services/auth-machine/pkg/command/version.go @@ -0,0 +1,50 @@ +package command + +import ( + "fmt" + "os" + + "github.com/owncloud/ocis/v2/ocis-pkg/registry" + "github.com/owncloud/ocis/v2/ocis-pkg/version" + + tw "github.com/olekukonko/tablewriter" + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/config" + "github.com/urfave/cli/v2" +) + +// Version prints the service versions of all running instances. +func Version(cfg *config.Config) *cli.Command { + return &cli.Command{ + Name: "version", + Usage: "print the version of this binary and the running extension instances", + Category: "info", + Action: func(c *cli.Context) error { + fmt.Println("Version: " + version.GetString()) + fmt.Printf("Compiled: %s\n", version.Compiled()) + fmt.Println("") + + reg := registry.GetRegistry() + services, err := reg.GetService(cfg.GRPC.Namespace + "." + cfg.Service.Name) + if err != nil { + fmt.Println(fmt.Errorf("could not get %s services from the registry: %v", cfg.Service.Name, err)) + return err + } + + if len(services) == 0 { + fmt.Println("No running " + cfg.Service.Name + " service found.") + return nil + } + + table := tw.NewWriter(os.Stdout) + table.SetHeader([]string{"Version", "Address", "Id"}) + table.SetAutoFormatHeaders(false) + for _, s := range services { + for _, n := range s.Nodes { + table.Append([]string{s.Version, n.Address, n.Id}) + } + } + table.Render() + return nil + }, + } +} diff --git a/extensions/auth-machine/pkg/config/config.go b/services/auth-machine/pkg/config/config.go similarity index 100% rename from extensions/auth-machine/pkg/config/config.go rename to services/auth-machine/pkg/config/config.go diff --git a/extensions/auth-machine/pkg/config/defaults/defaultconfig.go b/services/auth-machine/pkg/config/defaults/defaultconfig.go similarity index 97% rename from extensions/auth-machine/pkg/config/defaults/defaultconfig.go rename to services/auth-machine/pkg/config/defaults/defaultconfig.go index b472bba15..fc1dee5fc 100644 --- a/extensions/auth-machine/pkg/config/defaults/defaultconfig.go +++ b/services/auth-machine/pkg/config/defaults/defaultconfig.go @@ -1,7 +1,7 @@ package defaults import ( - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/config" + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/auth-machine/pkg/config/parser/parse.go b/services/auth-machine/pkg/config/parser/parse.go similarity index 87% rename from extensions/auth-machine/pkg/config/parser/parse.go rename to services/auth-machine/pkg/config/parser/parse.go index e5493ffc5..1b9c1606a 100644 --- a/extensions/auth-machine/pkg/config/parser/parse.go +++ b/services/auth-machine/pkg/config/parser/parse.go @@ -3,10 +3,10 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/config" - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/config" + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/auth-machine/pkg/config/reva.go b/services/auth-machine/pkg/config/reva.go similarity index 100% rename from extensions/auth-machine/pkg/config/reva.go rename to services/auth-machine/pkg/config/reva.go diff --git a/services/auth-machine/pkg/logging/logging.go b/services/auth-machine/pkg/logging/logging.go new file mode 100644 index 000000000..f46568ba1 --- /dev/null +++ b/services/auth-machine/pkg/logging/logging.go @@ -0,0 +1,17 @@ +package logging + +import ( + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/config" +) + +// LoggerFromConfig initializes a service-specific logger instance. +func Configure(name string, cfg *config.Log) log.Logger { + return log.NewLogger( + log.Name(name), + log.Level(cfg.Level), + log.Pretty(cfg.Pretty), + log.Color(cfg.Color), + log.File(cfg.File), + ) +} diff --git a/extensions/auth-machine/pkg/revaconfig/config.go b/services/auth-machine/pkg/revaconfig/config.go similarity index 94% rename from extensions/auth-machine/pkg/revaconfig/config.go rename to services/auth-machine/pkg/revaconfig/config.go index 1c9acbacf..637488da0 100644 --- a/extensions/auth-machine/pkg/revaconfig/config.go +++ b/services/auth-machine/pkg/revaconfig/config.go @@ -1,7 +1,7 @@ package revaconfig import ( - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/config" + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/config" ) // AuthMachineConfigFromStruct will adapt an oCIS config struct into a reva mapstructure to start a reva service. diff --git a/services/auth-machine/pkg/server/debug/option.go b/services/auth-machine/pkg/server/debug/option.go new file mode 100644 index 000000000..2208627e3 --- /dev/null +++ b/services/auth-machine/pkg/server/debug/option.go @@ -0,0 +1,50 @@ +package debug + +import ( + "context" + + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/config" +) + +// Option defines a single option function. +type Option func(o *Options) + +// Options defines the available options for this package. +type Options struct { + Logger log.Logger + Context context.Context + Config *config.Config +} + +// newOptions initializes the available default options. +func newOptions(opts ...Option) Options { + opt := Options{} + + for _, o := range opts { + o(&opt) + } + + return opt +} + +// Logger provides a function to set the logger option. +func Logger(val log.Logger) Option { + return func(o *Options) { + o.Logger = val + } +} + +// Context provides a function to set the context option. +func Context(val context.Context) Option { + return func(o *Options) { + o.Context = val + } +} + +// Config provides a function to set the config option. +func Config(val *config.Config) Option { + return func(o *Options) { + o.Config = val + } +} diff --git a/services/auth-machine/pkg/server/debug/server.go b/services/auth-machine/pkg/server/debug/server.go new file mode 100644 index 000000000..d2f3b1fc4 --- /dev/null +++ b/services/auth-machine/pkg/server/debug/server.go @@ -0,0 +1,63 @@ +package debug + +import ( + "io" + "net/http" + + "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" + "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/config" +) + +// Server initializes the debug service and server. +func Server(opts ...Option) (*http.Server, error) { + options := newOptions(opts...) + + return debug.NewService( + debug.Logger(options.Logger), + debug.Name(options.Config.Service.Name), + debug.Version(version.GetString()), + debug.Address(options.Config.Debug.Addr), + debug.Token(options.Config.Debug.Token), + debug.Pprof(options.Config.Debug.Pprof), + debug.Zpages(options.Config.Debug.Zpages), + debug.Health(health(options.Config)), + debug.Ready(ready(options.Config)), + //debug.CorsAllowedOrigins(options.Config.HTTP.CORS.AllowedOrigins), + //debug.CorsAllowedMethods(options.Config.HTTP.CORS.AllowedMethods), + //debug.CorsAllowedHeaders(options.Config.HTTP.CORS.AllowedHeaders), + //debug.CorsAllowCredentials(options.Config.HTTP.CORS.AllowCredentials), + ), nil +} + +// health implements the health check. +func health(cfg *config.Config) func(http.ResponseWriter, *http.Request) { + return func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "text/plain") + w.WriteHeader(http.StatusOK) + + // TODO: check if services are up and running + + _, err := io.WriteString(w, http.StatusText(http.StatusOK)) + // io.WriteString should not fail but if it does we want to know. + if err != nil { + panic(err) + } + } +} + +// ready implements the ready check. +func ready(cfg *config.Config) func(http.ResponseWriter, *http.Request) { + return func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "text/plain") + w.WriteHeader(http.StatusOK) + + // TODO: check if services are up and running + + _, err := io.WriteString(w, http.StatusText(http.StatusOK)) + // io.WriteString should not fail but if it does we want to know. + if err != nil { + panic(err) + } + } +} diff --git a/services/auth-machine/pkg/tracing/tracing.go b/services/auth-machine/pkg/tracing/tracing.go new file mode 100644 index 000000000..cd6cbc75a --- /dev/null +++ b/services/auth-machine/pkg/tracing/tracing.go @@ -0,0 +1,18 @@ +package tracing + +import ( + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/auth-machine/pkg/config" + "go.opentelemetry.io/otel/trace" +) + +var ( + // TraceProvider is the global trace provider for the service. + TraceProvider = trace.NewNoopTracerProvider() +) + +func Configure(cfg *config.Config, logger log.Logger) error { + tracing.Configure(cfg.Tracing.Enabled, cfg.Tracing.Type, logger) + return nil +} diff --git a/extensions/frontend/Makefile b/services/frontend/Makefile similarity index 100% rename from extensions/frontend/Makefile rename to services/frontend/Makefile diff --git a/extensions/search/cmd/search/main.go b/services/frontend/cmd/frontend/main.go similarity index 52% rename from extensions/search/cmd/search/main.go rename to services/frontend/cmd/frontend/main.go index c2e4061d8..cbdc5dac5 100644 --- a/extensions/search/cmd/search/main.go +++ b/services/frontend/cmd/frontend/main.go @@ -3,8 +3,8 @@ package main import ( "os" - "github.com/owncloud/ocis/v2/extensions/search/pkg/command" - "github.com/owncloud/ocis/v2/extensions/search/pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/frontend/pkg/command" + "github.com/owncloud/ocis/v2/services/frontend/pkg/config/defaults" ) func main() { diff --git a/extensions/webdav/pkg/command/health.go b/services/frontend/pkg/command/health.go similarity index 84% rename from extensions/webdav/pkg/command/health.go rename to services/frontend/pkg/command/health.go index bf31f5c79..158586826 100644 --- a/extensions/webdav/pkg/command/health.go +++ b/services/frontend/pkg/command/health.go @@ -4,9 +4,9 @@ import ( "fmt" "net/http" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/config" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/logging" + "github.com/owncloud/ocis/v2/services/frontend/pkg/config" + "github.com/owncloud/ocis/v2/services/frontend/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/frontend/pkg/logging" "github.com/urfave/cli/v2" ) diff --git a/extensions/frontend/pkg/command/root.go b/services/frontend/pkg/command/root.go similarity index 95% rename from extensions/frontend/pkg/command/root.go rename to services/frontend/pkg/command/root.go index c5eca20b6..313a13496 100644 --- a/extensions/frontend/pkg/command/root.go +++ b/services/frontend/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/frontend/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/frontend/pkg/command/server.go b/services/frontend/pkg/command/server.go similarity index 86% rename from extensions/frontend/pkg/command/server.go rename to services/frontend/pkg/command/server.go index 90d395ac4..f52e97ba8 100644 --- a/extensions/frontend/pkg/command/server.go +++ b/services/frontend/pkg/command/server.go @@ -9,15 +9,15 @@ import ( "github.com/cs3org/reva/v2/cmd/revad/runtime" "github.com/gofrs/uuid" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/config" - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/revaconfig" - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/service/external" "github.com/owncloud/ocis/v2/ocis-pkg/sync" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/frontend/pkg/config" + "github.com/owncloud/ocis/v2/services/frontend/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/frontend/pkg/logging" + "github.com/owncloud/ocis/v2/services/frontend/pkg/revaconfig" + "github.com/owncloud/ocis/v2/services/frontend/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/frontend/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/extensions/graph/pkg/command/version.go b/services/frontend/pkg/command/version.go similarity index 95% rename from extensions/graph/pkg/command/version.go rename to services/frontend/pkg/command/version.go index b36862b14..77ec32121 100644 --- a/extensions/graph/pkg/command/version.go +++ b/services/frontend/pkg/command/version.go @@ -8,7 +8,7 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/version" tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config" + "github.com/owncloud/ocis/v2/services/frontend/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/frontend/pkg/config/config.go b/services/frontend/pkg/config/config.go similarity index 100% rename from extensions/frontend/pkg/config/config.go rename to services/frontend/pkg/config/config.go diff --git a/extensions/frontend/pkg/config/defaults/defaultconfig.go b/services/frontend/pkg/config/defaults/defaultconfig.go similarity index 98% rename from extensions/frontend/pkg/config/defaults/defaultconfig.go rename to services/frontend/pkg/config/defaults/defaultconfig.go index 3dea23c38..b520d75c7 100644 --- a/extensions/frontend/pkg/config/defaults/defaultconfig.go +++ b/services/frontend/pkg/config/defaults/defaultconfig.go @@ -1,7 +1,7 @@ package defaults import ( - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/config" + "github.com/owncloud/ocis/v2/services/frontend/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/frontend/pkg/config/parser/parse.go b/services/frontend/pkg/config/parser/parse.go similarity index 89% rename from extensions/frontend/pkg/config/parser/parse.go rename to services/frontend/pkg/config/parser/parse.go index 6577e7b23..026ae126c 100644 --- a/extensions/frontend/pkg/config/parser/parse.go +++ b/services/frontend/pkg/config/parser/parse.go @@ -3,10 +3,10 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/config" - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/frontend/pkg/config" + "github.com/owncloud/ocis/v2/services/frontend/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/frontend/pkg/config/reva.go b/services/frontend/pkg/config/reva.go similarity index 100% rename from extensions/frontend/pkg/config/reva.go rename to services/frontend/pkg/config/reva.go diff --git a/extensions/groups/pkg/logging/logging.go b/services/frontend/pkg/logging/logging.go similarity index 85% rename from extensions/groups/pkg/logging/logging.go rename to services/frontend/pkg/logging/logging.go index 8303ffbfa..a1b6d6d44 100644 --- a/extensions/groups/pkg/logging/logging.go +++ b/services/frontend/pkg/logging/logging.go @@ -1,8 +1,8 @@ package logging import ( - "github.com/owncloud/ocis/v2/extensions/groups/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/frontend/pkg/config" ) // LoggerFromConfig initializes a service-specific logger instance. diff --git a/extensions/frontend/pkg/revaconfig/config.go b/services/frontend/pkg/revaconfig/config.go similarity index 99% rename from extensions/frontend/pkg/revaconfig/config.go rename to services/frontend/pkg/revaconfig/config.go index aa0ad1643..31fcf9512 100644 --- a/extensions/frontend/pkg/revaconfig/config.go +++ b/services/frontend/pkg/revaconfig/config.go @@ -4,8 +4,8 @@ import ( "path" "strconv" - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/frontend/pkg/config" ) // FrontendConfigFromStruct will adapt an oCIS config struct into a reva mapstructure to start a reva service. diff --git a/extensions/groups/pkg/server/debug/option.go b/services/frontend/pkg/server/debug/option.go similarity index 93% rename from extensions/groups/pkg/server/debug/option.go rename to services/frontend/pkg/server/debug/option.go index 96aa7566a..913fe9a70 100644 --- a/extensions/groups/pkg/server/debug/option.go +++ b/services/frontend/pkg/server/debug/option.go @@ -3,8 +3,8 @@ package debug import ( "context" - "github.com/owncloud/ocis/v2/extensions/groups/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/frontend/pkg/config" ) // Option defines a single option function. diff --git a/extensions/groups/pkg/server/debug/server.go b/services/frontend/pkg/server/debug/server.go similarity index 96% rename from extensions/groups/pkg/server/debug/server.go rename to services/frontend/pkg/server/debug/server.go index f10461c48..84dfc1c71 100644 --- a/extensions/groups/pkg/server/debug/server.go +++ b/services/frontend/pkg/server/debug/server.go @@ -4,9 +4,9 @@ import ( "io" "net/http" - "github.com/owncloud/ocis/v2/extensions/groups/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/frontend/pkg/config" ) // Server initializes the debug service and server. diff --git a/extensions/groups/pkg/tracing/tracing.go b/services/frontend/pkg/tracing/tracing.go similarity index 87% rename from extensions/groups/pkg/tracing/tracing.go rename to services/frontend/pkg/tracing/tracing.go index 93f60b502..84ced0ccb 100644 --- a/extensions/groups/pkg/tracing/tracing.go +++ b/services/frontend/pkg/tracing/tracing.go @@ -1,9 +1,9 @@ package tracing import ( - "github.com/owncloud/ocis/v2/extensions/groups/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/frontend/pkg/config" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/gateway/Makefile b/services/gateway/Makefile similarity index 100% rename from extensions/gateway/Makefile rename to services/gateway/Makefile diff --git a/extensions/audit/cmd/audit/main.go b/services/gateway/cmd/gateway/main.go similarity index 52% rename from extensions/audit/cmd/audit/main.go rename to services/gateway/cmd/gateway/main.go index 3263360b4..d22e80401 100644 --- a/extensions/audit/cmd/audit/main.go +++ b/services/gateway/cmd/gateway/main.go @@ -3,8 +3,8 @@ package main import ( "os" - "github.com/owncloud/ocis/v2/extensions/audit/pkg/command" - "github.com/owncloud/ocis/v2/extensions/audit/pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/gateway/pkg/command" + "github.com/owncloud/ocis/v2/services/gateway/pkg/config/defaults" ) func main() { diff --git a/extensions/graph/pkg/command/health.go b/services/gateway/pkg/command/health.go similarity index 84% rename from extensions/graph/pkg/command/health.go rename to services/gateway/pkg/command/health.go index d6bdf3924..1dd8229b6 100644 --- a/extensions/graph/pkg/command/health.go +++ b/services/gateway/pkg/command/health.go @@ -4,9 +4,9 @@ import ( "fmt" "net/http" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/logging" + "github.com/owncloud/ocis/v2/services/gateway/pkg/config" + "github.com/owncloud/ocis/v2/services/gateway/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/gateway/pkg/logging" "github.com/urfave/cli/v2" ) diff --git a/extensions/gateway/pkg/command/root.go b/services/gateway/pkg/command/root.go similarity index 95% rename from extensions/gateway/pkg/command/root.go rename to services/gateway/pkg/command/root.go index 058d6b4f0..41cddd994 100644 --- a/extensions/gateway/pkg/command/root.go +++ b/services/gateway/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/gateway/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/gateway/pkg/command/server.go b/services/gateway/pkg/command/server.go similarity index 86% rename from extensions/gateway/pkg/command/server.go rename to services/gateway/pkg/command/server.go index 375f0a8f3..3287c9230 100644 --- a/extensions/gateway/pkg/command/server.go +++ b/services/gateway/pkg/command/server.go @@ -9,14 +9,14 @@ import ( "github.com/cs3org/reva/v2/cmd/revad/runtime" "github.com/gofrs/uuid" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/config" - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/revaconfig" - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/service/external" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/gateway/pkg/config" + "github.com/owncloud/ocis/v2/services/gateway/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/gateway/pkg/logging" + "github.com/owncloud/ocis/v2/services/gateway/pkg/revaconfig" + "github.com/owncloud/ocis/v2/services/gateway/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/gateway/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/extensions/store/pkg/command/version.go b/services/gateway/pkg/command/version.go similarity index 95% rename from extensions/store/pkg/command/version.go rename to services/gateway/pkg/command/version.go index 5dcb64923..6e4fcfc07 100644 --- a/extensions/store/pkg/command/version.go +++ b/services/gateway/pkg/command/version.go @@ -8,7 +8,7 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/version" tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/store/pkg/config" + "github.com/owncloud/ocis/v2/services/gateway/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/gateway/pkg/config/config.go b/services/gateway/pkg/config/config.go similarity index 100% rename from extensions/gateway/pkg/config/config.go rename to services/gateway/pkg/config/config.go diff --git a/extensions/gateway/pkg/config/defaults/defaultconfig.go b/services/gateway/pkg/config/defaults/defaultconfig.go similarity index 98% rename from extensions/gateway/pkg/config/defaults/defaultconfig.go rename to services/gateway/pkg/config/defaults/defaultconfig.go index f7616174a..34d36e16e 100644 --- a/extensions/gateway/pkg/config/defaults/defaultconfig.go +++ b/services/gateway/pkg/config/defaults/defaultconfig.go @@ -1,7 +1,7 @@ package defaults import ( - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/config" + "github.com/owncloud/ocis/v2/services/gateway/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/gateway/pkg/config/parser/parse.go b/services/gateway/pkg/config/parser/parse.go similarity index 88% rename from extensions/gateway/pkg/config/parser/parse.go rename to services/gateway/pkg/config/parser/parse.go index 62146646b..aea69ba8c 100644 --- a/extensions/gateway/pkg/config/parser/parse.go +++ b/services/gateway/pkg/config/parser/parse.go @@ -3,10 +3,10 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/config" - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/gateway/pkg/config" + "github.com/owncloud/ocis/v2/services/gateway/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/gateway/pkg/config/reva.go b/services/gateway/pkg/config/reva.go similarity index 100% rename from extensions/gateway/pkg/config/reva.go rename to services/gateway/pkg/config/reva.go diff --git a/extensions/audit/pkg/logging/logging.go b/services/gateway/pkg/logging/logging.go similarity index 85% rename from extensions/audit/pkg/logging/logging.go rename to services/gateway/pkg/logging/logging.go index 17ab56c5c..20e57dfb5 100644 --- a/extensions/audit/pkg/logging/logging.go +++ b/services/gateway/pkg/logging/logging.go @@ -1,8 +1,8 @@ package logging import ( - "github.com/owncloud/ocis/v2/extensions/audit/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/gateway/pkg/config" ) // LoggerFromConfig initializes a service-specific logger instance. diff --git a/extensions/gateway/pkg/revaconfig/config.go b/services/gateway/pkg/revaconfig/config.go similarity index 98% rename from extensions/gateway/pkg/revaconfig/config.go rename to services/gateway/pkg/revaconfig/config.go index ad93f3eae..3d9850a9c 100644 --- a/extensions/gateway/pkg/revaconfig/config.go +++ b/services/gateway/pkg/revaconfig/config.go @@ -8,7 +8,7 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/cs3org/reva/v2/pkg/utils" - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/config" + "github.com/owncloud/ocis/v2/services/gateway/pkg/config" ) // GatewayConfigFromStruct will adapt an oCIS config struct into a reva mapstructure to start a reva service. diff --git a/extensions/graph/pkg/server/debug/option.go b/services/gateway/pkg/server/debug/option.go similarity index 93% rename from extensions/graph/pkg/server/debug/option.go rename to services/gateway/pkg/server/debug/option.go index 5ad37a18d..4ff6334a9 100644 --- a/extensions/graph/pkg/server/debug/option.go +++ b/services/gateway/pkg/server/debug/option.go @@ -3,8 +3,8 @@ package debug import ( "context" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/gateway/pkg/config" ) // Option defines a single option function. diff --git a/extensions/users/pkg/server/debug/server.go b/services/gateway/pkg/server/debug/server.go similarity index 97% rename from extensions/users/pkg/server/debug/server.go rename to services/gateway/pkg/server/debug/server.go index 362e1d2ef..4f2e20c60 100644 --- a/extensions/users/pkg/server/debug/server.go +++ b/services/gateway/pkg/server/debug/server.go @@ -4,9 +4,9 @@ import ( "io" "net/http" - "github.com/owncloud/ocis/v2/extensions/users/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/gateway/pkg/config" ) // Server initializes the debug service and server. diff --git a/extensions/users/pkg/tracing/tracing.go b/services/gateway/pkg/tracing/tracing.go similarity index 87% rename from extensions/users/pkg/tracing/tracing.go rename to services/gateway/pkg/tracing/tracing.go index 661aaff86..82af58316 100644 --- a/extensions/users/pkg/tracing/tracing.go +++ b/services/gateway/pkg/tracing/tracing.go @@ -1,9 +1,9 @@ package tracing import ( - "github.com/owncloud/ocis/v2/extensions/users/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/gateway/pkg/config" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/graph-explorer/.dockerignore b/services/graph-explorer/.dockerignore similarity index 100% rename from extensions/graph-explorer/.dockerignore rename to services/graph-explorer/.dockerignore diff --git a/extensions/graph-explorer/Makefile b/services/graph-explorer/Makefile similarity index 100% rename from extensions/graph-explorer/Makefile rename to services/graph-explorer/Makefile diff --git a/extensions/graph-explorer/assets/.keep b/services/graph-explorer/assets/.keep similarity index 100% rename from extensions/graph-explorer/assets/.keep rename to services/graph-explorer/assets/.keep diff --git a/extensions/auth-machine/cmd/auth-machine/main.go b/services/graph-explorer/cmd/graph-explorer/main.go similarity index 53% rename from extensions/auth-machine/cmd/auth-machine/main.go rename to services/graph-explorer/cmd/graph-explorer/main.go index 5ae469c71..092cd8741 100644 --- a/extensions/auth-machine/cmd/auth-machine/main.go +++ b/services/graph-explorer/cmd/graph-explorer/main.go @@ -3,8 +3,8 @@ package main import ( "os" - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/command" - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/command" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/config/defaults" ) func main() { diff --git a/extensions/graph-explorer/docker/Dockerfile.linux.amd64 b/services/graph-explorer/docker/Dockerfile.linux.amd64 similarity index 100% rename from extensions/graph-explorer/docker/Dockerfile.linux.amd64 rename to services/graph-explorer/docker/Dockerfile.linux.amd64 diff --git a/extensions/graph-explorer/docker/Dockerfile.linux.arm b/services/graph-explorer/docker/Dockerfile.linux.arm similarity index 100% rename from extensions/graph-explorer/docker/Dockerfile.linux.arm rename to services/graph-explorer/docker/Dockerfile.linux.arm diff --git a/extensions/graph-explorer/docker/Dockerfile.linux.arm64 b/services/graph-explorer/docker/Dockerfile.linux.arm64 similarity index 100% rename from extensions/graph-explorer/docker/Dockerfile.linux.arm64 rename to services/graph-explorer/docker/Dockerfile.linux.arm64 diff --git a/extensions/graph-explorer/docker/manifest.tmpl b/services/graph-explorer/docker/manifest.tmpl similarity index 100% rename from extensions/graph-explorer/docker/manifest.tmpl rename to services/graph-explorer/docker/manifest.tmpl diff --git a/extensions/graph-explorer/graph_explorer.go b/services/graph-explorer/graph_explorer.go similarity index 100% rename from extensions/graph-explorer/graph_explorer.go rename to services/graph-explorer/graph_explorer.go diff --git a/extensions/graph-explorer/pkg/assets/option.go b/services/graph-explorer/pkg/assets/option.go similarity index 87% rename from extensions/graph-explorer/pkg/assets/option.go rename to services/graph-explorer/pkg/assets/option.go index d0d5e1155..b02703243 100644 --- a/extensions/graph-explorer/pkg/assets/option.go +++ b/services/graph-explorer/pkg/assets/option.go @@ -3,10 +3,10 @@ package assets import ( "net/http" - graphexplorer "github.com/owncloud/ocis/v2/extensions/graph-explorer" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/assetsfs" "github.com/owncloud/ocis/v2/ocis-pkg/log" + graphexplorer "github.com/owncloud/ocis/v2/services/graph-explorer" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/config" ) // New returns a new http filesystem to serve assets. diff --git a/extensions/app-provider/pkg/command/health.go b/services/graph-explorer/pkg/command/health.go similarity index 84% rename from extensions/app-provider/pkg/command/health.go rename to services/graph-explorer/pkg/command/health.go index f57e9707b..b83a33c82 100644 --- a/extensions/app-provider/pkg/command/health.go +++ b/services/graph-explorer/pkg/command/health.go @@ -4,9 +4,9 @@ import ( "fmt" "net/http" - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/config" - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/logging" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/config" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/logging" "github.com/urfave/cli/v2" ) diff --git a/extensions/graph-explorer/pkg/command/root.go b/services/graph-explorer/pkg/command/root.go similarity index 95% rename from extensions/graph-explorer/pkg/command/root.go rename to services/graph-explorer/pkg/command/root.go index ce7e1dbaf..ad9e1be39 100644 --- a/extensions/graph-explorer/pkg/command/root.go +++ b/services/graph-explorer/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/graph-explorer/pkg/command/server.go b/services/graph-explorer/pkg/command/server.go similarity index 81% rename from extensions/graph-explorer/pkg/command/server.go rename to services/graph-explorer/pkg/command/server.go index f70d840f6..db484c4db 100644 --- a/extensions/graph-explorer/pkg/command/server.go +++ b/services/graph-explorer/pkg/command/server.go @@ -6,14 +6,14 @@ import ( "os" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/config" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/metrics" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/server/http" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/config" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/logging" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/metrics" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/server/http" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/extensions/frontend/pkg/command/version.go b/services/graph-explorer/pkg/command/version.go similarity index 95% rename from extensions/frontend/pkg/command/version.go rename to services/graph-explorer/pkg/command/version.go index 33e305f4b..49b923e9a 100644 --- a/extensions/frontend/pkg/command/version.go +++ b/services/graph-explorer/pkg/command/version.go @@ -8,7 +8,7 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/version" tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/config" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/graph-explorer/pkg/config/config.go b/services/graph-explorer/pkg/config/config.go similarity index 100% rename from extensions/graph-explorer/pkg/config/config.go rename to services/graph-explorer/pkg/config/config.go diff --git a/extensions/graph-explorer/pkg/config/debug.go b/services/graph-explorer/pkg/config/debug.go similarity index 100% rename from extensions/graph-explorer/pkg/config/debug.go rename to services/graph-explorer/pkg/config/debug.go diff --git a/extensions/graph-explorer/pkg/config/defaults/defaultconfig.go b/services/graph-explorer/pkg/config/defaults/defaultconfig.go similarity index 96% rename from extensions/graph-explorer/pkg/config/defaults/defaultconfig.go rename to services/graph-explorer/pkg/config/defaults/defaultconfig.go index 1e2d77b16..f342e7037 100644 --- a/extensions/graph-explorer/pkg/config/defaults/defaultconfig.go +++ b/services/graph-explorer/pkg/config/defaults/defaultconfig.go @@ -3,7 +3,7 @@ package defaults import ( "strings" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/config" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/graph-explorer/pkg/config/http.go b/services/graph-explorer/pkg/config/http.go similarity index 100% rename from extensions/graph-explorer/pkg/config/http.go rename to services/graph-explorer/pkg/config/http.go diff --git a/extensions/graph-explorer/pkg/config/log.go b/services/graph-explorer/pkg/config/log.go similarity index 100% rename from extensions/graph-explorer/pkg/config/log.go rename to services/graph-explorer/pkg/config/log.go diff --git a/extensions/graph-explorer/pkg/config/parser/parse.go b/services/graph-explorer/pkg/config/parser/parse.go similarity index 84% rename from extensions/graph-explorer/pkg/config/parser/parse.go rename to services/graph-explorer/pkg/config/parser/parse.go index d6f355a2f..a77ced49d 100644 --- a/extensions/graph-explorer/pkg/config/parser/parse.go +++ b/services/graph-explorer/pkg/config/parser/parse.go @@ -3,9 +3,9 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/config" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/config" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/graph-explorer/pkg/config/service.go b/services/graph-explorer/pkg/config/service.go similarity index 100% rename from extensions/graph-explorer/pkg/config/service.go rename to services/graph-explorer/pkg/config/service.go diff --git a/extensions/graph-explorer/pkg/config/tracing.go b/services/graph-explorer/pkg/config/tracing.go similarity index 100% rename from extensions/graph-explorer/pkg/config/tracing.go rename to services/graph-explorer/pkg/config/tracing.go diff --git a/extensions/auth-machine/pkg/logging/logging.go b/services/graph-explorer/pkg/logging/logging.go similarity index 84% rename from extensions/auth-machine/pkg/logging/logging.go rename to services/graph-explorer/pkg/logging/logging.go index 84c3be9c6..7fd5a58f4 100644 --- a/extensions/auth-machine/pkg/logging/logging.go +++ b/services/graph-explorer/pkg/logging/logging.go @@ -1,8 +1,8 @@ package logging import ( - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/config" ) // LoggerFromConfig initializes a service-specific logger instance. diff --git a/extensions/graph-explorer/pkg/metrics/metrics.go b/services/graph-explorer/pkg/metrics/metrics.go similarity index 100% rename from extensions/graph-explorer/pkg/metrics/metrics.go rename to services/graph-explorer/pkg/metrics/metrics.go diff --git a/extensions/app-provider/pkg/server/debug/option.go b/services/graph-explorer/pkg/server/debug/option.go similarity index 93% rename from extensions/app-provider/pkg/server/debug/option.go rename to services/graph-explorer/pkg/server/debug/option.go index b0ca9348a..ac86e54fd 100644 --- a/extensions/app-provider/pkg/server/debug/option.go +++ b/services/graph-explorer/pkg/server/debug/option.go @@ -3,8 +3,8 @@ package debug import ( "context" - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/config" ) // Option defines a single option function. diff --git a/services/graph-explorer/pkg/server/debug/server.go b/services/graph-explorer/pkg/server/debug/server.go new file mode 100644 index 000000000..424d621f3 --- /dev/null +++ b/services/graph-explorer/pkg/server/debug/server.go @@ -0,0 +1,59 @@ +package debug + +import ( + "io" + "net/http" + + "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" + "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/config" +) + +// Server initializes the debug service and server. +func Server(opts ...Option) (*http.Server, error) { + options := newOptions(opts...) + + return debug.NewService( + debug.Logger(options.Logger), + debug.Name(options.Config.Service.Name), + debug.Version(version.GetString()), + debug.Address(options.Config.Debug.Addr), + debug.Token(options.Config.Debug.Token), + debug.Pprof(options.Config.Debug.Pprof), + debug.Zpages(options.Config.Debug.Zpages), + debug.Health(health(options.Config)), + debug.Ready(ready(options.Config)), + ), nil +} + +// health implements the health check. +func health(cfg *config.Config) func(http.ResponseWriter, *http.Request) { + return func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "text/plain") + w.WriteHeader(http.StatusOK) + + // TODO: check if services are up and running + + _, err := io.WriteString(w, http.StatusText(http.StatusOK)) + // io.WriteString should not fail but if it does we want to know. + if err != nil { + panic(err) + } + } +} + +// ready implements the ready check. +func ready(cfg *config.Config) func(http.ResponseWriter, *http.Request) { + return func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "text/plain") + w.WriteHeader(http.StatusOK) + + // TODO: check if services are up and running + + _, err := io.WriteString(w, http.StatusText(http.StatusOK)) + // io.WriteString should not fail but if it does we want to know. + if err != nil { + panic(err) + } + } +} diff --git a/extensions/graph-explorer/pkg/server/http/option.go b/services/graph-explorer/pkg/server/http/option.go similarity index 91% rename from extensions/graph-explorer/pkg/server/http/option.go rename to services/graph-explorer/pkg/server/http/option.go index 3edd09578..b17485282 100644 --- a/extensions/graph-explorer/pkg/server/http/option.go +++ b/services/graph-explorer/pkg/server/http/option.go @@ -3,9 +3,9 @@ package http import ( "context" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/config" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/metrics" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/config" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/metrics" "github.com/urfave/cli/v2" ) diff --git a/extensions/graph-explorer/pkg/server/http/server.go b/services/graph-explorer/pkg/server/http/server.go similarity index 94% rename from extensions/graph-explorer/pkg/server/http/server.go rename to services/graph-explorer/pkg/server/http/server.go index 865bf7b10..bb35c2cd1 100644 --- a/extensions/graph-explorer/pkg/server/http/server.go +++ b/services/graph-explorer/pkg/server/http/server.go @@ -2,10 +2,10 @@ package http import ( chimiddleware "github.com/go-chi/chi/v5/middleware" - svc "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/service/v0" "github.com/owncloud/ocis/v2/ocis-pkg/middleware" "github.com/owncloud/ocis/v2/ocis-pkg/service/http" "github.com/owncloud/ocis/v2/ocis-pkg/version" + svc "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/service/v0" "go-micro.dev/v4" ) diff --git a/extensions/graph-explorer/pkg/service/v0/instrument.go b/services/graph-explorer/pkg/service/v0/instrument.go similarity index 89% rename from extensions/graph-explorer/pkg/service/v0/instrument.go rename to services/graph-explorer/pkg/service/v0/instrument.go index 82bf24f2b..58dfd3d01 100644 --- a/extensions/graph-explorer/pkg/service/v0/instrument.go +++ b/services/graph-explorer/pkg/service/v0/instrument.go @@ -3,7 +3,7 @@ package svc import ( "net/http" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/metrics" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/metrics" ) // NewInstrument returns a service that instruments metrics. diff --git a/extensions/graph-explorer/pkg/service/v0/logging.go b/services/graph-explorer/pkg/service/v0/logging.go similarity index 100% rename from extensions/graph-explorer/pkg/service/v0/logging.go rename to services/graph-explorer/pkg/service/v0/logging.go diff --git a/extensions/graph-explorer/pkg/service/v0/option.go b/services/graph-explorer/pkg/service/v0/option.go similarity index 93% rename from extensions/graph-explorer/pkg/service/v0/option.go rename to services/graph-explorer/pkg/service/v0/option.go index ea1eb949f..f3a2f690f 100644 --- a/extensions/graph-explorer/pkg/service/v0/option.go +++ b/services/graph-explorer/pkg/service/v0/option.go @@ -3,8 +3,8 @@ package svc import ( "net/http" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/config" ) // Option defines a single option function. diff --git a/extensions/graph-explorer/pkg/service/v0/service.go b/services/graph-explorer/pkg/service/v0/service.go similarity index 95% rename from extensions/graph-explorer/pkg/service/v0/service.go rename to services/graph-explorer/pkg/service/v0/service.go index 3875aa90b..055f82388 100644 --- a/extensions/graph-explorer/pkg/service/v0/service.go +++ b/services/graph-explorer/pkg/service/v0/service.go @@ -7,9 +7,9 @@ import ( "strings" "github.com/go-chi/chi/v5" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/assets" - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/assets" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/config" ) // Service defines the extension handlers. diff --git a/extensions/graph-explorer/pkg/service/v0/tracing.go b/services/graph-explorer/pkg/service/v0/tracing.go similarity index 100% rename from extensions/graph-explorer/pkg/service/v0/tracing.go rename to services/graph-explorer/pkg/service/v0/tracing.go diff --git a/extensions/graph-explorer/pkg/tracing/tracing.go b/services/graph-explorer/pkg/tracing/tracing.go similarity index 88% rename from extensions/graph-explorer/pkg/tracing/tracing.go rename to services/graph-explorer/pkg/tracing/tracing.go index 12c3f1638..2371083fb 100644 --- a/extensions/graph-explorer/pkg/tracing/tracing.go +++ b/services/graph-explorer/pkg/tracing/tracing.go @@ -1,8 +1,8 @@ package tracing import ( - "github.com/owncloud/ocis/v2/extensions/graph-explorer/pkg/config" pkgtrace "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/graph-explorer/pkg/config" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/graph-explorer/reflex.conf b/services/graph-explorer/reflex.conf similarity index 100% rename from extensions/graph-explorer/reflex.conf rename to services/graph-explorer/reflex.conf diff --git a/extensions/graph/.dockerignore b/services/graph/.dockerignore similarity index 100% rename from extensions/graph/.dockerignore rename to services/graph/.dockerignore diff --git a/extensions/graph/Makefile b/services/graph/Makefile similarity index 100% rename from extensions/graph/Makefile rename to services/graph/Makefile diff --git a/extensions/idm/cmd/idm/main.go b/services/graph/cmd/graph/main.go similarity index 52% rename from extensions/idm/cmd/idm/main.go rename to services/graph/cmd/graph/main.go index 56faeab58..7844daa6a 100644 --- a/extensions/idm/cmd/idm/main.go +++ b/services/graph/cmd/graph/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/graph/pkg/command" + "github.com/owncloud/ocis/v2/services/graph/pkg/config/defaults" ) func main() { diff --git a/extensions/graph/docker/Dockerfile.linux.amd64 b/services/graph/docker/Dockerfile.linux.amd64 similarity index 100% rename from extensions/graph/docker/Dockerfile.linux.amd64 rename to services/graph/docker/Dockerfile.linux.amd64 diff --git a/extensions/graph/docker/Dockerfile.linux.arm b/services/graph/docker/Dockerfile.linux.arm similarity index 100% rename from extensions/graph/docker/Dockerfile.linux.arm rename to services/graph/docker/Dockerfile.linux.arm diff --git a/extensions/graph/docker/Dockerfile.linux.arm64 b/services/graph/docker/Dockerfile.linux.arm64 similarity index 100% rename from extensions/graph/docker/Dockerfile.linux.arm64 rename to services/graph/docker/Dockerfile.linux.arm64 diff --git a/extensions/graph/docker/manifest.tmpl b/services/graph/docker/manifest.tmpl similarity index 100% rename from extensions/graph/docker/manifest.tmpl rename to services/graph/docker/manifest.tmpl diff --git a/extensions/graph/mocks/gateway_client.go b/services/graph/mocks/gateway_client.go similarity index 100% rename from extensions/graph/mocks/gateway_client.go rename to services/graph/mocks/gateway_client.go diff --git a/extensions/graph/mocks/http_client.go b/services/graph/mocks/http_client.go similarity index 100% rename from extensions/graph/mocks/http_client.go rename to services/graph/mocks/http_client.go diff --git a/extensions/graph/mocks/ldapclient.go b/services/graph/mocks/ldapclient.go similarity index 100% rename from extensions/graph/mocks/ldapclient.go rename to services/graph/mocks/ldapclient.go diff --git a/extensions/graph/mocks/publisher.go b/services/graph/mocks/publisher.go similarity index 100% rename from extensions/graph/mocks/publisher.go rename to services/graph/mocks/publisher.go diff --git a/extensions/ocs/pkg/command/health.go b/services/graph/pkg/command/health.go similarity index 84% rename from extensions/ocs/pkg/command/health.go rename to services/graph/pkg/command/health.go index 125f0d590..e1cbbbd64 100644 --- a/extensions/ocs/pkg/command/health.go +++ b/services/graph/pkg/command/health.go @@ -4,9 +4,9 @@ import ( "fmt" "net/http" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/config" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/logging" + "github.com/owncloud/ocis/v2/services/graph/pkg/config" + "github.com/owncloud/ocis/v2/services/graph/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/graph/pkg/logging" "github.com/urfave/cli/v2" ) diff --git a/extensions/graph/pkg/command/root.go b/services/graph/pkg/command/root.go similarity index 95% rename from extensions/graph/pkg/command/root.go rename to services/graph/pkg/command/root.go index d1132fbef..0e563e60e 100644 --- a/extensions/graph/pkg/command/root.go +++ b/services/graph/pkg/command/root.go @@ -7,8 +7,8 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" "github.com/thejerf/suture/v4" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/graph/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/graph/pkg/command/server.go b/services/graph/pkg/command/server.go similarity index 81% rename from extensions/graph/pkg/command/server.go rename to services/graph/pkg/command/server.go index d8d46cc6a..e0a1f0e7b 100644 --- a/extensions/graph/pkg/command/server.go +++ b/services/graph/pkg/command/server.go @@ -6,14 +6,14 @@ import ( "os" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/metrics" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/server/http" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/graph/pkg/config" + "github.com/owncloud/ocis/v2/services/graph/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/graph/pkg/logging" + "github.com/owncloud/ocis/v2/services/graph/pkg/metrics" + "github.com/owncloud/ocis/v2/services/graph/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/graph/pkg/server/http" + "github.com/owncloud/ocis/v2/services/graph/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/extensions/web/pkg/command/version.go b/services/graph/pkg/command/version.go similarity index 95% rename from extensions/web/pkg/command/version.go rename to services/graph/pkg/command/version.go index c792be769..ebf93b143 100644 --- a/extensions/web/pkg/command/version.go +++ b/services/graph/pkg/command/version.go @@ -8,7 +8,7 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/version" tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/web/pkg/config" + "github.com/owncloud/ocis/v2/services/graph/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/graph/pkg/config/config.go b/services/graph/pkg/config/config.go similarity index 100% rename from extensions/graph/pkg/config/config.go rename to services/graph/pkg/config/config.go diff --git a/extensions/graph/pkg/config/debug.go b/services/graph/pkg/config/debug.go similarity index 100% rename from extensions/graph/pkg/config/debug.go rename to services/graph/pkg/config/debug.go diff --git a/extensions/graph/pkg/config/defaults/defaultconfig.go b/services/graph/pkg/config/defaults/defaultconfig.go similarity index 98% rename from extensions/graph/pkg/config/defaults/defaultconfig.go rename to services/graph/pkg/config/defaults/defaultconfig.go index a9c59d81c..508654e31 100644 --- a/extensions/graph/pkg/config/defaults/defaultconfig.go +++ b/services/graph/pkg/config/defaults/defaultconfig.go @@ -4,8 +4,8 @@ import ( "path" "strings" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/graph/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/graph/pkg/config/http.go b/services/graph/pkg/config/http.go similarity index 100% rename from extensions/graph/pkg/config/http.go rename to services/graph/pkg/config/http.go diff --git a/extensions/graph/pkg/config/log.go b/services/graph/pkg/config/log.go similarity index 100% rename from extensions/graph/pkg/config/log.go rename to services/graph/pkg/config/log.go diff --git a/extensions/graph/pkg/config/parser/parse.go b/services/graph/pkg/config/parser/parse.go similarity index 89% rename from extensions/graph/pkg/config/parser/parse.go rename to services/graph/pkg/config/parser/parse.go index 145c52894..d0fa4780b 100644 --- a/extensions/graph/pkg/config/parser/parse.go +++ b/services/graph/pkg/config/parser/parse.go @@ -3,10 +3,10 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/graph/pkg/config" + "github.com/owncloud/ocis/v2/services/graph/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/graph/pkg/config/reva.go b/services/graph/pkg/config/reva.go similarity index 100% rename from extensions/graph/pkg/config/reva.go rename to services/graph/pkg/config/reva.go diff --git a/extensions/graph/pkg/config/service.go b/services/graph/pkg/config/service.go similarity index 100% rename from extensions/graph/pkg/config/service.go rename to services/graph/pkg/config/service.go diff --git a/extensions/graph/pkg/config/tracing.go b/services/graph/pkg/config/tracing.go similarity index 100% rename from extensions/graph/pkg/config/tracing.go rename to services/graph/pkg/config/tracing.go diff --git a/extensions/graph/pkg/identity/backend.go b/services/graph/pkg/identity/backend.go similarity index 100% rename from extensions/graph/pkg/identity/backend.go rename to services/graph/pkg/identity/backend.go diff --git a/extensions/graph/pkg/identity/cs3.go b/services/graph/pkg/identity/cs3.go similarity index 98% rename from extensions/graph/pkg/identity/cs3.go rename to services/graph/pkg/identity/cs3.go index 8c2dd73c6..039edbfb8 100644 --- a/extensions/graph/pkg/identity/cs3.go +++ b/services/graph/pkg/identity/cs3.go @@ -10,9 +10,9 @@ import ( "github.com/cs3org/reva/v2/pkg/rgrpc/todo/pool" libregraph "github.com/owncloud/libre-graph-api-go" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/service/v0/errorcode" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/graph/pkg/config" + "github.com/owncloud/ocis/v2/services/graph/pkg/service/v0/errorcode" ) var ( diff --git a/extensions/graph/pkg/identity/ldap.go b/services/graph/pkg/identity/ldap.go similarity index 99% rename from extensions/graph/pkg/identity/ldap.go rename to services/graph/pkg/identity/ldap.go index f7726179b..959d62e74 100644 --- a/extensions/graph/pkg/identity/ldap.go +++ b/services/graph/pkg/identity/ldap.go @@ -11,9 +11,9 @@ import ( "github.com/gofrs/uuid" ldapdn "github.com/libregraph/idm/pkg/ldapdn" libregraph "github.com/owncloud/libre-graph-api-go" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/service/v0/errorcode" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/graph/pkg/config" + "github.com/owncloud/ocis/v2/services/graph/pkg/service/v0/errorcode" "golang.org/x/exp/slices" ) diff --git a/extensions/graph/pkg/identity/ldap/reconnect.go b/services/graph/pkg/identity/ldap/reconnect.go similarity index 100% rename from extensions/graph/pkg/identity/ldap/reconnect.go rename to services/graph/pkg/identity/ldap/reconnect.go diff --git a/extensions/graph/pkg/identity/ldap_test.go b/services/graph/pkg/identity/ldap_test.go similarity index 99% rename from extensions/graph/pkg/identity/ldap_test.go rename to services/graph/pkg/identity/ldap_test.go index aac54eca4..87d0b1716 100644 --- a/extensions/graph/pkg/identity/ldap_test.go +++ b/services/graph/pkg/identity/ldap_test.go @@ -10,8 +10,8 @@ import ( "time" "github.com/go-ldap/ldap/v3" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/graph/pkg/config" ) // ldapMock implements the ldap.Client interfac diff --git a/extensions/idm/pkg/logging/logging.go b/services/graph/pkg/logging/logging.go similarity index 85% rename from extensions/idm/pkg/logging/logging.go rename to services/graph/pkg/logging/logging.go index 76d45f3e4..d48a2d315 100644 --- a/extensions/idm/pkg/logging/logging.go +++ b/services/graph/pkg/logging/logging.go @@ -1,8 +1,8 @@ package logging import ( - "github.com/owncloud/ocis/v2/extensions/idm/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/graph/pkg/config" ) // LoggerFromConfig initializes a service-specific logger instance. diff --git a/extensions/graph/pkg/metrics/metrics.go b/services/graph/pkg/metrics/metrics.go similarity index 100% rename from extensions/graph/pkg/metrics/metrics.go rename to services/graph/pkg/metrics/metrics.go diff --git a/extensions/graph/pkg/middleware/auth.go b/services/graph/pkg/middleware/auth.go similarity index 97% rename from extensions/graph/pkg/middleware/auth.go rename to services/graph/pkg/middleware/auth.go index e123ba8db..fc6c487f7 100644 --- a/extensions/graph/pkg/middleware/auth.go +++ b/services/graph/pkg/middleware/auth.go @@ -6,9 +6,9 @@ import ( "github.com/cs3org/reva/v2/pkg/auth/scope" revactx "github.com/cs3org/reva/v2/pkg/ctx" "github.com/cs3org/reva/v2/pkg/token/manager/jwt" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/service/v0/errorcode" "github.com/owncloud/ocis/v2/ocis-pkg/account" opkgm "github.com/owncloud/ocis/v2/ocis-pkg/middleware" + "github.com/owncloud/ocis/v2/services/graph/pkg/service/v0/errorcode" gmmetadata "go-micro.dev/v4/metadata" "google.golang.org/grpc/metadata" ) diff --git a/extensions/graph/pkg/middleware/requireadmin.go b/services/graph/pkg/middleware/requireadmin.go similarity index 92% rename from extensions/graph/pkg/middleware/requireadmin.go rename to services/graph/pkg/middleware/requireadmin.go index 5bc027ec0..15d679041 100644 --- a/extensions/graph/pkg/middleware/requireadmin.go +++ b/services/graph/pkg/middleware/requireadmin.go @@ -4,10 +4,10 @@ import ( "net/http" revactx "github.com/cs3org/reva/v2/pkg/ctx" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/service/v0/errorcode" - settings "github.com/owncloud/ocis/v2/extensions/settings/pkg/service/v0" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/roles" + "github.com/owncloud/ocis/v2/services/graph/pkg/service/v0/errorcode" + settings "github.com/owncloud/ocis/v2/services/settings/pkg/service/v0" ) // RequireAdmin middleware is used to require the user in context to be an admin / have account management permissions diff --git a/extensions/idm/pkg/server/debug/option.go b/services/graph/pkg/server/debug/option.go similarity index 94% rename from extensions/idm/pkg/server/debug/option.go rename to services/graph/pkg/server/debug/option.go index 1eca46af3..a4b779eb2 100644 --- a/extensions/idm/pkg/server/debug/option.go +++ b/services/graph/pkg/server/debug/option.go @@ -3,8 +3,8 @@ package debug import ( "context" - "github.com/owncloud/ocis/v2/extensions/idm/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/graph/pkg/config" ) // Option defines a single option function. diff --git a/extensions/web/pkg/server/debug/server.go b/services/graph/pkg/server/debug/server.go similarity index 96% rename from extensions/web/pkg/server/debug/server.go rename to services/graph/pkg/server/debug/server.go index 85cd8127d..4b6ad6cec 100644 --- a/extensions/web/pkg/server/debug/server.go +++ b/services/graph/pkg/server/debug/server.go @@ -4,9 +4,9 @@ import ( "io" "net/http" - "github.com/owncloud/ocis/v2/extensions/web/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/graph/pkg/config" ) // Server initializes the debug service and server. diff --git a/extensions/ocs/pkg/server/http/option.go b/services/graph/pkg/server/http/option.go similarity index 92% rename from extensions/ocs/pkg/server/http/option.go rename to services/graph/pkg/server/http/option.go index a2e1fc5b3..641c8438a 100644 --- a/extensions/ocs/pkg/server/http/option.go +++ b/services/graph/pkg/server/http/option.go @@ -3,9 +3,9 @@ package http import ( "context" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/config" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/metrics" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/graph/pkg/config" + "github.com/owncloud/ocis/v2/services/graph/pkg/metrics" "github.com/urfave/cli/v2" ) @@ -14,12 +14,12 @@ type Option func(o *Options) // Options defines the available options for this package. type Options struct { - Namespace string Logger log.Logger Context context.Context Config *config.Config Metrics *metrics.Metrics Flags []cli.Flag + Namespace string } // newOptions initializes the available default options. diff --git a/extensions/graph/pkg/server/http/server.go b/services/graph/pkg/server/http/server.go similarity index 93% rename from extensions/graph/pkg/server/http/server.go rename to services/graph/pkg/server/http/server.go index ed208ad22..5ffb9ae08 100644 --- a/extensions/graph/pkg/server/http/server.go +++ b/services/graph/pkg/server/http/server.go @@ -4,12 +4,12 @@ import ( "github.com/cs3org/reva/v2/pkg/events/server" chimiddleware "github.com/go-chi/chi/v5/middleware" "github.com/go-micro/plugins/v4/events/natsjs" - graphMiddleware "github.com/owncloud/ocis/v2/extensions/graph/pkg/middleware" - svc "github.com/owncloud/ocis/v2/extensions/graph/pkg/service/v0" "github.com/owncloud/ocis/v2/ocis-pkg/account" "github.com/owncloud/ocis/v2/ocis-pkg/middleware" "github.com/owncloud/ocis/v2/ocis-pkg/service/http" "github.com/owncloud/ocis/v2/ocis-pkg/version" + graphMiddleware "github.com/owncloud/ocis/v2/services/graph/pkg/middleware" + svc "github.com/owncloud/ocis/v2/services/graph/pkg/service/v0" "github.com/pkg/errors" "go-micro.dev/v4" ) diff --git a/extensions/graph/pkg/service/v0/driveitems.go b/services/graph/pkg/service/v0/driveitems.go similarity index 99% rename from extensions/graph/pkg/service/v0/driveitems.go rename to services/graph/pkg/service/v0/driveitems.go index 68c40d587..0307bdf00 100644 --- a/extensions/graph/pkg/service/v0/driveitems.go +++ b/services/graph/pkg/service/v0/driveitems.go @@ -15,7 +15,7 @@ import ( "github.com/cs3org/reva/v2/pkg/storagespace" "github.com/go-chi/render" libregraph "github.com/owncloud/libre-graph-api-go" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/service/v0/errorcode" + "github.com/owncloud/ocis/v2/services/graph/pkg/service/v0/errorcode" ) // GetRootDriveChildren implements the Service interface. diff --git a/extensions/graph/pkg/service/v0/drives.go b/services/graph/pkg/service/v0/drives.go similarity index 99% rename from extensions/graph/pkg/service/v0/drives.go rename to services/graph/pkg/service/v0/drives.go index 1a0d9db1f..956b5b6d7 100644 --- a/extensions/graph/pkg/service/v0/drives.go +++ b/services/graph/pkg/service/v0/drives.go @@ -24,11 +24,11 @@ import ( "github.com/go-chi/chi/v5" "github.com/go-chi/render" libregraph "github.com/owncloud/libre-graph-api-go" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/service/v0/errorcode" - settingsServiceExt "github.com/owncloud/ocis/v2/extensions/settings/pkg/service/v0" "github.com/owncloud/ocis/v2/ocis-pkg/service/grpc" v0 "github.com/owncloud/ocis/v2/protogen/gen/ocis/messages/settings/v0" settingssvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/settings/v0" + "github.com/owncloud/ocis/v2/services/graph/pkg/service/v0/errorcode" + settingsServiceExt "github.com/owncloud/ocis/v2/services/settings/pkg/service/v0" merrors "go-micro.dev/v4/errors" ) diff --git a/extensions/graph/pkg/service/v0/drives_test.go b/services/graph/pkg/service/v0/drives_test.go similarity index 100% rename from extensions/graph/pkg/service/v0/drives_test.go rename to services/graph/pkg/service/v0/drives_test.go diff --git a/extensions/graph/pkg/service/v0/errorcode/errorcode.go b/services/graph/pkg/service/v0/errorcode/errorcode.go similarity index 100% rename from extensions/graph/pkg/service/v0/errorcode/errorcode.go rename to services/graph/pkg/service/v0/errorcode/errorcode.go diff --git a/extensions/graph/pkg/service/v0/graph.go b/services/graph/pkg/service/v0/graph.go similarity index 97% rename from extensions/graph/pkg/service/v0/graph.go rename to services/graph/pkg/service/v0/graph.go index 1b0ab4246..9117b56b1 100644 --- a/extensions/graph/pkg/service/v0/graph.go +++ b/services/graph/pkg/service/v0/graph.go @@ -9,10 +9,10 @@ import ( provider "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1" "github.com/cs3org/reva/v2/pkg/events" "github.com/go-chi/chi/v5" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/identity" "github.com/owncloud/ocis/v2/ocis-pkg/log" settingssvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/settings/v0" + "github.com/owncloud/ocis/v2/services/graph/pkg/config" + "github.com/owncloud/ocis/v2/services/graph/pkg/identity" mevents "go-micro.dev/v4/events" "google.golang.org/grpc" ) diff --git a/extensions/graph/pkg/service/v0/graph_suite_test.go b/services/graph/pkg/service/v0/graph_suite_test.go similarity index 100% rename from extensions/graph/pkg/service/v0/graph_suite_test.go rename to services/graph/pkg/service/v0/graph_suite_test.go diff --git a/extensions/graph/pkg/service/v0/graph_test.go b/services/graph/pkg/service/v0/graph_test.go similarity index 97% rename from extensions/graph/pkg/service/v0/graph_test.go rename to services/graph/pkg/service/v0/graph_test.go index 89ce1fb02..a119713c3 100644 --- a/extensions/graph/pkg/service/v0/graph_test.go +++ b/services/graph/pkg/service/v0/graph_test.go @@ -17,11 +17,11 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" libregraph "github.com/owncloud/libre-graph-api-go" - "github.com/owncloud/ocis/v2/extensions/graph/mocks" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config/defaults" - service "github.com/owncloud/ocis/v2/extensions/graph/pkg/service/v0" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/service/v0/errorcode" + "github.com/owncloud/ocis/v2/services/graph/mocks" + "github.com/owncloud/ocis/v2/services/graph/pkg/config" + "github.com/owncloud/ocis/v2/services/graph/pkg/config/defaults" + service "github.com/owncloud/ocis/v2/services/graph/pkg/service/v0" + "github.com/owncloud/ocis/v2/services/graph/pkg/service/v0/errorcode" "github.com/stretchr/testify/mock" ) diff --git a/extensions/graph/pkg/service/v0/groups.go b/services/graph/pkg/service/v0/groups.go similarity index 99% rename from extensions/graph/pkg/service/v0/groups.go rename to services/graph/pkg/service/v0/groups.go index 6d19bd7b4..8afdf65a0 100644 --- a/extensions/graph/pkg/service/v0/groups.go +++ b/services/graph/pkg/service/v0/groups.go @@ -11,7 +11,7 @@ import ( "github.com/CiscoM31/godata" libregraph "github.com/owncloud/libre-graph-api-go" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/service/v0/errorcode" + "github.com/owncloud/ocis/v2/services/graph/pkg/service/v0/errorcode" ctxpkg "github.com/cs3org/reva/v2/pkg/ctx" "github.com/cs3org/reva/v2/pkg/events" diff --git a/extensions/graph/pkg/service/v0/instrument.go b/services/graph/pkg/service/v0/instrument.go similarity index 97% rename from extensions/graph/pkg/service/v0/instrument.go rename to services/graph/pkg/service/v0/instrument.go index 7cad7f7c9..80503fe9b 100644 --- a/extensions/graph/pkg/service/v0/instrument.go +++ b/services/graph/pkg/service/v0/instrument.go @@ -3,7 +3,7 @@ package svc import ( "net/http" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/metrics" + "github.com/owncloud/ocis/v2/services/graph/pkg/metrics" ) // NewInstrument returns a service that instruments metrics. diff --git a/extensions/graph/pkg/service/v0/logging.go b/services/graph/pkg/service/v0/logging.go similarity index 100% rename from extensions/graph/pkg/service/v0/logging.go rename to services/graph/pkg/service/v0/logging.go diff --git a/extensions/graph/pkg/service/v0/net/headers.go b/services/graph/pkg/service/v0/net/headers.go similarity index 100% rename from extensions/graph/pkg/service/v0/net/headers.go rename to services/graph/pkg/service/v0/net/headers.go diff --git a/extensions/graph/pkg/service/v0/option.go b/services/graph/pkg/service/v0/option.go similarity index 95% rename from extensions/graph/pkg/service/v0/option.go rename to services/graph/pkg/service/v0/option.go index b8ebe4747..90a2b1b72 100644 --- a/extensions/graph/pkg/service/v0/option.go +++ b/services/graph/pkg/service/v0/option.go @@ -4,11 +4,11 @@ import ( "net/http" "github.com/cs3org/reva/v2/pkg/events" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/identity" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/roles" settingssvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/settings/v0" + "github.com/owncloud/ocis/v2/services/graph/pkg/config" + "github.com/owncloud/ocis/v2/services/graph/pkg/identity" ) // Option defines a single option function. diff --git a/extensions/graph/pkg/service/v0/ordering.go b/services/graph/pkg/service/v0/ordering.go similarity index 100% rename from extensions/graph/pkg/service/v0/ordering.go rename to services/graph/pkg/service/v0/ordering.go diff --git a/extensions/graph/pkg/service/v0/password.go b/services/graph/pkg/service/v0/password.go similarity index 97% rename from extensions/graph/pkg/service/v0/password.go rename to services/graph/pkg/service/v0/password.go index c94b969f3..b5318953d 100644 --- a/extensions/graph/pkg/service/v0/password.go +++ b/services/graph/pkg/service/v0/password.go @@ -13,7 +13,7 @@ import ( "github.com/cs3org/reva/v2/pkg/events" "github.com/go-chi/render" libregraph "github.com/owncloud/libre-graph-api-go" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/service/v0/errorcode" + "github.com/owncloud/ocis/v2/services/graph/pkg/service/v0/errorcode" ) // ChangeOwnPassword implements the Service interface. It allows the user to change diff --git a/extensions/graph/pkg/service/v0/password_test.go b/services/graph/pkg/service/v0/password_test.go similarity index 94% rename from extensions/graph/pkg/service/v0/password_test.go rename to services/graph/pkg/service/v0/password_test.go index 65a0cb2ed..e26242ca7 100644 --- a/extensions/graph/pkg/service/v0/password_test.go +++ b/services/graph/pkg/service/v0/password_test.go @@ -16,12 +16,12 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" libregraph "github.com/owncloud/libre-graph-api-go" - "github.com/owncloud/ocis/v2/extensions/graph/mocks" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config/defaults" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/identity" - service "github.com/owncloud/ocis/v2/extensions/graph/pkg/service/v0" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/graph/mocks" + "github.com/owncloud/ocis/v2/services/graph/pkg/config" + "github.com/owncloud/ocis/v2/services/graph/pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/graph/pkg/identity" + service "github.com/owncloud/ocis/v2/services/graph/pkg/service/v0" "github.com/stretchr/testify/mock" ) diff --git a/extensions/graph/pkg/service/v0/service.go b/services/graph/pkg/service/v0/service.go similarity index 97% rename from extensions/graph/pkg/service/v0/service.go rename to services/graph/pkg/service/v0/service.go index ee31660a8..75066e61d 100644 --- a/extensions/graph/pkg/service/v0/service.go +++ b/services/graph/pkg/service/v0/service.go @@ -13,13 +13,13 @@ import ( "github.com/go-chi/chi/v5" "github.com/go-chi/chi/v5/middleware" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/identity" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/identity/ldap" - graphm "github.com/owncloud/ocis/v2/extensions/graph/pkg/middleware" ocisldap "github.com/owncloud/ocis/v2/ocis-pkg/ldap" "github.com/owncloud/ocis/v2/ocis-pkg/roles" "github.com/owncloud/ocis/v2/ocis-pkg/service/grpc" settingssvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/settings/v0" + "github.com/owncloud/ocis/v2/services/graph/pkg/identity" + "github.com/owncloud/ocis/v2/services/graph/pkg/identity/ldap" + graphm "github.com/owncloud/ocis/v2/services/graph/pkg/middleware" ) const ( diff --git a/extensions/graph/pkg/service/v0/service_test.go b/services/graph/pkg/service/v0/service_test.go similarity index 100% rename from extensions/graph/pkg/service/v0/service_test.go rename to services/graph/pkg/service/v0/service_test.go diff --git a/extensions/graph/pkg/service/v0/tracing.go b/services/graph/pkg/service/v0/tracing.go similarity index 100% rename from extensions/graph/pkg/service/v0/tracing.go rename to services/graph/pkg/service/v0/tracing.go diff --git a/extensions/graph/pkg/service/v0/users.go b/services/graph/pkg/service/v0/users.go similarity index 97% rename from extensions/graph/pkg/service/v0/users.go rename to services/graph/pkg/service/v0/users.go index d567e3e98..96f8e9cc7 100644 --- a/extensions/graph/pkg/service/v0/users.go +++ b/services/graph/pkg/service/v0/users.go @@ -17,10 +17,10 @@ import ( "github.com/go-chi/chi/v5" "github.com/go-chi/render" libregraph "github.com/owncloud/libre-graph-api-go" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/identity" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/service/v0/errorcode" - settingssvc "github.com/owncloud/ocis/v2/extensions/settings/pkg/service/v0" settings "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/settings/v0" + "github.com/owncloud/ocis/v2/services/graph/pkg/identity" + "github.com/owncloud/ocis/v2/services/graph/pkg/service/v0/errorcode" + settingssvc "github.com/owncloud/ocis/v2/services/settings/pkg/service/v0" ) // GetMe implements the Service interface. diff --git a/extensions/graph/pkg/tracing/tracing.go b/services/graph/pkg/tracing/tracing.go similarity index 89% rename from extensions/graph/pkg/tracing/tracing.go rename to services/graph/pkg/tracing/tracing.go index fe7439f63..b0b22395b 100644 --- a/extensions/graph/pkg/tracing/tracing.go +++ b/services/graph/pkg/tracing/tracing.go @@ -1,8 +1,8 @@ package tracing import ( - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config" pkgtrace "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/graph/pkg/config" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/graph/reflex.conf b/services/graph/reflex.conf similarity index 100% rename from extensions/graph/reflex.conf rename to services/graph/reflex.conf diff --git a/extensions/groups/Makefile b/services/groups/Makefile similarity index 100% rename from extensions/groups/Makefile rename to services/groups/Makefile diff --git a/extensions/nats/cmd/nats/main.go b/services/groups/cmd/groups/main.go similarity index 52% rename from extensions/nats/cmd/nats/main.go rename to services/groups/cmd/groups/main.go index afd942568..2172fc845 100644 --- a/extensions/nats/cmd/nats/main.go +++ b/services/groups/cmd/groups/main.go @@ -3,8 +3,8 @@ package main import ( "os" - "github.com/owncloud/ocis/v2/extensions/nats/pkg/command" - "github.com/owncloud/ocis/v2/extensions/nats/pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/groups/pkg/command" + "github.com/owncloud/ocis/v2/services/groups/pkg/config/defaults" ) func main() { diff --git a/services/groups/pkg/command/health.go b/services/groups/pkg/command/health.go new file mode 100644 index 000000000..9925b7ce6 --- /dev/null +++ b/services/groups/pkg/command/health.go @@ -0,0 +1,57 @@ +package command + +import ( + "fmt" + "net/http" + + "github.com/owncloud/ocis/v2/services/groups/pkg/config" + "github.com/owncloud/ocis/v2/services/groups/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/groups/pkg/logging" + "github.com/urfave/cli/v2" +) + +// Health is the entrypoint for the health command. +func Health(cfg *config.Config) *cli.Command { + return &cli.Command{ + Name: "health", + Usage: "check health status", + Category: "info", + Before: func(c *cli.Context) error { + err := parser.ParseConfig(cfg) + if err != nil { + fmt.Printf("%v", err) + } + return err + }, + Action: func(c *cli.Context) error { + logger := logging.Configure(cfg.Service.Name, cfg.Log) + + resp, err := http.Get( + fmt.Sprintf( + "http://%s/healthz", + cfg.Debug.Addr, + ), + ) + + if err != nil { + logger.Fatal(). + Err(err). + Msg("Failed to request health check") + } + + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + logger.Fatal(). + Int("code", resp.StatusCode). + Msg("Health seems to be in bad state") + } + + logger.Debug(). + Int("code", resp.StatusCode). + Msg("Health got a good state") + + return nil + }, + } +} diff --git a/extensions/groups/pkg/command/root.go b/services/groups/pkg/command/root.go similarity index 95% rename from extensions/groups/pkg/command/root.go rename to services/groups/pkg/command/root.go index 9488ae002..c0de62dfd 100644 --- a/extensions/groups/pkg/command/root.go +++ b/services/groups/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/groups/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/groups/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/groups/pkg/command/server.go b/services/groups/pkg/command/server.go similarity index 89% rename from extensions/groups/pkg/command/server.go rename to services/groups/pkg/command/server.go index 00c1247b3..f90bef7c4 100644 --- a/extensions/groups/pkg/command/server.go +++ b/services/groups/pkg/command/server.go @@ -9,16 +9,16 @@ import ( "github.com/cs3org/reva/v2/cmd/revad/runtime" "github.com/gofrs/uuid" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/groups/pkg/config" - "github.com/owncloud/ocis/v2/extensions/groups/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/groups/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/groups/pkg/revaconfig" - "github.com/owncloud/ocis/v2/extensions/groups/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/groups/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/ldap" "github.com/owncloud/ocis/v2/ocis-pkg/service/external" "github.com/owncloud/ocis/v2/ocis-pkg/sync" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/groups/pkg/config" + "github.com/owncloud/ocis/v2/services/groups/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/groups/pkg/logging" + "github.com/owncloud/ocis/v2/services/groups/pkg/revaconfig" + "github.com/owncloud/ocis/v2/services/groups/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/groups/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/extensions/users/pkg/command/version.go b/services/groups/pkg/command/version.go similarity index 95% rename from extensions/users/pkg/command/version.go rename to services/groups/pkg/command/version.go index 5985b2323..1800ebcf2 100644 --- a/extensions/users/pkg/command/version.go +++ b/services/groups/pkg/command/version.go @@ -8,7 +8,7 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/version" tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/users/pkg/config" + "github.com/owncloud/ocis/v2/services/groups/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/groups/pkg/config/config.go b/services/groups/pkg/config/config.go similarity index 100% rename from extensions/groups/pkg/config/config.go rename to services/groups/pkg/config/config.go diff --git a/extensions/groups/pkg/config/defaults/defaultconfig.go b/services/groups/pkg/config/defaults/defaultconfig.go similarity index 98% rename from extensions/groups/pkg/config/defaults/defaultconfig.go rename to services/groups/pkg/config/defaults/defaultconfig.go index 459d6f097..e9e607b0b 100644 --- a/extensions/groups/pkg/config/defaults/defaultconfig.go +++ b/services/groups/pkg/config/defaults/defaultconfig.go @@ -3,8 +3,8 @@ package defaults import ( "path/filepath" - "github.com/owncloud/ocis/v2/extensions/groups/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/groups/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/groups/pkg/config/parser/parse.go b/services/groups/pkg/config/parser/parse.go similarity index 88% rename from extensions/groups/pkg/config/parser/parse.go rename to services/groups/pkg/config/parser/parse.go index a55593fbb..074f6972d 100644 --- a/extensions/groups/pkg/config/parser/parse.go +++ b/services/groups/pkg/config/parser/parse.go @@ -3,10 +3,10 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/groups/pkg/config" - "github.com/owncloud/ocis/v2/extensions/groups/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/groups/pkg/config" + "github.com/owncloud/ocis/v2/services/groups/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/groups/pkg/config/reva.go b/services/groups/pkg/config/reva.go similarity index 100% rename from extensions/groups/pkg/config/reva.go rename to services/groups/pkg/config/reva.go diff --git a/extensions/nats/pkg/logging/logging.go b/services/groups/pkg/logging/logging.go similarity index 85% rename from extensions/nats/pkg/logging/logging.go rename to services/groups/pkg/logging/logging.go index 57b1adac7..fa3a41119 100644 --- a/extensions/nats/pkg/logging/logging.go +++ b/services/groups/pkg/logging/logging.go @@ -1,8 +1,8 @@ package logging import ( - "github.com/owncloud/ocis/v2/extensions/nats/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/groups/pkg/config" ) // LoggerFromConfig initializes a service-specific logger instance. diff --git a/extensions/groups/pkg/revaconfig/config.go b/services/groups/pkg/revaconfig/config.go similarity index 98% rename from extensions/groups/pkg/revaconfig/config.go rename to services/groups/pkg/revaconfig/config.go index 2bdae3d6e..7e6d7fc43 100644 --- a/extensions/groups/pkg/revaconfig/config.go +++ b/services/groups/pkg/revaconfig/config.go @@ -1,7 +1,7 @@ package revaconfig import ( - "github.com/owncloud/ocis/v2/extensions/groups/pkg/config" + "github.com/owncloud/ocis/v2/services/groups/pkg/config" ) // GroupsConfigFromStruct will adapt an oCIS config struct into a reva mapstructure to start a reva service. diff --git a/services/groups/pkg/server/debug/option.go b/services/groups/pkg/server/debug/option.go new file mode 100644 index 000000000..54c9e8fa8 --- /dev/null +++ b/services/groups/pkg/server/debug/option.go @@ -0,0 +1,50 @@ +package debug + +import ( + "context" + + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/groups/pkg/config" +) + +// Option defines a single option function. +type Option func(o *Options) + +// Options defines the available options for this package. +type Options struct { + Logger log.Logger + Context context.Context + Config *config.Config +} + +// newOptions initializes the available default options. +func newOptions(opts ...Option) Options { + opt := Options{} + + for _, o := range opts { + o(&opt) + } + + return opt +} + +// Logger provides a function to set the logger option. +func Logger(val log.Logger) Option { + return func(o *Options) { + o.Logger = val + } +} + +// Context provides a function to set the context option. +func Context(val context.Context) Option { + return func(o *Options) { + o.Context = val + } +} + +// Config provides a function to set the config option. +func Config(val *config.Config) Option { + return func(o *Options) { + o.Config = val + } +} diff --git a/extensions/ocdav/pkg/server/debug/server.go b/services/groups/pkg/server/debug/server.go similarity index 97% rename from extensions/ocdav/pkg/server/debug/server.go rename to services/groups/pkg/server/debug/server.go index 2ef2c7e60..c27e1da6e 100644 --- a/extensions/ocdav/pkg/server/debug/server.go +++ b/services/groups/pkg/server/debug/server.go @@ -4,9 +4,9 @@ import ( "io" "net/http" - "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/groups/pkg/config" ) // Server initializes the debug service and server. diff --git a/extensions/ocdav/pkg/tracing/tracing.go b/services/groups/pkg/tracing/tracing.go similarity index 87% rename from extensions/ocdav/pkg/tracing/tracing.go rename to services/groups/pkg/tracing/tracing.go index 334ec2971..db09c1b29 100644 --- a/extensions/ocdav/pkg/tracing/tracing.go +++ b/services/groups/pkg/tracing/tracing.go @@ -1,9 +1,9 @@ package tracing import ( - "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/groups/pkg/config" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/idm/Makefile b/services/idm/Makefile similarity index 100% rename from extensions/idm/Makefile rename to services/idm/Makefile diff --git a/services/idm/cmd/idm/main.go b/services/idm/cmd/idm/main.go new file mode 100644 index 000000000..f30202e58 --- /dev/null +++ b/services/idm/cmd/idm/main.go @@ -0,0 +1,14 @@ +package main + +import ( + "os" + + "github.com/owncloud/ocis/v2/services/idm/pkg/command" + "github.com/owncloud/ocis/v2/services/idm/pkg/config/defaults" +) + +func main() { + if err := command.Execute(defaults.DefaultConfig()); err != nil { + os.Exit(1) + } +} diff --git a/extensions/idm/idm.go b/services/idm/idm.go similarity index 100% rename from extensions/idm/idm.go rename to services/idm/idm.go diff --git a/extensions/idm/ldif/base.ldif.tmpl b/services/idm/ldif/base.ldif.tmpl similarity index 100% rename from extensions/idm/ldif/base.ldif.tmpl rename to services/idm/ldif/base.ldif.tmpl diff --git a/extensions/idm/ldif/demousers.ldif b/services/idm/ldif/demousers.ldif similarity index 100% rename from extensions/idm/ldif/demousers.ldif rename to services/idm/ldif/demousers.ldif diff --git a/extensions/idm/pkg/command/health.go b/services/idm/pkg/command/health.go similarity index 84% rename from extensions/idm/pkg/command/health.go rename to services/idm/pkg/command/health.go index 9d4cedc45..1b7d5a484 100644 --- a/extensions/idm/pkg/command/health.go +++ b/services/idm/pkg/command/health.go @@ -4,9 +4,9 @@ import ( "fmt" "net/http" - "github.com/owncloud/ocis/v2/extensions/idm/pkg/config" - "github.com/owncloud/ocis/v2/extensions/idm/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/idm/pkg/logging" + "github.com/owncloud/ocis/v2/services/idm/pkg/config" + "github.com/owncloud/ocis/v2/services/idm/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/idm/pkg/logging" "github.com/urfave/cli/v2" ) diff --git a/extensions/idm/pkg/command/root.go b/services/idm/pkg/command/root.go similarity index 95% rename from extensions/idm/pkg/command/root.go rename to services/idm/pkg/command/root.go index c4057e9cf..4db8342e2 100644 --- a/extensions/idm/pkg/command/root.go +++ b/services/idm/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/idm/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/idm/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/idm/pkg/command/server.go b/services/idm/pkg/command/server.go similarity index 95% rename from extensions/idm/pkg/command/server.go rename to services/idm/pkg/command/server.go index 45f6e2d18..bd1cca2b1 100644 --- a/extensions/idm/pkg/command/server.go +++ b/services/idm/pkg/command/server.go @@ -13,12 +13,12 @@ import ( "github.com/libregraph/idm/pkg/ldappassword" "github.com/libregraph/idm/pkg/ldbbolt" "github.com/libregraph/idm/server" - "github.com/owncloud/ocis/v2/extensions/idm" - "github.com/owncloud/ocis/v2/extensions/idm/pkg/config" - "github.com/owncloud/ocis/v2/extensions/idm/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/idm/pkg/logging" pkgcrypto "github.com/owncloud/ocis/v2/ocis-pkg/crypto" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/idm" + "github.com/owncloud/ocis/v2/services/idm/pkg/config" + "github.com/owncloud/ocis/v2/services/idm/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/idm/pkg/logging" "github.com/urfave/cli/v2" ) diff --git a/extensions/nats/pkg/command/version.go b/services/idm/pkg/command/version.go similarity index 87% rename from extensions/nats/pkg/command/version.go rename to services/idm/pkg/command/version.go index fff10c540..f18727e12 100644 --- a/extensions/nats/pkg/command/version.go +++ b/services/idm/pkg/command/version.go @@ -1,7 +1,7 @@ package command import ( - "github.com/owncloud/ocis/v2/extensions/nats/pkg/config" + "github.com/owncloud/ocis/v2/services/idm/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/idm/pkg/config/config.go b/services/idm/pkg/config/config.go similarity index 100% rename from extensions/idm/pkg/config/config.go rename to services/idm/pkg/config/config.go diff --git a/extensions/idm/pkg/config/debug.go b/services/idm/pkg/config/debug.go similarity index 100% rename from extensions/idm/pkg/config/debug.go rename to services/idm/pkg/config/debug.go diff --git a/extensions/idm/pkg/config/defaults/defaultconfig.go b/services/idm/pkg/config/defaults/defaultconfig.go similarity index 96% rename from extensions/idm/pkg/config/defaults/defaultconfig.go rename to services/idm/pkg/config/defaults/defaultconfig.go index 985ec60ce..b736f06ea 100644 --- a/extensions/idm/pkg/config/defaults/defaultconfig.go +++ b/services/idm/pkg/config/defaults/defaultconfig.go @@ -3,8 +3,8 @@ package defaults import ( "path" - "github.com/owncloud/ocis/v2/extensions/idm/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/idm/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/idm/pkg/config/log.go b/services/idm/pkg/config/log.go similarity index 100% rename from extensions/idm/pkg/config/log.go rename to services/idm/pkg/config/log.go diff --git a/extensions/idm/pkg/config/parser/parse.go b/services/idm/pkg/config/parser/parse.go similarity index 91% rename from extensions/idm/pkg/config/parser/parse.go rename to services/idm/pkg/config/parser/parse.go index e5c791e1d..469572560 100644 --- a/extensions/idm/pkg/config/parser/parse.go +++ b/services/idm/pkg/config/parser/parse.go @@ -3,10 +3,10 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/idm/pkg/config" - "github.com/owncloud/ocis/v2/extensions/idm/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/idm/pkg/config" + "github.com/owncloud/ocis/v2/services/idm/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/idm/pkg/config/service.go b/services/idm/pkg/config/service.go similarity index 100% rename from extensions/idm/pkg/config/service.go rename to services/idm/pkg/config/service.go diff --git a/extensions/idm/pkg/config/tracing.go b/services/idm/pkg/config/tracing.go similarity index 100% rename from extensions/idm/pkg/config/tracing.go rename to services/idm/pkg/config/tracing.go diff --git a/extensions/ocs/pkg/logging/logging.go b/services/idm/pkg/logging/logging.go similarity index 85% rename from extensions/ocs/pkg/logging/logging.go rename to services/idm/pkg/logging/logging.go index 9be2a6b5c..615554e51 100644 --- a/extensions/ocs/pkg/logging/logging.go +++ b/services/idm/pkg/logging/logging.go @@ -1,8 +1,8 @@ package logging import ( - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/idm/pkg/config" ) // LoggerFromConfig initializes a service-specific logger instance. diff --git a/extensions/idp/pkg/server/debug/option.go b/services/idm/pkg/server/debug/option.go similarity index 94% rename from extensions/idp/pkg/server/debug/option.go rename to services/idm/pkg/server/debug/option.go index 5648bbbcf..3ed1956c1 100644 --- a/extensions/idp/pkg/server/debug/option.go +++ b/services/idm/pkg/server/debug/option.go @@ -3,8 +3,8 @@ package debug import ( "context" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/idm/pkg/config" ) // Option defines a single option function. diff --git a/extensions/idm/pkg/server/debug/server.go b/services/idm/pkg/server/debug/server.go similarity index 96% rename from extensions/idm/pkg/server/debug/server.go rename to services/idm/pkg/server/debug/server.go index 6db3a833e..3ab54d3f7 100644 --- a/extensions/idm/pkg/server/debug/server.go +++ b/services/idm/pkg/server/debug/server.go @@ -4,9 +4,9 @@ import ( "io" "net/http" - "github.com/owncloud/ocis/v2/extensions/idm/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/idm/pkg/config" ) // Server initializes the debug service and server. diff --git a/extensions/idp/.dockerignore b/services/idp/.dockerignore similarity index 100% rename from extensions/idp/.dockerignore rename to services/idp/.dockerignore diff --git a/extensions/idp/.env b/services/idp/.env similarity index 100% rename from extensions/idp/.env rename to services/idp/.env diff --git a/extensions/idp/.eslintignore b/services/idp/.eslintignore similarity index 100% rename from extensions/idp/.eslintignore rename to services/idp/.eslintignore diff --git a/extensions/idp/.eslintrc.json b/services/idp/.eslintrc.json similarity index 100% rename from extensions/idp/.eslintrc.json rename to services/idp/.eslintrc.json diff --git a/extensions/idp/.gitignore b/services/idp/.gitignore similarity index 100% rename from extensions/idp/.gitignore rename to services/idp/.gitignore diff --git a/extensions/idp/.yarn/releases/yarn-3.1.0.cjs b/services/idp/.yarn/releases/yarn-3.1.0.cjs similarity index 100% rename from extensions/idp/.yarn/releases/yarn-3.1.0.cjs rename to services/idp/.yarn/releases/yarn-3.1.0.cjs diff --git a/extensions/idp/.yarnrc.yml b/services/idp/.yarnrc.yml similarity index 100% rename from extensions/idp/.yarnrc.yml rename to services/idp/.yarnrc.yml diff --git a/extensions/idp/Makefile b/services/idp/Makefile similarity index 100% rename from extensions/idp/Makefile rename to services/idp/Makefile diff --git a/extensions/idp/assets/.keep b/services/idp/assets/.keep similarity index 100% rename from extensions/idp/assets/.keep rename to services/idp/assets/.keep diff --git a/services/idp/cmd/idp/main.go b/services/idp/cmd/idp/main.go new file mode 100644 index 000000000..174283c90 --- /dev/null +++ b/services/idp/cmd/idp/main.go @@ -0,0 +1,14 @@ +package main + +import ( + "os" + + "github.com/owncloud/ocis/v2/services/idp/pkg/command" + "github.com/owncloud/ocis/v2/services/idp/pkg/config/defaults" +) + +func main() { + if err := command.Execute(defaults.DefaultConfig()); err != nil { + os.Exit(1) + } +} diff --git a/extensions/idp/docker/Dockerfile.linux.amd64 b/services/idp/docker/Dockerfile.linux.amd64 similarity index 100% rename from extensions/idp/docker/Dockerfile.linux.amd64 rename to services/idp/docker/Dockerfile.linux.amd64 diff --git a/extensions/idp/docker/Dockerfile.linux.arm b/services/idp/docker/Dockerfile.linux.arm similarity index 100% rename from extensions/idp/docker/Dockerfile.linux.arm rename to services/idp/docker/Dockerfile.linux.arm diff --git a/extensions/idp/docker/Dockerfile.linux.arm64 b/services/idp/docker/Dockerfile.linux.arm64 similarity index 100% rename from extensions/idp/docker/Dockerfile.linux.arm64 rename to services/idp/docker/Dockerfile.linux.arm64 diff --git a/extensions/idp/docker/manifest.tmpl b/services/idp/docker/manifest.tmpl similarity index 100% rename from extensions/idp/docker/manifest.tmpl rename to services/idp/docker/manifest.tmpl diff --git a/extensions/idp/idp.go b/services/idp/idp.go similarity index 100% rename from extensions/idp/idp.go rename to services/idp/idp.go diff --git a/extensions/idp/package.json b/services/idp/package.json similarity index 100% rename from extensions/idp/package.json rename to services/idp/package.json diff --git a/extensions/idp/pkg/assets/option.go b/services/idp/pkg/assets/option.go similarity index 90% rename from extensions/idp/pkg/assets/option.go rename to services/idp/pkg/assets/option.go index 6e89ac6f2..fe8dbf575 100644 --- a/extensions/idp/pkg/assets/option.go +++ b/services/idp/pkg/assets/option.go @@ -3,10 +3,10 @@ package assets import ( "net/http" - "github.com/owncloud/ocis/v2/extensions/idp" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/assetsfs" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/idp" + "github.com/owncloud/ocis/v2/services/idp/pkg/config" ) // New returns a new http filesystem to serve assets. diff --git a/extensions/idp/pkg/backends/cs3/bootstrap/cs3.go b/services/idp/pkg/backends/cs3/bootstrap/cs3.go similarity index 98% rename from extensions/idp/pkg/backends/cs3/bootstrap/cs3.go rename to services/idp/pkg/backends/cs3/bootstrap/cs3.go index 964332d5a..24bc638d1 100644 --- a/extensions/idp/pkg/backends/cs3/bootstrap/cs3.go +++ b/services/idp/pkg/backends/cs3/bootstrap/cs3.go @@ -25,7 +25,7 @@ import ( "github.com/libregraph/lico/identifier" "github.com/libregraph/lico/identity" "github.com/libregraph/lico/identity/managers" - cs3 "github.com/owncloud/ocis/v2/extensions/idp/pkg/backends/cs3/identifier" + cs3 "github.com/owncloud/ocis/v2/services/idp/pkg/backends/cs3/identifier" ) // Identity managers. diff --git a/extensions/idp/pkg/backends/cs3/identifier/cs3.go b/services/idp/pkg/backends/cs3/identifier/cs3.go similarity index 100% rename from extensions/idp/pkg/backends/cs3/identifier/cs3.go rename to services/idp/pkg/backends/cs3/identifier/cs3.go diff --git a/extensions/idp/pkg/backends/cs3/identifier/session.go b/services/idp/pkg/backends/cs3/identifier/session.go similarity index 100% rename from extensions/idp/pkg/backends/cs3/identifier/session.go rename to services/idp/pkg/backends/cs3/identifier/session.go diff --git a/extensions/idp/pkg/backends/cs3/identifier/user.go b/services/idp/pkg/backends/cs3/identifier/user.go similarity index 100% rename from extensions/idp/pkg/backends/cs3/identifier/user.go rename to services/idp/pkg/backends/cs3/identifier/user.go diff --git a/extensions/idp/pkg/command/health.go b/services/idp/pkg/command/health.go similarity index 84% rename from extensions/idp/pkg/command/health.go rename to services/idp/pkg/command/health.go index 33376cb6c..687d806fe 100644 --- a/extensions/idp/pkg/command/health.go +++ b/services/idp/pkg/command/health.go @@ -4,9 +4,9 @@ import ( "fmt" "net/http" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/config" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/logging" + "github.com/owncloud/ocis/v2/services/idp/pkg/config" + "github.com/owncloud/ocis/v2/services/idp/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/idp/pkg/logging" "github.com/urfave/cli/v2" ) diff --git a/extensions/idp/pkg/command/root.go b/services/idp/pkg/command/root.go similarity index 95% rename from extensions/idp/pkg/command/root.go rename to services/idp/pkg/command/root.go index c09d8042e..409c036f0 100644 --- a/extensions/idp/pkg/command/root.go +++ b/services/idp/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/idp/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/idp/pkg/command/server.go b/services/idp/pkg/command/server.go similarity index 89% rename from extensions/idp/pkg/command/server.go rename to services/idp/pkg/command/server.go index 31024e92f..46a277b38 100644 --- a/extensions/idp/pkg/command/server.go +++ b/services/idp/pkg/command/server.go @@ -15,14 +15,14 @@ import ( "path/filepath" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/config" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/metrics" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/server/http" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/idp/pkg/config" + "github.com/owncloud/ocis/v2/services/idp/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/idp/pkg/logging" + "github.com/owncloud/ocis/v2/services/idp/pkg/metrics" + "github.com/owncloud/ocis/v2/services/idp/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/idp/pkg/server/http" + "github.com/owncloud/ocis/v2/services/idp/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/extensions/ocs/pkg/command/version.go b/services/idp/pkg/command/version.go similarity index 95% rename from extensions/ocs/pkg/command/version.go rename to services/idp/pkg/command/version.go index a49d4ce94..59652acf5 100644 --- a/extensions/ocs/pkg/command/version.go +++ b/services/idp/pkg/command/version.go @@ -8,7 +8,7 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/version" tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/config" + "github.com/owncloud/ocis/v2/services/idp/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/idp/pkg/config/config.go b/services/idp/pkg/config/config.go similarity index 100% rename from extensions/idp/pkg/config/config.go rename to services/idp/pkg/config/config.go diff --git a/extensions/idp/pkg/config/debug.go b/services/idp/pkg/config/debug.go similarity index 100% rename from extensions/idp/pkg/config/debug.go rename to services/idp/pkg/config/debug.go diff --git a/extensions/idp/pkg/config/defaults/defaultconfig.go b/services/idp/pkg/config/defaults/defaultconfig.go similarity index 99% rename from extensions/idp/pkg/config/defaults/defaultconfig.go rename to services/idp/pkg/config/defaults/defaultconfig.go index 2fd213cdf..8953b4c6b 100644 --- a/extensions/idp/pkg/config/defaults/defaultconfig.go +++ b/services/idp/pkg/config/defaults/defaultconfig.go @@ -4,8 +4,8 @@ import ( "path/filepath" "strings" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/idp/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/idp/pkg/config/http.go b/services/idp/pkg/config/http.go similarity index 100% rename from extensions/idp/pkg/config/http.go rename to services/idp/pkg/config/http.go diff --git a/extensions/idp/pkg/config/log.go b/services/idp/pkg/config/log.go similarity index 100% rename from extensions/idp/pkg/config/log.go rename to services/idp/pkg/config/log.go diff --git a/extensions/idp/pkg/config/parser/parse.go b/services/idp/pkg/config/parser/parse.go similarity index 89% rename from extensions/idp/pkg/config/parser/parse.go rename to services/idp/pkg/config/parser/parse.go index 0a978219c..3939baccd 100644 --- a/extensions/idp/pkg/config/parser/parse.go +++ b/services/idp/pkg/config/parser/parse.go @@ -3,10 +3,10 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/config" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/idp/pkg/config" + "github.com/owncloud/ocis/v2/services/idp/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/idp/pkg/config/reva.go b/services/idp/pkg/config/reva.go similarity index 100% rename from extensions/idp/pkg/config/reva.go rename to services/idp/pkg/config/reva.go diff --git a/extensions/idp/pkg/config/service.go b/services/idp/pkg/config/service.go similarity index 100% rename from extensions/idp/pkg/config/service.go rename to services/idp/pkg/config/service.go diff --git a/extensions/idp/pkg/config/tracing.go b/services/idp/pkg/config/tracing.go similarity index 100% rename from extensions/idp/pkg/config/tracing.go rename to services/idp/pkg/config/tracing.go diff --git a/extensions/idp/pkg/logging/logging.go b/services/idp/pkg/logging/logging.go similarity index 85% rename from extensions/idp/pkg/logging/logging.go rename to services/idp/pkg/logging/logging.go index c52de8351..4bd94fe84 100644 --- a/extensions/idp/pkg/logging/logging.go +++ b/services/idp/pkg/logging/logging.go @@ -1,8 +1,8 @@ package logging import ( - "github.com/owncloud/ocis/v2/extensions/idp/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/idp/pkg/config" ) // LoggerFromConfig initializes a service-specific logger instance. diff --git a/extensions/idp/pkg/metrics/metrics.go b/services/idp/pkg/metrics/metrics.go similarity index 100% rename from extensions/idp/pkg/metrics/metrics.go rename to services/idp/pkg/metrics/metrics.go diff --git a/extensions/idp/pkg/middleware/static.go b/services/idp/pkg/middleware/static.go similarity index 95% rename from extensions/idp/pkg/middleware/static.go rename to services/idp/pkg/middleware/static.go index e7e18caa1..11bbe1fa8 100644 --- a/extensions/idp/pkg/middleware/static.go +++ b/services/idp/pkg/middleware/static.go @@ -4,7 +4,7 @@ import ( "net/http" "strings" - idpTracing "github.com/owncloud/ocis/v2/extensions/idp/pkg/tracing" + idpTracing "github.com/owncloud/ocis/v2/services/idp/pkg/tracing" "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/codes" ) diff --git a/extensions/ocs/pkg/server/debug/option.go b/services/idp/pkg/server/debug/option.go similarity index 94% rename from extensions/ocs/pkg/server/debug/option.go rename to services/idp/pkg/server/debug/option.go index a89ad2aa8..1f4cb85bc 100644 --- a/extensions/ocs/pkg/server/debug/option.go +++ b/services/idp/pkg/server/debug/option.go @@ -3,8 +3,8 @@ package debug import ( "context" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/idp/pkg/config" ) // Option defines a single option function. diff --git a/extensions/idp/pkg/server/debug/server.go b/services/idp/pkg/server/debug/server.go similarity index 97% rename from extensions/idp/pkg/server/debug/server.go rename to services/idp/pkg/server/debug/server.go index bac512a9c..8d99b20d2 100644 --- a/extensions/idp/pkg/server/debug/server.go +++ b/services/idp/pkg/server/debug/server.go @@ -5,11 +5,11 @@ import ( "net/http" "net/url" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/shared" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/idp/pkg/config" ) // Server initializes the debug service and server. diff --git a/extensions/idp/pkg/server/http/option.go b/services/idp/pkg/server/http/option.go similarity index 92% rename from extensions/idp/pkg/server/http/option.go rename to services/idp/pkg/server/http/option.go index fffc93a8a..84074fb87 100644 --- a/extensions/idp/pkg/server/http/option.go +++ b/services/idp/pkg/server/http/option.go @@ -3,9 +3,9 @@ package http import ( "context" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/config" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/metrics" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/idp/pkg/config" + "github.com/owncloud/ocis/v2/services/idp/pkg/metrics" "github.com/urfave/cli/v2" ) diff --git a/extensions/idp/pkg/server/http/server.go b/services/idp/pkg/server/http/server.go similarity index 97% rename from extensions/idp/pkg/server/http/server.go rename to services/idp/pkg/server/http/server.go index e974dc9d4..6e03aa2ab 100644 --- a/extensions/idp/pkg/server/http/server.go +++ b/services/idp/pkg/server/http/server.go @@ -5,11 +5,11 @@ import ( "os" chimiddleware "github.com/go-chi/chi/v5/middleware" - svc "github.com/owncloud/ocis/v2/extensions/idp/pkg/service/v0" pkgcrypto "github.com/owncloud/ocis/v2/ocis-pkg/crypto" "github.com/owncloud/ocis/v2/ocis-pkg/middleware" "github.com/owncloud/ocis/v2/ocis-pkg/service/http" "github.com/owncloud/ocis/v2/ocis-pkg/version" + svc "github.com/owncloud/ocis/v2/services/idp/pkg/service/v0" "go-micro.dev/v4" ) diff --git a/extensions/idp/pkg/service/v0/instrument.go b/services/idp/pkg/service/v0/instrument.go similarity index 88% rename from extensions/idp/pkg/service/v0/instrument.go rename to services/idp/pkg/service/v0/instrument.go index 8c7a948ea..ddc7c24c0 100644 --- a/extensions/idp/pkg/service/v0/instrument.go +++ b/services/idp/pkg/service/v0/instrument.go @@ -3,7 +3,7 @@ package svc import ( "net/http" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/metrics" + "github.com/owncloud/ocis/v2/services/idp/pkg/metrics" ) // NewInstrument returns a service that instruments metrics. diff --git a/extensions/idp/pkg/service/v0/logging.go b/services/idp/pkg/service/v0/logging.go similarity index 100% rename from extensions/idp/pkg/service/v0/logging.go rename to services/idp/pkg/service/v0/logging.go diff --git a/extensions/idp/pkg/service/v0/option.go b/services/idp/pkg/service/v0/option.go similarity index 94% rename from extensions/idp/pkg/service/v0/option.go rename to services/idp/pkg/service/v0/option.go index d86aa51d3..e8ba55010 100644 --- a/extensions/idp/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/idp/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/idp/pkg/config" ) // Option defines a single option function. diff --git a/extensions/idp/pkg/service/v0/service.go b/services/idp/pkg/service/v0/service.go similarity index 96% rename from extensions/idp/pkg/service/v0/service.go rename to services/idp/pkg/service/v0/service.go index 8f6b8db36..a32a0ecb2 100644 --- a/extensions/idp/pkg/service/v0/service.go +++ b/services/idp/pkg/service/v0/service.go @@ -19,12 +19,12 @@ import ( libreGraphBackendSupport "github.com/libregraph/lico/bootstrap/backends/libregraph" licoconfig "github.com/libregraph/lico/config" "github.com/libregraph/lico/server" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/assets" - cs3BackendSupport "github.com/owncloud/ocis/v2/extensions/idp/pkg/backends/cs3/bootstrap" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/config" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/middleware" "github.com/owncloud/ocis/v2/ocis-pkg/ldap" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/idp/pkg/assets" + cs3BackendSupport "github.com/owncloud/ocis/v2/services/idp/pkg/backends/cs3/bootstrap" + "github.com/owncloud/ocis/v2/services/idp/pkg/config" + "github.com/owncloud/ocis/v2/services/idp/pkg/middleware" "gopkg.in/yaml.v2" "stash.kopano.io/kgol/rndm" ) diff --git a/extensions/idp/pkg/service/v0/tracing.go b/services/idp/pkg/service/v0/tracing.go similarity index 100% rename from extensions/idp/pkg/service/v0/tracing.go rename to services/idp/pkg/service/v0/tracing.go diff --git a/extensions/idp/pkg/tracing/tracing.go b/services/idp/pkg/tracing/tracing.go similarity index 89% rename from extensions/idp/pkg/tracing/tracing.go rename to services/idp/pkg/tracing/tracing.go index 43ef5bc0f..339597b54 100644 --- a/extensions/idp/pkg/tracing/tracing.go +++ b/services/idp/pkg/tracing/tracing.go @@ -1,8 +1,8 @@ package tracing import ( - "github.com/owncloud/ocis/v2/extensions/idp/pkg/config" pkgtrace "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/idp/pkg/config" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/idp/reflex.conf b/services/idp/reflex.conf similarity index 100% rename from extensions/idp/reflex.conf rename to services/idp/reflex.conf diff --git a/extensions/idp/scripts/build.js b/services/idp/scripts/build.js similarity index 100% rename from extensions/idp/scripts/build.js rename to services/idp/scripts/build.js diff --git a/extensions/idp/scripts/start.js b/services/idp/scripts/start.js similarity index 100% rename from extensions/idp/scripts/start.js rename to services/idp/scripts/start.js diff --git a/extensions/idp/scripts/test.js b/services/idp/scripts/test.js similarity index 100% rename from extensions/idp/scripts/test.js rename to services/idp/scripts/test.js diff --git a/extensions/idp/ui/i18n/Makefile b/services/idp/ui/i18n/Makefile similarity index 100% rename from extensions/idp/ui/i18n/Makefile rename to services/idp/ui/i18n/Makefile diff --git a/extensions/idp/ui/i18n/de.po b/services/idp/ui/i18n/de.po similarity index 100% rename from extensions/idp/ui/i18n/de.po rename to services/idp/ui/i18n/de.po diff --git a/extensions/idp/ui/i18n/es.po b/services/idp/ui/i18n/es.po similarity index 100% rename from extensions/idp/ui/i18n/es.po rename to services/idp/ui/i18n/es.po diff --git a/extensions/idp/ui/i18n/fr.po b/services/idp/ui/i18n/fr.po similarity index 100% rename from extensions/idp/ui/i18n/fr.po rename to services/idp/ui/i18n/fr.po diff --git a/extensions/idp/ui/i18n/hi.po b/services/idp/ui/i18n/hi.po similarity index 100% rename from extensions/idp/ui/i18n/hi.po rename to services/idp/ui/i18n/hi.po diff --git a/extensions/idp/ui/i18n/hr.po b/services/idp/ui/i18n/hr.po similarity index 100% rename from extensions/idp/ui/i18n/hr.po rename to services/idp/ui/i18n/hr.po diff --git a/extensions/idp/ui/i18n/hu.po b/services/idp/ui/i18n/hu.po similarity index 100% rename from extensions/idp/ui/i18n/hu.po rename to services/idp/ui/i18n/hu.po diff --git a/extensions/idp/ui/i18n/is.po b/services/idp/ui/i18n/is.po similarity index 100% rename from extensions/idp/ui/i18n/is.po rename to services/idp/ui/i18n/is.po diff --git a/extensions/idp/ui/i18n/it.po b/services/idp/ui/i18n/it.po similarity index 100% rename from extensions/idp/ui/i18n/it.po rename to services/idp/ui/i18n/it.po diff --git a/extensions/idp/ui/i18n/ja.po b/services/idp/ui/i18n/ja.po similarity index 100% rename from extensions/idp/ui/i18n/ja.po rename to services/idp/ui/i18n/ja.po diff --git a/extensions/idp/ui/i18n/konnect-identifier.pot b/services/idp/ui/i18n/konnect-identifier.pot similarity index 100% rename from extensions/idp/ui/i18n/konnect-identifier.pot rename to services/idp/ui/i18n/konnect-identifier.pot diff --git a/extensions/idp/ui/i18n/nb.po b/services/idp/ui/i18n/nb.po similarity index 100% rename from extensions/idp/ui/i18n/nb.po rename to services/idp/ui/i18n/nb.po diff --git a/extensions/idp/ui/i18n/nl.po b/services/idp/ui/i18n/nl.po similarity index 100% rename from extensions/idp/ui/i18n/nl.po rename to services/idp/ui/i18n/nl.po diff --git a/extensions/idp/ui/i18n/pl.po b/services/idp/ui/i18n/pl.po similarity index 100% rename from extensions/idp/ui/i18n/pl.po rename to services/idp/ui/i18n/pl.po diff --git a/extensions/idp/ui/i18n/pt_PT.po b/services/idp/ui/i18n/pt_PT.po similarity index 100% rename from extensions/idp/ui/i18n/pt_PT.po rename to services/idp/ui/i18n/pt_PT.po diff --git a/extensions/idp/ui/i18n/ru.po b/services/idp/ui/i18n/ru.po similarity index 100% rename from extensions/idp/ui/i18n/ru.po rename to services/idp/ui/i18n/ru.po diff --git a/extensions/idp/ui/i18n/sl.po b/services/idp/ui/i18n/sl.po similarity index 100% rename from extensions/idp/ui/i18n/sl.po rename to services/idp/ui/i18n/sl.po diff --git a/extensions/idp/ui/i18n/src/messages.json b/services/idp/ui/i18n/src/messages.json similarity index 100% rename from extensions/idp/ui/i18n/src/messages.json rename to services/idp/ui/i18n/src/messages.json diff --git a/extensions/idp/ui/public/index.html b/services/idp/ui/public/index.html similarity index 100% rename from extensions/idp/ui/public/index.html rename to services/idp/ui/public/index.html diff --git a/extensions/idp/ui/public/static/logo.svg b/services/idp/ui/public/static/logo.svg similarity index 100% rename from extensions/idp/ui/public/static/logo.svg rename to services/idp/ui/public/static/logo.svg diff --git a/extensions/idp/ui/src/Main.js b/services/idp/ui/src/Main.js similarity index 100% rename from extensions/idp/ui/src/Main.js rename to services/idp/ui/src/Main.js diff --git a/extensions/idp/ui/src/Main.test.js b/services/idp/ui/src/Main.test.js similarity index 100% rename from extensions/idp/ui/src/Main.test.js rename to services/idp/ui/src/Main.test.js diff --git a/extensions/idp/ui/src/Routes.js b/services/idp/ui/src/Routes.js similarity index 100% rename from extensions/idp/ui/src/Routes.js rename to services/idp/ui/src/Routes.js diff --git a/extensions/idp/ui/src/actions/common.js b/services/idp/ui/src/actions/common.js similarity index 100% rename from extensions/idp/ui/src/actions/common.js rename to services/idp/ui/src/actions/common.js diff --git a/extensions/idp/ui/src/actions/login.js b/services/idp/ui/src/actions/login.js similarity index 100% rename from extensions/idp/ui/src/actions/login.js rename to services/idp/ui/src/actions/login.js diff --git a/extensions/idp/ui/src/actions/types.js b/services/idp/ui/src/actions/types.js similarity index 100% rename from extensions/idp/ui/src/actions/types.js rename to services/idp/ui/src/actions/types.js diff --git a/extensions/idp/ui/src/actions/utils.js b/services/idp/ui/src/actions/utils.js similarity index 100% rename from extensions/idp/ui/src/actions/utils.js rename to services/idp/ui/src/actions/utils.js diff --git a/extensions/idp/ui/src/app.css b/services/idp/ui/src/app.css similarity index 100% rename from extensions/idp/ui/src/app.css rename to services/idp/ui/src/app.css diff --git a/extensions/idp/ui/src/app.js b/services/idp/ui/src/app.js similarity index 100% rename from extensions/idp/ui/src/app.js rename to services/idp/ui/src/app.js diff --git a/extensions/idp/ui/src/components/ClientDisplayName.js b/services/idp/ui/src/components/ClientDisplayName.js similarity index 100% rename from extensions/idp/ui/src/components/ClientDisplayName.js rename to services/idp/ui/src/components/ClientDisplayName.js diff --git a/extensions/idp/ui/src/components/Loading.js b/services/idp/ui/src/components/Loading.js similarity index 100% rename from extensions/idp/ui/src/components/Loading.js rename to services/idp/ui/src/components/Loading.js diff --git a/extensions/idp/ui/src/components/PrivateRoute.js b/services/idp/ui/src/components/PrivateRoute.js similarity index 100% rename from extensions/idp/ui/src/components/PrivateRoute.js rename to services/idp/ui/src/components/PrivateRoute.js diff --git a/extensions/idp/ui/src/components/RedirectWithQuery.js b/services/idp/ui/src/components/RedirectWithQuery.js similarity index 100% rename from extensions/idp/ui/src/components/RedirectWithQuery.js rename to services/idp/ui/src/components/RedirectWithQuery.js diff --git a/extensions/idp/ui/src/components/ResponsiveScreen.js b/services/idp/ui/src/components/ResponsiveScreen.js similarity index 100% rename from extensions/idp/ui/src/components/ResponsiveScreen.js rename to services/idp/ui/src/components/ResponsiveScreen.js diff --git a/extensions/idp/ui/src/components/ScopesList.js b/services/idp/ui/src/components/ScopesList.js similarity index 100% rename from extensions/idp/ui/src/components/ScopesList.js rename to services/idp/ui/src/components/ScopesList.js diff --git a/extensions/idp/ui/src/components/TextInput.js b/services/idp/ui/src/components/TextInput.js similarity index 100% rename from extensions/idp/ui/src/components/TextInput.js rename to services/idp/ui/src/components/TextInput.js diff --git a/extensions/idp/ui/src/containers/Goodbye/Goodbyescreen.js b/services/idp/ui/src/containers/Goodbye/Goodbyescreen.js similarity index 100% rename from extensions/idp/ui/src/containers/Goodbye/Goodbyescreen.js rename to services/idp/ui/src/containers/Goodbye/Goodbyescreen.js diff --git a/extensions/idp/ui/src/containers/Goodbye/index.js b/services/idp/ui/src/containers/Goodbye/index.js similarity index 100% rename from extensions/idp/ui/src/containers/Goodbye/index.js rename to services/idp/ui/src/containers/Goodbye/index.js diff --git a/extensions/idp/ui/src/containers/Login/Chooseaccount.js b/services/idp/ui/src/containers/Login/Chooseaccount.js similarity index 100% rename from extensions/idp/ui/src/containers/Login/Chooseaccount.js rename to services/idp/ui/src/containers/Login/Chooseaccount.js diff --git a/extensions/idp/ui/src/containers/Login/Consent.js b/services/idp/ui/src/containers/Login/Consent.js similarity index 100% rename from extensions/idp/ui/src/containers/Login/Consent.js rename to services/idp/ui/src/containers/Login/Consent.js diff --git a/extensions/idp/ui/src/containers/Login/Login.js b/services/idp/ui/src/containers/Login/Login.js similarity index 100% rename from extensions/idp/ui/src/containers/Login/Login.js rename to services/idp/ui/src/containers/Login/Login.js diff --git a/extensions/idp/ui/src/containers/Login/Loginscreen.js b/services/idp/ui/src/containers/Login/Loginscreen.js similarity index 100% rename from extensions/idp/ui/src/containers/Login/Loginscreen.js rename to services/idp/ui/src/containers/Login/Loginscreen.js diff --git a/extensions/idp/ui/src/containers/Login/index.js b/services/idp/ui/src/containers/Login/index.js similarity index 100% rename from extensions/idp/ui/src/containers/Login/index.js rename to services/idp/ui/src/containers/Login/index.js diff --git a/extensions/idp/ui/src/containers/Welcome/Welcomescreen.js b/services/idp/ui/src/containers/Welcome/Welcomescreen.js similarity index 100% rename from extensions/idp/ui/src/containers/Welcome/Welcomescreen.js rename to services/idp/ui/src/containers/Welcome/Welcomescreen.js diff --git a/extensions/idp/ui/src/containers/Welcome/index.js b/services/idp/ui/src/containers/Welcome/index.js similarity index 100% rename from extensions/idp/ui/src/containers/Welcome/index.js rename to services/idp/ui/src/containers/Welcome/index.js diff --git a/extensions/idp/ui/src/errors/index.js b/services/idp/ui/src/errors/index.js similarity index 100% rename from extensions/idp/ui/src/errors/index.js rename to services/idp/ui/src/errors/index.js diff --git a/extensions/idp/ui/src/images/background.jpg b/services/idp/ui/src/images/background.jpg similarity index 100% rename from extensions/idp/ui/src/images/background.jpg rename to services/idp/ui/src/images/background.jpg diff --git a/extensions/idp/ui/src/index.js b/services/idp/ui/src/index.js similarity index 100% rename from extensions/idp/ui/src/index.js rename to services/idp/ui/src/index.js diff --git a/extensions/idp/ui/src/locales/de.json b/services/idp/ui/src/locales/de.json similarity index 100% rename from extensions/idp/ui/src/locales/de.json rename to services/idp/ui/src/locales/de.json diff --git a/extensions/idp/ui/src/locales/es.json b/services/idp/ui/src/locales/es.json similarity index 100% rename from extensions/idp/ui/src/locales/es.json rename to services/idp/ui/src/locales/es.json diff --git a/extensions/idp/ui/src/locales/fr.json b/services/idp/ui/src/locales/fr.json similarity index 100% rename from extensions/idp/ui/src/locales/fr.json rename to services/idp/ui/src/locales/fr.json diff --git a/extensions/idp/ui/src/locales/hi.json b/services/idp/ui/src/locales/hi.json similarity index 100% rename from extensions/idp/ui/src/locales/hi.json rename to services/idp/ui/src/locales/hi.json diff --git a/extensions/idp/ui/src/locales/hr.json b/services/idp/ui/src/locales/hr.json similarity index 100% rename from extensions/idp/ui/src/locales/hr.json rename to services/idp/ui/src/locales/hr.json diff --git a/extensions/idp/ui/src/locales/hu.json b/services/idp/ui/src/locales/hu.json similarity index 100% rename from extensions/idp/ui/src/locales/hu.json rename to services/idp/ui/src/locales/hu.json diff --git a/extensions/idp/ui/src/locales/index.js b/services/idp/ui/src/locales/index.js similarity index 100% rename from extensions/idp/ui/src/locales/index.js rename to services/idp/ui/src/locales/index.js diff --git a/extensions/idp/ui/src/locales/is.json b/services/idp/ui/src/locales/is.json similarity index 100% rename from extensions/idp/ui/src/locales/is.json rename to services/idp/ui/src/locales/is.json diff --git a/extensions/idp/ui/src/locales/it.json b/services/idp/ui/src/locales/it.json similarity index 100% rename from extensions/idp/ui/src/locales/it.json rename to services/idp/ui/src/locales/it.json diff --git a/extensions/idp/ui/src/locales/ja.json b/services/idp/ui/src/locales/ja.json similarity index 100% rename from extensions/idp/ui/src/locales/ja.json rename to services/idp/ui/src/locales/ja.json diff --git a/extensions/idp/ui/src/locales/nb.json b/services/idp/ui/src/locales/nb.json similarity index 100% rename from extensions/idp/ui/src/locales/nb.json rename to services/idp/ui/src/locales/nb.json diff --git a/extensions/idp/ui/src/locales/nl.json b/services/idp/ui/src/locales/nl.json similarity index 100% rename from extensions/idp/ui/src/locales/nl.json rename to services/idp/ui/src/locales/nl.json diff --git a/extensions/idp/ui/src/locales/pl.json b/services/idp/ui/src/locales/pl.json similarity index 100% rename from extensions/idp/ui/src/locales/pl.json rename to services/idp/ui/src/locales/pl.json diff --git a/extensions/idp/ui/src/locales/pt_PT.json b/services/idp/ui/src/locales/pt_PT.json similarity index 100% rename from extensions/idp/ui/src/locales/pt_PT.json rename to services/idp/ui/src/locales/pt_PT.json diff --git a/extensions/idp/ui/src/locales/ru.json b/services/idp/ui/src/locales/ru.json similarity index 100% rename from extensions/idp/ui/src/locales/ru.json rename to services/idp/ui/src/locales/ru.json diff --git a/extensions/idp/ui/src/locales/sl.json b/services/idp/ui/src/locales/sl.json similarity index 100% rename from extensions/idp/ui/src/locales/sl.json rename to services/idp/ui/src/locales/sl.json diff --git a/extensions/idp/ui/src/models/hello.js b/services/idp/ui/src/models/hello.js similarity index 100% rename from extensions/idp/ui/src/models/hello.js rename to services/idp/ui/src/models/hello.js diff --git a/extensions/idp/ui/src/reducers/common.js b/services/idp/ui/src/reducers/common.js similarity index 100% rename from extensions/idp/ui/src/reducers/common.js rename to services/idp/ui/src/reducers/common.js diff --git a/extensions/idp/ui/src/reducers/index.js b/services/idp/ui/src/reducers/index.js similarity index 100% rename from extensions/idp/ui/src/reducers/index.js rename to services/idp/ui/src/reducers/index.js diff --git a/extensions/idp/ui/src/reducers/login.js b/services/idp/ui/src/reducers/login.js similarity index 100% rename from extensions/idp/ui/src/reducers/login.js rename to services/idp/ui/src/reducers/login.js diff --git a/extensions/idp/ui/src/store.js b/services/idp/ui/src/store.js similarity index 100% rename from extensions/idp/ui/src/store.js rename to services/idp/ui/src/store.js diff --git a/extensions/idp/ui/src/utils.js b/services/idp/ui/src/utils.js similarity index 100% rename from extensions/idp/ui/src/utils.js rename to services/idp/ui/src/utils.js diff --git a/extensions/idp/ui/src/version.js b/services/idp/ui/src/version.js similarity index 100% rename from extensions/idp/ui/src/version.js rename to services/idp/ui/src/version.js diff --git a/extensions/idp/ui_config/env.js b/services/idp/ui_config/env.js similarity index 100% rename from extensions/idp/ui_config/env.js rename to services/idp/ui_config/env.js diff --git a/extensions/idp/ui_config/jest/cssTransform.js b/services/idp/ui_config/jest/cssTransform.js similarity index 100% rename from extensions/idp/ui_config/jest/cssTransform.js rename to services/idp/ui_config/jest/cssTransform.js diff --git a/extensions/idp/ui_config/jest/fileTransform.js b/services/idp/ui_config/jest/fileTransform.js similarity index 100% rename from extensions/idp/ui_config/jest/fileTransform.js rename to services/idp/ui_config/jest/fileTransform.js diff --git a/extensions/idp/ui_config/modules.js b/services/idp/ui_config/modules.js similarity index 100% rename from extensions/idp/ui_config/modules.js rename to services/idp/ui_config/modules.js diff --git a/extensions/idp/ui_config/paths.js b/services/idp/ui_config/paths.js similarity index 100% rename from extensions/idp/ui_config/paths.js rename to services/idp/ui_config/paths.js diff --git a/extensions/idp/ui_config/pnpTs.js b/services/idp/ui_config/pnpTs.js similarity index 100% rename from extensions/idp/ui_config/pnpTs.js rename to services/idp/ui_config/pnpTs.js diff --git a/extensions/idp/ui_config/webpack.config.js b/services/idp/ui_config/webpack.config.js similarity index 100% rename from extensions/idp/ui_config/webpack.config.js rename to services/idp/ui_config/webpack.config.js diff --git a/extensions/idp/ui_config/webpackDevServer.config.js b/services/idp/ui_config/webpackDevServer.config.js similarity index 100% rename from extensions/idp/ui_config/webpackDevServer.config.js rename to services/idp/ui_config/webpackDevServer.config.js diff --git a/extensions/idp/yarn.lock b/services/idp/yarn.lock similarity index 100% rename from extensions/idp/yarn.lock rename to services/idp/yarn.lock diff --git a/extensions/nats/Makefile b/services/nats/Makefile similarity index 100% rename from extensions/nats/Makefile rename to services/nats/Makefile diff --git a/services/nats/cmd/nats/main.go b/services/nats/cmd/nats/main.go new file mode 100644 index 000000000..4b5803ac7 --- /dev/null +++ b/services/nats/cmd/nats/main.go @@ -0,0 +1,14 @@ +package main + +import ( + "os" + + "github.com/owncloud/ocis/v2/services/nats/pkg/command" + "github.com/owncloud/ocis/v2/services/nats/pkg/config/defaults" +) + +func main() { + if err := command.Execute(defaults.DefaultConfig()); err != nil { + os.Exit(1) + } +} diff --git a/extensions/audit/pkg/command/health.go b/services/nats/pkg/command/health.go similarity index 84% rename from extensions/audit/pkg/command/health.go rename to services/nats/pkg/command/health.go index 530bf24cb..75e5ab838 100644 --- a/extensions/audit/pkg/command/health.go +++ b/services/nats/pkg/command/health.go @@ -1,7 +1,7 @@ package command import ( - "github.com/owncloud/ocis/v2/extensions/audit/pkg/config" + "github.com/owncloud/ocis/v2/services/nats/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/nats/pkg/command/root.go b/services/nats/pkg/command/root.go similarity index 95% rename from extensions/nats/pkg/command/root.go rename to services/nats/pkg/command/root.go index faa301839..b51674628 100644 --- a/extensions/nats/pkg/command/root.go +++ b/services/nats/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/nats/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/nats/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/nats/pkg/command/server.go b/services/nats/pkg/command/server.go similarity index 85% rename from extensions/nats/pkg/command/server.go rename to services/nats/pkg/command/server.go index 9c029815c..5bed4387e 100644 --- a/extensions/nats/pkg/command/server.go +++ b/services/nats/pkg/command/server.go @@ -7,10 +7,10 @@ import ( "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/nats/pkg/config" - "github.com/owncloud/ocis/v2/extensions/nats/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/nats/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/nats/pkg/server/nats" + "github.com/owncloud/ocis/v2/services/nats/pkg/config" + "github.com/owncloud/ocis/v2/services/nats/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/nats/pkg/logging" + "github.com/owncloud/ocis/v2/services/nats/pkg/server/nats" "github.com/urfave/cli/v2" ) diff --git a/extensions/audit/pkg/command/version.go b/services/nats/pkg/command/version.go similarity index 87% rename from extensions/audit/pkg/command/version.go rename to services/nats/pkg/command/version.go index 0a90a7e1b..cedb412b1 100644 --- a/extensions/audit/pkg/command/version.go +++ b/services/nats/pkg/command/version.go @@ -1,7 +1,7 @@ package command import ( - "github.com/owncloud/ocis/v2/extensions/audit/pkg/config" + "github.com/owncloud/ocis/v2/services/nats/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/nats/pkg/config/config.go b/services/nats/pkg/config/config.go similarity index 100% rename from extensions/nats/pkg/config/config.go rename to services/nats/pkg/config/config.go diff --git a/extensions/nats/pkg/config/debug.go b/services/nats/pkg/config/debug.go similarity index 100% rename from extensions/nats/pkg/config/debug.go rename to services/nats/pkg/config/debug.go diff --git a/extensions/nats/pkg/config/defaults/defaultconfig.go b/services/nats/pkg/config/defaults/defaultconfig.go similarity index 95% rename from extensions/nats/pkg/config/defaults/defaultconfig.go rename to services/nats/pkg/config/defaults/defaultconfig.go index 176657242..d130a8ac2 100644 --- a/extensions/nats/pkg/config/defaults/defaultconfig.go +++ b/services/nats/pkg/config/defaults/defaultconfig.go @@ -3,8 +3,8 @@ package defaults import ( "path" - "github.com/owncloud/ocis/v2/extensions/nats/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/nats/pkg/config" ) // NOTE: Most of this configuration is not needed to keep it as simple as possible diff --git a/extensions/nats/pkg/config/log.go b/services/nats/pkg/config/log.go similarity index 100% rename from extensions/nats/pkg/config/log.go rename to services/nats/pkg/config/log.go diff --git a/extensions/audit/pkg/config/parser/parse.go b/services/nats/pkg/config/parser/parse.go similarity index 85% rename from extensions/audit/pkg/config/parser/parse.go rename to services/nats/pkg/config/parser/parse.go index 677e5906c..b741cf3a0 100644 --- a/extensions/audit/pkg/config/parser/parse.go +++ b/services/nats/pkg/config/parser/parse.go @@ -3,9 +3,9 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/audit/pkg/config" - "github.com/owncloud/ocis/v2/extensions/audit/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/nats/pkg/config" + "github.com/owncloud/ocis/v2/services/nats/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/nats/pkg/config/service.go b/services/nats/pkg/config/service.go similarity index 100% rename from extensions/nats/pkg/config/service.go rename to services/nats/pkg/config/service.go diff --git a/services/nats/pkg/logging/logging.go b/services/nats/pkg/logging/logging.go new file mode 100644 index 000000000..230b1d7f7 --- /dev/null +++ b/services/nats/pkg/logging/logging.go @@ -0,0 +1,17 @@ +package logging + +import ( + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/nats/pkg/config" +) + +// LoggerFromConfig initializes a service-specific logger instance. +func Configure(name string, cfg *config.Log) log.Logger { + return log.NewLogger( + log.Name(name), + log.Level(cfg.Level), + log.Pretty(cfg.Pretty), + log.Color(cfg.Color), + log.File(cfg.File), + ) +} diff --git a/extensions/nats/pkg/logging/nats.go b/services/nats/pkg/logging/nats.go similarity index 100% rename from extensions/nats/pkg/logging/nats.go rename to services/nats/pkg/logging/nats.go diff --git a/extensions/nats/pkg/server/nats/nats.go b/services/nats/pkg/server/nats/nats.go similarity index 100% rename from extensions/nats/pkg/server/nats/nats.go rename to services/nats/pkg/server/nats/nats.go diff --git a/extensions/nats/pkg/server/nats/options.go b/services/nats/pkg/server/nats/options.go similarity index 100% rename from extensions/nats/pkg/server/nats/options.go rename to services/nats/pkg/server/nats/options.go diff --git a/extensions/notifications/Makefile b/services/notifications/Makefile similarity index 100% rename from extensions/notifications/Makefile rename to services/notifications/Makefile diff --git a/extensions/auth-bearer/cmd/auth-bearer/main.go b/services/notifications/cmd/notifications/main.go similarity index 52% rename from extensions/auth-bearer/cmd/auth-bearer/main.go rename to services/notifications/cmd/notifications/main.go index 0a6ebecb9..5d5752af3 100644 --- a/extensions/auth-bearer/cmd/auth-bearer/main.go +++ b/services/notifications/cmd/notifications/main.go @@ -3,8 +3,8 @@ package main import ( "os" - "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/command" - "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/notifications/pkg/command" + "github.com/owncloud/ocis/v2/services/notifications/pkg/config/defaults" ) func main() { diff --git a/extensions/notifications/pkg/channels/channels.go b/services/notifications/pkg/channels/channels.go similarity index 97% rename from extensions/notifications/pkg/channels/channels.go rename to services/notifications/pkg/channels/channels.go index 62881dd75..e058e2db2 100644 --- a/extensions/notifications/pkg/channels/channels.go +++ b/services/notifications/pkg/channels/channels.go @@ -9,8 +9,8 @@ import ( groups "github.com/cs3org/go-cs3apis/cs3/identity/group/v1beta1" rpc "github.com/cs3org/go-cs3apis/cs3/rpc/v1beta1" "github.com/cs3org/reva/v2/pkg/rgrpc/todo/pool" - "github.com/owncloud/ocis/v2/extensions/notifications/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/notifications/pkg/config" "github.com/pkg/errors" ) diff --git a/extensions/notifications/pkg/command/health.go b/services/notifications/pkg/command/health.go similarity index 82% rename from extensions/notifications/pkg/command/health.go rename to services/notifications/pkg/command/health.go index 740dd8af8..bcc1df71a 100644 --- a/extensions/notifications/pkg/command/health.go +++ b/services/notifications/pkg/command/health.go @@ -1,7 +1,7 @@ package command import ( - "github.com/owncloud/ocis/v2/extensions/notifications/pkg/config" + "github.com/owncloud/ocis/v2/services/notifications/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/notifications/pkg/command/root.go b/services/notifications/pkg/command/root.go similarity index 95% rename from extensions/notifications/pkg/command/root.go rename to services/notifications/pkg/command/root.go index bf90ee56b..17d52afe6 100644 --- a/extensions/notifications/pkg/command/root.go +++ b/services/notifications/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/notifications/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/notifications/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/notifications/pkg/command/server.go b/services/notifications/pkg/command/server.go similarity index 78% rename from extensions/notifications/pkg/command/server.go rename to services/notifications/pkg/command/server.go index 1b9a68f10..91f43b1b9 100644 --- a/extensions/notifications/pkg/command/server.go +++ b/services/notifications/pkg/command/server.go @@ -7,11 +7,11 @@ import ( "github.com/cs3org/reva/v2/pkg/events" "github.com/cs3org/reva/v2/pkg/events/server" "github.com/go-micro/plugins/v4/events/natsjs" - "github.com/owncloud/ocis/v2/extensions/notifications/pkg/channels" - "github.com/owncloud/ocis/v2/extensions/notifications/pkg/config" - "github.com/owncloud/ocis/v2/extensions/notifications/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/notifications/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/notifications/pkg/service" + "github.com/owncloud/ocis/v2/services/notifications/pkg/channels" + "github.com/owncloud/ocis/v2/services/notifications/pkg/config" + "github.com/owncloud/ocis/v2/services/notifications/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/notifications/pkg/logging" + "github.com/owncloud/ocis/v2/services/notifications/pkg/service" "github.com/urfave/cli/v2" ) diff --git a/extensions/notifications/pkg/command/version.go b/services/notifications/pkg/command/version.go similarity index 85% rename from extensions/notifications/pkg/command/version.go rename to services/notifications/pkg/command/version.go index d1b55c18f..153f65af3 100644 --- a/extensions/notifications/pkg/command/version.go +++ b/services/notifications/pkg/command/version.go @@ -1,7 +1,7 @@ package command import ( - "github.com/owncloud/ocis/v2/extensions/notifications/pkg/config" + "github.com/owncloud/ocis/v2/services/notifications/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/notifications/pkg/config/config.go b/services/notifications/pkg/config/config.go similarity index 100% rename from extensions/notifications/pkg/config/config.go rename to services/notifications/pkg/config/config.go diff --git a/extensions/notifications/pkg/config/debug.go b/services/notifications/pkg/config/debug.go similarity index 100% rename from extensions/notifications/pkg/config/debug.go rename to services/notifications/pkg/config/debug.go diff --git a/extensions/notifications/pkg/config/defaults/defaultconfig.go b/services/notifications/pkg/config/defaults/defaultconfig.go similarity index 95% rename from extensions/notifications/pkg/config/defaults/defaultconfig.go rename to services/notifications/pkg/config/defaults/defaultconfig.go index 5f29ea927..c01c4d2f6 100644 --- a/extensions/notifications/pkg/config/defaults/defaultconfig.go +++ b/services/notifications/pkg/config/defaults/defaultconfig.go @@ -1,7 +1,7 @@ package defaults import ( - "github.com/owncloud/ocis/v2/extensions/notifications/pkg/config" + "github.com/owncloud/ocis/v2/services/notifications/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/notifications/pkg/config/log.go b/services/notifications/pkg/config/log.go similarity index 100% rename from extensions/notifications/pkg/config/log.go rename to services/notifications/pkg/config/log.go diff --git a/extensions/notifications/pkg/config/parser/parse.go b/services/notifications/pkg/config/parser/parse.go similarity index 86% rename from extensions/notifications/pkg/config/parser/parse.go rename to services/notifications/pkg/config/parser/parse.go index 6bb231a06..72ccfb22f 100644 --- a/extensions/notifications/pkg/config/parser/parse.go +++ b/services/notifications/pkg/config/parser/parse.go @@ -3,10 +3,10 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/notifications/pkg/config" - "github.com/owncloud/ocis/v2/extensions/notifications/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/notifications/pkg/config" + "github.com/owncloud/ocis/v2/services/notifications/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/notifications/pkg/config/service.go b/services/notifications/pkg/config/service.go similarity index 100% rename from extensions/notifications/pkg/config/service.go rename to services/notifications/pkg/config/service.go diff --git a/extensions/auth-bearer/pkg/logging/logging.go b/services/notifications/pkg/logging/logging.go similarity index 84% rename from extensions/auth-bearer/pkg/logging/logging.go rename to services/notifications/pkg/logging/logging.go index 70706b74a..982389bcf 100644 --- a/extensions/auth-bearer/pkg/logging/logging.go +++ b/services/notifications/pkg/logging/logging.go @@ -1,8 +1,8 @@ package logging import ( - "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/notifications/pkg/config" ) // LoggerFromConfig initializes a service-specific logger instance. diff --git a/extensions/notifications/pkg/service/service.go b/services/notifications/pkg/service/service.go similarity index 95% rename from extensions/notifications/pkg/service/service.go rename to services/notifications/pkg/service/service.go index a2d4a7cc7..d6c8f9705 100644 --- a/extensions/notifications/pkg/service/service.go +++ b/services/notifications/pkg/service/service.go @@ -6,8 +6,8 @@ import ( "syscall" "github.com/cs3org/reva/v2/pkg/events" - "github.com/owncloud/ocis/v2/extensions/notifications/pkg/channels" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/notifications/pkg/channels" ) type Service interface { diff --git a/extensions/ocdav/Makefile b/services/ocdav/Makefile similarity index 100% rename from extensions/ocdav/Makefile rename to services/ocdav/Makefile diff --git a/extensions/ocs/cmd/ocs/main.go b/services/ocdav/cmd/ocdav/main.go similarity index 52% rename from extensions/ocs/cmd/ocs/main.go rename to services/ocdav/cmd/ocdav/main.go index b40fbb050..9875027bd 100644 --- a/extensions/ocs/cmd/ocs/main.go +++ b/services/ocdav/cmd/ocdav/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/ocdav/pkg/command" + "github.com/owncloud/ocis/v2/services/ocdav/pkg/config/defaults" ) func main() { diff --git a/extensions/web/pkg/command/health.go b/services/ocdav/pkg/command/health.go similarity index 84% rename from extensions/web/pkg/command/health.go rename to services/ocdav/pkg/command/health.go index 640ed8bd8..8724a43ad 100644 --- a/extensions/web/pkg/command/health.go +++ b/services/ocdav/pkg/command/health.go @@ -4,9 +4,9 @@ import ( "fmt" "net/http" - "github.com/owncloud/ocis/v2/extensions/web/pkg/config" - "github.com/owncloud/ocis/v2/extensions/web/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/web/pkg/logging" + "github.com/owncloud/ocis/v2/services/ocdav/pkg/config" + "github.com/owncloud/ocis/v2/services/ocdav/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/ocdav/pkg/logging" "github.com/urfave/cli/v2" ) diff --git a/extensions/ocdav/pkg/command/root.go b/services/ocdav/pkg/command/root.go similarity index 95% rename from extensions/ocdav/pkg/command/root.go rename to services/ocdav/pkg/command/root.go index 9b2bbf7d9..b96cc0181 100644 --- a/extensions/ocdav/pkg/command/root.go +++ b/services/ocdav/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/ocdav/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/ocdav/pkg/command/server.go b/services/ocdav/pkg/command/server.go similarity index 91% rename from extensions/ocdav/pkg/command/server.go rename to services/ocdav/pkg/command/server.go index 2109e6303..7af407553 100644 --- a/extensions/ocdav/pkg/command/server.go +++ b/services/ocdav/pkg/command/server.go @@ -7,12 +7,12 @@ import ( "github.com/cs3org/reva/v2/pkg/micro/ocdav" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/config" - "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/ocdav/pkg/config" + "github.com/owncloud/ocis/v2/services/ocdav/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/ocdav/pkg/logging" + "github.com/owncloud/ocis/v2/services/ocdav/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/ocdav/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/extensions/idp/pkg/command/version.go b/services/ocdav/pkg/command/version.go similarity index 95% rename from extensions/idp/pkg/command/version.go rename to services/ocdav/pkg/command/version.go index 64522d25c..71ab3f901 100644 --- a/extensions/idp/pkg/command/version.go +++ b/services/ocdav/pkg/command/version.go @@ -8,7 +8,7 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/version" tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/config" + "github.com/owncloud/ocis/v2/services/ocdav/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/ocdav/pkg/config/config.go b/services/ocdav/pkg/config/config.go similarity index 100% rename from extensions/ocdav/pkg/config/config.go rename to services/ocdav/pkg/config/config.go diff --git a/extensions/ocdav/pkg/config/defaults/defaultconfig.go b/services/ocdav/pkg/config/defaults/defaultconfig.go similarity index 97% rename from extensions/ocdav/pkg/config/defaults/defaultconfig.go rename to services/ocdav/pkg/config/defaults/defaultconfig.go index e41d021b8..804e56528 100644 --- a/extensions/ocdav/pkg/config/defaults/defaultconfig.go +++ b/services/ocdav/pkg/config/defaults/defaultconfig.go @@ -1,8 +1,8 @@ package defaults import ( - "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/ocdav/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/ocdav/pkg/config/parser/parse.go b/services/ocdav/pkg/config/parser/parse.go similarity index 87% rename from extensions/ocdav/pkg/config/parser/parse.go rename to services/ocdav/pkg/config/parser/parse.go index bb7822ca9..6a1de96b2 100644 --- a/extensions/ocdav/pkg/config/parser/parse.go +++ b/services/ocdav/pkg/config/parser/parse.go @@ -3,10 +3,10 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/config" - "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/ocdav/pkg/config" + "github.com/owncloud/ocis/v2/services/ocdav/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/ocdav/pkg/config/reva.go b/services/ocdav/pkg/config/reva.go similarity index 100% rename from extensions/ocdav/pkg/config/reva.go rename to services/ocdav/pkg/config/reva.go diff --git a/services/ocdav/pkg/logging/logging.go b/services/ocdav/pkg/logging/logging.go new file mode 100644 index 000000000..f5341b839 --- /dev/null +++ b/services/ocdav/pkg/logging/logging.go @@ -0,0 +1,17 @@ +package logging + +import ( + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/ocdav/pkg/config" +) + +// LoggerFromConfig initializes a service-specific logger instance. +func Configure(name string, cfg *config.Log) log.Logger { + return log.NewLogger( + log.Name(name), + log.Level(cfg.Level), + log.Pretty(cfg.Pretty), + log.Color(cfg.Color), + log.File(cfg.File), + ) +} diff --git a/extensions/web/pkg/server/debug/option.go b/services/ocdav/pkg/server/debug/option.go similarity index 94% rename from extensions/web/pkg/server/debug/option.go rename to services/ocdav/pkg/server/debug/option.go index 360025b00..76dc12aa5 100644 --- a/extensions/web/pkg/server/debug/option.go +++ b/services/ocdav/pkg/server/debug/option.go @@ -3,8 +3,8 @@ package debug import ( "context" - "github.com/owncloud/ocis/v2/extensions/web/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/ocdav/pkg/config" ) // Option defines a single option function. diff --git a/extensions/gateway/pkg/server/debug/server.go b/services/ocdav/pkg/server/debug/server.go similarity index 96% rename from extensions/gateway/pkg/server/debug/server.go rename to services/ocdav/pkg/server/debug/server.go index 0d3a8d249..43f2b2e74 100644 --- a/extensions/gateway/pkg/server/debug/server.go +++ b/services/ocdav/pkg/server/debug/server.go @@ -4,9 +4,9 @@ import ( "io" "net/http" - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/ocdav/pkg/config" ) // Server initializes the debug service and server. diff --git a/extensions/gateway/pkg/tracing/tracing.go b/services/ocdav/pkg/tracing/tracing.go similarity index 87% rename from extensions/gateway/pkg/tracing/tracing.go rename to services/ocdav/pkg/tracing/tracing.go index 41f6df08f..b9f661c86 100644 --- a/extensions/gateway/pkg/tracing/tracing.go +++ b/services/ocdav/pkg/tracing/tracing.go @@ -1,9 +1,9 @@ package tracing import ( - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/ocdav/pkg/config" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/ocs/.dockerignore b/services/ocs/.dockerignore similarity index 100% rename from extensions/ocs/.dockerignore rename to services/ocs/.dockerignore diff --git a/extensions/ocs/Makefile b/services/ocs/Makefile similarity index 100% rename from extensions/ocs/Makefile rename to services/ocs/Makefile diff --git a/services/ocs/cmd/ocs/main.go b/services/ocs/cmd/ocs/main.go new file mode 100644 index 000000000..a2b9021ea --- /dev/null +++ b/services/ocs/cmd/ocs/main.go @@ -0,0 +1,14 @@ +package main + +import ( + "os" + + "github.com/owncloud/ocis/v2/services/ocs/pkg/command" + "github.com/owncloud/ocis/v2/services/ocs/pkg/config/defaults" +) + +func main() { + if err := command.Execute(defaults.DefaultConfig()); err != nil { + os.Exit(1) + } +} diff --git a/extensions/ocs/config/.gitignore b/services/ocs/config/.gitignore similarity index 100% rename from extensions/ocs/config/.gitignore rename to services/ocs/config/.gitignore diff --git a/extensions/ocs/docker/Dockerfile.linux.amd64 b/services/ocs/docker/Dockerfile.linux.amd64 similarity index 100% rename from extensions/ocs/docker/Dockerfile.linux.amd64 rename to services/ocs/docker/Dockerfile.linux.amd64 diff --git a/extensions/ocs/docker/Dockerfile.linux.arm b/services/ocs/docker/Dockerfile.linux.arm similarity index 100% rename from extensions/ocs/docker/Dockerfile.linux.arm rename to services/ocs/docker/Dockerfile.linux.arm diff --git a/extensions/ocs/docker/Dockerfile.linux.arm64 b/services/ocs/docker/Dockerfile.linux.arm64 similarity index 100% rename from extensions/ocs/docker/Dockerfile.linux.arm64 rename to services/ocs/docker/Dockerfile.linux.arm64 diff --git a/extensions/ocs/docker/manifest.tmpl b/services/ocs/docker/manifest.tmpl similarity index 100% rename from extensions/ocs/docker/manifest.tmpl rename to services/ocs/docker/manifest.tmpl diff --git a/services/ocs/pkg/command/health.go b/services/ocs/pkg/command/health.go new file mode 100644 index 000000000..197c2e1ca --- /dev/null +++ b/services/ocs/pkg/command/health.go @@ -0,0 +1,57 @@ +package command + +import ( + "fmt" + "net/http" + + "github.com/owncloud/ocis/v2/services/ocs/pkg/config" + "github.com/owncloud/ocis/v2/services/ocs/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/ocs/pkg/logging" + "github.com/urfave/cli/v2" +) + +// Health is the entrypoint for the health command. +func Health(cfg *config.Config) *cli.Command { + return &cli.Command{ + Name: "health", + Usage: "check health status", + Category: "info", + Before: func(c *cli.Context) error { + err := parser.ParseConfig(cfg) + if err != nil { + fmt.Printf("%v", err) + } + return err + }, + Action: func(c *cli.Context) error { + logger := logging.Configure(cfg.Service.Name, cfg.Log) + + resp, err := http.Get( + fmt.Sprintf( + "http://%s/healthz", + cfg.Debug.Addr, + ), + ) + + if err != nil { + logger.Fatal(). + Err(err). + Msg("Failed to request health check") + } + + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + logger.Fatal(). + Int("code", resp.StatusCode). + Msg("Health seems to be in bad state") + } + + logger.Debug(). + Int("code", resp.StatusCode). + Msg("Health got a good state") + + return nil + }, + } +} diff --git a/extensions/ocs/pkg/command/root.go b/services/ocs/pkg/command/root.go similarity index 95% rename from extensions/ocs/pkg/command/root.go rename to services/ocs/pkg/command/root.go index 0ab6e6159..9e3436e07 100644 --- a/extensions/ocs/pkg/command/root.go +++ b/services/ocs/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/ocs/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/ocs/pkg/command/server.go b/services/ocs/pkg/command/server.go similarity index 82% rename from extensions/ocs/pkg/command/server.go rename to services/ocs/pkg/command/server.go index ade9fa50d..8de4dd160 100644 --- a/extensions/ocs/pkg/command/server.go +++ b/services/ocs/pkg/command/server.go @@ -5,16 +5,16 @@ import ( "fmt" "os" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/ocs/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/ocs/pkg/logging" + "github.com/owncloud/ocis/v2/services/ocs/pkg/tracing" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/config" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/metrics" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/server/http" + "github.com/owncloud/ocis/v2/services/ocs/pkg/config" + "github.com/owncloud/ocis/v2/services/ocs/pkg/metrics" + "github.com/owncloud/ocis/v2/services/ocs/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/ocs/pkg/server/http" "github.com/urfave/cli/v2" ) diff --git a/extensions/ocdav/pkg/command/version.go b/services/ocs/pkg/command/version.go similarity index 95% rename from extensions/ocdav/pkg/command/version.go rename to services/ocs/pkg/command/version.go index ae2b44f31..4d3bf8bba 100644 --- a/extensions/ocdav/pkg/command/version.go +++ b/services/ocs/pkg/command/version.go @@ -8,7 +8,7 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/version" tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/config" + "github.com/owncloud/ocis/v2/services/ocs/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/ocs/pkg/config/config.go b/services/ocs/pkg/config/config.go similarity index 100% rename from extensions/ocs/pkg/config/config.go rename to services/ocs/pkg/config/config.go diff --git a/extensions/ocs/pkg/config/debug.go b/services/ocs/pkg/config/debug.go similarity index 100% rename from extensions/ocs/pkg/config/debug.go rename to services/ocs/pkg/config/debug.go diff --git a/extensions/ocs/pkg/config/defaults/defaultconfig.go b/services/ocs/pkg/config/defaults/defaultconfig.go similarity index 97% rename from extensions/ocs/pkg/config/defaults/defaultconfig.go rename to services/ocs/pkg/config/defaults/defaultconfig.go index 79d839aee..d2ce6df71 100644 --- a/extensions/ocs/pkg/config/defaults/defaultconfig.go +++ b/services/ocs/pkg/config/defaults/defaultconfig.go @@ -3,7 +3,7 @@ package defaults import ( "strings" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/config" + "github.com/owncloud/ocis/v2/services/ocs/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/ocs/pkg/config/http.go b/services/ocs/pkg/config/http.go similarity index 100% rename from extensions/ocs/pkg/config/http.go rename to services/ocs/pkg/config/http.go diff --git a/extensions/ocs/pkg/config/log.go b/services/ocs/pkg/config/log.go similarity index 100% rename from extensions/ocs/pkg/config/log.go rename to services/ocs/pkg/config/log.go diff --git a/extensions/ocs/pkg/config/parser/parse.go b/services/ocs/pkg/config/parser/parse.go similarity index 89% rename from extensions/ocs/pkg/config/parser/parse.go rename to services/ocs/pkg/config/parser/parse.go index d9e3c5590..ecb6b0e18 100644 --- a/extensions/ocs/pkg/config/parser/parse.go +++ b/services/ocs/pkg/config/parser/parse.go @@ -3,8 +3,8 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/config" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/ocs/pkg/config" + "github.com/owncloud/ocis/v2/services/ocs/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/shared" diff --git a/extensions/ocs/pkg/config/reva.go b/services/ocs/pkg/config/reva.go similarity index 100% rename from extensions/ocs/pkg/config/reva.go rename to services/ocs/pkg/config/reva.go diff --git a/extensions/ocs/pkg/config/service.go b/services/ocs/pkg/config/service.go similarity index 100% rename from extensions/ocs/pkg/config/service.go rename to services/ocs/pkg/config/service.go diff --git a/extensions/ocs/pkg/config/tracing.go b/services/ocs/pkg/config/tracing.go similarity index 100% rename from extensions/ocs/pkg/config/tracing.go rename to services/ocs/pkg/config/tracing.go diff --git a/services/ocs/pkg/logging/logging.go b/services/ocs/pkg/logging/logging.go new file mode 100644 index 000000000..9156b2b81 --- /dev/null +++ b/services/ocs/pkg/logging/logging.go @@ -0,0 +1,17 @@ +package logging + +import ( + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/ocs/pkg/config" +) + +// LoggerFromConfig initializes a service-specific logger instance. +func Configure(name string, cfg *config.Log) log.Logger { + return log.NewLogger( + log.Name(name), + log.Level(cfg.Level), + log.Pretty(cfg.Pretty), + log.Color(cfg.Color), + log.File(cfg.File), + ) +} diff --git a/extensions/ocs/pkg/metrics/metrics.go b/services/ocs/pkg/metrics/metrics.go similarity index 100% rename from extensions/ocs/pkg/metrics/metrics.go rename to services/ocs/pkg/metrics/metrics.go diff --git a/extensions/ocs/pkg/middleware/format.go b/services/ocs/pkg/middleware/format.go similarity index 100% rename from extensions/ocs/pkg/middleware/format.go rename to services/ocs/pkg/middleware/format.go diff --git a/extensions/ocs/pkg/middleware/logtrace.go b/services/ocs/pkg/middleware/logtrace.go similarity index 89% rename from extensions/ocs/pkg/middleware/logtrace.go rename to services/ocs/pkg/middleware/logtrace.go index 7e51bd7f6..a9444902d 100644 --- a/extensions/ocs/pkg/middleware/logtrace.go +++ b/services/ocs/pkg/middleware/logtrace.go @@ -3,7 +3,7 @@ package middleware import ( "net/http" - ocstracing "github.com/owncloud/ocis/v2/extensions/ocs/pkg/tracing" + ocstracing "github.com/owncloud/ocis/v2/services/ocs/pkg/tracing" "go.opentelemetry.io/otel/propagation" ) diff --git a/extensions/ocs/pkg/middleware/options.go b/services/ocs/pkg/middleware/options.go similarity index 100% rename from extensions/ocs/pkg/middleware/options.go rename to services/ocs/pkg/middleware/options.go diff --git a/extensions/ocs/pkg/middleware/requireadmin.go b/services/ocs/pkg/middleware/requireadmin.go similarity index 85% rename from extensions/ocs/pkg/middleware/requireadmin.go rename to services/ocs/pkg/middleware/requireadmin.go index 4e41843c3..87f58eebe 100644 --- a/extensions/ocs/pkg/middleware/requireadmin.go +++ b/services/ocs/pkg/middleware/requireadmin.go @@ -4,10 +4,10 @@ import ( "net/http" "github.com/go-chi/render" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/service/v0/data" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/service/v0/response" - settings "github.com/owncloud/ocis/v2/extensions/settings/pkg/service/v0" "github.com/owncloud/ocis/v2/ocis-pkg/roles" + "github.com/owncloud/ocis/v2/services/ocs/pkg/service/v0/data" + "github.com/owncloud/ocis/v2/services/ocs/pkg/service/v0/response" + settings "github.com/owncloud/ocis/v2/services/settings/pkg/service/v0" ) // RequireAdmin middleware is used to require the user in context to be an admin / have account management permissions diff --git a/extensions/ocs/pkg/middleware/requireselforadmin.go b/services/ocs/pkg/middleware/requireselforadmin.go similarity index 90% rename from extensions/ocs/pkg/middleware/requireselforadmin.go rename to services/ocs/pkg/middleware/requireselforadmin.go index 38cef4482..51ce63d1e 100644 --- a/extensions/ocs/pkg/middleware/requireselforadmin.go +++ b/services/ocs/pkg/middleware/requireselforadmin.go @@ -7,11 +7,11 @@ import ( revactx "github.com/cs3org/reva/v2/pkg/ctx" "github.com/go-chi/chi/v5" "github.com/go-chi/render" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/service/v0/data" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/service/v0/response" - settings "github.com/owncloud/ocis/v2/extensions/settings/pkg/service/v0" - settingsService "github.com/owncloud/ocis/v2/extensions/settings/pkg/service/v0" "github.com/owncloud/ocis/v2/ocis-pkg/roles" + "github.com/owncloud/ocis/v2/services/ocs/pkg/service/v0/data" + "github.com/owncloud/ocis/v2/services/ocs/pkg/service/v0/response" + settings "github.com/owncloud/ocis/v2/services/settings/pkg/service/v0" + settingsService "github.com/owncloud/ocis/v2/services/settings/pkg/service/v0" ) // RequireSelfOrAdmin middleware is used to require the requesting user to be an admin or the requested user himself diff --git a/extensions/ocs/pkg/middleware/requireuser.go b/services/ocs/pkg/middleware/requireuser.go similarity index 88% rename from extensions/ocs/pkg/middleware/requireuser.go rename to services/ocs/pkg/middleware/requireuser.go index 1cb30477a..2b17f178b 100644 --- a/extensions/ocs/pkg/middleware/requireuser.go +++ b/services/ocs/pkg/middleware/requireuser.go @@ -5,8 +5,8 @@ import ( revactx "github.com/cs3org/reva/v2/pkg/ctx" "github.com/go-chi/render" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/service/v0/data" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/service/v0/response" + "github.com/owncloud/ocis/v2/services/ocs/pkg/service/v0/data" + "github.com/owncloud/ocis/v2/services/ocs/pkg/service/v0/response" ) // RequireUser middleware is used to require a user in context diff --git a/services/ocs/pkg/server/debug/option.go b/services/ocs/pkg/server/debug/option.go new file mode 100644 index 000000000..2533141d9 --- /dev/null +++ b/services/ocs/pkg/server/debug/option.go @@ -0,0 +1,50 @@ +package debug + +import ( + "context" + + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/ocs/pkg/config" +) + +// Option defines a single option function. +type Option func(o *Options) + +// Options defines the available options for this package. +type Options struct { + Logger log.Logger + Context context.Context + Config *config.Config +} + +// newOptions initializes the available default options. +func newOptions(opts ...Option) Options { + opt := Options{} + + for _, o := range opts { + o(&opt) + } + + return opt +} + +// Logger provides a function to set the logger option. +func Logger(val log.Logger) Option { + return func(o *Options) { + o.Logger = val + } +} + +// Context provides a function to set the context option. +func Context(val context.Context) Option { + return func(o *Options) { + o.Context = val + } +} + +// Config provides a function to set the config option. +func Config(val *config.Config) Option { + return func(o *Options) { + o.Config = val + } +} diff --git a/extensions/ocs/pkg/server/debug/server.go b/services/ocs/pkg/server/debug/server.go similarity index 97% rename from extensions/ocs/pkg/server/debug/server.go rename to services/ocs/pkg/server/debug/server.go index 09c2b80f7..ec1446494 100644 --- a/extensions/ocs/pkg/server/debug/server.go +++ b/services/ocs/pkg/server/debug/server.go @@ -4,9 +4,9 @@ import ( "io" "net/http" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/ocs/pkg/config" ) // Server initializes the debug service and server. diff --git a/extensions/web/pkg/server/http/option.go b/services/ocs/pkg/server/http/option.go similarity index 92% rename from extensions/web/pkg/server/http/option.go rename to services/ocs/pkg/server/http/option.go index 98462b72a..dd10e91e2 100644 --- a/extensions/web/pkg/server/http/option.go +++ b/services/ocs/pkg/server/http/option.go @@ -3,9 +3,9 @@ package http import ( "context" - "github.com/owncloud/ocis/v2/extensions/web/pkg/config" - "github.com/owncloud/ocis/v2/extensions/web/pkg/metrics" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/ocs/pkg/config" + "github.com/owncloud/ocis/v2/services/ocs/pkg/metrics" "github.com/urfave/cli/v2" ) @@ -14,12 +14,12 @@ type Option func(o *Options) // Options defines the available options for this package. type Options struct { + Namespace string Logger log.Logger Context context.Context Config *config.Config Metrics *metrics.Metrics Flags []cli.Flag - Namespace string } // newOptions initializes the available default options. diff --git a/extensions/ocs/pkg/server/http/server.go b/services/ocs/pkg/server/http/server.go similarity index 92% rename from extensions/ocs/pkg/server/http/server.go rename to services/ocs/pkg/server/http/server.go index 47f42247a..1f3a4b608 100644 --- a/extensions/ocs/pkg/server/http/server.go +++ b/services/ocs/pkg/server/http/server.go @@ -2,12 +2,12 @@ package http import ( chimiddleware "github.com/go-chi/chi/v5/middleware" - ocsmw "github.com/owncloud/ocis/v2/extensions/ocs/pkg/middleware" - svc "github.com/owncloud/ocis/v2/extensions/ocs/pkg/service/v0" "github.com/owncloud/ocis/v2/ocis-pkg/cors" "github.com/owncloud/ocis/v2/ocis-pkg/middleware" "github.com/owncloud/ocis/v2/ocis-pkg/service/http" "github.com/owncloud/ocis/v2/ocis-pkg/version" + ocsmw "github.com/owncloud/ocis/v2/services/ocs/pkg/middleware" + svc "github.com/owncloud/ocis/v2/services/ocs/pkg/service/v0" "go-micro.dev/v4" ) diff --git a/extensions/ocs/pkg/service/v0/config.go b/services/ocs/pkg/service/v0/config.go similarity index 75% rename from extensions/ocs/pkg/service/v0/config.go rename to services/ocs/pkg/service/v0/config.go index da4b7bc9f..9ff28bad1 100644 --- a/extensions/ocs/pkg/service/v0/config.go +++ b/services/ocs/pkg/service/v0/config.go @@ -3,8 +3,8 @@ package svc import ( "net/http" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/service/v0/data" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/service/v0/response" + "github.com/owncloud/ocis/v2/services/ocs/pkg/service/v0/data" + "github.com/owncloud/ocis/v2/services/ocs/pkg/service/v0/response" ) // GetConfig renders the ocs config endpoint diff --git a/extensions/ocs/pkg/service/v0/data/config.go b/services/ocs/pkg/service/v0/data/config.go similarity index 100% rename from extensions/ocs/pkg/service/v0/data/config.go rename to services/ocs/pkg/service/v0/data/config.go diff --git a/extensions/ocs/pkg/service/v0/data/group.go b/services/ocs/pkg/service/v0/data/group.go similarity index 100% rename from extensions/ocs/pkg/service/v0/data/group.go rename to services/ocs/pkg/service/v0/data/group.go diff --git a/extensions/ocs/pkg/service/v0/data/meta.go b/services/ocs/pkg/service/v0/data/meta.go similarity index 100% rename from extensions/ocs/pkg/service/v0/data/meta.go rename to services/ocs/pkg/service/v0/data/meta.go diff --git a/extensions/ocs/pkg/service/v0/data/user.go b/services/ocs/pkg/service/v0/data/user.go similarity index 100% rename from extensions/ocs/pkg/service/v0/data/user.go rename to services/ocs/pkg/service/v0/data/user.go diff --git a/extensions/ocs/pkg/service/v0/groups.go b/services/ocs/pkg/service/v0/groups.go similarity index 94% rename from extensions/ocs/pkg/service/v0/groups.go rename to services/ocs/pkg/service/v0/groups.go index ce0a658e6..be933718e 100644 --- a/extensions/ocs/pkg/service/v0/groups.go +++ b/services/ocs/pkg/service/v0/groups.go @@ -5,8 +5,8 @@ import ( "net/url" "github.com/go-chi/chi/v5" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/service/v0/data" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/service/v0/response" + "github.com/owncloud/ocis/v2/services/ocs/pkg/service/v0/data" + "github.com/owncloud/ocis/v2/services/ocs/pkg/service/v0/response" ) // ListUserGroups lists a users groups diff --git a/extensions/ocs/pkg/service/v0/instrument.go b/services/ocs/pkg/service/v0/instrument.go similarity index 91% rename from extensions/ocs/pkg/service/v0/instrument.go rename to services/ocs/pkg/service/v0/instrument.go index c13987343..15c42b348 100644 --- a/extensions/ocs/pkg/service/v0/instrument.go +++ b/services/ocs/pkg/service/v0/instrument.go @@ -3,7 +3,7 @@ package svc import ( "net/http" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/metrics" + "github.com/owncloud/ocis/v2/services/ocs/pkg/metrics" ) // NewInstrument returns a service that instruments metrics. diff --git a/extensions/ocs/pkg/service/v0/logging.go b/services/ocs/pkg/service/v0/logging.go similarity index 100% rename from extensions/ocs/pkg/service/v0/logging.go rename to services/ocs/pkg/service/v0/logging.go diff --git a/extensions/ocs/pkg/service/v0/option.go b/services/ocs/pkg/service/v0/option.go similarity index 96% rename from extensions/ocs/pkg/service/v0/option.go rename to services/ocs/pkg/service/v0/option.go index ba4a7b9b3..bfefbe61f 100644 --- a/extensions/ocs/pkg/service/v0/option.go +++ b/services/ocs/pkg/service/v0/option.go @@ -3,10 +3,10 @@ package svc import ( "net/http" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/roles" settingssvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/settings/v0" + "github.com/owncloud/ocis/v2/services/ocs/pkg/config" ) // Option defines a single option function. diff --git a/extensions/ocs/pkg/service/v0/response/response.go b/services/ocs/pkg/service/v0/response/response.go similarity index 97% rename from extensions/ocs/pkg/service/v0/response/response.go rename to services/ocs/pkg/service/v0/response/response.go index 6731d1fa4..d1035fcd7 100644 --- a/extensions/ocs/pkg/service/v0/response/response.go +++ b/services/ocs/pkg/service/v0/response/response.go @@ -6,7 +6,7 @@ import ( "reflect" "github.com/go-chi/render" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/service/v0/data" + "github.com/owncloud/ocis/v2/services/ocs/pkg/service/v0/data" ) // Response is the top level response structure diff --git a/extensions/ocs/pkg/service/v0/response/version.go b/services/ocs/pkg/service/v0/response/version.go similarity index 97% rename from extensions/ocs/pkg/service/v0/response/version.go rename to services/ocs/pkg/service/v0/response/version.go index fe7f71760..5e72bc257 100644 --- a/extensions/ocs/pkg/service/v0/response/version.go +++ b/services/ocs/pkg/service/v0/response/version.go @@ -6,7 +6,7 @@ import ( "github.com/go-chi/chi/v5" "github.com/go-chi/render" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/service/v0/data" + "github.com/owncloud/ocis/v2/services/ocs/pkg/service/v0/data" ) type key int diff --git a/extensions/ocs/pkg/service/v0/service.go b/services/ocs/pkg/service/v0/service.go similarity index 92% rename from extensions/ocs/pkg/service/v0/service.go rename to services/ocs/pkg/service/v0/service.go index 1abae288d..372d0c9c9 100644 --- a/extensions/ocs/pkg/service/v0/service.go +++ b/services/ocs/pkg/service/v0/service.go @@ -11,16 +11,16 @@ import ( "github.com/go-chi/chi/v5/middleware" "github.com/go-chi/render" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/config" - ocsm "github.com/owncloud/ocis/v2/extensions/ocs/pkg/middleware" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/service/v0/data" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/service/v0/response" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/user/backend" "github.com/owncloud/ocis/v2/ocis-pkg/account" "github.com/owncloud/ocis/v2/ocis-pkg/log" opkgm "github.com/owncloud/ocis/v2/ocis-pkg/middleware" "github.com/owncloud/ocis/v2/ocis-pkg/roles" settingssvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/settings/v0" + "github.com/owncloud/ocis/v2/services/ocs/pkg/config" + ocsm "github.com/owncloud/ocis/v2/services/ocs/pkg/middleware" + "github.com/owncloud/ocis/v2/services/ocs/pkg/service/v0/data" + "github.com/owncloud/ocis/v2/services/ocs/pkg/service/v0/response" + "github.com/owncloud/ocis/v2/services/proxy/pkg/user/backend" ) // Service defines the extension handlers. diff --git a/extensions/ocs/pkg/service/v0/tracing.go b/services/ocs/pkg/service/v0/tracing.go similarity index 100% rename from extensions/ocs/pkg/service/v0/tracing.go rename to services/ocs/pkg/service/v0/tracing.go diff --git a/extensions/ocs/pkg/service/v0/users.go b/services/ocs/pkg/service/v0/users.go similarity index 97% rename from extensions/ocs/pkg/service/v0/users.go rename to services/ocs/pkg/service/v0/users.go index 035288b98..d666033d4 100644 --- a/extensions/ocs/pkg/service/v0/users.go +++ b/services/ocs/pkg/service/v0/users.go @@ -15,9 +15,9 @@ import ( revactx "github.com/cs3org/reva/v2/pkg/ctx" "github.com/go-chi/chi/v5" "github.com/go-micro/plugins/v4/client/grpc" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/service/v0/data" - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/service/v0/response" - ocstracing "github.com/owncloud/ocis/v2/extensions/ocs/pkg/tracing" + "github.com/owncloud/ocis/v2/services/ocs/pkg/service/v0/data" + "github.com/owncloud/ocis/v2/services/ocs/pkg/service/v0/response" + ocstracing "github.com/owncloud/ocis/v2/services/ocs/pkg/tracing" merrors "go-micro.dev/v4/errors" ) diff --git a/extensions/ocs/pkg/tracing/tracing.go b/services/ocs/pkg/tracing/tracing.go similarity index 89% rename from extensions/ocs/pkg/tracing/tracing.go rename to services/ocs/pkg/tracing/tracing.go index ab9d2df2b..6119fac10 100644 --- a/extensions/ocs/pkg/tracing/tracing.go +++ b/services/ocs/pkg/tracing/tracing.go @@ -1,8 +1,8 @@ package tracing import ( - "github.com/owncloud/ocis/v2/extensions/ocs/pkg/config" pkgtrace "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/ocs/pkg/config" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/ocs/reflex.conf b/services/ocs/reflex.conf similarity index 100% rename from extensions/ocs/reflex.conf rename to services/ocs/reflex.conf diff --git a/extensions/proxy/.dockerignore b/services/proxy/.dockerignore similarity index 100% rename from extensions/proxy/.dockerignore rename to services/proxy/.dockerignore diff --git a/extensions/proxy/Makefile b/services/proxy/Makefile similarity index 100% rename from extensions/proxy/Makefile rename to services/proxy/Makefile diff --git a/extensions/idp/cmd/idp/main.go b/services/proxy/cmd/proxy/main.go similarity index 52% rename from extensions/idp/cmd/idp/main.go rename to services/proxy/cmd/proxy/main.go index d632da7f4..7db75b5de 100644 --- a/extensions/idp/cmd/idp/main.go +++ b/services/proxy/cmd/proxy/main.go @@ -3,8 +3,8 @@ package main import ( "os" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/command" - "github.com/owncloud/ocis/v2/extensions/idp/pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/proxy/pkg/command" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config/defaults" ) func main() { diff --git a/extensions/proxy/docker/Dockerfile.linux.amd64 b/services/proxy/docker/Dockerfile.linux.amd64 similarity index 100% rename from extensions/proxy/docker/Dockerfile.linux.amd64 rename to services/proxy/docker/Dockerfile.linux.amd64 diff --git a/extensions/proxy/docker/Dockerfile.linux.arm b/services/proxy/docker/Dockerfile.linux.arm similarity index 100% rename from extensions/proxy/docker/Dockerfile.linux.arm rename to services/proxy/docker/Dockerfile.linux.arm diff --git a/extensions/proxy/docker/Dockerfile.linux.arm64 b/services/proxy/docker/Dockerfile.linux.arm64 similarity index 100% rename from extensions/proxy/docker/Dockerfile.linux.arm64 rename to services/proxy/docker/Dockerfile.linux.arm64 diff --git a/extensions/proxy/docker/manifest.tmpl b/services/proxy/docker/manifest.tmpl similarity index 100% rename from extensions/proxy/docker/manifest.tmpl rename to services/proxy/docker/manifest.tmpl diff --git a/services/proxy/pkg/command/health.go b/services/proxy/pkg/command/health.go new file mode 100644 index 000000000..cb9ee814b --- /dev/null +++ b/services/proxy/pkg/command/health.go @@ -0,0 +1,57 @@ +package command + +import ( + "fmt" + "net/http" + + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/proxy/pkg/logging" + "github.com/urfave/cli/v2" +) + +// Health is the entrypoint for the health command. +func Health(cfg *config.Config) *cli.Command { + return &cli.Command{ + Name: "health", + Usage: "check health status", + Category: "info", + Before: func(c *cli.Context) error { + err := parser.ParseConfig(cfg) + if err != nil { + fmt.Printf("%v", err) + } + return err + }, + Action: func(c *cli.Context) error { + logger := logging.Configure(cfg.Service.Name, cfg.Log) + + resp, err := http.Get( + fmt.Sprintf( + "http://%s/healthz", + cfg.Debug.Addr, + ), + ) + + if err != nil { + logger.Fatal(). + Err(err). + Msg("Failed to request health check") + } + + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + logger.Fatal(). + Int("code", resp.StatusCode). + Msg("Health seems to be in bad state") + } + + logger.Debug(). + Int("code", resp.StatusCode). + Msg("Health got a good state") + + return nil + }, + } +} diff --git a/extensions/proxy/pkg/command/root.go b/services/proxy/pkg/command/root.go similarity index 95% rename from extensions/proxy/pkg/command/root.go rename to services/proxy/pkg/command/root.go index 467a1bfca..1f809d049 100644 --- a/extensions/proxy/pkg/command/root.go +++ b/services/proxy/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/proxy/pkg/command/server.go b/services/proxy/pkg/command/server.go similarity index 90% rename from extensions/proxy/pkg/command/server.go rename to services/proxy/pkg/command/server.go index 769dba962..b41633ea9 100644 --- a/extensions/proxy/pkg/command/server.go +++ b/services/proxy/pkg/command/server.go @@ -13,23 +13,23 @@ import ( chimiddleware "github.com/go-chi/chi/v5/middleware" "github.com/justinas/alice" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/cs3" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/metrics" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/middleware" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/proxy" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/server/debug" - proxyHTTP "github.com/owncloud/ocis/v2/extensions/proxy/pkg/server/http" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/tracing" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/user/backend" "github.com/owncloud/ocis/v2/ocis-pkg/log" pkgmiddleware "github.com/owncloud/ocis/v2/ocis-pkg/middleware" "github.com/owncloud/ocis/v2/ocis-pkg/service/grpc" "github.com/owncloud/ocis/v2/ocis-pkg/version" settingssvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/settings/v0" storesvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/store/v0" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/proxy/pkg/cs3" + "github.com/owncloud/ocis/v2/services/proxy/pkg/logging" + "github.com/owncloud/ocis/v2/services/proxy/pkg/metrics" + "github.com/owncloud/ocis/v2/services/proxy/pkg/middleware" + "github.com/owncloud/ocis/v2/services/proxy/pkg/proxy" + "github.com/owncloud/ocis/v2/services/proxy/pkg/server/debug" + proxyHTTP "github.com/owncloud/ocis/v2/services/proxy/pkg/server/http" + "github.com/owncloud/ocis/v2/services/proxy/pkg/tracing" + "github.com/owncloud/ocis/v2/services/proxy/pkg/user/backend" "github.com/urfave/cli/v2" "golang.org/x/oauth2" ) diff --git a/extensions/proxy/pkg/command/version.go b/services/proxy/pkg/command/version.go similarity index 95% rename from extensions/proxy/pkg/command/version.go rename to services/proxy/pkg/command/version.go index e2d1a6eb0..b24caa11b 100644 --- a/extensions/proxy/pkg/command/version.go +++ b/services/proxy/pkg/command/version.go @@ -8,7 +8,7 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/version" tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/proxy/pkg/config/config.go b/services/proxy/pkg/config/config.go similarity index 100% rename from extensions/proxy/pkg/config/config.go rename to services/proxy/pkg/config/config.go diff --git a/extensions/proxy/pkg/config/debug.go b/services/proxy/pkg/config/debug.go similarity index 100% rename from extensions/proxy/pkg/config/debug.go rename to services/proxy/pkg/config/debug.go diff --git a/extensions/proxy/pkg/config/defaults/defaultconfig.go b/services/proxy/pkg/config/defaults/defaultconfig.go similarity index 99% rename from extensions/proxy/pkg/config/defaults/defaultconfig.go rename to services/proxy/pkg/config/defaults/defaultconfig.go index b7f90f8d1..566373002 100644 --- a/extensions/proxy/pkg/config/defaults/defaultconfig.go +++ b/services/proxy/pkg/config/defaults/defaultconfig.go @@ -4,8 +4,8 @@ import ( "path" "strings" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/proxy/pkg/config/http.go b/services/proxy/pkg/config/http.go similarity index 100% rename from extensions/proxy/pkg/config/http.go rename to services/proxy/pkg/config/http.go diff --git a/extensions/proxy/pkg/config/log.go b/services/proxy/pkg/config/log.go similarity index 100% rename from extensions/proxy/pkg/config/log.go rename to services/proxy/pkg/config/log.go diff --git a/extensions/proxy/pkg/config/parser/parse.go b/services/proxy/pkg/config/parser/parse.go similarity index 88% rename from extensions/proxy/pkg/config/parser/parse.go rename to services/proxy/pkg/config/parser/parse.go index 02f20229b..14218d9e8 100644 --- a/extensions/proxy/pkg/config/parser/parse.go +++ b/services/proxy/pkg/config/parser/parse.go @@ -3,10 +3,10 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/proxy/pkg/config/reva.go b/services/proxy/pkg/config/reva.go similarity index 100% rename from extensions/proxy/pkg/config/reva.go rename to services/proxy/pkg/config/reva.go diff --git a/extensions/proxy/pkg/config/service.go b/services/proxy/pkg/config/service.go similarity index 100% rename from extensions/proxy/pkg/config/service.go rename to services/proxy/pkg/config/service.go diff --git a/extensions/proxy/pkg/config/tracing.go b/services/proxy/pkg/config/tracing.go similarity index 100% rename from extensions/proxy/pkg/config/tracing.go rename to services/proxy/pkg/config/tracing.go diff --git a/extensions/proxy/pkg/cs3/client.go b/services/proxy/pkg/cs3/client.go similarity index 92% rename from extensions/proxy/pkg/cs3/client.go rename to services/proxy/pkg/cs3/client.go index 10b650aef..bbc4dcc3d 100644 --- a/extensions/proxy/pkg/cs3/client.go +++ b/services/proxy/pkg/cs3/client.go @@ -2,7 +2,7 @@ package cs3 import ( gateway "github.com/cs3org/go-cs3apis/cs3/gateway/v1beta1" - proxytracing "github.com/owncloud/ocis/v2/extensions/proxy/pkg/tracing" + proxytracing "github.com/owncloud/ocis/v2/services/proxy/pkg/tracing" "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc" "google.golang.org/grpc" "google.golang.org/grpc/credentials/insecure" diff --git a/services/proxy/pkg/logging/logging.go b/services/proxy/pkg/logging/logging.go new file mode 100644 index 000000000..f4a0b6959 --- /dev/null +++ b/services/proxy/pkg/logging/logging.go @@ -0,0 +1,17 @@ +package logging + +import ( + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" +) + +// LoggerFromConfig initializes a service-specific logger instance. +func Configure(name string, cfg *config.Log) log.Logger { + return log.NewLogger( + log.Name(name), + log.Level(cfg.Level), + log.Pretty(cfg.Pretty), + log.Color(cfg.Color), + log.File(cfg.File), + ) +} diff --git a/extensions/proxy/pkg/metrics/metrics.go b/services/proxy/pkg/metrics/metrics.go similarity index 100% rename from extensions/proxy/pkg/metrics/metrics.go rename to services/proxy/pkg/metrics/metrics.go diff --git a/extensions/proxy/pkg/middleware/accesslog.go b/services/proxy/pkg/middleware/accesslog.go similarity index 100% rename from extensions/proxy/pkg/middleware/accesslog.go rename to services/proxy/pkg/middleware/accesslog.go diff --git a/extensions/proxy/pkg/middleware/account_resolver.go b/services/proxy/pkg/middleware/account_resolver.go similarity index 98% rename from extensions/proxy/pkg/middleware/account_resolver.go rename to services/proxy/pkg/middleware/account_resolver.go index 451eeee7a..2972264d5 100644 --- a/extensions/proxy/pkg/middleware/account_resolver.go +++ b/services/proxy/pkg/middleware/account_resolver.go @@ -4,7 +4,7 @@ import ( "errors" "net/http" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/user/backend" + "github.com/owncloud/ocis/v2/services/proxy/pkg/user/backend" revactx "github.com/cs3org/reva/v2/pkg/ctx" "github.com/owncloud/ocis/v2/ocis-pkg/log" diff --git a/extensions/proxy/pkg/middleware/account_resolver_test.go b/services/proxy/pkg/middleware/account_resolver_test.go similarity index 95% rename from extensions/proxy/pkg/middleware/account_resolver_test.go rename to services/proxy/pkg/middleware/account_resolver_test.go index 7da0d9a5e..14a74225c 100644 --- a/extensions/proxy/pkg/middleware/account_resolver_test.go +++ b/services/proxy/pkg/middleware/account_resolver_test.go @@ -10,11 +10,11 @@ import ( "github.com/cs3org/reva/v2/pkg/auth/scope" revactx "github.com/cs3org/reva/v2/pkg/ctx" "github.com/cs3org/reva/v2/pkg/token/manager/jwt" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/user/backend" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/user/backend/test" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/oidc" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" + "github.com/owncloud/ocis/v2/services/proxy/pkg/user/backend" + "github.com/owncloud/ocis/v2/services/proxy/pkg/user/backend/test" "github.com/stretchr/testify/assert" ) diff --git a/extensions/proxy/pkg/middleware/authentication.go b/services/proxy/pkg/middleware/authentication.go similarity index 100% rename from extensions/proxy/pkg/middleware/authentication.go rename to services/proxy/pkg/middleware/authentication.go diff --git a/extensions/proxy/pkg/middleware/basic_auth.go b/services/proxy/pkg/middleware/basic_auth.go similarity index 97% rename from extensions/proxy/pkg/middleware/basic_auth.go rename to services/proxy/pkg/middleware/basic_auth.go index 5d54283cb..b7d480d87 100644 --- a/extensions/proxy/pkg/middleware/basic_auth.go +++ b/services/proxy/pkg/middleware/basic_auth.go @@ -5,10 +5,10 @@ import ( "net/http" "strings" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/user/backend" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/webdav" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/oidc" + "github.com/owncloud/ocis/v2/services/proxy/pkg/user/backend" + "github.com/owncloud/ocis/v2/services/proxy/pkg/webdav" ) // BasicAuth provides a middleware to check if BasicAuth is provided diff --git a/extensions/proxy/pkg/middleware/basic_auth_test.go b/services/proxy/pkg/middleware/basic_auth_test.go similarity index 100% rename from extensions/proxy/pkg/middleware/basic_auth_test.go rename to services/proxy/pkg/middleware/basic_auth_test.go diff --git a/extensions/proxy/pkg/middleware/create_home.go b/services/proxy/pkg/middleware/create_home.go similarity index 100% rename from extensions/proxy/pkg/middleware/create_home.go rename to services/proxy/pkg/middleware/create_home.go diff --git a/extensions/proxy/pkg/middleware/https_redirect.go b/services/proxy/pkg/middleware/https_redirect.go similarity index 100% rename from extensions/proxy/pkg/middleware/https_redirect.go rename to services/proxy/pkg/middleware/https_redirect.go diff --git a/extensions/proxy/pkg/middleware/oidc_auth.go b/services/proxy/pkg/middleware/oidc_auth.go similarity index 98% rename from extensions/proxy/pkg/middleware/oidc_auth.go rename to services/proxy/pkg/middleware/oidc_auth.go index a115fd10a..332b5eb6e 100644 --- a/extensions/proxy/pkg/middleware/oidc_auth.go +++ b/services/proxy/pkg/middleware/oidc_auth.go @@ -9,10 +9,10 @@ import ( "github.com/golang-jwt/jwt/v4" gOidc "github.com/coreos/go-oidc/v3/oidc" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/oidc" "github.com/owncloud/ocis/v2/ocis-pkg/sync" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" "golang.org/x/oauth2" ) diff --git a/extensions/proxy/pkg/middleware/oidc_auth_test.go b/services/proxy/pkg/middleware/oidc_auth_test.go similarity index 100% rename from extensions/proxy/pkg/middleware/oidc_auth_test.go rename to services/proxy/pkg/middleware/oidc_auth_test.go diff --git a/extensions/proxy/pkg/middleware/options.go b/services/proxy/pkg/middleware/options.go similarity index 97% rename from extensions/proxy/pkg/middleware/options.go rename to services/proxy/pkg/middleware/options.go index 6701e71b1..63994ee8e 100644 --- a/extensions/proxy/pkg/middleware/options.go +++ b/services/proxy/pkg/middleware/options.go @@ -4,14 +4,14 @@ import ( "net/http" "time" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/user/backend" + "github.com/owncloud/ocis/v2/services/proxy/pkg/user/backend" settingssvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/settings/v0" storesvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/store/v0" gateway "github.com/cs3org/go-cs3apis/cs3/gateway/v1beta1" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" ) // Option defines a single option function. diff --git a/extensions/proxy/pkg/middleware/public_share_auth.go b/services/proxy/pkg/middleware/public_share_auth.go similarity index 100% rename from extensions/proxy/pkg/middleware/public_share_auth.go rename to services/proxy/pkg/middleware/public_share_auth.go diff --git a/extensions/proxy/pkg/middleware/selector_cookie.go b/services/proxy/pkg/middleware/selector_cookie.go similarity index 92% rename from extensions/proxy/pkg/middleware/selector_cookie.go rename to services/proxy/pkg/middleware/selector_cookie.go index 1c99ba411..f0ec0d1f2 100644 --- a/extensions/proxy/pkg/middleware/selector_cookie.go +++ b/services/proxy/pkg/middleware/selector_cookie.go @@ -3,10 +3,10 @@ package middleware import ( "net/http" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/proxy/policy" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/oidc" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" + "github.com/owncloud/ocis/v2/services/proxy/pkg/proxy/policy" ) // SelectorCookie provides a middleware which diff --git a/extensions/proxy/pkg/middleware/signed_url_auth.go b/services/proxy/pkg/middleware/signed_url_auth.go similarity index 98% rename from extensions/proxy/pkg/middleware/signed_url_auth.go rename to services/proxy/pkg/middleware/signed_url_auth.go index e917d3e7a..d71036d5a 100644 --- a/extensions/proxy/pkg/middleware/signed_url_auth.go +++ b/services/proxy/pkg/middleware/signed_url_auth.go @@ -12,11 +12,11 @@ import ( "time" revactx "github.com/cs3org/reva/v2/pkg/ctx" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/user/backend" "github.com/owncloud/ocis/v2/ocis-pkg/log" storemsg "github.com/owncloud/ocis/v2/protogen/gen/ocis/messages/store/v0" storesvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/store/v0" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" + "github.com/owncloud/ocis/v2/services/proxy/pkg/user/backend" "golang.org/x/crypto/pbkdf2" ) diff --git a/extensions/proxy/pkg/middleware/signed_url_auth_test.go b/services/proxy/pkg/middleware/signed_url_auth_test.go similarity index 100% rename from extensions/proxy/pkg/middleware/signed_url_auth_test.go rename to services/proxy/pkg/middleware/signed_url_auth_test.go diff --git a/extensions/proxy/pkg/proxy/option.go b/services/proxy/pkg/proxy/option.go similarity index 92% rename from extensions/proxy/pkg/proxy/option.go rename to services/proxy/pkg/proxy/option.go index 13d8b461e..628e9087c 100644 --- a/extensions/proxy/pkg/proxy/option.go +++ b/services/proxy/pkg/proxy/option.go @@ -1,8 +1,8 @@ package proxy import ( - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" ) // Option defines a single option function. diff --git a/extensions/proxy/pkg/proxy/policy/selector.go b/services/proxy/pkg/proxy/policy/selector.go similarity index 99% rename from extensions/proxy/pkg/proxy/policy/selector.go rename to services/proxy/pkg/proxy/policy/selector.go index f462d26c8..05cf5d3a4 100644 --- a/extensions/proxy/pkg/proxy/policy/selector.go +++ b/services/proxy/pkg/proxy/policy/selector.go @@ -7,8 +7,8 @@ import ( "sort" revactx "github.com/cs3org/reva/v2/pkg/ctx" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/oidc" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" ) var ( diff --git a/extensions/proxy/pkg/proxy/policy/selector_test.go b/services/proxy/pkg/proxy/policy/selector_test.go similarity index 98% rename from extensions/proxy/pkg/proxy/policy/selector_test.go rename to services/proxy/pkg/proxy/policy/selector_test.go index ebe344fd3..182138226 100644 --- a/extensions/proxy/pkg/proxy/policy/selector_test.go +++ b/services/proxy/pkg/proxy/policy/selector_test.go @@ -8,8 +8,8 @@ import ( userv1beta1 "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1" revactx "github.com/cs3org/reva/v2/pkg/ctx" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/oidc" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" ) func TestLoadSelector(t *testing.T) { diff --git a/extensions/proxy/pkg/proxy/proxy.go b/services/proxy/pkg/proxy/proxy.go similarity index 97% rename from extensions/proxy/pkg/proxy/proxy.go rename to services/proxy/pkg/proxy/proxy.go index 6d27096ec..a275d788b 100644 --- a/extensions/proxy/pkg/proxy/proxy.go +++ b/services/proxy/pkg/proxy/proxy.go @@ -16,12 +16,12 @@ import ( "go.opentelemetry.io/otel/attribute" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/proxy/policy" - proxytracing "github.com/owncloud/ocis/v2/extensions/proxy/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/registry" pkgtrace "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" + "github.com/owncloud/ocis/v2/services/proxy/pkg/proxy/policy" + proxytracing "github.com/owncloud/ocis/v2/services/proxy/pkg/tracing" "go.opentelemetry.io/otel/propagation" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/proxy/pkg/proxy/proxy_integration_test.go b/services/proxy/pkg/proxy/proxy_integration_test.go similarity index 98% rename from extensions/proxy/pkg/proxy/proxy_integration_test.go rename to services/proxy/pkg/proxy/proxy_integration_test.go index afe0145cc..7f173d689 100644 --- a/extensions/proxy/pkg/proxy/proxy_integration_test.go +++ b/services/proxy/pkg/proxy/proxy_integration_test.go @@ -10,7 +10,7 @@ import ( "net/url" "testing" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" ) func TestProxyIntegration(t *testing.T) { diff --git a/extensions/proxy/pkg/proxy/proxy_test.go b/services/proxy/pkg/proxy/proxy_test.go similarity index 97% rename from extensions/proxy/pkg/proxy/proxy_test.go rename to services/proxy/pkg/proxy/proxy_test.go index e270b640f..0fa67a77b 100644 --- a/extensions/proxy/pkg/proxy/proxy_test.go +++ b/services/proxy/pkg/proxy/proxy_test.go @@ -7,8 +7,8 @@ import ( "net/url" "testing" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config/defaults" ) type matchertest struct { diff --git a/services/proxy/pkg/server/debug/option.go b/services/proxy/pkg/server/debug/option.go new file mode 100644 index 000000000..5174c60d4 --- /dev/null +++ b/services/proxy/pkg/server/debug/option.go @@ -0,0 +1,50 @@ +package debug + +import ( + "context" + + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" +) + +// Option defines a single option function. +type Option func(o *Options) + +// Options defines the available options for this package. +type Options struct { + Logger log.Logger + Context context.Context + Config *config.Config +} + +// newOptions initializes the available default options. +func newOptions(opts ...Option) Options { + opt := Options{} + + for _, o := range opts { + o(&opt) + } + + return opt +} + +// Logger provides a function to set the logger option. +func Logger(val log.Logger) Option { + return func(o *Options) { + o.Logger = val + } +} + +// Context provides a function to set the context option. +func Context(val context.Context) Option { + return func(o *Options) { + o.Context = val + } +} + +// Config provides a function to set the config option. +func Config(val *config.Config) Option { + return func(o *Options) { + o.Config = val + } +} diff --git a/extensions/proxy/pkg/server/debug/server.go b/services/proxy/pkg/server/debug/server.go similarity index 97% rename from extensions/proxy/pkg/server/debug/server.go rename to services/proxy/pkg/server/debug/server.go index 02d7d3f0b..ccc766ab3 100644 --- a/extensions/proxy/pkg/server/debug/server.go +++ b/services/proxy/pkg/server/debug/server.go @@ -5,9 +5,9 @@ import ( "io" "net/http" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" ) // Server initializes the debug service and server. diff --git a/extensions/proxy/pkg/server/http/option.go b/services/proxy/pkg/server/http/option.go similarity index 93% rename from extensions/proxy/pkg/server/http/option.go rename to services/proxy/pkg/server/http/option.go index ebe89721b..3955118fd 100644 --- a/extensions/proxy/pkg/server/http/option.go +++ b/services/proxy/pkg/server/http/option.go @@ -5,9 +5,9 @@ import ( "net/http" "github.com/justinas/alice" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/metrics" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" + "github.com/owncloud/ocis/v2/services/proxy/pkg/metrics" "github.com/urfave/cli/v2" ) diff --git a/extensions/proxy/pkg/server/http/server.go b/services/proxy/pkg/server/http/server.go similarity index 100% rename from extensions/proxy/pkg/server/http/server.go rename to services/proxy/pkg/server/http/server.go diff --git a/extensions/proxy/pkg/tracing/tracing.go b/services/proxy/pkg/tracing/tracing.go similarity index 89% rename from extensions/proxy/pkg/tracing/tracing.go rename to services/proxy/pkg/tracing/tracing.go index 7b6db6d58..b8a07b12c 100644 --- a/extensions/proxy/pkg/tracing/tracing.go +++ b/services/proxy/pkg/tracing/tracing.go @@ -1,8 +1,8 @@ package tracing import ( - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" pkgtrace "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/proxy/pkg/config" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/proxy/pkg/user/backend/backend.go b/services/proxy/pkg/user/backend/backend.go similarity index 100% rename from extensions/proxy/pkg/user/backend/backend.go rename to services/proxy/pkg/user/backend/backend.go diff --git a/extensions/proxy/pkg/user/backend/cs3.go b/services/proxy/pkg/user/backend/cs3.go similarity index 98% rename from extensions/proxy/pkg/user/backend/cs3.go rename to services/proxy/pkg/user/backend/cs3.go index 57fbb552b..cad1139a2 100644 --- a/extensions/proxy/pkg/user/backend/cs3.go +++ b/services/proxy/pkg/user/backend/cs3.go @@ -16,12 +16,12 @@ import ( revactx "github.com/cs3org/reva/v2/pkg/ctx" "github.com/cs3org/reva/v2/pkg/token" libregraph "github.com/owncloud/libre-graph-api-go" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/service/v0/errorcode" - settingsService "github.com/owncloud/ocis/v2/extensions/settings/pkg/service/v0" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/oidc" "github.com/owncloud/ocis/v2/ocis-pkg/registry" settingssvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/settings/v0" + "github.com/owncloud/ocis/v2/services/graph/pkg/service/v0/errorcode" + settingsService "github.com/owncloud/ocis/v2/services/settings/pkg/service/v0" merrors "go-micro.dev/v4/errors" "go-micro.dev/v4/selector" ) diff --git a/extensions/proxy/pkg/user/backend/test/backend_mock.go b/services/proxy/pkg/user/backend/test/backend_mock.go similarity index 99% rename from extensions/proxy/pkg/user/backend/test/backend_mock.go rename to services/proxy/pkg/user/backend/test/backend_mock.go index fbcaf5d7a..49c642a29 100644 --- a/extensions/proxy/pkg/user/backend/test/backend_mock.go +++ b/services/proxy/pkg/user/backend/test/backend_mock.go @@ -8,7 +8,7 @@ import ( "sync" userv1beta1 "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/user/backend" + "github.com/owncloud/ocis/v2/services/proxy/pkg/user/backend" ) // Ensure, that UserBackendMock does implement UserBackend. diff --git a/extensions/proxy/pkg/webdav/response.go b/services/proxy/pkg/webdav/response.go similarity index 100% rename from extensions/proxy/pkg/webdav/response.go rename to services/proxy/pkg/webdav/response.go diff --git a/extensions/proxy/pkg/webdav/webdav.go b/services/proxy/pkg/webdav/webdav.go similarity index 100% rename from extensions/proxy/pkg/webdav/webdav.go rename to services/proxy/pkg/webdav/webdav.go diff --git a/services/search/cmd/search/main.go b/services/search/cmd/search/main.go new file mode 100644 index 000000000..70103e7bf --- /dev/null +++ b/services/search/cmd/search/main.go @@ -0,0 +1,14 @@ +package main + +import ( + "os" + + "github.com/owncloud/ocis/v2/services/search/pkg/command" + "github.com/owncloud/ocis/v2/services/search/pkg/config/defaults" +) + +func main() { + if err := command.Execute(defaults.DefaultConfig()); err != nil { + os.Exit(1) + } +} diff --git a/extensions/search/pkg/command/health.go b/services/search/pkg/command/health.go similarity index 83% rename from extensions/search/pkg/command/health.go rename to services/search/pkg/command/health.go index 9ce5a68dd..21060de80 100644 --- a/extensions/search/pkg/command/health.go +++ b/services/search/pkg/command/health.go @@ -4,9 +4,9 @@ import ( "fmt" "net/http" - "github.com/owncloud/ocis/v2/extensions/search/pkg/config" - "github.com/owncloud/ocis/v2/extensions/search/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/search/pkg/logging" + "github.com/owncloud/ocis/v2/services/search/pkg/config" + "github.com/owncloud/ocis/v2/services/search/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/search/pkg/logging" "github.com/urfave/cli/v2" ) diff --git a/extensions/search/pkg/command/index.go b/services/search/pkg/command/index.go similarity index 91% rename from extensions/search/pkg/command/index.go rename to services/search/pkg/command/index.go index 4e6ecc65c..981395164 100644 --- a/extensions/search/pkg/command/index.go +++ b/services/search/pkg/command/index.go @@ -6,10 +6,10 @@ import ( "github.com/urfave/cli/v2" - "github.com/owncloud/ocis/v2/extensions/search/pkg/config" - "github.com/owncloud/ocis/v2/extensions/search/pkg/config/parser" "github.com/owncloud/ocis/v2/ocis-pkg/service/grpc" searchsvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/search/v0" + "github.com/owncloud/ocis/v2/services/search/pkg/config" + "github.com/owncloud/ocis/v2/services/search/pkg/config/parser" ) // Index is the entrypoint for the server command. diff --git a/extensions/search/pkg/command/root.go b/services/search/pkg/command/root.go similarity index 95% rename from extensions/search/pkg/command/root.go rename to services/search/pkg/command/root.go index 5bc7db0e4..204aab9f8 100644 --- a/extensions/search/pkg/command/root.go +++ b/services/search/pkg/command/root.go @@ -7,8 +7,8 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" "github.com/thejerf/suture/v4" - "github.com/owncloud/ocis/v2/extensions/search/pkg/config" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/search/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/search/pkg/command/server.go b/services/search/pkg/command/server.go similarity index 79% rename from extensions/search/pkg/command/server.go rename to services/search/pkg/command/server.go index 2c72c8e07..ab6284edf 100644 --- a/extensions/search/pkg/command/server.go +++ b/services/search/pkg/command/server.go @@ -6,14 +6,14 @@ import ( "os" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/search/pkg/config" - "github.com/owncloud/ocis/v2/extensions/search/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/search/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/search/pkg/metrics" - "github.com/owncloud/ocis/v2/extensions/search/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/search/pkg/server/grpc" - "github.com/owncloud/ocis/v2/extensions/search/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/search/pkg/config" + "github.com/owncloud/ocis/v2/services/search/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/search/pkg/logging" + "github.com/owncloud/ocis/v2/services/search/pkg/metrics" + "github.com/owncloud/ocis/v2/services/search/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/search/pkg/server/grpc" + "github.com/owncloud/ocis/v2/services/search/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/extensions/search/pkg/command/version.go b/services/search/pkg/command/version.go similarity index 95% rename from extensions/search/pkg/command/version.go rename to services/search/pkg/command/version.go index ac5ca55ab..9aba6033b 100644 --- a/extensions/search/pkg/command/version.go +++ b/services/search/pkg/command/version.go @@ -8,7 +8,7 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/version" tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/search/pkg/config" + "github.com/owncloud/ocis/v2/services/search/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/search/pkg/config/config.go b/services/search/pkg/config/config.go similarity index 100% rename from extensions/search/pkg/config/config.go rename to services/search/pkg/config/config.go diff --git a/extensions/search/pkg/config/debug.go b/services/search/pkg/config/debug.go similarity index 100% rename from extensions/search/pkg/config/debug.go rename to services/search/pkg/config/debug.go diff --git a/extensions/search/pkg/config/defaults/defaultconfig.go b/services/search/pkg/config/defaults/defaultconfig.go similarity index 96% rename from extensions/search/pkg/config/defaults/defaultconfig.go rename to services/search/pkg/config/defaults/defaultconfig.go index 8eed2a216..213dfc5ab 100644 --- a/extensions/search/pkg/config/defaults/defaultconfig.go +++ b/services/search/pkg/config/defaults/defaultconfig.go @@ -3,8 +3,8 @@ package defaults import ( "path" - "github.com/owncloud/ocis/v2/extensions/search/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/search/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/search/pkg/config/grpc.go b/services/search/pkg/config/grpc.go similarity index 100% rename from extensions/search/pkg/config/grpc.go rename to services/search/pkg/config/grpc.go diff --git a/extensions/search/pkg/config/http.go b/services/search/pkg/config/http.go similarity index 100% rename from extensions/search/pkg/config/http.go rename to services/search/pkg/config/http.go diff --git a/extensions/search/pkg/config/log.go b/services/search/pkg/config/log.go similarity index 100% rename from extensions/search/pkg/config/log.go rename to services/search/pkg/config/log.go diff --git a/extensions/search/pkg/config/parser/parse.go b/services/search/pkg/config/parser/parse.go similarity index 87% rename from extensions/search/pkg/config/parser/parse.go rename to services/search/pkg/config/parser/parse.go index 8be7eb621..fafad8f84 100644 --- a/extensions/search/pkg/config/parser/parse.go +++ b/services/search/pkg/config/parser/parse.go @@ -3,10 +3,10 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/search/pkg/config" - "github.com/owncloud/ocis/v2/extensions/search/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/search/pkg/config" + "github.com/owncloud/ocis/v2/services/search/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/search/pkg/config/reva.go b/services/search/pkg/config/reva.go similarity index 100% rename from extensions/search/pkg/config/reva.go rename to services/search/pkg/config/reva.go diff --git a/extensions/search/pkg/config/service.go b/services/search/pkg/config/service.go similarity index 100% rename from extensions/search/pkg/config/service.go rename to services/search/pkg/config/service.go diff --git a/extensions/search/pkg/config/tracing.go b/services/search/pkg/config/tracing.go similarity index 100% rename from extensions/search/pkg/config/tracing.go rename to services/search/pkg/config/tracing.go diff --git a/services/search/pkg/logging/logging.go b/services/search/pkg/logging/logging.go new file mode 100644 index 000000000..28f1aebef --- /dev/null +++ b/services/search/pkg/logging/logging.go @@ -0,0 +1,17 @@ +package logging + +import ( + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/search/pkg/config" +) + +// LoggerFromConfig initializes a service-specific logger instance. +func Configure(name string, cfg *config.Log) log.Logger { + return log.NewLogger( + log.Name(name), + log.Level(cfg.Level), + log.Pretty(cfg.Pretty), + log.Color(cfg.Color), + log.File(cfg.File), + ) +} diff --git a/extensions/search/pkg/metrics/metrics.go b/services/search/pkg/metrics/metrics.go similarity index 100% rename from extensions/search/pkg/metrics/metrics.go rename to services/search/pkg/metrics/metrics.go diff --git a/extensions/search/pkg/search/index/index.go b/services/search/pkg/search/index/index.go similarity index 100% rename from extensions/search/pkg/search/index/index.go rename to services/search/pkg/search/index/index.go diff --git a/extensions/search/pkg/search/index/index_suite_test.go b/services/search/pkg/search/index/index_suite_test.go similarity index 100% rename from extensions/search/pkg/search/index/index_suite_test.go rename to services/search/pkg/search/index/index_suite_test.go diff --git a/extensions/search/pkg/search/index/index_test.go b/services/search/pkg/search/index/index_test.go similarity index 99% rename from extensions/search/pkg/search/index/index_test.go rename to services/search/pkg/search/index/index_test.go index 7d7b0afc4..cbc77cf16 100644 --- a/extensions/search/pkg/search/index/index_test.go +++ b/services/search/pkg/search/index/index_test.go @@ -6,9 +6,9 @@ import ( "github.com/blevesearch/bleve/v2" sprovider "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1" typesv1beta1 "github.com/cs3org/go-cs3apis/cs3/types/v1beta1" - "github.com/owncloud/ocis/v2/extensions/search/pkg/search/index" searchmsg "github.com/owncloud/ocis/v2/protogen/gen/ocis/messages/search/v0" searchsvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/search/v0" + "github.com/owncloud/ocis/v2/services/search/pkg/search/index" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" diff --git a/extensions/search/pkg/search/index/mocks/BleveIndex.go b/services/search/pkg/search/index/mocks/BleveIndex.go similarity index 100% rename from extensions/search/pkg/search/index/mocks/BleveIndex.go rename to services/search/pkg/search/index/mocks/BleveIndex.go diff --git a/extensions/search/pkg/search/mocks/IndexClient.go b/services/search/pkg/search/mocks/IndexClient.go similarity index 100% rename from extensions/search/pkg/search/mocks/IndexClient.go rename to services/search/pkg/search/mocks/IndexClient.go diff --git a/extensions/search/pkg/search/mocks/ProviderClient.go b/services/search/pkg/search/mocks/ProviderClient.go similarity index 100% rename from extensions/search/pkg/search/mocks/ProviderClient.go rename to services/search/pkg/search/mocks/ProviderClient.go diff --git a/extensions/search/pkg/search/provider/events.go b/services/search/pkg/search/provider/events.go similarity index 100% rename from extensions/search/pkg/search/provider/events.go rename to services/search/pkg/search/provider/events.go diff --git a/extensions/search/pkg/search/provider/events_test.go b/services/search/pkg/search/provider/events_test.go similarity index 97% rename from extensions/search/pkg/search/provider/events_test.go rename to services/search/pkg/search/provider/events_test.go index f90b9b0e2..b1c9dfdc5 100644 --- a/extensions/search/pkg/search/provider/events_test.go +++ b/services/search/pkg/search/provider/events_test.go @@ -13,9 +13,9 @@ import ( "github.com/cs3org/reva/v2/pkg/events" "github.com/cs3org/reva/v2/pkg/rgrpc/status" cs3mocks "github.com/cs3org/reva/v2/tests/cs3mocks/mocks" - "github.com/owncloud/ocis/v2/extensions/search/pkg/search/mocks" - provider "github.com/owncloud/ocis/v2/extensions/search/pkg/search/provider" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/search/pkg/search/mocks" + provider "github.com/owncloud/ocis/v2/services/search/pkg/search/provider" ) var _ = Describe("Searchprovider", func() { diff --git a/extensions/search/pkg/search/provider/provider_suite_test.go b/services/search/pkg/search/provider/provider_suite_test.go similarity index 100% rename from extensions/search/pkg/search/provider/provider_suite_test.go rename to services/search/pkg/search/provider/provider_suite_test.go diff --git a/extensions/search/pkg/search/provider/searchprovider.go b/services/search/pkg/search/provider/searchprovider.go similarity index 99% rename from extensions/search/pkg/search/provider/searchprovider.go rename to services/search/pkg/search/provider/searchprovider.go index 5b0301c8e..310909021 100644 --- a/extensions/search/pkg/search/provider/searchprovider.go +++ b/services/search/pkg/search/provider/searchprovider.go @@ -19,8 +19,8 @@ import ( "github.com/cs3org/reva/v2/pkg/storage/utils/walker" "github.com/cs3org/reva/v2/pkg/storagespace" "github.com/cs3org/reva/v2/pkg/utils" - "github.com/owncloud/ocis/v2/extensions/search/pkg/search" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/search/pkg/search" "google.golang.org/grpc/metadata" searchmsg "github.com/owncloud/ocis/v2/protogen/gen/ocis/messages/search/v0" diff --git a/extensions/search/pkg/search/provider/searchprovider_test.go b/services/search/pkg/search/provider/searchprovider_test.go similarity index 98% rename from extensions/search/pkg/search/provider/searchprovider_test.go rename to services/search/pkg/search/provider/searchprovider_test.go index 5f7278273..ee131614a 100644 --- a/extensions/search/pkg/search/provider/searchprovider_test.go +++ b/services/search/pkg/search/provider/searchprovider_test.go @@ -13,11 +13,11 @@ import ( typesv1beta1 "github.com/cs3org/go-cs3apis/cs3/types/v1beta1" "github.com/cs3org/reva/v2/pkg/rgrpc/status" cs3mocks "github.com/cs3org/reva/v2/tests/cs3mocks/mocks" - "github.com/owncloud/ocis/v2/extensions/search/pkg/search/mocks" - provider "github.com/owncloud/ocis/v2/extensions/search/pkg/search/provider" "github.com/owncloud/ocis/v2/ocis-pkg/log" searchmsg "github.com/owncloud/ocis/v2/protogen/gen/ocis/messages/search/v0" searchsvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/search/v0" + "github.com/owncloud/ocis/v2/services/search/pkg/search/mocks" + provider "github.com/owncloud/ocis/v2/services/search/pkg/search/provider" ) var _ = Describe("Searchprovider", func() { diff --git a/extensions/search/pkg/search/search.go b/services/search/pkg/search/search.go similarity index 100% rename from extensions/search/pkg/search/search.go rename to services/search/pkg/search/search.go diff --git a/extensions/search/pkg/search/search_suite_test.go b/services/search/pkg/search/search_suite_test.go similarity index 100% rename from extensions/search/pkg/search/search_suite_test.go rename to services/search/pkg/search/search_suite_test.go diff --git a/services/search/pkg/server/debug/option.go b/services/search/pkg/server/debug/option.go new file mode 100644 index 000000000..9ee332992 --- /dev/null +++ b/services/search/pkg/server/debug/option.go @@ -0,0 +1,50 @@ +package debug + +import ( + "context" + + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/search/pkg/config" +) + +// Option defines a single option function. +type Option func(o *Options) + +// Options defines the available options for this package. +type Options struct { + Logger log.Logger + Context context.Context + Config *config.Config +} + +// newOptions initializes the available default options. +func newOptions(opts ...Option) Options { + opt := Options{} + + for _, o := range opts { + o(&opt) + } + + return opt +} + +// Logger provides a function to set the logger option. +func Logger(val log.Logger) Option { + return func(o *Options) { + o.Logger = val + } +} + +// Context provides a function to set the context option. +func Context(val context.Context) Option { + return func(o *Options) { + o.Context = val + } +} + +// Config provides a function to set the config option. +func Config(val *config.Config) Option { + return func(o *Options) { + o.Config = val + } +} diff --git a/extensions/graph/pkg/server/debug/server.go b/services/search/pkg/server/debug/server.go similarity index 96% rename from extensions/graph/pkg/server/debug/server.go rename to services/search/pkg/server/debug/server.go index ba4eed23a..db1e4cedd 100644 --- a/extensions/graph/pkg/server/debug/server.go +++ b/services/search/pkg/server/debug/server.go @@ -4,9 +4,9 @@ import ( "io" "net/http" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/search/pkg/config" ) // Server initializes the debug service and server. diff --git a/extensions/search/pkg/server/grpc/option.go b/services/search/pkg/server/grpc/option.go similarity index 89% rename from extensions/search/pkg/server/grpc/option.go rename to services/search/pkg/server/grpc/option.go index ddd6eab88..1aec67b00 100644 --- a/extensions/search/pkg/server/grpc/option.go +++ b/services/search/pkg/server/grpc/option.go @@ -3,10 +3,10 @@ package grpc import ( "context" - "github.com/owncloud/ocis/v2/extensions/search/pkg/config" - "github.com/owncloud/ocis/v2/extensions/search/pkg/metrics" - svc "github.com/owncloud/ocis/v2/extensions/search/pkg/service/v0" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/search/pkg/config" + "github.com/owncloud/ocis/v2/services/search/pkg/metrics" + svc "github.com/owncloud/ocis/v2/services/search/pkg/service/v0" "github.com/urfave/cli/v2" ) diff --git a/extensions/search/pkg/server/grpc/server.go b/services/search/pkg/server/grpc/server.go similarity index 93% rename from extensions/search/pkg/server/grpc/server.go rename to services/search/pkg/server/grpc/server.go index a604223d8..28bad68a3 100644 --- a/extensions/search/pkg/server/grpc/server.go +++ b/services/search/pkg/server/grpc/server.go @@ -1,10 +1,10 @@ package grpc import ( - svc "github.com/owncloud/ocis/v2/extensions/search/pkg/service/v0" "github.com/owncloud/ocis/v2/ocis-pkg/service/grpc" "github.com/owncloud/ocis/v2/ocis-pkg/version" searchsvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/search/v0" + svc "github.com/owncloud/ocis/v2/services/search/pkg/service/v0" ) // Server initializes a new go-micro service ready to run diff --git a/extensions/search/pkg/service/v0/option.go b/services/search/pkg/service/v0/option.go similarity index 91% rename from extensions/search/pkg/service/v0/option.go rename to services/search/pkg/service/v0/option.go index cb4e4bdca..9f1a7d19e 100644 --- a/extensions/search/pkg/service/v0/option.go +++ b/services/search/pkg/service/v0/option.go @@ -1,8 +1,8 @@ package service import ( - "github.com/owncloud/ocis/v2/extensions/search/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/search/pkg/config" ) // Option defines a single option function. diff --git a/extensions/search/pkg/service/v0/service.go b/services/search/pkg/service/v0/service.go similarity index 91% rename from extensions/search/pkg/service/v0/service.go rename to services/search/pkg/service/v0/service.go index 235b56101..d3fd24724 100644 --- a/extensions/search/pkg/service/v0/service.go +++ b/services/search/pkg/service/v0/service.go @@ -14,12 +14,12 @@ import ( "go-micro.dev/v4/metadata" grpcmetadata "google.golang.org/grpc/metadata" - "github.com/owncloud/ocis/v2/extensions/search/pkg/config" - "github.com/owncloud/ocis/v2/extensions/search/pkg/search" - "github.com/owncloud/ocis/v2/extensions/search/pkg/search/index" - searchprovider "github.com/owncloud/ocis/v2/extensions/search/pkg/search/provider" "github.com/owncloud/ocis/v2/ocis-pkg/log" searchsvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/search/v0" + "github.com/owncloud/ocis/v2/services/search/pkg/config" + "github.com/owncloud/ocis/v2/services/search/pkg/search" + "github.com/owncloud/ocis/v2/services/search/pkg/search/index" + searchprovider "github.com/owncloud/ocis/v2/services/search/pkg/search/provider" ) // NewHandler returns a service implementation for Service. diff --git a/extensions/webdav/pkg/tracing/tracing.go b/services/search/pkg/tracing/tracing.go similarity index 89% rename from extensions/webdav/pkg/tracing/tracing.go rename to services/search/pkg/tracing/tracing.go index 6e7d39a3b..a9778903d 100644 --- a/extensions/webdav/pkg/tracing/tracing.go +++ b/services/search/pkg/tracing/tracing.go @@ -1,8 +1,8 @@ package tracing import ( - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/config" pkgtrace "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/search/pkg/config" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/settings/.dockerignore b/services/settings/.dockerignore similarity index 100% rename from extensions/settings/.dockerignore rename to services/settings/.dockerignore diff --git a/extensions/settings/.eslintrc.json b/services/settings/.eslintrc.json similarity index 100% rename from extensions/settings/.eslintrc.json rename to services/settings/.eslintrc.json diff --git a/extensions/settings/.gitignore b/services/settings/.gitignore similarity index 100% rename from extensions/settings/.gitignore rename to services/settings/.gitignore diff --git a/extensions/settings/.golangci.yml b/services/settings/.golangci.yml similarity index 100% rename from extensions/settings/.golangci.yml rename to services/settings/.golangci.yml diff --git a/extensions/settings/.yarn/releases/yarn-stable-temp.cjs b/services/settings/.yarn/releases/yarn-stable-temp.cjs similarity index 100% rename from extensions/settings/.yarn/releases/yarn-stable-temp.cjs rename to services/settings/.yarn/releases/yarn-stable-temp.cjs diff --git a/extensions/settings/Makefile b/services/settings/Makefile similarity index 100% rename from extensions/settings/Makefile rename to services/settings/Makefile diff --git a/extensions/settings/assets/.keep b/services/settings/assets/.keep similarity index 100% rename from extensions/settings/assets/.keep rename to services/settings/assets/.keep diff --git a/extensions/settings/babel.config.js b/services/settings/babel.config.js similarity index 100% rename from extensions/settings/babel.config.js rename to services/settings/babel.config.js diff --git a/extensions/webdav/cmd/webdav/main.go b/services/settings/cmd/settings/main.go similarity index 52% rename from extensions/webdav/cmd/webdav/main.go rename to services/settings/cmd/settings/main.go index 48bb27dc7..1e21338dd 100644 --- a/extensions/webdav/cmd/webdav/main.go +++ b/services/settings/cmd/settings/main.go @@ -3,8 +3,8 @@ package main import ( "os" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/command" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/settings/pkg/command" + "github.com/owncloud/ocis/v2/services/settings/pkg/config/defaults" ) func main() { diff --git a/extensions/settings/docker/Dockerfile.linux.amd64 b/services/settings/docker/Dockerfile.linux.amd64 similarity index 100% rename from extensions/settings/docker/Dockerfile.linux.amd64 rename to services/settings/docker/Dockerfile.linux.amd64 diff --git a/extensions/settings/docker/Dockerfile.linux.arm b/services/settings/docker/Dockerfile.linux.arm similarity index 100% rename from extensions/settings/docker/Dockerfile.linux.arm rename to services/settings/docker/Dockerfile.linux.arm diff --git a/extensions/settings/docker/Dockerfile.linux.arm64 b/services/settings/docker/Dockerfile.linux.arm64 similarity index 100% rename from extensions/settings/docker/Dockerfile.linux.arm64 rename to services/settings/docker/Dockerfile.linux.arm64 diff --git a/extensions/settings/docker/manifest.tmpl b/services/settings/docker/manifest.tmpl similarity index 100% rename from extensions/settings/docker/manifest.tmpl rename to services/settings/docker/manifest.tmpl diff --git a/extensions/settings/l10n/.tx/config b/services/settings/l10n/.tx/config similarity index 100% rename from extensions/settings/l10n/.tx/config rename to services/settings/l10n/.tx/config diff --git a/extensions/settings/l10n/translations.json b/services/settings/l10n/translations.json similarity index 100% rename from extensions/settings/l10n/translations.json rename to services/settings/l10n/translations.json diff --git a/extensions/settings/nightwatch.conf.js b/services/settings/nightwatch.conf.js similarity index 100% rename from extensions/settings/nightwatch.conf.js rename to services/settings/nightwatch.conf.js diff --git a/extensions/settings/package.json b/services/settings/package.json similarity index 100% rename from extensions/settings/package.json rename to services/settings/package.json diff --git a/extensions/settings/pkg/assets/option.go b/services/settings/pkg/assets/option.go similarity index 89% rename from extensions/settings/pkg/assets/option.go rename to services/settings/pkg/assets/option.go index 0ea16cb54..75104c2f0 100644 --- a/extensions/settings/pkg/assets/option.go +++ b/services/settings/pkg/assets/option.go @@ -3,10 +3,10 @@ package assets import ( "net/http" - "github.com/owncloud/ocis/v2/extensions/settings" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/assetsfs" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/settings" + "github.com/owncloud/ocis/v2/services/settings/pkg/config" ) // New returns a new http filesystem to serve assets. diff --git a/extensions/settings/pkg/command/health.go b/services/settings/pkg/command/health.go similarity index 83% rename from extensions/settings/pkg/command/health.go rename to services/settings/pkg/command/health.go index e0e7397ef..68dee3672 100644 --- a/extensions/settings/pkg/command/health.go +++ b/services/settings/pkg/command/health.go @@ -4,9 +4,9 @@ import ( "fmt" "net/http" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/logging" + "github.com/owncloud/ocis/v2/services/settings/pkg/config" + "github.com/owncloud/ocis/v2/services/settings/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/settings/pkg/logging" "github.com/urfave/cli/v2" ) diff --git a/extensions/settings/pkg/command/root.go b/services/settings/pkg/command/root.go similarity index 95% rename from extensions/settings/pkg/command/root.go rename to services/settings/pkg/command/root.go index 152045ecd..dd53b3cae 100644 --- a/extensions/settings/pkg/command/root.go +++ b/services/settings/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/settings/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/settings/pkg/command/server.go b/services/settings/pkg/command/server.go similarity index 80% rename from extensions/settings/pkg/command/server.go rename to services/settings/pkg/command/server.go index 26f863b18..9306b00bf 100644 --- a/extensions/settings/pkg/command/server.go +++ b/services/settings/pkg/command/server.go @@ -6,15 +6,15 @@ import ( "os" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/metrics" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/server/grpc" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/server/http" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/settings/pkg/config" + "github.com/owncloud/ocis/v2/services/settings/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/settings/pkg/logging" + "github.com/owncloud/ocis/v2/services/settings/pkg/metrics" + "github.com/owncloud/ocis/v2/services/settings/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/settings/pkg/server/grpc" + "github.com/owncloud/ocis/v2/services/settings/pkg/server/http" + "github.com/owncloud/ocis/v2/services/settings/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/extensions/groups/pkg/command/version.go b/services/settings/pkg/command/version.go similarity index 95% rename from extensions/groups/pkg/command/version.go rename to services/settings/pkg/command/version.go index 9ad6bb137..9ac087f77 100644 --- a/extensions/groups/pkg/command/version.go +++ b/services/settings/pkg/command/version.go @@ -8,7 +8,7 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/version" tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/groups/pkg/config" + "github.com/owncloud/ocis/v2/services/settings/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/settings/pkg/config/config.go b/services/settings/pkg/config/config.go similarity index 100% rename from extensions/settings/pkg/config/config.go rename to services/settings/pkg/config/config.go diff --git a/extensions/settings/pkg/config/debug.go b/services/settings/pkg/config/debug.go similarity index 100% rename from extensions/settings/pkg/config/debug.go rename to services/settings/pkg/config/debug.go diff --git a/extensions/settings/pkg/config/defaults/defaultconfig.go b/services/settings/pkg/config/defaults/defaultconfig.go similarity index 98% rename from extensions/settings/pkg/config/defaults/defaultconfig.go rename to services/settings/pkg/config/defaults/defaultconfig.go index 66ec6ceb3..05e3d70b3 100644 --- a/extensions/settings/pkg/config/defaults/defaultconfig.go +++ b/services/settings/pkg/config/defaults/defaultconfig.go @@ -4,8 +4,8 @@ import ( "path" "strings" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/settings/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/settings/pkg/config/grpc.go b/services/settings/pkg/config/grpc.go similarity index 100% rename from extensions/settings/pkg/config/grpc.go rename to services/settings/pkg/config/grpc.go diff --git a/extensions/settings/pkg/config/http.go b/services/settings/pkg/config/http.go similarity index 100% rename from extensions/settings/pkg/config/http.go rename to services/settings/pkg/config/http.go diff --git a/extensions/settings/pkg/config/log.go b/services/settings/pkg/config/log.go similarity index 100% rename from extensions/settings/pkg/config/log.go rename to services/settings/pkg/config/log.go diff --git a/extensions/settings/pkg/config/parser/parse.go b/services/settings/pkg/config/parser/parse.go similarity index 89% rename from extensions/settings/pkg/config/parser/parse.go rename to services/settings/pkg/config/parser/parse.go index acf962609..1e9071a78 100644 --- a/extensions/settings/pkg/config/parser/parse.go +++ b/services/settings/pkg/config/parser/parse.go @@ -3,10 +3,10 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/settings/pkg/config" + "github.com/owncloud/ocis/v2/services/settings/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/settings/pkg/config/reva.go b/services/settings/pkg/config/reva.go similarity index 100% rename from extensions/settings/pkg/config/reva.go rename to services/settings/pkg/config/reva.go diff --git a/extensions/settings/pkg/config/service.go b/services/settings/pkg/config/service.go similarity index 100% rename from extensions/settings/pkg/config/service.go rename to services/settings/pkg/config/service.go diff --git a/extensions/settings/pkg/config/tracing.go b/services/settings/pkg/config/tracing.go similarity index 100% rename from extensions/settings/pkg/config/tracing.go rename to services/settings/pkg/config/tracing.go diff --git a/services/settings/pkg/logging/logging.go b/services/settings/pkg/logging/logging.go new file mode 100644 index 000000000..f12ce8916 --- /dev/null +++ b/services/settings/pkg/logging/logging.go @@ -0,0 +1,17 @@ +package logging + +import ( + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/settings/pkg/config" +) + +// LoggerFromConfig initializes a service-specific logger instance. +func Configure(name string, cfg *config.Log) log.Logger { + return log.NewLogger( + log.Name(name), + log.Level(cfg.Level), + log.Pretty(cfg.Pretty), + log.Color(cfg.Color), + log.File(cfg.File), + ) +} diff --git a/extensions/settings/pkg/metrics/metrics.go b/services/settings/pkg/metrics/metrics.go similarity index 100% rename from extensions/settings/pkg/metrics/metrics.go rename to services/settings/pkg/metrics/metrics.go diff --git a/services/settings/pkg/server/debug/option.go b/services/settings/pkg/server/debug/option.go new file mode 100644 index 000000000..bfafab5a4 --- /dev/null +++ b/services/settings/pkg/server/debug/option.go @@ -0,0 +1,50 @@ +package debug + +import ( + "context" + + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/settings/pkg/config" +) + +// Option defines a single option function. +type Option func(o *Options) + +// Options defines the available options for this package. +type Options struct { + Logger log.Logger + Context context.Context + Config *config.Config +} + +// newOptions initializes the available default options. +func newOptions(opts ...Option) Options { + opt := Options{} + + for _, o := range opts { + o(&opt) + } + + return opt +} + +// Logger provides a function to set the logger option. +func Logger(val log.Logger) Option { + return func(o *Options) { + o.Logger = val + } +} + +// Context provides a function to set the context option. +func Context(val context.Context) Option { + return func(o *Options) { + o.Context = val + } +} + +// Config provides a function to set the config option. +func Config(val *config.Config) Option { + return func(o *Options) { + o.Config = val + } +} diff --git a/extensions/webdav/pkg/server/debug/server.go b/services/settings/pkg/server/debug/server.go similarity index 96% rename from extensions/webdav/pkg/server/debug/server.go rename to services/settings/pkg/server/debug/server.go index b6905ec45..e1ed5ff2c 100644 --- a/extensions/webdav/pkg/server/debug/server.go +++ b/services/settings/pkg/server/debug/server.go @@ -4,9 +4,9 @@ import ( "io" "net/http" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/settings/pkg/config" ) // Server initializes the debug service and server. diff --git a/extensions/settings/pkg/server/grpc/option.go b/services/settings/pkg/server/grpc/option.go similarity index 92% rename from extensions/settings/pkg/server/grpc/option.go rename to services/settings/pkg/server/grpc/option.go index 6268f4be9..b87b02813 100644 --- a/extensions/settings/pkg/server/grpc/option.go +++ b/services/settings/pkg/server/grpc/option.go @@ -3,9 +3,9 @@ package grpc import ( "context" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/metrics" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/settings/pkg/config" + "github.com/owncloud/ocis/v2/services/settings/pkg/metrics" "github.com/urfave/cli/v2" ) diff --git a/extensions/settings/pkg/server/grpc/server.go b/services/settings/pkg/server/grpc/server.go similarity index 97% rename from extensions/settings/pkg/server/grpc/server.go rename to services/settings/pkg/server/grpc/server.go index 7d2469606..b8690a3db 100644 --- a/extensions/settings/pkg/server/grpc/server.go +++ b/services/settings/pkg/server/grpc/server.go @@ -4,10 +4,10 @@ import ( "context" permissions "github.com/cs3org/go-cs3apis/cs3/permissions/v1beta1" - svc "github.com/owncloud/ocis/v2/extensions/settings/pkg/service/v0" "github.com/owncloud/ocis/v2/ocis-pkg/service/grpc" "github.com/owncloud/ocis/v2/ocis-pkg/version" settingssvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/settings/v0" + svc "github.com/owncloud/ocis/v2/services/settings/pkg/service/v0" "go-micro.dev/v4/api" "go-micro.dev/v4/server" ) diff --git a/extensions/settings/pkg/server/http/option.go b/services/settings/pkg/server/http/option.go similarity index 92% rename from extensions/settings/pkg/server/http/option.go rename to services/settings/pkg/server/http/option.go index 6d1e81f5e..e4537ffb1 100644 --- a/extensions/settings/pkg/server/http/option.go +++ b/services/settings/pkg/server/http/option.go @@ -3,9 +3,9 @@ package http import ( "context" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/metrics" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/settings/pkg/config" + "github.com/owncloud/ocis/v2/services/settings/pkg/metrics" "github.com/urfave/cli/v2" ) diff --git a/extensions/settings/pkg/server/http/server.go b/services/settings/pkg/server/http/server.go similarity index 94% rename from extensions/settings/pkg/server/http/server.go rename to services/settings/pkg/server/http/server.go index d8b173a8b..ec96b0f4d 100644 --- a/extensions/settings/pkg/server/http/server.go +++ b/services/settings/pkg/server/http/server.go @@ -3,14 +3,14 @@ package http import ( "github.com/go-chi/chi/v5" chimiddleware "github.com/go-chi/chi/v5/middleware" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/assets" - svc "github.com/owncloud/ocis/v2/extensions/settings/pkg/service/v0" "github.com/owncloud/ocis/v2/ocis-pkg/account" "github.com/owncloud/ocis/v2/ocis-pkg/cors" "github.com/owncloud/ocis/v2/ocis-pkg/middleware" "github.com/owncloud/ocis/v2/ocis-pkg/service/http" "github.com/owncloud/ocis/v2/ocis-pkg/version" settingssvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/settings/v0" + "github.com/owncloud/ocis/v2/services/settings/pkg/assets" + svc "github.com/owncloud/ocis/v2/services/settings/pkg/service/v0" "go-micro.dev/v4" ) diff --git a/extensions/settings/pkg/service/v0/instrument.go b/services/settings/pkg/service/v0/instrument.go similarity index 78% rename from extensions/settings/pkg/service/v0/instrument.go rename to services/settings/pkg/service/v0/instrument.go index d5d13961c..882a1e184 100644 --- a/extensions/settings/pkg/service/v0/instrument.go +++ b/services/settings/pkg/service/v0/instrument.go @@ -1,7 +1,7 @@ package svc import ( - "github.com/owncloud/ocis/v2/extensions/settings/pkg/metrics" + "github.com/owncloud/ocis/v2/services/settings/pkg/metrics" ) // NewInstrument returns a service that instruments metrics. diff --git a/extensions/settings/pkg/service/v0/logging.go b/services/settings/pkg/service/v0/logging.go similarity index 100% rename from extensions/settings/pkg/service/v0/logging.go rename to services/settings/pkg/service/v0/logging.go diff --git a/extensions/settings/pkg/service/v0/option.go b/services/settings/pkg/service/v0/option.go similarity index 92% rename from extensions/settings/pkg/service/v0/option.go rename to services/settings/pkg/service/v0/option.go index 7aa6e1afb..00a3b3941 100644 --- a/extensions/settings/pkg/service/v0/option.go +++ b/services/settings/pkg/service/v0/option.go @@ -3,8 +3,8 @@ package svc import ( "net/http" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/settings/pkg/config" ) // Option defines a single option function. diff --git a/extensions/settings/pkg/service/v0/permissions.go b/services/settings/pkg/service/v0/permissions.go similarity index 100% rename from extensions/settings/pkg/service/v0/permissions.go rename to services/settings/pkg/service/v0/permissions.go diff --git a/extensions/settings/pkg/service/v0/service.go b/services/settings/pkg/service/v0/service.go similarity index 98% rename from extensions/settings/pkg/service/v0/service.go rename to services/settings/pkg/service/v0/service.go index 7142ebc09..2c08461ae 100644 --- a/extensions/settings/pkg/service/v0/service.go +++ b/services/settings/pkg/service/v0/service.go @@ -8,15 +8,15 @@ import ( permissions "github.com/cs3org/go-cs3apis/cs3/permissions/v1beta1" rpcv1beta1 "github.com/cs3org/go-cs3apis/cs3/rpc/v1beta1" "github.com/cs3org/reva/v2/pkg/rgrpc/status" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/settings" - filestore "github.com/owncloud/ocis/v2/extensions/settings/pkg/store/filesystem" - metastore "github.com/owncloud/ocis/v2/extensions/settings/pkg/store/metadata" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/middleware" "github.com/owncloud/ocis/v2/ocis-pkg/roles" settingsmsg "github.com/owncloud/ocis/v2/protogen/gen/ocis/messages/settings/v0" settingssvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/settings/v0" + "github.com/owncloud/ocis/v2/services/settings/pkg/config" + "github.com/owncloud/ocis/v2/services/settings/pkg/settings" + filestore "github.com/owncloud/ocis/v2/services/settings/pkg/store/filesystem" + metastore "github.com/owncloud/ocis/v2/services/settings/pkg/store/metadata" merrors "go-micro.dev/v4/errors" "go-micro.dev/v4/metadata" "google.golang.org/protobuf/types/known/emptypb" diff --git a/extensions/settings/pkg/service/v0/service_test.go b/services/settings/pkg/service/v0/service_test.go similarity index 100% rename from extensions/settings/pkg/service/v0/service_test.go rename to services/settings/pkg/service/v0/service_test.go diff --git a/extensions/settings/pkg/service/v0/settings.go b/services/settings/pkg/service/v0/settings.go similarity index 100% rename from extensions/settings/pkg/service/v0/settings.go rename to services/settings/pkg/service/v0/settings.go diff --git a/extensions/settings/pkg/service/v0/tracing.go b/services/settings/pkg/service/v0/tracing.go similarity index 100% rename from extensions/settings/pkg/service/v0/tracing.go rename to services/settings/pkg/service/v0/tracing.go diff --git a/extensions/settings/pkg/service/v0/validator.go b/services/settings/pkg/service/v0/validator.go similarity index 100% rename from extensions/settings/pkg/service/v0/validator.go rename to services/settings/pkg/service/v0/validator.go diff --git a/extensions/settings/pkg/settings/settings.go b/services/settings/pkg/settings/settings.go similarity index 97% rename from extensions/settings/pkg/settings/settings.go rename to services/settings/pkg/settings/settings.go index 5037fa1b2..19658ed0e 100644 --- a/extensions/settings/pkg/settings/settings.go +++ b/services/settings/pkg/settings/settings.go @@ -3,8 +3,8 @@ package settings import ( "errors" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config" settingsmsg "github.com/owncloud/ocis/v2/protogen/gen/ocis/messages/settings/v0" + "github.com/owncloud/ocis/v2/services/settings/pkg/config" ) var ( diff --git a/extensions/settings/pkg/store/defaults/defaults.go b/services/settings/pkg/store/defaults/defaults.go similarity index 99% rename from extensions/settings/pkg/store/defaults/defaults.go rename to services/settings/pkg/store/defaults/defaults.go index e24c63255..91173c657 100644 --- a/extensions/settings/pkg/store/defaults/defaults.go +++ b/services/settings/pkg/store/defaults/defaults.go @@ -1,8 +1,8 @@ package defaults import ( - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config" settingsmsg "github.com/owncloud/ocis/v2/protogen/gen/ocis/messages/settings/v0" + "github.com/owncloud/ocis/v2/services/settings/pkg/config" ) const ( diff --git a/extensions/settings/pkg/store/errortypes/errortypes.go b/services/settings/pkg/store/errortypes/errortypes.go similarity index 100% rename from extensions/settings/pkg/store/errortypes/errortypes.go rename to services/settings/pkg/store/errortypes/errortypes.go diff --git a/extensions/settings/pkg/store/filesystem/assignments.go b/services/settings/pkg/store/filesystem/assignments.go similarity index 100% rename from extensions/settings/pkg/store/filesystem/assignments.go rename to services/settings/pkg/store/filesystem/assignments.go diff --git a/extensions/settings/pkg/store/filesystem/assignments_test.go b/services/settings/pkg/store/filesystem/assignments_test.go similarity index 100% rename from extensions/settings/pkg/store/filesystem/assignments_test.go rename to services/settings/pkg/store/filesystem/assignments_test.go diff --git a/extensions/settings/pkg/store/filesystem/bundles.go b/services/settings/pkg/store/filesystem/bundles.go similarity index 98% rename from extensions/settings/pkg/store/filesystem/bundles.go rename to services/settings/pkg/store/filesystem/bundles.go index 3b5430d42..50746fe1d 100644 --- a/extensions/settings/pkg/store/filesystem/bundles.go +++ b/services/settings/pkg/store/filesystem/bundles.go @@ -8,8 +8,8 @@ import ( "sync" "github.com/gofrs/uuid" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/store/errortypes" settingsmsg "github.com/owncloud/ocis/v2/protogen/gen/ocis/messages/settings/v0" + "github.com/owncloud/ocis/v2/services/settings/pkg/store/errortypes" ) var m = &sync.RWMutex{} diff --git a/extensions/settings/pkg/store/filesystem/bundles_test.go b/services/settings/pkg/store/filesystem/bundles_test.go similarity index 100% rename from extensions/settings/pkg/store/filesystem/bundles_test.go rename to services/settings/pkg/store/filesystem/bundles_test.go diff --git a/extensions/settings/pkg/store/filesystem/io.go b/services/settings/pkg/store/filesystem/io.go similarity index 93% rename from extensions/settings/pkg/store/filesystem/io.go rename to services/settings/pkg/store/filesystem/io.go index 2e59192fd..38b5f5a6d 100644 --- a/extensions/settings/pkg/store/filesystem/io.go +++ b/services/settings/pkg/store/filesystem/io.go @@ -4,7 +4,7 @@ import ( "io/ioutil" "os" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/store/errortypes" + "github.com/owncloud/ocis/v2/services/settings/pkg/store/errortypes" "google.golang.org/protobuf/encoding/protojson" "google.golang.org/protobuf/proto" ) diff --git a/extensions/settings/pkg/store/filesystem/paths.go b/services/settings/pkg/store/filesystem/paths.go similarity index 100% rename from extensions/settings/pkg/store/filesystem/paths.go rename to services/settings/pkg/store/filesystem/paths.go diff --git a/extensions/settings/pkg/store/filesystem/permissions.go b/services/settings/pkg/store/filesystem/permissions.go similarity index 95% rename from extensions/settings/pkg/store/filesystem/permissions.go rename to services/settings/pkg/store/filesystem/permissions.go index a84886202..a01ba6546 100644 --- a/extensions/settings/pkg/store/filesystem/permissions.go +++ b/services/settings/pkg/store/filesystem/permissions.go @@ -1,9 +1,9 @@ package store import ( - "github.com/owncloud/ocis/v2/extensions/settings/pkg/settings" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/util" settingsmsg "github.com/owncloud/ocis/v2/protogen/gen/ocis/messages/settings/v0" + "github.com/owncloud/ocis/v2/services/settings/pkg/settings" + "github.com/owncloud/ocis/v2/services/settings/pkg/util" ) // ListPermissionsByResource collects all permissions from the provided roleIDs that match the requested resource diff --git a/extensions/settings/pkg/store/filesystem/staticcheck.conf b/services/settings/pkg/store/filesystem/staticcheck.conf similarity index 100% rename from extensions/settings/pkg/store/filesystem/staticcheck.conf rename to services/settings/pkg/store/filesystem/staticcheck.conf diff --git a/extensions/settings/pkg/store/filesystem/store.go b/services/settings/pkg/store/filesystem/store.go similarity index 88% rename from extensions/settings/pkg/store/filesystem/store.go rename to services/settings/pkg/store/filesystem/store.go index 4782648fe..970e3e73f 100644 --- a/extensions/settings/pkg/store/filesystem/store.go +++ b/services/settings/pkg/store/filesystem/store.go @@ -4,9 +4,9 @@ package store import ( "os" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/settings" olog "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/settings/pkg/config" + "github.com/owncloud/ocis/v2/services/settings/pkg/settings" ) var ( diff --git a/extensions/settings/pkg/store/filesystem/store_test.go b/services/settings/pkg/store/filesystem/store_test.go similarity index 100% rename from extensions/settings/pkg/store/filesystem/store_test.go rename to services/settings/pkg/store/filesystem/store_test.go diff --git a/extensions/settings/pkg/store/filesystem/values.go b/services/settings/pkg/store/filesystem/values.go similarity index 100% rename from extensions/settings/pkg/store/filesystem/values.go rename to services/settings/pkg/store/filesystem/values.go diff --git a/extensions/settings/pkg/store/filesystem/values_test.go b/services/settings/pkg/store/filesystem/values_test.go similarity index 100% rename from extensions/settings/pkg/store/filesystem/values_test.go rename to services/settings/pkg/store/filesystem/values_test.go diff --git a/extensions/settings/pkg/store/metadata/assignments.go b/services/settings/pkg/store/metadata/assignments.go similarity index 100% rename from extensions/settings/pkg/store/metadata/assignments.go rename to services/settings/pkg/store/metadata/assignments.go diff --git a/extensions/settings/pkg/store/metadata/assignments_test.go b/services/settings/pkg/store/metadata/assignments_test.go similarity index 98% rename from extensions/settings/pkg/store/metadata/assignments_test.go rename to services/settings/pkg/store/metadata/assignments_test.go index 19165fac8..18d246a46 100644 --- a/extensions/settings/pkg/store/metadata/assignments_test.go +++ b/services/settings/pkg/store/metadata/assignments_test.go @@ -6,10 +6,10 @@ import ( "testing" "github.com/gofrs/uuid" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config/defaults" olog "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/shared" settingsmsg "github.com/owncloud/ocis/v2/protogen/gen/ocis/messages/settings/v0" + "github.com/owncloud/ocis/v2/services/settings/pkg/config/defaults" "github.com/stretchr/testify/require" ) diff --git a/extensions/settings/pkg/store/metadata/bundles.go b/services/settings/pkg/store/metadata/bundles.go similarity index 98% rename from extensions/settings/pkg/store/metadata/bundles.go rename to services/settings/pkg/store/metadata/bundles.go index d55b756c0..36cdd7c96 100644 --- a/extensions/settings/pkg/store/metadata/bundles.go +++ b/services/settings/pkg/store/metadata/bundles.go @@ -8,8 +8,8 @@ import ( "fmt" "github.com/gofrs/uuid" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/store/defaults" settingsmsg "github.com/owncloud/ocis/v2/protogen/gen/ocis/messages/settings/v0" + "github.com/owncloud/ocis/v2/services/settings/pkg/store/defaults" ) // ListBundles returns all bundles in the dataPath folder that match the given type. diff --git a/extensions/settings/pkg/store/metadata/bundles_test.go b/services/settings/pkg/store/metadata/bundles_test.go similarity index 100% rename from extensions/settings/pkg/store/metadata/bundles_test.go rename to services/settings/pkg/store/metadata/bundles_test.go diff --git a/extensions/settings/pkg/store/metadata/cache.go b/services/settings/pkg/store/metadata/cache.go similarity index 100% rename from extensions/settings/pkg/store/metadata/cache.go rename to services/settings/pkg/store/metadata/cache.go diff --git a/extensions/settings/pkg/store/metadata/permissions.go b/services/settings/pkg/store/metadata/permissions.go similarity index 95% rename from extensions/settings/pkg/store/metadata/permissions.go rename to services/settings/pkg/store/metadata/permissions.go index d70c7dbce..9756db8d6 100644 --- a/extensions/settings/pkg/store/metadata/permissions.go +++ b/services/settings/pkg/store/metadata/permissions.go @@ -1,9 +1,9 @@ package store import ( - "github.com/owncloud/ocis/v2/extensions/settings/pkg/settings" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/util" settingsmsg "github.com/owncloud/ocis/v2/protogen/gen/ocis/messages/settings/v0" + "github.com/owncloud/ocis/v2/services/settings/pkg/settings" + "github.com/owncloud/ocis/v2/services/settings/pkg/util" ) // ListPermissionsByResource collects all permissions from the provided roleIDs that match the requested resource diff --git a/extensions/settings/pkg/store/metadata/permissions_test.go b/services/settings/pkg/store/metadata/permissions_test.go similarity index 100% rename from extensions/settings/pkg/store/metadata/permissions_test.go rename to services/settings/pkg/store/metadata/permissions_test.go diff --git a/extensions/settings/pkg/store/metadata/store.go b/services/settings/pkg/store/metadata/store.go similarity index 94% rename from extensions/settings/pkg/store/metadata/store.go rename to services/settings/pkg/store/metadata/store.go index 3e37d5d52..654c3bba4 100644 --- a/extensions/settings/pkg/store/metadata/store.go +++ b/services/settings/pkg/store/metadata/store.go @@ -9,11 +9,11 @@ import ( "github.com/cs3org/reva/v2/pkg/storage/utils/metadata" "github.com/gofrs/uuid" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/settings" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/store/defaults" olog "github.com/owncloud/ocis/v2/ocis-pkg/log" settingsmsg "github.com/owncloud/ocis/v2/protogen/gen/ocis/messages/settings/v0" + "github.com/owncloud/ocis/v2/services/settings/pkg/config" + "github.com/owncloud/ocis/v2/services/settings/pkg/settings" + "github.com/owncloud/ocis/v2/services/settings/pkg/store/defaults" ) var ( diff --git a/extensions/settings/pkg/store/metadata/store_test.go b/services/settings/pkg/store/metadata/store_test.go similarity index 97% rename from extensions/settings/pkg/store/metadata/store_test.go rename to services/settings/pkg/store/metadata/store_test.go index 679562989..bb1c75ff8 100644 --- a/extensions/settings/pkg/store/metadata/store_test.go +++ b/services/settings/pkg/store/metadata/store_test.go @@ -4,7 +4,7 @@ import ( "context" "strings" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/settings/pkg/config/defaults" ) const ( diff --git a/extensions/settings/pkg/store/metadata/values.go b/services/settings/pkg/store/metadata/values.go similarity index 100% rename from extensions/settings/pkg/store/metadata/values.go rename to services/settings/pkg/store/metadata/values.go diff --git a/extensions/settings/pkg/store/metadata/values_test.go b/services/settings/pkg/store/metadata/values_test.go similarity index 100% rename from extensions/settings/pkg/store/metadata/values_test.go rename to services/settings/pkg/store/metadata/values_test.go diff --git a/services/settings/pkg/store/registry.go b/services/settings/pkg/store/registry.go new file mode 100644 index 000000000..7c7771598 --- /dev/null +++ b/services/settings/pkg/store/registry.go @@ -0,0 +1,7 @@ +package store + +import ( + // init filesystem store + _ "github.com/owncloud/ocis/v2/services/settings/pkg/store/filesystem" + _ "github.com/owncloud/ocis/v2/services/settings/pkg/store/metadata" +) diff --git a/extensions/settings/pkg/tracing/tracing.go b/services/settings/pkg/tracing/tracing.go similarity index 89% rename from extensions/settings/pkg/tracing/tracing.go rename to services/settings/pkg/tracing/tracing.go index 9532fd297..46a5bbd81 100644 --- a/extensions/settings/pkg/tracing/tracing.go +++ b/services/settings/pkg/tracing/tracing.go @@ -1,8 +1,8 @@ package tracing import ( - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config" pkgtrace "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/settings/pkg/config" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/settings/pkg/util/resource_helper.go b/services/settings/pkg/util/resource_helper.go similarity index 100% rename from extensions/settings/pkg/util/resource_helper.go rename to services/settings/pkg/util/resource_helper.go diff --git a/extensions/settings/pkg/util/resource_helper_test.go b/services/settings/pkg/util/resource_helper_test.go similarity index 100% rename from extensions/settings/pkg/util/resource_helper_test.go rename to services/settings/pkg/util/resource_helper_test.go diff --git a/extensions/settings/reflex.conf b/services/settings/reflex.conf similarity index 100% rename from extensions/settings/reflex.conf rename to services/settings/reflex.conf diff --git a/extensions/settings/rollup.config.js b/services/settings/rollup.config.js similarity index 100% rename from extensions/settings/rollup.config.js rename to services/settings/rollup.config.js diff --git a/extensions/settings/settings.go b/services/settings/settings.go similarity index 100% rename from extensions/settings/settings.go rename to services/settings/settings.go diff --git a/extensions/settings/ui/app.js b/services/settings/ui/app.js similarity index 100% rename from extensions/settings/ui/app.js rename to services/settings/ui/app.js diff --git a/extensions/settings/ui/client/settings/index.js b/services/settings/ui/client/settings/index.js similarity index 100% rename from extensions/settings/ui/client/settings/index.js rename to services/settings/ui/client/settings/index.js diff --git a/extensions/settings/ui/components/SettingsApp.vue b/services/settings/ui/components/SettingsApp.vue similarity index 100% rename from extensions/settings/ui/components/SettingsApp.vue rename to services/settings/ui/components/SettingsApp.vue diff --git a/extensions/settings/ui/components/SettingsBundle.vue b/services/settings/ui/components/SettingsBundle.vue similarity index 100% rename from extensions/settings/ui/components/SettingsBundle.vue rename to services/settings/ui/components/SettingsBundle.vue diff --git a/extensions/settings/ui/components/settings/SettingBoolean.vue b/services/settings/ui/components/settings/SettingBoolean.vue similarity index 100% rename from extensions/settings/ui/components/settings/SettingBoolean.vue rename to services/settings/ui/components/settings/SettingBoolean.vue diff --git a/extensions/settings/ui/components/settings/SettingMultiChoice.vue b/services/settings/ui/components/settings/SettingMultiChoice.vue similarity index 100% rename from extensions/settings/ui/components/settings/SettingMultiChoice.vue rename to services/settings/ui/components/settings/SettingMultiChoice.vue diff --git a/extensions/settings/ui/components/settings/SettingNumber.vue b/services/settings/ui/components/settings/SettingNumber.vue similarity index 100% rename from extensions/settings/ui/components/settings/SettingNumber.vue rename to services/settings/ui/components/settings/SettingNumber.vue diff --git a/extensions/settings/ui/components/settings/SettingSingleChoice.vue b/services/settings/ui/components/settings/SettingSingleChoice.vue similarity index 100% rename from extensions/settings/ui/components/settings/SettingSingleChoice.vue rename to services/settings/ui/components/settings/SettingSingleChoice.vue diff --git a/extensions/settings/ui/components/settings/SettingString.vue b/services/settings/ui/components/settings/SettingString.vue similarity index 100% rename from extensions/settings/ui/components/settings/SettingString.vue rename to services/settings/ui/components/settings/SettingString.vue diff --git a/extensions/settings/ui/components/settings/SettingUnknown.vue b/services/settings/ui/components/settings/SettingUnknown.vue similarity index 100% rename from extensions/settings/ui/components/settings/SettingUnknown.vue rename to services/settings/ui/components/settings/SettingUnknown.vue diff --git a/extensions/settings/ui/dictionary.js b/services/settings/ui/dictionary.js similarity index 100% rename from extensions/settings/ui/dictionary.js rename to services/settings/ui/dictionary.js diff --git a/extensions/settings/ui/store/index.js b/services/settings/ui/store/index.js similarity index 100% rename from extensions/settings/ui/store/index.js rename to services/settings/ui/store/index.js diff --git a/extensions/settings/ui/tests/acceptance/features/settings.feature b/services/settings/ui/tests/acceptance/features/settings.feature similarity index 100% rename from extensions/settings/ui/tests/acceptance/features/settings.feature rename to services/settings/ui/tests/acceptance/features/settings.feature diff --git a/extensions/settings/ui/tests/acceptance/helpers/language.js b/services/settings/ui/tests/acceptance/helpers/language.js similarity index 100% rename from extensions/settings/ui/tests/acceptance/helpers/language.js rename to services/settings/ui/tests/acceptance/helpers/language.js diff --git a/extensions/settings/ui/tests/acceptance/pageobjects/filesPageSettingsContext.js b/services/settings/ui/tests/acceptance/pageobjects/filesPageSettingsContext.js similarity index 100% rename from extensions/settings/ui/tests/acceptance/pageobjects/filesPageSettingsContext.js rename to services/settings/ui/tests/acceptance/pageobjects/filesPageSettingsContext.js diff --git a/extensions/settings/ui/tests/acceptance/pageobjects/settingsPage.js b/services/settings/ui/tests/acceptance/pageobjects/settingsPage.js similarity index 100% rename from extensions/settings/ui/tests/acceptance/pageobjects/settingsPage.js rename to services/settings/ui/tests/acceptance/pageobjects/settingsPage.js diff --git a/extensions/settings/ui/tests/acceptance/stepDefinitions/settingsContext.js b/services/settings/ui/tests/acceptance/stepDefinitions/settingsContext.js similarity index 100% rename from extensions/settings/ui/tests/acceptance/stepDefinitions/settingsContext.js rename to services/settings/ui/tests/acceptance/stepDefinitions/settingsContext.js diff --git a/extensions/settings/ui/tests/run-acceptance-test.sh b/services/settings/ui/tests/run-acceptance-test.sh similarity index 100% rename from extensions/settings/ui/tests/run-acceptance-test.sh rename to services/settings/ui/tests/run-acceptance-test.sh diff --git a/extensions/settings/yarn.lock b/services/settings/yarn.lock similarity index 100% rename from extensions/settings/yarn.lock rename to services/settings/yarn.lock diff --git a/extensions/sharing/Makefile b/services/sharing/Makefile similarity index 100% rename from extensions/sharing/Makefile rename to services/sharing/Makefile diff --git a/extensions/graph/cmd/graph/main.go b/services/sharing/cmd/sharing/main.go similarity index 52% rename from extensions/graph/cmd/graph/main.go rename to services/sharing/cmd/sharing/main.go index d11a6ed6e..54e0996e3 100644 --- a/extensions/graph/cmd/graph/main.go +++ b/services/sharing/cmd/sharing/main.go @@ -3,8 +3,8 @@ package main import ( "os" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/command" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/sharing/pkg/command" + "github.com/owncloud/ocis/v2/services/sharing/pkg/config/defaults" ) func main() { diff --git a/extensions/proxy/pkg/command/health.go b/services/sharing/pkg/command/health.go similarity index 84% rename from extensions/proxy/pkg/command/health.go rename to services/sharing/pkg/command/health.go index 9b2dd4d9f..1c2bb37ed 100644 --- a/extensions/proxy/pkg/command/health.go +++ b/services/sharing/pkg/command/health.go @@ -4,9 +4,9 @@ import ( "fmt" "net/http" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/proxy/pkg/logging" + "github.com/owncloud/ocis/v2/services/sharing/pkg/config" + "github.com/owncloud/ocis/v2/services/sharing/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/sharing/pkg/logging" "github.com/urfave/cli/v2" ) diff --git a/extensions/sharing/pkg/command/root.go b/services/sharing/pkg/command/root.go similarity index 95% rename from extensions/sharing/pkg/command/root.go rename to services/sharing/pkg/command/root.go index 38e6cd0e3..fae443c93 100644 --- a/extensions/sharing/pkg/command/root.go +++ b/services/sharing/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/sharing/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/sharing/pkg/command/server.go b/services/sharing/pkg/command/server.go similarity index 88% rename from extensions/sharing/pkg/command/server.go rename to services/sharing/pkg/command/server.go index 3b9470c1a..97737f8af 100644 --- a/extensions/sharing/pkg/command/server.go +++ b/services/sharing/pkg/command/server.go @@ -10,15 +10,15 @@ import ( "github.com/cs3org/reva/v2/cmd/revad/runtime" "github.com/gofrs/uuid" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/config" - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/revaconfig" - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/service/external" "github.com/owncloud/ocis/v2/ocis-pkg/sync" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/sharing/pkg/config" + "github.com/owncloud/ocis/v2/services/sharing/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/sharing/pkg/logging" + "github.com/owncloud/ocis/v2/services/sharing/pkg/revaconfig" + "github.com/owncloud/ocis/v2/services/sharing/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/sharing/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/services/sharing/pkg/command/version.go b/services/sharing/pkg/command/version.go new file mode 100644 index 000000000..368f0710d --- /dev/null +++ b/services/sharing/pkg/command/version.go @@ -0,0 +1,50 @@ +package command + +import ( + "fmt" + "os" + + "github.com/owncloud/ocis/v2/ocis-pkg/registry" + "github.com/owncloud/ocis/v2/ocis-pkg/version" + + tw "github.com/olekukonko/tablewriter" + "github.com/owncloud/ocis/v2/services/sharing/pkg/config" + "github.com/urfave/cli/v2" +) + +// Version prints the service versions of all running instances. +func Version(cfg *config.Config) *cli.Command { + return &cli.Command{ + Name: "version", + Usage: "print the version of this binary and the running extension instances", + Category: "info", + Action: func(c *cli.Context) error { + fmt.Println("Version: " + version.GetString()) + fmt.Printf("Compiled: %s\n", version.Compiled()) + fmt.Println("") + + reg := registry.GetRegistry() + services, err := reg.GetService(cfg.GRPC.Namespace + "." + cfg.Service.Name) + if err != nil { + fmt.Println(fmt.Errorf("could not get %s services from the registry: %v", cfg.Service.Name, err)) + return err + } + + if len(services) == 0 { + fmt.Println("No running " + cfg.Service.Name + " service found.") + return nil + } + + table := tw.NewWriter(os.Stdout) + table.SetHeader([]string{"Version", "Address", "Id"}) + table.SetAutoFormatHeaders(false) + for _, s := range services { + for _, n := range s.Nodes { + table.Append([]string{s.Version, n.Address, n.Id}) + } + } + table.Render() + return nil + }, + } +} diff --git a/extensions/sharing/pkg/config/config.go b/services/sharing/pkg/config/config.go similarity index 100% rename from extensions/sharing/pkg/config/config.go rename to services/sharing/pkg/config/config.go diff --git a/extensions/sharing/pkg/config/defaults/defaultconfig.go b/services/sharing/pkg/config/defaults/defaultconfig.go similarity index 98% rename from extensions/sharing/pkg/config/defaults/defaultconfig.go rename to services/sharing/pkg/config/defaults/defaultconfig.go index 54513c932..890320cc9 100644 --- a/extensions/sharing/pkg/config/defaults/defaultconfig.go +++ b/services/sharing/pkg/config/defaults/defaultconfig.go @@ -3,8 +3,8 @@ package defaults import ( "path/filepath" - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/sharing/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/sharing/pkg/config/parser/parse.go b/services/sharing/pkg/config/parser/parse.go similarity index 92% rename from extensions/sharing/pkg/config/parser/parse.go rename to services/sharing/pkg/config/parser/parse.go index f6a43b2b7..32cc5624c 100644 --- a/extensions/sharing/pkg/config/parser/parse.go +++ b/services/sharing/pkg/config/parser/parse.go @@ -3,10 +3,10 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/config" - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/sharing/pkg/config" + "github.com/owncloud/ocis/v2/services/sharing/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/sharing/pkg/config/reva.go b/services/sharing/pkg/config/reva.go similarity index 100% rename from extensions/sharing/pkg/config/reva.go rename to services/sharing/pkg/config/reva.go diff --git a/extensions/graph/pkg/logging/logging.go b/services/sharing/pkg/logging/logging.go similarity index 85% rename from extensions/graph/pkg/logging/logging.go rename to services/sharing/pkg/logging/logging.go index a62806d0d..55fa28366 100644 --- a/extensions/graph/pkg/logging/logging.go +++ b/services/sharing/pkg/logging/logging.go @@ -1,8 +1,8 @@ package logging import ( - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/sharing/pkg/config" ) // LoggerFromConfig initializes a service-specific logger instance. diff --git a/extensions/sharing/pkg/revaconfig/config.go b/services/sharing/pkg/revaconfig/config.go similarity index 98% rename from extensions/sharing/pkg/revaconfig/config.go rename to services/sharing/pkg/revaconfig/config.go index efd5de224..5b5634f1f 100644 --- a/extensions/sharing/pkg/revaconfig/config.go +++ b/services/sharing/pkg/revaconfig/config.go @@ -1,7 +1,7 @@ package revaconfig import ( - "github.com/owncloud/ocis/v2/extensions/sharing/pkg/config" + "github.com/owncloud/ocis/v2/services/sharing/pkg/config" ) // SharingConfigFromStruct will adapt an oCIS config struct into a reva mapstructure to start a reva service. diff --git a/extensions/ocdav/pkg/server/debug/option.go b/services/sharing/pkg/server/debug/option.go similarity index 93% rename from extensions/ocdav/pkg/server/debug/option.go rename to services/sharing/pkg/server/debug/option.go index ab52227f9..cfae7d88d 100644 --- a/extensions/ocdav/pkg/server/debug/option.go +++ b/services/sharing/pkg/server/debug/option.go @@ -3,8 +3,8 @@ package debug import ( "context" - "github.com/owncloud/ocis/v2/extensions/ocdav/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/sharing/pkg/config" ) // Option defines a single option function. diff --git a/services/sharing/pkg/server/debug/server.go b/services/sharing/pkg/server/debug/server.go new file mode 100644 index 000000000..7c4ffd846 --- /dev/null +++ b/services/sharing/pkg/server/debug/server.go @@ -0,0 +1,63 @@ +package debug + +import ( + "io" + "net/http" + + "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" + "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/sharing/pkg/config" +) + +// Server initializes the debug service and server. +func Server(opts ...Option) (*http.Server, error) { + options := newOptions(opts...) + + return debug.NewService( + debug.Logger(options.Logger), + debug.Name(options.Config.Service.Name), + debug.Version(version.GetString()), + debug.Address(options.Config.Debug.Addr), + debug.Token(options.Config.Debug.Token), + debug.Pprof(options.Config.Debug.Pprof), + debug.Zpages(options.Config.Debug.Zpages), + debug.Health(health(options.Config)), + debug.Ready(ready(options.Config)), + //debug.CorsAllowedOrigins(options.Config.HTTP.CORS.AllowedOrigins), + //debug.CorsAllowedMethods(options.Config.HTTP.CORS.AllowedMethods), + //debug.CorsAllowedHeaders(options.Config.HTTP.CORS.AllowedHeaders), + //debug.CorsAllowCredentials(options.Config.HTTP.CORS.AllowCredentials), + ), nil +} + +// health implements the health check. +func health(cfg *config.Config) func(http.ResponseWriter, *http.Request) { + return func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "text/plain") + w.WriteHeader(http.StatusOK) + + // TODO: check if services are up and running + + _, err := io.WriteString(w, http.StatusText(http.StatusOK)) + // io.WriteString should not fail but if it does we want to know. + if err != nil { + panic(err) + } + } +} + +// ready implements the ready check. +func ready(cfg *config.Config) func(http.ResponseWriter, *http.Request) { + return func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "text/plain") + w.WriteHeader(http.StatusOK) + + // TODO: check if services are up and running + + _, err := io.WriteString(w, http.StatusText(http.StatusOK)) + // io.WriteString should not fail but if it does we want to know. + if err != nil { + panic(err) + } + } +} diff --git a/services/sharing/pkg/tracing/tracing.go b/services/sharing/pkg/tracing/tracing.go new file mode 100644 index 000000000..b9eb3cfd0 --- /dev/null +++ b/services/sharing/pkg/tracing/tracing.go @@ -0,0 +1,18 @@ +package tracing + +import ( + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/sharing/pkg/config" + "go.opentelemetry.io/otel/trace" +) + +var ( + // TraceProvider is the global trace provider for the service. + TraceProvider = trace.NewNoopTracerProvider() +) + +func Configure(cfg *config.Config, logger log.Logger) error { + tracing.Configure(cfg.Tracing.Enabled, cfg.Tracing.Type, logger) + return nil +} diff --git a/extensions/storage-publiclink/Makefile b/services/storage-publiclink/Makefile similarity index 100% rename from extensions/storage-publiclink/Makefile rename to services/storage-publiclink/Makefile diff --git a/services/storage-publiclink/cmd/storage-publiclink/main.go b/services/storage-publiclink/cmd/storage-publiclink/main.go new file mode 100644 index 000000000..6d2415a00 --- /dev/null +++ b/services/storage-publiclink/cmd/storage-publiclink/main.go @@ -0,0 +1,14 @@ +package main + +import ( + "os" + + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/command" + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/config/defaults" +) + +func main() { + if err := command.Execute(defaults.DefaultConfig()); err != nil { + os.Exit(1) + } +} diff --git a/services/storage-publiclink/pkg/command/health.go b/services/storage-publiclink/pkg/command/health.go new file mode 100644 index 000000000..b2f3889f5 --- /dev/null +++ b/services/storage-publiclink/pkg/command/health.go @@ -0,0 +1,57 @@ +package command + +import ( + "fmt" + "net/http" + + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/logging" + "github.com/urfave/cli/v2" +) + +// Health is the entrypoint for the health command. +func Health(cfg *config.Config) *cli.Command { + return &cli.Command{ + Name: "health", + Usage: "check health status", + Category: "info", + Before: func(c *cli.Context) error { + err := parser.ParseConfig(cfg) + if err != nil { + fmt.Printf("%v", err) + } + return err + }, + Action: func(c *cli.Context) error { + logger := logging.Configure(cfg.Service.Name, cfg.Log) + + resp, err := http.Get( + fmt.Sprintf( + "http://%s/healthz", + cfg.Debug.Addr, + ), + ) + + if err != nil { + logger.Fatal(). + Err(err). + Msg("Failed to request health check") + } + + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + logger.Fatal(). + Int("code", resp.StatusCode). + Msg("Health seems to be in bad state") + } + + logger.Debug(). + Int("code", resp.StatusCode). + Msg("Health got a good state") + + return nil + }, + } +} diff --git a/extensions/storage-publiclink/pkg/command/root.go b/services/storage-publiclink/pkg/command/root.go similarity index 95% rename from extensions/storage-publiclink/pkg/command/root.go rename to services/storage-publiclink/pkg/command/root.go index c49903d06..831cb046e 100644 --- a/extensions/storage-publiclink/pkg/command/root.go +++ b/services/storage-publiclink/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/storage-publiclink/pkg/command/server.go b/services/storage-publiclink/pkg/command/server.go similarity index 85% rename from extensions/storage-publiclink/pkg/command/server.go rename to services/storage-publiclink/pkg/command/server.go index 9a49633fd..66dd9c9d8 100644 --- a/extensions/storage-publiclink/pkg/command/server.go +++ b/services/storage-publiclink/pkg/command/server.go @@ -9,15 +9,15 @@ import ( "github.com/cs3org/reva/v2/cmd/revad/runtime" "github.com/gofrs/uuid" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/config" - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/revaconfig" - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/service/external" "github.com/owncloud/ocis/v2/ocis-pkg/sync" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/logging" + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/revaconfig" + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/extensions/app-registry/pkg/command/version.go b/services/storage-publiclink/pkg/command/version.go similarity index 94% rename from extensions/app-registry/pkg/command/version.go rename to services/storage-publiclink/pkg/command/version.go index 491f02c28..31e23c9f3 100644 --- a/extensions/app-registry/pkg/command/version.go +++ b/services/storage-publiclink/pkg/command/version.go @@ -8,7 +8,7 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/version" tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/storage-publiclink/pkg/config/config.go b/services/storage-publiclink/pkg/config/config.go similarity index 100% rename from extensions/storage-publiclink/pkg/config/config.go rename to services/storage-publiclink/pkg/config/config.go diff --git a/extensions/storage-publiclink/pkg/config/defaults/defaultconfig.go b/services/storage-publiclink/pkg/config/defaults/defaultconfig.go similarity index 96% rename from extensions/storage-publiclink/pkg/config/defaults/defaultconfig.go rename to services/storage-publiclink/pkg/config/defaults/defaultconfig.go index 0845d0a02..fd94933ef 100644 --- a/extensions/storage-publiclink/pkg/config/defaults/defaultconfig.go +++ b/services/storage-publiclink/pkg/config/defaults/defaultconfig.go @@ -1,7 +1,7 @@ package defaults import ( - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/services/storage-publiclink/pkg/config/parser/parse.go b/services/storage-publiclink/pkg/config/parser/parse.go new file mode 100644 index 000000000..b081f858b --- /dev/null +++ b/services/storage-publiclink/pkg/config/parser/parse.go @@ -0,0 +1,42 @@ +package parser + +import ( + "errors" + + ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/config/defaults" + + "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" +) + +// ParseConfig loads configuration from known paths. +func ParseConfig(cfg *config.Config) error { + _, err := ociscfg.BindSourcesToStructs(cfg.Service.Name, cfg) + if err != nil { + return err + } + + defaults.EnsureDefaults(cfg) + + // load all env variables relevant to the config in the current context. + if err := envdecode.Decode(cfg); err != nil { + // no environment variable set for this config is an expected "error" + if !errors.Is(err, envdecode.ErrNoTargetFieldsAreSet) { + return err + } + } + + defaults.Sanitize(cfg) + + return Validate(cfg) +} + +func Validate(cfg *config.Config) error { + if cfg.TokenManager.JWTSecret == "" { + return shared.MissingJWTTokenError(cfg.Service.Name) + } + + return nil +} diff --git a/extensions/storage-publiclink/pkg/config/reva.go b/services/storage-publiclink/pkg/config/reva.go similarity index 100% rename from extensions/storage-publiclink/pkg/config/reva.go rename to services/storage-publiclink/pkg/config/reva.go diff --git a/services/storage-publiclink/pkg/logging/logging.go b/services/storage-publiclink/pkg/logging/logging.go new file mode 100644 index 000000000..c5a037c83 --- /dev/null +++ b/services/storage-publiclink/pkg/logging/logging.go @@ -0,0 +1,17 @@ +package logging + +import ( + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/config" +) + +// LoggerFromConfig initializes a service-specific logger instance. +func Configure(name string, cfg *config.Log) log.Logger { + return log.NewLogger( + log.Name(name), + log.Level(cfg.Level), + log.Pretty(cfg.Pretty), + log.Color(cfg.Color), + log.File(cfg.File), + ) +} diff --git a/extensions/storage-publiclink/pkg/revaconfig/config.go b/services/storage-publiclink/pkg/revaconfig/config.go similarity index 94% rename from extensions/storage-publiclink/pkg/revaconfig/config.go rename to services/storage-publiclink/pkg/revaconfig/config.go index 8a0f0285e..2c2cfd9c0 100644 --- a/extensions/storage-publiclink/pkg/revaconfig/config.go +++ b/services/storage-publiclink/pkg/revaconfig/config.go @@ -1,7 +1,7 @@ package revaconfig import ( - "github.com/owncloud/ocis/v2/extensions/storage-publiclink/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/config" ) // StoragePublicLinkConfigFromStruct will adapt an oCIS config struct into a reva mapstructure to start a reva service. diff --git a/services/storage-publiclink/pkg/server/debug/option.go b/services/storage-publiclink/pkg/server/debug/option.go new file mode 100644 index 000000000..4d3645a62 --- /dev/null +++ b/services/storage-publiclink/pkg/server/debug/option.go @@ -0,0 +1,50 @@ +package debug + +import ( + "context" + + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/config" +) + +// Option defines a single option function. +type Option func(o *Options) + +// Options defines the available options for this package. +type Options struct { + Logger log.Logger + Context context.Context + Config *config.Config +} + +// newOptions initializes the available default options. +func newOptions(opts ...Option) Options { + opt := Options{} + + for _, o := range opts { + o(&opt) + } + + return opt +} + +// Logger provides a function to set the logger option. +func Logger(val log.Logger) Option { + return func(o *Options) { + o.Logger = val + } +} + +// Context provides a function to set the context option. +func Context(val context.Context) Option { + return func(o *Options) { + o.Context = val + } +} + +// Config provides a function to set the config option. +func Config(val *config.Config) Option { + return func(o *Options) { + o.Config = val + } +} diff --git a/extensions/app-provider/pkg/server/debug/server.go b/services/storage-publiclink/pkg/server/debug/server.go similarity index 96% rename from extensions/app-provider/pkg/server/debug/server.go rename to services/storage-publiclink/pkg/server/debug/server.go index d54147b6c..61b501b58 100644 --- a/extensions/app-provider/pkg/server/debug/server.go +++ b/services/storage-publiclink/pkg/server/debug/server.go @@ -4,9 +4,9 @@ import ( "io" "net/http" - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/config" ) // Server initializes the debug service and server. diff --git a/extensions/app-registry/pkg/tracing/tracing.go b/services/storage-publiclink/pkg/tracing/tracing.go similarity index 85% rename from extensions/app-registry/pkg/tracing/tracing.go rename to services/storage-publiclink/pkg/tracing/tracing.go index 2c975afc5..56551e597 100644 --- a/extensions/app-registry/pkg/tracing/tracing.go +++ b/services/storage-publiclink/pkg/tracing/tracing.go @@ -1,9 +1,9 @@ package tracing import ( - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/config" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/storage-shares/Makefile b/services/storage-shares/Makefile similarity index 100% rename from extensions/storage-shares/Makefile rename to services/storage-shares/Makefile diff --git a/extensions/app-provider/cmd/app-provider/main.go b/services/storage-shares/cmd/storage-shares/main.go similarity index 53% rename from extensions/app-provider/cmd/app-provider/main.go rename to services/storage-shares/cmd/storage-shares/main.go index 43c7ac478..8a8f9336b 100644 --- a/extensions/app-provider/cmd/app-provider/main.go +++ b/services/storage-shares/cmd/storage-shares/main.go @@ -3,8 +3,8 @@ package main import ( "os" - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/command" - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/command" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/config/defaults" ) func main() { diff --git a/extensions/app-registry/pkg/command/health.go b/services/storage-shares/pkg/command/health.go similarity index 84% rename from extensions/app-registry/pkg/command/health.go rename to services/storage-shares/pkg/command/health.go index 912ecdfb0..90e68c8ba 100644 --- a/extensions/app-registry/pkg/command/health.go +++ b/services/storage-shares/pkg/command/health.go @@ -4,9 +4,9 @@ import ( "fmt" "net/http" - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/config" - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/logging" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/logging" "github.com/urfave/cli/v2" ) diff --git a/extensions/storage-shares/pkg/command/root.go b/services/storage-shares/pkg/command/root.go similarity index 95% rename from extensions/storage-shares/pkg/command/root.go rename to services/storage-shares/pkg/command/root.go index 062a22e67..5d8db7f5e 100644 --- a/extensions/storage-shares/pkg/command/root.go +++ b/services/storage-shares/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/storage-shares/pkg/command/server.go b/services/storage-shares/pkg/command/server.go similarity index 85% rename from extensions/storage-shares/pkg/command/server.go rename to services/storage-shares/pkg/command/server.go index a782f0e39..e54197997 100644 --- a/extensions/storage-shares/pkg/command/server.go +++ b/services/storage-shares/pkg/command/server.go @@ -9,15 +9,15 @@ import ( "github.com/cs3org/reva/v2/cmd/revad/runtime" "github.com/gofrs/uuid" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/config" - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/revaconfig" - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/service/external" "github.com/owncloud/ocis/v2/ocis-pkg/sync" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/logging" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/revaconfig" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/extensions/auth-machine/pkg/command/version.go b/services/storage-shares/pkg/command/version.go similarity index 95% rename from extensions/auth-machine/pkg/command/version.go rename to services/storage-shares/pkg/command/version.go index a687bbde9..df3e40b2f 100644 --- a/extensions/auth-machine/pkg/command/version.go +++ b/services/storage-shares/pkg/command/version.go @@ -8,7 +8,7 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/version" tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/storage-shares/pkg/config/config.go b/services/storage-shares/pkg/config/config.go similarity index 100% rename from extensions/storage-shares/pkg/config/config.go rename to services/storage-shares/pkg/config/config.go diff --git a/extensions/storage-shares/pkg/config/defaults/defaultconfig.go b/services/storage-shares/pkg/config/defaults/defaultconfig.go similarity index 96% rename from extensions/storage-shares/pkg/config/defaults/defaultconfig.go rename to services/storage-shares/pkg/config/defaults/defaultconfig.go index 9569e3440..b9664276f 100644 --- a/extensions/storage-shares/pkg/config/defaults/defaultconfig.go +++ b/services/storage-shares/pkg/config/defaults/defaultconfig.go @@ -1,7 +1,7 @@ package defaults import ( - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/app-registry/pkg/config/parser/parse.go b/services/storage-shares/pkg/config/parser/parse.go similarity index 87% rename from extensions/app-registry/pkg/config/parser/parse.go rename to services/storage-shares/pkg/config/parser/parse.go index 96fd9792b..6c7b5c371 100644 --- a/extensions/app-registry/pkg/config/parser/parse.go +++ b/services/storage-shares/pkg/config/parser/parse.go @@ -3,10 +3,10 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/config" - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/storage-shares/pkg/config/reva.go b/services/storage-shares/pkg/config/reva.go similarity index 100% rename from extensions/storage-shares/pkg/config/reva.go rename to services/storage-shares/pkg/config/reva.go diff --git a/extensions/app-registry/pkg/logging/logging.go b/services/storage-shares/pkg/logging/logging.go similarity index 84% rename from extensions/app-registry/pkg/logging/logging.go rename to services/storage-shares/pkg/logging/logging.go index 9776ff748..f7f4151ca 100644 --- a/extensions/app-registry/pkg/logging/logging.go +++ b/services/storage-shares/pkg/logging/logging.go @@ -1,8 +1,8 @@ package logging import ( - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/config" ) // LoggerFromConfig initializes a service-specific logger instance. diff --git a/extensions/storage-shares/pkg/revaconfig/config.go b/services/storage-shares/pkg/revaconfig/config.go similarity index 94% rename from extensions/storage-shares/pkg/revaconfig/config.go rename to services/storage-shares/pkg/revaconfig/config.go index c01554622..d6d29ba0e 100644 --- a/extensions/storage-shares/pkg/revaconfig/config.go +++ b/services/storage-shares/pkg/revaconfig/config.go @@ -1,7 +1,7 @@ package revaconfig import ( - "github.com/owncloud/ocis/v2/extensions/storage-shares/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/config" ) // StorageSharesConfigFromStruct will adapt an oCIS config struct into a reva mapstructure to start a reva service. diff --git a/extensions/app-registry/pkg/server/debug/option.go b/services/storage-shares/pkg/server/debug/option.go similarity index 93% rename from extensions/app-registry/pkg/server/debug/option.go rename to services/storage-shares/pkg/server/debug/option.go index 043e3fefe..3363308d1 100644 --- a/extensions/app-registry/pkg/server/debug/option.go +++ b/services/storage-shares/pkg/server/debug/option.go @@ -3,8 +3,8 @@ package debug import ( "context" - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/config" ) // Option defines a single option function. diff --git a/extensions/app-registry/pkg/server/debug/server.go b/services/storage-shares/pkg/server/debug/server.go similarity index 96% rename from extensions/app-registry/pkg/server/debug/server.go rename to services/storage-shares/pkg/server/debug/server.go index 82ffa38ad..159b70fdb 100644 --- a/extensions/app-registry/pkg/server/debug/server.go +++ b/services/storage-shares/pkg/server/debug/server.go @@ -4,9 +4,9 @@ import ( "io" "net/http" - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/config" ) // Server initializes the debug service and server. diff --git a/extensions/app-provider/pkg/tracing/tracing.go b/services/storage-shares/pkg/tracing/tracing.go similarity index 86% rename from extensions/app-provider/pkg/tracing/tracing.go rename to services/storage-shares/pkg/tracing/tracing.go index 0311f3b89..80077224d 100644 --- a/extensions/app-provider/pkg/tracing/tracing.go +++ b/services/storage-shares/pkg/tracing/tracing.go @@ -1,9 +1,9 @@ package tracing import ( - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/storage-shares/pkg/config" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/storage-system/Makefile b/services/storage-system/Makefile similarity index 100% rename from extensions/storage-system/Makefile rename to services/storage-system/Makefile diff --git a/extensions/app-registry/cmd/app-registry/main.go b/services/storage-system/cmd/storage-system/main.go similarity index 53% rename from extensions/app-registry/cmd/app-registry/main.go rename to services/storage-system/cmd/storage-system/main.go index 023b61ff4..d9242ea05 100644 --- a/extensions/app-registry/cmd/app-registry/main.go +++ b/services/storage-system/cmd/storage-system/main.go @@ -3,8 +3,8 @@ package main import ( "os" - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/command" - "github.com/owncloud/ocis/v2/extensions/app-registry/pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/command" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/config/defaults" ) func main() { diff --git a/extensions/auth-machine/pkg/command/health.go b/services/storage-system/pkg/command/health.go similarity index 84% rename from extensions/auth-machine/pkg/command/health.go rename to services/storage-system/pkg/command/health.go index 50b886f72..8b5d5e116 100644 --- a/extensions/auth-machine/pkg/command/health.go +++ b/services/storage-system/pkg/command/health.go @@ -4,9 +4,9 @@ import ( "fmt" "net/http" - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/config" - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/logging" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/logging" "github.com/urfave/cli/v2" ) diff --git a/extensions/storage-system/pkg/command/root.go b/services/storage-system/pkg/command/root.go similarity index 95% rename from extensions/storage-system/pkg/command/root.go rename to services/storage-system/pkg/command/root.go index 4cc90487d..8e9847e60 100644 --- a/extensions/storage-system/pkg/command/root.go +++ b/services/storage-system/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/storage-system/pkg/command/server.go b/services/storage-system/pkg/command/server.go similarity index 86% rename from extensions/storage-system/pkg/command/server.go rename to services/storage-system/pkg/command/server.go index 3ece430e4..b06a3ad90 100644 --- a/extensions/storage-system/pkg/command/server.go +++ b/services/storage-system/pkg/command/server.go @@ -9,15 +9,15 @@ import ( "github.com/cs3org/reva/v2/cmd/revad/runtime" "github.com/gofrs/uuid" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/config" - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/revaconfig" - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/service/external" "github.com/owncloud/ocis/v2/ocis-pkg/sync" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/logging" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/revaconfig" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/extensions/app-provider/pkg/command/version.go b/services/storage-system/pkg/command/version.go similarity index 95% rename from extensions/app-provider/pkg/command/version.go rename to services/storage-system/pkg/command/version.go index b65c39ee6..43898d149 100644 --- a/extensions/app-provider/pkg/command/version.go +++ b/services/storage-system/pkg/command/version.go @@ -8,7 +8,7 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/version" tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/storage-system/pkg/config/config.go b/services/storage-system/pkg/config/config.go similarity index 100% rename from extensions/storage-system/pkg/config/config.go rename to services/storage-system/pkg/config/config.go diff --git a/extensions/storage-system/pkg/config/defaults/defaultconfig.go b/services/storage-system/pkg/config/defaults/defaultconfig.go similarity index 97% rename from extensions/storage-system/pkg/config/defaults/defaultconfig.go rename to services/storage-system/pkg/config/defaults/defaultconfig.go index 7074e8f58..48f0bf6bf 100644 --- a/extensions/storage-system/pkg/config/defaults/defaultconfig.go +++ b/services/storage-system/pkg/config/defaults/defaultconfig.go @@ -3,8 +3,8 @@ package defaults import ( "path/filepath" - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/storage-system/pkg/config/parser/parse.go b/services/storage-system/pkg/config/parser/parse.go similarity index 88% rename from extensions/storage-system/pkg/config/parser/parse.go rename to services/storage-system/pkg/config/parser/parse.go index bb110555b..ce706ed67 100644 --- a/extensions/storage-system/pkg/config/parser/parse.go +++ b/services/storage-system/pkg/config/parser/parse.go @@ -3,10 +3,10 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/config" - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/storage-system/pkg/config/reva.go b/services/storage-system/pkg/config/reva.go similarity index 100% rename from extensions/storage-system/pkg/config/reva.go rename to services/storage-system/pkg/config/reva.go diff --git a/extensions/app-provider/pkg/logging/logging.go b/services/storage-system/pkg/logging/logging.go similarity index 84% rename from extensions/app-provider/pkg/logging/logging.go rename to services/storage-system/pkg/logging/logging.go index 5bd741e06..f2419085e 100644 --- a/extensions/app-provider/pkg/logging/logging.go +++ b/services/storage-system/pkg/logging/logging.go @@ -1,8 +1,8 @@ package logging import ( - "github.com/owncloud/ocis/v2/extensions/app-provider/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/config" ) // LoggerFromConfig initializes a service-specific logger instance. diff --git a/extensions/storage-system/pkg/revaconfig/config.go b/services/storage-system/pkg/revaconfig/config.go similarity index 98% rename from extensions/storage-system/pkg/revaconfig/config.go rename to services/storage-system/pkg/revaconfig/config.go index 0ef2b46b7..bbe33e615 100644 --- a/extensions/storage-system/pkg/revaconfig/config.go +++ b/services/storage-system/pkg/revaconfig/config.go @@ -2,7 +2,7 @@ package revaconfig import ( userpb "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1" - "github.com/owncloud/ocis/v2/extensions/storage-system/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/config" ) // StorageSystemFromStruct will adapt an oCIS config struct into a reva mapstructure to start a reva service. diff --git a/extensions/auth-machine/pkg/server/debug/option.go b/services/storage-system/pkg/server/debug/option.go similarity index 93% rename from extensions/auth-machine/pkg/server/debug/option.go rename to services/storage-system/pkg/server/debug/option.go index 057a52990..e0b164377 100644 --- a/extensions/auth-machine/pkg/server/debug/option.go +++ b/services/storage-system/pkg/server/debug/option.go @@ -3,8 +3,8 @@ package debug import ( "context" - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/config" ) // Option defines a single option function. diff --git a/extensions/auth-machine/pkg/server/debug/server.go b/services/storage-system/pkg/server/debug/server.go similarity index 96% rename from extensions/auth-machine/pkg/server/debug/server.go rename to services/storage-system/pkg/server/debug/server.go index 7812ed6de..0c83d7742 100644 --- a/extensions/auth-machine/pkg/server/debug/server.go +++ b/services/storage-system/pkg/server/debug/server.go @@ -4,9 +4,9 @@ import ( "io" "net/http" - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/config" ) // Server initializes the debug service and server. diff --git a/extensions/auth-machine/pkg/tracing/tracing.go b/services/storage-system/pkg/tracing/tracing.go similarity index 86% rename from extensions/auth-machine/pkg/tracing/tracing.go rename to services/storage-system/pkg/tracing/tracing.go index 49a7a96af..531ef376a 100644 --- a/extensions/auth-machine/pkg/tracing/tracing.go +++ b/services/storage-system/pkg/tracing/tracing.go @@ -1,9 +1,9 @@ package tracing import ( - "github.com/owncloud/ocis/v2/extensions/auth-machine/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/storage-system/pkg/config" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/storage-users/Makefile b/services/storage-users/Makefile similarity index 100% rename from extensions/storage-users/Makefile rename to services/storage-users/Makefile diff --git a/services/storage-users/cmd/storage-users/main.go b/services/storage-users/cmd/storage-users/main.go new file mode 100644 index 000000000..c3c7bc7e3 --- /dev/null +++ b/services/storage-users/cmd/storage-users/main.go @@ -0,0 +1,14 @@ +package main + +import ( + "os" + + "github.com/owncloud/ocis/v2/services/storage-users/pkg/command" + "github.com/owncloud/ocis/v2/services/storage-users/pkg/config/defaults" +) + +func main() { + if err := command.Execute(defaults.DefaultConfig()); err != nil { + os.Exit(1) + } +} diff --git a/extensions/auth-bearer/pkg/command/health.go b/services/storage-users/pkg/command/health.go similarity index 84% rename from extensions/auth-bearer/pkg/command/health.go rename to services/storage-users/pkg/command/health.go index 87cb09913..9dcb45556 100644 --- a/extensions/auth-bearer/pkg/command/health.go +++ b/services/storage-users/pkg/command/health.go @@ -4,9 +4,9 @@ import ( "fmt" "net/http" - "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/config" - "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/logging" + "github.com/owncloud/ocis/v2/services/storage-users/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-users/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/storage-users/pkg/logging" "github.com/urfave/cli/v2" ) diff --git a/extensions/storage-users/pkg/command/root.go b/services/storage-users/pkg/command/root.go similarity index 95% rename from extensions/storage-users/pkg/command/root.go rename to services/storage-users/pkg/command/root.go index 9b2204803..ae9dd94c0 100644 --- a/extensions/storage-users/pkg/command/root.go +++ b/services/storage-users/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/storage-users/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/storage-users/pkg/command/server.go b/services/storage-users/pkg/command/server.go similarity index 85% rename from extensions/storage-users/pkg/command/server.go rename to services/storage-users/pkg/command/server.go index e62f58f5c..7cf8b60a9 100644 --- a/extensions/storage-users/pkg/command/server.go +++ b/services/storage-users/pkg/command/server.go @@ -9,15 +9,15 @@ import ( "github.com/cs3org/reva/v2/cmd/revad/runtime" "github.com/gofrs/uuid" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/config" - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/revaconfig" - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/service/external" "github.com/owncloud/ocis/v2/ocis-pkg/sync" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/storage-users/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-users/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/storage-users/pkg/logging" + "github.com/owncloud/ocis/v2/services/storage-users/pkg/revaconfig" + "github.com/owncloud/ocis/v2/services/storage-users/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/storage-users/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/extensions/auth-bearer/pkg/command/version.go b/services/storage-users/pkg/command/version.go similarity index 95% rename from extensions/auth-bearer/pkg/command/version.go rename to services/storage-users/pkg/command/version.go index ff482957f..153d72e55 100644 --- a/extensions/auth-bearer/pkg/command/version.go +++ b/services/storage-users/pkg/command/version.go @@ -8,7 +8,7 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/version" tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-users/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/storage-users/pkg/config/config.go b/services/storage-users/pkg/config/config.go similarity index 100% rename from extensions/storage-users/pkg/config/config.go rename to services/storage-users/pkg/config/config.go diff --git a/extensions/storage-users/pkg/config/defaults/defaultconfig.go b/services/storage-users/pkg/config/defaults/defaultconfig.go similarity index 98% rename from extensions/storage-users/pkg/config/defaults/defaultconfig.go rename to services/storage-users/pkg/config/defaults/defaultconfig.go index 3827096c9..ee7dd2d08 100644 --- a/extensions/storage-users/pkg/config/defaults/defaultconfig.go +++ b/services/storage-users/pkg/config/defaults/defaultconfig.go @@ -3,8 +3,8 @@ package defaults import ( "path/filepath" - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/storage-users/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/auth-bearer/pkg/config/parser/parse.go b/services/storage-users/pkg/config/parser/parse.go similarity index 87% rename from extensions/auth-bearer/pkg/config/parser/parse.go rename to services/storage-users/pkg/config/parser/parse.go index 7ee80bb04..049a504ab 100644 --- a/extensions/auth-bearer/pkg/config/parser/parse.go +++ b/services/storage-users/pkg/config/parser/parse.go @@ -3,10 +3,10 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/config" - "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/storage-users/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-users/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/storage-users/pkg/config/reva.go b/services/storage-users/pkg/config/reva.go similarity index 100% rename from extensions/storage-users/pkg/config/reva.go rename to services/storage-users/pkg/config/reva.go diff --git a/services/storage-users/pkg/logging/logging.go b/services/storage-users/pkg/logging/logging.go new file mode 100644 index 000000000..e0576506b --- /dev/null +++ b/services/storage-users/pkg/logging/logging.go @@ -0,0 +1,17 @@ +package logging + +import ( + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/storage-users/pkg/config" +) + +// LoggerFromConfig initializes a service-specific logger instance. +func Configure(name string, cfg *config.Log) log.Logger { + return log.NewLogger( + log.Name(name), + log.Level(cfg.Level), + log.Pretty(cfg.Pretty), + log.Color(cfg.Color), + log.File(cfg.File), + ) +} diff --git a/extensions/storage-users/pkg/revaconfig/config.go b/services/storage-users/pkg/revaconfig/config.go similarity index 96% rename from extensions/storage-users/pkg/revaconfig/config.go rename to services/storage-users/pkg/revaconfig/config.go index 9dd8454f7..fb3efbeaf 100644 --- a/extensions/storage-users/pkg/revaconfig/config.go +++ b/services/storage-users/pkg/revaconfig/config.go @@ -1,7 +1,7 @@ package revaconfig import ( - "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/config" + "github.com/owncloud/ocis/v2/services/storage-users/pkg/config" ) // StorageUsersConfigFromStruct will adapt an oCIS config struct into a reva mapstructure to start a reva service. diff --git a/extensions/storage-users/pkg/revaconfig/user.go b/services/storage-users/pkg/revaconfig/user.go similarity index 98% rename from extensions/storage-users/pkg/revaconfig/user.go rename to services/storage-users/pkg/revaconfig/user.go index 139c47027..ca0660777 100644 --- a/extensions/storage-users/pkg/revaconfig/user.go +++ b/services/storage-users/pkg/revaconfig/user.go @@ -1,6 +1,6 @@ package revaconfig -import "github.com/owncloud/ocis/v2/extensions/storage-users/pkg/config" +import "github.com/owncloud/ocis/v2/services/storage-users/pkg/config" func UserDrivers(cfg *config.Config) map[string]interface{} { return map[string]interface{}{ diff --git a/extensions/auth-bearer/pkg/server/debug/option.go b/services/storage-users/pkg/server/debug/option.go similarity index 93% rename from extensions/auth-bearer/pkg/server/debug/option.go rename to services/storage-users/pkg/server/debug/option.go index 07ec93635..1ef04bc73 100644 --- a/extensions/auth-bearer/pkg/server/debug/option.go +++ b/services/storage-users/pkg/server/debug/option.go @@ -3,8 +3,8 @@ package debug import ( "context" - "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/storage-users/pkg/config" ) // Option defines a single option function. diff --git a/extensions/auth-bearer/pkg/server/debug/server.go b/services/storage-users/pkg/server/debug/server.go similarity index 96% rename from extensions/auth-bearer/pkg/server/debug/server.go rename to services/storage-users/pkg/server/debug/server.go index 32d514073..bad45bf05 100644 --- a/extensions/auth-bearer/pkg/server/debug/server.go +++ b/services/storage-users/pkg/server/debug/server.go @@ -4,9 +4,9 @@ import ( "io" "net/http" - "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/storage-users/pkg/config" ) // Server initializes the debug service and server. diff --git a/extensions/auth-bearer/pkg/tracing/tracing.go b/services/storage-users/pkg/tracing/tracing.go similarity index 86% rename from extensions/auth-bearer/pkg/tracing/tracing.go rename to services/storage-users/pkg/tracing/tracing.go index 67a0dc3f0..8a9fca712 100644 --- a/extensions/auth-bearer/pkg/tracing/tracing.go +++ b/services/storage-users/pkg/tracing/tracing.go @@ -1,9 +1,9 @@ package tracing import ( - "github.com/owncloud/ocis/v2/extensions/auth-bearer/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/storage-users/pkg/config" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/store/.golangci.yaml b/services/store/.golangci.yaml similarity index 100% rename from extensions/store/.golangci.yaml rename to services/store/.golangci.yaml diff --git a/extensions/store/Makefile b/services/store/Makefile similarity index 100% rename from extensions/store/Makefile rename to services/store/Makefile diff --git a/services/store/cmd/store/main.go b/services/store/cmd/store/main.go new file mode 100644 index 000000000..ecf42e819 --- /dev/null +++ b/services/store/cmd/store/main.go @@ -0,0 +1,14 @@ +package main + +import ( + "os" + + "github.com/owncloud/ocis/v2/services/store/pkg/command" + "github.com/owncloud/ocis/v2/services/store/pkg/config/defaults" +) + +func main() { + if err := command.Execute(defaults.DefaultConfig()); err != nil { + os.Exit(1) + } +} diff --git a/extensions/store/docker/Dockerfile.linux.amd64 b/services/store/docker/Dockerfile.linux.amd64 similarity index 100% rename from extensions/store/docker/Dockerfile.linux.amd64 rename to services/store/docker/Dockerfile.linux.amd64 diff --git a/extensions/store/docker/Dockerfile.linux.arm b/services/store/docker/Dockerfile.linux.arm similarity index 100% rename from extensions/store/docker/Dockerfile.linux.arm rename to services/store/docker/Dockerfile.linux.arm diff --git a/extensions/store/docker/Dockerfile.linux.arm64 b/services/store/docker/Dockerfile.linux.arm64 similarity index 100% rename from extensions/store/docker/Dockerfile.linux.arm64 rename to services/store/docker/Dockerfile.linux.arm64 diff --git a/extensions/store/docker/manifest.tmpl b/services/store/docker/manifest.tmpl similarity index 100% rename from extensions/store/docker/manifest.tmpl rename to services/store/docker/manifest.tmpl diff --git a/services/store/pkg/command/health.go b/services/store/pkg/command/health.go new file mode 100644 index 000000000..e08ec2c78 --- /dev/null +++ b/services/store/pkg/command/health.go @@ -0,0 +1,57 @@ +package command + +import ( + "fmt" + "net/http" + + "github.com/owncloud/ocis/v2/services/store/pkg/config" + "github.com/owncloud/ocis/v2/services/store/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/store/pkg/logging" + "github.com/urfave/cli/v2" +) + +// Health is the entrypoint for the health command. +func Health(cfg *config.Config) *cli.Command { + return &cli.Command{ + Name: "health", + Usage: "check health status", + Category: "info", + Before: func(c *cli.Context) error { + err := parser.ParseConfig(cfg) + if err != nil { + fmt.Printf("%v", err) + } + return err + }, + Action: func(c *cli.Context) error { + logger := logging.Configure(cfg.Service.Name, cfg.Log) + + resp, err := http.Get( + fmt.Sprintf( + "http://%s/healthz", + cfg.Debug.Addr, + ), + ) + + if err != nil { + logger.Fatal(). + Err(err). + Msg("Failed to request health check") + } + + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + logger.Fatal(). + Int("code", resp.StatusCode). + Msg("Health seems to be in bad state") + } + + logger.Debug(). + Int("code", resp.StatusCode). + Msg("Health got a good state") + + return nil + }, + } +} diff --git a/extensions/store/pkg/command/root.go b/services/store/pkg/command/root.go similarity index 91% rename from extensions/store/pkg/command/root.go rename to services/store/pkg/command/root.go index 2d9a1d288..5396b1103 100644 --- a/extensions/store/pkg/command/root.go +++ b/services/store/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/store/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/store/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) @@ -29,7 +29,7 @@ func GetCommands(cfg *config.Config) cli.Commands { func Execute(cfg *config.Config) error { app := clihelper.DefaultApp(&cli.App{ Name: "store", - Usage: "Service to store values for ocis extensions", + Usage: "Service to store values for ocis services", Commands: GetCommands(cfg), }) diff --git a/extensions/store/pkg/command/server.go b/services/store/pkg/command/server.go similarity index 80% rename from extensions/store/pkg/command/server.go rename to services/store/pkg/command/server.go index a69740865..8b08d7a4e 100644 --- a/extensions/store/pkg/command/server.go +++ b/services/store/pkg/command/server.go @@ -7,14 +7,14 @@ import ( "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/store/pkg/config" - "github.com/owncloud/ocis/v2/extensions/store/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/store/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/store/pkg/metrics" - "github.com/owncloud/ocis/v2/extensions/store/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/store/pkg/server/grpc" - "github.com/owncloud/ocis/v2/extensions/store/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/store/pkg/config" + "github.com/owncloud/ocis/v2/services/store/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/store/pkg/logging" + "github.com/owncloud/ocis/v2/services/store/pkg/metrics" + "github.com/owncloud/ocis/v2/services/store/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/store/pkg/server/grpc" + "github.com/owncloud/ocis/v2/services/store/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/services/store/pkg/command/version.go b/services/store/pkg/command/version.go new file mode 100644 index 000000000..b1cfe5742 --- /dev/null +++ b/services/store/pkg/command/version.go @@ -0,0 +1,50 @@ +package command + +import ( + "fmt" + "os" + + "github.com/owncloud/ocis/v2/ocis-pkg/registry" + "github.com/owncloud/ocis/v2/ocis-pkg/version" + + tw "github.com/olekukonko/tablewriter" + "github.com/owncloud/ocis/v2/services/store/pkg/config" + "github.com/urfave/cli/v2" +) + +// Version prints the service versions of all running instances. +func Version(cfg *config.Config) *cli.Command { + return &cli.Command{ + Name: "version", + Usage: "print the version of this binary and the running extension instances", + Category: "info", + Action: func(c *cli.Context) error { + fmt.Println("Version: " + version.GetString()) + fmt.Printf("Compiled: %s\n", version.Compiled()) + fmt.Println("") + + reg := registry.GetRegistry() + services, err := reg.GetService(cfg.GRPC.Namespace + "." + cfg.Service.Name) + if err != nil { + fmt.Println(fmt.Errorf("could not get %s services from the registry: %v", cfg.Service.Name, err)) + return err + } + + if len(services) == 0 { + fmt.Println("No running " + cfg.Service.Name + " service found.") + return nil + } + + table := tw.NewWriter(os.Stdout) + table.SetHeader([]string{"Version", "Address", "Id"}) + table.SetAutoFormatHeaders(false) + for _, s := range services { + for _, n := range s.Nodes { + table.Append([]string{s.Version, n.Address, n.Id}) + } + } + table.Render() + return nil + }, + } +} diff --git a/extensions/store/pkg/config/config.go b/services/store/pkg/config/config.go similarity index 100% rename from extensions/store/pkg/config/config.go rename to services/store/pkg/config/config.go diff --git a/extensions/store/pkg/config/debug.go b/services/store/pkg/config/debug.go similarity index 100% rename from extensions/store/pkg/config/debug.go rename to services/store/pkg/config/debug.go diff --git a/extensions/store/pkg/config/defaults/defaultconfig.go b/services/store/pkg/config/defaults/defaultconfig.go similarity index 96% rename from extensions/store/pkg/config/defaults/defaultconfig.go rename to services/store/pkg/config/defaults/defaultconfig.go index 3f765cda5..1755b8111 100644 --- a/extensions/store/pkg/config/defaults/defaultconfig.go +++ b/services/store/pkg/config/defaults/defaultconfig.go @@ -3,8 +3,8 @@ package defaults import ( "path" - "github.com/owncloud/ocis/v2/extensions/store/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/store/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/store/pkg/config/grpc.go b/services/store/pkg/config/grpc.go similarity index 100% rename from extensions/store/pkg/config/grpc.go rename to services/store/pkg/config/grpc.go diff --git a/extensions/store/pkg/config/log.go b/services/store/pkg/config/log.go similarity index 100% rename from extensions/store/pkg/config/log.go rename to services/store/pkg/config/log.go diff --git a/extensions/store/pkg/config/parser/parse.go b/services/store/pkg/config/parser/parse.go similarity index 85% rename from extensions/store/pkg/config/parser/parse.go rename to services/store/pkg/config/parser/parse.go index 2729c98a1..5fb6a3c55 100644 --- a/extensions/store/pkg/config/parser/parse.go +++ b/services/store/pkg/config/parser/parse.go @@ -3,9 +3,9 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/store/pkg/config" - "github.com/owncloud/ocis/v2/extensions/store/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/store/pkg/config" + "github.com/owncloud/ocis/v2/services/store/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/store/pkg/config/service.go b/services/store/pkg/config/service.go similarity index 100% rename from extensions/store/pkg/config/service.go rename to services/store/pkg/config/service.go diff --git a/extensions/store/pkg/config/tracing.go b/services/store/pkg/config/tracing.go similarity index 100% rename from extensions/store/pkg/config/tracing.go rename to services/store/pkg/config/tracing.go diff --git a/services/store/pkg/logging/logging.go b/services/store/pkg/logging/logging.go new file mode 100644 index 000000000..13fcd3705 --- /dev/null +++ b/services/store/pkg/logging/logging.go @@ -0,0 +1,17 @@ +package logging + +import ( + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/store/pkg/config" +) + +// LoggerFromConfig initializes a service-specific logger instance. +func Configure(name string, cfg *config.Log) log.Logger { + return log.NewLogger( + log.Name(name), + log.Level(cfg.Level), + log.Pretty(cfg.Pretty), + log.Color(cfg.Color), + log.File(cfg.File), + ) +} diff --git a/extensions/store/pkg/metrics/metrics.go b/services/store/pkg/metrics/metrics.go similarity index 100% rename from extensions/store/pkg/metrics/metrics.go rename to services/store/pkg/metrics/metrics.go diff --git a/services/store/pkg/server/debug/option.go b/services/store/pkg/server/debug/option.go new file mode 100644 index 000000000..1613a3ef8 --- /dev/null +++ b/services/store/pkg/server/debug/option.go @@ -0,0 +1,50 @@ +package debug + +import ( + "context" + + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/store/pkg/config" +) + +// Option defines a single option function. +type Option func(o *Options) + +// Options defines the available options for this package. +type Options struct { + Logger log.Logger + Context context.Context + Config *config.Config +} + +// newOptions initializes the available default options. +func newOptions(opts ...Option) Options { + opt := Options{} + + for _, o := range opts { + o(&opt) + } + + return opt +} + +// Logger provides a function to set the logger option. +func Logger(val log.Logger) Option { + return func(o *Options) { + o.Logger = val + } +} + +// Context provides a function to set the context option. +func Context(val context.Context) Option { + return func(o *Options) { + o.Context = val + } +} + +// Config provides a function to set the config option. +func Config(val *config.Config) Option { + return func(o *Options) { + o.Config = val + } +} diff --git a/extensions/store/pkg/server/debug/server.go b/services/store/pkg/server/debug/server.go similarity index 96% rename from extensions/store/pkg/server/debug/server.go rename to services/store/pkg/server/debug/server.go index e5f4e4416..09507ef0d 100644 --- a/extensions/store/pkg/server/debug/server.go +++ b/services/store/pkg/server/debug/server.go @@ -4,9 +4,9 @@ import ( "io" "net/http" - "github.com/owncloud/ocis/v2/extensions/store/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/store/pkg/config" ) // Server initializes the debug service and server. diff --git a/extensions/store/pkg/server/grpc/option.go b/services/store/pkg/server/grpc/option.go similarity index 92% rename from extensions/store/pkg/server/grpc/option.go rename to services/store/pkg/server/grpc/option.go index 2e3813dd4..dc8e16843 100644 --- a/extensions/store/pkg/server/grpc/option.go +++ b/services/store/pkg/server/grpc/option.go @@ -3,9 +3,9 @@ package grpc import ( "context" - "github.com/owncloud/ocis/v2/extensions/store/pkg/config" - "github.com/owncloud/ocis/v2/extensions/store/pkg/metrics" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/store/pkg/config" + "github.com/owncloud/ocis/v2/services/store/pkg/metrics" "github.com/urfave/cli/v2" ) diff --git a/extensions/store/pkg/server/grpc/server.go b/services/store/pkg/server/grpc/server.go similarity index 93% rename from extensions/store/pkg/server/grpc/server.go rename to services/store/pkg/server/grpc/server.go index 2d7e918cb..0a3de8549 100644 --- a/extensions/store/pkg/server/grpc/server.go +++ b/services/store/pkg/server/grpc/server.go @@ -1,10 +1,10 @@ package grpc import ( - svc "github.com/owncloud/ocis/v2/extensions/store/pkg/service/v0" "github.com/owncloud/ocis/v2/ocis-pkg/service/grpc" "github.com/owncloud/ocis/v2/ocis-pkg/version" storesvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/store/v0" + svc "github.com/owncloud/ocis/v2/services/store/pkg/service/v0" ) // Server initializes a new go-micro service ready to run diff --git a/extensions/store/pkg/service/v0/option.go b/services/store/pkg/service/v0/option.go similarity index 94% rename from extensions/store/pkg/service/v0/option.go rename to services/store/pkg/service/v0/option.go index 7cd8f7078..46bea7899 100644 --- a/extensions/store/pkg/service/v0/option.go +++ b/services/store/pkg/service/v0/option.go @@ -1,8 +1,8 @@ package service import ( - "github.com/owncloud/ocis/v2/extensions/store/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/store/pkg/config" ) // Option defines a single option function. diff --git a/extensions/store/pkg/service/v0/service.go b/services/store/pkg/service/v0/service.go similarity index 99% rename from extensions/store/pkg/service/v0/service.go rename to services/store/pkg/service/v0/service.go index 50919c2f0..57499d89f 100644 --- a/extensions/store/pkg/service/v0/service.go +++ b/services/store/pkg/service/v0/service.go @@ -9,10 +9,10 @@ import ( "github.com/blevesearch/bleve/v2" "github.com/blevesearch/bleve/v2/analysis/analyzer/keyword" - "github.com/owncloud/ocis/v2/extensions/store/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" storemsg "github.com/owncloud/ocis/v2/protogen/gen/ocis/messages/store/v0" storesvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/store/v0" + "github.com/owncloud/ocis/v2/services/store/pkg/config" merrors "go-micro.dev/v4/errors" "google.golang.org/protobuf/encoding/protojson" ) diff --git a/extensions/store/pkg/tracing/tracing.go b/services/store/pkg/tracing/tracing.go similarity index 89% rename from extensions/store/pkg/tracing/tracing.go rename to services/store/pkg/tracing/tracing.go index 4bb2401ad..6e6e70526 100644 --- a/extensions/store/pkg/tracing/tracing.go +++ b/services/store/pkg/tracing/tracing.go @@ -1,8 +1,8 @@ package tracing import ( - "github.com/owncloud/ocis/v2/extensions/store/pkg/config" pkgtrace "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/store/pkg/config" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/store/reflex.conf b/services/store/reflex.conf similarity index 100% rename from extensions/store/reflex.conf rename to services/store/reflex.conf diff --git a/extensions/thumbnails/Makefile b/services/thumbnails/Makefile similarity index 100% rename from extensions/thumbnails/Makefile rename to services/thumbnails/Makefile diff --git a/extensions/frontend/cmd/frontend/main.go b/services/thumbnails/cmd/thumbnails/main.go similarity index 52% rename from extensions/frontend/cmd/frontend/main.go rename to services/thumbnails/cmd/thumbnails/main.go index 9fdc69192..f0a86f58b 100644 --- a/extensions/frontend/cmd/frontend/main.go +++ b/services/thumbnails/cmd/thumbnails/main.go @@ -3,8 +3,8 @@ package main import ( "os" - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/command" - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/command" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config/defaults" ) func main() { diff --git a/extensions/thumbnails/docker/Dockerfile.linux.amd64 b/services/thumbnails/docker/Dockerfile.linux.amd64 similarity index 100% rename from extensions/thumbnails/docker/Dockerfile.linux.amd64 rename to services/thumbnails/docker/Dockerfile.linux.amd64 diff --git a/extensions/thumbnails/docker/Dockerfile.linux.arm b/services/thumbnails/docker/Dockerfile.linux.arm similarity index 100% rename from extensions/thumbnails/docker/Dockerfile.linux.arm rename to services/thumbnails/docker/Dockerfile.linux.arm diff --git a/extensions/thumbnails/docker/Dockerfile.linux.arm64 b/services/thumbnails/docker/Dockerfile.linux.arm64 similarity index 100% rename from extensions/thumbnails/docker/Dockerfile.linux.arm64 rename to services/thumbnails/docker/Dockerfile.linux.arm64 diff --git a/extensions/thumbnails/docker/manifest.tmpl b/services/thumbnails/docker/manifest.tmpl similarity index 100% rename from extensions/thumbnails/docker/manifest.tmpl rename to services/thumbnails/docker/manifest.tmpl diff --git a/extensions/gateway/pkg/command/health.go b/services/thumbnails/pkg/command/health.go similarity index 83% rename from extensions/gateway/pkg/command/health.go rename to services/thumbnails/pkg/command/health.go index 9ff7965c7..d8e1210b0 100644 --- a/extensions/gateway/pkg/command/health.go +++ b/services/thumbnails/pkg/command/health.go @@ -4,9 +4,9 @@ import ( "fmt" "net/http" - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/config" - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/logging" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/logging" "github.com/urfave/cli/v2" ) diff --git a/extensions/thumbnails/pkg/command/root.go b/services/thumbnails/pkg/command/root.go similarity index 95% rename from extensions/thumbnails/pkg/command/root.go rename to services/thumbnails/pkg/command/root.go index f270959d2..efa87a675 100644 --- a/extensions/thumbnails/pkg/command/root.go +++ b/services/thumbnails/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/thumbnails/pkg/command/server.go b/services/thumbnails/pkg/command/server.go similarity index 80% rename from extensions/thumbnails/pkg/command/server.go rename to services/thumbnails/pkg/command/server.go index 85efcc7f7..7f8392c7f 100644 --- a/extensions/thumbnails/pkg/command/server.go +++ b/services/thumbnails/pkg/command/server.go @@ -6,15 +6,15 @@ import ( "os" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/metrics" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/server/grpc" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/server/http" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/logging" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/metrics" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/server/grpc" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/server/http" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/extensions/gateway/pkg/command/version.go b/services/thumbnails/pkg/command/version.go similarity index 95% rename from extensions/gateway/pkg/command/version.go rename to services/thumbnails/pkg/command/version.go index 7fd1d3afc..5b893a897 100644 --- a/extensions/gateway/pkg/command/version.go +++ b/services/thumbnails/pkg/command/version.go @@ -8,7 +8,7 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/version" tw "github.com/olekukonko/tablewriter" - "github.com/owncloud/ocis/v2/extensions/gateway/pkg/config" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config" "github.com/urfave/cli/v2" ) diff --git a/extensions/thumbnails/pkg/config/config.go b/services/thumbnails/pkg/config/config.go similarity index 100% rename from extensions/thumbnails/pkg/config/config.go rename to services/thumbnails/pkg/config/config.go diff --git a/extensions/thumbnails/pkg/config/debug.go b/services/thumbnails/pkg/config/debug.go similarity index 100% rename from extensions/thumbnails/pkg/config/debug.go rename to services/thumbnails/pkg/config/debug.go diff --git a/extensions/thumbnails/pkg/config/defaults/defaultconfig.go b/services/thumbnails/pkg/config/defaults/defaultconfig.go similarity index 97% rename from extensions/thumbnails/pkg/config/defaults/defaultconfig.go rename to services/thumbnails/pkg/config/defaults/defaultconfig.go index 3a179e0f5..752169b8e 100644 --- a/extensions/thumbnails/pkg/config/defaults/defaultconfig.go +++ b/services/thumbnails/pkg/config/defaults/defaultconfig.go @@ -4,8 +4,8 @@ import ( "path" "strings" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/thumbnails/pkg/config/grpc.go b/services/thumbnails/pkg/config/grpc.go similarity index 100% rename from extensions/thumbnails/pkg/config/grpc.go rename to services/thumbnails/pkg/config/grpc.go diff --git a/extensions/thumbnails/pkg/config/http.go b/services/thumbnails/pkg/config/http.go similarity index 100% rename from extensions/thumbnails/pkg/config/http.go rename to services/thumbnails/pkg/config/http.go diff --git a/extensions/thumbnails/pkg/config/log.go b/services/thumbnails/pkg/config/log.go similarity index 100% rename from extensions/thumbnails/pkg/config/log.go rename to services/thumbnails/pkg/config/log.go diff --git a/extensions/thumbnails/pkg/config/parser/parse.go b/services/thumbnails/pkg/config/parser/parse.go similarity index 85% rename from extensions/thumbnails/pkg/config/parser/parse.go rename to services/thumbnails/pkg/config/parser/parse.go index 0a36b2a32..020c13747 100644 --- a/extensions/thumbnails/pkg/config/parser/parse.go +++ b/services/thumbnails/pkg/config/parser/parse.go @@ -3,9 +3,9 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/thumbnails/pkg/config/service.go b/services/thumbnails/pkg/config/service.go similarity index 100% rename from extensions/thumbnails/pkg/config/service.go rename to services/thumbnails/pkg/config/service.go diff --git a/extensions/thumbnails/pkg/config/tracing.go b/services/thumbnails/pkg/config/tracing.go similarity index 100% rename from extensions/thumbnails/pkg/config/tracing.go rename to services/thumbnails/pkg/config/tracing.go diff --git a/extensions/frontend/pkg/logging/logging.go b/services/thumbnails/pkg/logging/logging.go similarity index 84% rename from extensions/frontend/pkg/logging/logging.go rename to services/thumbnails/pkg/logging/logging.go index 20dc29549..86405182a 100644 --- a/extensions/frontend/pkg/logging/logging.go +++ b/services/thumbnails/pkg/logging/logging.go @@ -1,8 +1,8 @@ package logging import ( - "github.com/owncloud/ocis/v2/extensions/frontend/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config" ) // LoggerFromConfig initializes a service-specific logger instance. diff --git a/extensions/thumbnails/pkg/metrics/metrics.go b/services/thumbnails/pkg/metrics/metrics.go similarity index 100% rename from extensions/thumbnails/pkg/metrics/metrics.go rename to services/thumbnails/pkg/metrics/metrics.go diff --git a/extensions/thumbnails/pkg/preprocessor/fontloader.go b/services/thumbnails/pkg/preprocessor/fontloader.go similarity index 100% rename from extensions/thumbnails/pkg/preprocessor/fontloader.go rename to services/thumbnails/pkg/preprocessor/fontloader.go diff --git a/extensions/thumbnails/pkg/preprocessor/preprocessor.go b/services/thumbnails/pkg/preprocessor/preprocessor.go similarity index 100% rename from extensions/thumbnails/pkg/preprocessor/preprocessor.go rename to services/thumbnails/pkg/preprocessor/preprocessor.go diff --git a/extensions/thumbnails/pkg/preprocessor/textanalyzer.go b/services/thumbnails/pkg/preprocessor/textanalyzer.go similarity index 100% rename from extensions/thumbnails/pkg/preprocessor/textanalyzer.go rename to services/thumbnails/pkg/preprocessor/textanalyzer.go diff --git a/extensions/thumbnails/pkg/preprocessor/textanalyzer_test.go b/services/thumbnails/pkg/preprocessor/textanalyzer_test.go similarity index 100% rename from extensions/thumbnails/pkg/preprocessor/textanalyzer_test.go rename to services/thumbnails/pkg/preprocessor/textanalyzer_test.go diff --git a/extensions/thumbnails/pkg/server/debug/option.go b/services/thumbnails/pkg/server/debug/option.go similarity index 92% rename from extensions/thumbnails/pkg/server/debug/option.go rename to services/thumbnails/pkg/server/debug/option.go index dfced5ae6..534a47f1c 100644 --- a/extensions/thumbnails/pkg/server/debug/option.go +++ b/services/thumbnails/pkg/server/debug/option.go @@ -1,8 +1,8 @@ package debug import ( - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config" ) // Option defines a single option function. diff --git a/extensions/search/pkg/server/debug/server.go b/services/thumbnails/pkg/server/debug/server.go similarity index 96% rename from extensions/search/pkg/server/debug/server.go rename to services/thumbnails/pkg/server/debug/server.go index 43d2caeee..3a1ddcea7 100644 --- a/extensions/search/pkg/server/debug/server.go +++ b/services/thumbnails/pkg/server/debug/server.go @@ -4,9 +4,9 @@ import ( "io" "net/http" - "github.com/owncloud/ocis/v2/extensions/search/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config" ) // Server initializes the debug service and server. diff --git a/extensions/thumbnails/pkg/server/grpc/option.go b/services/thumbnails/pkg/server/grpc/option.go similarity index 93% rename from extensions/thumbnails/pkg/server/grpc/option.go rename to services/thumbnails/pkg/server/grpc/option.go index c5cd4f3e3..ede5c1207 100644 --- a/extensions/thumbnails/pkg/server/grpc/option.go +++ b/services/thumbnails/pkg/server/grpc/option.go @@ -3,9 +3,9 @@ package grpc import ( "context" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/metrics" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/metrics" "github.com/urfave/cli/v2" ) diff --git a/extensions/thumbnails/pkg/server/grpc/server.go b/services/thumbnails/pkg/server/grpc/server.go similarity index 83% rename from extensions/thumbnails/pkg/server/grpc/server.go rename to services/thumbnails/pkg/server/grpc/server.go index 1eee17df2..9f78524f0 100644 --- a/extensions/thumbnails/pkg/server/grpc/server.go +++ b/services/thumbnails/pkg/server/grpc/server.go @@ -2,13 +2,13 @@ package grpc import ( "github.com/cs3org/reva/v2/pkg/rgrpc/todo/pool" - svc "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/service/grpc/v0" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/service/grpc/v0/decorators" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/thumbnail/imgsource" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/thumbnail/storage" "github.com/owncloud/ocis/v2/ocis-pkg/service/grpc" "github.com/owncloud/ocis/v2/ocis-pkg/version" thumbnailssvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/thumbnails/v0" + svc "github.com/owncloud/ocis/v2/services/thumbnails/pkg/service/grpc/v0" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/service/grpc/v0/decorators" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/thumbnail/imgsource" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/thumbnail/storage" ) // NewService initializes the grpc service and server. diff --git a/extensions/thumbnails/pkg/server/http/option.go b/services/thumbnails/pkg/server/http/option.go similarity index 91% rename from extensions/thumbnails/pkg/server/http/option.go rename to services/thumbnails/pkg/server/http/option.go index 5cdd52aa8..6cb7020ee 100644 --- a/extensions/thumbnails/pkg/server/http/option.go +++ b/services/thumbnails/pkg/server/http/option.go @@ -3,9 +3,9 @@ package http import ( "context" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/metrics" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/metrics" "github.com/urfave/cli/v2" ) diff --git a/extensions/thumbnails/pkg/server/http/server.go b/services/thumbnails/pkg/server/http/server.go similarity index 90% rename from extensions/thumbnails/pkg/server/http/server.go rename to services/thumbnails/pkg/server/http/server.go index 540dce155..7f03f4080 100644 --- a/extensions/thumbnails/pkg/server/http/server.go +++ b/services/thumbnails/pkg/server/http/server.go @@ -2,11 +2,11 @@ package http import ( "github.com/go-chi/chi/v5/middleware" - svc "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/service/http/v0" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/thumbnail/storage" ocismiddleware "github.com/owncloud/ocis/v2/ocis-pkg/middleware" "github.com/owncloud/ocis/v2/ocis-pkg/service/http" "github.com/owncloud/ocis/v2/ocis-pkg/version" + svc "github.com/owncloud/ocis/v2/services/thumbnails/pkg/service/http/v0" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/thumbnail/storage" "go-micro.dev/v4" ) diff --git a/extensions/thumbnails/pkg/service/grpc/v0/decorators/base.go b/services/thumbnails/pkg/service/grpc/v0/decorators/base.go similarity index 100% rename from extensions/thumbnails/pkg/service/grpc/v0/decorators/base.go rename to services/thumbnails/pkg/service/grpc/v0/decorators/base.go diff --git a/extensions/thumbnails/pkg/service/grpc/v0/decorators/instrument.go b/services/thumbnails/pkg/service/grpc/v0/decorators/instrument.go similarity index 94% rename from extensions/thumbnails/pkg/service/grpc/v0/decorators/instrument.go rename to services/thumbnails/pkg/service/grpc/v0/decorators/instrument.go index df1359417..66f481ee1 100644 --- a/extensions/thumbnails/pkg/service/grpc/v0/decorators/instrument.go +++ b/services/thumbnails/pkg/service/grpc/v0/decorators/instrument.go @@ -3,8 +3,8 @@ package decorators import ( "context" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/metrics" thumbnailssvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/thumbnails/v0" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/metrics" "github.com/prometheus/client_golang/prometheus" ) diff --git a/extensions/thumbnails/pkg/service/grpc/v0/decorators/logging.go b/services/thumbnails/pkg/service/grpc/v0/decorators/logging.go similarity index 100% rename from extensions/thumbnails/pkg/service/grpc/v0/decorators/logging.go rename to services/thumbnails/pkg/service/grpc/v0/decorators/logging.go diff --git a/extensions/thumbnails/pkg/service/grpc/v0/decorators/tracing.go b/services/thumbnails/pkg/service/grpc/v0/decorators/tracing.go similarity index 93% rename from extensions/thumbnails/pkg/service/grpc/v0/decorators/tracing.go rename to services/thumbnails/pkg/service/grpc/v0/decorators/tracing.go index 1f5f24dc2..d19828a70 100644 --- a/extensions/thumbnails/pkg/service/grpc/v0/decorators/tracing.go +++ b/services/thumbnails/pkg/service/grpc/v0/decorators/tracing.go @@ -5,8 +5,8 @@ import ( "go.opentelemetry.io/otel/trace" - thumbnailsTracing "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/tracing" thumbnailssvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/thumbnails/v0" + thumbnailsTracing "github.com/owncloud/ocis/v2/services/thumbnails/pkg/tracing" "go.opentelemetry.io/otel/attribute" ) diff --git a/extensions/thumbnails/pkg/service/grpc/v0/option.go b/services/thumbnails/pkg/service/grpc/v0/option.go similarity index 89% rename from extensions/thumbnails/pkg/service/grpc/v0/option.go rename to services/thumbnails/pkg/service/grpc/v0/option.go index e62d96133..19b341c58 100644 --- a/extensions/thumbnails/pkg/service/grpc/v0/option.go +++ b/services/thumbnails/pkg/service/grpc/v0/option.go @@ -5,10 +5,10 @@ import ( gateway "github.com/cs3org/go-cs3apis/cs3/gateway/v1beta1" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/thumbnail/imgsource" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/thumbnail/storage" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/thumbnail/imgsource" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/thumbnail/storage" ) // Option defines a single option function. diff --git a/extensions/thumbnails/pkg/service/grpc/v0/service.go b/services/thumbnails/pkg/service/grpc/v0/service.go similarity index 96% rename from extensions/thumbnails/pkg/service/grpc/v0/service.go rename to services/thumbnails/pkg/service/grpc/v0/service.go index ba6c35f92..e6cc0cac5 100644 --- a/extensions/thumbnails/pkg/service/grpc/v0/service.go +++ b/services/thumbnails/pkg/service/grpc/v0/service.go @@ -14,14 +14,14 @@ import ( revactx "github.com/cs3org/reva/v2/pkg/ctx" "github.com/cs3org/reva/v2/pkg/storagespace" "github.com/golang-jwt/jwt/v4" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/preprocessor" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/service/grpc/v0/decorators" - tjwt "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/service/jwt" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/thumbnail" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/thumbnail/imgsource" "github.com/owncloud/ocis/v2/ocis-pkg/log" thumbnailsmsg "github.com/owncloud/ocis/v2/protogen/gen/ocis/messages/thumbnails/v0" thumbnailssvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/thumbnails/v0" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/preprocessor" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/service/grpc/v0/decorators" + tjwt "github.com/owncloud/ocis/v2/services/thumbnails/pkg/service/jwt" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/thumbnail" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/thumbnail/imgsource" "github.com/pkg/errors" merrors "go-micro.dev/v4/errors" "google.golang.org/grpc/metadata" diff --git a/extensions/thumbnails/pkg/service/http/v0/instrument.go b/services/thumbnails/pkg/service/http/v0/instrument.go similarity index 90% rename from extensions/thumbnails/pkg/service/http/v0/instrument.go rename to services/thumbnails/pkg/service/http/v0/instrument.go index 259a5dc4d..91fc4f9a6 100644 --- a/extensions/thumbnails/pkg/service/http/v0/instrument.go +++ b/services/thumbnails/pkg/service/http/v0/instrument.go @@ -3,7 +3,7 @@ package svc import ( "net/http" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/metrics" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/metrics" ) // NewInstrument returns a service that instruments metrics. diff --git a/extensions/thumbnails/pkg/service/http/v0/logging.go b/services/thumbnails/pkg/service/http/v0/logging.go similarity index 100% rename from extensions/thumbnails/pkg/service/http/v0/logging.go rename to services/thumbnails/pkg/service/http/v0/logging.go diff --git a/extensions/thumbnails/pkg/service/http/v0/option.go b/services/thumbnails/pkg/service/http/v0/option.go similarity index 89% rename from extensions/thumbnails/pkg/service/http/v0/option.go rename to services/thumbnails/pkg/service/http/v0/option.go index e3535ed66..13f2f52a7 100644 --- a/extensions/thumbnails/pkg/service/http/v0/option.go +++ b/services/thumbnails/pkg/service/http/v0/option.go @@ -3,9 +3,9 @@ package svc import ( "net/http" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/thumbnail/storage" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/thumbnail/storage" ) // Option defines a single option function. diff --git a/extensions/thumbnails/pkg/service/http/v0/service.go b/services/thumbnails/pkg/service/http/v0/service.go similarity index 93% rename from extensions/thumbnails/pkg/service/http/v0/service.go rename to services/thumbnails/pkg/service/http/v0/service.go index b715dddd2..a124ab7e6 100644 --- a/extensions/thumbnails/pkg/service/http/v0/service.go +++ b/services/thumbnails/pkg/service/http/v0/service.go @@ -9,10 +9,10 @@ import ( "github.com/go-chi/chi/v5" "github.com/golang-jwt/jwt/v4" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config" - tjwt "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/service/jwt" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/thumbnail" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config" + tjwt "github.com/owncloud/ocis/v2/services/thumbnails/pkg/service/jwt" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/thumbnail" ) type contextKey string diff --git a/extensions/thumbnails/pkg/service/http/v0/tracing.go b/services/thumbnails/pkg/service/http/v0/tracing.go similarity index 100% rename from extensions/thumbnails/pkg/service/http/v0/tracing.go rename to services/thumbnails/pkg/service/http/v0/tracing.go diff --git a/extensions/thumbnails/pkg/service/jwt/jwt.go b/services/thumbnails/pkg/service/jwt/jwt.go similarity index 100% rename from extensions/thumbnails/pkg/service/jwt/jwt.go rename to services/thumbnails/pkg/service/jwt/jwt.go diff --git a/extensions/thumbnails/pkg/thumbnail/encoding.go b/services/thumbnails/pkg/thumbnail/encoding.go similarity index 100% rename from extensions/thumbnails/pkg/thumbnail/encoding.go rename to services/thumbnails/pkg/thumbnail/encoding.go diff --git a/extensions/thumbnails/pkg/thumbnail/encoding_test.go b/services/thumbnails/pkg/thumbnail/encoding_test.go similarity index 100% rename from extensions/thumbnails/pkg/thumbnail/encoding_test.go rename to services/thumbnails/pkg/thumbnail/encoding_test.go diff --git a/extensions/thumbnails/pkg/thumbnail/generator.go b/services/thumbnails/pkg/thumbnail/generator.go similarity index 100% rename from extensions/thumbnails/pkg/thumbnail/generator.go rename to services/thumbnails/pkg/thumbnail/generator.go diff --git a/extensions/thumbnails/pkg/thumbnail/imgsource/cs3.go b/services/thumbnails/pkg/thumbnail/imgsource/cs3.go similarity index 97% rename from extensions/thumbnails/pkg/thumbnail/imgsource/cs3.go rename to services/thumbnails/pkg/thumbnail/imgsource/cs3.go index 40e9cbd43..b9d46bbea 100644 --- a/extensions/thumbnails/pkg/thumbnail/imgsource/cs3.go +++ b/services/thumbnails/pkg/thumbnail/imgsource/cs3.go @@ -13,7 +13,7 @@ import ( revactx "github.com/cs3org/reva/v2/pkg/ctx" "github.com/cs3org/reva/v2/pkg/rhttp" "github.com/cs3org/reva/v2/pkg/storagespace" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config" "github.com/pkg/errors" "google.golang.org/grpc/metadata" ) diff --git a/extensions/thumbnails/pkg/thumbnail/imgsource/imgsource.go b/services/thumbnails/pkg/thumbnail/imgsource/imgsource.go similarity index 100% rename from extensions/thumbnails/pkg/thumbnail/imgsource/imgsource.go rename to services/thumbnails/pkg/thumbnail/imgsource/imgsource.go diff --git a/extensions/thumbnails/pkg/thumbnail/imgsource/webdav.go b/services/thumbnails/pkg/thumbnail/imgsource/webdav.go similarity index 95% rename from extensions/thumbnails/pkg/thumbnail/imgsource/webdav.go rename to services/thumbnails/pkg/thumbnail/imgsource/webdav.go index 00287d102..3d1edd56f 100644 --- a/extensions/thumbnails/pkg/thumbnail/imgsource/webdav.go +++ b/services/thumbnails/pkg/thumbnail/imgsource/webdav.go @@ -10,7 +10,7 @@ import ( "io" "net/http" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config" "github.com/pkg/errors" ) diff --git a/extensions/thumbnails/pkg/thumbnail/resolutions.go b/services/thumbnails/pkg/thumbnail/resolutions.go similarity index 100% rename from extensions/thumbnails/pkg/thumbnail/resolutions.go rename to services/thumbnails/pkg/thumbnail/resolutions.go diff --git a/extensions/thumbnails/pkg/thumbnail/resolutions_test.go b/services/thumbnails/pkg/thumbnail/resolutions_test.go similarity index 100% rename from extensions/thumbnails/pkg/thumbnail/resolutions_test.go rename to services/thumbnails/pkg/thumbnail/resolutions_test.go diff --git a/extensions/thumbnails/pkg/thumbnail/storage/filesystem.go b/services/thumbnails/pkg/thumbnail/storage/filesystem.go similarity index 97% rename from extensions/thumbnails/pkg/thumbnail/storage/filesystem.go rename to services/thumbnails/pkg/thumbnail/storage/filesystem.go index 4b4d9fc7f..692669d30 100644 --- a/extensions/thumbnails/pkg/thumbnail/storage/filesystem.go +++ b/services/thumbnails/pkg/thumbnail/storage/filesystem.go @@ -6,8 +6,8 @@ import ( "path/filepath" "strconv" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config" "github.com/pkg/errors" ) diff --git a/extensions/thumbnails/pkg/thumbnail/storage/inmemory.go b/services/thumbnails/pkg/thumbnail/storage/inmemory.go similarity index 100% rename from extensions/thumbnails/pkg/thumbnail/storage/inmemory.go rename to services/thumbnails/pkg/thumbnail/storage/inmemory.go diff --git a/extensions/thumbnails/pkg/thumbnail/storage/storage.go b/services/thumbnails/pkg/thumbnail/storage/storage.go similarity index 100% rename from extensions/thumbnails/pkg/thumbnail/storage/storage.go rename to services/thumbnails/pkg/thumbnail/storage/storage.go diff --git a/extensions/thumbnails/pkg/thumbnail/thumbnail.go b/services/thumbnails/pkg/thumbnail/thumbnail.go similarity index 97% rename from extensions/thumbnails/pkg/thumbnail/thumbnail.go rename to services/thumbnails/pkg/thumbnail/thumbnail.go index 6a156410e..c1efbe22e 100644 --- a/extensions/thumbnails/pkg/thumbnail/thumbnail.go +++ b/services/thumbnails/pkg/thumbnail/thumbnail.go @@ -6,8 +6,8 @@ import ( "image/gif" "mime" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/thumbnail/storage" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/thumbnail/storage" ) var ( diff --git a/extensions/thumbnails/pkg/thumbnail/thumbnail_test.go b/services/thumbnails/pkg/thumbnail/thumbnail_test.go similarity index 91% rename from extensions/thumbnails/pkg/thumbnail/thumbnail_test.go rename to services/thumbnails/pkg/thumbnail/thumbnail_test.go index 3b368d12c..cf301a0dd 100644 --- a/extensions/thumbnails/pkg/thumbnail/thumbnail_test.go +++ b/services/thumbnails/pkg/thumbnail/thumbnail_test.go @@ -6,8 +6,8 @@ import ( "path/filepath" "testing" - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/thumbnail/storage" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/thumbnail/storage" ) type NoOpManager struct { diff --git a/extensions/thumbnails/pkg/tracing/tracing.go b/services/thumbnails/pkg/tracing/tracing.go similarity index 89% rename from extensions/thumbnails/pkg/tracing/tracing.go rename to services/thumbnails/pkg/tracing/tracing.go index 3b2ea32fb..984cdc95b 100644 --- a/extensions/thumbnails/pkg/tracing/tracing.go +++ b/services/thumbnails/pkg/tracing/tracing.go @@ -1,8 +1,8 @@ package tracing import ( - "github.com/owncloud/ocis/v2/extensions/thumbnails/pkg/config" pkgtrace "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/thumbnails/reflex.conf b/services/thumbnails/reflex.conf similarity index 100% rename from extensions/thumbnails/reflex.conf rename to services/thumbnails/reflex.conf diff --git a/extensions/thumbnails/testdata/oc.png b/services/thumbnails/testdata/oc.png similarity index 100% rename from extensions/thumbnails/testdata/oc.png rename to services/thumbnails/testdata/oc.png diff --git a/extensions/users/Makefile b/services/users/Makefile similarity index 100% rename from extensions/users/Makefile rename to services/users/Makefile diff --git a/services/users/cmd/user/main.go b/services/users/cmd/user/main.go new file mode 100644 index 000000000..cae358d3c --- /dev/null +++ b/services/users/cmd/user/main.go @@ -0,0 +1,14 @@ +package main + +import ( + "os" + + "github.com/owncloud/ocis/v2/services/users/pkg/command" + "github.com/owncloud/ocis/v2/services/users/pkg/config/defaults" +) + +func main() { + if err := command.Execute(defaults.DefaultConfig()); err != nil { + os.Exit(1) + } +} diff --git a/services/users/pkg/command/health.go b/services/users/pkg/command/health.go new file mode 100644 index 000000000..729dcf4d0 --- /dev/null +++ b/services/users/pkg/command/health.go @@ -0,0 +1,57 @@ +package command + +import ( + "fmt" + "net/http" + + "github.com/owncloud/ocis/v2/services/users/pkg/config" + "github.com/owncloud/ocis/v2/services/users/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/users/pkg/logging" + "github.com/urfave/cli/v2" +) + +// Health is the entrypoint for the health command. +func Health(cfg *config.Config) *cli.Command { + return &cli.Command{ + Name: "health", + Usage: "check health status", + Category: "info", + Before: func(c *cli.Context) error { + err := parser.ParseConfig(cfg) + if err != nil { + fmt.Printf("%v", err) + } + return err + }, + Action: func(c *cli.Context) error { + logger := logging.Configure(cfg.Service.Name, cfg.Log) + + resp, err := http.Get( + fmt.Sprintf( + "http://%s/healthz", + cfg.Debug.Addr, + ), + ) + + if err != nil { + logger.Fatal(). + Err(err). + Msg("Failed to request health check") + } + + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + logger.Fatal(). + Int("code", resp.StatusCode). + Msg("Health seems to be in bad state") + } + + logger.Debug(). + Int("code", resp.StatusCode). + Msg("Health got a good state") + + return nil + }, + } +} diff --git a/extensions/users/pkg/command/root.go b/services/users/pkg/command/root.go similarity index 95% rename from extensions/users/pkg/command/root.go rename to services/users/pkg/command/root.go index d88536de4..7ce50ddf0 100644 --- a/extensions/users/pkg/command/root.go +++ b/services/users/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/users/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/users/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/users/pkg/command/server.go b/services/users/pkg/command/server.go similarity index 89% rename from extensions/users/pkg/command/server.go rename to services/users/pkg/command/server.go index bd1db9054..0073a8a63 100644 --- a/extensions/users/pkg/command/server.go +++ b/services/users/pkg/command/server.go @@ -9,16 +9,16 @@ import ( "github.com/cs3org/reva/v2/cmd/revad/runtime" "github.com/gofrs/uuid" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/users/pkg/config" - "github.com/owncloud/ocis/v2/extensions/users/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/users/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/users/pkg/revaconfig" - "github.com/owncloud/ocis/v2/extensions/users/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/users/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/ldap" "github.com/owncloud/ocis/v2/ocis-pkg/service/external" "github.com/owncloud/ocis/v2/ocis-pkg/sync" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/users/pkg/config" + "github.com/owncloud/ocis/v2/services/users/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/users/pkg/logging" + "github.com/owncloud/ocis/v2/services/users/pkg/revaconfig" + "github.com/owncloud/ocis/v2/services/users/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/users/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/services/users/pkg/command/version.go b/services/users/pkg/command/version.go new file mode 100644 index 000000000..d4f8c4038 --- /dev/null +++ b/services/users/pkg/command/version.go @@ -0,0 +1,50 @@ +package command + +import ( + "fmt" + "os" + + "github.com/owncloud/ocis/v2/ocis-pkg/registry" + "github.com/owncloud/ocis/v2/ocis-pkg/version" + + tw "github.com/olekukonko/tablewriter" + "github.com/owncloud/ocis/v2/services/users/pkg/config" + "github.com/urfave/cli/v2" +) + +// Version prints the service versions of all running instances. +func Version(cfg *config.Config) *cli.Command { + return &cli.Command{ + Name: "version", + Usage: "print the version of this binary and the running extension instances", + Category: "info", + Action: func(c *cli.Context) error { + fmt.Println("Version: " + version.GetString()) + fmt.Printf("Compiled: %s\n", version.Compiled()) + fmt.Println("") + + reg := registry.GetRegistry() + services, err := reg.GetService(cfg.GRPC.Namespace + "." + cfg.Service.Name) + if err != nil { + fmt.Println(fmt.Errorf("could not get %s services from the registry: %v", cfg.Service.Name, err)) + return err + } + + if len(services) == 0 { + fmt.Println("No running " + cfg.Service.Name + " service found.") + return nil + } + + table := tw.NewWriter(os.Stdout) + table.SetHeader([]string{"Version", "Address", "Id"}) + table.SetAutoFormatHeaders(false) + for _, s := range services { + for _, n := range s.Nodes { + table.Append([]string{s.Version, n.Address, n.Id}) + } + } + table.Render() + return nil + }, + } +} diff --git a/extensions/users/pkg/config/config.go b/services/users/pkg/config/config.go similarity index 100% rename from extensions/users/pkg/config/config.go rename to services/users/pkg/config/config.go diff --git a/extensions/users/pkg/config/defaults/defaultconfig.go b/services/users/pkg/config/defaults/defaultconfig.go similarity index 98% rename from extensions/users/pkg/config/defaults/defaultconfig.go rename to services/users/pkg/config/defaults/defaultconfig.go index 89db09946..fb8c5b13a 100644 --- a/extensions/users/pkg/config/defaults/defaultconfig.go +++ b/services/users/pkg/config/defaults/defaultconfig.go @@ -3,8 +3,8 @@ package defaults import ( "path/filepath" - "github.com/owncloud/ocis/v2/extensions/users/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" + "github.com/owncloud/ocis/v2/services/users/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/users/pkg/config/parser/parse.go b/services/users/pkg/config/parser/parse.go similarity index 89% rename from extensions/users/pkg/config/parser/parse.go rename to services/users/pkg/config/parser/parse.go index f12fc1f97..b776daa64 100644 --- a/extensions/users/pkg/config/parser/parse.go +++ b/services/users/pkg/config/parser/parse.go @@ -3,10 +3,10 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/users/pkg/config" - "github.com/owncloud/ocis/v2/extensions/users/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/services/users/pkg/config" + "github.com/owncloud/ocis/v2/services/users/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/users/pkg/config/reva.go b/services/users/pkg/config/reva.go similarity index 100% rename from extensions/users/pkg/config/reva.go rename to services/users/pkg/config/reva.go diff --git a/services/users/pkg/logging/logging.go b/services/users/pkg/logging/logging.go new file mode 100644 index 000000000..88769574a --- /dev/null +++ b/services/users/pkg/logging/logging.go @@ -0,0 +1,17 @@ +package logging + +import ( + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/users/pkg/config" +) + +// LoggerFromConfig initializes a service-specific logger instance. +func Configure(name string, cfg *config.Log) log.Logger { + return log.NewLogger( + log.Name(name), + log.Level(cfg.Level), + log.Pretty(cfg.Pretty), + log.Color(cfg.Color), + log.File(cfg.File), + ) +} diff --git a/extensions/users/pkg/revaconfig/config.go b/services/users/pkg/revaconfig/config.go similarity index 98% rename from extensions/users/pkg/revaconfig/config.go rename to services/users/pkg/revaconfig/config.go index 1c29ccd4a..434daf23d 100644 --- a/extensions/users/pkg/revaconfig/config.go +++ b/services/users/pkg/revaconfig/config.go @@ -1,7 +1,7 @@ package revaconfig import ( - "github.com/owncloud/ocis/v2/extensions/users/pkg/config" + "github.com/owncloud/ocis/v2/services/users/pkg/config" ) // UsersConfigFromStruct will adapt an oCIS config struct into a reva mapstructure to start a reva service. diff --git a/services/users/pkg/server/debug/option.go b/services/users/pkg/server/debug/option.go new file mode 100644 index 000000000..2b1b96a8a --- /dev/null +++ b/services/users/pkg/server/debug/option.go @@ -0,0 +1,50 @@ +package debug + +import ( + "context" + + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/users/pkg/config" +) + +// Option defines a single option function. +type Option func(o *Options) + +// Options defines the available options for this package. +type Options struct { + Logger log.Logger + Context context.Context + Config *config.Config +} + +// newOptions initializes the available default options. +func newOptions(opts ...Option) Options { + opt := Options{} + + for _, o := range opts { + o(&opt) + } + + return opt +} + +// Logger provides a function to set the logger option. +func Logger(val log.Logger) Option { + return func(o *Options) { + o.Logger = val + } +} + +// Context provides a function to set the context option. +func Context(val context.Context) Option { + return func(o *Options) { + o.Context = val + } +} + +// Config provides a function to set the config option. +func Config(val *config.Config) Option { + return func(o *Options) { + o.Config = val + } +} diff --git a/services/users/pkg/server/debug/server.go b/services/users/pkg/server/debug/server.go new file mode 100644 index 000000000..b7871834c --- /dev/null +++ b/services/users/pkg/server/debug/server.go @@ -0,0 +1,63 @@ +package debug + +import ( + "io" + "net/http" + + "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" + "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/users/pkg/config" +) + +// Server initializes the debug service and server. +func Server(opts ...Option) (*http.Server, error) { + options := newOptions(opts...) + + return debug.NewService( + debug.Logger(options.Logger), + debug.Name(options.Config.Service.Name), + debug.Version(version.GetString()), + debug.Address(options.Config.Debug.Addr), + debug.Token(options.Config.Debug.Token), + debug.Pprof(options.Config.Debug.Pprof), + debug.Zpages(options.Config.Debug.Zpages), + debug.Health(health(options.Config)), + debug.Ready(ready(options.Config)), + //debug.CorsAllowedOrigins(options.Config.HTTP.CORS.AllowedOrigins), + //debug.CorsAllowedMethods(options.Config.HTTP.CORS.AllowedMethods), + //debug.CorsAllowedHeaders(options.Config.HTTP.CORS.AllowedHeaders), + //debug.CorsAllowCredentials(options.Config.HTTP.CORS.AllowCredentials), + ), nil +} + +// health implements the health check. +func health(cfg *config.Config) func(http.ResponseWriter, *http.Request) { + return func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "text/plain") + w.WriteHeader(http.StatusOK) + + // TODO: check if services are up and running + + _, err := io.WriteString(w, http.StatusText(http.StatusOK)) + // io.WriteString should not fail but if it does we want to know. + if err != nil { + panic(err) + } + } +} + +// ready implements the ready check. +func ready(cfg *config.Config) func(http.ResponseWriter, *http.Request) { + return func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "text/plain") + w.WriteHeader(http.StatusOK) + + // TODO: check if services are up and running + + _, err := io.WriteString(w, http.StatusText(http.StatusOK)) + // io.WriteString should not fail but if it does we want to know. + if err != nil { + panic(err) + } + } +} diff --git a/services/users/pkg/tracing/tracing.go b/services/users/pkg/tracing/tracing.go new file mode 100644 index 000000000..b75884091 --- /dev/null +++ b/services/users/pkg/tracing/tracing.go @@ -0,0 +1,18 @@ +package tracing + +import ( + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/users/pkg/config" + "go.opentelemetry.io/otel/trace" +) + +var ( + // TraceProvider is the global trace provider for the service. + TraceProvider = trace.NewNoopTracerProvider() +) + +func Configure(cfg *config.Config, logger log.Logger) error { + tracing.Configure(cfg.Tracing.Enabled, cfg.Tracing.Type, logger) + return nil +} diff --git a/extensions/web/.dockerignore b/services/web/.dockerignore similarity index 100% rename from extensions/web/.dockerignore rename to services/web/.dockerignore diff --git a/extensions/web/Makefile b/services/web/Makefile similarity index 100% rename from extensions/web/Makefile rename to services/web/Makefile diff --git a/extensions/web/assets/.keep b/services/web/assets/.keep similarity index 100% rename from extensions/web/assets/.keep rename to services/web/assets/.keep diff --git a/services/web/cmd/web/main.go b/services/web/cmd/web/main.go new file mode 100644 index 000000000..9974c37fc --- /dev/null +++ b/services/web/cmd/web/main.go @@ -0,0 +1,14 @@ +package main + +import ( + "os" + + "github.com/owncloud/ocis/v2/services/web/pkg/command" + "github.com/owncloud/ocis/v2/services/web/pkg/config/defaults" +) + +func main() { + if err := command.Execute(defaults.DefaultConfig()); err != nil { + os.Exit(1) + } +} diff --git a/extensions/web/docker/Dockerfile.linux.amd64 b/services/web/docker/Dockerfile.linux.amd64 similarity index 100% rename from extensions/web/docker/Dockerfile.linux.amd64 rename to services/web/docker/Dockerfile.linux.amd64 diff --git a/extensions/web/docker/Dockerfile.linux.arm b/services/web/docker/Dockerfile.linux.arm similarity index 100% rename from extensions/web/docker/Dockerfile.linux.arm rename to services/web/docker/Dockerfile.linux.arm diff --git a/extensions/web/docker/Dockerfile.linux.arm64 b/services/web/docker/Dockerfile.linux.arm64 similarity index 100% rename from extensions/web/docker/Dockerfile.linux.arm64 rename to services/web/docker/Dockerfile.linux.arm64 diff --git a/extensions/web/docker/manifest.tmpl b/services/web/docker/manifest.tmpl similarity index 100% rename from extensions/web/docker/manifest.tmpl rename to services/web/docker/manifest.tmpl diff --git a/extensions/web/pkg/assets/option.go b/services/web/pkg/assets/option.go similarity index 90% rename from extensions/web/pkg/assets/option.go rename to services/web/pkg/assets/option.go index 78cdb2e99..c839c29dd 100644 --- a/extensions/web/pkg/assets/option.go +++ b/services/web/pkg/assets/option.go @@ -3,10 +3,10 @@ package assets import ( "net/http" - "github.com/owncloud/ocis/v2/extensions/web" - "github.com/owncloud/ocis/v2/extensions/web/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/assetsfs" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/web" + "github.com/owncloud/ocis/v2/services/web/pkg/config" ) // New returns a new http filesystem to serve assets. diff --git a/extensions/web/pkg/assets/server.go b/services/web/pkg/assets/server.go similarity index 100% rename from extensions/web/pkg/assets/server.go rename to services/web/pkg/assets/server.go diff --git a/services/web/pkg/command/health.go b/services/web/pkg/command/health.go new file mode 100644 index 000000000..633067f85 --- /dev/null +++ b/services/web/pkg/command/health.go @@ -0,0 +1,57 @@ +package command + +import ( + "fmt" + "net/http" + + "github.com/owncloud/ocis/v2/services/web/pkg/config" + "github.com/owncloud/ocis/v2/services/web/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/web/pkg/logging" + "github.com/urfave/cli/v2" +) + +// Health is the entrypoint for the health command. +func Health(cfg *config.Config) *cli.Command { + return &cli.Command{ + Name: "health", + Usage: "check health status", + Category: "info", + Before: func(c *cli.Context) error { + err := parser.ParseConfig(cfg) + if err != nil { + fmt.Printf("%v", err) + } + return err + }, + Action: func(c *cli.Context) error { + logger := logging.Configure(cfg.Service.Name, cfg.Log) + + resp, err := http.Get( + fmt.Sprintf( + "http://%s/healthz", + cfg.Debug.Addr, + ), + ) + + if err != nil { + logger.Fatal(). + Err(err). + Msg("Failed to request health check") + } + + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + logger.Fatal(). + Int("code", resp.StatusCode). + Msg("Health seems to be in bad state") + } + + logger.Debug(). + Int("code", resp.StatusCode). + Msg("Health got a good state") + + return nil + }, + } +} diff --git a/extensions/web/pkg/command/root.go b/services/web/pkg/command/root.go similarity index 95% rename from extensions/web/pkg/command/root.go rename to services/web/pkg/command/root.go index 73381e194..ef57b4956 100644 --- a/extensions/web/pkg/command/root.go +++ b/services/web/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/web/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/web/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/web/pkg/command/server.go b/services/web/pkg/command/server.go similarity index 85% rename from extensions/web/pkg/command/server.go rename to services/web/pkg/command/server.go index 40d2e0c91..ba7f1f539 100644 --- a/extensions/web/pkg/command/server.go +++ b/services/web/pkg/command/server.go @@ -8,13 +8,13 @@ import ( "os" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/web/pkg/config" - "github.com/owncloud/ocis/v2/extensions/web/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/web/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/web/pkg/metrics" - "github.com/owncloud/ocis/v2/extensions/web/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/web/pkg/server/http" - "github.com/owncloud/ocis/v2/extensions/web/pkg/tracing" + "github.com/owncloud/ocis/v2/services/web/pkg/config" + "github.com/owncloud/ocis/v2/services/web/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/web/pkg/logging" + "github.com/owncloud/ocis/v2/services/web/pkg/metrics" + "github.com/owncloud/ocis/v2/services/web/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/web/pkg/server/http" + "github.com/owncloud/ocis/v2/services/web/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/services/web/pkg/command/version.go b/services/web/pkg/command/version.go new file mode 100644 index 000000000..faef4e15b --- /dev/null +++ b/services/web/pkg/command/version.go @@ -0,0 +1,50 @@ +package command + +import ( + "fmt" + "os" + + "github.com/owncloud/ocis/v2/ocis-pkg/registry" + "github.com/owncloud/ocis/v2/ocis-pkg/version" + + tw "github.com/olekukonko/tablewriter" + "github.com/owncloud/ocis/v2/services/web/pkg/config" + "github.com/urfave/cli/v2" +) + +// Version prints the service versions of all running instances. +func Version(cfg *config.Config) *cli.Command { + return &cli.Command{ + Name: "version", + Usage: "print the version of this binary and the running extension instances", + Category: "info", + Action: func(c *cli.Context) error { + fmt.Println("Version: " + version.GetString()) + fmt.Printf("Compiled: %s\n", version.Compiled()) + fmt.Println("") + + reg := registry.GetRegistry() + services, err := reg.GetService(cfg.HTTP.Namespace + "." + cfg.Service.Name) + if err != nil { + fmt.Println(fmt.Errorf("could not get %s services from the registry: %v", cfg.Service.Name, err)) + return err + } + + if len(services) == 0 { + fmt.Println("No running " + cfg.Service.Name + " service found.") + return nil + } + + table := tw.NewWriter(os.Stdout) + table.SetHeader([]string{"Version", "Address", "Id"}) + table.SetAutoFormatHeaders(false) + for _, s := range services { + for _, n := range s.Nodes { + table.Append([]string{s.Version, n.Address, n.Id}) + } + } + table.Render() + return nil + }, + } +} diff --git a/extensions/web/pkg/config/config.go b/services/web/pkg/config/config.go similarity index 100% rename from extensions/web/pkg/config/config.go rename to services/web/pkg/config/config.go diff --git a/extensions/web/pkg/config/debug.go b/services/web/pkg/config/debug.go similarity index 100% rename from extensions/web/pkg/config/debug.go rename to services/web/pkg/config/debug.go diff --git a/extensions/web/pkg/config/defaults/defaultconfig.go b/services/web/pkg/config/defaults/defaultconfig.go similarity index 97% rename from extensions/web/pkg/config/defaults/defaultconfig.go rename to services/web/pkg/config/defaults/defaultconfig.go index 3fe1da708..e1f09a692 100644 --- a/extensions/web/pkg/config/defaults/defaultconfig.go +++ b/services/web/pkg/config/defaults/defaultconfig.go @@ -3,7 +3,7 @@ package defaults import ( "strings" - "github.com/owncloud/ocis/v2/extensions/web/pkg/config" + "github.com/owncloud/ocis/v2/services/web/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/web/pkg/config/http.go b/services/web/pkg/config/http.go similarity index 100% rename from extensions/web/pkg/config/http.go rename to services/web/pkg/config/http.go diff --git a/extensions/web/pkg/config/log.go b/services/web/pkg/config/log.go similarity index 100% rename from extensions/web/pkg/config/log.go rename to services/web/pkg/config/log.go diff --git a/extensions/webdav/pkg/config/parser/parse.go b/services/web/pkg/config/parser/parse.go similarity index 85% rename from extensions/webdav/pkg/config/parser/parse.go rename to services/web/pkg/config/parser/parse.go index 898249ef2..664a6f596 100644 --- a/extensions/webdav/pkg/config/parser/parse.go +++ b/services/web/pkg/config/parser/parse.go @@ -3,9 +3,9 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/config" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/web/pkg/config" + "github.com/owncloud/ocis/v2/services/web/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/web/pkg/config/service.go b/services/web/pkg/config/service.go similarity index 100% rename from extensions/web/pkg/config/service.go rename to services/web/pkg/config/service.go diff --git a/extensions/web/pkg/config/tracing.go b/services/web/pkg/config/tracing.go similarity index 100% rename from extensions/web/pkg/config/tracing.go rename to services/web/pkg/config/tracing.go diff --git a/services/web/pkg/logging/logging.go b/services/web/pkg/logging/logging.go new file mode 100644 index 000000000..c0a956944 --- /dev/null +++ b/services/web/pkg/logging/logging.go @@ -0,0 +1,17 @@ +package logging + +import ( + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/web/pkg/config" +) + +// LoggerFromConfig initializes a service-specific logger instance. +func Configure(name string, cfg *config.Log) log.Logger { + return log.NewLogger( + log.Name(name), + log.Level(cfg.Level), + log.Pretty(cfg.Pretty), + log.Color(cfg.Color), + log.File(cfg.File), + ) +} diff --git a/extensions/web/pkg/metrics/metrics.go b/services/web/pkg/metrics/metrics.go similarity index 100% rename from extensions/web/pkg/metrics/metrics.go rename to services/web/pkg/metrics/metrics.go diff --git a/extensions/web/pkg/middleware/silentrefresh.go b/services/web/pkg/middleware/silentrefresh.go similarity index 100% rename from extensions/web/pkg/middleware/silentrefresh.go rename to services/web/pkg/middleware/silentrefresh.go diff --git a/services/web/pkg/server/debug/option.go b/services/web/pkg/server/debug/option.go new file mode 100644 index 000000000..e13279121 --- /dev/null +++ b/services/web/pkg/server/debug/option.go @@ -0,0 +1,50 @@ +package debug + +import ( + "context" + + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/web/pkg/config" +) + +// Option defines a single option function. +type Option func(o *Options) + +// Options defines the available options for this package. +type Options struct { + Logger log.Logger + Context context.Context + Config *config.Config +} + +// newOptions initializes the available default options. +func newOptions(opts ...Option) Options { + opt := Options{} + + for _, o := range opts { + o(&opt) + } + + return opt +} + +// Logger provides a function to set the logger option. +func Logger(val log.Logger) Option { + return func(o *Options) { + o.Logger = val + } +} + +// Context provides a function to set the context option. +func Context(val context.Context) Option { + return func(o *Options) { + o.Context = val + } +} + +// Config provides a function to set the config option. +func Config(val *config.Config) Option { + return func(o *Options) { + o.Config = val + } +} diff --git a/services/web/pkg/server/debug/server.go b/services/web/pkg/server/debug/server.go new file mode 100644 index 000000000..4fa164df7 --- /dev/null +++ b/services/web/pkg/server/debug/server.go @@ -0,0 +1,59 @@ +package debug + +import ( + "io" + "net/http" + + "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" + "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/web/pkg/config" +) + +// Server initializes the debug service and server. +func Server(opts ...Option) (*http.Server, error) { + options := newOptions(opts...) + + return debug.NewService( + debug.Logger(options.Logger), + debug.Name(options.Config.Service.Name), + debug.Version(version.GetString()), + debug.Address(options.Config.Debug.Addr), + debug.Token(options.Config.Debug.Token), + debug.Pprof(options.Config.Debug.Pprof), + debug.Zpages(options.Config.Debug.Zpages), + debug.Health(health(options.Config)), + debug.Ready(ready(options.Config)), + ), nil +} + +// health implements the health check. +func health(cfg *config.Config) func(http.ResponseWriter, *http.Request) { + return func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "text/plain") + w.WriteHeader(http.StatusOK) + + // TODO: check if services are up and running + + _, err := io.WriteString(w, http.StatusText(http.StatusOK)) + // io.WriteString should not fail but if it does we want to know. + if err != nil { + panic(err) + } + } +} + +// ready implements the ready check. +func ready(cfg *config.Config) func(http.ResponseWriter, *http.Request) { + return func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "text/plain") + w.WriteHeader(http.StatusOK) + + // TODO: check if services are up and running + + _, err := io.WriteString(w, http.StatusText(http.StatusOK)) + // io.WriteString should not fail but if it does we want to know. + if err != nil { + panic(err) + } + } +} diff --git a/extensions/graph/pkg/server/http/option.go b/services/web/pkg/server/http/option.go similarity index 92% rename from extensions/graph/pkg/server/http/option.go rename to services/web/pkg/server/http/option.go index ff4b19d72..5ae833c36 100644 --- a/extensions/graph/pkg/server/http/option.go +++ b/services/web/pkg/server/http/option.go @@ -3,9 +3,9 @@ package http import ( "context" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/config" - "github.com/owncloud/ocis/v2/extensions/graph/pkg/metrics" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/web/pkg/config" + "github.com/owncloud/ocis/v2/services/web/pkg/metrics" "github.com/urfave/cli/v2" ) diff --git a/extensions/web/pkg/server/http/server.go b/services/web/pkg/server/http/server.go similarity index 90% rename from extensions/web/pkg/server/http/server.go rename to services/web/pkg/server/http/server.go index 8f0d964aa..6984c65b4 100644 --- a/extensions/web/pkg/server/http/server.go +++ b/services/web/pkg/server/http/server.go @@ -2,11 +2,11 @@ package http import ( chimiddleware "github.com/go-chi/chi/v5/middleware" - webmid "github.com/owncloud/ocis/v2/extensions/web/pkg/middleware" - svc "github.com/owncloud/ocis/v2/extensions/web/pkg/service/v0" "github.com/owncloud/ocis/v2/ocis-pkg/middleware" "github.com/owncloud/ocis/v2/ocis-pkg/service/http" "github.com/owncloud/ocis/v2/ocis-pkg/version" + webmid "github.com/owncloud/ocis/v2/services/web/pkg/middleware" + svc "github.com/owncloud/ocis/v2/services/web/pkg/service/v0" "go-micro.dev/v4" ) diff --git a/extensions/web/pkg/service/v0/instrument.go b/services/web/pkg/service/v0/instrument.go similarity index 90% rename from extensions/web/pkg/service/v0/instrument.go rename to services/web/pkg/service/v0/instrument.go index 7a625b7eb..2d89f069d 100644 --- a/extensions/web/pkg/service/v0/instrument.go +++ b/services/web/pkg/service/v0/instrument.go @@ -3,7 +3,7 @@ package svc import ( "net/http" - "github.com/owncloud/ocis/v2/extensions/web/pkg/metrics" + "github.com/owncloud/ocis/v2/services/web/pkg/metrics" ) // NewInstrument returns a service that instruments metrics. diff --git a/extensions/web/pkg/service/v0/logging.go b/services/web/pkg/service/v0/logging.go similarity index 100% rename from extensions/web/pkg/service/v0/logging.go rename to services/web/pkg/service/v0/logging.go diff --git a/extensions/web/pkg/service/v0/option.go b/services/web/pkg/service/v0/option.go similarity index 94% rename from extensions/web/pkg/service/v0/option.go rename to services/web/pkg/service/v0/option.go index ae058da84..a7f4cd031 100644 --- a/extensions/web/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/web/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/web/pkg/config" ) // Option defines a single option function. diff --git a/extensions/web/pkg/service/v0/service.go b/services/web/pkg/service/v0/service.go similarity index 97% rename from extensions/web/pkg/service/v0/service.go rename to services/web/pkg/service/v0/service.go index 32af6f533..342c39e25 100644 --- a/extensions/web/pkg/service/v0/service.go +++ b/services/web/pkg/service/v0/service.go @@ -12,9 +12,9 @@ import ( "time" "github.com/go-chi/chi/v5" - "github.com/owncloud/ocis/v2/extensions/web/pkg/assets" - "github.com/owncloud/ocis/v2/extensions/web/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/web/pkg/assets" + "github.com/owncloud/ocis/v2/services/web/pkg/config" ) var ( diff --git a/extensions/web/pkg/service/v0/tracing.go b/services/web/pkg/service/v0/tracing.go similarity index 100% rename from extensions/web/pkg/service/v0/tracing.go rename to services/web/pkg/service/v0/tracing.go diff --git a/extensions/web/pkg/tracing/tracing.go b/services/web/pkg/tracing/tracing.go similarity index 89% rename from extensions/web/pkg/tracing/tracing.go rename to services/web/pkg/tracing/tracing.go index b23c4605d..378e1e0c3 100644 --- a/extensions/web/pkg/tracing/tracing.go +++ b/services/web/pkg/tracing/tracing.go @@ -1,8 +1,8 @@ package tracing import ( - "github.com/owncloud/ocis/v2/extensions/web/pkg/config" pkgtrace "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/web/pkg/config" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/web/reflex.conf b/services/web/reflex.conf similarity index 100% rename from extensions/web/reflex.conf rename to services/web/reflex.conf diff --git a/extensions/web/web.go b/services/web/web.go similarity index 100% rename from extensions/web/web.go rename to services/web/web.go diff --git a/extensions/webdav/.dockerignore b/services/webdav/.dockerignore similarity index 100% rename from extensions/webdav/.dockerignore rename to services/webdav/.dockerignore diff --git a/extensions/webdav/Makefile b/services/webdav/Makefile similarity index 100% rename from extensions/webdav/Makefile rename to services/webdav/Makefile diff --git a/services/webdav/cmd/webdav/main.go b/services/webdav/cmd/webdav/main.go new file mode 100644 index 000000000..84449ec2e --- /dev/null +++ b/services/webdav/cmd/webdav/main.go @@ -0,0 +1,14 @@ +package main + +import ( + "os" + + "github.com/owncloud/ocis/v2/services/webdav/pkg/command" + "github.com/owncloud/ocis/v2/services/webdav/pkg/config/defaults" +) + +func main() { + if err := command.Execute(defaults.DefaultConfig()); err != nil { + os.Exit(1) + } +} diff --git a/extensions/webdav/config/.gitignore b/services/webdav/config/.gitignore similarity index 100% rename from extensions/webdav/config/.gitignore rename to services/webdav/config/.gitignore diff --git a/extensions/webdav/docker/Dockerfile.linux.amd64 b/services/webdav/docker/Dockerfile.linux.amd64 similarity index 100% rename from extensions/webdav/docker/Dockerfile.linux.amd64 rename to services/webdav/docker/Dockerfile.linux.amd64 diff --git a/extensions/webdav/docker/Dockerfile.linux.arm b/services/webdav/docker/Dockerfile.linux.arm similarity index 100% rename from extensions/webdav/docker/Dockerfile.linux.arm rename to services/webdav/docker/Dockerfile.linux.arm diff --git a/extensions/webdav/docker/Dockerfile.linux.arm64 b/services/webdav/docker/Dockerfile.linux.arm64 similarity index 100% rename from extensions/webdav/docker/Dockerfile.linux.arm64 rename to services/webdav/docker/Dockerfile.linux.arm64 diff --git a/extensions/webdav/docker/manifest.tmpl b/services/webdav/docker/manifest.tmpl similarity index 100% rename from extensions/webdav/docker/manifest.tmpl rename to services/webdav/docker/manifest.tmpl diff --git a/services/webdav/pkg/command/health.go b/services/webdav/pkg/command/health.go new file mode 100644 index 000000000..e0bc1d5d2 --- /dev/null +++ b/services/webdav/pkg/command/health.go @@ -0,0 +1,57 @@ +package command + +import ( + "fmt" + "net/http" + + "github.com/owncloud/ocis/v2/services/webdav/pkg/config" + "github.com/owncloud/ocis/v2/services/webdav/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/webdav/pkg/logging" + "github.com/urfave/cli/v2" +) + +// Health is the entrypoint for the health command. +func Health(cfg *config.Config) *cli.Command { + return &cli.Command{ + Name: "health", + Usage: "check health status", + Category: "info", + Before: func(c *cli.Context) error { + err := parser.ParseConfig(cfg) + if err != nil { + fmt.Printf("%v", err) + } + return err + }, + Action: func(c *cli.Context) error { + logger := logging.Configure(cfg.Service.Name, cfg.Log) + + resp, err := http.Get( + fmt.Sprintf( + "http://%s/healthz", + cfg.Debug.Addr, + ), + ) + + if err != nil { + logger.Fatal(). + Err(err). + Msg("Failed to request health check") + } + + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + logger.Fatal(). + Int("code", resp.StatusCode). + Msg("Health seems to be in bad state") + } + + logger.Debug(). + Int("code", resp.StatusCode). + Msg("Health got a good state") + + return nil + }, + } +} diff --git a/extensions/webdav/pkg/command/root.go b/services/webdav/pkg/command/root.go similarity index 95% rename from extensions/webdav/pkg/command/root.go rename to services/webdav/pkg/command/root.go index 9501820cd..c8f857ca2 100644 --- a/extensions/webdav/pkg/command/root.go +++ b/services/webdav/pkg/command/root.go @@ -4,9 +4,9 @@ import ( "context" "os" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/clihelper" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/webdav/pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" ) diff --git a/extensions/webdav/pkg/command/server.go b/services/webdav/pkg/command/server.go similarity index 82% rename from extensions/webdav/pkg/command/server.go rename to services/webdav/pkg/command/server.go index f83ed0de5..9b59d7d32 100644 --- a/extensions/webdav/pkg/command/server.go +++ b/services/webdav/pkg/command/server.go @@ -6,14 +6,14 @@ import ( "os" "github.com/oklog/run" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/config" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/config/parser" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/logging" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/metrics" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/server/debug" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/server/http" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/tracing" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/webdav/pkg/config" + "github.com/owncloud/ocis/v2/services/webdav/pkg/config/parser" + "github.com/owncloud/ocis/v2/services/webdav/pkg/logging" + "github.com/owncloud/ocis/v2/services/webdav/pkg/metrics" + "github.com/owncloud/ocis/v2/services/webdav/pkg/server/debug" + "github.com/owncloud/ocis/v2/services/webdav/pkg/server/http" + "github.com/owncloud/ocis/v2/services/webdav/pkg/tracing" "github.com/urfave/cli/v2" ) diff --git a/services/webdav/pkg/command/version.go b/services/webdav/pkg/command/version.go new file mode 100644 index 000000000..fed75e792 --- /dev/null +++ b/services/webdav/pkg/command/version.go @@ -0,0 +1,50 @@ +package command + +import ( + "fmt" + "os" + + "github.com/owncloud/ocis/v2/ocis-pkg/registry" + "github.com/owncloud/ocis/v2/ocis-pkg/version" + + tw "github.com/olekukonko/tablewriter" + "github.com/owncloud/ocis/v2/services/webdav/pkg/config" + "github.com/urfave/cli/v2" +) + +// Version prints the service versions of all running instances. +func Version(cfg *config.Config) *cli.Command { + return &cli.Command{ + Name: "version", + Usage: "print the version of this binary and the running extension instances", + Category: "info", + Action: func(c *cli.Context) error { + fmt.Println("Version: " + version.GetString()) + fmt.Printf("Compiled: %s\n", version.Compiled()) + fmt.Println("") + + reg := registry.GetRegistry() + services, err := reg.GetService(cfg.HTTP.Namespace + "." + cfg.Service.Name) + if err != nil { + fmt.Println(fmt.Errorf("could not get %s services from the registry: %v", cfg.Service.Name, err)) + return err + } + + if len(services) == 0 { + fmt.Println("No running " + cfg.Service.Name + " service found.") + return nil + } + + table := tw.NewWriter(os.Stdout) + table.SetHeader([]string{"Version", "Address", "Id"}) + table.SetAutoFormatHeaders(false) + for _, s := range services { + for _, n := range s.Nodes { + table.Append([]string{s.Version, n.Address, n.Id}) + } + } + table.Render() + return nil + }, + } +} diff --git a/extensions/webdav/pkg/config/config.go b/services/webdav/pkg/config/config.go similarity index 100% rename from extensions/webdav/pkg/config/config.go rename to services/webdav/pkg/config/config.go diff --git a/extensions/webdav/pkg/config/debug.go b/services/webdav/pkg/config/debug.go similarity index 100% rename from extensions/webdav/pkg/config/debug.go rename to services/webdav/pkg/config/debug.go diff --git a/extensions/webdav/pkg/config/defaults/defaultconfig.go b/services/webdav/pkg/config/defaults/defaultconfig.go similarity index 97% rename from extensions/webdav/pkg/config/defaults/defaultconfig.go rename to services/webdav/pkg/config/defaults/defaultconfig.go index 57e8564e5..107f8e9b1 100644 --- a/extensions/webdav/pkg/config/defaults/defaultconfig.go +++ b/services/webdav/pkg/config/defaults/defaultconfig.go @@ -3,7 +3,7 @@ package defaults import ( "strings" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/config" + "github.com/owncloud/ocis/v2/services/webdav/pkg/config" ) func FullDefaultConfig() *config.Config { diff --git a/extensions/webdav/pkg/config/http.go b/services/webdav/pkg/config/http.go similarity index 100% rename from extensions/webdav/pkg/config/http.go rename to services/webdav/pkg/config/http.go diff --git a/extensions/webdav/pkg/config/log.go b/services/webdav/pkg/config/log.go similarity index 100% rename from extensions/webdav/pkg/config/log.go rename to services/webdav/pkg/config/log.go diff --git a/extensions/nats/pkg/config/parser/parse.go b/services/webdav/pkg/config/parser/parse.go similarity index 86% rename from extensions/nats/pkg/config/parser/parse.go rename to services/webdav/pkg/config/parser/parse.go index 2625948bb..f1f34ba49 100644 --- a/extensions/nats/pkg/config/parser/parse.go +++ b/services/webdav/pkg/config/parser/parse.go @@ -3,9 +3,9 @@ package parser import ( "errors" - "github.com/owncloud/ocis/v2/extensions/nats/pkg/config" - "github.com/owncloud/ocis/v2/extensions/nats/pkg/config/defaults" ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config" + "github.com/owncloud/ocis/v2/services/webdav/pkg/config" + "github.com/owncloud/ocis/v2/services/webdav/pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" ) diff --git a/extensions/webdav/pkg/config/service.go b/services/webdav/pkg/config/service.go similarity index 100% rename from extensions/webdav/pkg/config/service.go rename to services/webdav/pkg/config/service.go diff --git a/extensions/webdav/pkg/config/tracing.go b/services/webdav/pkg/config/tracing.go similarity index 100% rename from extensions/webdav/pkg/config/tracing.go rename to services/webdav/pkg/config/tracing.go diff --git a/extensions/webdav/pkg/constants/constants.go b/services/webdav/pkg/constants/constants.go similarity index 100% rename from extensions/webdav/pkg/constants/constants.go rename to services/webdav/pkg/constants/constants.go diff --git a/extensions/webdav/pkg/dav/requests/thumbnail.go b/services/webdav/pkg/dav/requests/thumbnail.go similarity index 97% rename from extensions/webdav/pkg/dav/requests/thumbnail.go rename to services/webdav/pkg/dav/requests/thumbnail.go index 134034cd3..4f8d5036c 100644 --- a/extensions/webdav/pkg/dav/requests/thumbnail.go +++ b/services/webdav/pkg/dav/requests/thumbnail.go @@ -9,7 +9,7 @@ import ( "github.com/go-chi/chi/v5" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/constants" + "github.com/owncloud/ocis/v2/services/webdav/pkg/constants" ) const ( diff --git a/extensions/webdav/pkg/errors/error.go b/services/webdav/pkg/errors/error.go similarity index 100% rename from extensions/webdav/pkg/errors/error.go rename to services/webdav/pkg/errors/error.go diff --git a/services/webdav/pkg/logging/logging.go b/services/webdav/pkg/logging/logging.go new file mode 100644 index 000000000..e7e5fed88 --- /dev/null +++ b/services/webdav/pkg/logging/logging.go @@ -0,0 +1,17 @@ +package logging + +import ( + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/webdav/pkg/config" +) + +// LoggerFromConfig initializes a service-specific logger instance. +func Configure(name string, cfg *config.Log) log.Logger { + return log.NewLogger( + log.Name(name), + log.Level(cfg.Level), + log.Pretty(cfg.Pretty), + log.Color(cfg.Color), + log.File(cfg.File), + ) +} diff --git a/extensions/webdav/pkg/metrics/metrics.go b/services/webdav/pkg/metrics/metrics.go similarity index 100% rename from extensions/webdav/pkg/metrics/metrics.go rename to services/webdav/pkg/metrics/metrics.go diff --git a/extensions/webdav/pkg/net/headers.go b/services/webdav/pkg/net/headers.go similarity index 100% rename from extensions/webdav/pkg/net/headers.go rename to services/webdav/pkg/net/headers.go diff --git a/extensions/webdav/pkg/net/net.go b/services/webdav/pkg/net/net.go similarity index 100% rename from extensions/webdav/pkg/net/net.go rename to services/webdav/pkg/net/net.go diff --git a/extensions/webdav/pkg/prop/prop.go b/services/webdav/pkg/prop/prop.go similarity index 100% rename from extensions/webdav/pkg/prop/prop.go rename to services/webdav/pkg/prop/prop.go diff --git a/extensions/webdav/pkg/propfind/propfind.go b/services/webdav/pkg/propfind/propfind.go similarity index 98% rename from extensions/webdav/pkg/propfind/propfind.go rename to services/webdav/pkg/propfind/propfind.go index a747b5860..3bc8e4f9c 100644 --- a/extensions/webdav/pkg/propfind/propfind.go +++ b/services/webdav/pkg/propfind/propfind.go @@ -6,8 +6,8 @@ import ( "io" "net/http" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/errors" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/prop" + "github.com/owncloud/ocis/v2/services/webdav/pkg/errors" + "github.com/owncloud/ocis/v2/services/webdav/pkg/prop" ) const ( diff --git a/services/webdav/pkg/server/debug/option.go b/services/webdav/pkg/server/debug/option.go new file mode 100644 index 000000000..c0820ebf5 --- /dev/null +++ b/services/webdav/pkg/server/debug/option.go @@ -0,0 +1,50 @@ +package debug + +import ( + "context" + + "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/webdav/pkg/config" +) + +// Option defines a single option function. +type Option func(o *Options) + +// Options defines the available options for this package. +type Options struct { + Logger log.Logger + Context context.Context + Config *config.Config +} + +// newOptions initializes the available default options. +func newOptions(opts ...Option) Options { + opt := Options{} + + for _, o := range opts { + o(&opt) + } + + return opt +} + +// Logger provides a function to set the logger option. +func Logger(val log.Logger) Option { + return func(o *Options) { + o.Logger = val + } +} + +// Context provides a function to set the context option. +func Context(val context.Context) Option { + return func(o *Options) { + o.Context = val + } +} + +// Config provides a function to set the config option. +func Config(val *config.Config) Option { + return func(o *Options) { + o.Config = val + } +} diff --git a/extensions/settings/pkg/server/debug/server.go b/services/webdav/pkg/server/debug/server.go similarity index 96% rename from extensions/settings/pkg/server/debug/server.go rename to services/webdav/pkg/server/debug/server.go index 6a46abc3b..e9b9d3c90 100644 --- a/extensions/settings/pkg/server/debug/server.go +++ b/services/webdav/pkg/server/debug/server.go @@ -4,9 +4,9 @@ import ( "io" "net/http" - "github.com/owncloud/ocis/v2/extensions/settings/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" + "github.com/owncloud/ocis/v2/services/webdav/pkg/config" ) // Server initializes the debug service and server. diff --git a/extensions/webdav/pkg/server/http/option.go b/services/webdav/pkg/server/http/option.go similarity index 92% rename from extensions/webdav/pkg/server/http/option.go rename to services/webdav/pkg/server/http/option.go index ceff8482c..e05f6aaf2 100644 --- a/extensions/webdav/pkg/server/http/option.go +++ b/services/webdav/pkg/server/http/option.go @@ -3,9 +3,9 @@ package http import ( "context" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/config" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/metrics" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/webdav/pkg/config" + "github.com/owncloud/ocis/v2/services/webdav/pkg/metrics" "github.com/urfave/cli/v2" ) diff --git a/extensions/webdav/pkg/server/http/server.go b/services/webdav/pkg/server/http/server.go similarity index 96% rename from extensions/webdav/pkg/server/http/server.go rename to services/webdav/pkg/server/http/server.go index 498f9926c..f5b782507 100644 --- a/extensions/webdav/pkg/server/http/server.go +++ b/services/webdav/pkg/server/http/server.go @@ -2,11 +2,11 @@ package http import ( chimiddleware "github.com/go-chi/chi/v5/middleware" - svc "github.com/owncloud/ocis/v2/extensions/webdav/pkg/service/v0" "github.com/owncloud/ocis/v2/ocis-pkg/cors" "github.com/owncloud/ocis/v2/ocis-pkg/middleware" "github.com/owncloud/ocis/v2/ocis-pkg/service/http" "github.com/owncloud/ocis/v2/ocis-pkg/version" + svc "github.com/owncloud/ocis/v2/services/webdav/pkg/service/v0" "go-micro.dev/v4" ) diff --git a/extensions/webdav/pkg/service/v0/instrument.go b/services/webdav/pkg/service/v0/instrument.go similarity index 90% rename from extensions/webdav/pkg/service/v0/instrument.go rename to services/webdav/pkg/service/v0/instrument.go index 34e318c58..3ede8164b 100644 --- a/extensions/webdav/pkg/service/v0/instrument.go +++ b/services/webdav/pkg/service/v0/instrument.go @@ -3,7 +3,7 @@ package svc import ( "net/http" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/metrics" + "github.com/owncloud/ocis/v2/services/webdav/pkg/metrics" ) // NewInstrument returns a service that instruments metrics. diff --git a/extensions/webdav/pkg/service/v0/logging.go b/services/webdav/pkg/service/v0/logging.go similarity index 100% rename from extensions/webdav/pkg/service/v0/logging.go rename to services/webdav/pkg/service/v0/logging.go diff --git a/extensions/webdav/pkg/service/v0/option.go b/services/webdav/pkg/service/v0/option.go similarity index 94% rename from extensions/webdav/pkg/service/v0/option.go rename to services/webdav/pkg/service/v0/option.go index 1bdab9a32..a2c5dc641 100644 --- a/extensions/webdav/pkg/service/v0/option.go +++ b/services/webdav/pkg/service/v0/option.go @@ -3,8 +3,8 @@ package svc import ( "net/http" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/log" + "github.com/owncloud/ocis/v2/services/webdav/pkg/config" ) // Option defines a single option function. diff --git a/extensions/webdav/pkg/service/v0/search.go b/services/webdav/pkg/service/v0/search.go similarity index 97% rename from extensions/webdav/pkg/service/v0/search.go rename to services/webdav/pkg/service/v0/search.go index 75ff164c5..7ba77db16 100644 --- a/extensions/webdav/pkg/service/v0/search.go +++ b/services/webdav/pkg/service/v0/search.go @@ -11,11 +11,11 @@ import ( provider "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1" revactx "github.com/cs3org/reva/v2/pkg/ctx" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/net" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/prop" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/propfind" searchmsg "github.com/owncloud/ocis/v2/protogen/gen/ocis/messages/search/v0" searchsvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/search/v0" + "github.com/owncloud/ocis/v2/services/webdav/pkg/net" + "github.com/owncloud/ocis/v2/services/webdav/pkg/prop" + "github.com/owncloud/ocis/v2/services/webdav/pkg/propfind" merrors "go-micro.dev/v4/errors" "go-micro.dev/v4/metadata" ) diff --git a/extensions/webdav/pkg/service/v0/service.go b/services/webdav/pkg/service/v0/service.go similarity index 98% rename from extensions/webdav/pkg/service/v0/service.go rename to services/webdav/pkg/service/v0/service.go index a914169d9..89f60fe58 100644 --- a/extensions/webdav/pkg/service/v0/service.go +++ b/services/webdav/pkg/service/v0/service.go @@ -20,14 +20,14 @@ import ( merrors "go-micro.dev/v4/errors" "google.golang.org/grpc/metadata" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/config" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/constants" - "github.com/owncloud/ocis/v2/extensions/webdav/pkg/dav/requests" "github.com/owncloud/ocis/v2/ocis-pkg/log" "github.com/owncloud/ocis/v2/ocis-pkg/service/grpc" thumbnailsmsg "github.com/owncloud/ocis/v2/protogen/gen/ocis/messages/thumbnails/v0" searchsvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/search/v0" thumbnailssvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/thumbnails/v0" + "github.com/owncloud/ocis/v2/services/webdav/pkg/config" + "github.com/owncloud/ocis/v2/services/webdav/pkg/constants" + "github.com/owncloud/ocis/v2/services/webdav/pkg/dav/requests" ) const ( diff --git a/extensions/webdav/pkg/service/v0/tracing.go b/services/webdav/pkg/service/v0/tracing.go similarity index 100% rename from extensions/webdav/pkg/service/v0/tracing.go rename to services/webdav/pkg/service/v0/tracing.go diff --git a/extensions/search/pkg/tracing/tracing.go b/services/webdav/pkg/tracing/tracing.go similarity index 89% rename from extensions/search/pkg/tracing/tracing.go rename to services/webdav/pkg/tracing/tracing.go index fda0ae373..cbcadf44e 100644 --- a/extensions/search/pkg/tracing/tracing.go +++ b/services/webdav/pkg/tracing/tracing.go @@ -1,8 +1,8 @@ package tracing import ( - "github.com/owncloud/ocis/v2/extensions/search/pkg/config" pkgtrace "github.com/owncloud/ocis/v2/ocis-pkg/tracing" + "github.com/owncloud/ocis/v2/services/webdav/pkg/config" "go.opentelemetry.io/otel/trace" ) diff --git a/extensions/webdav/reflex.conf b/services/webdav/reflex.conf similarity index 100% rename from extensions/webdav/reflex.conf rename to services/webdav/reflex.conf