Documentation
¶
Index ¶
- func CheckReady(c echo.Context) error
- func CreateBackup(c echo.Context) error
- func CreateRestore(c echo.Context) error
- func DeleteBackup(c echo.Context) error
- func DeleteRestore(c echo.Context) error
- func GetBackup(c echo.Context) error
- func GetJobLog(c echo.Context) error
- func GetJobStatus(c echo.Context) error
- func GetRestore(c echo.Context) error
- func GetSoftwareMigrationList(c echo.Context) error
- func GetSoftwareMigrationLog(c echo.Context) error
- func GetSoftwareMigrationStatus(c echo.Context) error
- func K8sCandidates(c echo.Context) error
- func K8sMigrate(c echo.Context) error
- func ListBackups(c echo.Context) error
- func ListJobStatus(c echo.Context) error
- func ListRestores(c echo.Context) error
- func ListSoftwareMigrationStatus(c echo.Context) error
- func MigrateSoftware(c echo.Context) error
- func SetOkMessage(msg string)
- func SetReady(ready bool)
- func ValidateBackup(c echo.Context) error
- func ValidateRestore(c echo.Context) error
- func VeleroHealth(c echo.Context) error
- func VeleroInstall(c echo.Context) error
- func VeleroMigrationExecute(c echo.Context) error
- func VeleroMigrationPrecheck(c echo.Context) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CheckReady ¶
CheckReady func is for checking Grasshopper server health.
@ID health-check-readyz
@Summary Check Ready
@Description Check Grasshopper 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 CreateBackup ¶ added in v0.5.1
CreateBackup godoc
@ID create-velero-backup
@Summary Create Backup
@Description Create Velero backup on source cluster.
@Tags [Migration] Velero migration APIs
@Accept json
@Produce json
@Param request body veleromodel.BackupRequest true "Velero backup request."
@Success 200 {object} veleromodel.BackupResponse "Successfully created backup."
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to create backup."
@Router /velero/source/backups [post]
func CreateRestore ¶ added in v0.5.1
CreateRestore godoc
@ID create-velero-restore
@Summary Create Restore
@Description Create Velero restore on target cluster.
@Tags [Migration] Velero migration APIs
@Accept json
@Produce json
@Param request body veleromodel.RestoreRequest true "Velero restore request."
@Success 200 {object} veleromodel.RestoreResponse "Successfully created restore."
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to create restore."
@Router /velero/target/restores [post]
func DeleteBackup ¶ added in v0.5.1
DeleteBackup godoc
@ID delete-velero-backup
@Summary Delete Backup
@Description Delete Velero backup on source cluster.
@Tags [Migration] Velero migration APIs
@Accept json
@Produce json
@Param name path string true "Backup name."
@Param request body commonmodel.MultiClusterEnvelope true "Source cluster access request."
@Success 200 {object} model.SimpleMsg "Successfully deleted backup."
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to delete backup."
@Router /velero/source/backups/{name}/delete [post]
func DeleteRestore ¶ added in v0.5.1
DeleteRestore godoc
@ID delete-velero-restore
@Summary Delete Restore
@Description Delete Velero restore on target cluster.
@Tags [Migration] Velero migration APIs
@Accept json
@Produce json
@Param name path string true "Restore name."
@Param request body commonmodel.MultiClusterEnvelope true "Target cluster access request."
@Success 200 {object} model.SimpleMsg "Successfully deleted restore."
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to delete restore."
@Router /velero/target/restores/{name}/delete [post]
func GetBackup ¶ added in v0.5.1
GetBackup godoc
@ID get-velero-backup
@Summary Get Backup
@Description Get Velero backup detail on source cluster.
@Tags [Migration] Velero migration APIs
@Accept json
@Produce json
@Param name path string true "Backup name."
@Param request body commonmodel.MultiClusterEnvelope true "Source cluster access request."
@Success 200 {object} veleromodel.BackupResponse "Successfully got backup detail."
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to get backup detail."
@Router /velero/source/backups/{name} [post]
func GetJobLog ¶ added in v0.5.1
GetJobLog godoc
@ID get-job-log
@Summary Get Job Log
@Description Get k8s migration job log by job ID.
@Tags [Migration] K8s migration job APIs
@Accept json
@Produce json
@Param jobId path string true "ID of the job."
@Success 200 {object} jobmodel.LogResponse "Successfully got the job log."
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to get the job log."
@Router /job/log/{jobId} [get]
func GetJobStatus ¶ added in v0.5.1
GetJobStatus godoc
@ID get-job-status
@Summary Get Job Status
@Description Get k8s migration job status by job ID.
@Tags [Migration] K8s migration job APIs
@Accept json
@Produce json
@Param jobId path string true "ID of the job."
@Success 200 {object} jobmodel.ExecutionResponse "Successfully got the job status."
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to get the job status."
@Router /job/status/{jobId} [get]
func GetRestore ¶ added in v0.5.1
GetRestore godoc
@ID get-velero-restore
@Summary Get Restore
@Description Get Velero restore detail on target cluster.
@Tags [Migration] Velero migration APIs
@Accept json
@Produce json
@Param name path string true "Restore name."
@Param request body commonmodel.MultiClusterEnvelope true "Target cluster access request."
@Success 200 {object} veleromodel.RestoreResponse "Successfully got restore detail."
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to get restore detail."
@Router /velero/target/restores/{name} [post]
func GetSoftwareMigrationList ¶ added in v0.3.1
GetSoftwareMigrationList godoc
@ID get-migration-list
@Summary Get Migration List
@Description Get software migration list.
@Tags [Migration] Software migration APIs
@Accept json
@Produce json
@Param sourceSoftwareModel body softwaremodel.SourceSoftwareModel true "Refined software list."
@Success 200 {object} softwaremodel.SourceSoftwareModel "Successfully get software migration list."
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to get software migration list."
@Router /software/migration_list [post]
func GetSoftwareMigrationLog ¶ added in v0.2.2
GetSoftwareMigrationLog godoc
@ID get-software-migration-log
@Summary Get Software Migration Log
@Description Get the software migration log.
@Tags [Migration] Software migration APIs
@Accept json
@Produce json
@Param executionId path string true "ID of the software migration execution."
@Success 200 {object} model.MigrationLogRes "Successfully get the software migration log"
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to get the software migration log"
@Router /software/migrate/log/{executionId} [get]
func GetSoftwareMigrationStatus ¶ added in v0.4.2
GetSoftwareMigrationStatus godoc
@ID get-software-migration-status
@Summary Get Software Migration Status
@Description Get the software migration status.
@Tags [Migration] Software migration APIs
@Accept json
@Produce json
@Param executionId path string true "ID of the software migration execution."
@Success 200 {object} model.MigrationLogRes "Successfully get the software migration status"
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to get the software migration status"
@Router /software/migrate/status/{executionId} [get]
func K8sCandidates ¶ added in v0.6.1
K8sCandidates godoc
@ID k8s-candidates
@Summary List Kubernetes Migration Candidates
@Description Read the kubernetes inventory cm-honeybee collected for a connection and list the namespaces, resource kinds and storage classes that can be picked for /k8s/migrate.
@Tags [Migration] Kubernetes migration APIs
@Accept json
@Produce json
@Param request body veleromodel.CandidatesRequest true "Source group and connection of the cm-honeybee kubernetes inventory."
@Success 200 {object} veleromodel.CandidatesResponse "Successfully listed migration candidates."
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 404 {object} common.ErrorResponse "No kubernetes inventory for the connection."
@Failure 500 {object} common.ErrorResponse "Failed to list migration candidates."
@Router /k8s/candidates [post]
func K8sMigrate ¶ added in v0.6.1
K8sMigrate godoc
@ID k8s-migrate
@Summary Migrate Kubernetes Cluster
@Description Install Velero on both clusters and run the migration as a single asynchronous job. Leave out the install block when Velero is already installed. Poll the returned job id through /job/status/{jobId}.
@Tags [Migration] Kubernetes migration APIs
@Accept json
@Produce json
@Param request body veleromodel.MigrateRequest true "Kubernetes migration request."
@Success 200 {object} jobmodel.StartResponse "Successfully started migration job."
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to start migration job."
@Router /k8s/migrate [post]
func ListBackups ¶ added in v0.5.1
ListBackups godoc
@ID list-velero-backups
@Summary List Backups
@Description List Velero backups on source cluster.
@Tags [Migration] Velero migration APIs
@Accept json
@Produce json
@Param request body commonmodel.MultiClusterEnvelope true "Source cluster access request."
@Success 200 {array} veleromodel.BackupResponse "Successfully listed backups."
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to list backups."
@Router /velero/source/backups/list [post]
func ListJobStatus ¶ added in v0.5.1
ListJobStatus godoc
@ID list-job-status
@Summary List Job Status
@Description List k8s migration jobs.
@Tags [Migration] K8s migration job APIs
@Accept json
@Produce json
@Param page query int false "Page number."
@Param row query int false "Rows per page."
@Success 200 {array} jobmodel.ExecutionResponse "Successfully listed jobs."
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to list jobs."
@Router /job/status [get]
func ListRestores ¶ added in v0.5.1
ListRestores godoc
@ID list-velero-restores
@Summary List Restores
@Description List Velero restores on target cluster.
@Tags [Migration] Velero migration APIs
@Accept json
@Produce json
@Param request body commonmodel.MultiClusterEnvelope true "Target cluster access request."
@Success 200 {array} veleromodel.RestoreResponse "Successfully listed restores."
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to list restores."
@Router /velero/target/restores/list [post]
func ListSoftwareMigrationStatus ¶ added in v0.4.2
ListSoftwareMigrationStatus godoc
@ID list-software-migration-status
@Summary List Software Migration Status
@Description Get a list of software migration status.
@Tags [Migration] Software migration APIs
@Accept json
@Produce json
@Success 200 {object} []model.SoftwareMigrateRes "Successfully get a list of software migration status"
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to get the software migration status"
@Router /software/migrate/status [get]
func MigrateSoftware ¶ added in v0.2.2
MigrateSoftware godoc
@ID migrate-software
@Summary Migrate Software
@Description Migrate pieces of software to target.
@Tags [Migration] Software migration APIs
@Accept json
@Produce json
@Param nsId query string true "ID of target namespace."
@Param infraId query string true "ID of target infra."
@Param targetSoftwareModel body softwaremodel.TargetSoftwareModel true "Software migrate request."
@Success 200 {object} model.SoftwareMigrateRes "Successfully migrated pieces of software."
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to migrate pieces of software."
@Router /software/migrate [post]
func SetOkMessage ¶ added in v0.5.1
func SetOkMessage(msg string)
SetOkMessage updates the readiness status message safely from any goroutine.
func SetReady ¶ added in v0.5.1
func SetReady(ready bool)
SetReady marks the API server as ready (or not) for health probes.
func ValidateBackup ¶ added in v0.5.1
ValidateBackup godoc
@ID validate-velero-backup
@Summary Validate Backup
@Description Validate Velero backup status on source cluster.
@Tags [Migration] Velero migration APIs
@Accept json
@Produce json
@Param name path string true "Backup name."
@Param request body commonmodel.MultiClusterEnvelope true "Source cluster access request."
@Success 200 {object} veleromodel.BackupResponse "Successfully validated backup."
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to validate backup."
@Router /velero/source/backups/{name}/validate [post]
func ValidateRestore ¶ added in v0.5.1
ValidateRestore godoc
@ID validate-velero-restore
@Summary Validate Restore
@Description Validate Velero restore status on target cluster.
@Tags [Migration] Velero migration APIs
@Accept json
@Produce json
@Param name path string true "Restore name."
@Param request body commonmodel.MultiClusterEnvelope true "Target cluster access request."
@Success 200 {object} veleromodel.RestoreResponse "Successfully validated restore."
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to validate restore."
@Router /velero/target/restores/{name}/validate [post]
func VeleroHealth ¶ added in v0.5.1
VeleroHealth godoc
@ID velero-health
@Summary Check Velero Health
@Description Check Velero availability on source or target cluster.
@Tags [Migration] Velero migration APIs
@Accept json
@Produce json
@Param role path string true "Cluster role. Use source or target."
@Param request body commonmodel.MultiClusterEnvelope true "Cluster access request."
@Success 200 {object} veleromodel.HealthResponse "Successfully checked Velero health."
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to check Velero health."
@Router /velero/{role}/health [post]
func VeleroInstall ¶ added in v0.5.1
VeleroInstall godoc
@ID velero-install
@Summary Install Velero
@Description Install or upgrade Velero on source or target cluster using an S3-compatible object store.
@Tags [Migration] Velero migration APIs
@Accept json
@Produce json
@Param role path string true "Cluster role. Use source or target."
@Param request body veleromodel.InstallRequest true "Velero install request."
@Success 200 {object} jobmodel.StartResponse "Successfully started Velero installation."
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to install Velero."
@Router /velero/{role}/install [post]
func VeleroMigrationExecute ¶ added in v0.5.1
VeleroMigrationExecute godoc
@ID velero-migration-execute
@Summary Execute Migration
@Description Run source backup and target restore as a single asynchronous Velero migration job.
@Tags [Migration] Velero migration APIs
@Accept json
@Produce json
@Param request body veleromodel.MigrationExecuteRequest true "Velero migration execute request."
@Success 200 {object} jobmodel.StartResponse "Successfully started migration job."
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to start migration job."
@Router /velero/migration/execute [post]
func VeleroMigrationPrecheck ¶ added in v0.5.1
VeleroMigrationPrecheck godoc
@ID velero-migration-precheck
@Summary Precheck Migration
@Description Check source cluster, target cluster, and the S3 object store before executing Velero migration.
@Tags [Migration] Velero migration APIs
@Accept json
@Produce json
@Param request body veleromodel.MigrationPrecheckRequest true "Velero migration precheck request."
@Success 200 {object} veleromodel.PrecheckResponse "Successfully completed precheck."
@Failure 400 {object} common.ErrorResponse "Sent bad request."
@Failure 500 {object} common.ErrorResponse "Failed to run migration precheck."
@Router /velero/migration/precheck [post]
Types ¶
This section is empty.