Skip to content

CLI Tool Install Guide

ByoungSeob Kim edited this page Sep 20, 2024 · 17 revisions

CB-Spider CLI spctl Install Guide


* 본 가이드는 CB-Spider CLI 도구 spctl의 설치 방법을 제공한다.
* 본 가이드는 Ubuntu 20.04.2 LTS 또는 Ubuntu 22.04.2 LTS 중심으로 시험 되었다.

1. 서버 가동

2. CLI 빌드

cd $CBSPIDER_ROOT/cli; make;

3. CLI 실행

cd $CBSPIDER_ROOT/cli; ./spctl;

4. CLI 활용

  • spctl 설치 위치로 이동
    cd $CBSPIDER_ROOT/cli;
    
  • version 확인(-v, --version)
    ./spctl -v
    
    Version:    v0.9.4-70
    Commit SHA: 1740b5e3
    Build Time: Fri Sep 20 16:43:02 KST 2024
    
  • help 출력(-h, --help 또는 무옵션 가능)
    ./spctl
    
  • 서브명령어 help 출력
    ./spctl vpc -h
    
  • 서버점검
    ./spctl check-readyz health
    
    {
      "message": "CB-Spider is ready"
    }
    
  • 연동 가능한 CSP 목록 출력
    ./spctl cloudos list
    
    {
      "cloudos": [
        "AWS",
        "AZURE",
        "GCP",
        "ALIBABA",
        "TENCENT",
        "IBM",
        "OPENSTACK",
        "NCP",
        "NCPVPC",
        "NHNCLOUD",
        "KTCLOUD",
        "KTCLOUDVPC",
        "MOCK"
      ]
    }
    
  • 등록한 클라우드 연결 설정 목록 출력
    ./spctl 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:
  -s, --server string   Spider server URL (default "localhost:1024")

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 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"
            }
          ]
        }
      }'

Table of contents



Clone this wiki locally