coolifyexit

package
v0.9.0 Latest Latest
Warning

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

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

Documentation

Overview

Package coolifyexit turns a read of a Coolify instance and the import plan built from it into an exit report: what each resource becomes, what still needs a person, and an ordered cutover checklist. It is pure and read-only.

Index

Constants

View Source
const (
	ModeDryRun = "dry-run"
	// ModeVerify is used once at least one source app already exists here.
	ModeVerify = "verify"
)

Modes of a report.

Variables

This section is empty.

Functions

func SourceName

func SourceName(p platformimport.Platform) string

SourceName is how the report calls the platform being left.

Types

type Outcome

type Outcome string

Outcome is what happens to one source resource.

const (
	Imported Outcome = "imported"
	Skipped  Outcome = "skipped"
	Manual   Outcome = "manual"
)

Outcomes shown per resource.

type Report

type Report struct {
	Mode      string          `json:"mode"`
	Rows      []Row           `json:"rows"`
	Counts    map[Outcome]int `json:"counts"`
	Waves     []Wave          `json:"waves"`
	Checklist []Step          `json:"checklist"`
	Notes     []string        `json:"notes,omitempty"`
	// ReadyToRetire is true only when every resource is imported and none needs a person.
	ReadyToRetire bool `json:"ready_to_retire"`
}

Report is the exit report.

func Build

Build assembles the report. plan must come from platformimport.BuildPlan over d.

type Row

type Row struct {
	Kind    string   `json:"kind"`
	Name    string   `json:"name"`
	Target  string   `json:"target,omitempty"`
	Outcome Outcome  `json:"outcome"`
	Reasons []string `json:"reasons,omitempty"`
	Next    []string `json:"next,omitempty"`
}

Row is one source resource and its outcome.

type Step

type Step struct {
	ID       string   `json:"id"`
	Title    string   `json:"title"`
	Detail   string   `json:"detail"`
	Commands []string `json:"commands,omitempty"`
}

Step is one cutover checklist step. Commands are subcommands without the program name.

type Wave

type Wave struct {
	Number int       `json:"number"`
	Title  string    `json:"title"`
	Why    string    `json:"why"`
	Apps   []WaveApp `json:"apps"`
}

Wave is a group of apps whose DNS switches together.

type WaveApp

type WaveApp struct {
	Name    string   `json:"name"`
	Domains []string `json:"domains,omitempty"`
}

WaveApp is an app and the domains that switch with it.

Directories

Path Synopsis
Package exportfixture serves a read-only imitation of a Coolify API export for tests.
Package exportfixture serves a read-only imitation of a Coolify API export for tests.

Jump to

Keyboard shortcuts

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