Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add remote file transfer feature #1821

Merged
merged 1 commit into from
Sep 20, 2024
Merged

Conversation

seokho-son
Copy link
Member

SCP(SSH) 기반의 원격 파일 전송 기능 추가

목적

  • Cloud-Migrator 지원 기능
  • 소스의 SW의 설정 파일 등을 목표 인프라로 전송(중계)해주는 보조 기능
    • 대용량 파일/DB 덤프 전송하기 위한 기능 아님
    • 파일 예시 (*.yaml, *.json, ENV, *.sh, *.py, …)

방식

  • 중계 전송 방식
    • 사용자 -> CB-TB: REST API 기반 파일 업로드 (multipart/form-data)
    • CB-TB: 파일 임시 저장 (메모리)
    • CB-TB -> 목표 인프라: SSH 프로토콜 기반 파일 전송 (SCP)

제한 및 제약

  • 최대 파일 크기 10MB (보안 및 안정성을 위해 제한함)
  • 편의를 위한 최소 기능이며, 추가적인 자동화나 관리 기능을 제공하지 않음.
  • OS 다양성 등을 지원하지 않음 (현: Linux만 지원)

API

  • POST: /ns/{nsId}/transferFile/mci/{mciId}

예시

curl -X 'POST' \
  'http://localhost:1323/tumblebug/ns/default/transferFile/mci/mc-zy6w8?subGroupId=g1&vmId=g1-1' \
  -H 'accept: application/json' \
  -H 'Content-Type: multipart/form-data' \
  -H 'Authorization: Basic ZGVmYXVsdDpkZWZhdWx0' \
  -F 'path=/home/cb-user/' \
  -F 'file=@240919-과제-Todolist.pdf;type=application/pdf'

(Swagger Dashboard로 파일 첨부 가능)
image

image

@seokho-son
Copy link
Member Author

/approve

@github-actions github-actions bot added the approved This PR is approved and will be merged soon. label Sep 20, 2024
@cb-github-robot cb-github-robot merged commit ef758c6 into cloud-barista:main Sep 20, 2024
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved This PR is approved and will be merged soon.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants