flycd

package
v0.0.17 Latest Latest
Warning

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

Go to latest
Published: Jul 12, 2023 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var SkippedAbortedEarlier = fmt.Errorf("skipped: job aborted earlier")
View Source
var SkippedNotValid = fmt.Errorf("skipped: not a valid app")

Functions

func ExistsApp added in v0.0.15

func ExistsApp(ctx context.Context, name string) (bool, error)

func GetDeployedAppConfig

func GetDeployedAppConfig(ctx context.Context, name string) (model.AppConfig, error)

func HandleGithubWebhook

func HandleGithubWebhook(payload github.PushWebhookPayload, path string) error

func TraverseDeepAppTree added in v0.0.17

func TraverseDeepAppTree(
	ctx context.Context,
	path string,
	opts TraverseAppTreeOptions,
) error

Types

type AppDeployFailure added in v0.0.15

type AppDeployFailure struct {
	Spec  AppNode
	Cause error
}

type AppDeploySuccess added in v0.0.15

type AppDeploySuccess struct {
	Spec        AppNode
	SuccessType SingleAppDeploySuccessType
}

type AppNode added in v0.0.15

type AppNode struct {
	Path               string
	AppYaml            string
	AppConfig          model.AppConfig
	AppConfigSyntaxErr error
	AppConfigSemErr    error
}

func (AppNode) IsAppNode added in v0.0.15

func (s AppNode) IsAppNode() bool

func (AppNode) IsAppSyntaxValid added in v0.0.15

func (s AppNode) IsAppSyntaxValid() bool

func (AppNode) IsValidApp added in v0.0.15

func (s AppNode) IsValidApp() bool

type DeployConfig

type DeployConfig struct {
	Force             bool
	Retries           int
	AttemptTimeout    time.Duration
	AbortOnFirstError bool
}

func NewDeployConfig

func NewDeployConfig() DeployConfig

func (DeployConfig) WithAbortOnFirstError

func (c DeployConfig) WithAbortOnFirstError(state ...bool) DeployConfig

func (DeployConfig) WithAttemptTimeout

func (c DeployConfig) WithAttemptTimeout(timeout ...time.Duration) DeployConfig

func (DeployConfig) WithForce

func (c DeployConfig) WithForce(force ...bool) DeployConfig

func (DeployConfig) WithRetries

func (c DeployConfig) WithRetries(retries ...int) DeployConfig

type DeployResult

type DeployResult struct {
	SucceededApps     []AppDeploySuccess
	FailedApps        []AppDeployFailure
	ProcessedProjects []ProjectNode
	FailedProjects    []ProjectProcessingFailure
}

func DeployAll

func DeployAll(
	ctx context.Context,
	path string,
	deployCfg DeployConfig,
) (DeployResult, error)

func NewEmptyDeployResult added in v0.0.17

func NewEmptyDeployResult() DeployResult

func (DeployResult) HasErrors added in v0.0.15

func (r DeployResult) HasErrors() bool

func (DeployResult) Plus added in v0.0.15

func (r DeployResult) Plus(other DeployResult) DeployResult

func (DeployResult) Success

func (r DeployResult) Success() bool

type FetchedProject added in v0.0.15

type FetchedProject struct {
	ProjectConfig model.ProjectConfig
	WorkDir       util_work_dir.WorkDir
	IsTempDir     bool
}

type ProjectNode added in v0.0.15

type ProjectNode struct {
	Path                   string
	ProjectYaml            string
	ProjectConfig          model.ProjectConfig
	ProjectConfigSyntaxErr error
	ProjectConfigSemErr    error
}

func (ProjectNode) IsProjectNode added in v0.0.15

func (s ProjectNode) IsProjectNode() bool

func (ProjectNode) IsProjectSyntaxValid added in v0.0.15

func (s ProjectNode) IsProjectSyntaxValid() bool

func (ProjectNode) IsValidProject added in v0.0.15

func (s ProjectNode) IsValidProject() bool

type ProjectProcessingFailure added in v0.0.17

type ProjectProcessingFailure struct {
	Spec  ProjectNode
	Cause error
}

type SingleAppDeploySuccessType added in v0.0.15

type SingleAppDeploySuccessType string
const (
	SingleAppDeployCreated  SingleAppDeploySuccessType = "created"
	SingleAppDeployUpdated  SingleAppDeploySuccessType = "updated"
	SingleAppDeployNoChange SingleAppDeploySuccessType = "no-change"
)

func DeployAppFromInlineConfig

func DeployAppFromInlineConfig(ctx context.Context, deployCfg DeployConfig, cfg model.AppConfig) (SingleAppDeploySuccessType, error)

func DeploySingleAppFromFolder

func DeploySingleAppFromFolder(ctx context.Context, path string, deployCfg DeployConfig) (SingleAppDeploySuccessType, error)

type SpecNode

type SpecNode struct {
	Path     string
	App      *AppNode
	Project  *ProjectNode
	Children []SpecNode
}

func (SpecNode) Apps added in v0.0.15

func (s SpecNode) Apps(followProjects ...bool) ([]AppNode, error)

func (SpecNode) Flatten

func (s SpecNode) Flatten() ([]SpecNode, error)

func (SpecNode) IsAppNode

func (s SpecNode) IsAppNode() bool

func (SpecNode) IsAppSyntaxValid

func (s SpecNode) IsAppSyntaxValid() bool

func (SpecNode) IsProjectNode added in v0.0.15

func (s SpecNode) IsProjectNode() bool

func (SpecNode) IsValidApp

func (s SpecNode) IsValidApp() bool

func (SpecNode) Projects added in v0.0.15

func (s SpecNode) Projects() ([]ProjectNode, error)

func (SpecNode) Traverse

func (s SpecNode) Traverse(t func(node SpecNode) error) error

type TraversalStepAnalysis

type TraversalStepAnalysis struct {
	HasAppYaml            bool
	HasProjectYaml        bool
	HasProjectsDir        bool
	TraversableCandidates []os.DirEntry
}

type TraverseAppTreeOptions added in v0.0.17

type TraverseAppTreeOptions struct {
	ValidAppCb       func(AppNode) error
	InvalidAppCb     func(AppNode) error
	ValidProjectCb   func(ProjectNode) error
	InvalidProjectCb func(ProjectNode) error
}

Directories

Path Synopsis
util

Jump to

Keyboard shortcuts

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