From e21e19470bbfa02eb78fc67e396e50b56a7d16ce Mon Sep 17 00:00:00 2001 From: Lukas Hirt Date: Thu, 13 Aug 2026 21:46:59 +0200 Subject: [PATCH] feat(app-store): update app store repository to use ownCloud Marketplace (#12793) Signed-off-by: Lukas Hirt --- .../unreleased/enhancement-update-app-store-repository.md | 5 +++++ deployments/examples/ocis_full/config/ocis/csp.yaml | 2 ++ deployments/examples/ocis_keycloak/config/ocis/csp.yaml | 2 ++ deployments/examples/ocis_multi/config/ocis/csp-ocm.yaml | 2 ++ deployments/examples/ocis_multi/config/ocis/csp.yaml | 2 ++ deployments/examples/ocis_ocm/config/ocis/csp-ocm-next.yaml | 2 ++ deployments/examples/ocis_ocm/config/ocis/csp-ocm.yaml | 2 ++ deployments/examples/ocis_ocm/config/ocis/csp.yaml | 2 ++ services/proxy/pkg/config/csp.yaml | 2 ++ .../features/coreApiWebdavOperations/downloadFile.feature | 4 ++-- tests/config/ci/csp.yaml | 2 ++ tests/config/k8s/values.yaml | 2 ++ web/deployments/examples/ocis_web/config/ocis/csp.yaml | 2 ++ web/dev/docker/ocis/csp.yaml | 2 ++ web/packages/web-app-app-store/src/index.ts | 2 +- 15 files changed, 32 insertions(+), 3 deletions(-) create mode 100644 changelog/unreleased/enhancement-update-app-store-repository.md diff --git a/changelog/unreleased/enhancement-update-app-store-repository.md b/changelog/unreleased/enhancement-update-app-store-repository.md new file mode 100644 index 00000000000..6a8f8781ccb --- /dev/null +++ b/changelog/unreleased/enhancement-update-app-store-repository.md @@ -0,0 +1,5 @@ +Enhancement: Update app store repository + +We've updated the default app store repository to use the new ownCloud Marketplace instead of the awesome-ocis repository. The default Content-Security-Policy configuration was also updated to allow connections to the new marketplace domain. + +https://github.com/owncloud/ocis/pull/12793 diff --git a/deployments/examples/ocis_full/config/ocis/csp.yaml b/deployments/examples/ocis_full/config/ocis/csp.yaml index 5205f515061..35e256b9713 100644 --- a/deployments/examples/ocis_full/config/ocis/csp.yaml +++ b/deployments/examples/ocis_full/config/ocis/csp.yaml @@ -7,6 +7,7 @@ directives: - 'https://${COMPANION_DOMAIN|companion.owncloud.test}/' - 'wss://${COMPANION_DOMAIN|companion.owncloud.test}/' - 'https://raw.githubusercontent.com/owncloud/awesome-ocis/' + - 'https://marketplace.owncloud.com/' # In contrary to bash and docker the default is given after the | character - 'https://${KEYCLOAK_DOMAIN|keycloak.owncloud.test}/' # Photo-addon: OpenStreetMap tile requests @@ -32,6 +33,7 @@ directives: - 'data:' - 'blob:' - 'https://raw.githubusercontent.com/owncloud/awesome-ocis/' + - 'https://marketplace.owncloud.com/' # In contrary to bash and docker the default is given after the | character - 'https://${ONLYOFFICE_DOMAIN|onlyoffice.owncloud.test}/' - 'https://${COLLABORA_DOMAIN|collabora.owncloud.test}/' diff --git a/deployments/examples/ocis_keycloak/config/ocis/csp.yaml b/deployments/examples/ocis_keycloak/config/ocis/csp.yaml index 3bbcf892a47..cea3bce68a1 100644 --- a/deployments/examples/ocis_keycloak/config/ocis/csp.yaml +++ b/deployments/examples/ocis_keycloak/config/ocis/csp.yaml @@ -5,6 +5,7 @@ directives: - '''self''' - 'blob:' - 'https://raw.githubusercontent.com/owncloud/awesome-ocis/' + - 'https://marketplace.owncloud.com/' # In contrary to bash and docker the default is given after the | character - 'https://${KEYCLOAK_DOMAIN|keycloak.owncloud.test}/' default-src: @@ -23,6 +24,7 @@ directives: - 'data:' - 'blob:' - 'https://raw.githubusercontent.com/owncloud/awesome-ocis/' + - 'https://marketplace.owncloud.com/' manifest-src: - '''self''' media-src: diff --git a/deployments/examples/ocis_multi/config/ocis/csp-ocm.yaml b/deployments/examples/ocis_multi/config/ocis/csp-ocm.yaml index 4d55599de93..feb25fc2a4e 100644 --- a/deployments/examples/ocis_multi/config/ocis/csp-ocm.yaml +++ b/deployments/examples/ocis_multi/config/ocis/csp-ocm.yaml @@ -5,6 +5,7 @@ directives: - '''self''' - 'blob:' - 'https://raw.githubusercontent.com/owncloud/awesome-ocis/' + - 'https://marketplace.owncloud.com/' - 'https://${KEYCLOAK_DOMAIN|keycloak.owncloud.test}/' default-src: - '''none''' @@ -24,6 +25,7 @@ directives: - 'data:' - 'blob:' - 'https://raw.githubusercontent.com/owncloud/awesome-ocis/' + - 'https://marketplace.owncloud.com/' manifest-src: - '''self''' media-src: diff --git a/deployments/examples/ocis_multi/config/ocis/csp.yaml b/deployments/examples/ocis_multi/config/ocis/csp.yaml index 3bbcf892a47..cea3bce68a1 100644 --- a/deployments/examples/ocis_multi/config/ocis/csp.yaml +++ b/deployments/examples/ocis_multi/config/ocis/csp.yaml @@ -5,6 +5,7 @@ directives: - '''self''' - 'blob:' - 'https://raw.githubusercontent.com/owncloud/awesome-ocis/' + - 'https://marketplace.owncloud.com/' # In contrary to bash and docker the default is given after the | character - 'https://${KEYCLOAK_DOMAIN|keycloak.owncloud.test}/' default-src: @@ -23,6 +24,7 @@ directives: - 'data:' - 'blob:' - 'https://raw.githubusercontent.com/owncloud/awesome-ocis/' + - 'https://marketplace.owncloud.com/' manifest-src: - '''self''' media-src: diff --git a/deployments/examples/ocis_ocm/config/ocis/csp-ocm-next.yaml b/deployments/examples/ocis_ocm/config/ocis/csp-ocm-next.yaml index a33b960c63c..81b7869ea47 100644 --- a/deployments/examples/ocis_ocm/config/ocis/csp-ocm-next.yaml +++ b/deployments/examples/ocis_ocm/config/ocis/csp-ocm-next.yaml @@ -5,6 +5,7 @@ directives: - '''self''' - 'blob:' - 'https://raw.githubusercontent.com/owncloud/awesome-ocis/' + - 'https://marketplace.owncloud.com/' default-src: - '''none''' font-src: @@ -23,6 +24,7 @@ directives: - 'data:' - 'blob:' - 'https://raw.githubusercontent.com/owncloud/awesome-ocis/' + - 'https://marketplace.owncloud.com/' manifest-src: - '''self''' media-src: diff --git a/deployments/examples/ocis_ocm/config/ocis/csp-ocm.yaml b/deployments/examples/ocis_ocm/config/ocis/csp-ocm.yaml index 91365e37a90..d54dd60078c 100644 --- a/deployments/examples/ocis_ocm/config/ocis/csp-ocm.yaml +++ b/deployments/examples/ocis_ocm/config/ocis/csp-ocm.yaml @@ -5,6 +5,7 @@ directives: - '''self''' - 'blob:' - 'https://raw.githubusercontent.com/owncloud/awesome-ocis/' + - 'https://marketplace.owncloud.com/' default-src: - '''none''' font-src: @@ -25,6 +26,7 @@ directives: - 'data:' - 'blob:' - 'https://raw.githubusercontent.com/owncloud/awesome-ocis/' + - 'https://marketplace.owncloud.com/' # In contrary to bash and docker the default is given after the | character - 'https://${COLLABORA_DOMAIN|collabora.ocm.next.owncloud.test}/' manifest-src: diff --git a/deployments/examples/ocis_ocm/config/ocis/csp.yaml b/deployments/examples/ocis_ocm/config/ocis/csp.yaml index bc277bab4ac..3ac09f63fbb 100644 --- a/deployments/examples/ocis_ocm/config/ocis/csp.yaml +++ b/deployments/examples/ocis_ocm/config/ocis/csp.yaml @@ -5,6 +5,7 @@ directives: - '''self''' - 'blob:' - 'https://raw.githubusercontent.com/owncloud/awesome-ocis/' + - 'https://marketplace.owncloud.com/' default-src: - '''none''' font-src: @@ -25,6 +26,7 @@ directives: - 'data:' - 'blob:' - 'https://raw.githubusercontent.com/owncloud/awesome-ocis/' + - 'https://marketplace.owncloud.com/' # In contrary to bash and docker the default is given after the | character - 'https://${ONLYOFFICE_DOMAIN|onlyoffice.owncloud.test}/' manifest-src: diff --git a/services/proxy/pkg/config/csp.yaml b/services/proxy/pkg/config/csp.yaml index 23f2e6e9f7a..4f23630f9dc 100644 --- a/services/proxy/pkg/config/csp.yaml +++ b/services/proxy/pkg/config/csp.yaml @@ -5,6 +5,7 @@ directives: - '''self''' - 'blob:' - 'https://raw.githubusercontent.com/owncloud/awesome-ocis/' + - 'https://marketplace.owncloud.com/' default-src: - '''none''' font-src: @@ -21,6 +22,7 @@ directives: - 'data:' - 'blob:' - 'https://raw.githubusercontent.com/owncloud/awesome-ocis/' + - 'https://marketplace.owncloud.com/' manifest-src: - '''self''' media-src: diff --git a/tests/acceptance/features/coreApiWebdavOperations/downloadFile.feature b/tests/acceptance/features/coreApiWebdavOperations/downloadFile.feature index ef775e20c07..1ac78fc785e 100644 --- a/tests/acceptance/features/coreApiWebdavOperations/downloadFile.feature +++ b/tests/acceptance/features/coreApiWebdavOperations/downloadFile.feature @@ -219,7 +219,7 @@ Feature: download file And the following headers should be set | header | value | | Content-Disposition | attachment; filename*=UTF-8''; filename="" | - | Content-Security-Policy | child-src 'self'; connect-src 'self' blob: https://raw.githubusercontent.com/owncloud/awesome-ocis/; default-src 'none'; font-src 'self' data:; frame-ancestors 'self'; frame-src 'self' blob: https://embed.diagrams.net/; img-src 'self' data: blob: https://raw.githubusercontent.com/owncloud/awesome-ocis/; manifest-src 'self'; media-src 'self'; object-src 'self' blob:; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline' | + | Content-Security-Policy | child-src 'self'; connect-src 'self' blob: https://raw.githubusercontent.com/owncloud/awesome-ocis/ https://marketplace.owncloud.com/; default-src 'none'; font-src 'self' data:; frame-ancestors 'self'; frame-src 'self' blob: https://embed.diagrams.net/; img-src 'self' data: blob: https://raw.githubusercontent.com/owncloud/awesome-ocis/ https://marketplace.owncloud.com/; manifest-src 'self'; media-src 'self'; object-src 'self' blob:; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline' | | X-Content-Type-Options | nosniff | | X-Frame-Options | SAMEORIGIN | | X-Permitted-Cross-Domain-Policies | none | @@ -246,7 +246,7 @@ Feature: download file And the following headers should be set | header | value | | Content-Disposition | attachment; filename*=UTF-8''%22quote%22double%22.txt; filename=""quote"double".txt" | - | Content-Security-Policy | child-src 'self'; connect-src 'self' blob: https://raw.githubusercontent.com/owncloud/awesome-ocis/; default-src 'none'; font-src 'self' data:; frame-ancestors 'self'; frame-src 'self' blob: https://embed.diagrams.net/; img-src 'self' data: blob: https://raw.githubusercontent.com/owncloud/awesome-ocis/; manifest-src 'self'; media-src 'self'; object-src 'self' blob:; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline' | + | Content-Security-Policy | child-src 'self'; connect-src 'self' blob: https://raw.githubusercontent.com/owncloud/awesome-ocis/ https://marketplace.owncloud.com/; default-src 'none'; font-src 'self' data:; frame-ancestors 'self'; frame-src 'self' blob: https://embed.diagrams.net/; img-src 'self' data: blob: https://raw.githubusercontent.com/owncloud/awesome-ocis/ https://marketplace.owncloud.com/; manifest-src 'self'; media-src 'self'; object-src 'self' blob:; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline' | | X-Content-Type-Options | nosniff | | X-Frame-Options | SAMEORIGIN | | X-Permitted-Cross-Domain-Policies | none | diff --git a/tests/config/ci/csp.yaml b/tests/config/ci/csp.yaml index 8775c34a915..184408b18fe 100644 --- a/tests/config/ci/csp.yaml +++ b/tests/config/ci/csp.yaml @@ -5,6 +5,7 @@ directives: - '''self''' - 'blob:' - 'https://raw.githubusercontent.com/owncloud/awesome-ocis/' + - 'https://marketplace.owncloud.com/' # In contrary to bash and docker the default is given after the | character - 'https://${KEYCLOAK_DOMAIN|keycloak.owncloud.test}/' - 'https://localhost:8443/' @@ -27,6 +28,7 @@ directives: - 'data:' - 'blob:' - 'https://raw.githubusercontent.com/owncloud/awesome-ocis/' + - 'https://marketplace.owncloud.com/' # In contrary to bash and docker the default is given after the | character - 'https://${ONLYOFFICE_DOMAIN|onlyoffice:443}/' - 'https://${COLLABORA_DOMAIN|collabora:9980}/' diff --git a/tests/config/k8s/values.yaml b/tests/config/k8s/values.yaml index d8e98cecae8..f999e3bb88a 100644 --- a/tests/config/k8s/values.yaml +++ b/tests/config/k8s/values.yaml @@ -94,6 +94,7 @@ http: - "'self'" - 'blob:' - 'https://raw.githubusercontent.com/owncloud/awesome-ocis/' + - 'https://marketplace.owncloud.com/' defaultSrc: - "'none'" fontSrc: @@ -110,6 +111,7 @@ http: - 'data:' - 'blob:' - 'https://raw.githubusercontent.com/owncloud/awesome-ocis/' + - 'https://marketplace.owncloud.com/' manifestSrc: - "'self'" mediaSrc: diff --git a/web/deployments/examples/ocis_web/config/ocis/csp.yaml b/web/deployments/examples/ocis_web/config/ocis/csp.yaml index aea4ec41805..1862a4585ed 100644 --- a/web/deployments/examples/ocis_web/config/ocis/csp.yaml +++ b/web/deployments/examples/ocis_web/config/ocis/csp.yaml @@ -4,6 +4,7 @@ directives: connect-src: - '''self''' - 'https://raw.githubusercontent.com/owncloud/awesome-ocis/' + - 'https://marketplace.owncloud.com/' - 'https://${COMPANION_DOMAIN|companion.owncloud.test}/' - 'wss://${COMPANION_DOMAIN|companion.owncloud.test}/' default-src: @@ -22,6 +23,7 @@ directives: - 'data:' - 'blob:' - 'https://raw.githubusercontent.com/owncloud/awesome-ocis/' + - 'https://marketplace.owncloud.com/' # In contrary to bash and docker the default is given after the | character - 'https://${COLLABORA_DOMAIN|collabora.owncloud.test}/' manifest-src: diff --git a/web/dev/docker/ocis/csp.yaml b/web/dev/docker/ocis/csp.yaml index e0dbc3aa70f..0eccdf1301f 100644 --- a/web/dev/docker/ocis/csp.yaml +++ b/web/dev/docker/ocis/csp.yaml @@ -5,6 +5,7 @@ directives: - '''self''' - 'blob:' - 'https://raw.githubusercontent.com/owncloud/awesome-ocis/' + - 'https://marketplace.owncloud.com/' default-src: - '''none''' font-src: @@ -25,6 +26,7 @@ directives: - 'data:' - 'blob:' - 'https://raw.githubusercontent.com/owncloud/awesome-ocis/' + - 'https://marketplace.owncloud.com/' # In contrast to bash and docker the default is given after the | character - 'https://${ONLYOFFICE_DOMAIN|host.docker.internal:9981}/' - 'https://${COLLABORA_DOMAIN|host.docker.internal:9980}/' diff --git a/web/packages/web-app-app-store/src/index.ts b/web/packages/web-app-app-store/src/index.ts index 3738c91e7ca..e6d16d8d804 100644 --- a/web/packages/web-app-app-store/src/index.ts +++ b/web/packages/web-app-app-store/src/index.ts @@ -24,7 +24,7 @@ export default defineWebApplication({ const defaultRepositories: AppStoreRepository[] = [ { name: 'awesome-ocis', - url: 'https://raw.githubusercontent.com/owncloud/awesome-ocis/main/webApps/apps.json' + url: 'https://marketplace.owncloud.com/api/ocis/v1/apps.json' } ] if (applicationConfig?.repositories) {