Versions in this module Expand all Collapse all v0 v0.2.1 Oct 26, 2018 Changes in this version + const RevModRebuild + var ErrTimeoutExceeded = errors.New("timeout has exceeded for task step") + func PerformInTimeout(seconds int, f TimeoutFunc) error type Doer + GetTimeout func() int + StandardError func(line string) + StandardOutput func(line string) + type ErrTimeoutExtension struct + func NewTimeoutExtension(err error) *ErrTimeoutExtension + func (e *ErrTimeoutExtension) Cause() error + func (e *ErrTimeoutExtension) Error() string type GenericJob + func (j *GenericJob) GetTimeout() int + func (j *GenericJob) StandardError(line string) + func (j *GenericJob) StandardOutput(line string) type Revision + func (r *Revision) AbsPath(basedir string) string + func (r *Revision) Filename() string + func (r *Revision) Taint() *Revision + type TimeoutFunc func(errchan chan error) v0.2.0 Oct 23, 2018 Changes in this version + const AdvancedDifficulty + const CriticalSeverity + const DBKeySnapshot + const DefaultPathToLocalStateFile + const DefaultPathToRemoteStateFile + const DefaultShebang + const ExpertDifficulty + const HighSeverity + const LowSeverity + const MediumSeverity + const NoviceDifficulty + const NullIP + const RevModCreate + const RevModDelete + const RevModTouch + const RevStatusActive + const RevStatusFailed + const RevStatusPlanned + const RevStatusStale + const RevStatusUnknown + const ZeroDifficulty + const ZeroSeverity + var ErrAbsPathDeclNotExist = errors.New("absolute path was not found on local system") + var ErrContextViolation = errors.New("context scope violation") + var ErrDeprecatedID = errors.New("the object is using a deprecated ID format and should be updated") + var ErrInvalidDifficulty = errors.New("difficulty does not fall within valid range of 0-3") + var ErrInvalidEnvName = errors.New(...) + var ErrInvalidIDFormat = errors.New("object ID does not meet valid ID requirements") + var ErrInvalidSeverity = errors.New("severity does not fall within valid range of 0-3") + var ErrInvalidShellConfigType = errors.New("invalid shell configuration provided to connection handler") + var ErrNoConfigRootReached = errors.New(...) + var ErrNoGlobalConfig = errors.New("no global configuration exists") + var ErrPathContainsDuplicateSlash = errors.New("path contains consecutive slash characters") + var ErrPathContainsInvalidChars = errors.New("path contains invalid characters") + var ErrPathEndsInSlash = errors.New("path ends in a trailing slash") + var ErrSnapshotsMatch = errors.New("snapshots reflected the same state") + var ErrSwapTypeMismatch = errors.New("mergeable swap() call failed due to delta type mismatch") + var ExampleObjects = map[string]interface + var PrivateIPOutputRegexp = regexp.MustCompile(`\A(\w+)\.private_ip\z`) + var PublicIPOutputRegexp = regexp.MustCompile(`\A(\w+)\.public_ip\z`) + var TemplateFuncLib = template.FuncMap + var ValidEnvNameRegexp = regexp.MustCompile(`\A[a-z0-9][a-z0-9\-]*?[a-z0-9]\z`) + var ValidIDRegexp = regexp.MustCompile(`\A[a-z0-9][a-z0-9\-]{1,34}[a-z0-9]\z`) + var ValidOldIDRegexp = regexp.MustCompile(`\A[a-zA-Z0-9][a-zA-Z0-9\-\_\.]{2,34}[a-zA-Z0-9]\z`) + func BuildDirFromEnvRoot(envroot string) string + func CalculateTerraformNeeds(plan *Plan) (map[string][]string, error) + func ConnectFunc(network, addr string) func() (net.Conn, error) + func CreateGlobalConfig(u User) error + func Decr(i int) int + func DependencyCost(d Dependency) int64 + func DependencyType(d Dependency) string + func ExampleObjectByName(name string) ([]byte, error) + func FileGlobResolver(baseDir string, parser *hcl2parse.Parser, loader *Loader) include.Resolver + func FindTerraformExecutable() (string, error) + func GetEmptyObjByName(s string) (interface{}, error) + func GetTeamIDFromPath(p string) (string, error) + func GlobalConfigDir() (string, error) + func HCLBytesToObject(data []byte, v interface{}) error + func HashConfigMap(m map[string]string) []uint64 + func IPv42Int(ip net.IP) uint32 + func InitializeBuildDirectory(l *Laforge, overwrite, update bool) error + func Int2IPv4(nn uint32) net.IP + func IsGlobalType(p string) bool + func LoadHCLFromFile(fileloc string, v interface{}) error + func LocateBaseConfig() (string, error) + func LocateBuildConfig() (string, error) + func LocateEnvConfig() (string, error) + func LocateGlobalConfig() (string, error) + func LocateTeamConfig() (string, error) + func NewMergeConflict(base, layer interface{}, baseid, layerid string, ...) error + func OutdatedID(id string) bool + func PathExists(loc string) bool + func QuotedHCLString(s string) string + func RenderHCLv2Object(i interface{}) ([]byte, error) + func SSHClientConfig(sshconf *SSHAuthConfig, overrideKey string) (*ssh.ClientConfig, error) + func StatusMap(curr StateContext) string + func TouchGitKeep(p string) error + func TraverseUpForFile(filename, startdir string) (string, error) + func UnsafeStringAsInt(s string) int + func UserWizard() error + func ValidEnvName(name string) bool + func ValidID(id string) bool + func ValidateGenericPath(p string) error + type AMI struct + Description string + ID string + Maintainer *User + Name string + Provider string + Tags map[string]string + Username string + Vars map[string]string + func (v *AMI) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *AMI) UnmarshalJSON(data []byte) error + func (v AMI) MarshalEasyJSON(w *jwriter.Writer) + func (v AMI) MarshalJSON() ([]byte, error) + type Build struct + Caller Caller + Competition *Competition + Config map[string]string + Dir string + Environment *Environment + ID string + LocalDBFile *LocalFileRef + Maintainer *User + OnConflict *OnConflict + PathFromBase string + RelEnvPath string + Revision int64 + Tags map[string]string + TeamCount int + Teams map[string]*Team + func (b *Build) AssetForTeam(teamID int, assetName string) string + func (b *Build) Associate(g *Snapshot) error + func (b *Build) Base() string + func (b *Build) CreateTeam(tid int) *Team + func (b *Build) CreateTeams() error + func (b *Build) Gather(g *Snapshot) error + func (b *Build) GetCaller() Caller + func (b *Build) GetOnConflict() OnConflict + func (b *Build) Hash() uint64 + func (b *Build) LaforgeID() string + func (b *Build) ParentLaforgeID() string + func (b *Build) Path() string + func (b *Build) RelAssetForTeam(networkBase, hostBase, assetName string) string + func (b *Build) SetCaller(ca Caller) + func (b *Build) SetID() string + func (b *Build) SetOnConflict(o OnConflict) + func (b *Build) Swap(m Mergeable) error + func (b *Build) ValidatePath() error + func (v *Build) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *Build) UnmarshalJSON(data []byte) error + func (v Build) MarshalEasyJSON(w *jwriter.Writer) + func (v Build) MarshalJSON() ([]byte, error) + type CallFile struct + CallerDir string + CallerFile string + type Caller []CallFile + func NewCaller(src string) Caller + func (c Caller) Current() CallFile + func (c Caller) Error() string + func (c Caller) Stack(n Caller) Caller + type ChecksumList []uint64 + func (c ChecksumList) Hash() uint64 + func (c ChecksumList) Len() int + func (c ChecksumList) Less(i, j int) bool + func (c ChecksumList) Swap(i, j int) + func (v *ChecksumList) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *ChecksumList) UnmarshalJSON(data []byte) error + func (v ChecksumList) MarshalEasyJSON(w *jwriter.Writer) + func (v ChecksumList) MarshalJSON() ([]byte, error) + type Command struct + Args []string + Caller Caller + Cooldown int + Description string + Disabled bool + ID string + IO *IO + IgnoreErrors bool + Maintainer *User + Name string + OnConflict *OnConflict + Program string + Tags map[string]string + Vars map[string]string + func (c *Command) Base() string + func (c *Command) CommandString() string + func (c *Command) Fullpath() string + func (c *Command) Gather(g *Snapshot) error + func (c *Command) GetCaller() Caller + func (c *Command) GetOnConflict() OnConflict + func (c *Command) Hash() uint64 + func (c *Command) Kind() string + func (c *Command) LaforgeID() string + func (c *Command) ParentLaforgeID() string + func (c *Command) Path() string + func (c *Command) SetCaller(ca Caller) + func (c *Command) SetOnConflict(o OnConflict) + func (c *Command) Swap(m Mergeable) error + func (c *Command) ValidatePath() error + func (v *Command) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *Command) UnmarshalJSON(data []byte) error + func (v Command) MarshalEasyJSON(w *jwriter.Writer) + func (v Command) MarshalJSON() ([]byte, error) + type CommandJob struct + Command []string + GoodOutputRegexp string + Target *ProvisionedHost + func (j *CommandJob) CanProceed() error + func (j *CommandJob) CleanUp() error + func (j *CommandJob) Do() error + func (j *CommandJob) EnsureDependencies(l *Laforge) error + func (j *CommandJob) Finish() error + func (v *CommandJob) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *CommandJob) UnmarshalJSON(data []byte) error + func (v CommandJob) MarshalEasyJSON(w *jwriter.Writer) + func (v CommandJob) MarshalJSON() ([]byte, error) + type Competition struct + BaseDir string + Caller Caller + Config map[string]string + DNS *DNS + ID string + OnConflict *OnConflict + Remote *Remote + RootPassword string + func (c *Competition) Base() string + func (c *Competition) GetCaller() Caller + func (c *Competition) GetOnConflict() OnConflict + func (c *Competition) Hash() uint64 + func (c *Competition) LaforgeID() string + func (c *Competition) PasswordForHost(h *Host) string + func (c *Competition) Path() string + func (c *Competition) SetCaller(ca Caller) + func (c *Competition) SetOnConflict(oc OnConflict) + func (c *Competition) Swap(m Mergeable) error + func (c *Competition) ValidatePath() error + func (v *Competition) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *Competition) UnmarshalJSON(data []byte) error + func (v Competition) MarshalEasyJSON(w *jwriter.Writer) + func (v Competition) MarshalJSON() ([]byte, error) + type Connection struct + Active bool + Build *Build + Caller Caller + Competition *Competition + Environment *Environment + Host *Host + ID string + LocalAddr string + Network *Network + OnConflict *OnConflict + ProvisionedHost *ProvisionedHost + ProvisionedNetwork *ProvisionedNetwork + RemoteAddr string + ResourceName string + Revision int64 + SSHAuthConfig *SSHAuthConfig + Team *Team + WinRMAuthConfig *WinRMAuthConfig + func (c *Connection) Base() string + func (c *Connection) DeleteScriptSFTP(remotefile string) error + func (c *Connection) ExecuteCommand(cmd *RemoteCommand) error + func (c *Connection) ExecuteCommandSSH(cmd *RemoteCommand) error + func (c *Connection) ExecuteCommandWinRM(cmd *RemoteCommand) error + func (c *Connection) Gather(s *Snapshot) error + func (c *Connection) GetCaller() Caller + func (c *Connection) GetOnConflict() OnConflict + func (c *Connection) Hash() uint64 + func (c *Connection) InteractiveSSH() error + func (c *Connection) InteractiveWinRM() error + func (c *Connection) IsSSH() bool + func (c *Connection) IsWinRM() bool + func (c *Connection) LaforgeID() string + func (c *Connection) ParentLaforgeID() string + func (c *Connection) Path() string + func (c *Connection) RemoteShell() error + func (c *Connection) SetCaller(ca Caller) + func (c *Connection) SetID() string + func (c *Connection) SetOnConflict(o OnConflict) + func (c *Connection) Swap(m Mergeable) error + func (c *Connection) Upload(src, dst string) error + func (c *Connection) UploadExecuteAndDelete(scriptsrc string, tmpname string, logdir string) error + func (c *Connection) UploadSCP(src, dst string) error + func (c *Connection) UploadSFTP(src, dst string) error + func (c *Connection) UploadScriptSFTP(src, dst string) error + func (c *Connection) UploadWinRM(src, dst string) error + func (c *Connection) ValidatePath() error + func (v *Connection) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *Connection) UnmarshalJSON(data []byte) error + func (v Connection) MarshalEasyJSON(w *jwriter.Writer) + func (v Connection) MarshalJSON() ([]byte, error) + type DNS struct + Caller Caller + Config map[string]string + DNSServers []string + ID string + NTPServers []string + OnConflict *OnConflict + RootDomain string + Type string + func (d *DNS) GetCaller() Caller + func (d *DNS) GetOnConflict() OnConflict + func (d *DNS) Hash() uint64 + func (d *DNS) LaforgeID() string + func (d *DNS) SetCaller(c Caller) + func (d *DNS) SetOnConflict(o OnConflict) + func (d *DNS) Swap(m Mergeable) error + func (v *DNS) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *DNS) UnmarshalJSON(data []byte) error + func (v DNS) MarshalEasyJSON(w *jwriter.Writer) + func (v DNS) MarshalJSON() ([]byte, error) + type DNSRecord struct + Caller Caller + Disabled bool + ID string + Name string + OnConflict *OnConflict + Tags map[string]string + Type string + Values []string + Vars map[string]string + Zone string + func (r *DNSRecord) Base() string + func (r *DNSRecord) Fullpath() string + func (r *DNSRecord) Gather(g *Snapshot) error + func (r *DNSRecord) GetCaller() Caller + func (r *DNSRecord) GetOnConflict() OnConflict + func (r *DNSRecord) Hash() uint64 + func (r *DNSRecord) Inherited() bool + func (r *DNSRecord) Kind() string + func (r *DNSRecord) LaforgeID() string + func (r *DNSRecord) ParentLaforgeID() string + func (r *DNSRecord) Path() string + func (r *DNSRecord) SetCaller(c Caller) + func (r *DNSRecord) SetOnConflict(o OnConflict) + func (r *DNSRecord) SetValue(val string) + func (r *DNSRecord) Swap(m Mergeable) error + func (r *DNSRecord) ValidatePath() error + func (v *DNSRecord) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *DNSRecord) UnmarshalJSON(data []byte) error + func (v DNSRecord) MarshalEasyJSON(w *jwriter.Writer) + func (v DNSRecord) MarshalJSON() ([]byte, error) + type DNSRecordJob struct + DNSRecord *DNSRecord + Target *ProvisioningStep + func (j *DNSRecordJob) CanProceed() error + func (j *DNSRecordJob) CleanUp() error + func (j *DNSRecordJob) Do() error + func (j *DNSRecordJob) EnsureDependencies(l *Laforge) error + func (j *DNSRecordJob) Finish() error + func (v *DNSRecordJob) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *DNSRecordJob) UnmarshalJSON(data []byte) error + func (v DNSRecordJob) MarshalEasyJSON(w *jwriter.Writer) + func (v DNSRecordJob) MarshalJSON() ([]byte, error) + type Dependency interface + Gather func(g *Snapshot) error + ParentLaforgeID func() string + type DependencyList []int + type Disk struct + Size int + func (v *Disk) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *Disk) UnmarshalJSON(data []byte) error + func (v Disk) MarshalEasyJSON(w *jwriter.Writer) + func (v Disk) MarshalJSON() ([]byte, error) + type Doer interface + CanProceed func() error + CleanUp func() error + CurrentStatus func() JobStatus + Do func() error + EnsureDependencies func(l *Laforge) error + Finish func() error + GetMetadata func() *Metadata + GetTargetID func() string + SetBase func(l *Laforge) + SetPlan func(p *Plan) + SetStatus func(s JobStatus) + SetTimeout func(t int) + type Edge struct + Source string + Target string + func CreateEdge(src Dependency, target Dependency) Edge + func (v *Edge) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *Edge) UnmarshalJSON(data []byte) error + func (v Edge) MarshalEasyJSON(w *jwriter.Writer) + func (v Edge) MarshalJSON() ([]byte, error) + type Environment struct + AdminCIDRs []string + BaseDir string + Build *Build + Builder string + Caller Caller + Competition *Competition + CompetitionID string + Config map[string]string + Description string + HostByNetwork map[string][]*Host + ID string + IncludedHosts map[string]*Host + IncludedNetworks map[string]*Network + Maintainer *User + Name string + Networks []*IncludedNetwork + OnConflict *OnConflict + Revision int64 + Tags map[string]string + TeamCount int + Teams map[string]*Team + func (e *Environment) Base() string + func (e *Environment) CreateBuild() *Build + func (e *Environment) Gather(g *Snapshot) error + func (e *Environment) GetCaller() Caller + func (e *Environment) GetOnConflict() OnConflict + func (e *Environment) Hash() uint64 + func (e *Environment) LaforgeID() string + func (e *Environment) ParentLaforgeID() string + func (e *Environment) Path() string + func (e *Environment) ResolveIncludedNetworks(base *Laforge) error + func (e *Environment) SetCaller(c Caller) + func (e *Environment) SetOnConflict(o OnConflict) + func (e *Environment) Swap(m Mergeable) error + func (e *Environment) ValidatePath() error + func (v *Environment) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *Environment) UnmarshalJSON(data []byte) error + func (v Environment) MarshalEasyJSON(w *jwriter.Writer) + func (v Environment) MarshalJSON() ([]byte, error) + type ExitError struct + Command string + Err error + ExitStatus int + func (e *ExitError) Error() string + type Finding struct + Description string + Difficulty FindingDifficulty + Host *Host + Maintainer *User + Name string + Provisioner Provisioner + Severity FindingSeverity + Tags []string + func (f *Finding) TotalScore() int + func (v *Finding) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *Finding) UnmarshalJSON(data []byte) error + func (v Finding) MarshalEasyJSON(w *jwriter.Writer) + func (v Finding) MarshalJSON() ([]byte, error) + type FindingDifficulty int + func (f FindingDifficulty) String() string + type FindingSeverity int + func (f FindingSeverity) String() string + type GenericJob struct + Base *Laforge + CreatedAt time.Time + EndedAt time.Time + JobID string + JobType string + Metadata *Metadata + MetadataID string + Offset int + Plan *Plan + StartedAt time.Time + Status JobStatus + Timeout int + func (j *GenericJob) CurrentStatus() JobStatus + func (j *GenericJob) GetID() string + func (j *GenericJob) GetMetadata() *Metadata + func (j *GenericJob) GetTargetID() string + func (j *GenericJob) Hash() uint64 + func (j *GenericJob) SetBase(l *Laforge) + func (j *GenericJob) SetPlan(p *Plan) + func (j *GenericJob) SetStatus(s JobStatus) + func (j *GenericJob) SetTimeout(t int) + func (v *GenericJob) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *GenericJob) UnmarshalJSON(data []byte) error + func (v GenericJob) MarshalEasyJSON(w *jwriter.Writer) + func (v GenericJob) MarshalJSON() ([]byte, error) + type Host struct + AMI string + Caller Caller + Commands map[string]*Command + DNSRecords map[string]*DNSRecord + Dependencies []*HostDependency + Description string + Disk Disk + ExposedTCPPorts []string + ExposedUDPPorts []string + Hostname string + ID string + IO *IO + InstanceSize string + LastOctet int + Maintainer *User + OS string + OnConflict *OnConflict + OverridePassword string + ProvisionSteps []string + Provisioners []Provisioner + RemoteFiles map[string]*RemoteFile + Scripts map[string]*Script + Tags map[string]string + UserGroups []string + Vars map[string]string + func (h *Host) Base() string + func (h *Host) CalcIP(subnet string) string + func (h *Host) DependencyCount(e *Environment) int + func (h *Host) FinalStepID() int + func (h *Host) Fullpath() string + func (h *Host) Gather(g *Snapshot) error + func (h *Host) GetCaller() Caller + func (h *Host) GetDependencyHash() string + func (h *Host) GetOnConflict() OnConflict + func (h *Host) GetProvisionersHash() uint64 + func (h *Host) HasTag(tag string) bool + func (h *Host) Hash() uint64 + func (h *Host) Index(base *Laforge) error + func (h *Host) IsWindows() bool + func (h *Host) LaforgeID() string + func (h *Host) ParentLaforgeID() string + func (h *Host) Path() string + func (h *Host) SetCaller(c Caller) + func (h *Host) SetOnConflict(o OnConflict) + func (h *Host) Swap(m Mergeable) error + func (h *Host) TagEquals(tag, value string) bool + func (h *Host) ValidatePath() error + func (v *Host) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *Host) UnmarshalJSON(data []byte) error + func (v Host) MarshalEasyJSON(w *jwriter.Writer) + func (v Host) MarshalJSON() ([]byte, error) + type HostDependency struct + Host *Host + HostID string + Network *Network + NetworkID string + OnConflict *OnConflict + Step string + StepID int + func (h *HostDependency) Hash() uint64 + func (v *HostDependency) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *HostDependency) UnmarshalJSON(data []byte) error + func (v HostDependency) MarshalEasyJSON(w *jwriter.Writer) + func (v HostDependency) MarshalJSON() ([]byte, error) + type IO struct + Stderr string + Stdin string + Stdout string + func (v *IO) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *IO) UnmarshalJSON(data []byte) error + func (v IO) MarshalEasyJSON(w *jwriter.Writer) + func (v IO) MarshalJSON() ([]byte, error) + type Identity struct + AvatarFile string + Caller Caller + Description string + Email string + Firstname string + ID string + Lastname string + OnConflict *OnConflict + Password string + Tags map[string]string + Vars map[string]string + func (i *Identity) Base() string + func (i *Identity) GetCaller() Caller + func (i *Identity) GetOnConflict() OnConflict + func (i *Identity) Hash() uint64 + func (i *Identity) LaforgeID() string + func (i *Identity) Path() string + func (i *Identity) ResolveSource(base *Laforge, pr *PathResolver, caller CallFile) error + func (i *Identity) SetCaller(c Caller) + func (i *Identity) SetOnConflict(o OnConflict) + func (i *Identity) Swap(m Mergeable) error + func (i *Identity) ValidatePath() error + func (v *Identity) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *Identity) UnmarshalJSON(data []byte) error + func (v Identity) MarshalEasyJSON(w *jwriter.Writer) + func (v Identity) MarshalJSON() ([]byte, error) + type Include struct + Path string + func (v *Include) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *Include) UnmarshalJSON(data []byte) error + func (v Include) MarshalEasyJSON(w *jwriter.Writer) + func (v Include) MarshalJSON() ([]byte, error) + type IncludedNetwork struct + Hosts []string + Name string + func (i *IncludedNetwork) String() string + func (v *IncludedNetwork) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *IncludedNetwork) UnmarshalJSON(data []byte) error + func (v IncludedNetwork) MarshalEasyJSON(w *jwriter.Writer) + func (v IncludedNetwork) MarshalJSON() ([]byte, error) + type JobStatus int + const JobStatusEnqueued + const JobStatusFailed + const JobStatusInProgress + const JobStatusPlanned + const JobStatusSuccessful + type LFType string + const LFTypeBuild + const LFTypeCommand + const LFTypeCompetition + const LFTypeConnection + const LFTypeDNSRecord + const LFTypeEnvironment + const LFTypeHost + const LFTypeNetwork + const LFTypeProvisionedHost + const LFTypeProvisionedNetwork + const LFTypeProvisioningStep + const LFTypeRemoteFile + const LFTypeScript + const LFTypeTeam + const LFTypeUnknown + func TypeByPath(p string) LFType + type Laforge struct + BaseAbsPath string + BaseContextID string + BaseDir string + BaseRoot string + BuildAbsPath string + BuildContextID string + BuildRoot string + Builds map[string]*Build + Caller Caller + ClearToBuild bool + Commands map[string]*Command + Competitions map[string]*Competition + Connections map[string]*Connection + CurrDir string + CurrentBuild *Build + CurrentCompetition *Competition + CurrentEnv *Environment + CurrentTeam *Team + DNSRecords map[string]*DNSRecord + DefinedBuilds []*Build + DefinedCommands []*Command + DefinedCompetitions []*Competition + DefinedConnections []*Connection + DefinedDNSRecords []*DNSRecord + DefinedEnvironments []*Environment + DefinedHosts []*Host + DefinedIdentities []*Identity + DefinedNetworks []*Network + DefinedProvisionedHosts []*ProvisionedHost + DefinedProvisionedNetworks []*ProvisionedNetwork + DefinedProvisioningSteps []*ProvisioningStep + DefinedRemoteFiles []*RemoteFile + DefinedScripts []*Script + DefinedTeams []*Team + DependencyGraph treeprint.Tree + EnvAbsPath string + EnvContextID string + EnvRoot string + Environments map[string]*Environment + Filename string + GlobalContextID string + GlobalRoot string + Hosts map[string]*Host + Identities map[string]*Identity + IncludePaths []*Include + Includes []string + InitialContext StateContext + Networks map[string]*Network + PathRegistry *PathRegistry + ProvisionedHosts map[string]*ProvisionedHost + ProvisionedNetworks map[string]*ProvisionedNetwork + ProvisioningSteps map[string]*ProvisioningStep + RemoteFiles map[string]*RemoteFile + Scripts map[string]*Script + StateManager *State + TeamAbsPath string + TeamContextID string + TeamRoot string + Teams map[string]*Team + User *User + ValidBase bool + ValidBuild bool + ValidEnv bool + ValidGlobal bool + ValidTeam bool + func Bootstrap() (*Laforge, error) + func InitializeBaseContext(globalconfig, baseconfig string) (*Laforge, error) + func InitializeBuildContext(globalconfig, buildconfig string) (*Laforge, error) + func InitializeEnvContext(globalconfig, envconfig string) (*Laforge, error) + func InitializeTeamContext(globalconfig, buildconfig, teamconfig string) (*Laforge, error) + func LoadFiles(envpath ...string) (*Laforge, error) + func Mask(base, layer *Laforge) (*Laforge, error) + func (l *Laforge) AssertExactContext(s StateContext) error + func (l *Laforge) AssertMinContext(s StateContext) error + func (l *Laforge) BaseConfigFile() string + func (l *Laforge) BuildConfigFile() string + func (l *Laforge) CleanBuildDirectory(overwrite bool) error + func (l *Laforge) CreateIndex() + func (l *Laforge) CurrentStateManager() (*State, error) + func (l *Laforge) EnvConfigFile() string + func (l *Laforge) GetAllEnvs() (map[string]*Laforge, error) + func (l *Laforge) GetContext() StateContext + func (l *Laforge) GlobalConfigFile() string + func (l *Laforge) IdentitiesWithVarEquals(key, value string) []*Identity + func (l *Laforge) IndexBuildDependencies() error + func (l *Laforge) IndexConnectionDependencies() error + func (l *Laforge) IndexEnvironmentDependencies() error + func (l *Laforge) IndexHostDependencies() error + func (l *Laforge) IndexProvisionedHostDependencies() error + func (l *Laforge) IndexProvisionedNetworkDependencies() error + func (l *Laforge) IndexProvisioningStepDependencies() error + func (l *Laforge) IndexTeamDependencies() error + func (l *Laforge) InitializeBaseDirectory(overwrite bool) error + func (l *Laforge) InitializeContext() error + func (l *Laforge) InitializeEnv(name string, overwrite bool) error + func (l *Laforge) LoadFromContext() error + func (l *Laforge) TeamConfigFile() string + func (l *Laforge) UniqIdentityVarValues(key string) []string + func (l *Laforge) Update(diff *Laforge) (*Laforge, error) + func (v *Laforge) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *Laforge) UnmarshalJSON(data []byte) error + func (v Laforge) MarshalEasyJSON(w *jwriter.Writer) + func (v Laforge) MarshalJSON() ([]byte, error) + type Loader struct + CallerMap map[string]Caller + ConfigMap map[string]*Laforge + FileTree map[string]treeprint.Tree + Includes treeprint.Tree + Parser *hcl2parse.Parser + SourceFile string + func NewLoader() *Loader + func (l *Loader) AddToTree(filename, parentname string) treeprint.Tree + func (l *Loader) Bind() (*Laforge, error) + func (l *Loader) Deconflict(filenames []string) (*Laforge, error) + func (l *Loader) ParseConfigFile(filename string) error + type Local struct + Arch string + OS string + func (l *Local) IsLinux() bool + func (l *Local) IsMacOS() bool + func (l *Local) IsWindows() bool + type LocalFileRef struct + AbsPath string + Base string + Cwd string + DeclaredPath string + RelPath string + RelToCallFile string + func (v *LocalFileRef) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *LocalFileRef) UnmarshalJSON(data []byte) error + func (v LocalFileRef) MarshalEasyJSON(w *jwriter.Writer) + func (v LocalFileRef) MarshalJSON() ([]byte, error) + type Manager struct + Acks chan Doer + Errors chan error + Inbound chan Doer + Laforge *Laforge + Shutdown chan bool + func (m *Manager) Run(wg *sync.WaitGroup) + type Mergeable interface + GetCaller func() Caller + GetOnConflict func() OnConflict + LaforgeID func() string + SetCaller func(ca Caller) + SetOnConflict func(oc OnConflict) + Swap func(ma Mergeable) error + func SmartMerge(m, diff Mergeable, appendSlices bool) (Mergeable, error) + type MetaResource struct + Basename string + Checksum uint64 + CreatedAt time.Time + ID string + IsDir bool + ModifiedAt time.Time + ParentIDs []string + PathFromBase string + Size int + func (v *MetaResource) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *MetaResource) UnmarshalJSON(data []byte) error + func (v MetaResource) MarshalEasyJSON(w *jwriter.Writer) + func (v MetaResource) MarshalJSON() ([]byte, error) + type Metadata struct + Addition bool + Checksum uint64 + Created bool + CreatedAt time.Time + Dependency Dependency + ID string + ModifiedAt time.Time + ObjectType LFType + Resources []MetaResource + Tainted bool + func (m *Metadata) CalculateChecksum() + func (m *Metadata) DotNode(s string, d *dag.DotOpts) *dag.DotNode + func (m *Metadata) FillColor() string + func (m *Metadata) GetChecksum() uint64 + func (m *Metadata) GetID() string + func (m *Metadata) Hash() uint64 + func (m *Metadata) Hashcode() interface{} + func (m *Metadata) IsGlobalType() bool + func (m *Metadata) Label() string + func (m *Metadata) Shape() string + func (m *Metadata) String() string + func (m *Metadata) Style() string + func (m *Metadata) ToRevision() *Revision + func (m *Metadata) TypeByPath() LFType + func (v *Metadata) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *Metadata) UnmarshalJSON(data []byte) error + func (v Metadata) MarshalEasyJSON(w *jwriter.Writer) + func (v Metadata) MarshalJSON() ([]byte, error) + type Network struct + CIDR string + Caller Caller + ID string + Name string + OnConflict *OnConflict + Tags map[string]string + VDIVisible bool + Vars map[string]string + func (n *Network) Base() string + func (n *Network) Gather(g *Snapshot) error + func (n *Network) GetCaller() Caller + func (n *Network) GetOnConflict() OnConflict + func (n *Network) Hash() uint64 + func (n *Network) LaforgeID() string + func (n *Network) Octet() string + func (n *Network) ParentLaforgeID() string + func (n *Network) Path() string + func (n *Network) SetCaller(c Caller) + func (n *Network) SetOnConflict(o OnConflict) + func (n *Network) Swap(m Mergeable) error + func (n *Network) ValidatePath() error + func (v *Network) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *Network) UnmarshalJSON(data []byte) error + func (v Network) MarshalEasyJSON(w *jwriter.Writer) + func (v Network) MarshalJSON() ([]byte, error) + type OnConflict struct + Append bool + Do string + func (v *OnConflict) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *OnConflict) UnmarshalJSON(data []byte) error + func (v OnConflict) MarshalEasyJSON(w *jwriter.Writer) + func (v OnConflict) MarshalJSON() ([]byte, error) + type Opt struct + Key string + Value string + func (v *Opt) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *Opt) UnmarshalJSON(data []byte) error + func (v Opt) MarshalEasyJSON(w *jwriter.Writer) + func (v Opt) MarshalJSON() ([]byte, error) + type OutputCallback func(state *State, job Doer, line string) error + type PathRegistry struct + DB map[CallFile]*PathResolver + type PathResolver struct + Mapping map[string]*LocalFileRef + Unresolved map[string]bool + type Pather interface + Base func() string + Path func() string + ValidatePath func() error + type Plan struct + Base *Laforge + Checksum uint64 + EndedAt time.Time + Errored bool + FailedNodes *dag.Set + GlobalOrder []string + Graph *Snapshot + OrderedPriorities []int + StartedAt time.Time + Tainted map[string]bool + TaintedHosts map[string]bool + TaskGroundDelay int + TaskTypes map[string]string + Tasks map[string]Doer + TasksByPriority map[int][]string + Walker *dag.Walker + func NewEmptyPlan() *Plan + func (p *Plan) BurnIt() error + func (p *Plan) Execute() tfdiags.Diagnostics + func (p *Plan) Orchestrator(v dag.Vertex) (d tfdiags.Diagnostics) + func (p *Plan) Preflight() error + func (p *Plan) RemoveRevisionFilesFromTeams() error + func (p *Plan) SetupTasks() error + func (p *Plan) WriteRevisionFile(d Doer, status RevStatus) error + func (v *Plan) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *Plan) UnmarshalJSON(data []byte) error + func (v Plan) MarshalEasyJSON(w *jwriter.Writer) + func (v Plan) MarshalJSON() ([]byte, error) + type ProvisionStatus string + const ProvStatusAwaiting + const ProvStatusComplete + const ProvStatusFailed + const ProvStatusInProgress + const ProvStatusTainted + const ProvStatusUndefined + type ProvisionedHost struct + Build *Build + Caller Caller + Competition *Competition + Conn *Connection + Dir string + Environment *Environment + Host *Host + HostID string + ID string + Network *Network + OnConflict *OnConflict + ProvisionedNetwork *ProvisionedNetwork + ProvisioningSteps map[string]*ProvisioningStep + Status Status + StepsByOffset []*ProvisioningStep + SubnetIP string + Team *Team + func (p *ProvisionedHost) ActualPassword() string + func (p *ProvisionedHost) Base() string + func (p *ProvisionedHost) CreateConnection() *Connection + func (p *ProvisionedHost) CreateProvisioningStep(pr Provisioner, offset int) *ProvisioningStep + func (p *ProvisionedHost) CreateProvisioningSteps() error + func (p *ProvisionedHost) Gather(g *Snapshot) error + func (p *ProvisionedHost) GetCaller() Caller + func (p *ProvisionedHost) GetOnConflict() OnConflict + func (p *ProvisionedHost) Hash() uint64 + func (p *ProvisionedHost) LaforgeID() string + func (p *ProvisionedHost) ParentLaforgeID() string + func (p *ProvisionedHost) Path() string + func (p *ProvisionedHost) SetCaller(ca Caller) + func (p *ProvisionedHost) SetID() string + func (p *ProvisionedHost) SetOnConflict(o OnConflict) + func (p *ProvisionedHost) Swap(m Mergeable) error + func (p *ProvisionedHost) ValidatePath() error + func (v *ProvisionedHost) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *ProvisionedHost) UnmarshalJSON(data []byte) error + func (v ProvisionedHost) MarshalEasyJSON(w *jwriter.Writer) + func (v ProvisionedHost) MarshalJSON() ([]byte, error) + type ProvisionedNetwork struct + Build *Build + CIDR string + Caller Caller + Competition *Competition + Dir string + Environment *Environment + ID string + Name string + Network *Network + NetworkID string + OnConflict *OnConflict + ProvisionedHosts map[string]*ProvisionedHost + Status Status + Team *Team + func (p *ProvisionedNetwork) Base() string + func (p *ProvisionedNetwork) CreateProvisionedHost(host *Host) *ProvisionedHost + func (p *ProvisionedNetwork) CreateProvisionedHosts() error + func (p *ProvisionedNetwork) Gather(g *Snapshot) error + func (p *ProvisionedNetwork) GetCaller() Caller + func (p *ProvisionedNetwork) GetOnConflict() OnConflict + func (p *ProvisionedNetwork) Hash() uint64 + func (p *ProvisionedNetwork) LaforgeID() string + func (p *ProvisionedNetwork) ParentLaforgeID() string + func (p *ProvisionedNetwork) Path() string + func (p *ProvisionedNetwork) SetCaller(ca Caller) + func (p *ProvisionedNetwork) SetID() string + func (p *ProvisionedNetwork) SetOnConflict(o OnConflict) + func (p *ProvisionedNetwork) Swap(m Mergeable) error + func (p *ProvisionedNetwork) ValidatePath() error + func (v *ProvisionedNetwork) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *ProvisionedNetwork) UnmarshalJSON(data []byte) error + func (v ProvisionedNetwork) MarshalEasyJSON(w *jwriter.Writer) + func (v ProvisionedNetwork) MarshalJSON() ([]byte, error) + type Provisioner interface + Gather func(s *Snapshot) error + Kind func() string + ParentLaforgeID func() string + type ProvisioningStep struct + Build *Build + Caller Caller + Command *Command + Competition *Competition + DNSRecord *DNSRecord + Dir string + Environment *Environment + Host *Host + ID string + Network *Network + OnConflict *OnConflict + ProvisionedHost *ProvisionedHost + ProvisionedNetwork *ProvisionedNetwork + Provisioner Provisioner + ProvisionerID string + ProvisionerType string + RemoteFile *RemoteFile + Script *Script + Status string + StepNumber int + Team *Team + func (p *ProvisioningStep) Base() string + func (p *ProvisioningStep) Gather(g *Snapshot) error + func (p *ProvisioningStep) GetCaller() Caller + func (p *ProvisioningStep) GetOnConflict() OnConflict + func (p *ProvisioningStep) Hash() uint64 + func (p *ProvisioningStep) LaforgeID() string + func (p *ProvisioningStep) ParentLaforgeID() string + func (p *ProvisioningStep) Path() string + func (p *ProvisioningStep) SetCaller(ca Caller) + func (p *ProvisioningStep) SetID() string + func (p *ProvisioningStep) SetOnConflict(o OnConflict) + func (p *ProvisioningStep) Swap(m Mergeable) error + func (p *ProvisioningStep) ValidatePath() error + func (v *ProvisioningStep) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *ProvisioningStep) UnmarshalJSON(data []byte) error + func (v ProvisioningStep) MarshalEasyJSON(w *jwriter.Writer) + func (v ProvisioningStep) MarshalJSON() ([]byte, error) + type RelateFunc func() error + type Remote struct + Config map[string]string + ID string + Type string + func (r *Remote) Hash() uint64 + func (v *Remote) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *Remote) UnmarshalJSON(data []byte) error + func (v Remote) MarshalEasyJSON(w *jwriter.Writer) + func (v Remote) MarshalJSON() ([]byte, error) + type RemoteCommand struct + Command string + Stderr io.Writer + Stdin io.Reader + Stdout io.Writer + func NewRemoteCommand() *RemoteCommand + func (r *RemoteCommand) Init() + func (r *RemoteCommand) SetExitStatus(status int, err error) + func (r *RemoteCommand) Wait() error + type RemoteFile struct + AbsPath string + Caller Caller + Destination string + Disabled bool + Ext string + ID string + MD5 string + OnConflict *OnConflict + Perms string + Source string + SourceType string + Tags map[string]string + Template bool + Vars map[string]string + func (r *RemoteFile) AssetName() (string, error) + func (r *RemoteFile) Base() string + func (r *RemoteFile) CopyTo(dst string) error + func (r *RemoteFile) Fullpath() string + func (r *RemoteFile) Gather(g *Snapshot) error + func (r *RemoteFile) GetCaller() Caller + func (r *RemoteFile) GetOnConflict() OnConflict + func (r *RemoteFile) Hash() uint64 + func (r *RemoteFile) Kind() string + func (r *RemoteFile) LaforgeID() string + func (r *RemoteFile) MD5Sum() (string, error) + func (r *RemoteFile) ParentLaforgeID() string + func (r *RemoteFile) Path() string + func (r *RemoteFile) ResolveSource(base *Laforge, pr *PathResolver, caller CallFile) error + func (r *RemoteFile) ResourceHash() uint64 + func (r *RemoteFile) SetCaller(c Caller) + func (r *RemoteFile) SetOnConflict(o OnConflict) + func (r *RemoteFile) Swap(m Mergeable) error + func (r *RemoteFile) ValidatePath() error + func (v *RemoteFile) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *RemoteFile) UnmarshalJSON(data []byte) error + func (v RemoteFile) MarshalEasyJSON(w *jwriter.Writer) + func (v RemoteFile) MarshalJSON() ([]byte, error) + type RemoteFileJob struct + AssetPath string + RemoteFile *RemoteFile + Target *ProvisioningStep + func CreateRemoteFileJob(id string, offset int, m *Metadata, pstep *ProvisioningStep) (*RemoteFileJob, error) + func (j *RemoteFileJob) CanProceed() error + func (j *RemoteFileJob) CleanUp() error + func (j *RemoteFileJob) Do() error + func (j *RemoteFileJob) EnsureDependencies(l *Laforge) error + func (j *RemoteFileJob) Finish() error + func (v *RemoteFileJob) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *RemoteFileJob) UnmarshalJSON(data []byte) error + func (v RemoteFileJob) MarshalEasyJSON(w *jwriter.Writer) + func (v RemoteFileJob) MarshalJSON() ([]byte, error) + type ResourceHasher interface + ResourceHash func() uint64 + type RevMod string + type RevStatus string + type Revision struct + Checksum uint64 + ExternalID string + ID string + Status RevStatus + Timestamp time.Time + Type LFType + Vars map[string]string + func ParseRevisionFile(fpath string) (*Revision, error) + func (r *Revision) ToJSONString() string + func (r *Revision) Touch() *Revision + func (r *Revision) TouchWithID(s string) *Revision + func (v *Revision) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *Revision) UnmarshalJSON(data []byte) error + func (v Revision) MarshalEasyJSON(w *jwriter.Writer) + func (v Revision) MarshalJSON() ([]byte, error) + type SSHAuthConfig struct + IdentityFile string + IdentityFileRef *LocalFileRef + Password string + Port int + RemoteAddr string + User string + func (s *SSHAuthConfig) Hash() uint64 + func (s *SSHAuthConfig) LoadIdentityFile(base *Laforge, pr *PathResolver, caller CallFile) error + func (s *SSHAuthConfig) Protocol() string + func (v *SSHAuthConfig) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *SSHAuthConfig) UnmarshalJSON(data []byte) error + func (v SSHAuthConfig) MarshalEasyJSON(w *jwriter.Writer) + func (v SSHAuthConfig) MarshalJSON() ([]byte, error) + type SSHClient struct + func NewSSHClient(sshconf *SSHAuthConfig, overrideKey string) (*SSHClient, error) + func (s *SSHClient) Connect() (err error) + func (s *SSHClient) DeleteScriptV2(remotefile string) error + func (s *SSHClient) Disconnect() error + func (s *SSHClient) LaunchInteractiveShell() error + func (s *SSHClient) Start(cmd *RemoteCommand) error + func (s *SSHClient) Upload(path string, input io.Reader) error + func (s *SSHClient) UploadDir(dst string, src string) error + func (s *SSHClient) UploadFileV2(src, dst string) error + func (s *SSHClient) UploadScript(path string, input io.Reader) error + func (s *SSHClient) UploadScriptV2(src, dst string) error + type Script struct + AbsPath string + Args []string + Caller Caller + Cooldown int + Description string + Disabled bool + Findings []*Finding + ID string + IO *IO + IgnoreErrors bool + Language string + Maintainer *User + Name string + OnConflict *OnConflict + Source string + SourceType string + Tags map[string]string + Vars map[string]string + func (s *Script) ArgString() string + func (s *Script) Base() string + func (s *Script) Fullpath() string + func (s *Script) Gather(g *Snapshot) error + func (s *Script) GetCaller() Caller + func (s *Script) GetOnConflict() OnConflict + func (s *Script) Hash() uint64 + func (s *Script) Kind() string + func (s *Script) LaforgeID() string + func (s *Script) ParentLaforgeID() string + func (s *Script) Path() string + func (s *Script) ResolveSource(base *Laforge, pr *PathResolver, caller CallFile) error + func (s *Script) ResourceHash() uint64 + func (s *Script) SetCaller(c Caller) + func (s *Script) SetOnConflict(o OnConflict) + func (s *Script) SourceBase() string + func (s *Script) Swap(m Mergeable) error + func (s *Script) ValidatePath() error + func (v *Script) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *Script) UnmarshalJSON(data []byte) error + func (v Script) MarshalEasyJSON(w *jwriter.Writer) + func (v Script) MarshalJSON() ([]byte, error) + type ScriptJob struct + AssetPath string + Script *Script + Target *ProvisioningStep + func CreateScriptJob(id string, offset int, m *Metadata, pstep *ProvisioningStep) (*ScriptJob, error) + func (j *ScriptJob) CanProceed() error + func (j *ScriptJob) CleanUp() error + func (j *ScriptJob) Do() error + func (j *ScriptJob) EnsureDependencies(l *Laforge) error + func (j *ScriptJob) Finish() error + func (v *ScriptJob) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *ScriptJob) UnmarshalJSON(data []byte) error + func (v ScriptJob) MarshalEasyJSON(w *jwriter.Writer) + func (v ScriptJob) MarshalJSON() ([]byte, error) + type ShellConfig interface + Protocol func() string + type Snapshot struct + AltGraph *dag.AcyclicGraph + Checksum uint64 + Edgebus chan Edge + Edges interface{} + Metabus chan *Metadata + Metastore map[string]*Metadata + Mutex *sync.RWMutex + Nodebus chan *Metadata + RootID string + func NewEmptySnapshot() *Snapshot + func NewSnapshotFromEnv(e *Environment, overwriteBuild bool) (*Snapshot, error) + func (s *Snapshot) AddNodeV2(id string) + func (s *Snapshot) AddObject(dep Dependency) + func (s *Snapshot) AddRelationship(src Dependency, target Dependency) + func (s *Snapshot) GetEdges() mapset.Set + func (s *Snapshot) Hash() uint64 + func (s *Snapshot) PopulateGraph(end chan struct{}, fin chan struct{}) + func (s *Snapshot) RebuildGraph() error + func (s *Snapshot) Relate(root Dependency, leafs ...Dependency) error + func (s *Snapshot) RelateObjects(end chan struct{}, fin chan struct{}) + func (s *Snapshot) RelateV2(e Edge) + func (s *Snapshot) StoreMetadata(end chan struct{}, fin chan struct{}) + func (s *Snapshot) WalkEnvironment(e *Environment, wg *sync.WaitGroup) + func (s *Snapshot) WalkHost(h *Host, wg *sync.WaitGroup) + func (s *Snapshot) WalkProvisionedHost(ph *ProvisionedHost, wg *sync.WaitGroup) + func (s *Snapshot) WalkTeam(t *Team, wg *sync.WaitGroup) + func (v *Snapshot) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *Snapshot) UnmarshalJSON(data []byte) error + func (v Snapshot) MarshalEasyJSON(w *jwriter.Writer) + func (v Snapshot) MarshalJSON() ([]byte, error) + type State struct + Base *Laforge + Current *Snapshot + DB *buntdb.DB + KnownRevs map[string]*Revision + NewRevs map[string]*Revision + Persisted *Snapshot + Plan *Plan + RevDelta map[string]RevMod + func BootstrapWithState(overwriteBuild bool) (*State, error) + func NewState() *State + func (s *State) CalculateDelta() (*Plan, error) + func (s *State) CreateDBSchema() error + func (s *State) GenerateCurrentRevs() error + func (s *State) GenerateRevisionDelta() error + func (s *State) InitializeEmptyPersistedSnapshot() error + func (s *State) KnownRevHashes() uint64 + func (s *State) LoadSnapshotFromDB() (*Snapshot, error) + func (s *State) LocateRevisions() error + func (s *State) NewRevHashes() uint64 + func (s *State) Open(dbfile string) error + func (s *State) PersistSnapshot(snap *Snapshot) error + func (s *State) SetCurrent(snap *Snapshot) + func (s *State) SnapshotsEqual() bool + type StateContext int + const BaseContext + const BuildContext + const EnvContext + const GlobalContext + const NoContext + const TeamContext + func (s StateContext) String() string + type Status struct + Completed bool + EndedAt time.Time + Error string + Failed bool + StartedAt time.Time + State ProvisionStatus + func (s *Status) CanProceed() bool + func (s *Status) Current() ProvisionStatus + func (s *Status) Hash() uint64 + func (v *Status) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *Status) UnmarshalJSON(data []byte) error + func (v Status) MarshalEasyJSON(w *jwriter.Writer) + func (v Status) MarshalJSON() ([]byte, error) + type Team struct + Build *Build + Caller Caller + Competition *Competition + Config map[string]string + Dir string + Environment *Environment + ID string + Maintainer *User + OnConflict *OnConflict + ProvisionedHosts map[string]*ProvisionedHost + ProvisionedNetworks map[string]*ProvisionedNetwork + RelBuildPath string + Revision int64 + Runner *runner.Runner + Tags map[string]string + TeamNumber int + TeamRoot string + func (t *Team) Associate(g *Snapshot) error + func (t *Team) Base() string + func (t *Team) CreateProvisionResources() error + func (t *Team) CreateProvisionedNetwork(net *Network) *ProvisionedNetwork + func (t *Team) CreateRunner() *runner.Runner + func (t *Team) Gather(g *Snapshot) error + func (t *Team) GetCaller() Caller + func (t *Team) GetOnConflict() OnConflict + func (t *Team) Hash() uint64 + func (t *Team) LaforgeID() string + func (t *Team) LoadFileDeps(base *Laforge, pr *PathResolver, caller CallFile) error + func (t *Team) LocateProvisionedHost(netid, hostid string) (*ProvisionedHost, error) + func (t *Team) ParentLaforgeID() string + func (t *Team) Path() string + func (t *Team) RunLocalCommand(command string, args []string, wg *sync.WaitGroup, errChan chan error) + func (t *Team) RunTerraformCommand(args []string, wg *sync.WaitGroup, errChan chan error) + func (t *Team) RunTerraformSequence(cmds []string, wg *sync.WaitGroup, errChan chan error) + func (t *Team) SetCaller(ca Caller) + func (t *Team) SetID() string + func (t *Team) SetOnConflict(o OnConflict) + func (t *Team) Swap(m Mergeable) error + func (t *Team) TerraformInit() error + func (t *Team) ValidatePath() error + func (v *Team) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *Team) UnmarshalJSON(data []byte) error + func (v Team) MarshalEasyJSON(w *jwriter.Writer) + func (v Team) MarshalJSON() ([]byte, error) + type TerraformJob struct + Commands [][]string + OutputCallback OutputCallback + Target *Team + func (j *TerraformJob) CanProceed() error + func (j *TerraformJob) CleanUp() error + func (j *TerraformJob) Do() error + func (j *TerraformJob) EnsureDependencies(l *Laforge) error + func (j *TerraformJob) Finish() error + func (v *TerraformJob) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *TerraformJob) UnmarshalJSON(data []byte) error + func (v TerraformJob) MarshalEasyJSON(w *jwriter.Writer) + func (v TerraformJob) MarshalJSON() ([]byte, error) + type User struct + Email string + ID string + Name string + UUID string + func (v *User) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *User) UnmarshalJSON(data []byte) error + func (v User) MarshalEasyJSON(w *jwriter.Writer) + func (v User) MarshalJSON() ([]byte, error) + type WinRMAuthConfig struct + CAFile string + CAFileRef *LocalFileRef + CertFile string + CertFileRef *LocalFileRef + HTTPS bool + KeyFile string + KeyFileRef *LocalFileRef + Password string + Port int + RemoteAddr string + SkipVerify bool + TLSServerName string + User string + func (v *WinRMAuthConfig) UnmarshalEasyJSON(l *jlexer.Lexer) + func (v *WinRMAuthConfig) UnmarshalJSON(data []byte) error + func (v WinRMAuthConfig) MarshalEasyJSON(w *jwriter.Writer) + func (v WinRMAuthConfig) MarshalJSON() ([]byte, error) + func (w *WinRMAuthConfig) Hash() uint64 + func (w *WinRMAuthConfig) LoadCAFile(base *Laforge, pr *PathResolver, caller CallFile) error + func (w *WinRMAuthConfig) LoadCertFile(base *Laforge, pr *PathResolver, caller CallFile) error + func (w *WinRMAuthConfig) LoadKeyFile(base *Laforge, pr *PathResolver, caller CallFile) error + func (w *WinRMAuthConfig) Protocol() string + func (w *WinRMAuthConfig) ToUploadConfig() (string, winrmcp.Config) + type WinRMClient struct + Config *WinRMAuthConfig + Stderr io.Writer + Stdin io.Reader + Stdout io.Writer + func (w *WinRMClient) ExecuteNonInteractive(cmd *RemoteCommand) error + func (w *WinRMClient) Kind() string + func (w *WinRMClient) LaunchInteractiveShell() error + func (w *WinRMClient) SetConfig(c *WinRMAuthConfig) error + func (w *WinRMClient) SetIO(stdout io.Writer, stderr io.Writer, stdin io.Reader) error