Documentation
¶
Index ¶
Constants ¶
View Source
const StepNameApply = "terraform.apply"
View Source
const StepNameConfig = "render.config"
View Source
const StepNameConfirm = "render.confirm"
StepNameConfirm means that config is confirmed and assets are being rendered
View Source
const StepNameHelmIntro = "helm.intro"
View Source
const StepNameHelmValues = "helm.values"
View Source
const StepNameKustomize = "kustomize"
View Source
const StepNameMessage = "message"
View Source
const StepNamePlan = "terraform.plan"
View Source
const StepNameReport = "terraform.report"
View Source
const StepNameStream = "stream"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Action ¶
type Action struct {
Sort int32 `json:"sort,omitempty"`
ButtonType string `json:"buttonType,omitempty"`
Text string `json:"text,omitempty"`
LoadingText string `json:"loadingText,omitempty"`
OnClick ActionRequest `json:"onclick,omitempty"`
}
type ActionRequest ¶
type Daemon ¶
type Daemon interface {
StatusReceiver
EnsureStarted(context.Context, *api.Release) chan error
PushRenderStep(context.Context, Render)
PushHelmIntroStep(context.Context, HelmIntro, []Action)
PushHelmValuesStep(context.Context, HelmValues, []Action)
PushKustomizeStep(context.Context, Kustomize)
AllStepsDone(context.Context)
CleanPreviousStep()
MessageConfirmedChan() chan string
ConfigSavedChan() chan interface{}
TerraformConfirmedChan() chan bool
KustomizeSavedChan() chan interface{}
GetCurrentConfig() map[string]interface{}
AwaitShutdown() error
}
Daemon is a sort of UI interface. Some implementations start an API to power the on-prem web console. A headless implementation logs progress to stdout.
A daemon is manipulated by lifecycle step handlers to present the correct UI to the user and collect necessary information
type HelmValues ¶
type KustomizeIntro ¶
type KustomizeIntro struct {
}
type Progress ¶
type Progress struct {
Source string `json:"source"`
Type string `json:"type"` // string, json, etc
Level string `json:"level"` // string, json, etc
Detail string `json:"detail,omitempty"`
}
func JSONProgress ¶
func MessageProgress ¶
func StringProgress ¶
type ProgressMap ¶
the empty value is initialized and ready to use
func (*ProgressMap) Delete ¶
func (p *ProgressMap) Delete(stepID string)
func (*ProgressMap) Store ¶
func (p *ProgressMap) Store(stepID string, progress Progress)
type StatusReceiver ¶
type Step ¶
type Step struct {
Source api.Step `json:"-"`
Message *Message `json:"message,omitempty"`
Render *Render `json:"render,omitempty"`
HelmIntro *HelmIntro `json:"helmIntro,omitempty"`
HelmValues *HelmValues `json:"helmValues,omitempty"`
Kustomize *Kustomize `json:"kustomize,omitempty"`
KustomizeIntro *KustomizeIntro `json:"kustomizeIntro,omitempty"`
Config *Config `json:"config,omitempty"`
}
the api abstraction for objects written in the YAML is starting to leak a little, so duplicating some stuff here
Click to show internal directories.
Click to hide internal directories.