diff --git a/cmd/docker/log.go b/cmd/docker/log.go new file mode 100644 index 0000000..40b1c3f --- /dev/null +++ b/cmd/docker/log.go @@ -0,0 +1,25 @@ +package docker + +import ( + "fmt" + + "github.com/cm-mayfly/cm-mayfly/common" + "github.com/spf13/cobra" +) + +// pullCmd represents the pull command +var logCmd = &cobra.Command{ + Use: "logs", + Short: "View output from Cloud-Migrator system containers", + Long: `View output from Cloud-Migrator system containers`, + Run: func(cmd *cobra.Command, args []string) { + fmt.Println("\n[View output from Cloud-Migrator system containers.]") + cmdStr := fmt.Sprintf("COMPOSE_PROJECT_NAME=%s docker compose -f %s logs --follow %s", ProjectName, DockerFilePath, ServiceName) + //fmt.Println(cmdStr) + common.SysCall(cmdStr) + }, +} + +func init() { + dockerCmd.AddCommand(logCmd) +} diff --git a/cmd/rest/get.go b/cmd/rest/get.go index d4b15c5..f9c5fd8 100644 --- a/cmd/rest/get.go +++ b/cmd/rest/get.go @@ -2,6 +2,7 @@ package rest import ( "fmt" + "os" "github.com/spf13/cobra" ) @@ -35,11 +36,13 @@ var restGetCmd = &cobra.Command{ resp, err := req.Get(url) if err != nil { fmt.Println("Error:", err) - return + os.Exit(1) + //return } // 응답 출력 ProcessResultInfo(resp) + ProcessOsExitcode(resp) // for docker compose healthy check }, } diff --git a/cmd/rest/root.go b/cmd/rest/root.go index 96828a3..4487e82 100644 --- a/cmd/rest/root.go +++ b/cmd/rest/root.go @@ -6,6 +6,7 @@ package rest import ( "fmt" "io/ioutil" + "os" "strings" @@ -71,6 +72,9 @@ var restCmd = &cobra.Command{ //fmt.Println("============ REST 메인 호출됨!!!! ") fmt.Println(cmd.Help()) // root.go에서는 도움말만 출력 함. }, + + // PersistentPostRun: func(cmd *cobra.Command, args []string) { + // }, } func SetBasicAuth() { @@ -164,6 +168,18 @@ func ProcessResultInfo(resp *resty.Response) { } } +// Handles OS exit code for docker-compose's healthy checks. +func ProcessOsExitcode(resp *resty.Response) { + // Checking response status codes + if resp.StatusCode() != 200 { + if isVerbose { + fmt.Fprintf(os.Stderr, "Received non-200 response: %d\n", resp.StatusCode()) + } + exitCode := resp.StatusCode() / 100 // First digit (2xx, 3xx, 4xx, 5xx) + os.Exit(exitCode) // One of 0, 3, 4, or 5 + } +} + func ShowTraceInfo(resp *resty.Response) { // Explore trace info fmt.Println("Request Trace Info:") diff --git a/conf/docker/conf/cm-butterfly/api/conf/api.yaml b/conf/docker/conf/cm-butterfly/api/conf/api.yaml deleted file mode 100644 index df9d098..0000000 --- a/conf/docker/conf/cm-butterfly/api/conf/api.yaml +++ /dev/null @@ -1,1747 +0,0 @@ -cliSpecVersion: v1 -# Service Definitions (Framework Server Basic informations) -services: - cb-spider: #service name - version: 0.9.4 - baseurl: http://cb-spider:1024/spider # baseurl is Scheme + Host + Base Path - auth: #If you need an authentication method, describe the type and username and password in the sub - type: basic - username: - password: - - cb-tumblebug: - version: 0.9.12 - baseurl: http://cb-tumblebug:1323/tumblebug - auth: - type: basic - username: default - password: default - - cm-beetle: - version: 0.2.2 - baseurl: http://cm-beetle:8056/beetle - auth: - - cm-ant: - version: 0.2.2 - baseurl: http://cm-ant:8880/ant - auth: - - cm-honeybee: - version: 0.2.7 - baseurl: http://cm-honeybee:8081/honeybee - auth: - - cm-cicada: - version: main - baseurl: http://cm-cicada:8083/cicada - auth: - - cm-grasshopper: - version: main - baseurl: http://cm-grasshopper:8084/grasshopper - auth: - - # sample: #none authentication method - # baseurl: http://localhost:1323/test - # auth: #none - - # sample: #basic authentication method - # baseurl: http://localhost:1323/test - # auth: - # type: "basic" - # username: "your-username" - # password: "your-password" - - # sample: #Bearer authentication method - # baseurl: http://localhost:1323/test - # auth: - # type: "bearer" - # token: "your-bearer-token-here" - - -# Define rest api actions for each of the services defined above. -# specify the DATA to use for the API in the CLI. -serviceActions: - # sample: #for sample - # #cb-spider CCIM v0.6.0 - # NormalGetAction: - # method: get - # resourcePath: /sample - # description: #Use when necessary for user understanding - # PathParamGetAction: - # method: get - # resourcePath: /sample/{param_name} - cb-spider: #service name - Get-Cluster-Owner-Vpc: - method: post - resourcePath: /getclusterowner - description: "Retrieve the owner VPC of a specified Cluster." - Unregister-Myimage: - method: delete - resourcePath: /regmyimage/{Name} - description: "Unregister a MyImage with the specified name." - List-Cluster: - method: get - resourcePath: /cluster - description: "Retrieve a list of Clusters associated with a specific connection." - Create-Cluster: - method: post - resourcePath: /cluster - description: "Create a new Cluster with specified configurations. 🕷️ [[Concept Guide](https://github.com/cloud-barista/cb-spider/wiki/Provider-Managed-Kubernetes-and-Driver-API)]
* NodeGroupList is optional, depends on CSP type:
 - Type-I (e.g., Tencent, Alibaba): requires separate Node Group addition after Cluster creation.
 - Type-II (e.g., Azure, NHN): mandates at least one Node Group during initial Cluster creation." - Count-Myimages-By-Connection: - method: get - resourcePath: /countmyimage/{ConnectionName} - description: "Get the total number of MyImages for a specific connection." - List-Vm: - method: get - resourcePath: /vm - description: "Retrieve a list of Virtual Machines (VMs) associated with a specific connection." - Start-Vm: - method: post - resourcePath: /vm - description: "Start a new Virtual Machine (VM) with specified configurations. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/features-and-usages#2-%EB%A9%80%ED%8B%B0%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-vm-%EC%9D%B8%ED%94%84%EB%9D%BC-%EC%9E%90%EC%9B%90-%EC%A0%9C%EC%96%B4multi-cloud-vm-infra-resource-control)], [[Snapshot-MyImage,Disk Guide](https://github.com/cloud-barista/cb-spider/wiki/VM-Snapshot,-MyImage-and-Disk-Overview)]" - Unregister-Key: - method: delete - resourcePath: /regkeypair/{Name} - description: "Unregister a KeyPair with the specified name." - Get-Vm: - method: get - resourcePath: /vm/{Name} - description: "Retrieve details of a specific Virtual Machine (VM)." - Terminate-Vm: - method: delete - resourcePath: /vm/{Name} - description: "Terminate a specified Virtual Machine (VM)." - List-All-Vpc: - method: get - resourcePath: /allvpc - description: "Retrieve a comprehensive list of all Virtual Private Clouds (VPCs) associated with a specific connection,
including those mapped between CB-Spider and the CSP,
only registered in CB-Spider's metadata,
and only existing in the CSP." - Get-Cloudos-Metainfo: - method: get - resourcePath: /cloudos/metainfo/{CloudOSName} - description: "Retrieve metadata information for a specific Cloud OS." - Get-Sg-Owner-Vpc: - method: post - resourcePath: /getsecuritygroupowner - description: "Retrieve the owner VPC of a specified Security Group." - Get-Vm-Spec: - method: get - resourcePath: /vmspec/{Name} - description: "Retrieve details of a specific VM spec. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/features-and-usages#2-vm-spec-%EC%A0%95%EB%B3%B4-%EC%A0%9C%EA%B3%B5)]" - Increase-Disk-Size: - method: put - resourcePath: /disk/{Name}/size - description: "Increase the size of an existing disk." - Get-Region: - method: get - resourcePath: /region/{RegionName} - description: "Retrieve details of a specific Region." - Unregister-Region: - method: delete - resourcePath: /region/{RegionName} - description: "Unregister a specific Region." - Register-Myimage: - method: post - resourcePath: /regmyimage - description: "Register a new MyImage with the specified name and CSP ID." - Unregister-Securitygroup: - method: delete - resourcePath: /regsecuritygroup/{Name} - description: "Unregister a Security Group with the specified name." - Register-Vm: - method: post - resourcePath: /regvm - description: "Register a new Virtual Machine (VM) with the specified name and CSP ID." - Add-Nodegroup: - method: post - resourcePath: /cluster/{Name}/nodegroup - description: "Add a new Node Group to an existing Cluster." - Count-All-Vms: - method: get - resourcePath: /countvm - description: "Get the total number of Virtual Machines (VMs) across all connections." - Add-Nlb-Vms: - method: post - resourcePath: /nlb/{Name}/vms - description: "Add a new set of VMs to an existing Network Load Balancer (NLB)." - Remove-Nlb-Vms: - method: delete - resourcePath: /nlb/{Name}/vms - description: "Remove a set of VMs from an existing Network Load Balancer (NLB)." - Health-Check-Readyz: - method: get - resourcePath: /readyz - description: "Checks the health of CB-Spider service and its dependencies via /readyz endpoint. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/Readiness-Check-Guide)]" - Remove-Nodegroup: - method: delete - resourcePath: /cluster/{Name}/nodegroup/{NodeGroupName} - description: "Remove an existing Node Group from a Cluster." - Delete-Disk: - method: delete - resourcePath: /disk/{Name} - description: "Delete a specified Disk." - Get-Disk: - method: get - resourcePath: /disk/{Name} - description: "Retrieve details of a specific Disk." - List-Vpc: - method: get - resourcePath: /vpc - description: "Retrieve a list of Virtual Private Clouds (VPCs) associated with a specific connection." - Create-Vpc: - method: post - resourcePath: /vpc - description: "Create a new Virtual Private Cloud (VPC) with specified subnet configurations. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/features-and-usages#3-vpcsubnet-%EC%83%9D%EC%84%B1-%EB%B0%8F-%EC%A0%9C%EC%96%B4)]" - Get-Vmgroup-Healthinfo: - method: get - resourcePath: /nlb/{Name}/health - description: "Retrieve the health information of the VM group in a specified Network Load Balancer (NLB)." - Get-Region-Zone: - method: get - resourcePath: /regionzone/{Name} - description: "Retrieve details of a specific Region Zone. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/REST-API-Region-Zone-Information-Guide)]" - Detach-Disk: - method: put - resourcePath: /disk/{Name}/detach - description: "Detach an existing Disk from a VM." - Register-Key: - method: post - resourcePath: /regkeypair - description: "Register a new KeyPair with the specified name and CSP ID." - List-Disk: - method: get - resourcePath: /disk - description: "Retrieve a list of Disks associated with a specific connection." - Create-Disk: - method: post - resourcePath: /disk - description: "Create a new Disk with the specified configuration. 🕷️ [[Concept Guide](https://github.com/cloud-barista/cb-spider/wiki/Disk-and-Driver-API)], [[Snapshot-MyImage,Disk Guide](https://github.com/cloud-barista/cb-spider/wiki/VM-Snapshot,-MyImage-and-Disk-Overview)]" - Get-Key: - method: get - resourcePath: /keypair/{Name} - description: "Retrieve details of a specific KeyPair." - Delete-Key: - method: delete - resourcePath: /keypair/{Name} - description: "Delete a specified KeyPair." - List-All-Cluster: - method: get - resourcePath: /allcluster - description: "Retrieve a comprehensive list of all Clusters associated with a specific connection,
including those mapped between CB-Spider and the CSP,
only registered in CB-Spider's metadata,
and only existing in the CSP." - Control-Vm: - method: put - resourcePath: /controlvm/{Name} - description: "Control the state of a Virtual Machine (VM) such as suspend, resume, or reboot." - Any-Call: - method: post - resourcePath: /anycall - description: "Execute a custom function (FID) with key-value parameters through AnyCall. 🕷️ [[Development Guide](https://github.com/cloud-barista/cb-spider/wiki/AnyCall-API-Extension-Guide)]" - Count-All-Keys: - method: get - resourcePath: /countkeypair - description: "Get the total number of KeyPairs across all connections." - Delete-Csp-Securitygroup: - method: delete - resourcePath: /cspsecuritygroup/{Id} - description: "Delete a specified CSP Security Group." - List-Org-Region: - method: get - resourcePath: /orgregion - description: "Retrieve a list of Original Regions associated with a specific connection.
The response structure may vary depending on the request ConnectionName." - List-Region-Zone-Preconfig: - method: get - resourcePath: /preconfig/regionzone - description: "Retrieve a list of pre-configured Region Zones based on driver and credential names. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/REST-API-Region-Zone-Information-Guide)]" - Unregister-Subnet: - method: delete - resourcePath: /regsubnet/{Name} - description: "Unregister a Subnet from a specified VPC." - List-All-Vm: - method: get - resourcePath: /allvm - description: "Retrieve a comprehensive list of all Virtual Machines (VMs) associated with a specific connection,
including those mapped between CB-Spider and the CSP,
only registered in CB-Spider's metadata,
and only existing in the CSP." - Count-All-Clusters: - method: get - resourcePath: /countcluster - description: "Get the total number of Clusters across all connections." - Count-Connections-By-Provider: - method: get - resourcePath: /countconnectionconfig/{ProviderName} - description: "Get the total number of connections for a specific provider." - List-Product-Family: - method: get - resourcePath: /productfamily/{RegionName} - description: "Retrieve a list of Product Families associated with a specific connection and region. 🕷️ [[Concept Guide](https://github.com/cloud-barista/cb-spider/wiki/Price-Info-and-Cloud-Driver-API)], 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/RestAPI-Multi%E2%80%90Cloud-Price-Information-Guide)]" - Upgrade-Cluster: - method: put - resourcePath: /cluster/{Name}/upgrade - description: "Upgrade a Cluster to a specified version." - List-Connection-Configs: - method: get - resourcePath: /connectionconfig - description: "Retrieve a list of registered Connection Configs." - Create-Connection-Config: - method: post - resourcePath: /connectionconfig - description: "Create a new Connection Config. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/features-and-usages#4-cloud-connection-configuration-%EC%A0%95%EB%B3%B4-%EB%93%B1%EB%A1%9D-%EB%B0%8F-%EA%B4%80%EB%A6%AC)]" - Get-Region-Zone-Preconfig: - method: get - resourcePath: /preconfig/regionzone/{Name} - description: "Retrieve details of a specific pre-configured Region Zone based on driver and credential names. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/REST-API-Region-Zone-Information-Guide)]" - Get-Price-Info: - method: post - resourcePath: /priceinfo/{ProductFamily}/{RegionName} - description: "Retrieve price details of a specific Product Family in a specific Region. 🕷️ [[Concept Guide](https://github.com/cloud-barista/cb-spider/wiki/Price-Info-and-Cloud-Driver-API)], 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/RestAPI-Multi%E2%80%90Cloud-Price-Information-Guide)]
* example body: {\"connectionName\":\"aws-connection\",\"FilterList\":[{\"Key\":\"instanceType\",\"Value\":\"t2.micro\"}]}" - Register-Nlb: - method: post - resourcePath: /regnlb - description: "Register a new Network Load Balancer (NLB) with the specified name and CSP ID." - Get-Org-Vm-Spec: - method: get - resourcePath: /vmorgspec/{Name} - description: "Retrieve details of a specific Original VM Spec." - Count-Disks-By-Connection: - method: get - resourcePath: /countdisk/{ConnectionName} - description: "Get the total number of Disks for a specific connection." - Attach-Disk: - method: put - resourcePath: /disk/{Name}/attach - description: "Attach an existing Disk to a VM." - Register-Vpc: - method: post - resourcePath: /regvpc - description: "Register a new Virtual Private Cloud (VPC) with the specified name and CSP ID." - List-Image: - method: get - resourcePath: /vmimage - description: "Retrieve a list of Public Images associated with a specific connection. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/How-to-get-Image-List-with-REST-API)]" - Set-Nodegroup-Autoscaling: - method: put - resourcePath: /cluster/{Name}/nodegroup/{NodeGroupName}/onautoscaling - description: "Enable or disable auto scaling for a Node Group in a Cluster." - Health-Check-Ping: - method: get - resourcePath: /ping - description: "Checks the health of CB-Spider service and its dependencies via /ping endpoint. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/Readiness-Check-Guide)]" - List-Cloud-Drivers: - method: get - resourcePath: /driver - description: "Retrieve a list of registered Cloud Drivers." - Register-Cloud-Driver: - method: post - resourcePath: /driver - description: "Register a new Cloud Driver. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/features-and-usages#1-cloud-driver-%EC%A0%95%EB%B3%B4-%EB%93%B1%EB%A1%9D-%EB%B0%8F-%EA%B4%80%EB%A6%AC)]" - Unregister-Cluster: - method: delete - resourcePath: /regcluster/{Name} - description: "Unregister a Cluster with the specified name." - List-Myimage: - method: get - resourcePath: /myimage - description: "Retrieve a list of MyImages associated with a specific connection." - Snapshot-Vm: - method: post - resourcePath: /myimage - description: "Create a new MyImage snapshot from a specified VM. 🕷️ [[Concept Guide](https://github.com/cloud-barista/cb-spider/wiki/MyImage-and-Driver-API)], [[Snapshot-MyImage,Disk Guide](https://github.com/cloud-barista/cb-spider/wiki/VM-Snapshot,-MyImage-and-Disk-Overview)]" - Delete-Vpc: - method: delete - resourcePath: /vpc/{Name} - description: "Delete a specified Virtual Private Cloud (VPC)." - Get-Vpc: - method: get - resourcePath: /vpc/{Name} - description: "Retrieve details of a specific Virtual Private Cloud (VPC)." - Count-All-Vpcs: - method: get - resourcePath: /countvpc - description: "Get the total number of VPCs across all connections." - Delete-Csp-Nlb: - method: delete - resourcePath: /cspnlb/{Id} - description: "Delete a specified CSP Network Load Balancer (NLB)." - Count-All-Connections: - method: get - resourcePath: /countconnectionconfig - description: "Get the total number of connections." - Count-All-Myimages: - method: get - resourcePath: /countmyimage - description: "Get the total number of MyImages across all connections." - List-Preconfigured-Original-Org-Region: - method: get - resourcePath: /preconfig/orgregion - description: "Retrieve a list of pre-configured Original Regions based on driver and credential names.
The response structure may vary depending on the request DriverName and CredentialName." - Unregister-Disk: - method: delete - resourcePath: /regdisk/{Name} - description: "Unregister a Disk with the specified name." - Unregister-Nlb: - method: delete - resourcePath: /regnlb/{Name} - description: "Unregister a Network Load Balancer (NLB) with the specified name." - List-Vm-Spec: - method: get - resourcePath: /vmspec - description: "Retrieve a list of VM specs associated with a specific connection. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/features-and-usages#2-vm-spec-%EC%A0%95%EB%B3%B4-%EC%A0%9C%EA%B3%B5)]" - List-All-Key: - method: get - resourcePath: /allkeypair - description: "Retrieve a comprehensive list of all KeyPairs associated with a specific connection,
including those mapped between CB-Spider and the CSP,
only registered in CB-Spider's metadata,
and only existing in the CSP." - Count-Clusters-By-Connection: - method: get - resourcePath: /countcluster/{ConnectionName} - description: "Get the total number of Clusters for a specific connection." - Count-All-Disks: - method: get - resourcePath: /countdisk - description: "Get the total number of Disks across all connections." - Count-Vpcs-By-Connection: - method: get - resourcePath: /countvpc/{ConnectionName} - description: "Get the total number of VPCs for a specific connection." - Register-Subnet: - method: post - resourcePath: /regsubnet - description: "Register a new Subnet within a specified VPC." - Add-Rules-Securitygroup: - method: post - resourcePath: /securitygroup/{SGName}/rules - description: "Add new rules to a Security Group." - Remove-Rules-Securitygroup: - method: delete - resourcePath: /securitygroup/{SGName}/rules - description: "Remove existing rules from a Security Group." - Remove-Subnet: - method: delete - resourcePath: /vpc/{VPCName}/subnet/{SubnetName} - description: "Remove an existing Subnet from a VPC." - List-All-Disk: - method: get - resourcePath: /alldisk - description: "Retrieve a comprehensive list of all Disks associated with a specific connection,
including those mapped between CB-Spider and the CSP,
only registered in CB-Spider's metadata,
and only existing in the CSP." - Get-Cluster: - method: get - resourcePath: /cluster/{Name} - description: "Retrieve details of a specific Cluster." - Delete-Cluster: - method: delete - resourcePath: /cluster/{Name} - description: "Delete a specified Cluster." - Unregister-Vm: - method: delete - resourcePath: /regvm/{Name} - description: "Unregister a Virtual Machine (VM) with the specified name." - List-Securitygroup: - method: get - resourcePath: /securitygroup - description: "Retrieve a list of Security Groups associated with a specific connection." - Create-Securitygroup: - method: post - resourcePath: /securitygroup - description: "Create a new Security Group with specified rules and tags. 🕷️ [[Concept Guide](https://github.com/cloud-barista/cb-spider/wiki/Security-Group-Rules-and-Driver-API)], 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/features-and-usages#4-securitygroup-%EC%83%9D%EC%84%B1-%EB%B0%8F-%EC%A0%9C%EC%96%B4)]" - Get-Credential: - method: get - resourcePath: /credential/{CredentialName} - description: "Retrieve details of a specific Credential." - Unregister-Credential: - method: delete - resourcePath: /credential/{CredentialName} - description: "Unregister a specific Credential." - List-Key: - method: get - resourcePath: /keypair - description: "Retrieve a list of KeyPairs associated with a specific connection." - Create-Key: - method: post - resourcePath: /keypair - description: "Create a new KeyPair with the specified configurations. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/features-and-usages#5-vm-keypair-%EC%83%9D%EC%84%B1-%EB%B0%8F-%EC%A0%9C%EC%96%B4)]" - Get-Nlb: - method: get - resourcePath: /nlb/{Name} - description: "Retrieve details of a specific Network Load Balancer (NLB)." - Delete-Nlb: - method: delete - resourcePath: /nlb/{Name} - description: "Delete a specified Network Load Balancer (NLB)." - Remove-Csp-Subnet: - method: delete - resourcePath: /vpc/{VPCName}/cspsubnet/{Id} - description: "Remove an existing CSP Subnet from a VPC." - List-All-Myimage: - method: get - resourcePath: /allmyimage - description: "Retrieve a comprehensive list of all MyImages associated with a specific connection,
including those mapped between CB-Spider and the CSP,
only registered in CB-Spider's metadata,
and only existing in the CSP." - Delete-Csp-Cluster: - method: delete - resourcePath: /cspcluster/{Id} - description: "Delete a specified CSP Cluster." - List-Vm-Status: - method: get - resourcePath: /vmstatus - description: "Retrieve a list of statuses for Virtual Machines (VMs) associated with a specific connection." - Count-Keys-By-Connection: - method: get - resourcePath: /countkeypair/{ConnectionName} - description: "Get the total number of KeyPairs for a specific connection." - Register-Disk: - method: post - resourcePath: /regdisk - description: "Register a new Disk with the specified name, zone, and CSP ID." - Get-Connection-Config: - method: get - resourcePath: /connectionconfig/{ConfigName} - description: "Retrieve details of a specific Connection Config." - Delete-Connection-Config: - method: delete - resourcePath: /connectionconfig/{ConfigName} - description: "Delete a specific Connection Config." - List-All-Nlb: - method: get - resourcePath: /allnlb - description: "Retrieve a comprehensive list of all Network Load Balancers (NLBs) associated with a specific connection,
including those mapped between CB-Spider and the CSP,
only registered in CB-Spider's metadata,
and only existing in the CSP." - List-Cloudos: - method: get - resourcePath: /cloudos - description: "Retrieve a list of supported Cloud OS." - Delete-Csp-Vpc: - method: delete - resourcePath: /cspvpc/{Id} - description: "Delete a specified CSP Virtual Private Cloud (VPC)." - Upload-Cloud-Driver: - method: post - resourcePath: /driver/upload - description: "Upload a Cloud Driver library file." - Get-Nlb-Owner-Vpc: - method: post - resourcePath: /getnlbowner - description: "Retrieve the owner VPC of a specified Network Load Balancer (NLB)." - Get-Securitygroup: - method: get - resourcePath: /securitygroup/{Name} - description: "Retrieve details of a specific Security Group." - Delete-Securitygroup: - method: delete - resourcePath: /securitygroup/{Name} - description: "Delete a specified Security Group." - Get-Image: - method: get - resourcePath: /vmimage/{Name} - description: "Retrieve details of a specific Public Image. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/How-to-get-Image-List-with-REST-API)]" - Count-All-Nlbs: - method: get - resourcePath: /countnlb - description: "Get the total number of Network Load Balancers (NLBs) across all connections." - Delete-Csp-Disk: - method: delete - resourcePath: /cspdisk/{Id} - description: "Delete a specified CSP Disk." - Health-Check-Healthcheck: - method: get - resourcePath: /healthcheck - description: "Checks the health of CB-Spider service and its dependencies via /healthcheck endpoint. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/Readiness-Check-Guide)]" - List-Region-Zone: - method: get - resourcePath: /regionzone - description: "Retrieve a list of Region Zones associated with a specific connection. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/REST-API-Region-Zone-Information-Guide)]" - Count-All-Subnets: - method: get - resourcePath: /countsubnet - description: "Get the total number of Subnets across all connections." - List-Credentials: - method: get - resourcePath: /credential - description: "Retrieve a list of registered Credentials." - Register-Credential: - method: post - resourcePath: /credential - description: "Register a new Credential. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/features-and-usages#2-cloud-credential-%EC%A0%95%EB%B3%B4-%EB%93%B1%EB%A1%9D-%EB%B0%8F-%EA%B4%80%EB%A6%AC)]" - Count-Nlbs-By-Connection: - method: get - resourcePath: /countnlb/{ConnectionName} - description: "Get the total number of Network Load Balancers (NLBs) for a specific connection." - Register-Securitygroup: - method: post - resourcePath: /regsecuritygroup - description: "Register a new Security Group with the specified name and CSP ID." - List-Org-Zone: - method: get - resourcePath: /orgzone - description: "Retrieve a list of Original Zones associated with a specific connection.
The response structure may vary depending on the request ConnectionName." - Get-Vm-Status: - method: get - resourcePath: /vmstatus/{Name} - description: "Retrieve the status of a specific Virtual Machine (VM)." - Delete-Csp-Key: - method: delete - resourcePath: /cspkeypair/{Id} - description: "Delete a specified CSP KeyPair." - Terminate-Csp-Vm: - method: delete - resourcePath: /cspvm/{Id} - description: "Terminate a specified CSP Virtual Machine (VM)." - Get-Csp-Vm: - method: get - resourcePath: /cspvm/{Id} - description: "Retrieve details of a specific CSP Virtual Machine (VM)." - Count-Securitygroups-By-Connection: - method: get - resourcePath: /countsecuritygroup/{ConnectionName} - description: "Get the total number of Security Groups for a specific connection." - List-All-Securitygroups: - method: get - resourcePath: /allsecuritygroup - description: "Retrieve a comprehensive list of all Security Groups associated with a specific connection,
including those mapped between CB-Spider and the CSP,
only registered in CB-Spider's metadata,
and only existing in the CSP." - Change-Nodegroup-Scaling: - method: put - resourcePath: /cluster/{Name}/nodegroup/{NodeGroupName}/autoscalesize - description: "Change the scaling settings for a Node Group in a Cluster." - List-Org-Vm-Spec: - method: get - resourcePath: /vmorgspec - description: "Retrieve a list of Original VM Specs associated with a specific connection.
The response structure may vary depending on the request ConnectionName." - Add-Subnet: - method: post - resourcePath: /vpc/{VPCName}/subnet - description: "Add a new Subnet to an existing VPC." - Register-Cluster: - method: post - resourcePath: /regcluster - description: "Register a new Cluster with the specified VPC and CSP ID." - Unregister-Vpc: - method: delete - resourcePath: /regvpc/{Name} - description: "Unregister a VPC with the specified name." - List-Regions: - method: get - resourcePath: /region - description: "Retrieve a list of registered Regions." - Register-Region: - method: post - resourcePath: /region - description: "Register a new Region. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/features-and-usages#3-cloud-regionzone-%EC%A0%95%EB%B3%B4-%EB%93%B1%EB%A1%9D-%EB%B0%8F-%EA%B4%80%EB%A6%AC)]" - Delete-Csp-Myimage: - method: delete - resourcePath: /cspmyimage/{Id} - description: "Delete a specified CSP MyImage." - List-Nlb: - method: get - resourcePath: /nlb - description: "Retrieve a list of Network Load Balancers (NLBs) associated with a specific connection." - Create-Nlb: - method: post - resourcePath: /nlb - description: "Create a new Network Load Balancer (NLB) with specified configurations. 🕷️ [[Concept Guide](https://github.com/cloud-barista/cb-spider/wiki/Network-Load-Balancer-and-Driver-API)]" - Get-Vm-Using-Rs: - method: get - resourcePath: /getvmusingresources - description: "Retrieve details of a VM using resource ID." - Health-Check-Health: - method: get - resourcePath: /health - description: "Checks the health of CB-Spider service and its dependencies via /health endpoint. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/Readiness-Check-Guide)]" - Get-Myimage: - method: get - resourcePath: /myimage/{Name} - description: "Retrieve details of a specific MyImage." - Delete-Myimage: - method: delete - resourcePath: /myimage/{Name} - description: "Delete a specified MyImage." - Count-All-Securitygroups: - method: get - resourcePath: /countsecuritygroup - description: "Get the total number of Security Groups across all connections." - Count-Subnets-By-Connection: - method: get - resourcePath: /countsubnet/{ConnectionName} - description: "Get the total number of Subnets for a specific connection." - Count-Vms-By-Connection: - method: get - resourcePath: /countvm/{ConnectionName} - description: "Get the total number of Virtual Machines (VMs) for a specific connection." - Get-Cloud-Driver: - method: get - resourcePath: /driver/{DriverName} - description: "Retrieve details of a specific Cloud Driver." - Unregister-Cloud-Driver: - method: delete - resourcePath: /driver/{DriverName} - description: "Unregister a specific Cloud Driver." - - - cb-tumblebug: - Checkhttpversion: - method: get - resourcePath: /httpVersion - description: "Checks and logs the HTTP version of the incoming request to the server console." - Removelabel: - method: delete - resourcePath: /label/{labelType}/{uid}/{key} - description: "Remove a label from a resource identified by its uid" - Getdatadisk: - method: get - resourcePath: /ns/{nsId}/resources/dataDisk/{dataDiskId} - description: "Get Data Disk" - Putdatadisk: - method: put - resourcePath: /ns/{nsId}/resources/dataDisk/{dataDiskId} - description: "Upsize Data Disk" - Deldatadisk: - method: delete - resourcePath: /ns/{nsId}/resources/dataDisk/{dataDiskId} - description: "Delete Data Disk" - Getimage: - method: get - resourcePath: /ns/{nsId}/resources/image/{imageId} - description: "Get image" - Putimage: - method: put - resourcePath: /ns/{nsId}/resources/image/{imageId} - description: "Update image" - Delimage: - method: delete - resourcePath: /ns/{nsId}/resources/image/{imageId} - description: "Delete image" - Delsubnet: - method: delete - resourcePath: /ns/{nsId}/resources/vNet/{vNetId}/subnet/{subnetId} - description: "Delete Subnet" - Getsubnet: - method: get - resourcePath: /ns/{nsId}/resources/vNet/{vNetId}/subnet/{subnetId} - description: "Get Subnet (metadata)" - Testjwtauth: - method: get - resourcePath: /auth/test - description: "Test JWT authentication" - Lookupimage: - method: post - resourcePath: /lookupImage - description: "Lookup image" - Deletederegistervnet: - method: delete - resourcePath: /ns/{nsId}/deregisterCspResource/vNet/{vNetId} - description: "Deregister the VNet, which was created in CSP" - Putchangek8snodegroupautoscalesize: - method: put - resourcePath: /ns/{nsId}/k8scluster/{k8sClusterId}/k8snodegroup/{k8sNodeGroupName}/autoscalesize - description: "Change a K8sNodeGroup's Autoscale Size" - Getsitetositevpn: - method: get - resourcePath: /ns/{nsId}/mci/{mciId}/vpn/{vpnId} - description: "Get resource info of a site-to-site VPN (Currently, GCP-AWS is supported)" - Postmcidynamiccheckrequest: - method: post - resourcePath: /mciDynamicCheckRequest - description: "Check available ConnectionConfig list before create MCI Dynamically from common spec and image" - Getreadyz: - method: get - resourcePath: /readyz - description: "Check Tumblebug is ready" - Registercspnativeresources: - method: post - resourcePath: /registerCspResources - description: "Register CSP Native Resources (vNet, securityGroup, sshKey, vm) to CB-Tumblebug" - Getcontrolmcivm: - method: get - resourcePath: /ns/{nsId}/control/mci/{mciId}/vm/{vmId} - description: "Control the lifecycle of VM (suspend, resume, reboot, terminate)" - Getsecuritygroup: - method: get - resourcePath: /ns/{nsId}/resources/securityGroup/{securityGroupId} - description: "Get Security Group" - Delsecuritygroup: - method: delete - resourcePath: /ns/{nsId}/resources/securityGroup/{securityGroupId} - description: "Delete Security Group" - Getregions: - method: get - resourcePath: /provider/{providerName}/region - description: "Get registered region info" - Retrieveregionlistfromcsp: - method: get - resourcePath: /regionFromCsp - description: "RetrieveR all region lists from CSPs" - Getbenchmark: - method: post - resourcePath: /ns/{nsId}/benchmark/mci/{mciId} - description: "Run MCI benchmark for a single performance metric and return results" - Postinstallbenchmarkagenttomci: - method: post - resourcePath: /ns/{nsId}/installBenchmarkAgent/mci/{mciId} - description: "Install the benchmark agent to specified MCI" - Getallk8scluster: - method: get - resourcePath: /ns/{nsId}/k8scluster - description: "List all K8sClusters or K8sClusters' ID" - Postk8scluster: - method: post - resourcePath: /ns/{nsId}/k8scluster - description: "Create K8sCluster
Find details from https://github.com/cloud-barista/cb-tumblebug/discussions/1614" - Deleteallk8scluster: - method: delete - resourcePath: /ns/{nsId}/k8scluster - description: "Delete all K8sClusters" - Inspectresources: - method: post - resourcePath: /inspectResources - description: "Inspect Resources (vNet, securityGroup, sshKey, vm) registered in CB-Tumblebug, CB-Spider, CSP" - Postmcivmsnapshot: - method: post - resourcePath: /ns/{nsId}/mci/{mciId}/vm/{vmId}/snapshot - description: "Snapshot VM and create a Custom Image Object using the Snapshot" - Postregistersubnet: - method: post - resourcePath: /ns/{nsId}/registerCspResource/vNet/{vNetId}/subnet - description: "Register Subnet, which was created in CSP" - Delallsharedresources: - method: delete - resourcePath: /ns/{nsId}/sharedResources - description: "Delete all Default Resource Objects in the given namespace" - Getconnconfig: - method: get - resourcePath: /connConfig/{connConfigName} - description: "Get registered ConnConfig info" - Fetchspecs: - method: post - resourcePath: /ns/{nsId}/resources/fetchSpecs - description: "Fetch specs" - Getallimage: - method: get - resourcePath: /ns/{nsId}/resources/image - description: "List all images or images' ID" - Postimage: - method: post - resourcePath: /ns/{nsId}/resources/image - description: "Register image" - Delallimage: - method: delete - resourcePath: /ns/{nsId}/resources/image - description: "Delete all images" - Searchimage: - method: post - resourcePath: /ns/{nsId}/resources/searchImage - description: "Search image" - Getallvnet: - method: get - resourcePath: /ns/{nsId}/resources/vNet - description: "List all VNets or VNets' ID" - Postvnet: - method: post - resourcePath: /ns/{nsId}/resources/vNet - description: "Create a new VNet" - Delallvnet: - method: delete - resourcePath: /ns/{nsId}/resources/vNet - description: "Delete all VNets" - Registercspnativeresourcesall: - method: post - resourcePath: /registerCspResourcesAll - description: "Register CSP Native Resources (vNet, securityGroup, sshKey, vm) from all Clouds to CB-Tumblebug" - Postk8snodegroup: - method: post - resourcePath: /ns/{nsId}/k8scluster/{k8sClusterId}/k8snodegroup - description: "Add a K8sNodeGroup" - Getsitesinmci: - method: get - resourcePath: /ns/{nsId}/mci/{mciId}/site - description: "Get sites in MCI" - Putmonitoragentstatusinstalled: - method: put - resourcePath: /ns/{nsId}/monitoring/status/mci/{mciId}/vm/{vmId} - description: "Set monitoring agent (CB-Dragonfly agent) installation status installed (for Windows VM only)" - Createsharedresource: - method: post - resourcePath: /ns/{nsId}/sharedResource - description: "Create shared resources for MC-Infra" - Postteststreamresponse: - method: post - resourcePath: /testStreamResponse - description: "Receives a number and streams the decrementing number every second until zero" - Putupgradek8scluster: - method: put - resourcePath: /ns/{nsId}/k8scluster/{k8sClusterId}/upgrade - description: "Upgrade a K8sCluster's version" - Getalldatadisk: - method: get - resourcePath: /ns/{nsId}/resources/dataDisk - description: "List all Data Disks or Data Disks' ID" - Postdatadisk: - method: post - resourcePath: /ns/{nsId}/resources/dataDisk - description: "Create Data Disk" - Delalldatadisk: - method: delete - resourcePath: /ns/{nsId}/resources/dataDisk - description: "Delete all Data Disks" - Fetchimages: - method: post - resourcePath: /ns/{nsId}/resources/fetchImages - description: "Fetch images" - Putsitetositevpn: - method: put - resourcePath: /stream-response/ns/{nsId}/mci/{mciId}/vpn/{vpnId} - description: "(To be provided) Update a site-to-site VPN" - Postsitetositevpn: - method: post - resourcePath: /stream-response/ns/{nsId}/mci/{mciId}/vpn/{vpnId} - description: "Create a site-to-site VPN (Currently, GCP-AWS is supported)" - Deletesitetositevpn: - method: delete - resourcePath: /stream-response/ns/{nsId}/mci/{mciId}/vpn/{vpnId} - description: "Delete a site-to-site VPN (Currently, GCP-AWS is supported)" - Loadassets: - method: get - resourcePath: /loadAssets - description: "Load Common Resources from internal asset files (Spec, Image)" - Getallmci: - method: get - resourcePath: /ns/{nsId}/mci - description: "List all MCIs or MCIs' ID" - Postmci: - method: post - resourcePath: /ns/{nsId}/mci - description: "Create MCI" - Delallmci: - method: delete - resourcePath: /ns/{nsId}/mci - description: "Delete all MCIs" - Getbastionnodes: - method: get - resourcePath: /ns/{nsId}/mci/{mciId}/vm/{targetVmId}/bastion - description: "Get bastion nodes for a VM" - Getobject: - method: get - resourcePath: /object - description: "Get value of an object" - Deleteobject: - method: delete - resourcePath: /object - description: "Delete an object" - Postmcidynamic: - method: post - resourcePath: /ns/{nsId}/mciDynamic - description: "Create MCI Dynamically from common spec and image" - Putsshkey: - method: put - resourcePath: /ns/{nsId}/resources/sshKey/{sshKeyId} - description: "Update SSH Key" - Delsshkey: - method: delete - resourcePath: /ns/{nsId}/resources/sshKey/{sshKeyId} - description: "Delete SSH Key" - Getsshkey: - method: get - resourcePath: /ns/{nsId}/resources/sshKey/{sshKeyId} - description: "Get SSH Key" - Getvnet: - method: get - resourcePath: /ns/{nsId}/resources/vNet/{vNetId} - description: "Get VNet" - Delvnet: - method: delete - resourcePath: /ns/{nsId}/resources/vNet/{vNetId} - description: "Delete VNet" - Getregion: - method: get - resourcePath: /provider/{providerName}/region/{regionName} - description: "Get registered region info" - Getk8sclusterinfo: - method: get - resourcePath: /k8sClusterInfo - description: "Get kubernetes cluster information" - Getmcivm: - method: get - resourcePath: /ns/{nsId}/mci/{mciId}/vm/{vmId} - description: "Get VM in specified MCI" - Delmcivm: - method: delete - resourcePath: /ns/{nsId}/mci/{mciId}/vm/{vmId} - description: "Delete VM in specified MCI" - Postvmdatadisk: - method: post - resourcePath: /ns/{nsId}/mci/{mciId}/vm/{vmId}/dataDisk - description: "Provisioning (Create and attach) dataDisk" - Getvmdatadisk: - method: get - resourcePath: /ns/{nsId}/mci/{mciId}/vm/{vmId}/dataDisk - description: "Get available dataDisks for a VM" - Putvmdatadisk: - method: put - resourcePath: /ns/{nsId}/mci/{mciId}/vm/{vmId}/dataDisk - description: "Attach/Detach available dataDisk" - Postfirewallrules: - method: post - resourcePath: /ns/{nsId}/resources/securityGroup/{securityGroupId}/rules - description: "Create FirewallRules" - Delfirewallrules: - method: delete - resourcePath: /ns/{nsId}/resources/securityGroup/{securityGroupId}/rules - description: "Delete FirewallRules" - Getresourcesbylabelselector: - method: get - resourcePath: /resources/{labelType} - description: "Get resources based on a label selector. The label selector supports the following operators:\n- `=` : Selects resources where the label key equals the specified value (e.g., `env=production`).\n- `!=` : Selects resources where the label key does not equal the specified value (e.g., `tier!=frontend`).\n- `in` : Selects resources where the label key is in the specified set of values (e.g., `region in (us-west, us-east)`).\n- `notin` : Selects resources where the label key is not in the specified set of values (e.g., `env notin (production, staging)`).\n- `exists` : Selects resources where the label key exists (e.g., `env exists`).\n- `!exists` : Selects resources where the label key does not exist (e.g., `env !exists`)." - Lookupspeclist: - method: post - resourcePath: /lookupSpecs - description: "Lookup spec list" - Getmcigroupvms: - method: get - resourcePath: /ns/{nsId}/mci/{mciId}/subgroup/{subgroupId} - description: "List VMs with a SubGroup label in a specified MCI" - Postmcisubgroupscaleout: - method: post - resourcePath: /ns/{nsId}/mci/{mciId}/subgroup/{subgroupId} - description: "ScaleOut subGroup in specified MCI" - Setbastionnodes: - method: put - resourcePath: /ns/{nsId}/mci/{mciId}/vm/{targetVmId}/bastion/{bastionVmId} - description: "Set bastion nodes for a VM" - Getavailablek8sclusterversion: - method: get - resourcePath: /availableK8sClusterVersion - description: "Get available kubernetes cluster version" - Getallconfig: - method: get - resourcePath: /config - description: "List all configs" - Postconfig: - method: post - resourcePath: /config - description: "Create or Update config (TB_SPIDER_REST_URL, TB_DRAGONFLY_REST_URL, ...)" - Initallconfig: - method: delete - resourcePath: /config - description: "Init all configs" - Getns: - method: get - resourcePath: /ns/{nsId} - description: "Get namespace" - Putns: - method: put - resourcePath: /ns/{nsId} - description: "Update namespace" - Delns: - method: delete - resourcePath: /ns/{nsId} - description: "Delete namespace" - Deletederegistersubnet: - method: delete - resourcePath: /ns/{nsId}/deregisterCspResource/vNet/{vNetId}/subnet/{subnetId} - description: "Deregister Subnet, which was created in CSP" - Addnlbvms: - method: post - resourcePath: /ns/{nsId}/mci/{mciId}/nlb/{nlbId}/vm - description: "Add VMs to NLB" - Removenlbvms: - method: delete - resourcePath: /ns/{nsId}/mci/{mciId}/nlb/{nlbId}/vm - description: "Delete VMs from NLB" - Postutiltovalidatenetwork: - method: post - resourcePath: /util/net/validate - description: "Validate a hierarchical configuration of a VPC network or multi-cloud network consisting of multiple VPC networks" - Getcontrolmci: - method: get - resourcePath: /ns/{nsId}/control/mci/{mciId} - description: "Control the lifecycle of MCI (refine, suspend, resume, reboot, terminate)" - Getmcipolicy: - method: get - resourcePath: /ns/{nsId}/policy/mci/{mciId} - description: "Get MCI Policy" - Postmcipolicy: - method: post - resourcePath: /ns/{nsId}/policy/mci/{mciId} - description: "Create MCI Automation policy" - Delmcipolicy: - method: delete - resourcePath: /ns/{nsId}/policy/mci/{mciId} - description: "Delete MCI Policy" - Postspec: - method: post - resourcePath: /ns/{nsId}/resources/spec - description: "Register spec" - Postregistercspnativevm: - method: post - resourcePath: /ns/{nsId}/registerCspVm - description: "Register existing VM in a CSP to Cloud-Barista MCI" - Getallcustomimage: - method: get - resourcePath: /ns/{nsId}/resources/customImage - description: "List all customImages or customImages' ID" - Postcustomimage: - method: post - resourcePath: /ns/{nsId}/resources/customImage - description: "Register existing Custom Image in a CSP (option=register)" - Delallcustomimage: - method: delete - resourcePath: /ns/{nsId}/resources/customImage - description: "Delete all customImages" - Postsshkey: - method: post - resourcePath: /ns/{nsId}/resources/sshKey - description: "Create SSH Key" - Delallsshkey: - method: delete - resourcePath: /ns/{nsId}/resources/sshKey - description: "Delete all SSH Keys" - Getallsshkey: - method: get - resourcePath: /ns/{nsId}/resources/sshKey - description: "List all SSH Keys or SSH Keys' ID" - Checknodegroupsonk8screation: - method: get - resourcePath: /checkNodeGroupsOnK8sCreation - description: "Check whether nodegroups are required during the k8scluster creation" - Getconnconfiglist: - method: get - resourcePath: /connConfig - description: "List all registered ConnConfig" - Putsetk8snodegroupautoscaling: - method: put - resourcePath: /ns/{nsId}/k8scluster/{k8sClusterId}/k8snodegroup/{k8sNodeGroupName}/onautoscaling - description: "Set a K8sNodeGroup's Autoscaling On/Off" - Getproviderlist: - method: get - resourcePath: /provider - description: "List all registered Providers" - Getrequest: - method: get - resourcePath: /request/{reqId} - description: "Get details of a specific request" - Deleterequest: - method: delete - resourcePath: /request/{reqId} - description: "Delete details of a specific request" - Registercredential: - method: post - resourcePath: /credential - description: "This API registers credential information using hybrid encryption. The process involves compressing and encrypting sensitive data with AES-256, encrypting the AES key with a 4096-bit RSA public key (retrieved via `GET /credential/publicKey`), and using OAEP padding with SHA-256. All values, including the AES key, must be base64 encoded before sending, and the public key token ID must be included in the request." - Getpublickeyforcredentialencryption: - method: get - resourcePath: /credential/publicKey - description: "Generates an RSA key pair using a 4096-bit key size with the RSA algorithm. The public key is generated using the RSA algorithm with OAEP padding and SHA-256 as the hash function. This key is used to encrypt an AES key that will be used for hybrid encryption of credentials." - Createorupdatelabel: - method: put - resourcePath: /label/{labelType}/{uid} - description: "Create or update a label for a resource identified by its uid" - Getlabels: - method: get - resourcePath: /label/{labelType}/{uid} - description: "Get labels for a resource identified by its uid" - Recommendvm: - method: post - resourcePath: /mciRecommendVm - description: "Recommend MCI plan (filter and priority) Find details from https://github.com/cloud-barista/cb-tumblebug/discussions/1234" - Getnlbhealth: - method: get - resourcePath: /ns/{nsId}/mci/{mciId}/nlb/{nlbId}/healthz - description: "Get NLB Health" - Getcustomimage: - method: get - resourcePath: /ns/{nsId}/resources/customImage/{customImageId} - description: "Get customImage" - Delcustomimage: - method: delete - resourcePath: /ns/{nsId}/resources/customImage/{customImageId} - description: "Delete customImage" - Getspec: - method: get - resourcePath: /ns/{nsId}/resources/spec/{specId} - description: "Get spec" - Putspec: - method: put - resourcePath: /ns/{nsId}/resources/spec/{specId} - description: "Update spec" - Delspec: - method: delete - resourcePath: /ns/{nsId}/resources/spec/{specId} - description: "Delete spec" - Getsystemlabelinfo: - method: get - resourcePath: /labelInfo - description: "Return LabelTypes and system defined label keys with example" - Delallns: - method: delete - resourcePath: /ns - description: "Delete all namespaces" - Getallns: - method: get - resourcePath: /ns - description: "List all namespaces or namespaces' ID" - Postns: - method: post - resourcePath: /ns - description: "Create namespace" - Getlatencybenchmark: - method: get - resourcePath: /ns/{nsId}/benchmarkLatency/mci/{mciId} - description: "Run MCI benchmark for network latency" - Postmcnlb: - method: post - resourcePath: /ns/{nsId}/mci/{mciId}/mcSwNlb - description: "Create a special purpose MCI for NLB and depoly and setting SW NLB" - Postregistervnet: - method: post - resourcePath: /ns/{nsId}/registerCspResource/vNet - description: "Register the VNet, which was created in CSP" - Getconfig: - method: get - resourcePath: /config/{configId} - description: "Get config" - Initconfig: - method: delete - resourcePath: /config/{configId} - description: "Init config" - Checkresource: - method: get - resourcePath: /ns/{nsId}/checkResource/{resourceType}/{resourceId} - description: "Check resources' existence" - Removebastionnodes: - method: delete - resourcePath: /ns/{nsId}/mci/{mciId}/bastion/{bastionVmId} - description: "Remove a bastion VM from all vNets" - Delallmcipolicy: - method: delete - resourcePath: /ns/{nsId}/policy/mci - description: "Delete all MCI policies" - Getallmcipolicy: - method: get - resourcePath: /ns/{nsId}/policy/mci - description: "List all MCI policies" - Postutiltodesignnetwork: - method: post - resourcePath: /util/net/design - description: "Design a hierarchical network configuration of a VPC network or multi-cloud network consisting of multiple VPC networks" - Getcloudinfo: - method: get - resourcePath: /cloudInfo - description: "Get cloud information" - Getmcigroupids: - method: get - resourcePath: /ns/{nsId}/mci/{mciId}/subgroup - description: "List SubGroup IDs in a specified MCI" - Filterspecsbyrange: - method: post - resourcePath: /ns/{nsId}/resources/filterSpecsByRange - description: "Filter specs by range" - Postfiletomci: - method: post - resourcePath: /ns/{nsId}/transferFile/mci/{mciId} - description: "Transfer a file to specified MCI to the specified path.\nThe file size should be less than 10MB.\nNot for gerneral file transfer but for specific purpose (small configuration files)." - Deleteallrequests: - method: delete - resourcePath: /requests - description: "Delete details of all requests" - Getallrequests: - method: get - resourcePath: /requests - description: "Get details of all requests with optional filters." - Inspectresourcesoverview: - method: get - resourcePath: /inspectResourcesOverview - description: "Inspect Resources Overview (vNet, securityGroup, sshKey, vm) registered in CB-Tumblebug and CSP for all connections" - Postmcivmdynamic: - method: post - resourcePath: /ns/{nsId}/mci/{mciId}/vmDynamic - description: "Create VM Dynamically and add it to MCI" - Getrequeststatusofsitetositevpn: - method: get - resourcePath: /ns/{nsId}/mci/{mciId}/vpn/{vpnId}/request/{requestId} - description: "Check the status of a specific request by its ID" - Postinstallmonitoragenttomci: - method: post - resourcePath: /ns/{nsId}/monitoring/install/mci/{mciId} - description: "Install monitoring agent (CB-Dragonfly agent) to MCI" - Postutiltodesignvnet: - method: post - resourcePath: /util/vNet/design - description: "Design VNet and subnets based on user-friendly properties" - Lookupimagelist: - method: post - resourcePath: /lookupImages - description: "Lookup image list" - Getallbenchmark: - method: post - resourcePath: /ns/{nsId}/benchmarkAll/mci/{mciId} - description: "Run MCI benchmark for all performance metrics and return results" - Postsystemmci: - method: post - resourcePath: /systemMci - description: "Create System MCI Dynamically for Special Purpose" - Lookupspec: - method: post - resourcePath: /lookupSpec - description: "Lookup spec" - Getallnlb: - method: get - resourcePath: /ns/{nsId}/mci/{mciId}/nlb - description: "List all NLBs or NLBs' ID" - Postnlb: - method: post - resourcePath: /ns/{nsId}/mci/{mciId}/nlb - description: "Create NLB" - Delallnlb: - method: delete - resourcePath: /ns/{nsId}/mci/{mciId}/nlb - description: "Delete all NLBs" - Getallsecuritygroup: - method: get - resourcePath: /ns/{nsId}/resources/securityGroup - description: "List all Security Groups or Security Groups' ID" - Postsecuritygroup: - method: post - resourcePath: /ns/{nsId}/resources/securityGroup - description: "Create Security Group" - Delallsecuritygroup: - method: delete - resourcePath: /ns/{nsId}/resources/securityGroup - description: "Delete all Security Groups" - Getobjects: - method: get - resourcePath: /objects - description: "List all objects for a given key" - Deleteobjects: - method: delete - resourcePath: /objects - description: "Delete child objects along with the given object" - Postcmdmci: - method: post - resourcePath: /ns/{nsId}/cmd/mci/{mciId} - description: "Send a command to specified MCI" - Deletek8snodegroup: - method: delete - resourcePath: /ns/{nsId}/k8scluster/{k8sClusterId}/k8snodegroup/{k8sNodeGroupName} - description: "Remove a K8sNodeGroup" - Postmcivm: - method: post - resourcePath: /ns/{nsId}/mci/{mciId}/vm - description: "Create and add homogeneous VMs(subGroup) to a specified MCI (Set subGroupSize for multiple VMs)" - Getallsubnet: - method: get - resourcePath: /ns/{nsId}/resources/vNet/{vNetId}/subnet - description: "List all subnets (metadata)" - Postsubnet: - method: post - resourcePath: /ns/{nsId}/resources/vNet/{vNetId}/subnet - description: "Create Subnet" - Getavailablek8sclusternodeimage: - method: get - resourcePath: /availableK8sClusterNodeImage - description: "Get available kubernetes cluster node image" - Delmci: - method: delete - resourcePath: /ns/{nsId}/mci/{mciId} - description: "Delete MCI" - Getmci: - method: get - resourcePath: /ns/{nsId}/mci/{mciId} - description: "Get MCI object (option: status, accessInfo, vmId)" - Getnlb: - method: get - resourcePath: /ns/{nsId}/mci/{mciId}/nlb/{nlbId} - description: "Get NLB" - Delnlb: - method: delete - resourcePath: /ns/{nsId}/mci/{mciId}/nlb/{nlbId} - description: "Delete NLB" - Forwardanyreqtoany: - method: post - resourcePath: /forward/{path} - description: "Forward any (GET) request to CB-Spider" - Getk8scluster: - method: get - resourcePath: /ns/{nsId}/k8scluster/{k8sClusterId} - description: "Get K8sCluster" - Deletek8scluster: - method: delete - resourcePath: /ns/{nsId}/k8scluster/{k8sClusterId} - description: "Delete K8sCluster" - Getmonitordata: - method: get - resourcePath: /ns/{nsId}/monitoring/mci/{mciId}/metric/{metric} - description: "Get monitoring data of specified MCI for specified monitoring metric (cpu, memory, disk, network)" - - - cm-beetle: - Deleteinfra: - method: delete - resourcePath: /migration/ns/{nsId}/mci/{mciId} - description: "Delete the migrated mult-cloud infrastructure (MCI)" - Getinfra: - method: get - resourcePath: /migration/ns/{nsId}/mci/{mciId} - description: "Get the migrated multi-cloud infrastructure (MCI)" - Getreadyz: - method: get - resourcePath: /readyz - description: "Check Beetle is ready" - Recommendinfra: - method: post - resourcePath: /recommendation/mci - description: "Recommend an appropriate multi-cloud infrastructure (MCI) for cloud migration" - Createuser: - method: post - resourcePath: /sample/users - description: "Create a new user with the given information." - Getusers: - method: get - resourcePath: /sample/users - description: "Get information of all users." - Getuser: - method: get - resourcePath: /sample/users/{id} - description: "Get information of a user with a specific ID." - Updateuser: - method: put - resourcePath: /sample/users/{id} - description: "Update a user with the given information." - Deleteuser: - method: delete - resourcePath: /sample/users/{id} - description: "Delete a user with the given information." - Patchuser: - method: patch - resourcePath: /sample/users/{id} - description: "Patch a user with the given information." - Checkhttpversion: - method: get - resourcePath: /httpVersion - description: "Checks and logs the HTTP version of the incoming request to the server console." - Migrateinfra: - method: post - resourcePath: /migration/ns/{nsId}/mci - description: "Migrate an infrastructure to the multi-cloud infrastructure (MCI)" - Testtracing: - method: get - resourcePath: /test/tracing - description: "Test tracing to Tumblebug" - - - cm-ant: - GetLoadTestMetrics: - method: get - resourcePath: /api/v1/load/test/metrics - description: "Retrieve load test metrics based on provided parameters." - GetLoadTestExecutionState: - method: get - resourcePath: /api/v1/load/tests/state/{loadTestKey} - description: "Retrieve a load test execution state by load test key." - GetLoadTestExecutionInfo: - method: get - resourcePath: /api/v1/load/tests/infos/{loadTestKey} - description: "Retrieve the load test execution state information for a specific load test key." - RunLoadTest: - method: post - resourcePath: /api/v1/load/tests/run - description: "Start a load test using the provided load test configuration." - StopLoadTest: - method: post - resourcePath: /api/v1/load/tests/stop - description: "Stop a running load test using the provided load test key." - InstallLoadGenerator: - method: post - resourcePath: /api/v1/load/generators - description: "Install a load generator either locally or remotely." - GetAllLoadGeneratorInstallInfo: - method: get - resourcePath: /api/v1/load/generators - description: "Retrieve a list of all installed load generators with pagination support." - InstallMonitoringAgent: - method: post - resourcePath: /api/v1/load/monitoring/agent/install - description: "Install a monitoring agent on specific mci." - GetLoadTestResult: - method: get - resourcePath: /api/v1/load/test/result - description: "Retrieve load test result based on provided parameters." - GetAllLoadTestExecutionInfos: - method: get - resourcePath: /api/v1/load/tests/infos - description: "Retrieve a list of all load test execution information with pagination support." - UninstallLoadGenerator: - method: delete - resourcePath: /api/v1/load/generators/{loadGeneratorInstallInfoId} - description: "Uninstall a previously installed load generator." - GetAllMonitoringAgentInfos: - method: get - resourcePath: /api/v1/load/monitoring/agents - description: "Retrieve monitoring agent information based on specified criteria." - UninstallMonitoringAgent: - method: post - resourcePath: /api/v1/load/monitoring/agents/uninstall - description: "Uninstall monitoring agents from specified VMs or all VMs in an mci." - GetCostInfo: - method: get - resourcePath: /api/v1/cost/info - description: "Retrieve cost information for specified parameters within a defined date range. The date range must be within a 6-month period. Optionally, you can specify cost aggregation type and date order for the results." - UpdateCostInfo: - method: post - resourcePath: /api/v1/cost/info - description: "Update cost information for specified resources, including details such as migration ID, cost resources, and additional AWS info if applicable. The request body must include a valid migration ID and a list of cost resources. If AWS-specific details are provided, ensure all required fields are populated." - GetAllLoadTestExecutionState: - method: get - resourcePath: /api/v1/load/tests/state - description: "Retrieve a list of all load test execution states with pagination support." - GetPriceInfos: - method: get - resourcePath: /api/v1/price/info - description: "Retrieve pricing information for cloud resources based on specified query parameters. Returns price data based on provider, region, instance type, vCPU, memory, and OS type. It offer instances with the lowest monthly prices what in the database." - UpdatePriceInfos: - method: post - resourcePath: /api/v1/price/info - description: "Retrieve pricing information for cloud resources based on specified parameters. If saved data is more than 7 days, fetch new data and insert new price data even if same price as before." - - - cm-honeybee: - Get-Infra-Info-Source-Group: - method: get - resourcePath: /source_group/{sgId}/infra - description: "Get the infra information for all connections in the source group." - Get-Software-Info-Source-Group: - method: get - resourcePath: /source_group/{sgId}/software - description: "Get the software information for all connections in the source group." - Get-Benchmark-Info: - method: get - resourcePath: /bench/{connId} - description: "Get the benchmark information of the connection information." - Run-Benchmark-Info: - method: get - resourcePath: /bench/{connId}/run - description: "Run the benchmark information of the connection information. If no Benchmark Agent is present on the connected server, it will be automatically installed, and the benchmark will be executed." - Stop-Benchmark: - method: get - resourcePath: /bench/{connId}/stop - description: "Stop the benchmark" - List-Connection-Info: - method: get - resourcePath: /source_group/{sgId}/connection_info - description: "Get a list of connection information." - Create-Connection-Info: - method: post - resourcePath: /source_group/{sgId}/connection_info - description: "Create the connection information." - Import-Infra: - method: post - resourcePath: /source_group/{sgId}/connection_info/{connId}/import/infra - description: "Import the infra information." - Import-Infra-Source-Group: - method: post - resourcePath: /source_group/{sgId}/import/infra - description: "Import infra information for all connections in the source group." - Get-Connection-Info-Directly: - method: get - resourcePath: /connection_info/{connId} - description: "Get the connection information directly." - Health-Check-Readyz: - method: get - resourcePath: /readyz - description: "Check Honeybee is ready" - List-Source-Group: - method: get - resourcePath: /source_group - description: "Get a list of source group." - Register-Source-Group: - method: post - resourcePath: /source_group - description: "Register the source group." - Import-Software: - method: post - resourcePath: /source_group/{sgId}/connection_info/{connId}/import/software - description: "Import the software information." - Get-Infra-Info-Refined: - method: get - resourcePath: /source_group/{sgId}/connection_info/{connId}/infra/refined - description: "Get the refined infra information of the connection information." - Get-Kubernetes-Info: - method: get - resourcePath: /source_group/{sgId}/connection_info/{connId}/kubernetes - description: "Get the kubernetes information of the connection information." - Delete-Connection-Info: - method: delete - resourcePath: /source_group/{sgId}/connection_info/{connId} - description: "Delete the connection information." - Get-Connection-Info: - method: get - resourcePath: /source_group/{sgId}/connection_info/{connId} - description: "Get the connection information." - Update-Connection-Info: - method: put - resourcePath: /source_group/{sgId}/connection_info/{connId} - description: "Update the connection information." - Get-Infra-Info: - method: get - resourcePath: /source_group/{sgId}/connection_info/{connId}/infra - description: "Get the infra information of the connection information." - Import-Kubernetes-Source-Group: - method: post - resourcePath: /source_group/{sgId}/import/kubernetes - description: "Import kubernetes information for all connections in the source group." - Import-Software-Source-Group: - method: post - resourcePath: /source_group/{sgId}/import/software - description: "Import software information for all connections in the source group." - Get-Infra-Info-Source-Group-Refined: - method: get - resourcePath: /source_group/{sgId}/infra/refined - description: "Get the refined infra information for all connections in the source group." - Get-Source-Group: - method: get - resourcePath: /source_group/{sgId} - description: "Get the source group." - Update-Source-Group: - method: put - resourcePath: /source_group/{sgId} - description: "Update the source group." - Delete-Source-Group: - method: delete - resourcePath: /source_group/{sgId} - description: "Delete the source group." - Import-Kubernetes: - method: post - resourcePath: /source_group/{sgId}/connection_info/{connId}/import/kubernetes - description: "Import the kubernetes information." - Get-Software-Info: - method: get - resourcePath: /source_group/{sgId}/connection_info/{connId}/software - description: "Get the software information of the connection information." - Get-Kubernetes-Info-Source-Group: - method: get - resourcePath: /source_group/{sgId}/kubernetes - description: "Get the kubernetes information for all connections in the source group." - Register-Target-To-Source-Group: - method: post - resourcePath: /source_group/{sgId}/target - description: "Register target information to the source group." - - - cm-cicada: - Get-Task-Component-By-Name: - method: get - resourcePath: /task_component/name/{tcName} - description: "Get the task component by name." - Get-Task: - method: get - resourcePath: /workflow/{wfId}/task/{taskId} - description: "Get the task." - Get-Task-Component: - method: get - resourcePath: /task_component/{tcId} - description: "Get the task component." - Update-Task-Component: - method: put - resourcePath: /task_component/{tcId} - description: "Update the task component." - Delete-Task-Component: - method: delete - resourcePath: /task_component/{tcId} - description: "Delete the task component." - List-Workflow: - method: get - resourcePath: /workflow - description: "Get a workflow list." - Create-Workflow: - method: post - resourcePath: /workflow - description: "Create a workflow." - Get-Workflow: - method: get - resourcePath: /workflow/{wfId} - description: "Get the workflow." - Update-Workflow: - method: put - resourcePath: /workflow/{wfId} - description: "Update the workflow content." - Delete-Workflow: - method: delete - resourcePath: /workflow/{wfId} - description: "Delete the workflow." - Get-Workflow-Template-By-Name: - method: get - resourcePath: /workflow_template/name/{wfName} - description: "Get the workflow template by name." - List-Task: - method: get - resourcePath: /workflow/{wfId}/task - description: "Get a task list of the workflow." - List-Task-Group: - method: get - resourcePath: /workflow/{wfId}/task_group - description: "Get a task group list of the workflow." - Health-Check-Readyz: - method: get - resourcePath: /readyz - description: "Check Cicada is ready" - Get-Task-Directly: - method: get - resourcePath: /task/{taskId} - description: "Get the task directly." - List-Task-Component: - method: get - resourcePath: /task_component - description: "Get a list of task component." - Create-Task-Component: - method: post - resourcePath: /task_component - description: "Register the task component." - Get-Task-Group-Directly: - method: get - resourcePath: /task_group/{tgId} - description: "Get the task group directly." - Get-Workflow-By-Name: - method: get - resourcePath: /workflow/name/{wfName} - description: "Get the workflow by name." - Run-Workflow: - method: post - resourcePath: /workflow/{wfId}/run - description: "Run the workflow." - List-Task-From-Task-Group: - method: get - resourcePath: /workflow/{wfId}/task_group/{tgId}/task - description: "Get a task list from the task group." - Get-Task-From-Task-Group: - method: get - resourcePath: /workflow/{wfId}/task_group/{tgId}/task/{taskId} - description: "Get the task from the task group." - List-Workflow-Template: - method: get - resourcePath: /workflow_template - description: "Get a list of workflow template." - Get-Task-Group: - method: get - resourcePath: /workflow/{wfId}/task_group/{tgId} - description: "Get the task group." - Get-Workflow-Template: - method: get - resourcePath: /workflow_template/{wftId} - description: "Get the workflow template." - - - cm-grasshopper: - Health-Check-Readyz: - method: get - resourcePath: /readyz - description: "Check Grasshopper is ready" - Get-Execution-List: - method: post - resourcePath: /software/execution_list - description: "Get software migration execution list." - Install-Software: - method: post - resourcePath: /software/install - description: "Install pieces of software to target." - Register-Software: - method: post - resourcePath: /software/register - description: "Register the software.

[JSON Body Example]
{\"architecture\":\"x86_64\",\"install_type\":\"ansible\",\"match_names\":[\"telegraf\"],\"name\":\"telegraf\",\"os\":\"Ubuntu\",\"os_version\":\"22.04\",\"version\":\"1.0\"}" - Delete-Software: - method: delete - resourcePath: /software/{softwareId} - description: "Delete the software." - - diff --git a/conf/docker/conf/cm-butterfly/api/conf/getapiyaml.sh b/conf/docker/conf/cm-butterfly/api/conf/getapiyaml.sh deleted file mode 100755 index 4e34542..0000000 --- a/conf/docker/conf/cm-butterfly/api/conf/getapiyaml.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash -FILE="./api.yaml" -URL="https://raw.githubusercontent.com/MZC-CSC/cm-mayfly/develop/conf/api.yaml" - -if [ -f "$FILE" ]; then - echo "api.yaml already exists." - read -p "Are you sure you want to overwrite it? (y/n): " choice - case "$choice" in - y|Y ) echo "Overwrite file...";; - n|N ) echo "The operation has been canceled."; exit 0;; - * ) echo "Invalid input, operation cancelled."; exit 1;; - esac -fi - -wget -O "./api.yaml" "$URL" -if [ $? -ne 0 ]; then - echo "ERROR: api.yaml update failed." - exit 1 -fi - -echo "File updated successfully, please change baseUrl." \ No newline at end of file diff --git a/conf/docker/conf/cm-butterfly/api/conf/menu.yaml b/conf/docker/conf/cm-butterfly/api/conf/menu.yaml deleted file mode 100644 index c7e53c5..0000000 --- a/conf/docker/conf/cm-butterfly/api/conf/menu.yaml +++ /dev/null @@ -1,720 +0,0 @@ -menus: - ########## step1 : title ################ - - id: migrations - parentid: home - displayname: Migrations - restype: menu - isaction: "false" - priority: 0 - - ################## step2 : auth ################ - - id: login - parentid: none - displayname: Login - restype: screen - isaction: "true" - priority: 0 - - ################## step2 : quick Link ################ - - - ############## step2 : category : migrations ################ - - id: migrationguide - parentid: migrations - displayname: Migration Guide - restype: menu - isaction: "true" - priority: 1 - - - id: sourcecomputing - parentid: migrations - displayname: Source Computing - restype: menu - isaction: "false" - priority: 2 - - - id: models - parentid: migrations - displayname: Models - restype: menu - isaction: "false" - priority: 3 - - - id: workflowmanagement - parentid: migrations - displayname: Workflow Management - restype: menu - isaction: "false" - priority: 4 - - - id: workloadoperations - parentid: migrations - displayname: Workload Operations - restype: menu - isaction: "false" - priority: 5 - - ################## step3 : menu : migrations > sourcecomputing ################ - - id: sourceservices - parentid: sourcecomputing - displayname: Source Services - restype: menu - isaction: "true" - priority: 1 - - - id: sourcemetas - parentid: sourcecomputing - displayname: Source Metas - restype: menu - isaction: "true" - priority: 2 - - ################## step3 : menu : migrations > models ################ - - id: sourcemodels - parentid: models - displayname: Source Models - restype: menu - isaction: "true" - priority: 1 - - - id: targetmodels - parentid: models - displayname: Target Models - restype: menu - isaction: "true" - priority: 2 - - ################## step3 : menu : migrations > workflowmanagement ################ - - id: workflows - parentid: workflowmanagement - displayname: Workflows - restype: menu - isaction: "true" - priority: 1 - - - id: workflowtemplates - parentid: workflowmanagement - displayname: Workflow Templates - restype: menu - isaction: "true" - priority: 2 - - - id: taskcomponents - parentid: workflowmanagement - displayname: Task Components - restype: menu - isaction: "true" - priority: 3 - - ################## step3 : menu : migrations > workloadoperations ################ - - id: workloads - parentid: workloadoperations - displayname: Workloads - restype: menu - isaction: "false" - priority: 0 - - ###################### step4 : submenu : migrations > workloadoperations > workloads ################ - - id: mciwls - parentid: workloads - displayname: MCI WLs - restype: menu - isaction: "true" - priority: 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/conf/docker/conf/cm-butterfly/api/conf/user.dat b/conf/docker/conf/cm-butterfly/api/conf/user.dat deleted file mode 100644 index 1838149..0000000 Binary files a/conf/docker/conf/cm-butterfly/api/conf/user.dat and /dev/null differ diff --git a/conf/docker/conf/cm-butterfly/conf/api.yaml b/conf/docker/conf/cm-butterfly/conf/api.yaml deleted file mode 100644 index b742489..0000000 --- a/conf/docker/conf/cm-butterfly/conf/api.yaml +++ /dev/null @@ -1,1732 +0,0 @@ -cliSpecVersion: v1 -# Service Definitions (Framework Server Basic informations) -services: - cb-spider: #service name - version: 0.9.4 - baseurl: http://localhost:1024/spider # baseurl is Scheme + Host + Base Path - auth: #If you need an authentication method, describe the type and username and password in the sub - type: basic - username: - password: - - cb-tumblebug: - version: 0.9.11 - baseurl: http://localhost:1323/tumblebug - auth: - type: basic - username: default - password: default - - cm-beetle: - version: 0.2.1 - baseurl: http://localhost:8056/beetle - auth: - - cm-ant: - version: 0.2.2 - baseurl: http://localhost:8880/ant - auth: - - cm-honeybee: - version: main - baseurl: http://localhost:8081/honeybee - auth: - - cm-cicada: - version: main - baseurl: http://localhost:8083/cicada - auth: - - cm-grasshopper: - version: main - baseurl: http://localhost:8084/grasshopper - auth: - - cm-butterfly: - version: main - baseurl: http://localhost:123/butterfly - auth: - - # sample: #none authentication method - # baseurl: http://localhost:1323/test - # auth: #none - - # sample: #basic authentication method - # baseurl: http://localhost:1323/test - # auth: - # type: "basic" - # username: "your-username" - # password: "your-password" - - # sample: #Bearer authentication method - # baseurl: http://localhost:1323/test - # auth: - # type: "bearer" - # token: "your-bearer-token-here" - - -# Define rest api actions for each of the services defined above. -# specify the DATA to use for the API in the CLI. -serviceActions: - # sample: #for sample - # #cb-spider CCIM v0.6.0 - # NormalGetAction: - # method: get - # resourcePath: /sample - # description: #Use when necessary for user understanding - # PathParamGetAction: - # method: get - # resourcePath: /sample/{param_name} - cb-spider: #service name - Get-Cluster-Owner-Vpc: - method: post - resourcePath: /getclusterowner - description: "Retrieve the owner VPC of a specified Cluster." - Unregister-Myimage: - method: delete - resourcePath: /regmyimage/{Name} - description: "Unregister a MyImage with the specified name." - List-Cluster: - method: get - resourcePath: /cluster - description: "Retrieve a list of Clusters associated with a specific connection." - Create-Cluster: - method: post - resourcePath: /cluster - description: "Create a new Cluster with specified configurations. 🕷️ [[Concept Guide](https://github.com/cloud-barista/cb-spider/wiki/Provider-Managed-Kubernetes-and-Driver-API)]
* NodeGroupList is optional, depends on CSP type:
 - Type-I (e.g., Tencent, Alibaba): requires separate Node Group addition after Cluster creation.
 - Type-II (e.g., Azure, NHN): mandates at least one Node Group during initial Cluster creation." - Count-Myimages-By-Connection: - method: get - resourcePath: /countmyimage/{ConnectionName} - description: "Get the total number of MyImages for a specific connection." - List-Vm: - method: get - resourcePath: /vm - description: "Retrieve a list of Virtual Machines (VMs) associated with a specific connection." - Start-Vm: - method: post - resourcePath: /vm - description: "Start a new Virtual Machine (VM) with specified configurations. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/features-and-usages#2-%EB%A9%80%ED%8B%B0%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-vm-%EC%9D%B8%ED%94%84%EB%9D%BC-%EC%9E%90%EC%9B%90-%EC%A0%9C%EC%96%B4multi-cloud-vm-infra-resource-control)], [[Snapshot-MyImage,Disk Guide](https://github.com/cloud-barista/cb-spider/wiki/VM-Snapshot,-MyImage-and-Disk-Overview)]" - Unregister-Key: - method: delete - resourcePath: /regkeypair/{Name} - description: "Unregister a KeyPair with the specified name." - Get-Vm: - method: get - resourcePath: /vm/{Name} - description: "Retrieve details of a specific Virtual Machine (VM)." - Terminate-Vm: - method: delete - resourcePath: /vm/{Name} - description: "Terminate a specified Virtual Machine (VM)." - List-All-Vpc: - method: get - resourcePath: /allvpc - description: "Retrieve a comprehensive list of all Virtual Private Clouds (VPCs) associated with a specific connection,
including those mapped between CB-Spider and the CSP,
only registered in CB-Spider's metadata,
and only existing in the CSP." - Get-Cloudos-Metainfo: - method: get - resourcePath: /cloudos/metainfo/{CloudOSName} - description: "Retrieve metadata information for a specific Cloud OS." - Get-Sg-Owner-Vpc: - method: post - resourcePath: /getsecuritygroupowner - description: "Retrieve the owner VPC of a specified Security Group." - Get-Vm-Spec: - method: get - resourcePath: /vmspec/{Name} - description: "Retrieve details of a specific VM spec. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/features-and-usages#2-vm-spec-%EC%A0%95%EB%B3%B4-%EC%A0%9C%EA%B3%B5)]" - Increase-Disk-Size: - method: put - resourcePath: /disk/{Name}/size - description: "Increase the size of an existing disk." - Get-Region: - method: get - resourcePath: /region/{RegionName} - description: "Retrieve details of a specific Region." - Unregister-Region: - method: delete - resourcePath: /region/{RegionName} - description: "Unregister a specific Region." - Register-Myimage: - method: post - resourcePath: /regmyimage - description: "Register a new MyImage with the specified name and CSP ID." - Unregister-Securitygroup: - method: delete - resourcePath: /regsecuritygroup/{Name} - description: "Unregister a Security Group with the specified name." - Register-Vm: - method: post - resourcePath: /regvm - description: "Register a new Virtual Machine (VM) with the specified name and CSP ID." - Add-Nodegroup: - method: post - resourcePath: /cluster/{Name}/nodegroup - description: "Add a new Node Group to an existing Cluster." - Count-All-Vms: - method: get - resourcePath: /countvm - description: "Get the total number of Virtual Machines (VMs) across all connections." - Add-Nlb-Vms: - method: post - resourcePath: /nlb/{Name}/vms - description: "Add a new set of VMs to an existing Network Load Balancer (NLB)." - Remove-Nlb-Vms: - method: delete - resourcePath: /nlb/{Name}/vms - description: "Remove a set of VMs from an existing Network Load Balancer (NLB)." - Health-Check-Readyz: - method: get - resourcePath: /readyz - description: "Checks the health of CB-Spider service and its dependencies via /readyz endpoint. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/Readiness-Check-Guide)]" - Remove-Nodegroup: - method: delete - resourcePath: /cluster/{Name}/nodegroup/{NodeGroupName} - description: "Remove an existing Node Group from a Cluster." - Delete-Disk: - method: delete - resourcePath: /disk/{Name} - description: "Delete a specified Disk." - Get-Disk: - method: get - resourcePath: /disk/{Name} - description: "Retrieve details of a specific Disk." - List-Vpc: - method: get - resourcePath: /vpc - description: "Retrieve a list of Virtual Private Clouds (VPCs) associated with a specific connection." - Create-Vpc: - method: post - resourcePath: /vpc - description: "Create a new Virtual Private Cloud (VPC) with specified subnet configurations. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/features-and-usages#3-vpcsubnet-%EC%83%9D%EC%84%B1-%EB%B0%8F-%EC%A0%9C%EC%96%B4)]" - Get-Vmgroup-Healthinfo: - method: get - resourcePath: /nlb/{Name}/health - description: "Retrieve the health information of the VM group in a specified Network Load Balancer (NLB)." - Get-Region-Zone: - method: get - resourcePath: /regionzone/{Name} - description: "Retrieve details of a specific Region Zone. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/REST-API-Region-Zone-Information-Guide)]" - Detach-Disk: - method: put - resourcePath: /disk/{Name}/detach - description: "Detach an existing Disk from a VM." - Register-Key: - method: post - resourcePath: /regkeypair - description: "Register a new KeyPair with the specified name and CSP ID." - List-Disk: - method: get - resourcePath: /disk - description: "Retrieve a list of Disks associated with a specific connection." - Create-Disk: - method: post - resourcePath: /disk - description: "Create a new Disk with the specified configuration. 🕷️ [[Concept Guide](https://github.com/cloud-barista/cb-spider/wiki/Disk-and-Driver-API)], [[Snapshot-MyImage,Disk Guide](https://github.com/cloud-barista/cb-spider/wiki/VM-Snapshot,-MyImage-and-Disk-Overview)]" - Get-Key: - method: get - resourcePath: /keypair/{Name} - description: "Retrieve details of a specific KeyPair." - Delete-Key: - method: delete - resourcePath: /keypair/{Name} - description: "Delete a specified KeyPair." - List-All-Cluster: - method: get - resourcePath: /allcluster - description: "Retrieve a comprehensive list of all Clusters associated with a specific connection,
including those mapped between CB-Spider and the CSP,
only registered in CB-Spider's metadata,
and only existing in the CSP." - Control-Vm: - method: put - resourcePath: /controlvm/{Name} - description: "Control the state of a Virtual Machine (VM) such as suspend, resume, or reboot." - Any-Call: - method: post - resourcePath: /anycall - description: "Execute a custom function (FID) with key-value parameters through AnyCall. 🕷️ [[Development Guide](https://github.com/cloud-barista/cb-spider/wiki/AnyCall-API-Extension-Guide)]" - Count-All-Keys: - method: get - resourcePath: /countkeypair - description: "Get the total number of KeyPairs across all connections." - Delete-Csp-Securitygroup: - method: delete - resourcePath: /cspsecuritygroup/{Id} - description: "Delete a specified CSP Security Group." - List-Org-Region: - method: get - resourcePath: /orgregion - description: "Retrieve a list of Original Regions associated with a specific connection.
The response structure may vary depending on the request ConnectionName." - List-Region-Zone-Preconfig: - method: get - resourcePath: /preconfig/regionzone - description: "Retrieve a list of pre-configured Region Zones based on driver and credential names. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/REST-API-Region-Zone-Information-Guide)]" - Unregister-Subnet: - method: delete - resourcePath: /regsubnet/{Name} - description: "Unregister a Subnet from a specified VPC." - List-All-Vm: - method: get - resourcePath: /allvm - description: "Retrieve a comprehensive list of all Virtual Machines (VMs) associated with a specific connection,
including those mapped between CB-Spider and the CSP,
only registered in CB-Spider's metadata,
and only existing in the CSP." - Count-All-Clusters: - method: get - resourcePath: /countcluster - description: "Get the total number of Clusters across all connections." - Count-Connections-By-Provider: - method: get - resourcePath: /countconnectionconfig/{ProviderName} - description: "Get the total number of connections for a specific provider." - List-Product-Family: - method: get - resourcePath: /productfamily/{RegionName} - description: "Retrieve a list of Product Families associated with a specific connection and region. 🕷️ [[Concept Guide](https://github.com/cloud-barista/cb-spider/wiki/Price-Info-and-Cloud-Driver-API)], 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/RestAPI-Multi%E2%80%90Cloud-Price-Information-Guide)]" - Upgrade-Cluster: - method: put - resourcePath: /cluster/{Name}/upgrade - description: "Upgrade a Cluster to a specified version." - List-Connection-Configs: - method: get - resourcePath: /connectionconfig - description: "Retrieve a list of registered Connection Configs." - Create-Connection-Config: - method: post - resourcePath: /connectionconfig - description: "Create a new Connection Config. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/features-and-usages#4-cloud-connection-configuration-%EC%A0%95%EB%B3%B4-%EB%93%B1%EB%A1%9D-%EB%B0%8F-%EA%B4%80%EB%A6%AC)]" - Get-Region-Zone-Preconfig: - method: get - resourcePath: /preconfig/regionzone/{Name} - description: "Retrieve details of a specific pre-configured Region Zone based on driver and credential names. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/REST-API-Region-Zone-Information-Guide)]" - Get-Price-Info: - method: post - resourcePath: /priceinfo/{ProductFamily}/{RegionName} - description: "Retrieve price details of a specific Product Family in a specific Region. 🕷️ [[Concept Guide](https://github.com/cloud-barista/cb-spider/wiki/Price-Info-and-Cloud-Driver-API)], 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/RestAPI-Multi%E2%80%90Cloud-Price-Information-Guide)]
* example body: {\"connectionName\":\"aws-connection\",\"FilterList\":[{\"Key\":\"instanceType\",\"Value\":\"t2.micro\"}]}" - Register-Nlb: - method: post - resourcePath: /regnlb - description: "Register a new Network Load Balancer (NLB) with the specified name and CSP ID." - Get-Org-Vm-Spec: - method: get - resourcePath: /vmorgspec/{Name} - description: "Retrieve details of a specific Original VM Spec." - Count-Disks-By-Connection: - method: get - resourcePath: /countdisk/{ConnectionName} - description: "Get the total number of Disks for a specific connection." - Attach-Disk: - method: put - resourcePath: /disk/{Name}/attach - description: "Attach an existing Disk to a VM." - Register-Vpc: - method: post - resourcePath: /regvpc - description: "Register a new Virtual Private Cloud (VPC) with the specified name and CSP ID." - List-Image: - method: get - resourcePath: /vmimage - description: "Retrieve a list of Public Images associated with a specific connection. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/How-to-get-Image-List-with-REST-API)]" - Set-Nodegroup-Autoscaling: - method: put - resourcePath: /cluster/{Name}/nodegroup/{NodeGroupName}/onautoscaling - description: "Enable or disable auto scaling for a Node Group in a Cluster." - Health-Check-Ping: - method: get - resourcePath: /ping - description: "Checks the health of CB-Spider service and its dependencies via /ping endpoint. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/Readiness-Check-Guide)]" - List-Cloud-Drivers: - method: get - resourcePath: /driver - description: "Retrieve a list of registered Cloud Drivers." - Register-Cloud-Driver: - method: post - resourcePath: /driver - description: "Register a new Cloud Driver. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/features-and-usages#1-cloud-driver-%EC%A0%95%EB%B3%B4-%EB%93%B1%EB%A1%9D-%EB%B0%8F-%EA%B4%80%EB%A6%AC)]" - Unregister-Cluster: - method: delete - resourcePath: /regcluster/{Name} - description: "Unregister a Cluster with the specified name." - List-Myimage: - method: get - resourcePath: /myimage - description: "Retrieve a list of MyImages associated with a specific connection." - Snapshot-Vm: - method: post - resourcePath: /myimage - description: "Create a new MyImage snapshot from a specified VM. 🕷️ [[Concept Guide](https://github.com/cloud-barista/cb-spider/wiki/MyImage-and-Driver-API)], [[Snapshot-MyImage,Disk Guide](https://github.com/cloud-barista/cb-spider/wiki/VM-Snapshot,-MyImage-and-Disk-Overview)]" - Delete-Vpc: - method: delete - resourcePath: /vpc/{Name} - description: "Delete a specified Virtual Private Cloud (VPC)." - Get-Vpc: - method: get - resourcePath: /vpc/{Name} - description: "Retrieve details of a specific Virtual Private Cloud (VPC)." - Count-All-Vpcs: - method: get - resourcePath: /countvpc - description: "Get the total number of VPCs across all connections." - Delete-Csp-Nlb: - method: delete - resourcePath: /cspnlb/{Id} - description: "Delete a specified CSP Network Load Balancer (NLB)." - Count-All-Connections: - method: get - resourcePath: /countconnectionconfig - description: "Get the total number of connections." - Count-All-Myimages: - method: get - resourcePath: /countmyimage - description: "Get the total number of MyImages across all connections." - List-Preconfigured-Original-Org-Region: - method: get - resourcePath: /preconfig/orgregion - description: "Retrieve a list of pre-configured Original Regions based on driver and credential names.
The response structure may vary depending on the request DriverName and CredentialName." - Unregister-Disk: - method: delete - resourcePath: /regdisk/{Name} - description: "Unregister a Disk with the specified name." - Unregister-Nlb: - method: delete - resourcePath: /regnlb/{Name} - description: "Unregister a Network Load Balancer (NLB) with the specified name." - List-Vm-Spec: - method: get - resourcePath: /vmspec - description: "Retrieve a list of VM specs associated with a specific connection. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/features-and-usages#2-vm-spec-%EC%A0%95%EB%B3%B4-%EC%A0%9C%EA%B3%B5)]" - List-All-Key: - method: get - resourcePath: /allkeypair - description: "Retrieve a comprehensive list of all KeyPairs associated with a specific connection,
including those mapped between CB-Spider and the CSP,
only registered in CB-Spider's metadata,
and only existing in the CSP." - Count-Clusters-By-Connection: - method: get - resourcePath: /countcluster/{ConnectionName} - description: "Get the total number of Clusters for a specific connection." - Count-All-Disks: - method: get - resourcePath: /countdisk - description: "Get the total number of Disks across all connections." - Count-Vpcs-By-Connection: - method: get - resourcePath: /countvpc/{ConnectionName} - description: "Get the total number of VPCs for a specific connection." - Register-Subnet: - method: post - resourcePath: /regsubnet - description: "Register a new Subnet within a specified VPC." - Add-Rules-Securitygroup: - method: post - resourcePath: /securitygroup/{SGName}/rules - description: "Add new rules to a Security Group." - Remove-Rules-Securitygroup: - method: delete - resourcePath: /securitygroup/{SGName}/rules - description: "Remove existing rules from a Security Group." - Remove-Subnet: - method: delete - resourcePath: /vpc/{VPCName}/subnet/{SubnetName} - description: "Remove an existing Subnet from a VPC." - List-All-Disk: - method: get - resourcePath: /alldisk - description: "Retrieve a comprehensive list of all Disks associated with a specific connection,
including those mapped between CB-Spider and the CSP,
only registered in CB-Spider's metadata,
and only existing in the CSP." - Get-Cluster: - method: get - resourcePath: /cluster/{Name} - description: "Retrieve details of a specific Cluster." - Delete-Cluster: - method: delete - resourcePath: /cluster/{Name} - description: "Delete a specified Cluster." - Unregister-Vm: - method: delete - resourcePath: /regvm/{Name} - description: "Unregister a Virtual Machine (VM) with the specified name." - List-Securitygroup: - method: get - resourcePath: /securitygroup - description: "Retrieve a list of Security Groups associated with a specific connection." - Create-Securitygroup: - method: post - resourcePath: /securitygroup - description: "Create a new Security Group with specified rules and tags. 🕷️ [[Concept Guide](https://github.com/cloud-barista/cb-spider/wiki/Security-Group-Rules-and-Driver-API)], 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/features-and-usages#4-securitygroup-%EC%83%9D%EC%84%B1-%EB%B0%8F-%EC%A0%9C%EC%96%B4)]" - Get-Credential: - method: get - resourcePath: /credential/{CredentialName} - description: "Retrieve details of a specific Credential." - Unregister-Credential: - method: delete - resourcePath: /credential/{CredentialName} - description: "Unregister a specific Credential." - List-Key: - method: get - resourcePath: /keypair - description: "Retrieve a list of KeyPairs associated with a specific connection." - Create-Key: - method: post - resourcePath: /keypair - description: "Create a new KeyPair with the specified configurations. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/features-and-usages#5-vm-keypair-%EC%83%9D%EC%84%B1-%EB%B0%8F-%EC%A0%9C%EC%96%B4)]" - Get-Nlb: - method: get - resourcePath: /nlb/{Name} - description: "Retrieve details of a specific Network Load Balancer (NLB)." - Delete-Nlb: - method: delete - resourcePath: /nlb/{Name} - description: "Delete a specified Network Load Balancer (NLB)." - Remove-Csp-Subnet: - method: delete - resourcePath: /vpc/{VPCName}/cspsubnet/{Id} - description: "Remove an existing CSP Subnet from a VPC." - List-All-Myimage: - method: get - resourcePath: /allmyimage - description: "Retrieve a comprehensive list of all MyImages associated with a specific connection,
including those mapped between CB-Spider and the CSP,
only registered in CB-Spider's metadata,
and only existing in the CSP." - Delete-Csp-Cluster: - method: delete - resourcePath: /cspcluster/{Id} - description: "Delete a specified CSP Cluster." - List-Vm-Status: - method: get - resourcePath: /vmstatus - description: "Retrieve a list of statuses for Virtual Machines (VMs) associated with a specific connection." - Count-Keys-By-Connection: - method: get - resourcePath: /countkeypair/{ConnectionName} - description: "Get the total number of KeyPairs for a specific connection." - Register-Disk: - method: post - resourcePath: /regdisk - description: "Register a new Disk with the specified name, zone, and CSP ID." - Get-Connection-Config: - method: get - resourcePath: /connectionconfig/{ConfigName} - description: "Retrieve details of a specific Connection Config." - Delete-Connection-Config: - method: delete - resourcePath: /connectionconfig/{ConfigName} - description: "Delete a specific Connection Config." - List-All-Nlb: - method: get - resourcePath: /allnlb - description: "Retrieve a comprehensive list of all Network Load Balancers (NLBs) associated with a specific connection,
including those mapped between CB-Spider and the CSP,
only registered in CB-Spider's metadata,
and only existing in the CSP." - List-Cloudos: - method: get - resourcePath: /cloudos - description: "Retrieve a list of supported Cloud OS." - Delete-Csp-Vpc: - method: delete - resourcePath: /cspvpc/{Id} - description: "Delete a specified CSP Virtual Private Cloud (VPC)." - Upload-Cloud-Driver: - method: post - resourcePath: /driver/upload - description: "Upload a Cloud Driver library file." - Get-Nlb-Owner-Vpc: - method: post - resourcePath: /getnlbowner - description: "Retrieve the owner VPC of a specified Network Load Balancer (NLB)." - Get-Securitygroup: - method: get - resourcePath: /securitygroup/{Name} - description: "Retrieve details of a specific Security Group." - Delete-Securitygroup: - method: delete - resourcePath: /securitygroup/{Name} - description: "Delete a specified Security Group." - Get-Image: - method: get - resourcePath: /vmimage/{Name} - description: "Retrieve details of a specific Public Image. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/How-to-get-Image-List-with-REST-API)]" - Count-All-Nlbs: - method: get - resourcePath: /countnlb - description: "Get the total number of Network Load Balancers (NLBs) across all connections." - Delete-Csp-Disk: - method: delete - resourcePath: /cspdisk/{Id} - description: "Delete a specified CSP Disk." - Health-Check-Healthcheck: - method: get - resourcePath: /healthcheck - description: "Checks the health of CB-Spider service and its dependencies via /healthcheck endpoint. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/Readiness-Check-Guide)]" - List-Region-Zone: - method: get - resourcePath: /regionzone - description: "Retrieve a list of Region Zones associated with a specific connection. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/REST-API-Region-Zone-Information-Guide)]" - Count-All-Subnets: - method: get - resourcePath: /countsubnet - description: "Get the total number of Subnets across all connections." - List-Credentials: - method: get - resourcePath: /credential - description: "Retrieve a list of registered Credentials." - Register-Credential: - method: post - resourcePath: /credential - description: "Register a new Credential. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/features-and-usages#2-cloud-credential-%EC%A0%95%EB%B3%B4-%EB%93%B1%EB%A1%9D-%EB%B0%8F-%EA%B4%80%EB%A6%AC)]" - Count-Nlbs-By-Connection: - method: get - resourcePath: /countnlb/{ConnectionName} - description: "Get the total number of Network Load Balancers (NLBs) for a specific connection." - Register-Securitygroup: - method: post - resourcePath: /regsecuritygroup - description: "Register a new Security Group with the specified name and CSP ID." - List-Org-Zone: - method: get - resourcePath: /orgzone - description: "Retrieve a list of Original Zones associated with a specific connection.
The response structure may vary depending on the request ConnectionName." - Get-Vm-Status: - method: get - resourcePath: /vmstatus/{Name} - description: "Retrieve the status of a specific Virtual Machine (VM)." - Delete-Csp-Key: - method: delete - resourcePath: /cspkeypair/{Id} - description: "Delete a specified CSP KeyPair." - Terminate-Csp-Vm: - method: delete - resourcePath: /cspvm/{Id} - description: "Terminate a specified CSP Virtual Machine (VM)." - Get-Csp-Vm: - method: get - resourcePath: /cspvm/{Id} - description: "Retrieve details of a specific CSP Virtual Machine (VM)." - Count-Securitygroups-By-Connection: - method: get - resourcePath: /countsecuritygroup/{ConnectionName} - description: "Get the total number of Security Groups for a specific connection." - List-All-Securitygroups: - method: get - resourcePath: /allsecuritygroup - description: "Retrieve a comprehensive list of all Security Groups associated with a specific connection,
including those mapped between CB-Spider and the CSP,
only registered in CB-Spider's metadata,
and only existing in the CSP." - Change-Nodegroup-Scaling: - method: put - resourcePath: /cluster/{Name}/nodegroup/{NodeGroupName}/autoscalesize - description: "Change the scaling settings for a Node Group in a Cluster." - List-Org-Vm-Spec: - method: get - resourcePath: /vmorgspec - description: "Retrieve a list of Original VM Specs associated with a specific connection.
The response structure may vary depending on the request ConnectionName." - Add-Subnet: - method: post - resourcePath: /vpc/{VPCName}/subnet - description: "Add a new Subnet to an existing VPC." - Register-Cluster: - method: post - resourcePath: /regcluster - description: "Register a new Cluster with the specified VPC and CSP ID." - Unregister-Vpc: - method: delete - resourcePath: /regvpc/{Name} - description: "Unregister a VPC with the specified name." - List-Regions: - method: get - resourcePath: /region - description: "Retrieve a list of registered Regions." - Register-Region: - method: post - resourcePath: /region - description: "Register a new Region. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/features-and-usages#3-cloud-regionzone-%EC%A0%95%EB%B3%B4-%EB%93%B1%EB%A1%9D-%EB%B0%8F-%EA%B4%80%EB%A6%AC)]" - Delete-Csp-Myimage: - method: delete - resourcePath: /cspmyimage/{Id} - description: "Delete a specified CSP MyImage." - List-Nlb: - method: get - resourcePath: /nlb - description: "Retrieve a list of Network Load Balancers (NLBs) associated with a specific connection." - Create-Nlb: - method: post - resourcePath: /nlb - description: "Create a new Network Load Balancer (NLB) with specified configurations. 🕷️ [[Concept Guide](https://github.com/cloud-barista/cb-spider/wiki/Network-Load-Balancer-and-Driver-API)]" - Get-Vm-Using-Rs: - method: get - resourcePath: /getvmusingresources - description: "Retrieve details of a VM using resource ID." - Health-Check-Health: - method: get - resourcePath: /health - description: "Checks the health of CB-Spider service and its dependencies via /health endpoint. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/Readiness-Check-Guide)]" - Get-Myimage: - method: get - resourcePath: /myimage/{Name} - description: "Retrieve details of a specific MyImage." - Delete-Myimage: - method: delete - resourcePath: /myimage/{Name} - description: "Delete a specified MyImage." - Count-All-Securitygroups: - method: get - resourcePath: /countsecuritygroup - description: "Get the total number of Security Groups across all connections." - Count-Subnets-By-Connection: - method: get - resourcePath: /countsubnet/{ConnectionName} - description: "Get the total number of Subnets for a specific connection." - Count-Vms-By-Connection: - method: get - resourcePath: /countvm/{ConnectionName} - description: "Get the total number of Virtual Machines (VMs) for a specific connection." - Get-Cloud-Driver: - method: get - resourcePath: /driver/{DriverName} - description: "Retrieve details of a specific Cloud Driver." - Unregister-Cloud-Driver: - method: delete - resourcePath: /driver/{DriverName} - description: "Unregister a specific Cloud Driver." - - - cb-tumblebug: - GetAllSecurityGroup: - method: get - resourcePath: /ns/{nsId}/resources/securityGroup - description: "List all Security Groups or Security Groups' ID" - PostSecurityGroup: - method: post - resourcePath: /ns/{nsId}/resources/securityGroup - description: "Create Security Group" - DelAllSecurityGroup: - method: delete - resourcePath: /ns/{nsId}/resources/securityGroup - description: "Delete all Security Groups" - GetProviderList: - method: get - resourcePath: /provider - description: "List all registered Providers" - GetResourcesByLabelSelector: - method: get - resourcePath: /resources/{labelType} - description: "Get resources based on a label selector. The label selector supports the following operators:\n- `=` : Selects resources where the label key equals the specified value (e.g., `env=production`).\n- `!=` : Selects resources where the label key does not equal the specified value (e.g., `tier!=frontend`).\n- `in` : Selects resources where the label key is in the specified set of values (e.g., `region in (us-west, us-east)`).\n- `notin` : Selects resources where the label key is not in the specified set of values (e.g., `env notin (production, staging)`).\n- `exists` : Selects resources where the label key exists (e.g., `env exists`).\n- `!exists` : Selects resources where the label key does not exist (e.g., `env !exists`)." - GetK8sClusterInfo: - method: get - resourcePath: /k8sClusterInfo - description: "Get kubernetes cluster information" - DelAllDataDisk: - method: delete - resourcePath: /ns/{nsId}/resources/dataDisk - description: "Delete all Data Disks" - GetAllDataDisk: - method: get - resourcePath: /ns/{nsId}/resources/dataDisk - description: "List all Data Disks or Data Disks' ID" - PostDataDisk: - method: post - resourcePath: /ns/{nsId}/resources/dataDisk - description: "Create Data Disk" - PostSubnet: - method: post - resourcePath: /ns/{nsId}/resources/vNet/{vNetId}/subnet - description: "Create Subnet" - GetAllSubnet: - method: get - resourcePath: /ns/{nsId}/resources/vNet/{vNetId}/subnet - description: "List all subnets (metadata)" - GetLabels: - method: get - resourcePath: /label/{labelType}/{uid} - description: "Get labels for a resource identified by its uid" - CreateOrUpdateLabel: - method: put - resourcePath: /label/{labelType}/{uid} - description: "Create or update a label for a resource identified by its uid" - PutSetK8sNodeGroupAutoscaling: - method: put - resourcePath: /ns/{nsId}/k8scluster/{k8sClusterId}/k8snodegroup/{k8sNodeGroupName}/onautoscaling - description: "Set a K8sNodeGroup's Autoscaling On/Off" - DelMci: - method: delete - resourcePath: /ns/{nsId}/mci/{mciId} - description: "Delete MCI" - GetMci: - method: get - resourcePath: /ns/{nsId}/mci/{mciId} - description: "Get MCI object (option: status, accessInfo, vmId)" - LoadAssets: - method: get - resourcePath: /loadAssets - description: "Load Common Resources from internal asset files (Spec, Image)" - PostRegisterVNet: - method: post - resourcePath: /ns/{nsId}/registerCspResource/vNet - description: "Register the VNet, which was created in CSP" - PostSshKey: - method: post - resourcePath: /ns/{nsId}/resources/sshKey - description: "Create SSH Key" - DelAllSshKey: - method: delete - resourcePath: /ns/{nsId}/resources/sshKey - description: "Delete all SSH Keys" - GetAllSshKey: - method: get - resourcePath: /ns/{nsId}/resources/sshKey - description: "List all SSH Keys or SSH Keys' ID" - GetObject: - method: get - resourcePath: /object - description: "Get value of an object" - DeleteObject: - method: delete - resourcePath: /object - description: "Delete an object" - GetAvailableK8sClusterNodeImage: - method: get - resourcePath: /availableK8sClusterNodeImage - description: "Get available kubernetes cluster node image" - InspectResourcesOverview: - method: get - resourcePath: /inspectResourcesOverview - description: "Inspect Resources Overview (vNet, securityGroup, sshKey, vm) registered in CB-Tumblebug and CSP for all connections" - GetNLB: - method: get - resourcePath: /ns/{nsId}/mci/{mciId}/nlb/{nlbId} - description: "Get NLB" - DelNLB: - method: delete - resourcePath: /ns/{nsId}/mci/{mciId}/nlb/{nlbId} - description: "Delete NLB" - PostFirewallRules: - method: post - resourcePath: /ns/{nsId}/resources/securityGroup/{securityGroupId}/rules - description: "Create FirewallRules" - DelFirewallRules: - method: delete - resourcePath: /ns/{nsId}/resources/securityGroup/{securityGroupId}/rules - description: "Delete FirewallRules" - DelVNet: - method: delete - resourcePath: /ns/{nsId}/resources/vNet/{vNetId} - description: "Delete VNet" - GetVNet: - method: get - resourcePath: /ns/{nsId}/resources/vNet/{vNetId} - description: "Get VNet" - RegisterCredential: - method: post - resourcePath: /credential - description: "This API registers credential information using hybrid encryption. The process involves compressing and encrypting sensitive data with AES-256, encrypting the AES key with a 4096-bit RSA public key (retrieved via `GET /credential/publicKey`), and using OAEP padding with SHA-256. All values, including the AES key, must be base64 encoded before sending, and the public key token ID must be included in the request." - GetSitesInMci: - method: get - resourcePath: /ns/{nsId}/mci/{mciId}/site - description: "Get sites in MCI" - PutUpgradeK8sCluster: - method: put - resourcePath: /ns/{nsId}/k8scluster/{k8sClusterId}/upgrade - description: "Upgrade a K8sCluster's version" - GetNLBHealth: - method: get - resourcePath: /ns/{nsId}/mci/{mciId}/nlb/{nlbId}/healthz - description: "Get NLB Health" - GetSiteToSiteVpn: - method: get - resourcePath: /ns/{nsId}/mci/{mciId}/vpn/{vpnId} - description: "Get resource info of a site-to-site VPN (Currently, GCP-AWS is supported)" - DelDataDisk: - method: delete - resourcePath: /ns/{nsId}/resources/dataDisk/{dataDiskId} - description: "Delete Data Disk" - GetDataDisk: - method: get - resourcePath: /ns/{nsId}/resources/dataDisk/{dataDiskId} - description: "Get Data Disk" - PutDataDisk: - method: put - resourcePath: /ns/{nsId}/resources/dataDisk/{dataDiskId} - description: "Upsize Data Disk" - PostVNet: - method: post - resourcePath: /ns/{nsId}/resources/vNet - description: "Create a new VNet" - DelAllVNet: - method: delete - resourcePath: /ns/{nsId}/resources/vNet - description: "Delete all VNets" - GetAllVNet: - method: get - resourcePath: /ns/{nsId}/resources/vNet - description: "List all VNets or VNets' ID" - RemoveLabel: - method: delete - resourcePath: /label/{labelType}/{uid}/{key} - description: "Remove a label from a resource identified by its uid" - PostInstallBenchmarkAgentToMci: - method: post - resourcePath: /ns/{nsId}/installBenchmarkAgent/mci/{mciId} - description: "Install the benchmark agent to specified MCI" - GetMciGroupIds: - method: get - resourcePath: /ns/{nsId}/mci/{mciId}/subgroup - description: "List SubGroup IDs in a specified MCI" - GetMciGroupVms: - method: get - resourcePath: /ns/{nsId}/mci/{mciId}/subgroup/{subgroupId} - description: "List VMs with a SubGroup label in a specified MCI" - PostMciSubGroupScaleOut: - method: post - resourcePath: /ns/{nsId}/mci/{mciId}/subgroup/{subgroupId} - description: "ScaleOut subGroup in specified MCI" - GetRequest: - method: get - resourcePath: /request/{reqId} - description: "Get details of a specific request" - DeleteRequest: - method: delete - resourcePath: /request/{reqId} - description: "Delete details of a specific request" - PostUtilToValidateNetwork: - method: post - resourcePath: /util/net/validate - description: "Validate a hierarchical configuration of a VPC network or multi-cloud network consisting of multiple VPC networks" - TestJWTAuth: - method: get - resourcePath: /auth/test - description: "Test JWT authentication" - GetBenchmark: - method: post - resourcePath: /ns/{nsId}/benchmark/mci/{mciId} - description: "Run MCI benchmark for a single performance metric and return results" - CheckNodeGroupsOnK8sCreation: - method: get - resourcePath: /checkNodeGroupsOnK8sCreation - description: "Check whether nodegroups are required during the k8scluster creation" - GetConnConfig: - method: get - resourcePath: /connConfig/{connConfigName} - description: "Get registered ConnConfig info" - LookupImage: - method: post - resourcePath: /lookupImage - description: "Lookup image" - PostRegisterCSPNativeVM: - method: post - resourcePath: /ns/{nsId}/registerCspVm - description: "Register existing VM in a CSP to Cloud-Barista MCI" - GetReadyz: - method: get - resourcePath: /readyz - description: "Check Tumblebug is ready" - DelNs: - method: delete - resourcePath: /ns/{nsId} - description: "Delete namespace" - GetNs: - method: get - resourcePath: /ns/{nsId} - description: "Get namespace" - PutNs: - method: put - resourcePath: /ns/{nsId} - description: "Update namespace" - DeleteK8sCluster: - method: delete - resourcePath: /ns/{nsId}/k8scluster/{k8sClusterId} - description: "Delete K8sCluster" - GetK8sCluster: - method: get - resourcePath: /ns/{nsId}/k8scluster/{k8sClusterId} - description: "Get K8sCluster" - PostK8sNodeGroup: - method: post - resourcePath: /ns/{nsId}/k8scluster/{k8sClusterId}/k8snodegroup - description: "Add a K8sNodeGroup" - PostMcNLB: - method: post - resourcePath: /ns/{nsId}/mci/{mciId}/mcSwNlb - description: "Create a special purpose MCI for NLB and depoly and setting SW NLB" - GetAllBenchmark: - method: post - resourcePath: /ns/{nsId}/benchmarkAll/mci/{mciId} - description: "Run MCI benchmark for all performance metrics and return results" - GetObjects: - method: get - resourcePath: /objects - description: "List all objects for a given key" - DeleteObjects: - method: delete - resourcePath: /objects - description: "Delete child objects along with the given object" - RegisterCspNativeResources: - method: post - resourcePath: /registerCspResources - description: "Register CSP Native Resources (vNet, securityGroup, sshKey, vm) to CB-Tumblebug" - GetControlMci: - method: get - resourcePath: /ns/{nsId}/control/mci/{mciId} - description: "Control the lifecycle of MCI (refine, suspend, resume, reboot, terminate)" - GetImage: - method: get - resourcePath: /ns/{nsId}/resources/image/{imageId} - description: "Get image" - PutImage: - method: put - resourcePath: /ns/{nsId}/resources/image/{imageId} - description: "Update image" - DelImage: - method: delete - resourcePath: /ns/{nsId}/resources/image/{imageId} - description: "Delete image" - SearchImage: - method: post - resourcePath: /ns/{nsId}/resources/searchImage - description: "Search image" - PostUtilToDesignNetwork: - method: post - resourcePath: /util/net/design - description: "Design a hierarchical network configuration of a VPC network or multi-cloud network consisting of multiple VPC networks" - PostMciVmDynamic: - method: post - resourcePath: /ns/{nsId}/mci/{mciId}/vmDynamic - description: "Create VM Dynamically and add it to MCI" - PutSiteToSiteVpn: - method: put - resourcePath: /stream-response/ns/{nsId}/mci/{mciId}/vpn/{vpnId} - description: "(To be provided) Update a site-to-site VPN" - PostSiteToSiteVpn: - method: post - resourcePath: /stream-response/ns/{nsId}/mci/{mciId}/vpn/{vpnId} - description: "Create a site-to-site VPN (Currently, GCP-AWS is supported)" - DeleteSiteToSiteVpn: - method: delete - resourcePath: /stream-response/ns/{nsId}/mci/{mciId}/vpn/{vpnId} - description: "Delete a site-to-site VPN (Currently, GCP-AWS is supported)" - PostInstallMonitorAgentToMci: - method: post - resourcePath: /ns/{nsId}/monitoring/install/mci/{mciId} - description: "Install monitoring agent (CB-Dragonfly agent) to MCI" - CheckHTTPVersion: - method: get - resourcePath: /httpVersion - description: "Checks and logs the HTTP version of the incoming request to the server console." - GetControlMciVm: - method: get - resourcePath: /ns/{nsId}/control/mci/{mciId}/vm/{vmId} - description: "Control the lifecycle of VM (suspend, resume, reboot, terminate)" - GetAllMciPolicy: - method: get - resourcePath: /ns/{nsId}/policy/mci - description: "List all MCI policies" - DelAllMciPolicy: - method: delete - resourcePath: /ns/{nsId}/policy/mci - description: "Delete all MCI policies" - LookupSpec: - method: post - resourcePath: /lookupSpec - description: "Lookup spec" - CheckResource: - method: get - resourcePath: /ns/{nsId}/checkResource/{resourceType}/{resourceId} - description: "Check resources' existence" - DeleteDeregisterSubnet: - method: delete - resourcePath: /ns/{nsId}/deregisterCspResource/vNet/{vNetId}/subnet/{subnetId} - description: "Deregister Subnet, which was created in CSP" - GetVmDataDisk: - method: get - resourcePath: /ns/{nsId}/mci/{mciId}/vm/{vmId}/dataDisk - description: "Get available dataDisks for a VM" - PutVmDataDisk: - method: put - resourcePath: /ns/{nsId}/mci/{mciId}/vm/{vmId}/dataDisk - description: "Attach/Detach available dataDisk" - PostVmDataDisk: - method: post - resourcePath: /ns/{nsId}/mci/{mciId}/vm/{vmId}/dataDisk - description: "Provisioning (Create and attach) dataDisk" - PutMonitorAgentStatusInstalled: - method: put - resourcePath: /ns/{nsId}/monitoring/status/mci/{mciId}/vm/{vmId} - description: "Set monitoring agent (CB-Dragonfly agent) installation status installed (for Windows VM only)" - PostUtilToDesignVNet: - method: post - resourcePath: /util/vNet/design - description: "Design VNet and subnets based on user-friendly properties" - GetCloudInfo: - method: get - resourcePath: /cloudInfo - description: "Get cloud information" - LookupSpecList: - method: post - resourcePath: /lookupSpecs - description: "Lookup spec list" - PostMciDynamicCheckRequest: - method: post - resourcePath: /mciDynamicCheckRequest - description: "Check available ConnectionConfig list before create MCI Dynamically from common spec and image" - DeleteK8sNodeGroup: - method: delete - resourcePath: /ns/{nsId}/k8scluster/{k8sClusterId}/k8snodegroup/{k8sNodeGroupName} - description: "Remove a K8sNodeGroup" - GetMciPolicy: - method: get - resourcePath: /ns/{nsId}/policy/mci/{mciId} - description: "Get MCI Policy" - PostMciPolicy: - method: post - resourcePath: /ns/{nsId}/policy/mci/{mciId} - description: "Create MCI Automation policy" - DelMciPolicy: - method: delete - resourcePath: /ns/{nsId}/policy/mci/{mciId} - description: "Delete MCI Policy" - GetSecurityGroup: - method: get - resourcePath: /ns/{nsId}/resources/securityGroup/{securityGroupId} - description: "Get Security Group" - DelSecurityGroup: - method: delete - resourcePath: /ns/{nsId}/resources/securityGroup/{securityGroupId} - description: "Delete Security Group" - GetSshKey: - method: get - resourcePath: /ns/{nsId}/resources/sshKey/{sshKeyId} - description: "Get SSH Key" - PutSshKey: - method: put - resourcePath: /ns/{nsId}/resources/sshKey/{sshKeyId} - description: "Update SSH Key" - DelSshKey: - method: delete - resourcePath: /ns/{nsId}/resources/sshKey/{sshKeyId} - description: "Delete SSH Key" - DeleteDeregisterVNet: - method: delete - resourcePath: /ns/{nsId}/deregisterCspResource/vNet/{vNetId} - description: "Deregister the VNet, which was created in CSP" - PostRegisterSubnet: - method: post - resourcePath: /ns/{nsId}/registerCspResource/vNet/{vNetId}/subnet - description: "Register Subnet, which was created in CSP" - FetchImages: - method: post - resourcePath: /ns/{nsId}/resources/fetchImages - description: "Fetch images" - AddNLBVMs: - method: post - resourcePath: /ns/{nsId}/mci/{mciId}/nlb/{nlbId}/vm - description: "Add VMs to NLB" - RemoveNLBVMs: - method: delete - resourcePath: /ns/{nsId}/mci/{mciId}/nlb/{nlbId}/vm - description: "Delete VMs from NLB" - GetAllCustomImage: - method: get - resourcePath: /ns/{nsId}/resources/customImage - description: "List all customImages or customImages' ID" - PostCustomImage: - method: post - resourcePath: /ns/{nsId}/resources/customImage - description: "Register existing Custom Image in a CSP (option=register)" - DelAllCustomImage: - method: delete - resourcePath: /ns/{nsId}/resources/customImage - description: "Delete all customImages" - DelSubnet: - method: delete - resourcePath: /ns/{nsId}/resources/vNet/{vNetId}/subnet/{subnetId} - description: "Delete Subnet" - GetSubnet: - method: get - resourcePath: /ns/{nsId}/resources/vNet/{vNetId}/subnet/{subnetId} - description: "Get Subnet (metadata)" - GetRegions: - method: get - resourcePath: /provider/{providerName}/region - description: "Get registered region info" - InitConfig: - method: delete - resourcePath: /config/{configId} - description: "Init config" - GetConfig: - method: get - resourcePath: /config/{configId} - description: "Get config" - RecommendVm: - method: post - resourcePath: /mciRecommendVm - description: "Recommend MCI plan (filter and priority) Find details from https://github.com/cloud-barista/cb-tumblebug/discussions/1234" - DelAllMci: - method: delete - resourcePath: /ns/{nsId}/mci - description: "Delete all MCIs" - GetAllMci: - method: get - resourcePath: /ns/{nsId}/mci - description: "List all MCIs or MCIs' ID" - PostMci: - method: post - resourcePath: /ns/{nsId}/mci - description: "Create MCI" - PostMciVm: - method: post - resourcePath: /ns/{nsId}/mci/{mciId}/vm - description: "Create and add homogeneous VMs(subGroup) to a specified MCI (Set subGroupSize for multiple VMs)" - SetBastionNodes: - method: put - resourcePath: /ns/{nsId}/mci/{mciId}/vm/{targetVmId}/bastion/{bastionVmId} - description: "Set bastion nodes for a VM" - PostSpec: - method: post - resourcePath: /ns/{nsId}/resources/spec - description: "Register spec" - CreateSharedResource: - method: post - resourcePath: /ns/{nsId}/sharedResource - description: "Create shared resources for MC-Infra" - GetRegion: - method: get - resourcePath: /provider/{providerName}/region/{regionName} - description: "Get registered region info" - RegisterCspNativeResourcesAll: - method: post - resourcePath: /registerCspResourcesAll - description: "Register CSP Native Resources (vNet, securityGroup, sshKey, vm) from all Clouds to CB-Tumblebug" - GetAvailableK8sClusterVersion: - method: get - resourcePath: /availableK8sClusterVersion - description: "Get available kubernetes cluster version" - GetConnConfigList: - method: get - resourcePath: /connConfig - description: "List all registered ConnConfig" - GetLatencyBenchmark: - method: get - resourcePath: /ns/{nsId}/benchmarkLatency/mci/{mciId} - description: "Run MCI benchmark for network latency" - PutChangeK8sNodeGroupAutoscaleSize: - method: put - resourcePath: /ns/{nsId}/k8scluster/{k8sClusterId}/k8snodegroup/{k8sNodeGroupName}/autoscalesize - description: "Change a K8sNodeGroup's Autoscale Size" - FetchSpecs: - method: post - resourcePath: /ns/{nsId}/resources/fetchSpecs - description: "Fetch specs" - GetAllConfig: - method: get - resourcePath: /config - description: "List all configs" - PostConfig: - method: post - resourcePath: /config - description: "Create or Update config (TB_SPIDER_REST_URL, TB_DRAGONFLY_REST_URL, ...)" - InitAllConfig: - method: delete - resourcePath: /config - description: "Init all configs" - PostCmdMci: - method: post - resourcePath: /ns/{nsId}/cmd/mci/{mciId} - description: "Send a command to specified MCI" - PostK8sCluster: - method: post - resourcePath: /ns/{nsId}/k8scluster - description: "Create K8sCluster
Find details from https://github.com/cloud-barista/cb-tumblebug/discussions/1614" - DeleteAllK8sCluster: - method: delete - resourcePath: /ns/{nsId}/k8scluster - description: "Delete all K8sClusters" - GetAllK8sCluster: - method: get - resourcePath: /ns/{nsId}/k8scluster - description: "List all K8sClusters or K8sClusters' ID" - GetCustomImage: - method: get - resourcePath: /ns/{nsId}/resources/customImage/{customImageId} - description: "Get customImage" - DelCustomImage: - method: delete - resourcePath: /ns/{nsId}/resources/customImage/{customImageId} - description: "Delete customImage" - GetAllImage: - method: get - resourcePath: /ns/{nsId}/resources/image - description: "List all images or images' ID" - PostImage: - method: post - resourcePath: /ns/{nsId}/resources/image - description: "Register image" - DelAllImage: - method: delete - resourcePath: /ns/{nsId}/resources/image - description: "Delete all images" - GetPublicKeyForCredentialEncryption: - method: get - resourcePath: /credential/publicKey - description: "Generates an RSA key pair using a 4096-bit key size with the RSA algorithm. The public key is generated using the RSA algorithm with OAEP padding and SHA-256 as the hash function. This key is used to encrypt an AES key that will be used for hybrid encryption of credentials." - LookupImageList: - method: post - resourcePath: /lookupImages - description: "Lookup image list" - GetMonitorData: - method: get - resourcePath: /ns/{nsId}/monitoring/mci/{mciId}/metric/{metric} - description: "Get monitoring data of specified MCI for specified monitoring metric (cpu, memory, disk, network)" - GetMciVm: - method: get - resourcePath: /ns/{nsId}/mci/{mciId}/vm/{vmId} - description: "Get VM in specified MCI" - DelMciVm: - method: delete - resourcePath: /ns/{nsId}/mci/{mciId}/vm/{vmId} - description: "Delete VM in specified MCI" - DelAllSharedResources: - method: delete - resourcePath: /ns/{nsId}/sharedResources - description: "Delete all Default Resource Objects in the given namespace" - RemoveBastionNodes: - method: delete - resourcePath: /ns/{nsId}/mci/{mciId}/bastion/{bastionVmId} - description: "Remove a bastion VM from all vNets" - DelAllNLB: - method: delete - resourcePath: /ns/{nsId}/mci/{mciId}/nlb - description: "Delete all NLBs" - GetAllNLB: - method: get - resourcePath: /ns/{nsId}/mci/{mciId}/nlb - description: "List all NLBs or NLBs' ID" - PostNLB: - method: post - resourcePath: /ns/{nsId}/mci/{mciId}/nlb - description: "Create NLB" - GetBastionNodes: - method: get - resourcePath: /ns/{nsId}/mci/{mciId}/vm/{targetVmId}/bastion - description: "Get bastion nodes for a VM" - InspectResources: - method: post - resourcePath: /inspectResources - description: "Inspect Resources (vNet, securityGroup, sshKey, vm) registered in CB-Tumblebug, CB-Spider, CSP" - GetAllNs: - method: get - resourcePath: /ns - description: "List all namespaces or namespaces' ID" - PostNs: - method: post - resourcePath: /ns - description: "Create namespace" - DelAllNs: - method: delete - resourcePath: /ns - description: "Delete all namespaces" - FilterSpecsByRange: - method: post - resourcePath: /ns/{nsId}/resources/filterSpecsByRange - description: "Filter specs by range" - GetSpec: - method: get - resourcePath: /ns/{nsId}/resources/spec/{specId} - description: "Get spec" - PutSpec: - method: put - resourcePath: /ns/{nsId}/resources/spec/{specId} - description: "Update spec" - DelSpec: - method: delete - resourcePath: /ns/{nsId}/resources/spec/{specId} - description: "Delete spec" - ForwardAnyReqToAny: - method: post - resourcePath: /forward/{path} - description: "Forward any (GET) request to CB-Spider" - PostMciVmSnapshot: - method: post - resourcePath: /ns/{nsId}/mci/{mciId}/vm/{vmId}/snapshot - description: "Snapshot VM and create a Custom Image Object using the Snapshot" - GetRequestStatusOfSiteToSiteVpn: - method: get - resourcePath: /ns/{nsId}/mci/{mciId}/vpn/{vpnId}/request/{requestId} - description: "Check the status of a specific request by its ID" - PostMciDynamic: - method: post - resourcePath: /ns/{nsId}/mciDynamic - description: "Create MCI Dynamically from common spec and image" - RetrieveRegionListFromCsp: - method: get - resourcePath: /regionFromCsp - description: "RetrieveR all region lists from CSPs" - GetAllRequests: - method: get - resourcePath: /requests - description: "Get details of all requests with optional filters." - DeleteAllRequests: - method: delete - resourcePath: /requests - description: "Delete details of all requests" - PostSystemMci: - method: post - resourcePath: /systemMci - description: "Create System MCI Dynamically for Special Purpose" - - - cm-beetle: - DeleteInfra: - method: delete - resourcePath: /migration/ns/{nsId}/mci/{mciId} - description: "Delete the migrated mult-cloud infrastructure (MCI)" - GetInfra: - method: get - resourcePath: /migration/ns/{nsId}/mci/{mciId} - description: "Get the migrated multi-cloud infrastructure (MCI)" - BeetleReadyz: - method: get - resourcePath: /readyz - description: "Check Beetle is ready" - RecommendInfra: - method: post - resourcePath: /recommendation/mci - description: "Recommend an appropriate multi-cloud infrastructure (MCI) for cloud migration" - CreateUser: - method: post - resourcePath: /sample/users - description: "Create a new user with the given information." - GetUsers: - method: get - resourcePath: /sample/users - description: "Get information of all users." - GetUser: - method: get - resourcePath: /sample/users/{id} - description: "Get information of a user with a specific ID." - UpdateUser: - method: put - resourcePath: /sample/users/{id} - description: "Update a user with the given information." - DeleteUser: - method: delete - resourcePath: /sample/users/{id} - description: "Delete a user with the given information." - PatchUser: - method: patch - resourcePath: /sample/users/{id} - description: "Patch a user with the given information." - HttpVersion: - method: get - resourcePath: /httpVersion - description: "Checks and logs the HTTP version of the incoming request to the server console." - MigrateInfra: - method: post - resourcePath: /migration/ns/{nsId}/mci - description: "Migrate an infrastructure to the multi-cloud infrastructure (MCI)" - - - cm-ant: - GetLoadTestMetrics: - method: get - resourcePath: /api/v1/load/test/metrics - description: "Retrieve load test metrics based on provided parameters." - GetLoadTestExecutionState: - method: get - resourcePath: /api/v1/load/tests/state/{loadTestKey} - description: "Retrieve a load test execution state by load test key." - GetLoadTestExecutionInfo: - method: get - resourcePath: /api/v1/load/tests/infos/{loadTestKey} - description: "Retrieve the load test execution state information for a specific load test key." - RunLoadTest: - method: post - resourcePath: /api/v1/load/tests/run - description: "Start a load test using the provided load test configuration." - StopLoadTest: - method: post - resourcePath: /api/v1/load/tests/stop - description: "Stop a running load test using the provided load test key." - InstallLoadGenerator: - method: post - resourcePath: /api/v1/load/generators - description: "Install a load generator either locally or remotely." - GetAllLoadGeneratorInstallInfo: - method: get - resourcePath: /api/v1/load/generators - description: "Retrieve a list of all installed load generators with pagination support." - InstallMonitoringAgent: - method: post - resourcePath: /api/v1/load/monitoring/agent/install - description: "Install a monitoring agent on specific mci." - GetLoadTestResult: - method: get - resourcePath: /api/v1/load/test/result - description: "Retrieve load test result based on provided parameters." - GetAllLoadTestExecutionInfos: - method: get - resourcePath: /api/v1/load/tests/infos - description: "Retrieve a list of all load test execution information with pagination support." - UninstallLoadGenerator: - method: delete - resourcePath: /api/v1/load/generators/{loadGeneratorInstallInfoId} - description: "Uninstall a previously installed load generator." - GetAllMonitoringAgentInfos: - method: get - resourcePath: /api/v1/load/monitoring/agents - description: "Retrieve monitoring agent information based on specified criteria." - UninstallMonitoringAgent: - method: post - resourcePath: /api/v1/load/monitoring/agents/uninstall - description: "Uninstall monitoring agents from specified VMs or all VMs in an mci." - GetCostInfo: - method: get - resourcePath: /api/v1/cost/info - description: "Retrieve cost information for specified parameters within a defined date range. The date range must be within a 6-month period. Optionally, you can specify cost aggregation type and date order for the results." - UpdateCostInfo: - method: post - resourcePath: /api/v1/cost/info - description: "Update cost information for specified resources, including details such as migration ID, cost resources, and additional AWS info if applicable. The request body must include a valid migration ID and a list of cost resources. If AWS-specific details are provided, ensure all required fields are populated." - GetAllLoadTestExecutionState: - method: get - resourcePath: /api/v1/load/tests/state - description: "Retrieve a list of all load test execution states with pagination support." - GetPriceInfos: - method: get - resourcePath: /api/v1/price/info - description: "Retrieve pricing information for cloud resources based on specified query parameters. Returns price data based on provider, region, instance type, vCPU, memory, and OS type. It offer instances with the lowest monthly prices what in the database." - UpdatePriceInfos: - method: post - resourcePath: /api/v1/price/info - description: "Retrieve pricing information for cloud resources based on specified parameters. If saved data is more than 7 days, fetch new data and insert new price data even if same price as before." - - - cm-honeybee: - Get-Software-Info-Source-Group: - method: get - resourcePath: /source_group/{sgId}/software - description: "Get the software information for all connections in the source group." - Get-Benchmark-Info: - method: get - resourcePath: /bench/{connId} - description: "Get the benchmark information of the connection information." - Get-Connection-Info-Directly: - method: get - resourcePath: /connection_info/{connId} - description: "Get the connection information directly." - Health-Check-Readyz: - method: get - resourcePath: /readyz - description: "Check Honeybee is ready" - Get-Source-Group: - method: get - resourcePath: /source_group/{sgId} - description: "Get the source group." - Update-Source-Group: - method: put - resourcePath: /source_group/{sgId} - description: "Update the source group." - Delete-Source-Group: - method: delete - resourcePath: /source_group/{sgId} - description: "Delete the source group." - Get-Infra-Info-Source-Group: - method: get - resourcePath: /source_group/{sgId}/infra - description: "Get the infra information for all connections in the source group." - Run-Benchmark-Info: - method: get - resourcePath: /bench/{connId}/run - description: "Run the benchmark information of the connection information. If no Benchmark Agent is present on the connected server, it will be automatically installed, and the benchmark will be executed." - Import-Infra: - method: post - resourcePath: /source_group/{sgId}/connection_info/{connId}/import/infra - description: "Import the infra information." - Get-Infra-Info: - method: get - resourcePath: /source_group/{sgId}/connection_info/{connId}/infra - description: "Get the infra information of the connection information." - Get-Kubernetes-Info-Source-Group: - method: get - resourcePath: /source_group/{sgId}/kubernetes - description: "Get the kubernetes information for all connections in the source group." - Import-Kubernetes: - method: post - resourcePath: /source_group/{sgId}/connection_info/{connId}/import/kubernetes - description: "Import the kubernetes information." - Get-Kubernetes-Info: - method: get - resourcePath: /source_group/{sgId}/connection_info/{connId}/kubernetes - description: "Get the kubernetes information of the connection information." - Import-Infra-Source-Group: - method: post - resourcePath: /source_group/{sgId}/import/infra - description: "Import infra information for all connections in the source group." - Stop-Benchmark: - method: get - resourcePath: /bench/{connId}/stop - description: "Stop the benchmark" - List-Source-Group: - method: get - resourcePath: /source_group - description: "Get a list of source group." - Register-Source-Group: - method: post - resourcePath: /source_group - description: "Register the source group." - Check-Agent-Source-Group: - method: get - resourcePath: /source_group/{sgId}/agent_check - description: "Check Agent in source group. Show each status by returning agent info list. If no Agent is present on the connected server, the Agent will be automatically installed." - List-Connection-Info: - method: get - resourcePath: /source_group/{sgId}/connection_info - description: "Get a list of connection information." - Create-Connection-Info: - method: post - resourcePath: /source_group/{sgId}/connection_info - description: "Create the connection information." - Delete-Connection-Info: - method: delete - resourcePath: /source_group/{sgId}/connection_info/{connId} - description: "Delete the connection information." - Get-Connection-Info: - method: get - resourcePath: /source_group/{sgId}/connection_info/{connId} - description: "Get the connection information." - Update-Connection-Info: - method: put - resourcePath: /source_group/{sgId}/connection_info/{connId} - description: "Update the connection information." - Import-Kubernetes-Source-Group: - method: post - resourcePath: /source_group/{sgId}/import/kubernetes - description: "Import kubernetes information for all connections in the source group." - Import-Software-Source-Group: - method: post - resourcePath: /source_group/{sgId}/import/software - description: "Import software information for all connections in the source group." - Check-Connection-Source-Group: - method: get - resourcePath: /source_group/{sgId}/connection_check - description: "Check if SSH connection is available for each connection info in source group. Show each status by returning connection info list." - Import-Software: - method: post - resourcePath: /source_group/{sgId}/connection_info/{connId}/import/software - description: "Import the software information." - Get-Software-Info: - method: get - resourcePath: /source_group/{sgId}/connection_info/{connId}/software - description: "Get the software information of the connection information." - - - cm-cicada: - Get-Task-Component-By-Name: - method: get - resourcePath: /task_component/name/{tcName} - description: "Get the task component by name." - Get-Task: - method: get - resourcePath: /workflow/{wfId}/task/{taskId} - description: "Get the task." - Get-Task-Component: - method: get - resourcePath: /task_component/{tcId} - description: "Get the task component." - Update-Task-Component: - method: put - resourcePath: /task_component/{tcId} - description: "Update the task component." - Delete-Task-Component: - method: delete - resourcePath: /task_component/{tcId} - description: "Delete the task component." - List-Workflow: - method: get - resourcePath: /workflow - description: "Get a workflow list." - Create-Workflow: - method: post - resourcePath: /workflow - description: "Create a workflow." - Get-Workflow: - method: get - resourcePath: /workflow/{wfId} - description: "Get the workflow." - Update-Workflow: - method: put - resourcePath: /workflow/{wfId} - description: "Update the workflow content." - Delete-Workflow: - method: delete - resourcePath: /workflow/{wfId} - description: "Delete the workflow." - Get-Workflow-Template-By-Name: - method: get - resourcePath: /workflow_template/name/{wfName} - description: "Get the workflow template by name." - List-Task: - method: get - resourcePath: /workflow/{wfId}/task - description: "Get a task list of the workflow." - List-Task-Group: - method: get - resourcePath: /workflow/{wfId}/task_group - description: "Get a task group list of the workflow." - Health-Check-Readyz: - method: get - resourcePath: /readyz - description: "Check Cicada is ready" - Get-Task-Directly: - method: get - resourcePath: /task/{taskId} - description: "Get the task directly." - List-Task-Component: - method: get - resourcePath: /task_component - description: "Get a list of task component." - Create-Task-Component: - method: post - resourcePath: /task_component - description: "Register the task component." - Get-Task-Group-Directly: - method: get - resourcePath: /task_group/{tgId} - description: "Get the task group directly." - Get-Workflow-By-Name: - method: get - resourcePath: /workflow/name/{wfName} - description: "Get the workflow by name." - Run-Workflow: - method: post - resourcePath: /workflow/{wfId}/run - description: "Run the workflow." - List-Task-From-Task-Group: - method: get - resourcePath: /workflow/{wfId}/task_group/{tgId}/task - description: "Get a task list from the task group." - Get-Task-From-Task-Group: - method: get - resourcePath: /workflow/{wfId}/task_group/{tgId}/task/{taskId} - description: "Get the task from the task group." - List-Workflow-Template: - method: get - resourcePath: /workflow_template - description: "Get a list of workflow template." - Get-Task-Group: - method: get - resourcePath: /workflow/{wfId}/task_group/{tgId} - description: "Get the task group." - Get-Workflow-Template: - method: get - resourcePath: /workflow_template/{wftId} - description: "Get the workflow template." - - - cm-grasshopper: - Health-Check-Readyz: - method: get - resourcePath: /readyz - description: "Check Grasshopper is ready" - Get-Execution-List: - method: post - resourcePath: /software/execution_list - description: "Get software migration execution list." - Install-Software: - method: post - resourcePath: /software/install - description: "Install pieces of software to target." - Register-Software: - method: post - resourcePath: /software/register - description: "Register the software.

[JSON Body Example]
{\"architecture\":\"x86_64\",\"install_type\":\"ansible\",\"match_names\":[\"telegraf\"],\"name\":\"telegraf\",\"os\":\"Ubuntu\",\"os_version\":\"22.04\",\"version\":\"1.0\"}" - Delete-Software: - method: delete - resourcePath: /software/{softwareId} - description: "Delete the software." - - diff --git a/conf/docker/docker-compose.yaml b/conf/docker/docker-compose.yaml index 0e48a5e..1e7af3b 100644 --- a/conf/docker/docker-compose.yaml +++ b/conf/docker/docker-compose.yaml @@ -89,8 +89,8 @@ services: # https://github.com/cloud-barista/cb-spider/wiki/Docker-based-Start-Guide # https://hub.docker.com/r/cloudbaristaorg/cb-spider cb-spider: - #image: cloudbaristaorg/cb-spider:0.9.2 - image: cloudbaristaorg/cb-spider:edge + image: cloudbaristaorg/cb-spider:0.9.8 + #image: cloudbaristaorg/cb-spider:edge container_name: cb-spider platform: linux/amd64 ports: @@ -127,8 +127,8 @@ services: # https://hub.docker.com/r/cloudbaristaorg/cb-tumblebug # See https://github.com/cloud-barista/cb-tumblebug/blob/main/docker-compose.yaml cb-tumblebug: - # image: cloudbaristaorg/cb-tumblebug:0.9.8 - image: cloudbaristaorg/cb-tumblebug:edge + image: cloudbaristaorg/cb-tumblebug:0.9.22 + #image: cloudbaristaorg/cb-tumblebug:edge container_name: cb-tumblebug platform: linux/amd64 ports: @@ -186,7 +186,7 @@ services: # used by cb-tumblebug # See https://github.com/cloud-barista/cb-tumblebug/blob/main/docker-compose.yaml cb-mapui: - image: cloudbaristaorg/cb-mapui:0.9.3 + image: cloudbaristaorg/cb-mapui:0.9.13 container_name: cb-mapui ports: - target: 1324 @@ -212,7 +212,6 @@ services: cm-beetle: #image: cloudbaristaorg/cm-beetle:0.2.0 image: cloudbaristaorg/cm-beetle:edge - #image: cm-beetle-mzc:edge container_name: cm-beetle platform: linux/amd64 @@ -258,45 +257,19 @@ services: start_period: 10s - # # cm-butterfly - # # https://github.com/cloud-barista/cm-butterfly - # # https://hub.docker.com/r/cloudbaristaorg/cm-butterfly - # cm-butterfly: - # # image: cloudbaristaorg/cm-butterfly:0.2.0 - # image: cloudbaristaorg/cm-butterfly:edge - # container_name: cm-butterfly - # platform: linux/amd64 - # restart: always - # ports: - # - "1234:1234" - # depends_on: - # - cm-beetle - # volumes: - # #- ./conf/cm-cicada/conf:/root/.cm-cicada/conf:rw - # - ./conf/cm-butterfly/conf:/app/conf:rw - # environment: - # - BEETLE_URL=http://cm-beetle:8056/beetle - # - HONEYBEE_URL=http://cm-honeybee:8081/honeybee - # - CICADA_URL=http://cm-cicada:8083/cicada - # - TUMBLE_URL=http://cb-tumblebug:1323/tumblebug - # - SPIDER_URL=http://cb-spider:1024/spider - # #- LoginUser=admin - # #- LoginEmail=admin - # #- LoginPassword=admin - # #- API_USERNAME=default - # #- API_PASSWORD=default - - # cm-butterfly (api) + # If the configuration file location is different, uncomment the lines in the environment section as needed. # https://github.com/cloud-barista/cm-butterfly # https://github.com/cloud-barista/cm-butterfly/blob/main/scripts/docker-compose.yaml # https://github.com/cloud-barista/cm-butterfly/blob/main/api/.env.sample to .env <-- share to cm-butterfly-db # https://github.com/cloud-barista/cm-butterfly/tree/main/api/conf - # https://github.com/cloud-barista/cm-butterfly/tree/main/api/conf/api.yaml.sample to api.yaml - # https://github.com/cloud-barista/cm-butterfly/tree/main/api/conf/authsetting.yaml.sample to authsetting.yaml + # (Not required) https://github.com/cloud-barista/cm-butterfly/tree/main/api/conf/api.yaml.sample to api.yaml + # (Not required) https://github.com/cloud-barista/cm-butterfly/tree/main/api/conf/authsetting.yaml.sample to authsetting.yaml # https://hub.docker.com/r/cloudbaristaorg/cm-butterfly-api cm-butterfly-api: - image: cloudbaristaorg/cm-butterfly-api:latest + #image: cloudbaristaorg/cm-butterfly-api:edge + #image: csescsta/cm-butterfly-api:edge + image: csescsta/cm-butterfly-api:20241101181110-develop container_name: cm-butterfly-api platform: linux/amd64 restart: always @@ -312,11 +285,13 @@ services: - ./conf/cm-butterfly/api/.env volumes: - ./tool/mayfly:/app/tool/mayfly - - ./conf/cm-butterfly/api/conf:/conf/ - environment: - USER_AUTH_DATA_PATH: /conf/user.dat - USER_AUTH_CONF_PATH: /conf/authsetting.yaml - MENU_CONF_DATA_PATH: /conf/menu.yaml + #- ./conf/cm-butterfly/api/conf:/conf/ + - ./conf/cm-butterfly/api/conf/authsetting.yaml:/conf/authsetting.yaml + #- ./conf/cm-butterfly/api/conf/api.yaml:/conf/api.yaml + # environment: + # USER_AUTH_DATA_PATH: /conf/user.dat + # USER_AUTH_CONF_PATH: /conf/authsetting.yaml + # MENU_CONF_DATA_PATH: /conf/menu.yaml healthcheck: # for butterfly-api test: [ "CMD", "/app/tool/mayfly", "rest", "get", "http://cm-butterfly-api:4000/readyz" ] #test: [ "CMD", "curl", "-f", "http://localhost:4000/readyz" ] @@ -333,7 +308,9 @@ services: # https://github.com/cloud-barista/cm-butterfly/blob/main/front/nginx.conf # https://hub.docker.com/r/cloudbaristaorg/cm-butterfly-front cm-butterfly-front: - image: cloudbaristaorg/cm-butterfly-front:latest + #image: cloudbaristaorg/cm-butterfly-front:edge + #image: csescsta/cm-butterfly-front:edge + image: csescsta/cm-butterfly-front:20241101181110-develop container_name: cm-butterfly-front platform: linux/amd64 restart: always @@ -399,6 +376,28 @@ services: start_period: 10s #network_mode: "host" + # cm-damselfly + # https://github.com/cloud-barista/cm-damselfly + # https://hub.docker.com/r/cloudbaristaorg/cm-damselfly + cm-damselfly: + # image: cloudbaristaorg/cm-damselfly:edge + image: cloudbaristaorg/cm-damselfly:0.2.0 + container_name: cm-damselfly + platform: linux/amd64 + ports: + - target: 8088 + published: 8088 + protocol: tcp + volumes: + - ./tool/mayfly:/app/tool/mayfly + #- ./conf/cm-damselfly/conf:/app/conf/ + healthcheck: # for CM-Beetle + test: [ "CMD", "/app/tool/mayfly", "rest", "get", "http://cm-damselfly:8088/damselfly/readyz" ] + interval: 10m + timeout: 5s + retries: 3 + start_period: 10s + # cm-cicada # https://github.com/cloud-barista/cm-cicada @@ -510,7 +509,8 @@ services: # See https://github.com/cloud-barista/cm-grasshopper/blob/main/docker-compose.yaml cm-grasshopper: #image: cloudbaristaorg/cm-grasshopper:0.2.0 - image: cloudbaristaorg/cm-grasshopper:edge + image: cloudbaristaorg/cm-grasshopper:0.2.1 + #image: cloudbaristaorg/cm-grasshopper:edge container_name: cm-grasshopper restart: always ports: @@ -552,7 +552,7 @@ services: # https://hub.docker.com/r/cloudbaristaorg/cm-ant cm-ant: container_name: cm-ant - # image: cloudbaristaorg/cm-ant:0.2.1 + # image: cloudbaristaorg/cm-ant:0.2.3 image: cloudbaristaorg/cm-ant:edge platform: linux/amd64 ports: @@ -603,52 +603,53 @@ services: - # mc-data-manger - # [required] /conf/mc-data-manger/data/var/run/data-manager/profile/sample.json -> profile.json copy - # https://github.com/cloud-barista/mc-data-manager - # https://github.com/cloud-barista/mc-data-manager/blob/main/docker-compose.yaml - # https://github.com/cloud-barista/mc-data-manager/blob/main/.env - # https://hub.docker.com/r/cloudbaristaorg/mc-data-manager - mc-data-manger: - container_name: mc-data-manger - image: cloudbaristaorg/mc-data-manager:edge - platform: linux/amd64 - tty: true - ports: - - "3300:3300" - restart : always - volumes: - #- ./data/mc-data-manger:/app/data/ - - ./conf/mc-data-manger/data:/app/data/ - - ./data/mc-data-manger/log:/app/data/var/log - - /etc/localtime:/etc/localtime:ro - env_file: - - ./conf/mc-data-manger/.env - depends_on: - - mc-data-manger-init-chown-volumes - healthcheck: - test: ["CMD", "curl", "-f", "http://mc-data-manger:3300/readyZ"] - # test: [ "CMD", "/app/tool/mayfly", "rest", "get", "http://mc-data-manger:3300/data-manger/readyz" ] - interval: 10m - timeout: 5s - retries: 5 - start_period: 10s - - - # mc-data-manger init-chown-volumes - # https://github.com/cloud-barista/mc-data-manager - # https://github.com/cloud-barista/mc-data-manager/blob/main/docker-compose.yaml - # https://github.com/cloud-barista/mc-data-manager/blob/main/.env - mc-data-manger-init-chown-volumes: - image: busybox - command: ["sh", "-c", "chown -R ${UID:-0}:${GID:-0} /app/data"] - volumes: - #- ./data/mc-data-manger:/app/data/ - - ./conf/mc-data-manger/data:/app/data/ - user: root - env_file: - - ./conf/mc-data-manger/.env - init: true + # # mc-data-manger + # # [required] /conf/mc-data-manger/data/var/run/data-manager/profile/sample.json -> profile.json copy + # # https://github.com/cloud-barista/mc-data-manager + # # https://github.com/cloud-barista/mc-data-manager/blob/main/docker-compose.yaml + # # https://github.com/cloud-barista/mc-data-manager/blob/main/.env + # # https://hub.docker.com/r/cloudbaristaorg/mc-data-manager + # mc-data-manger: + # container_name: mc-data-manger + # image: cloudbaristaorg/mc-data-manager:0.2.11 + # #image: cloudbaristaorg/mc-data-manager:edge + # platform: linux/amd64 + # tty: true + # ports: + # - "3300:3300" + # restart : always + # volumes: + # #- ./data/mc-data-manger:/app/data/ + # - ./conf/mc-data-manger/data:/app/data/ + # - ./data/mc-data-manger/log:/app/data/var/log + # - /etc/localtime:/etc/localtime:ro + # env_file: + # - ./conf/mc-data-manger/.env + # depends_on: + # - mc-data-manger-init-chown-volumes + # healthcheck: + # test: ["CMD", "curl", "-f", "http://mc-data-manger:3300/readyZ"] + # # test: [ "CMD", "/app/tool/mayfly", "rest", "get", "http://mc-data-manger:3300/data-manger/readyz" ] + # interval: 10m + # timeout: 5s + # retries: 5 + # start_period: 10s + + + # # mc-data-manger init-chown-volumes + # # https://github.com/cloud-barista/mc-data-manager + # # https://github.com/cloud-barista/mc-data-manager/blob/main/docker-compose.yaml + # # https://github.com/cloud-barista/mc-data-manager/blob/main/.env + # mc-data-manger-init-chown-volumes: + # image: busybox + # command: ["sh", "-c", "chown -R ${UID:-0}:${GID:-0} /app/data"] + # volumes: + # #- ./data/mc-data-manger:/app/data/ + # - ./conf/mc-data-manger/data:/app/data/ + # user: root + # env_file: + # - ./conf/mc-data-manger/.env + # init: true # cm-mayfly: @@ -663,8 +664,6 @@ services: # - default -# cm-damselfly -# Does not currently provide a docker image. # cm-centipede # Does not currently provide a docker image. diff --git a/conf/docker/tool/mayfly b/conf/docker/tool/mayfly index c71171d..1edfadc 100755 Binary files a/conf/docker/tool/mayfly and b/conf/docker/tool/mayfly differ diff --git a/mayfly b/mayfly index a9dbc04..b884191 100755 Binary files a/mayfly and b/mayfly differ