controller

package
v0.6.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 6, 2026 License: Apache-2.0 Imports: 24 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CheckReady

func CheckReady(c echo.Context) error

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

func CreateBackup(c echo.Context) error

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

func CreateRestore(c echo.Context) error

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

func DeleteBackup(c echo.Context) error

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

func DeleteRestore(c echo.Context) error

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

func GetBackup(c echo.Context) error

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

func GetJobLog(c echo.Context) error

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

func GetJobStatus(c echo.Context) error

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

func GetRestore(c echo.Context) error

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

func GetSoftwareMigrationList(c echo.Context) error

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

func GetSoftwareMigrationLog(c echo.Context) error

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

func GetSoftwareMigrationStatus(c echo.Context) error

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

func K8sCandidates(c echo.Context) error

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

func K8sMigrate(c echo.Context) error

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

func ListBackups(c echo.Context) error

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

func ListJobStatus(c echo.Context) error

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

func ListRestores(c echo.Context) error

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

func ListSoftwareMigrationStatus(c echo.Context) error

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

func MigrateSoftware(c echo.Context) error

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

func ValidateBackup(c echo.Context) error

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

func ValidateRestore(c echo.Context) error

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

func VeleroHealth(c echo.Context) error

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

func VeleroInstall(c echo.Context) error

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

func VeleroMigrationExecute(c echo.Context) error

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

func VeleroMigrationPrecheck(c echo.Context) error

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL