This is an automated email from the ASF dual-hosted git repository. xuanwo pushed a commit to branch polish-sftp in repository https://gitbox.apache.org/repos/asf/incubator-opendal.git
commit c62b88fcbf20054c08aa9e6d20cf167e26f1f0db Author: Xuanwo <[email protected]> AuthorDate: Tue Oct 31 14:46:21 2023 +0800 ci(services/sftp): Move setup logic into docker-compose Signed-off-by: Xuanwo <[email protected]> --- .github/services/sftp/sftp/action.yml | 14 ++----- .../sftp/sftp_with_default_root/action.yml | 18 ++------ .../action.yml => fixtures/sftp/change_root_dir.sh | 28 ++----------- .../sftp/docker-compose-sftp-with-default-root.yml | 39 +++++++---------- .../sftp/docker-compose-sftp.yml | 38 ++++++----------- fixtures/sftp/test_ssh_key | 49 ++++++++++++++++++++++ fixtures/sftp/test_ssh_key.pub | 1 + 7 files changed, 88 insertions(+), 99 deletions(-) diff --git a/.github/services/sftp/sftp/action.yml b/.github/services/sftp/sftp/action.yml index d4e5ace81..b15007914 100644 --- a/.github/services/sftp/sftp/action.yml +++ b/.github/services/sftp/sftp/action.yml @@ -21,16 +21,10 @@ description: 'Behavior test for SFTP' runs: using: "composite" steps: - - name: Setup sftp + - name: Setup Sftp shell: bash - run: | - mkdir -p target/ssh - ssh-keygen -t rsa -b 4096 -f target/ssh/id_rsa -q -N "" < /dev/null - docker run \ - -v `pwd`/target/ssh/id_rsa.pub:/home/foo/.ssh/keys/id_rsa.pub:ro \ - --ulimit nofile=65536:65536 \ - -p 2222:22 -d atmoz/sftp \ - foo::::upload + working-directory: fixtures/sftp + run: docker-compose -f docker-compose-sftp.yml up -d - name: Setup shell: bash run: | @@ -38,6 +32,6 @@ runs: OPENDAL_SFTP_ENDPOINT=ssh://127.0.0.1:2222 OPENDAL_SFTP_ROOT=/upload/sftp_test/ OPENDAL_SFTP_USER=foo - OPENDAL_SFTP_KEY=${{ github.workspace }}/target/ssh/id_rsa + OPENDAL_SFTP_KEY=${{ github.workspace }}/fixtures/sftp/test_ssh_key OPENDAL_SFTP_KNOWN_HOSTS_STRATEGY=accept EOF diff --git a/.github/services/sftp/sftp_with_default_root/action.yml b/.github/services/sftp/sftp_with_default_root/action.yml index a676f67a7..bb2536c8d 100644 --- a/.github/services/sftp/sftp_with_default_root/action.yml +++ b/.github/services/sftp/sftp_with_default_root/action.yml @@ -21,27 +21,17 @@ description: 'Behavior test for SFTP with default root' runs: using: "composite" steps: - - name: Setup sftp + - name: Setup Sftp shell: bash - run: | - mkdir -p target/ssh - ssh-keygen -t rsa -b 4096 -f target/ssh/id_rsa -q -N "" < /dev/null - tmpScript="$(mktemp)" - echo "sed -i -e 's#ForceCommand internal-sftp#ForceCommand internal-sftp -d /upload#' /etc/ssh/sshd_config" > "$tmpScript" - chmod +x "$tmpScript" - docker run \ - -v "$tmpScript:/etc/sftp.d/change_root_dir" \ - -v `pwd`/target/ssh/id_rsa.pub:/home/foo/.ssh/keys/id_rsa.pub:ro \ - --ulimit nofile=65536:65536 \ - -p 2222:22 -d atmoz/sftp \ - foo::::upload + working-directory: fixtures/sftp + run: docker-compose -f docker-compose-sftp-with-default-root.yml up -d - name: Setup shell: bash run: | cat << EOF >> $GITHUB_ENV OPENDAL_SFTP_ENDPOINT=ssh://127.0.0.1:2222 OPENDAL_SFTP_USER=foo - OPENDAL_SFTP_KEY=${{ github.workspace }}/target/ssh/id_rsa + OPENDAL_SFTP_KEY=${{ github.workspace }}/fixture/sftp/test_ssk_key OPENDAL_SFTP_KNOWN_HOSTS_STRATEGY=accept OPENDAL_DISABLE_RANDOM_ROOT=true EOF diff --git a/.github/services/sftp/sftp/action.yml b/fixtures/sftp/change_root_dir.sh similarity index 50% copy from .github/services/sftp/sftp/action.yml copy to fixtures/sftp/change_root_dir.sh index d4e5ace81..39c6c0754 100644 --- a/.github/services/sftp/sftp/action.yml +++ b/fixtures/sftp/change_root_dir.sh @@ -1,3 +1,4 @@ +#!/bin/bash # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information @@ -15,29 +16,6 @@ # specific language governing permissions and limitations # under the License. -name: sftp -description: 'Behavior test for SFTP' +set -e -runs: - using: "composite" - steps: - - name: Setup sftp - shell: bash - run: | - mkdir -p target/ssh - ssh-keygen -t rsa -b 4096 -f target/ssh/id_rsa -q -N "" < /dev/null - docker run \ - -v `pwd`/target/ssh/id_rsa.pub:/home/foo/.ssh/keys/id_rsa.pub:ro \ - --ulimit nofile=65536:65536 \ - -p 2222:22 -d atmoz/sftp \ - foo::::upload - - name: Setup - shell: bash - run: | - cat << EOF >> $GITHUB_ENV - OPENDAL_SFTP_ENDPOINT=ssh://127.0.0.1:2222 - OPENDAL_SFTP_ROOT=/upload/sftp_test/ - OPENDAL_SFTP_USER=foo - OPENDAL_SFTP_KEY=${{ github.workspace }}/target/ssh/id_rsa - OPENDAL_SFTP_KNOWN_HOSTS_STRATEGY=accept - EOF +sed -i -e 's#ForceCommand internal-sftp#ForceCommand internal-sftp -d /upload#' /etc/ssh/sshd_config diff --git a/.github/services/sftp/sftp/action.yml b/fixtures/sftp/docker-compose-sftp-with-default-root.yml similarity index 50% copy from .github/services/sftp/sftp/action.yml copy to fixtures/sftp/docker-compose-sftp-with-default-root.yml index d4e5ace81..e24b98083 100644 --- a/.github/services/sftp/sftp/action.yml +++ b/fixtures/sftp/docker-compose-sftp-with-default-root.yml @@ -15,29 +15,18 @@ # specific language governing permissions and limitations # under the License. -name: sftp -description: 'Behavior test for SFTP' +version: '3.8' -runs: - using: "composite" - steps: - - name: Setup sftp - shell: bash - run: | - mkdir -p target/ssh - ssh-keygen -t rsa -b 4096 -f target/ssh/id_rsa -q -N "" < /dev/null - docker run \ - -v `pwd`/target/ssh/id_rsa.pub:/home/foo/.ssh/keys/id_rsa.pub:ro \ - --ulimit nofile=65536:65536 \ - -p 2222:22 -d atmoz/sftp \ - foo::::upload - - name: Setup - shell: bash - run: | - cat << EOF >> $GITHUB_ENV - OPENDAL_SFTP_ENDPOINT=ssh://127.0.0.1:2222 - OPENDAL_SFTP_ROOT=/upload/sftp_test/ - OPENDAL_SFTP_USER=foo - OPENDAL_SFTP_KEY=${{ github.workspace }}/target/ssh/id_rsa - OPENDAL_SFTP_KNOWN_HOSTS_STRATEGY=accept - EOF +services: + sftp: + image: atmoz/sftp + ports: + - "2222:22" + volumes: + - ./change_root_dir.sh:/etc/sftp.d/change_root_dir + - ./test_ssh_key.pub:/home/foo/.ssh/keys/id_rsa.pub:ro + ulimits: + nofile: + soft: 65536 + hard: 65536 + command: foo::::upload diff --git a/.github/services/sftp/sftp/action.yml b/fixtures/sftp/docker-compose-sftp.yml similarity index 50% copy from .github/services/sftp/sftp/action.yml copy to fixtures/sftp/docker-compose-sftp.yml index d4e5ace81..3e6c74db1 100644 --- a/.github/services/sftp/sftp/action.yml +++ b/fixtures/sftp/docker-compose-sftp.yml @@ -15,29 +15,17 @@ # specific language governing permissions and limitations # under the License. -name: sftp -description: 'Behavior test for SFTP' +version: '3.8' -runs: - using: "composite" - steps: - - name: Setup sftp - shell: bash - run: | - mkdir -p target/ssh - ssh-keygen -t rsa -b 4096 -f target/ssh/id_rsa -q -N "" < /dev/null - docker run \ - -v `pwd`/target/ssh/id_rsa.pub:/home/foo/.ssh/keys/id_rsa.pub:ro \ - --ulimit nofile=65536:65536 \ - -p 2222:22 -d atmoz/sftp \ - foo::::upload - - name: Setup - shell: bash - run: | - cat << EOF >> $GITHUB_ENV - OPENDAL_SFTP_ENDPOINT=ssh://127.0.0.1:2222 - OPENDAL_SFTP_ROOT=/upload/sftp_test/ - OPENDAL_SFTP_USER=foo - OPENDAL_SFTP_KEY=${{ github.workspace }}/target/ssh/id_rsa - OPENDAL_SFTP_KNOWN_HOSTS_STRATEGY=accept - EOF +services: + sftp: + image: atmoz/sftp + ports: + - 2222:22 + volumes: + - ./test_ssh_key.pub:/home/foo/.ssh/keys/id_rsa.pub:ro + ulimits: + nofile: + soft: 65536 + hard: 65536 + command: foo::::upload diff --git a/fixtures/sftp/test_ssh_key b/fixtures/sftp/test_ssh_key new file mode 100644 index 000000000..c84056ec6 --- /dev/null +++ b/fixtures/sftp/test_ssh_key @@ -0,0 +1,49 @@ +-----BEGIN OPENSSH PRIVATE KEY----- +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 +-----END OPENSSH PRIVATE KEY----- diff --git a/fixtures/sftp/test_ssh_key.pub b/fixtures/sftp/test_ssh_key.pub new file mode 100644 index 000000000..d7b5df280 --- /dev/null +++ b/fixtures/sftp/test_ssh_key.pub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDsMyMIyiqIngNUnl/zM232vAVrd2Cz4kAKryTN0oQPt5uNb9WF9+5pVw7VF/eyPwdd+dcELic283Gxm2z6ncCau1gI60hXpezopWB3PidVZDAe7lWWE9fUdm7b6qoLRJr310y+vDLXz8fQNznl0/molwbyC2B4PBPzqlbn8XmDn6pD0YJMC8JaqpoXtZnreGudtWukpc4J06k3BYSMcBP11cZy/Y+pim3IMDjzs5FA7x0LwwBQ2kD9aqd1DqZQe6Ga/k73JCoy3kFhRuInpDQZLObVkl0aLRfH8yUR+P0Nhzo99OAB03hzh7f+io10gg8zUHxO7rml93lcdg8uT+XC/fRmEjNKBlHf6TWBrPWy2a4xDSjkq95KyeXbabNSeygfFLk9nFGIo1xZwyGs1FLQE6hOrqWYFdokxeBC+i2vpIIHhgWY0VDmnIAJ23P5dqhds/yF [...]
