Documentation
¶
Overview ¶
Package workloadrelocation moves PaaS workloads (projects, applications, databases and their data) from one server's platform to another's.
Each step runs on exactly one server, as every StackKit operation does: the source plans, the destination checks that plan, and Techstack carries the plan between them. A plan holds names, sizes and fingerprints only; data transfer keys and credentials travel separately through Wallet host delivery, never inside a plan, check or log.
Index ¶
Constants ¶
const CheckFormat = "kombify.io/stackkit-relocation-check/v1"
CheckFormat is the StackKits envelope of a destination check.
Variables ¶
This section is empty.
Functions ¶
func LoadTransferSecret ¶
LoadTransferSecret reads the move's transfer secret from this node's Wallet item custody. Techstack delivers the same item, sealed, to the source and the destination (`stackkit wallet-item import`); it never arrives any other way. The caller clears the returned value after deriving from it.
Types ¶
type Check ¶
type Check struct {
RecoveryFormat string `json:"recoveryFormat"`
RestoreReceiptFormat string `json:"restoreReceiptFormat"`
PlanSHA256 string `json:"planSha256"`
Format string `json:"format"`
Platform Platform `json:"platform"`
Engine Engine `json:"engine"`
Ready bool `json:"ready"`
Blockers []string `json:"blockers"`
Warnings []string `json:"warnings"`
Detail json.RawMessage `json:"detail"`
}
Check is the destination's verdict on a plan. Ready is false while any blocker remains; Detail is the engine's own check document.
type Engine ¶
type Engine struct {
Name string `json:"name"`
Version string `json:"version"`
UpstreamCommit string `json:"upstream_commit"`
ForkRevision string `json:"fork_revision"`
}
Engine identifies the exact relocation engine build that produced a result.
type Platform ¶
type Platform string
Platform names a Layer-2 PaaS platform with a relocation engine.
const PlatformCoolify Platform = "coolify"
PlatformCoolify is Coolify, relocated with the pinned coolify-mirror fork.
type Receipt ¶ added in v0.54.10
type Receipt struct {
APIVersion string `json:"apiVersion"`
TransferID string `json:"transferId"`
Phase string `json:"phase"`
PlanSHA256 string `json:"planSha256"`
Binding localevidence.LocalBinding `json:"binding"`
RecordedAt time.Time `json:"recordedAt"`
Data json.RawMessage `json:"data"`
Signature localevidence.OwnerRelocationSignature `json:"signature"`
}
func LoadReceipt ¶ added in v0.54.10
type Status ¶ added in v0.54.10
type Status struct {
APIVersion string `json:"apiVersion"`
Receipt Receipt `json:"receipt"`
VerifiedAt time.Time `json:"verifiedAt"`
Signature localevidence.OwnerRelocationSignature `json:"signature"`
}