diff --git a/.drone.star b/.drone.star index 629d5ff6621..c55ea1327e4 100644 --- a/.drone.star +++ b/.drone.star @@ -62,92 +62,80 @@ def cephService(): # Pipeline definitions def main(ctx): - # In order to run specific parts only, specify the parts as - # ocisIntegrationTests(6, [1, 4]) - this will only run 1st and 4th parts - # implemented for: ocisIntegrationTests and s3ngIntegrationTests return [ checkStarlark(), - ] + ocisIntegrationTests(6) + s3ngIntegrationTests(12) + ocisIntegrationTest(), + ] + s3ngIntegrationTests() -def ocisIntegrationTests(parallelRuns, skipExceptParts = []): - pipelines = [] - debugPartsEnabled = (len(skipExceptParts) != 0) - for runPart in range(1, parallelRuns + 1): - if debugPartsEnabled and runPart not in skipExceptParts: - continue - - pipelines.append( +def ocisIntegrationTest(): + return { + "kind": "pipeline", + "type": "docker", + "name": "ocis-integration-tests-2", + "platform": { + "os": "linux", + "arch": "amd64", + }, + "trigger": { + "event": { + "include": [ + "pull_request", + "tag", + ], + }, + }, + "steps": [ + makeStep(), { - "kind": "pipeline", - "type": "docker", - "name": "ocis-integration-tests-%s" % runPart, - "platform": { - "os": "linux", - "arch": "amd64", - }, - "trigger": { - "event": { - "include": [ - "pull_request", - "tag", - ], - }, - }, - "steps": [ - makeStep(), - { - "name": "revad-services", - "image": OC_CI_GOLANG, - "detach": True, - "commands": [ - "cd /drone/src/tests/oc-integration-tests/drone/", - "/drone/src/cmd/revad/revad -c frontend.toml &", - "/drone/src/cmd/revad/revad -c gateway.toml &", - "/drone/src/cmd/revad/revad -c shares.toml &", - "/drone/src/cmd/revad/revad -c storage-home-ocis.toml &", - "/drone/src/cmd/revad/revad -c storage-users-ocis.toml &", - "/drone/src/cmd/revad/revad -c storage-publiclink.toml &", - "/drone/src/cmd/revad/revad -c ldap-users.toml", - ], - }, - cloneApiTestReposStep(), - { - "name": "APIAcceptanceTestsOcisStorage", - "image": OC_CI_PHP, - "commands": [ - "cd /drone/src/tmp/testrunner", - "make test-acceptance-from-core-api", - ], - "environment": { - "TEST_SERVER_URL": "http://revad-services:20080", - "OCIS_REVA_DATA_ROOT": "/drone/src/tmp/reva/data/", - "DELETE_USER_DATA_CMD": "rm -rf /drone/src/tmp/reva/data/nodes/root/* /drone/src/tmp/reva/data/nodes/*-*-*-* /drone/src/tmp/reva/data/blobs/*", - "STORAGE_DRIVER": "OCIS", - "SKELETON_DIR": "/drone/src/tmp/testing/data/apiSkeleton", - "TEST_WITH_LDAP": "true", - "REVA_LDAP_HOSTNAME": "ldap", - "TEST_REVA": "true", - "SEND_SCENARIO_LINE_REFERENCES": "true", - "BEHAT_FILTER_TAGS": "~@toImplementOnOCIS&&~comments-app-required&&~@federation-app-required&&~@notifications-app-required&&~systemtags-app-required&&~@provisioning_api-app-required&&~@preview-extension-required&&~@local_storage&&~@skipOnOcis-OCIS-Storage&&~@personalSpace&&~@issue-ocis-3023&&~@skipOnGraph&&~@caldav&&~@carddav&&~@skipOnReva", - "DIVIDE_INTO_NUM_PARTS": parallelRuns, - "RUN_PART": runPart, - "EXPECTED_FAILURES_FILE": "/drone/src/tests/acceptance/expected-failures-on-OCIS-storage.md", - }, - }, + "name": "revad-services", + "image": OC_CI_GOLANG, + "detach": True, + "commands": [ + "cd /drone/src/tests/oc-integration-tests/drone/", + "/drone/src/cmd/revad/revad -c frontend.toml &", + "/drone/src/cmd/revad/revad -c gateway.toml &", + "/drone/src/cmd/revad/revad -c shares.toml &", + "/drone/src/cmd/revad/revad -c storage-home-ocis.toml &", + "/drone/src/cmd/revad/revad -c storage-users-ocis.toml &", + "/drone/src/cmd/revad/revad -c storage-publiclink.toml &", + "/drone/src/cmd/revad/revad -c ldap-users.toml", ], - "services": [ - ldapService(), + }, + cloneApiTestReposStep(), + { + "name": "APIAcceptanceTestsOcisStorage", + "image": OC_CI_PHP, + "commands": [ + "cd /drone/src/tmp/testrunner", + "make test-acceptance-from-core-api", ], + "environment": { + "TEST_SERVER_URL": "http://revad-services:20080", + "OCIS_REVA_DATA_ROOT": "/drone/src/tmp/reva/data/", + "DELETE_USER_DATA_CMD": "rm -rf /drone/src/tmp/reva/data/nodes/root/* /drone/src/tmp/reva/data/nodes/*-*-*-* /drone/src/tmp/reva/data/blobs/*", + "STORAGE_DRIVER": "OCIS", + "SKELETON_DIR": "/drone/src/tmp/testing/data/apiSkeleton", + "TEST_WITH_LDAP": "true", + "REVA_LDAP_HOSTNAME": "ldap", + "TEST_REVA": "true", + "SEND_SCENARIO_LINE_REFERENCES": "true", + "BEHAT_FILTER_TAGS": "~@toImplementOnOCIS&&~comments-app-required&&~@federation-app-required&&~@notifications-app-required&&~systemtags-app-required&&~@provisioning_api-app-required&&~@preview-extension-required&&~@local_storage&&~@skipOnOcis-OCIS-Storage&&~@personalSpace&&~@issue-ocis-3023&&~@skipOnGraph&&~@caldav&&~@carddav&&~@skipOnReva", + "DIVIDE_INTO_NUM_PARTS": 6, + "RUN_PART": 2, + "EXPECTED_FAILURES_FILE": "/drone/src/tests/acceptance/expected-failures-on-OCIS-storage.md", + }, }, - ) - - return pipelines + ], + "services": [ + ldapService(), + ], + } -def s3ngIntegrationTests(parallelRuns, skipExceptParts = []): +def s3ngIntegrationTests(): + parallelRuns = 12 pipelines = [] - debugPartsEnabled = (len(skipExceptParts) != 0) for runPart in range(1, parallelRuns + 1): - if debugPartsEnabled and runPart not in skipExceptParts: + if runPart in [9]: continue pipelines.append( diff --git a/.github/workflows/compose.yml b/.github/workflows/compose.yml new file mode 100644 index 00000000000..e9a454da35c --- /dev/null +++ b/.github/workflows/compose.yml @@ -0,0 +1,37 @@ +name: Compose +on: + workflow_call: + inputs: + test: + required: true + type: string + submodules: + type: boolean + parts: + type: number + part: + type: number + +jobs: + compose: + runs-on: self-hosted + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + submodules: ${{ inputs.submodules }} + - name: Download image + uses: ishworkh/docker-image-artifact-download@v1 + with: + image: revad:test + - name: Test + uses: isbang/compose-action@v1.4.1 + with: + compose-file: ./tests/docker/docker-compose.yml + up-flags: --force-recreate --always-recreate-deps --build --abort-on-container-exit -V --remove-orphans --exit-code-from ${{ inputs.test }} + down-flags: --rmi all -v --remove-orphans + services: ${{ inputs.test }} + env: + REVAD_IMAGE: revad:test + PARTS: ${{ inputs.parts }} + PART: ${{ inputs.part }} diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 7f091964ea5..3f14b89d225 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -11,8 +11,6 @@ on: type: boolean push: type: boolean - build-args: - type: string platforms: type: string @@ -28,7 +26,7 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - name: Login to Docker Hub - if: ${{ inputs.push }} + if: inputs.push uses: docker/login-action@v2 with: username: ${{ secrets.DOCKERHUB_USERNAME }} @@ -41,11 +39,10 @@ jobs: tags: ${{ inputs.tags }} load: ${{ inputs.load }} push: ${{ inputs.push }} - build-args: ${{ inputs.build-args }} platforms: ${{ inputs.platforms }} - name: Upload ${{ inputs.tags }} Docker image to artifacts uses: ishworkh/docker-image-artifact-upload@v1 - if: ${{ inputs.load }} + if: inputs.load with: image: ${{ inputs.tags }} retention_days: '1' diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index bd401ac589d..2bd4564c66a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -58,34 +58,42 @@ jobs: file: docker/Dockerfile.revad tags: revad:test load: true - test: + litmus: needs: docker-revad - runs-on: self-hosted strategy: fail-fast: false matrix: - test: [litmus-1, litmus-2, litmus-3, acceptance-1] - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Checkout core - uses: actions/checkout@v3 - if: matrix.test == 'acceptance-1' - with: - repository: owncloud/ocis - ref: ${{ vars.OCIS_COMMITID }} - path: tests/ocis - - name: Checkout testing - uses: actions/checkout@v3 - if: matrix.test == 'acceptance-1' - with: - repository: owncloud/testing - path: tests/testing - - name: Download image - uses: ishworkh/docker-image-artifact-download@v1 - with: - image: revad:test - - name: Test - run: make ${{ matrix.test }} -o test-docker - env: - REVAD_IMAGE: revad:test + test: [litmus-1, litmus-2, litmus-3] + uses: ./.github/workflows/compose.yml + with: + test: ${{ matrix.test }} + acceptance-1: + uses: ./.github/workflows/compose.yml + with: + test: acceptance-1 + submodules: true + needs: docker-revad + acceptance-2: + needs: docker-revad + strategy: + fail-fast: false + matrix: + part: [1, 3, 4, 5, 6] + uses: ./.github/workflows/compose.yml + with: + test: acceptance-2 + submodules: true + parts: 6 + part: ${{ matrix.part }} + acceptance-3: + needs: docker-revad + strategy: + fail-fast: false + matrix: + part: [9] + uses: ./.github/workflows/compose.yml + with: + test: acceptance-3 + submodules: true + parts: 12 + part: ${{ matrix.part }} diff --git a/.gitignore b/.gitignore index f60c1b73522..5ed50f28918 100644 --- a/.gitignore +++ b/.gitignore @@ -35,19 +35,15 @@ docs/public/ docs/resources/ docs/node_modules/ docs/tech-doc-hugo -docs/themes/ dist/ bin/ # API acceptance tests -composer.lock -/vendor -/vendor-php -vendor-bin/**/vendor -vendor-bin/**/composer.lock tests/acceptance/output tmp/ +tests/ocis/tests/acceptance/tus-upload-test-* +tests/ocis/tests/acceptance/work_tmp # drone .drone.yml diff --git a/.gitmodules b/.gitmodules index 263c4a1b71c..771d53eca43 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,9 +1,9 @@ -[submodule "docs/themes/docsy"] - path = docs/themes/docsy - url = https://github.com/google/docsy [submodule "tests/ocis"] path = tests/ocis url = https://github.com/owncloud/ocis.git [submodule "tests/testing"] path = tests/testing url = https://github.com/owncloud/testing.git +[submodule "docs/themes/docsy"] + path = docs/themes/docsy + url = https://github.com/google/docsy.git diff --git a/Makefile b/Makefile index f258245e4fb..625079cd7c2 100644 --- a/Makefile +++ b/Makefile @@ -38,34 +38,43 @@ BUILD_FLAGS = "-X main.gitCommit=$(GIT_COMMIT) -X main.version=$(VERSION) -X mai revad: go build -ldflags $(BUILD_FLAGS) -o ./cmd/revad/revad ./cmd/revad -.PHONY: revad-cephfs -revad-cephfs: +.PHONY: revad-ceph +revad-ceph: go build -ldflags $(BUILD_FLAGS) -tags ceph -o ./cmd/revad/revad ./cmd/revad .PHONY: reva reva: go build -ldflags $(BUILD_FLAGS) -o ./cmd/reva/reva ./cmd/reva +.PHONY: docker-reva +docker-reva: + docker build -f docker/Dockerfile.reva -t reva . + +.PHONY: docker-revad +docker-revad: + docker build -f docker/Dockerfile.revad -t revad . + +.PHONY: docker-revad-ceph +docker-revad-ceph: + docker build -f docker/Dockerfile.revad-ceph -t revad-ceph . + +.PHONY: docker-revad-eos +docker-revad-eos: + docker build -f docker/Dockerfile.revad-eos -t revad-eos . + ################################################################################ # Test ################################################################################ -REVAD_IMAGE ?= revad:test +TEST = litmus-1 litmus-2 litmus-3 acceptance-1 acceptance-2 acceptance-3 +export REVAD_IMAGE ?= revad +export PARTS ?= 1 +export PART ?= 1 -.PHONY: test-docker -test-docker: - docker build -f docker/Dockerfile.revad -t $(REVAD_IMAGE) . - -TESTS = litmus-1 litmus-2 litmus-3 acceptance-1 -TIMEOUT ?= 3600 - -.PHONY: $(TESTS) -$(TESTS): test-docker - docker pull cs3org/behat:latest - REVAD_IMAGE=$(REVAD_IMAGE) \ - docker-compose --file tests/docker-compose/$@.yml --project-directory . \ - up --force-recreate --renew-anon-volumes --remove-orphans \ - --exit-code-from $@ --abort-on-container-exit --timeout $(TIMEOUT) +.PHONY: $(TEST) +$(TEST): docker-revad + docker-compose -f ./tests/docker/docker-compose.yml up --force-recreate --always-recreate-deps --build --abort-on-container-exit -V --remove-orphans --exit-code-from $@ $@; \ + docker-compose -f ./tests/docker/docker-compose.yml down --rmi all -v --remove-orphans .PHONY: test-go test-go: @@ -117,7 +126,3 @@ toolchain-clean: .PHONY: clean clean: toolchain-clean rm -rf dist - - -test-acceptance-api: - $(PATH_TO_APITESTS)/tests/acceptance/run.sh --type api diff --git a/changelog/unreleased/enhancement-acceptance.md b/changelog/unreleased/enhancement-acceptance.md new file mode 100644 index 00000000000..a3fb1b15fa5 --- /dev/null +++ b/changelog/unreleased/enhancement-acceptance.md @@ -0,0 +1,5 @@ +Enhancement: Migrate acceptance tests from Drone to GitHub Actions + +Migrate ocisIntegrationTests and s3ngIntegrationTests to GitHub Actions + +https://github.com/cs3org/reva/pull/3640 \ No newline at end of file diff --git a/docker/Dockerfile.revad b/docker/Dockerfile.revad index 89558a98b0d..885ac940c66 100644 --- a/docker/Dockerfile.revad +++ b/docker/Dockerfile.revad @@ -20,10 +20,6 @@ FROM golang:alpine3.16 as builder RUN apk --no-cache add \ ca-certificates \ - bash \ - git \ - gcc \ - libc-dev \ make ENV PATH /go/bin:/usr/local/go/bin:$PATH @@ -38,9 +34,6 @@ RUN mkdir -p /etc/revad/ && touch /etc/revad/revad.toml FROM alpine:3.16 -RUN apk --no-cache add \ - mailcap - COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ COPY --from=builder /go/bin/revad /usr/bin/revad COPY --from=builder /etc/revad /etc/revad diff --git a/docker/Dockerfile.revad-ceph b/docker/Dockerfile.revad-ceph index 1f1469d8ded..f38516d7e30 100644 --- a/docker/Dockerfile.revad-ceph +++ b/docker/Dockerfile.revad-ceph @@ -39,7 +39,7 @@ ENV GOPATH /go WORKDIR /go/src/github/cs3org/reva COPY . . RUN mkdir -p /go/bin && \ - make revad-cephfs && \ + make revad-ceph && \ cp /go/src/github/cs3org/reva/cmd/revad/revad /usr/bin/revad RUN cp -r examples/ceph /etc/ diff --git a/tests/acceptance/config/behat.yml b/tests/acceptance/config/behat.yml index b0e21f16f49..5429722ec4b 100644 --- a/tests/acceptance/config/behat.yml +++ b/tests/acceptance/config/behat.yml @@ -9,7 +9,7 @@ default: contexts: - RevaContext: - FeatureContext: &common_feature_context_params - baseUrl: http://localhost:20180 + baseUrl: http://frontend:20180 adminUsername: admin adminPassword: admin regularUserPassword: relativity diff --git a/tests/docker-compose/acceptance-1.yml b/tests/docker-compose/acceptance-1.yml deleted file mode 100644 index f5cf858993c..00000000000 --- a/tests/docker-compose/acceptance-1.yml +++ /dev/null @@ -1,72 +0,0 @@ -version: "3.3" -services: - gateway: - extends: - file: tests/docker-compose/common.yml - service: revad - command: -c /etc/revad/gateway.toml - frontend: - extends: - file: tests/docker-compose/common.yml - service: revad - command: -c /etc/revad/frontend-2.toml - storage-home-ocis: - extends: - file: tests/docker-compose/common.yml - service: revad - command: -c /etc/revad/storage-home-ocis.toml - volumes: - - shared-volume:/var/tmp - storage-local-1: - extends: - file: tests/docker-compose/common.yml - service: revad - command: -c /etc/revad/storage-local-1.toml - volumes: - - shared-volume:/var/tmp - storage-local-2: - extends: - file: tests/docker-compose/common.yml - service: revad - command: -c /etc/revad/storage-local-2.toml - volumes: - - shared-volume:/var/tmp - users: - extends: - file: tests/docker-compose/common.yml - service: revad - command: -c /etc/revad/users.toml - acceptance-1: - image: cs3org/behat:latest - environment: - PATH_TO_APITESTS: /mnt/ocis - TEST_SERVER_URL: http://frontend:20180 - OCIS_REVA_DATA_ROOT: /var/tmp/reva/data/ - DELETE_USER_DATA_CMD: rm -rf /var/tmp/reva/data/nodes/root/* /var/tmp/reva/data/nodes/*-*-*-* /var/tmp/reva/data/blobs/* - STORAGE_DRIVER: OCIS - SKELETON_DIR: /mnt/testing/data/apiSkeleton - TEST_REVA: 'true' - REGULAR_USER_PASSWORD: relativity - SEND_SCENARIO_LINE_REFERENCES: 'true' - BEHAT_SUITE: apiVirtualViews - command: - - -c - - | - sleep 5 - /mnt/ocis/tests/acceptance/run.sh --type api - volumes: - - shared-volume:/var/tmp - - ./tests/testing:/mnt/testing - - ./tests/ocis:/mnt/ocis - - ./tests/acceptance:/mnt/acceptance - working_dir: /mnt/acceptance - depends_on: - - frontend - - gateway - - storage-home-ocis - - storage-local-1 - - storage-local-2 - - users - -volumes: - shared-volume: \ No newline at end of file diff --git a/tests/docker-compose/common.yml b/tests/docker-compose/common.yml deleted file mode 100644 index df71aa49381..00000000000 --- a/tests/docker-compose/common.yml +++ /dev/null @@ -1,22 +0,0 @@ -version: "3.3" -services: - revad: - image: ${REVAD_IMAGE} - volumes: - - ../revad:/etc/revad - working_dir: /etc/revad/ - litmus: - image: registry.cern.ch/docker.io/owncloud/litmus:latest - entrypoint: - - /bin/sh - command: - - -c - - | - sleep 5 - /usr/local/bin/litmus-wrapper - environment: - LITMUS_USERNAME: einstein - LITMUS_PASSWORD: relativity - TESTS: basic http copymove props - LITMUS_WAIT: 'true' - LITMUS_CHECK_URL: http://frontend:20080/ocs/v2.php/cloud/capabilities diff --git a/tests/docker-compose/litmus-1.yml b/tests/docker-compose/litmus-1.yml deleted file mode 100644 index d379bef7279..00000000000 --- a/tests/docker-compose/litmus-1.yml +++ /dev/null @@ -1,38 +0,0 @@ -version: "3.3" -services: - frontend: - extends: - file: tests/docker-compose/common.yml - service: revad - command: -c /etc/revad/frontend-1.toml - gateway: - extends: - file: tests/docker-compose/common.yml - service: revad - command: -c /etc/revad/gateway.toml - storage-home-ocis: - extends: - file: tests/docker-compose/common.yml - service: revad - command: -c /etc/revad/storage-home-ocis.toml - volumes: - - shared-volume:/var/tmp - users: - extends: - file: tests/docker-compose/common.yml - service: revad - command: -c /etc/revad/users.toml - litmus-1: - extends: - file: tests/docker-compose/common.yml - service: litmus - environment: - LITMUS_URL: http://frontend:20080/remote.php/webdav - depends_on: - - frontend - - gateway - - users - - storage-home-ocis - -volumes: - shared-volume: diff --git a/tests/docker-compose/litmus-2.yml b/tests/docker-compose/litmus-2.yml deleted file mode 100644 index 60f4be4f5b9..00000000000 --- a/tests/docker-compose/litmus-2.yml +++ /dev/null @@ -1,33 +0,0 @@ -version: "3.3" -services: - frontend: - extends: - file: tests/docker-compose/common.yml - service: revad - command: -c /etc/revad/frontend-1.toml - gateway: - extends: - file: tests/docker-compose/common.yml - service: revad - command: -c /etc/revad/gateway.toml - storage-home-ocis: - extends: - file: tests/docker-compose/common.yml - service: revad - command: -c /etc/revad/storage-home-ocis.toml - users: - extends: - file: tests/docker-compose/common.yml - service: revad - command: -c /etc/revad/users.toml - litmus-2: - extends: - file: tests/docker-compose/common.yml - service: litmus - environment: - LITMUS_URL: http://frontend:20080/remote.php/dav/files/4c510ada-c86b-4815-8820-42cdf82c3d51 - depends_on: - - frontend - - gateway - - users - - storage-home-ocis \ No newline at end of file diff --git a/tests/docker-compose/litmus-3.yml b/tests/docker-compose/litmus-3.yml deleted file mode 100644 index b4755ebb264..00000000000 --- a/tests/docker-compose/litmus-3.yml +++ /dev/null @@ -1,60 +0,0 @@ -version: "3.3" -services: - frontend: - extends: - file: tests/docker-compose/common.yml - service: revad - command: -c /etc/revad/frontend-1.toml - gateway: - extends: - file: tests/docker-compose/common.yml - service: revad - command: -c /etc/revad/gateway.toml - storage-home-ocis: - extends: - file: tests/docker-compose/common.yml - service: revad - command: -c /etc/revad/storage-home-ocis.toml - volumes: - - shared-volume:/var/tmp - users: - extends: - file: tests/docker-compose/common.yml - service: revad - command: -c /etc/revad/users.toml - permissions: - extends: - file: tests/docker-compose/common.yml - service: revad - command: -c /etc/revad/permissions.toml - storage-users-ocis: - extends: - file: tests/docker-compose/common.yml - service: revad - command: -c /etc/revad/storage-users-ocis.toml - volumes: - - shared-volume:/var/tmp - litmus-3: - extends: - file: tests/docker-compose/common.yml - service: litmus - entrypoint: - - /bin/sh - command: - - -c - - | - curl -s -k -u einstein:relativity -I http://frontend:20080/remote.php/dav/files/einstein - export LITMUS_URL=http://frontend:20080/remote.php/dav/spaces/123e4567-e89b-12d3-a456-426655440000!$$(ls /var/tmp/reva/data/spaces/personal/) - /usr/local/bin/litmus-wrapper - volumes: - - shared-volume:/var/tmp - depends_on: - - frontend - - gateway - - users - - storage-home-ocis - - permissions - - storage-users-ocis - -volumes: - shared-volume: diff --git a/tests/docker/docker-compose.yml b/tests/docker/docker-compose.yml new file mode 100644 index 00000000000..af59fd96ee6 --- /dev/null +++ b/tests/docker/docker-compose.yml @@ -0,0 +1,321 @@ +version: "3.4" +services: + revad: + image: ${REVAD_IMAGE} + volumes: + - ../revad:/etc/revad + working_dir: /etc/revad/ + healthcheck: + test: sleep 10 + litmus: + image: registry.cern.ch/docker.io/owncloud/litmus:latest + environment: + LITMUS_USERNAME: einstein + LITMUS_PASSWORD: relativity + TESTS: basic http copymove props + acceptance: + image: cs3org/behat:latest + entrypoint: /mnt/ocis/tests/acceptance/run.sh + environment: + OCIS_REVA_DATA_ROOT: /var/tmp/reva/data/ + DELETE_USER_DATA_CMD: rm -rf /var/tmp/reva/data/nodes/root/* /var/tmp/reva/data/nodes/*-*-*-* /var/tmp/reva/data/blobs/* + SKELETON_DIR: /mnt/testing/data/apiSkeleton + PLAIN_OUTPUT: 'true' + volumes: + - ../testing:/mnt/testing + - ../ocis:/mnt/ocis + - ../acceptance:/mnt/acceptance + gateway: + extends: revad + command: -c /etc/revad/gateway.toml + healthcheck: + test: sleep 5 + volumes: + - shared-volume:/var/tmp + frontend: + extends: revad + command: -c /etc/revad/frontend.toml + volumes: + - shared-volume:/var/tmp + depends_on: + gateway: + condition: service_healthy + storage-home-ocis: + extends: revad + hostname: storage-home + command: -c /etc/revad/storage-home-ocis.toml + volumes: + - shared-volume:/var/tmp + depends_on: + gateway: + condition: service_healthy + users: + extends: revad + command: -c /etc/revad/users.toml + volumes: + - shared-volume:/var/tmp + depends_on: + gateway: + condition: service_healthy + shares: + extends: revad + command: -c /etc/revad/shares.toml + volumes: + - shared-volume:/var/tmp + depends_on: + gateway: + condition: service_healthy + litmus-1: + extends: litmus + environment: + LITMUS_URL: http://frontend:20080/remote.php/webdav + depends_on: + frontend: + condition: service_healthy + storage-home-ocis: + condition: service_healthy + users: + condition: service_healthy + shares: + condition: service_healthy + litmus-2: + extends: litmus + environment: + LITMUS_URL: http://frontend:20080/remote.php/dav/files/4c510ada-c86b-4815-8820-42cdf82c3d51 + depends_on: + frontend: + condition: service_healthy + storage-home-ocis: + condition: service_healthy + users: + condition: service_healthy + shares: + condition: service_healthy + permissions-ocis-ci: + extends: revad + command: -c /etc/revad/permissions-ocis-ci.toml + depends_on: + gateway: + condition: service_healthy + storage-users-ocis: + extends: revad + hostname: storage-users + command: -c /etc/revad/storage-users-ocis.toml + volumes: + - shared-volume:/var/tmp + depends_on: + gateway: + condition: service_healthy + litmus-3: + extends: litmus + entrypoint: /bin/sh + command: + - -c + - | + curl -s -k -u einstein:relativity -I http://frontend:20080/remote.php/dav/files/einstein + export LITMUS_URL=http://frontend:20080/remote.php/dav/spaces/123e4567-e89b-12d3-a456-426655440000!$$(ls /var/tmp/reva/data/spaces/personal/) + exec /usr/local/bin/litmus-wrapper + volumes: + - shared-volume:/var/tmp + depends_on: + frontend: + condition: service_healthy + storage-home-ocis: + condition: service_healthy + users: + condition: service_healthy + shares: + condition: service_healthy + permissions-ocis-ci: + condition: service_healthy + storage-users-ocis: + condition: service_healthy + frontend-global: + extends: revad + hostname: frontend + command: -c /etc/revad/frontend-global.toml + volumes: + - shared-volume:/var/tmp + depends_on: + gateway: + condition: service_healthy + storage-local-1: + extends: revad + command: -c /etc/revad/storage-local-1.toml + volumes: + - shared-volume:/var/tmp + depends_on: + gateway: + condition: service_healthy + storage-local-2: + extends: revad + command: -c /etc/revad/storage-local-2.toml + volumes: + - shared-volume:/var/tmp + depends_on: + gateway: + condition: service_healthy + acceptance-1: + extends: acceptance + environment: + PATH_TO_APITESTS: /mnt/ocis + TEST_SERVER_URL: http://frontend:20180 + STORAGE_DRIVER: OCIS + TEST_REVA: 'true' + REGULAR_USER_PASSWORD: relativity + SEND_SCENARIO_LINE_REFERENCES: 'true' + BEHAT_SUITE: apiVirtualViews + ACCEPTANCE_TEST_TYPE: api + volumes: + - shared-volume:/var/tmp + working_dir: /mnt/acceptance + depends_on: + frontend-global: + condition: service_healthy + storage-home-ocis: + condition: service_healthy + users: + condition: service_healthy + shares: + condition: service_healthy + storage-local-1: + condition: service_healthy + storage-local-2: + condition: service_healthy + ldap: + image: osixia/openldap:1.3.0 + environment: + LDAP_DOMAIN: owncloud.com + LDAP_ORGANISATION: ownCloud + LDAP_ADMIN_PASSWORD: admin + LDAP_TLS_VERIFY_CLIENT: never + HOSTNAME: ldap + healthcheck: + test: ldapsearch -x -h localhost -b dc=owncloud,dc=com -D "cn=admin,dc=owncloud,dc=com" -w admin + interval: 5s + timeout: 5s + retries: 5 + storage-publiclink: + extends: revad + command: -c /etc/revad/storage-publiclink.toml + volumes: + - shared-volume:/var/tmp + depends_on: + gateway: + condition: service_healthy + ldap-users: + extends: revad + hostname: users + command: -c /etc/revad/ldap-users.toml + volumes: + - shared-volume:/var/tmp + depends_on: + gateway: + condition: service_healthy + ldap: + condition: service_healthy + acceptance-2: + extends: acceptance + environment: + TEST_SERVER_URL: http://frontend:20080 + STORAGE_DRIVER: OCIS + TEST_WITH_LDAP: 'true' + REVA_LDAP_HOSTNAME: ldap + TEST_REVA: 'true' + SEND_SCENARIO_LINE_REFERENCES: 'true' + BEHAT_FILTER_TAGS: ~@toImplementOnOCIS&&~comments-app-required&&~@federation-app-required&&~@notifications-app-required&&~systemtags-app-required&&~@provisioning_api-app-required&&~@preview-extension-required&&~@local_storage&&~@skipOnOcis-OCIS-Storage&&~@personalSpace&&~@issue-ocis-3023&&~@skipOnGraph&&~@caldav&&~@carddav&&~@skipOnReva + DIVIDE_INTO_NUM_PARTS: ${PARTS:-1} + RUN_PART: ${PART:-1} + EXPECTED_FAILURES_FILE: /mnt/acceptance/expected-failures-on-OCIS-storage.md + BEHAT_YML: tests/acceptance/config/behat-core.yml + ACCEPTANCE_TEST_TYPE: core-api + volumes: + - shared-volume:/var/tmp + working_dir: /mnt/ocis + depends_on: + frontend: + condition: service_healthy + storage-home-ocis: + condition: service_healthy + shares: + condition: service_healthy + storage-users-ocis: + condition: service_healthy + storage-publiclink: + condition: service_healthy + ldap-users: + condition: service_healthy + ceph: + image: ceph/daemon + environment: + CEPH_DAEMON: demo + NETWORK_AUTO_DETECT: 4 + MON_IP: 0.0.0.0 + CEPH_PUBLIC_NETWORK: 0.0.0.0/0 + RGW_CIVETWEB_PORT: 4000 + RGW_NAME: ceph + CEPH_DEMO_UID: test-user + CEPH_DEMO_ACCESS_KEY: test + CEPH_DEMO_SECRET_KEY: test + CEPH_DEMO_BUCKET: test + healthcheck: + test: ceph health + interval: 5s + timeout: 5s + retries: 5 + storage-home-s3ng: + extends: revad + hostname: storage-home + command: -c /etc/revad/storage-home-s3ng.toml + volumes: + - shared-volume:/var/tmp + depends_on: + gateway: + condition: service_healthy + ceph: + condition: service_healthy + storage-users-s3ng: + extends: revad + hostname: storage-users + command: -c /etc/revad/storage-users-s3ng.toml + volumes: + - shared-volume:/var/tmp + depends_on: + gateway: + condition: service_healthy + ceph: + condition: service_healthy + acceptance-3: + extends: acceptance + environment: + TEST_SERVER_URL: http://frontend:20080 + STORAGE_DRIVER: S3NG + TEST_WITH_LDAP: 'true' + REVA_LDAP_HOSTNAME: ldap + TEST_REVA: 'true' + SEND_SCENARIO_LINE_REFERENCES: 'true' + BEHAT_FILTER_TAGS: ~@toImplementOnOCIS&&~comments-app-required&&~@federation-app-required&&~@notifications-app-required&&~systemtags-app-required&&~@provisioning_api-app-required&&~@preview-extension-required&&~@local_storage&&~@skipOnOcis-OCIS-Storage&&~@personalSpace&&~@issue-ocis-3023&&~&&~@skipOnGraph&&~@caldav&&~@carddav&&~@skipOnReva + DIVIDE_INTO_NUM_PARTS: ${PARTS:-1} + RUN_PART: ${PART:-1} + EXPECTED_FAILURES_FILE: /mnt/acceptance/expected-failures-on-S3NG-storage.md + BEHAT_YML: tests/acceptance/config/behat-core.yml + ACCEPTANCE_TEST_TYPE: core-api + volumes: + - shared-volume:/var/tmp + working_dir: /mnt/ocis + depends_on: + frontend: + condition: service_healthy + shares: + condition: service_healthy + storage-publiclink: + condition: service_healthy + ldap-users: + condition: service_healthy + storage-home-s3ng: + condition: service_healthy + storage-users-s3ng: + condition: service_healthy + +volumes: + shared-volume: diff --git a/tests/ocis b/tests/ocis index 6357a703181..804d1777051 160000 --- a/tests/ocis +++ b/tests/ocis @@ -1 +1 @@ -Subproject commit 6357a703181b368e2109f720e0785a11222eed88 +Subproject commit 804d1777051c3583dfeebae467466f1316fa3583 diff --git a/tests/revad/frontend-2.toml b/tests/revad/frontend-global.toml similarity index 98% rename from tests/revad/frontend-2.toml rename to tests/revad/frontend-global.toml index 4196f54dc48..486eb689b2b 100644 --- a/tests/revad/frontend-2.toml +++ b/tests/revad/frontend-global.toml @@ -103,10 +103,6 @@ extension = "creation,creation-with-upload" http_method_override = "" max_chunk_size = 0 -# serve /ocm -[http.services.ocmd] -prefix = "ocm" - [http.middlewares.providerauthorizer] driver = "json" diff --git a/tests/revad/frontend-1.toml b/tests/revad/frontend.toml similarity index 97% rename from tests/revad/frontend-1.toml rename to tests/revad/frontend.toml index 9a8433eff39..6c7844a2519 100644 --- a/tests/revad/frontend-1.toml +++ b/tests/revad/frontend.toml @@ -18,7 +18,7 @@ auth_manager = "oidc" # If you want to use your own openid provider change this config [grpc.services.authprovider.auth_managers.oidc] -issuer = "http://localhost:20080" +issuer = "http://frontend:20080" [http] address = "0.0.0.0:20080" @@ -114,10 +114,6 @@ extension = "creation,creation-with-upload" http_method_override = "" max_chunk_size = 0 -# serve /ocm -[http.services.ocmd] -prefix = "ocm" - [http.middlewares.providerauthorizer] driver = "json" diff --git a/tests/revad/gateway.toml b/tests/revad/gateway.toml index db7ab07d855..7b2338d10c6 100644 --- a/tests/revad/gateway.toml +++ b/tests/revad/gateway.toml @@ -23,20 +23,15 @@ userprovidersvc = "users:18000" groupprovidersvc = "users:18000" # an approvider lives on "users:18000" as well, see users.toml # sharing -usershareprovidersvc = "localhost:17000" -publicshareprovidersvc = "localhost:17000" -# ocm -ocmcoresvc = "localhost:14000" -ocmshareprovidersvc = "localhost:14000" -ocminvitemanagersvc = "localhost:14000" -ocmproviderauthorizersvc = "localhost:14000" +usershareprovidersvc = "shares:17000" +publicshareprovidersvc = "shares:17000" # permissions -permissionssvc = "permissions:10000" +permissionssvc = "permissions-ocis-ci:10000" # other commit_share_to_storage_grant = true commit_share_to_storage_ref = true share_folder = "Shares" -datagateway = "http://localhost:19001/data" +datagateway = "http://gateway:19001/data" transfer_shared_secret = "replace-me-with-a-transfer-secret" # for direct uploads transfer_expires = 6 # give it a moment #disable_home_creation_on_login = true @@ -46,7 +41,7 @@ link_grants_file = "/var/tmp/reva/link_grants_file.json" driver = "static" [grpc.services.authregistry.drivers.static.rules] -publicshares = "localhost:17000" # started with the shares.toml +publicshares = "shares:17000" # started with the shares.toml basic = "users:18000" # started with the users.toml [grpc.services.storageregistry] @@ -59,11 +54,11 @@ home_provider = "/home" # mount a home storage provider that uses a context based path wrapper # to jail users into their home dir -"/home" = {"address" = "storage-home-ocis:12000"} +"/home" = {"address" = "storage-home:12000"} # mount a storage provider without a path wrapper for direct access to users. -"/users" = {"address" = "storage-users-ocis:11000"} -"123e4567-e89b-12d3-a456-426655440000" = {"address" = "storage-users-ocis:11000"} +"/users" = {"address" = "storage-users:11000"} +"123e4567-e89b-12d3-a456-426655440000" = {"address" = "storage-users:11000"} # the /virtual namespace is only accessible via the frontend-global service "/virtual/[a-k]" = {"address" = "storage-local-1:11100"} @@ -73,8 +68,8 @@ home_provider = "/home" # another mount point might be "/projects/" -"/public" = {"address" = "localhost:13000"} -"e1a73ede-549b-4226-abdf-40e69ca8230d" = {"address" = "localhost:13000"} +"/public" = {"address" = "storage-publiclink:13000"} +"e1a73ede-549b-4226-abdf-40e69ca8230d" = {"address" = "storage-publiclink:13000"} [http] address = "0.0.0.0:19001" diff --git a/tests/revad/ldap-users.toml b/tests/revad/ldap-users.toml new file mode 100644 index 00000000000..3d7561ad01b --- /dev/null +++ b/tests/revad/ldap-users.toml @@ -0,0 +1,72 @@ +# This config file will start a reva service that: +# - handles user metadata and user preferences +# - serves the grpc services on port 18000 + +[shared] +jwt_secret = "Pive-Fumkiu4" +gatewaysvc = "gateway:19000" + +[grpc] +address = "0.0.0.0:18000" + +[grpc.services.authprovider] +auth_manager = "ldap" + +[grpc.services.authprovider.auth_managers.ldap] +hostname="ldap" +port=636 +insecure=true +base_dn="dc=owncloud,dc=com" +loginfilter="(&(objectclass=posixAccount)(|(cn={{login}}))(uid={{login}}))" +bind_username="cn=admin,dc=owncloud,dc=com" +bind_password="admin" +idp="http://users:18000" +[grpc.services.authprovider.auth_managers.ldap.schema] +uid="uid" +displayName="displayName" +dn="dn" +cn="cn" + +[grpc.services.userprovider] +driver = "ldap" + +[grpc.services.userprovider.drivers.ldap] +hostname="ldap" +port=636 +insecure=true +base_dn="dc=owncloud,dc=com" +userfilter="(&(objectclass=posixAccount)(|(uid={{.OpaqueId}})(cn={{.OpaqueId}})))" +findfilter="(&(objectclass=posixAccount)(|(cn={{query}}*)(displayname={{query}}*)(mail={{query}}*)))" +attributefilter="(&(objectclass=posixAccount)({{attr}}={{value}}))" +groupfilter="(&(objectclass=posixGroup)(cn=*)(memberuid={{.OpaqueId}}))" +bind_username="cn=admin,dc=owncloud,dc=com" +bind_password="admin" +idp="http://users:18000" + +[grpc.services.userprovider.drivers.ldap.schema] +uid="uid" +displayName="displayName" +dn="dn" +cn="cn" + +[grpc.services.groupprovider] +driver = "ldap" + +[grpc.services.groupprovider.drivers.ldap] +hostname="ldap" +port=636 +insecure=true +base_dn="dc=owncloud,dc=com" +groupfilter="(&(objectclass=posixGroup)(|(gid={{.OpaqueId}})(cn={{.OpaqueId}})))" +findfilter="(&(objectclass=posixGroup)(|(cn={{query}}*)(displayname={{query}}*)(mail={{query}}*)))" +attributefilter="(&(objectclass=posixGroup)({{attr}}={{value}}))" +memberfilter="(&(objectclass=posixAccount)(cn={{.OpaqueId}}))" +bind_username="cn=admin,dc=owncloud,dc=com" +bind_password="admin" +idp="http://users:18000" + +[grpc.services.groupprovider.drivers.ldap.schema] +gid="cn" +displayName="cn" +dn="dn" +cn="cn" diff --git a/tests/revad/permissions.toml b/tests/revad/permissions-ocis-ci.toml similarity index 90% rename from tests/revad/permissions.toml rename to tests/revad/permissions-ocis-ci.toml index ef025245f39..77261ac68ba 100644 --- a/tests/revad/permissions.toml +++ b/tests/revad/permissions-ocis-ci.toml @@ -2,6 +2,7 @@ # - serves the ocis ci permissions service [shared] jwt_secret = "Pive-Fumkiu4" +gatewaysvc = "gateway:19000" [grpc] address = "0.0.0.0:10000" diff --git a/tests/revad/providers.demo.json b/tests/revad/providers.demo.json index 1c385e3bdf2..a1854800b5f 100644 --- a/tests/revad/providers.demo.json +++ b/tests/revad/providers.demo.json @@ -7,19 +7,6 @@ "homepage": "http://example.org", "description": "Example cloud storage.", "services": [ - { - "endpoint": { - "type": { - "name": "OCM", - "description": "Example Open Cloud Mesh API" - }, - "name": "Example - OCM API", - "path": "http://frontend:20080/ocm/", - "is_monitored": true - }, - "api_version": "0.0.1", - "host": "frontend:20080" - }, { "endpoint": { "type": { @@ -47,54 +34,5 @@ "host": "gateway:19000" } ] - }, - { - "name": "local-mesh", - "full_name": "ownCloud@Example2", - "organization": "Example 2", - "domain": "example.org", - "homepage": "http://example.org", - "description": "Example cloud storage 2.", - "services": [ - { - "endpoint": { - "type": { - "name": "OCM", - "description": "Example 2 Open Cloud Mesh API" - }, - "name": "Example 2 - OCM API", - "path": "http://127.0.0.1:40080/ocm/", - "is_monitored": true - }, - "api_version": "0.0.1", - "host": "127.0.0.1:40080" - }, - { - "endpoint": { - "type": { - "name": "Webdav", - "description": "Example 2 Webdav API" - }, - "name": "Example 2 - Webdav API", - "path": "http://127.0.0.1:40080/remote.php/webdav/", - "is_monitored": true - }, - "api_version": "0.0.1", - "host": "127.0.0.1:40080" - }, - { - "endpoint": { - "type": { - "name": "Gateway", - "description": "Example 2 GRPC Gateway" - }, - "name": "Example 2 - GRPC Gateway", - "path": "127.0.0.1:39000", - "is_monitored": true - }, - "api_version": "0.0.1", - "host": "127.0.0.1:39000" - } - ] } ] diff --git a/tests/revad/shares.toml b/tests/revad/shares.toml new file mode 100644 index 00000000000..ac9e40e3b04 --- /dev/null +++ b/tests/revad/shares.toml @@ -0,0 +1,21 @@ +# This config file will start a reva service that: +# - serves user and public link shares + +[shared] +jwt_secret = "Pive-Fumkiu4" +gatewaysvc = "gateway:19000" + +[grpc] +address = "0.0.0.0:17000" + +[grpc.services.usershareprovider] +driver = "memory" + +[grpc.services.authprovider] +auth_manager = "publicshares" + +[grpc.services.authprovider.auth_managers.publicshares] +gateway_addr = "gateway:19000" + +[grpc.services.publicshareprovider.drivers.json] +file = "/var/tmp/reva/publicshares.json" diff --git a/tests/revad/storage-home-ocis.toml b/tests/revad/storage-home-ocis.toml index 4dfd693ecb5..633cde4d4bc 100644 --- a/tests/revad/storage-home-ocis.toml +++ b/tests/revad/storage-home-ocis.toml @@ -21,7 +21,7 @@ driver = "ocis" mount_path = "/home" mount_id = "123e4567-e89b-12d3-a456-426655440000" expose_data_server = true -data_server_url = "http://storage-home-ocis:12001/data" +data_server_url = "http://storage-home:12001/data" enable_home_creation = true gateway_addr = "gateway:19000" diff --git a/tests/revad/storage-home-s3ng.toml b/tests/revad/storage-home-s3ng.toml new file mode 100644 index 00000000000..d8d6b82d7a4 --- /dev/null +++ b/tests/revad/storage-home-s3ng.toml @@ -0,0 +1,55 @@ +# This config file will start a reva service that: +# - uses the s3ng driver to serve users, jailed into their home (/home) +# - serves the home storage provider on grpc port 12000 +# - serves http dataprovider for this storage on port 12001 +# - /data - dataprovider: file up and download +# +# The home storage will inject the username into the path and jail users into +# their home directory + +[shared] +jwt_secret = "Pive-Fumkiu4" +gatewaysvc = "gateway:19000" + +[grpc] +address = "0.0.0.0:12000" + +# This is a storage provider that grants direct access to the wrapped storage +# the context path wrapper reads tho username from the context and prefixes the relative storage path with it +[grpc.services.storageprovider] +driver = "s3ng" +mount_path = "/home" +mount_id = "123e4567-e89b-12d3-a456-426655440000" +expose_data_server = true +data_server_url = "http://storage-home:12001/data" +enable_home_creation = true + +[grpc.services.storageprovider.drivers.s3ng] +root = "/var/tmp/reva/data" +enable_home = true +treetime_accounting = true +treesize_accounting = true +"s3.endpoint" = "http://ceph:8080" +"s3.region" = "default" +"s3.bucket" = "test" +"s3.access_key" = "test" +"s3.secret_key" = "test" + +# we have a locally running dataprovider +[http] +address = "0.0.0.0:12001" + +[http.services.dataprovider] +driver = "s3ng" +temp_folder = "/var/tmp/reva/tmp" + +[http.services.dataprovider.drivers.s3ng] +root = "/var/tmp/reva/data" +enable_home = true +treetime_accounting = true +treesize_accounting = true +"s3.endpoint" = "http://ceph:8080" +"s3.region" = "default" +"s3.bucket" = "test" +"s3.access_key" = "test" +"s3.secret_key" = "test" diff --git a/tests/revad/storage-publiclink.toml b/tests/revad/storage-publiclink.toml new file mode 100644 index 00000000000..78db1777b63 --- /dev/null +++ b/tests/revad/storage-publiclink.toml @@ -0,0 +1,17 @@ +# This storage.toml config file will start a reva service that: +# - serves the public storage provider on grpc port 13000 + +[shared] +jwt_secret = "Pive-Fumkiu4" +gatewaysvc = "gateway:19000" + +[grpc] +address = "0.0.0.0:13000" + +# This is a storage provider that grants direct access to the wrapped storage +# we have a locally running dataprovider +[grpc.services.publicstorageprovider] +mount_path = "/public/" +mount_id = "e1a73ede-549b-4226-abdf-40e69ca8230d" +gateway_addr = "gateway:19000" + diff --git a/tests/revad/storage-users-ocis.toml b/tests/revad/storage-users-ocis.toml index d7455393cb5..723e1686d4d 100644 --- a/tests/revad/storage-users-ocis.toml +++ b/tests/revad/storage-users-ocis.toml @@ -18,7 +18,7 @@ driver = "ocis" mount_path = "/users" mount_id = "123e4567-e89b-12d3-a456-426655440000" expose_data_server = true -data_server_url = "http://storage-users-ocis:11001/data" +data_server_url = "http://storage-users:11001/data" gateway_addr = "gateway:19000" [grpc.services.storageprovider.drivers.ocis] diff --git a/tests/revad/storage-users-s3ng.toml b/tests/revad/storage-users-s3ng.toml new file mode 100644 index 00000000000..022edf1a059 --- /dev/null +++ b/tests/revad/storage-users-s3ng.toml @@ -0,0 +1,49 @@ +# This config file will start a reva service that: +# - uses the s3ng driver to serve users (/users) +# - serves the storage provider on grpc port 11000 +# - serves http dataprovider for this storage on port 11001 +# - /data - dataprovider: file up and download + +[shared] +jwt_secret = "Pive-Fumkiu4" +gatewaysvc = "gateway:19000" + +[grpc] +address = "0.0.0.0:11000" + +# This is a storage provider that grants direct access to the wrapped storage +[grpc.services.storageprovider] +driver = "s3ng" +mount_path = "/users" +mount_id = "123e4567-e89b-12d3-a456-426655440000" +expose_data_server = true +data_server_url = "http://storage-users:11001/data" + +[grpc.services.storageprovider.drivers.s3ng] +root = "/var/tmp/reva/data" +treetime_accounting = true +treesize_accounting = true +userprovidersvc = "users:18000" +"s3.endpoint" = "http://ceph:8080" +"s3.region" = "default" +"s3.bucket" = "test" +"s3.access_key" = "test" +"s3.secret_key" = "test" + +# we have a locally running dataprovider +[http] +address = "0.0.0.0:11001" + +[http.services.dataprovider] +driver = "s3ng" +temp_folder = "/var/tmp/reva/tmp" + +[http.services.dataprovider.drivers.s3ng] +root = "/var/tmp/reva/data" +treetime_accounting = true +treesize_accounting = true +"s3.endpoint" = "http://ceph:8080" +"s3.region" = "default" +"s3.bucket" = "test" +"s3.access_key" = "test" +"s3.secret_key" = "test" diff --git a/tests/revad/users.toml b/tests/revad/users.toml index 6f849bf6a8b..492e2be0fd2 100644 --- a/tests/revad/users.toml +++ b/tests/revad/users.toml @@ -4,6 +4,7 @@ [shared] jwt_secret = "Pive-Fumkiu4" +gatewaysvc = "gateway:19000" [grpc] address = "0.0.0.0:18000"