config

package
v0.8.0 Latest Latest
Warning

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

Go to latest
Published: Aug 15, 2021 License: Apache-2.0 Imports: 24 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddTaskDependencies added in v0.8.0

func AddTaskDependencies(task *Task, dependencyTaskNames []string) (err error)

func AddTaskParent added in v0.8.0

func AddTaskParent(task *Task, parentTaskNames []string) (err error)

func EnsureTaskExist added in v0.8.0

func EnsureTaskExist(mainP *Project, taskName string) (err error)

func GetDefaultServiceName added in v0.6.4

func GetDefaultServiceName(location string) (serviceName string, err error)

func GetTaskConfigRefname added in v0.8.0

func GetTaskConfigRefname(task *Task) (configRefName string)

func GetTaskEnvRefname added in v0.6.4

func GetTaskEnvRefname(task *Task) (envRefName string)

func GetTaskServiceName added in v0.6.4

func GetTaskServiceName(taskName string) (serviceName string)

func IncludeFileToProject added in v0.8.0

func IncludeFileToProject(mainP *Project, fileName string) (err error)

func SetProjectValue added in v0.6.4

func SetProjectValue(fileName, key, value string) (err error)

func SetTaskConfig added in v0.8.0

func SetTaskConfig(task *Task, configMap map[string]string) (err error)

func SetTaskEnv added in v0.8.0

func SetTaskEnv(task *Task, envMap map[string]string) (err error)

func SyncProjectEnv added in v0.8.0

func SyncProjectEnv(project *Project) (err error)

func SyncProjectEnvFiles added in v0.8.0

func SyncProjectEnvFiles(project *Project) (err error)

func SyncTaskEnv added in v0.8.0

func SyncTaskEnv(task *Task) (err error)

Types

type ConfigRef added in v0.6.0

type ConfigRef struct {
	Map map[string]string
	// contains filtered or unexported fields
}

func (*ConfigRef) GetFileLocation added in v0.6.3

func (c *ConfigRef) GetFileLocation() string

func (*ConfigRef) GetName added in v0.6.3

func (c *ConfigRef) GetName() string

type Env added in v0.4.3

type Env struct {
	From    string `yaml:"from"`
	Default string `yaml:"default"`
	Task    *Task  `yaml:"_task,omitempty"`
}

Env is task environment

type EnvKeyCheckData added in v0.5.14

type EnvKeyCheckData struct {
	Envs map[string]map[string]map[string]interface{} `yaml:"envs,omitempty"`
}

type EnvRef added in v0.6.0

type EnvRef struct {
	Map     map[string]*Env
	Project *Project
	// contains filtered or unexported fields
}

func (*EnvRef) GetFileLocation added in v0.6.3

func (e *EnvRef) GetFileLocation() string

func (*EnvRef) GetName added in v0.6.3

func (e *EnvRef) GetName() string

type InputKeyCheckData added in v0.5.20

type InputKeyCheckData struct {
	Variables map[string]map[string]interface{} `yaml:"inputs,omitempty"`
}

type KeyValidator added in v0.5.14

type KeyValidator struct {
	// contains filtered or unexported fields
}

KeyValidator structure validator

func NewKeyValidator added in v0.5.14

func NewKeyValidator(fileName string) (sv *KeyValidator)

func (*KeyValidator) Validate added in v0.5.14

func (kv *KeyValidator) Validate() (b []byte, err error)

type Project added in v0.4.0

type Project struct {
	Name            string                       `yaml:"name,omitempty"`
	Includes        []string                     `yaml:"includes,omitempty"`
	Inputs          map[string]*Variable         `yaml:"inputs,omitempty"`
	Tasks           map[string]*Task             `yaml:"tasks,omitempty"`
	RawEnvRefMap    map[string]map[string]*Env   `yaml:"envs,omitempty"`
	RawConfigRefMap map[string]map[string]string `yaml:"configs,omitempty"`
	EnvRefMap       map[string]*EnvRef           `yaml:"_envrefmap,omitempty"`
	ConfigRefMap    map[string]*ConfigRef        `yaml:"_configrefmap,omitempty"`
	IsInitialized   bool                         `yaml:"_isInitialized,omitempty"`
	// contains filtered or unexported fields
}

Project is zaruba configuration

func NewProject added in v0.4.0

func NewProject(logger output.Logger, dataLogger output.RecordLogger, decoration *output.Decoration, projectFile string, defaultIncludes []string) (p *Project, err error)

NewProject create new Config from Yaml File

func (*Project) AddGlobalEnv added in v0.4.0

func (p *Project) AddGlobalEnv(envValue string) (err error)

AddGlobalEnv add global environment for a projectConfig

func (*Project) AddValue added in v0.4.3

func (p *Project) AddValue(pairOrFile string) (err error)

AddValue add value for a project

func (*Project) GetAutoTerminate added in v0.6.0

func (p *Project) GetAutoTerminate(taskNames []string) (autoTerminate bool)

func (*Project) GetFileLocation added in v0.6.3

func (p *Project) GetFileLocation() (fileLocation string)

GetFileLocation

func (*Project) GetInputs added in v0.4.0

func (p *Project) GetInputs(taskNames []string) (inputs map[string]*Variable, inputOrder []string, err error)

GetInputs given task names

func (*Project) GetName added in v0.4.0

func (p *Project) GetName() (name string)

GetName get projectName

func (*Project) GetSortedInputNames added in v0.4.3

func (p *Project) GetSortedInputNames() (sortedInputNames []string)

GetSortedInputNames get sorted input names

func (*Project) GetSortedTaskNames added in v0.4.3

func (p *Project) GetSortedTaskNames() (sortedTaskNames []string)

GetSortedTaskNames get sorted task names

func (*Project) GetValue added in v0.4.3

func (p *Project) GetValue(key string) (value string)

GetValue get value

func (*Project) GetValues added in v0.4.3

func (p *Project) GetValues() (values map[string]string)

GetValues get value

func (*Project) Init added in v0.4.0

func (p *Project) Init() (err error)

Init all tasks

func (*Project) IsValueExist added in v0.4.3

func (p *Project) IsValueExist(key string) (exist bool)

IsValueExist is value exist

func (*Project) SetValue added in v0.4.0

func (p *Project) SetValue(key, value string) (err error)

SetValue set value for a project

func (*Project) ValidateByTaskNames added in v0.5.10

func (p *Project) ValidateByTaskNames(taskNames []string) (err error)

ValidateByTaskNames validate by task names and throw error if invalid

type Task

type Task struct {
	Start         []string          `yaml:"start,omitempty"`
	Check         []string          `yaml:"check,omitempty"`
	Timeout       string            `yaml:"timeout,omitempty"`
	Private       bool              `yaml:"private,omitempty"`
	AutoTerminate string            `yaml:"autoTerminate,omitempty"`
	Extend        string            `yaml:"extend,omitempty"`
	Extends       []string          `yaml:"extends,omitempty"`
	Location      string            `yaml:"location,omitempty"`
	ConfigRef     string            `yaml:"configRef,omitempty"`
	ConfigRefs    []string          `yaml:"configRefs,omitempty"`
	Config        map[string]string `yaml:"config,omitempty"`
	EnvRef        string            `yaml:"envRef,omitempty"`
	EnvRefs       []string          `yaml:"envRefs,omitempty"`
	Env           map[string]*Env   `yaml:"env,omitempty"`
	Dependencies  []string          `yaml:"dependencies,omitempty"`
	Inputs        []string          `yaml:"inputs,omitempty"`
	Description   string            `yaml:"description,omitempty"`
	Icon          string            `yaml:"icon,omitempty"`
	SaveLog       string            `yaml:"saveLog,omitempty"`
	Project       *Project          `yaml:"_project,omitempty"`
	// contains filtered or unexported fields
}

Task is zaruba task

func (*Task) GetAutoTerminate added in v0.6.0

func (task *Task) GetAutoTerminate() (autoTerminate bool)

GetAutoTerminate

func (*Task) GetCheckCmd

func (task *Task) GetCheckCmd(logDone chan error) (cmd *exec.Cmd, exist bool, err error)

GetCheckCmd get check command of a task

func (*Task) GetCheckCmdPatterns added in v0.6.0

func (task *Task) GetCheckCmdPatterns() (cmdPatterns []string, exist bool, err error)

func (*Task) GetConfig added in v0.1.0

func (task *Task) GetConfig(keys ...string) (val string, err error)

GetConfig getting config of a task

func (*Task) GetConfigKeys added in v0.5.11

func (task *Task) GetConfigKeys() (keys []string)

func (*Task) GetConfigPattern added in v0.5.11

func (task *Task) GetConfigPattern(key string) (pattern string, declared bool)

func (*Task) GetDependencies

func (task *Task) GetDependencies() (dependencies []string)

GetDependencies get unique dependencies of a task, recursively

func (*Task) GetEnv

func (task *Task) GetEnv(key string) (val string, err error)

GetEnv getting env of a task

func (*Task) GetEnvKeys added in v0.5.11

func (task *Task) GetEnvKeys() (keys []string)

func (*Task) GetEnvObject added in v0.5.11

func (task *Task) GetEnvObject(key string) (env *Env, declared bool)

func (*Task) GetEnvs added in v0.4.0

func (task *Task) GetEnvs() (parsedEnv map[string]string, err error)

GetEnvs getting all parsed env

func (*Task) GetFileLocation added in v0.4.3

func (task *Task) GetFileLocation() (fileLocation string)

GetFileLocation get file location of a task

func (*Task) GetName added in v0.4.3

func (task *Task) GetName() (name string)

GetName get task name

func (*Task) GetStartCmd

func (task *Task) GetStartCmd(logDone chan error) (cmd *exec.Cmd, exist bool, err error)

GetStartCmd get start command of a task

func (*Task) GetStartCmdPatterns added in v0.6.0

func (task *Task) GetStartCmdPatterns() (cmdPatterns []string, exist bool, err error)

func (*Task) GetTaskLocation added in v0.6.3

func (task *Task) GetTaskLocation() (path string)

func (*Task) GetTimeoutDuration added in v0.4.3

func (task *Task) GetTimeoutDuration() time.Duration

GetTimeoutDuration get timeout duration of a task

func (*Task) GetValue added in v0.4.0

func (task *Task) GetValue(keys ...string) (val string, err error)

GetValue getting config of a task

func (*Task) GetValueKeys added in v0.5.22

func (task *Task) GetValueKeys() (keys []string)

func (*Task) GetWorkPath

func (task *Task) GetWorkPath() (workPath string)

GetWorkPath get path of current task

func (*Task) HaveCheckCmd added in v0.5.22

func (task *Task) HaveCheckCmd() bool

HaveCheckCmd return whether task has check command or not

func (*Task) HaveStartCmd added in v0.5.22

func (task *Task) HaveStartCmd() bool

HaveStartCmd return whether task has start command or not

type TaskData

type TaskData struct {
	ZarubaHome   string
	ZarubaBin    string
	Name         string
	ProjectName  string
	WorkPath     string
	DirPath      string
	FileLocation string
	Decoration   *output.Decoration
	// contains filtered or unexported fields
}

func NewTaskData

func NewTaskData(task *Task) (td *TaskData)

func (*TaskData) EscapeShellArg added in v0.6.3

func (td *TaskData) EscapeShellArg(s string) (result string)

func (*TaskData) GetConfig added in v0.1.0

func (td *TaskData) GetConfig(keys ...string) (val string, err error)

func (*TaskData) GetDockerImageName added in v0.8.0

func (td *TaskData) GetDockerImageName() string

func (*TaskData) GetEnv

func (td *TaskData) GetEnv(key string) (val string, err error)

func (*TaskData) GetEnvs added in v0.4.0

func (td *TaskData) GetEnvs() (parsedEnv map[string]string, err error)

func (*TaskData) GetNewUUID added in v0.8.0

func (td *TaskData) GetNewUUID() string

func (*TaskData) GetPorts added in v0.8.0

func (td *TaskData) GetPorts() []int

func (*TaskData) GetRelativePath added in v0.2.0

func (td *TaskData) GetRelativePath(path string) (absPath string)

func (*TaskData) GetSubConfigKeys added in v0.4.0

func (td *TaskData) GetSubConfigKeys(parentKeys ...string) (subKeys []string)

func (*TaskData) GetSubValueKeys added in v0.4.0

func (td *TaskData) GetSubValueKeys(parentKeys ...string) (subKeys []string)

func (*TaskData) GetValue added in v0.4.0

func (td *TaskData) GetValue(keys ...string) (val string, err error)

func (*TaskData) GetWorkPath added in v0.2.0

func (td *TaskData) GetWorkPath(path string) (absPath string)

func (*TaskData) Indent added in v0.6.0

func (td *TaskData) Indent(multiLineStr string, indentation string) (result string)

func (*TaskData) IsFalse added in v0.4.3

func (td *TaskData) IsFalse(str string) (isFalse bool)

func (*TaskData) IsTrue added in v0.4.3

func (td *TaskData) IsTrue(str string) (isTrue bool)

func (*TaskData) Join added in v0.6.0

func (td *TaskData) Join(sep string, a []string) (string, error)

func (*TaskData) ListDir added in v0.5.5

func (td *TaskData) ListDir(dirPath string) (fileNames []string, err error)

func (*TaskData) ParseFile added in v0.5.1

func (td *TaskData) ParseFile(filePath string) (parsedStr string, err error)

func (*TaskData) ParseJSON added in v0.6.0

func (td *TaskData) ParseJSON(s string) (interface{}, error)

func (*TaskData) ParseYAML added in v0.6.0

func (td *TaskData) ParseYAML(s string) (interface{}, error)

func (*TaskData) ReadFile added in v0.5.5

func (td *TaskData) ReadFile(filePath string) (fileContent string, err error)

func (*TaskData) ReplaceAll added in v0.6.0

func (td *TaskData) ReplaceAll(s, old, new string) string

func (*TaskData) Split added in v0.6.0

func (td *TaskData) Split(s, sep string) []string

func (*TaskData) Trim added in v0.4.4

func (td *TaskData) Trim(str, cutset string) (trimmedStr string)

func (*TaskData) WriteFile added in v0.6.3

func (td *TaskData) WriteFile(filePath string, content string) (err error)

type TaskEnvKeyCheckData added in v0.5.14

type TaskEnvKeyCheckData struct {
	Env map[string]map[string]interface{} `yaml:"env,omitempty"`
}

type TaskKeyCheckData added in v0.5.14

type TaskKeyCheckData struct {
	Tasks map[string]map[string]interface{} `yaml:"tasks,omitempty"`
}

type TaskWithEnvKeyCheckData added in v0.5.14

type TaskWithEnvKeyCheckData struct {
	Tasks map[string]TaskEnvKeyCheckData `yaml:"tasks,omitempty"`
}

type Variable added in v0.5.10

type Variable struct {
	DefaultValue string   `yaml:"default,omitempty"`
	Description  string   `yaml:"description,omitempty"`
	Secret       bool     `yaml:"secret,omitempty"`
	Validation   string   `yaml:"validation,omitempty"`
	Options      []string `yaml:"options,omitempty"`
	Prompt       string   `yaml:"prompt,omitempty"`
	AllowCustom  string   `yaml:"allowCustom,omitempty"`
	Project      *Project `yaml:"_project,omitempty"`
	// contains filtered or unexported fields
}

Variable configuration

func (*Variable) GetName added in v0.5.10

func (variable *Variable) GetName() (name string)

GetName get name of input

func (*Variable) Validate added in v0.5.10

func (input *Variable) Validate(value string) (err error)

Validate validate a value

Jump to

Keyboard shortcuts

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