Documentation
¶
Index ¶
- Variables
- func CheckReady(c echo.Context) error
- func CreateConnectionInfo(c echo.Context) error
- func CreateSourceGroup(c echo.Context) error
- func DeleteConnectionInfo(c echo.Context) error
- func DeleteSourceGroup(c echo.Context) error
- func DiscoverSourceGroupResources(c echo.Context) error
- func GetBenchmarkInfo(c echo.Context) error
- func GetCSP(c echo.Context) error
- func GetConnectionInfo(c echo.Context) error
- func GetConnectionInfoDirectly(c echo.Context) error
- func GetDataInfo(c echo.Context) error
- func GetDataInfoSourceGroup(c echo.Context) error
- func GetHelmInfo(c echo.Context) error
- func GetHelmInfoSourceGroup(c echo.Context) error
- func GetInfraInfo(c echo.Context) error
- func GetInfraInfoRefined(c echo.Context) error
- func GetInfraInfoSourceGroup(c echo.Context) error
- func GetInfraInfoSourceGroupRefined(c echo.Context) error
- func GetKubernetesInfo(c echo.Context) error
- func GetKubernetesInfoSourceGroup(c echo.Context) error
- func GetSoftwareInfo(c echo.Context) error
- func GetSoftwareInfoRefined(c echo.Context) error
- func GetSoftwareInfoSourceGroup(c echo.Context) error
- func GetSoftwareInfoSourceGroupRefined(c echo.Context) error
- func GetSourceGroup(c echo.Context) error
- func ImportData(c echo.Context) error
- func ImportDataSourceGroup(c echo.Context) error
- func ImportHelm(c echo.Context) error
- func ImportHelmSourceGroup(c echo.Context) error
- func ImportInfra(c echo.Context) error
- func ImportInfraSourceGroup(c echo.Context) error
- func ImportKubernetes(c echo.Context) error
- func ImportKubernetesSourceGroup(c echo.Context) error
- func ImportSoftware(c echo.Context) error
- func ImportSoftwareSourceGroup(c echo.Context) error
- func ListCSP(c echo.Context) error
- func ListConnectionInfo(c echo.Context) error
- func ListSourceGroup(c echo.Context) error
- func ListSourceGroupRegions(c echo.Context) error
- func MigratePlaintextSecretsToOpenBao()
- func RefreshConnectionInfoStatus(c echo.Context) error
- func RefreshConnectionInfoStatusDirectly(c echo.Context) error
- func RefreshSourceGroupConnectionInfoStatus(c echo.Context) error
- func RegisterTargetInfoToSourceGroup(c echo.Context) error
- func RunBenchmarkInfo(c echo.Context) error
- func StopBenchmarkInfo(c echo.Context) error
- func UninstallAgent(c echo.Context) error
- func UninstallAgentSourceGroup(c echo.Context) error
- func UpdateConnectionInfo(c echo.Context) error
- func UpdateSourceGroup(c echo.Context) error
- type AgentUninstallResult
Constants ¶
This section is empty.
Variables ¶
var ErrOnpremK8sAgent = errors.New("agent-based collection is not applicable to on-prem k8s connections")
ErrOnpremK8sAgent is returned when an agent-backed import is asked for an on-prem Kubernetes connection. Such a connection is registered by its kubeconfig and has no SSH host, so there is no in-guest agent to query. Group imports skip these connections instead of failing the whole group.
var IsReady = false
var OkMessage = model.SimpleMsg{}
Functions ¶
func CheckReady ¶
CheckReady func is for checking Honeybee server health.
@ID health-check-readyz
@Summary Check Ready
@Description Check Honeybee is ready
@Tags [Admin] System management
@Accept json
@Produce json
@Success 200 {object} model.SimpleMsg "Successfully get ready state."
@Failure 500 {object} common.ErrorResponse "Failed to check ready state."
@Router /readyz [get]
func CreateConnectionInfo ¶
CreateConnectionInfo godoc
@ID create-connection-info
@Summary Create ConnectionInfo
@Description Create the connection information.
@Tags [On-premise] ConnectionInfo
@Accept json
@Produce json
@Param sgId path string true "ID of the SourceGroup"
@Param ConnectionInfo body model.CreateConnectionInfoReq true "Connection information of the node."
@Success 200 {object} model.ConnectionInfo "Successfully register the connection information"
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to register the connection information"
@Router /source_group/{sgId}/connection_info [post]
func CreateSourceGroup ¶
CreateSourceGroup godoc
@ID register-source-group
@Summary Register SourceGroup
@Description Register the source group.
@Tags [On-premise] SourceGroup
@Accept json
@Produce json
@Param SourceGroup body model.CreateSourceGroupReq true "source group of the node."
@Success 200 {object} model.SourceGroupRes "Successfully register the source group"
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to register the source group"
@Router /source_group [post]
func DeleteConnectionInfo ¶
DeleteConnectionInfo godoc
@ID delete-connection-info
@Summary Delete ConnectionInfo
@Description Delete the connection information.
@Tags [On-premise] ConnectionInfo
@Accept json
@Produce json
@Param sgId path string true "ID of the SourceGroup"
@Param connId path string true "ID of the connectionInfo"
@Success 200 {object} model.SimpleMsg "Successfully delete the connection information"
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to delete the connection information"
@Router /source_group/{sgId}/connection_info/{connId} [delete]
func DeleteSourceGroup ¶
DeleteSourceGroup godoc
@ID delete-source-group
@Summary Delete SourceGroup
@Description Delete the source group.
@Tags [On-premise] SourceGroup
@Accept json
@Produce json
@Param sgId path string true "ID of the SourceGroup"
@Success 200 {object} model.SimpleMsg "Successfully delete the source group"
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to delete the source group"
@Router /source_group/{sgId} [delete]
func DiscoverSourceGroupResources ¶
DiscoverSourceGroupResources godoc
@ID discover-source-group-resources
@Summary Discover CSP resources for a SourceGroup
@Description Lists VMs / K8s clusters / object-storage buckets / network load balancers reachable through the CSP connection bound to this SourceGroup. Used by the UI to populate ConnectionInfo selection.
@Tags [CSP] Discovery
@Accept json
@Produce json
@Param sgId path string true "ID of the SourceGroup (must be type=csp)"
@Param resource_type query string true "Resource type to discover (vm | k8s | object_storage | nlb)"
@Success 200 {object} model.DiscoverRes "Discovered resources"
@Failure 400 {object} common.ErrorResponse "Invalid request"
@Failure 500 {object} common.ErrorResponse "Discovery failed"
@Router /source_group/{sgId}/discover [get]
func GetBenchmarkInfo ¶
GetBenchmarkInfo godoc
@ID get-benchmark-info
@Summary Get Benchmark Info
@Description Get the benchmark information of the connection information.
@Tags [Import] BenchmarkInfo
@Accept json
@Produce json
@Param connId path string true "ID of the connection info"
@Success 200 {object} model.Benchmark "Successfully get information of the benchmark."
@Success 200 {object} model.SavedBenchmarkInfo "Successfully get information of the benchmark."
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to get information of the benchmark."
@Router /bench/{connId} [get]
func GetCSP ¶
GetCSP godoc
@ID get-csp
@Summary Get CSP metadata
@Description Return the credential keys, regions, and other metadata for the given CSP. Name is matched case-insensitively.
@Tags [CSP] Metadata
@Accept json
@Produce json
@Param name path string true "CSP name (case-insensitive, e.g. aws or AWS)"
@Success 200 {object} model.CSPInfo "CSP metadata"
@Failure 400 {object} common.ErrorResponse "Unsupported or missing CSP name"
@Failure 500 {object} common.ErrorResponse "Failed to query cb-spider"
@Router /csp/{name} [get]
func GetConnectionInfo ¶
GetConnectionInfo godoc
@ID get-connection-info
@Summary Get ConnectionInfo
@Description Get the connection information.
@Tags [On-premise] ConnectionInfo
@Accept json
@Produce json
@Param sgId path string true "ID of the SourceGroup"
@Param connId path string true "ID of the connectionInfo"
@Success 200 {object} model.ConnectionInfo "Successfully get the connection information"
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to get the connection information"
@Router /source_group/{sgId}/connection_info/{connId} [get]
func GetConnectionInfoDirectly ¶
GetConnectionInfoDirectly godoc
@ID get-connection-info-directly
@Summary Get ConnectionInfo Directly
@Description Get the connection information directly.
@Tags [On-premise] ConnectionInfo
@Accept json
@Produce json
@Param connId path string true "ID of the connectionInfo"
@Success 200 {object} model.ConnectionInfo "Successfully get the connection information"
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to get the connection information"
@Router /connection_info/{connId} [get]
func GetDataInfo ¶
GetDataInfo godoc
@ID get-data-info
@Summary Get Data Information
@Description Get the data information of the connection information.
@Tags [Get] Get source info
@Accept json
@Produce json
@Param sgId path string true "ID of the source group."
@Param connId path string true "ID of the connection info."
@Success 200 {object} data.MinIOData "Successfully get information of the data."
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to get information of the data."
@Router /source_group/{sgId}/connection_info/{connId}/data [get]
func GetDataInfoSourceGroup ¶
GetDataInfoSourceGroup godoc
@ID get-data-info-source-group
@Summary Get Data Information Source Group
@Description Get the data information for all connections in the source group.
@Tags [Get] Get source info
@Accept json
@Produce json
@Param sgId path string true "ID of the source group."
@Success 200 {object} model.DataInfoList "Successfully get information of the data."
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to get information of the data."
@Router /source_group/{sgId}/data [get]
func GetHelmInfo ¶
GetHelmInfo godoc
@ID get-helm-info
@Summary Get Helm Information
@Description Get the helm information of the connection information.
@Tags [Get] Get source info
@Accept json
@Produce json
@Param sgId path string true "ID of the source group."
@Param connId path string true "ID of the connection info."
@Success 200 {object} kubernetes.Helm "Successfully get information of the kubernetes."
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to get information of the kubernetes."
@Router /source_group/{sgId}/connection_info/{connId}/helm [get]
func GetHelmInfoSourceGroup ¶
GetHelmInfoSourceGroup godoc
@ID get-helm-info-source-group
@Summary Get helm Information Source Group
@Description Get the helm information for all connections in the source group.
@Tags [Get] Get source info
@Accept json
@Produce json
@Param sgId path string true "ID of the source group."
@Success 200 {object} model.HelmInfoList "Successfully get information of the helm."
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to get information of the helm."
@Router /source_group/{sgId}/helm [get]
func GetInfraInfo ¶
GetInfraInfo godoc
@ID get-infra-info
@Summary Get Infra Information
@Description Get the infra information of the connection information.
@Tags [Get] Get source info
@Accept json
@Produce json
@Param sgId path string true "ID of the source group."
@Param connId path string true "ID of the connection info."
@Success 200 {object} infra.Infra "Successfully get information of the infra."
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to get information of the infra."
@Router /source_group/{sgId}/connection_info/{connId}/infra [get]
func GetInfraInfoRefined ¶
GetInfraInfoRefined godoc
@ID get-infra-info-refined
@Summary Get Refined Infra Information
@Description Get the refined infra information of the connection information.
@Tags [Get] Get refined source info
@Accept json
@Produce json
@Param sgId path string true "ID of the source group."
@Param connId path string true "ID of the connection info."
@Success 200 {object} inframodel.OnpremiseInfraModel "Successfully get refined information of the infra."
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to get refined information of the infra."
@Router /source_group/{sgId}/connection_info/{connId}/infra/refined [get]
func GetInfraInfoSourceGroup ¶
GetInfraInfoSourceGroup godoc
@ID get-infra-info-source-group
@Summary Get Infra Information Source Group
@Description Get the infra information for all connections in the source group.
@Tags [Get] Get source info
@Accept json
@Produce json
@Param sgId path string true "ID of the source group."
@Success 200 {object} model.InfraInfoList "Successfully get information of the infra."
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to get information of the infra."
@Router /source_group/{sgId}/infra [get]
func GetInfraInfoSourceGroupRefined ¶
GetInfraInfoSourceGroupRefined godoc
@ID get-infra-info-source-group-refined
@Summary Get Refined Infra Information Source Group
@Description Get the refined infra information for all connections in the source group.
@Tags [Get] Get refined source info
@Accept json
@Produce json
@Param sgId path string true "ID of the source group."
@Success 200 {object} inframodel.OnpremiseInfraModel "Successfully get refined information of the infra."
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to get refined information of the infra."
@Router /source_group/{sgId}/infra/refined [get]
func GetKubernetesInfo ¶
GetKubernetesInfo godoc
@ID get-kubernetes-info
@Summary Get Kubernetes Information
@Description Get the kubernetes information of the connection information.
@Tags [Get] Get source info
@Accept json
@Produce json
@Param sgId path string true "ID of the source group."
@Param connId path string true "ID of the connection info."
@Success 200 {object} kubernetes.Kubernetes "Successfully get information of the kubernetes."
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to get information of the kubernetes."
@Router /source_group/{sgId}/connection_info/{connId}/kubernetes [get]
func GetKubernetesInfoSourceGroup ¶
GetKubernetesInfoSourceGroup godoc
@ID get-kubernetes-info-source-group
@Summary Get Kubernetes Information Source Group
@Description Get the kubernetes information for all connections in the source group.
@Tags [Get] Get source info
@Accept json
@Produce json
@Param sgId path string true "ID of the source group."
@Success 200 {object} model.KubernetesInfoList "Successfully get information of the kubernetes."
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to get information of the kubernetes."
@Router /source_group/{sgId}/kubernetes [get]
func GetSoftwareInfo ¶
GetSoftwareInfo godoc
@ID get-software-info
@Summary Get Software Information
@Description Get the software information of the connection information.
@Tags [Get] Get source info
@Accept json
@Produce json
@Param sgId path string true "ID of the source group."
@Param connId path string true "ID of the connection info."
@Success 200 {object} software.Software "Successfully get information of the software."
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to get information of the software."
@Router /source_group/{sgId}/connection_info/{connId}/software [get]
func GetSoftwareInfoRefined ¶
GetSoftwareInfoRefined godoc
@ID get-software-info-refined
@Summary Get Refined Software Information
@Description Get the refined software information of the connection information.
@Tags [Get] Get refined source info
@Accept json
@Produce json
@Param sgId path string true "ID of the source group."
@Param connId path string true "ID of the connection info."
@Success 200 {object} softwaremodel.SourceConnectionInfoSoftwareProperty "Successfully get refined information of softwares."
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to get refined information of the infra."
@Router /source_group/{sgId}/connection_info/{connId}/software/refined [get]
func GetSoftwareInfoSourceGroup ¶
GetSoftwareInfoSourceGroup godoc
@ID get-software-info-source-group
@Summary Get Software Information Source Group
@Description Get the software information for all connections in the source group.
@Tags [Get] Get source info
@Accept json
@Produce json
@Param sgId path string true "ID of the source group."
@Success 200 {object} model.SoftwareInfoList "Successfully get information of the software."
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to get information of the software."
@Router /source_group/{sgId}/software [get]
func GetSoftwareInfoSourceGroupRefined ¶
GetSoftwareInfoSourceGroupRefined godoc
@ID get-software-info-source-group-refined
@Summary Get Refined Software Information Source Group
@Description Get the refined software information for all connections in the source group.
@Tags [Get] Get refined source info
@Accept json
@Produce json
@Param sgId path string true "ID of the source group."
@Success 200 {object} softwaremodel.SourceGroupSoftwareProperty "Successfully get refined information of softwares."
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to get refined information of the software."
@Router /source_group/{sgId}/software/refined [get]
func GetSourceGroup ¶
GetSourceGroup godoc
@ID get-source-group
@Summary Get SourceGroup
@Description Get the source group.
@Tags [On-premise] SourceGroup
@Accept json
@Produce json
@Param sgId path string true "ID of the SourceGroup"
@Success 200 {object} model.SourceGroupRes "Successfully get the source group"
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to get the source group"
@Router /source_group/{sgId} [get]
func ImportData ¶
ImportData godoc
@ID import-data
@Summary Import data
@Description Import the data information.
@Tags [Import] Import source info
@Accept json
@Produce json
@Param sgId path string true "ID of the source group."
@Param connId path string true "ID of the connection info."
@Success 200 {object} model.SavedDataInfo "Successfully saved the data information"
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to save the data information"
@Router /source_group/{sgId}/connection_info/{connId}/import/data [post]
func ImportDataSourceGroup ¶
ImportDataSourceGroup godoc
@ID import-data-source-group
@Summary Import Data Source Group
@Description Import data information for all connections in the source group.
@Tags [Import] Import source info
@Accept json
@Produce json
@Param sgId path string true "ID of the source group."
@Success 200 {object} []model.SavedDataInfo "Successfully saved the data information"
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to save the data information"
@Router /source_group/{sgId}/import/data [post]
func ImportHelm ¶
ImportHelm godoc
@ID import-helm
@Summary Import helm
@Description Import the helm information.
@Tags [Import] Import source info
@Accept json
@Produce json
@Param sgId path string true "ID of the source group."
@Param connId path string true "ID of the connection info."
@Success 200 {object} model.SavedHelmInfo "Successfully saved the helm information"
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to save the helm information"
@Router /source_group/{sgId}/connection_info/{connId}/import/helm [post]
func ImportHelmSourceGroup ¶
ImportHelmSourceGroup godoc
@ID import-helm-source-group
@Summary Import helm Source Group
@Description Import helm information for all connections in the source group.
@Tags [Import] Import source info
@Accept json
@Produce json
@Param sgId path string true "ID of the source group."
@Success 200 {object} []model.SavedHelmInfo "Successfully saved the helm information"
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to save the helm information"
@Router /source_group/{sgId}/import/helm [post]
func ImportInfra ¶
ImportInfra godoc
@ID import-infra
@Summary Import Infra
@Description Import the infra information.
@Tags [Import] Import source info
@Accept json
@Produce json
@Param sgId path string true "ID of the source group."
@Param connId path string true "ID of the connection info."
@Success 200 {object} model.SavedInfraInfo "Successfully saved the infra information"
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to save the infra information"
@Router /source_group/{sgId}/connection_info/{connId}/import/infra [post]
func ImportInfraSourceGroup ¶
ImportInfraSourceGroup godoc
@ID import-infra-source-group
@Summary Import Infra Source Group
@Description Import infra information for all connections in the source group.
@Tags [Import] Import source info
@Accept json
@Produce json
@Param sgId path string true "ID of the source group."
@Success 200 {object} []model.SavedInfraInfo "Successfully saved the infra information"
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to save the infra information"
@Router /source_group/{sgId}/import/infra [post]
func ImportKubernetes ¶
ImportKubernetes godoc
@ID import-kubernetes
@Summary Import kubernetes
@Description Import the kubernetes information.
@Tags [Import] Import source info
@Accept json
@Produce json
@Param sgId path string true "ID of the source group."
@Param connId path string true "ID of the connection info."
@Success 200 {object} model.SavedKubernetesInfo "Successfully saved the kubernetes information"
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to save the kubernetes information"
@Router /source_group/{sgId}/connection_info/{connId}/import/kubernetes [post]
func ImportKubernetesSourceGroup ¶
ImportKubernetesSourceGroup godoc
@ID import-kubernetes-source-group
@Summary Import Kubernetes Source Group
@Description Import kubernetes information for all connections in the source group.
@Tags [Import] Import source info
@Accept json
@Produce json
@Param sgId path string true "ID of the source group."
@Success 200 {object} []model.SavedKubernetesInfo "Successfully saved the kubernetes information"
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to save the kubernetes information"
@Router /source_group/{sgId}/import/kubernetes [post]
func ImportSoftware ¶
ImportSoftware godoc
@ID import-software
@Summary Import software
@Description Import the software information.
@Tags [Import] Import source info
@Accept json
@Produce json
@Param sgId path string true "ID of the source group."
@Param connId path string true "ID of the connection info."
@Param show_default_packages query bool false "Enable for show all packages include default packages. (Default: false)"
@Success 200 {object} model.SavedSoftwareInfo "Successfully saved the software information"
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to save the software information"
@Router /source_group/{sgId}/connection_info/{connId}/import/software [post]
func ImportSoftwareSourceGroup ¶
ImportSoftwareSourceGroup godoc
@ID import-software-source-group
@Summary Import Software Source Group
@Description Import software information for all connections in the source group.
@Tags [Import] Import source info
@Accept json
@Produce json
@Param sgId path string true "ID of the source group."
@Param show_default_packages query bool false "Enable for show all packages include default packages. (Default: false)"
@Success 200 {object} []model.SavedSoftwareInfo "Successfully saved the software information"
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to save the software information"
@Router /source_group/{sgId}/import/software [post]
func ListCSP ¶
ListCSP godoc
@ID list-csp
@Summary List supported CSPs
@Description Return the list of CSPs supported by the connected cb-spider.
@Tags [CSP] Metadata
@Accept json
@Produce json
@Success 200 {object} model.ListCSPRes "List of CSP names"
@Failure 500 {object} common.ErrorResponse "Failed to query cb-spider"
@Router /csp [get]
func ListConnectionInfo ¶
ListConnectionInfo godoc
@ID list-connection-info
@Summary List ConnectionInfo
@Description Get a list of connection information.
@Tags [On-premise] ConnectionInfo
@Accept json
@Produce json
@Param sgId path string true "ID of the SourceGroup"
@Param page query string false "Page of the connection information list."
@Param row query string false "Row of the connection information list."
@Param name query string false "Name of the connection information."
@Param description query string false "Description of the connection information."
@Param ip_address query string false "IP address of the connection information."
@Param ssh_port query string false "SSH port of the connection information."
@Param user query string false "User of the connection information."
@Success 200 {object} []model.ListConnectionInfoRes "Successfully get a list of connection information."
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to get a list of connection information."
@Router /source_group/{sgId}/connection_info [get]
func ListSourceGroup ¶
ListSourceGroup godoc
@ID list-source-group
@Summary List SourceGroup
@Description Get a list of source group.
@Tags [On-premise] SourceGroup
@Accept json
@Produce json
@Param page query string false "Page of the source group list."
@Param row query string false "Row of the source group list."
@Param name query string false "Name of the source group."
@Param description query string false "Description of the source group."
@Success 200 {object} []model.ListSourceGroupRes "Successfully get a list of source group."
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to get a list of source group."
@Router /source_group [get]
func ListSourceGroupRegions ¶
ListSourceGroupRegions godoc
@ID list-source-group-regions
@Summary List CSP regions for a source group
@Description Return the CSP's available regions and zones, queried live via the source group's stored credential. CSP-type source groups only.
@Tags [CSP] Metadata
@Accept json
@Produce json
@Param sgId path string true "ID of the SourceGroup (csp type)"
@Success 200 {object} model.ListRegionRes "Regions and zones"
@Failure 400 {object} common.ErrorResponse "Not a csp-type source group / missing sgId"
@Failure 500 {object} common.ErrorResponse "Failed to query cb-spider"
@Router /source_group/{sgId}/region [get]
func MigratePlaintextSecretsToOpenBao ¶
func MigratePlaintextSecretsToOpenBao()
MigratePlaintextSecretsToOpenBao moves SSH secrets that are still stored in the SQLite DB into OpenBao, then blanks the DB columns. Connections created before the OpenBao backend was introduced kept their password/private_key directly in the DB (in plaintext); this lets those rows self-heal on the next restart once OpenBao is configured.
It runs at startup and is a no-op when OpenBao is disabled or when no DB row still carries a secret, so it is safe (and idempotent) to call every boot.
func RefreshConnectionInfoStatus ¶
RefreshConnectionInfoStatus godoc
@ID refresh-connection-info-status
@Summary Refresh Connection Info Status
@Description Refresh the connection info status.
@Tags [On-premise] ConnectionInfo
@Accept json
@Produce json
@Param sgId path string true "ID of the SourceGroup"
@Param connId path string true "ID of the connectionInfo"
@Success 200 {object} model.SimpleMsg "Successfully refresh the source group"
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to refresh the source group"
@Router /source_group/{sgId}/connection_info/{connId}/refresh [put]
func RefreshConnectionInfoStatusDirectly ¶
RefreshConnectionInfoStatusDirectly godoc
@ID refresh-connection-info-status-directly
@Summary Refresh Connection Info Status Directly
@Description Refresh the connection info status directly.
@Tags [On-premise] ConnectionInfo
@Accept json
@Produce json
@Param connId path string true "ID of the connectionInfo"
@Success 200 {object} model.SimpleMsg "Successfully refresh the source group"
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to refresh the source group"
@Router /connection_info/{connId}/refresh [put]
func RefreshSourceGroupConnectionInfoStatus ¶
RefreshSourceGroupConnectionInfoStatus godoc
@ID refresh-source-group-connection-info-status
@Summary Refresh SourceGroup Connection Info Status
@Description Refresh connection info status of the source group.
@Tags [On-premise] SourceGroup
@Accept json
@Produce json
@Param sgId path string true "ID of the SourceGroup"
@Success 200 {object} model.SimpleMsg "Successfully refresh the source group"
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to refresh the source group"
@Router /source_group/{sgId}/refresh [put]
func RegisterTargetInfoToSourceGroup ¶
RegisterTargetInfoToSourceGroup godoc
@ID register-target-to-source-group
@Summary Register TargetInfo to SourceGroup
@Description Register target information to the source group.
@Tags [On-premise] SourceGroup
@Accept json
@Produce json
@Param sgId path string true "ID of the SourceGroup"
@Param TargetInfo body model.RegisterTargetInfoReq true "Target info data received from infra migration via beetle."
@Success 200 {object} model.SourceGroup "Successfully update the source group"
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to update the source group"
@Router /source_group/{sgId}/target [post]
func RunBenchmarkInfo ¶
RunBenchmarkInfo godoc
@ID run-benchmark-info
@Summary Run Benchmark Information
@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.
@Tags [Import] BenchmarkInfo
@Accept json
@Produce json
@Param connId path string true "ID of the connection info"
@Param types query string false "Comma-separated types for benchmarking (e.g., cpus, cpum, memR, memW, fioR, fioW, dbR, dbW)" default(cpus,cpum,memR,memW,fioR,fioW)
@Success 200 {object} model.Benchmark "Successfully get information of the benchmark."
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to get information of the benchmark."
@Router /bench/{connId}/run [post]
func StopBenchmarkInfo ¶
StopBenchmarkInfo godoc
@ID stop-benchmark
@Summary Stop Benchmark
@Description Stop the benchmark
@Tags [Import] BenchmarkInfo
@Accept json
@Produce json
@Param connId path string true "ID of the connection info"
@Success 200 {object} model.SimpleMsg "Benchmark Stopped."
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to stop of the benchmark."
@Router /bench/{connId}/stop [post]
func UninstallAgent ¶
UninstallAgent godoc
@ID uninstall-agent
@Summary Uninstall Agent
@Description Uninstall cm-honeybee-agent from the connection's host over SSH. It is kept (not removed) when another connection on the same host (same ip_address) still uses it. This does not delete the connection record.
@Tags [On-premise] ConnectionInfo
@Accept json
@Produce json
@Param sgId path string true "ID of the SourceGroup"
@Param connId path string true "ID of the connectionInfo"
@Success 200 {object} model.SimpleMsg "Agent uninstalled, or kept because it is still shared."
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to uninstall the agent."
@Router /source_group/{sgId}/connection_info/{connId}/agent [delete]
func UninstallAgentSourceGroup ¶
UninstallAgentSourceGroup godoc
@ID uninstall-agent-source-group
@Summary Uninstall Agent (Source Group)
@Description Uninstall cm-honeybee-agent from every host in the source group over SSH. Each host is processed once; a host is kept (not removed) when a connection in another source group still uses it. This does not delete the connection records.
@Tags [On-premise] ConnectionInfo
@Accept json
@Produce json
@Param sgId path string true "ID of the SourceGroup"
@Success 200 {object} model.SimpleMsg "Per-host uninstall results."
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to uninstall the agents."
@Router /source_group/{sgId}/agent [delete]
func UpdateConnectionInfo ¶
UpdateConnectionInfo godoc
@ID update-connection-info
@Summary Update ConnectionInfo
@Description Update the connection information.
@Tags [On-premise] ConnectionInfo
@Accept json
@Produce json
@Param sgId path string true "ID of the SourceGroup"
@Param connId path string true "ID of the connectionInfo"
@Param ConnectionInfo body model.CreateConnectionInfoReq true "Connection information to modify."
@Success 200 {object} model.ConnectionInfo "Successfully update the connection information"
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to update the connection information"
@Router /source_group/{sgId}/connection_info/{connId} [put]
func UpdateSourceGroup ¶
UpdateSourceGroup godoc
@ID update-source-group
@Summary Update SourceGroup
@Description Update the source group.
@Tags [On-premise] SourceGroup
@Accept json
@Produce json
@Param sgId path string true "ID of the SourceGroup"
@Param SourceGroup body model.UpdateSourceGroupReq true "source group to modify."
@Success 200 {object} model.SourceGroup "Successfully update the source group"
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to update the source group"
@Router /source_group/{sgId} [put]
Types ¶
type AgentUninstallResult ¶
AgentUninstallResult is one host's outcome in a source-group agent uninstall.