CLI Tool Install Guide - cloud-barista/cb-spider GitHub Wiki

CB-Spider CLI spctl Install Guide


* λ³Έ κ°€μ΄λ“œλŠ” CB-Spider CLI 도ꡬ spctl의 μ„€μΉ˜ 방법을 μ œκ³΅ν•©λ‹ˆλ‹€.
* λ³Έ κ°€μ΄λ“œλŠ” Ubuntu 24.04 μ€‘μ‹¬μœΌλ‘œ μ‹œν—˜ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

1. μ„œλ²„ 가동

인증 μ„€μ •: μ„œλ²„ 가동 μ „ setup.envμ—μ„œ SPIDER_USERNAMEκ³Ό SPIDER_PASSWORDλ₯Ό λ°˜λ“œμ‹œ μ„€μ •ν•΄μ•Ό ν•©λ‹ˆλ‹€.
λ―Έμ„€μ • μ‹œ μ„œλ²„κ°€ μ‹œμž‘λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 운영 ν™˜κ²½μ—μ„œλŠ” κΈ°λ³Έ λΉ„λ°€λ²ˆν˜Έλ₯Ό λ°˜λ“œμ‹œ λ³€κ²½ν•˜μ„Έμš”.

2. CLI λΉŒλ“œ

cd $CBSPIDER_ROOT/cli; make;

3. CLI μ‹€ν–‰

cd $CBSPIDER_ROOT/cli; ./spctl;

4. 인증 μ„€μ •

CLIμ—μ„œ APIλ₯Ό ν˜ΈμΆœν•˜λ €λ©΄ 인증 정보가 ν•„μš”ν•©λ‹ˆλ‹€. 두 κ°€μ§€ λ°©λ²•μœΌλ‘œ μ œκ³΅ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

  • 방법 1: ν™˜κ²½λ³€μˆ˜ μ„€μ • (ꢌμž₯)

    export SPIDER_USERNAME=admin
    export SPIDER_PASSWORD=your-password
    
  • 방법 2: λͺ…λ Ήμ–΄ ν”Œλž˜κ·Έ μ‚¬μš©

    ./spctl -u admin -p your-password connection list
    

    ν”Œλž˜κ·Έ(-u, -p)κ°€ ν™˜κ²½λ³€μˆ˜λ³΄λ‹€ μš°μ„ ν•©λ‹ˆλ‹€.

5. CLI ν™œμš©

  • spctl μ„€μΉ˜ μœ„μΉ˜λ‘œ 이동
    cd $CBSPIDER_ROOT/cli;
    
  • version 확인(-v, --version)
    ./spctl -v
    
    Version:    v0.12.5-29
    Commit SHA: cc8e6709
    Build Time: Sun Feb 15 22:25:02 KST 2026
    
  • help 좜λ ₯(-h, --help λ˜λŠ” λ¬΄μ˜΅μ…˜ κ°€λŠ₯)
    ./spctl
    
  • μ„œλΈŒλͺ…λ Ήμ–΄ help 좜λ ₯
    ./spctl vpc -h
    
  • μ„œλ²„μ κ²€
    ./spctl check-readyz health
    
    {
      "message": "CB-Spider is ready"
    }
    
  • 연동 κ°€λŠ₯ν•œ CSP λͺ©λ‘ 좜λ ₯
    ./spctl -u admin -p your-password cloudos list
    
    {
      "cloudos": [
        "AWS",
        "AZURE",
        "GCP",
        "ALIBABA",
        "TENCENT",
        "IBM",
        "OPENSTACK",
        "NCP",
        "NHN",
        "KT",
        "KTCLASSIC",
        "MOCK"
      ]
    }
    
  • λ“±λ‘ν•œ ν΄λΌμš°λ“œ μ—°κ²° μ„€μ • λͺ©λ‘ 좜λ ₯
    ./spctl -u admin -p your-password connection list
    
    {
      "connectionconfig": [
        {
          "ConfigName": "aws-ap-northeast-2_ap-northeast-2a-credential-gyd",
          "CredentialName": "aws-credential-gyd",
          "DriverName": "aws-driver-v1.0",
          "ProviderName": "AWS",
          "RegionName": "aws_ap-northeast-2_ap-northeast-2a"
        },
        {
          "ConfigName": "gcp-asia-south2_asia-south2-a-credential-dbt",
          "CredentialName": "gcp-credential-dbt",
          "DriverName": "gcp-driver-v1.0",
          "ProviderName": "GCP",
          "RegionName": "gcp_asia-south2_asia-south2-a"
        },
        ...
    

β€» μ°Έκ³ : μžμ›λ³„ μƒμ„±μ‹œ ν•„μš”ν•œ json μž…λ ₯ 확인 방법

  • μ˜ˆμ‹œ: VPC 생성
./spctl vpc create
Usage:
  spctl vpc create [flags]

Flags:
  -d, --data string   JSON Body/Form parameter: VPCCreateRequest
  -h, --help          help for create

Global Flags:
  -p, --password string   API password (default: $SPIDER_PASSWORD)
  -s, --server string     Spider server URL (default "localhost:1024")
  -u, --username string   API username (default: $SPIDER_USERNAME)

Examples:
    Example JSON for VPCCreateRequest with all fields:
    '{
        "ConnectionName": "aws-connection",
        "IDTransformMode": "ON",
        "ReqInfo": {
          "IPv4_CIDR": "10.0.0.0/16",
          "Name": "vpc-01",
          "SubnetInfoList": [
            {
              "IPv4_CIDR": "10.0.8.0/22",
              "Name": "subnet-01",
              "TagList": [
                {
                  "Key": "key1",
                  "Value": "value1"
                }
              ],
              "Zone": "us-east-1b"
            }
          ],
          "TagList": [
            {
              "Key": "key1",
              "Value": "value1"
            }
          ]
        }
      }'

    Example JSON for VPCCreateRequest with required fields only:
    '{
        "ConnectionName": "aws-connection",
        "ReqInfo": {
          "IPv4_CIDR": "10.0.0.0/16",
          "Name": "vpc-01",
          "SubnetInfoList": [
            {
              "IPv4_CIDR": "10.0.8.0/22",
              "Name": "subnet-01"
            }
          ]
        }
      }'
  • VPC 생성 λͺ…령에 ν™œμš©
$ spctl -u admin -p your-password vpc create -d '{
        "ConnectionName": "aws-connection",
        "ReqInfo": {
          "IPv4_CIDR": "10.0.0.0/16",
          "Name": "vpc-01",
          "SubnetInfoList": [
            {
              "IPv4_CIDR": "10.0.8.0/22",
              "Name": "subnet-01"
            }
          ]
        }
      }'