Documentation ¶
Index ¶
- Constants
- func ChangesInvalidateBuild(old, new Manifest) bool
- func DeepEqual(x, y interface{}) bool
- func ImageTargetsByID(iTargets []ImageTarget) map[TargetID]ImageTarget
- func MakeTargetMap(targets []TargetSpec) map[TargetID]TargetSpec
- func NewRelativeFileOrChildMatcher(baseDir string, paths ...string) fileOrChildMatcher
- func NewSimpleFileMatcher(paths ...string) (fileMatcher, error)
- func TargetIDSet(tids []TargetID) map[TargetID]bool
- func TimestampPrefix(ts time.Time) []byte
- func UnrecognizedSailModeError(v string) error
- func UnrecognizedWebModeError(v string) error
- type BuildDetails
- type BuildReason
- type BuildRecord
- type Cmd
- type CompositePathMatcher
- type CustomBuild
- type DeployID
- type DockerBuild
- type DockerBuildArgs
- type DockerComposeTarget
- func (t DockerComposeTarget) Dependencies() []string
- func (t DockerComposeTarget) DependencyIDs() []TargetID
- func (t DockerComposeTarget) Dockerignores() []Dockerignore
- func (t DockerComposeTarget) Empty() bool
- func (t DockerComposeTarget) ID() TargetID
- func (t DockerComposeTarget) IgnoredLocalDirectories() []string
- func (t DockerComposeTarget) LocalPaths() []string
- func (t DockerComposeTarget) LocalRepos() []LocalGitRepo
- func (t DockerComposeTarget) ManifestName() ManifestName
- func (t DockerComposeTarget) PublishedPorts() []int
- func (t DockerComposeTarget) TiltFilename() string
- func (dc DockerComposeTarget) Validate() error
- func (t DockerComposeTarget) WithBuildPath(buildPath string) DockerComposeTarget
- func (t DockerComposeTarget) WithDependencyIDs(ids []TargetID) DockerComposeTarget
- func (t DockerComposeTarget) WithDockerignores(dockerignores []Dockerignore) DockerComposeTarget
- func (t DockerComposeTarget) WithIgnoredLocalDirectories(dirs []string) DockerComposeTarget
- func (t DockerComposeTarget) WithPublishedPorts(ports []int) DockerComposeTarget
- func (t DockerComposeTarget) WithRepos(repos []LocalGitRepo) DockerComposeTarget
- func (t DockerComposeTarget) WithTiltFilename(f string) DockerComposeTarget
- type Dockerignore
- type FastBuild
- type ImageTarget
- func (i ImageTarget) AnyFastBuildInfo() FastBuild
- func (i ImageTarget) AnyLiveUpdateInfo() LiveUpdate
- func (i ImageTarget) CachePaths() []string
- func (i ImageTarget) CustomBuildInfo() CustomBuild
- func (i ImageTarget) Dependencies() []string
- func (i ImageTarget) DependencyIDs() []TargetID
- func (i ImageTarget) DockerBuildInfo() DockerBuild
- func (i ImageTarget) Dockerignores() []Dockerignore
- func (i ImageTarget) ID() TargetID
- func (i ImageTarget) IgnoredLocalDirectories() []string
- func (i ImageTarget) IsCustomBuild() bool
- func (i ImageTarget) IsDockerBuild() bool
- func (i ImageTarget) IsFastBuild() bool
- func (i ImageTarget) LocalPaths() []string
- func (i ImageTarget) LocalRepos() []LocalGitRepo
- func (i ImageTarget) TiltFilename() string
- func (i ImageTarget) TopFastBuildInfo() FastBuild
- func (i ImageTarget) Validate() error
- func (i ImageTarget) WithBuildDetails(details BuildDetails) ImageTarget
- func (i ImageTarget) WithCachePaths(paths []string) ImageTarget
- func (i ImageTarget) WithDependencyIDs(ids []TargetID) ImageTarget
- func (i ImageTarget) WithDockerignores(dockerignores []Dockerignore) ImageTarget
- func (i ImageTarget) WithOverrideCommand(cmd Cmd) ImageTarget
- func (i ImageTarget) WithRepos(repos []LocalGitRepo) ImageTarget
- func (i ImageTarget) WithTiltFilename(f string) ImageTarget
- type K8sTarget
- func (k8s K8sTarget) AppendYAML(y string) K8sTarget
- func (k8s K8sTarget) DependencyIDs() []TargetID
- func (k8s K8sTarget) Empty() bool
- func (k8s K8sTarget) ID() TargetID
- func (k8s K8sTarget) RefInjectCounts() map[string]int
- func (k8s K8sTarget) Validate() error
- func (k8s K8sTarget) WithDependencyIDs(ids []TargetID) K8sTarget
- func (k8s K8sTarget) WithRefInjectCounts(ric map[string]int) K8sTarget
- type LabelPair
- type LiveUpdate
- type LiveUpdateFallBackOnStep
- type LiveUpdateRestartContainerStep
- type LiveUpdateRunStep
- type LiveUpdateStep
- type LiveUpdateSyncStep
- type LocalGitRepo
- type Log
- type LogEvent
- type Manifest
- func (m Manifest) DependencyIDs() []TargetID
- func (m Manifest) DeployTarget() TargetSpec
- func (m Manifest) DockerComposeTarget() DockerComposeTarget
- func (m Manifest) Empty() bool
- func (m1 Manifest) Equal(m2 Manifest) bool
- func (m Manifest) ID() TargetID
- func (m Manifest) ImageTargetAt(i int) ImageTarget
- func (m Manifest) IsDC() bool
- func (m Manifest) IsImageDeployed(iTarget ImageTarget) bool
- func (m Manifest) IsK8s() bool
- func (m Manifest) IsUnresourcedYAMLManifest() bool
- func (m Manifest) K8sTarget() K8sTarget
- func (m Manifest) LocalPaths() []string
- func (m Manifest) ManifestName() ManifestName
- func (m Manifest) TargetSpecs() []TargetSpec
- func (m Manifest) Validate() error
- func (m Manifest) WithDeployTarget(t TargetSpec) Manifest
- func (m Manifest) WithImageTarget(iTarget ImageTarget) Manifest
- func (m Manifest) WithImageTargets(iTargets []ImageTarget) Manifest
- func (m Manifest) WithTriggerMode(mode TriggerMode) Manifest
- type ManifestName
- type NoBrowser
- type Orchestrator
- type PathMatcher
- type PathSet
- type PortForward
- type RoomID
- type Run
- type SailMode
- type SailNewRoomRequest
- type SailPort
- type SailRoomInfo
- type SailURL
- type Sync
- type Target
- type TargetGraph
- func (g TargetGraph) DeployedImages() []ImageTarget
- func (g TargetGraph) DepsOf(t TargetSpec) ([]TargetSpec, error)
- func (g TargetGraph) Images() []ImageTarget
- func (g TargetGraph) IsDeployedImage(iTarget ImageTarget) bool
- func (g TargetGraph) IsSingleSourceDAG() bool
- func (g TargetGraph) VisitTree(root TargetSpec, visit func(dep TargetSpec) error) error
- type TargetID
- type TargetName
- type TargetSpec
- type TargetStatus
- type TargetType
- type TiltBuild
- type TriggerMode
- type WebDevPort
- type WebMode
- type WebPort
- type WebURL
- type WebVersion
Constants ¶
const ( SailSecretKey = "Secret" SailRoomIDKey = "room_id" )
const BuildHistoryLimit = 2
const BuildReasonNone = BuildReason(0)
const DefaultSailPort = 10450
const OrchestratorDC = Orchestrator("DockerCompose")
const OrchestratorK8s = Orchestrator("Kubernetes")
const OrchestratorUnknown = Orchestrator("")
const UnresourcedYAMLManifestName = ManifestName("uncategorized")
TODO(maia): throw an error if you try to name a manifest this in your Tiltfile?
Variables ¶
This section is empty.
Functions ¶
func ChangesInvalidateBuild ¶
ChangesInvalidateBuild checks whether the changes from old => new manifest invalidate our build of the old one; i.e. if we're replacing `old` with `new`, should we perform a full rebuild?
func ImageTargetsByID ¶
func ImageTargetsByID(iTargets []ImageTarget) map[TargetID]ImageTarget
func MakeTargetMap ¶
func MakeTargetMap(targets []TargetSpec) map[TargetID]TargetSpec
Map all the targets by their target ID.
func NewRelativeFileOrChildMatcher ¶
NewRelativeFileOrChildMatcher returns a matcher for the given paths (with any relative paths converted to absolute, relative to the given baseDir).
func NewSimpleFileMatcher ¶
NewSimpleFileMatcher returns a matcher for the given paths; any relative paths are converted to absolute (relative to cwd).
func TargetIDSet ¶
func TimestampPrefix ¶
Types ¶
type BuildDetails ¶
type BuildDetails interface {
// contains filtered or unexported methods
}
type BuildReason ¶
type BuildReason int
const ( BuildReasonFlagChangedFiles BuildReason = 1 << iota BuildReasonFlagConfig // See comments on NeedsRebuildFromCrash BuildReasonFlagCrash BuildReasonFlagInit )
func (BuildReason) Has ¶
func (r BuildReason) Has(flag BuildReason) bool
func (BuildReason) IsCrashOnly ¶
func (r BuildReason) IsCrashOnly() bool
func (BuildReason) With ¶
func (r BuildReason) With(flag BuildReason) BuildReason
type BuildRecord ¶
type BuildRecord struct { Edits []string Error error Warnings []string StartTime time.Time FinishTime time.Time // IsZero() == true for in-progress builds Reason BuildReason Log Log `testdiff:"ignore"` }
func (BuildRecord) Duration ¶
func (bs BuildRecord) Duration() time.Duration
func (BuildRecord) Empty ¶
func (bs BuildRecord) Empty() bool
type Cmd ¶
type Cmd struct {
Argv []string
}
func ToShellCmd ¶
func ToShellCmds ¶
func (Cmd) EntrypointStr ¶
func (Cmd) IsShellStandardForm ¶
func (Cmd) ShellStandardScript ¶
Get the script when the shell is in standard form. Panics if the command is not in shell standard form.
type CompositePathMatcher ¶
type CompositePathMatcher struct {
Matchers []PathMatcher
}
func (CompositePathMatcher) MatchesEntireDir ¶
func (c CompositePathMatcher) MatchesEntireDir(f string) (bool, error)
type CustomBuild ¶
type CustomBuild struct { Command string // Deps is a list of file paths that are dependencies of this command. Deps []string // Optional: tag we expect the image to be built with (we use this to check that // the expected image+tag has been created). // If empty, we create an expected tag at the beginning of CustomBuild (and // export $EXPECTED_REF=name:expected_tag ) Tag string Fast FastBuild LiveUpdate LiveUpdate // Optionally, can use LiveUpdate to update this build in place. DisablePush bool }
func (CustomBuild) WithTag ¶
func (cb CustomBuild) WithTag(t string) CustomBuild
type DeployID ¶
type DeployID int64 // Unix ns after epoch -- uniquely identify a deploy
func NewDeployID ¶
func NewDeployID() DeployID
type DockerBuild ¶
type DockerBuild struct { Dockerfile string BuildPath string // the absolute path to the files BuildArgs DockerBuildArgs FastBuild FastBuild // Optionally, can use FastBuild to update this build in place. LiveUpdate LiveUpdate // Optionally, can use LiveUpdate to update this build in place. }
type DockerBuildArgs ¶
type DockerComposeTarget ¶
type DockerComposeTarget struct { Name TargetName ConfigPaths []string YAMLRaw []byte // for diff'ing when config files change DfRaw []byte // for diff'ing when config files change // contains filtered or unexported fields }
func ExtractDockerComposeTargets ¶
func ExtractDockerComposeTargets(specs []TargetSpec) []DockerComposeTarget
func (DockerComposeTarget) Dependencies ¶
func (t DockerComposeTarget) Dependencies() []string
TODO(nick): This method should be deleted. We should just de-dupe and sort LocalPaths once when we create it, rather than have a duplicate method that does the "right" thing.
func (DockerComposeTarget) DependencyIDs ¶
func (t DockerComposeTarget) DependencyIDs() []TargetID
func (DockerComposeTarget) Dockerignores ¶
func (t DockerComposeTarget) Dockerignores() []Dockerignore
func (DockerComposeTarget) Empty ¶
func (t DockerComposeTarget) Empty() bool
func (DockerComposeTarget) ID ¶
func (t DockerComposeTarget) ID() TargetID
func (DockerComposeTarget) IgnoredLocalDirectories ¶
func (t DockerComposeTarget) IgnoredLocalDirectories() []string
func (DockerComposeTarget) LocalPaths ¶
func (t DockerComposeTarget) LocalPaths() []string
func (DockerComposeTarget) LocalRepos ¶
func (t DockerComposeTarget) LocalRepos() []LocalGitRepo
func (DockerComposeTarget) ManifestName ¶
func (t DockerComposeTarget) ManifestName() ManifestName
TODO(nick): This is a temporary hack until we figure out how we want to pass these IDs to the docker-compose UX.
func (DockerComposeTarget) PublishedPorts ¶
func (t DockerComposeTarget) PublishedPorts() []int
func (DockerComposeTarget) TiltFilename ¶
func (t DockerComposeTarget) TiltFilename() string
func (DockerComposeTarget) Validate ¶
func (dc DockerComposeTarget) Validate() error
func (DockerComposeTarget) WithBuildPath ¶
func (t DockerComposeTarget) WithBuildPath(buildPath string) DockerComposeTarget
func (DockerComposeTarget) WithDependencyIDs ¶
func (t DockerComposeTarget) WithDependencyIDs(ids []TargetID) DockerComposeTarget
func (DockerComposeTarget) WithDockerignores ¶
func (t DockerComposeTarget) WithDockerignores(dockerignores []Dockerignore) DockerComposeTarget
func (DockerComposeTarget) WithIgnoredLocalDirectories ¶
func (t DockerComposeTarget) WithIgnoredLocalDirectories(dirs []string) DockerComposeTarget
func (DockerComposeTarget) WithPublishedPorts ¶
func (t DockerComposeTarget) WithPublishedPorts(ports []int) DockerComposeTarget
func (DockerComposeTarget) WithRepos ¶
func (t DockerComposeTarget) WithRepos(repos []LocalGitRepo) DockerComposeTarget
func (DockerComposeTarget) WithTiltFilename ¶
func (t DockerComposeTarget) WithTiltFilename(f string) DockerComposeTarget
type Dockerignore ¶
type FastBuild ¶
type ImageTarget ¶
type ImageTarget struct { ConfigurationRef container.RefSelector DeploymentRef reference.Named BuildDetails BuildDetails MatchInEnvVars bool // User-supplied command to run when the container runs // (i.e. overrides k8s yaml "command", container ENTRYPOINT, etc.) OverrideCmd Cmd // contains filtered or unexported fields }
func ExtractImageTargets ¶
func ExtractImageTargets(specs []TargetSpec) []ImageTarget
func NewImageTarget ¶
func NewImageTarget(ref container.RefSelector) ImageTarget
func (ImageTarget) AnyFastBuildInfo ¶
func (i ImageTarget) AnyFastBuildInfo() FastBuild
func (ImageTarget) AnyLiveUpdateInfo ¶
func (i ImageTarget) AnyLiveUpdateInfo() LiveUpdate
func (ImageTarget) CachePaths ¶
func (i ImageTarget) CachePaths() []string
func (ImageTarget) CustomBuildInfo ¶
func (i ImageTarget) CustomBuildInfo() CustomBuild
func (ImageTarget) Dependencies ¶
func (i ImageTarget) Dependencies() []string
TODO(nick): This method should be deleted. We should just de-dupe and sort LocalPaths once when we create it, rather than have a duplicate method that does the "right" thing.
func (ImageTarget) DependencyIDs ¶
func (i ImageTarget) DependencyIDs() []TargetID
func (ImageTarget) DockerBuildInfo ¶
func (i ImageTarget) DockerBuildInfo() DockerBuild
func (ImageTarget) Dockerignores ¶
func (i ImageTarget) Dockerignores() []Dockerignore
func (ImageTarget) ID ¶
func (i ImageTarget) ID() TargetID
func (ImageTarget) IgnoredLocalDirectories ¶
func (i ImageTarget) IgnoredLocalDirectories() []string
func (ImageTarget) IsCustomBuild ¶
func (i ImageTarget) IsCustomBuild() bool
func (ImageTarget) IsDockerBuild ¶
func (i ImageTarget) IsDockerBuild() bool
func (ImageTarget) IsFastBuild ¶
func (i ImageTarget) IsFastBuild() bool
IsFastBuild checks if the TOP LEVEL BUILD DETAILS are for a FastBuild. (If this target is a DockerBuild || CustomBuild with a nested FastBuild, returns FALSE.)
func (ImageTarget) LocalPaths ¶
func (i ImageTarget) LocalPaths() []string
func (ImageTarget) LocalRepos ¶
func (i ImageTarget) LocalRepos() []LocalGitRepo
func (ImageTarget) TiltFilename ¶
func (i ImageTarget) TiltFilename() string
func (ImageTarget) TopFastBuildInfo ¶
func (i ImageTarget) TopFastBuildInfo() FastBuild
FastBuildInfo returns the TOP LEVEL BUILD DETAILS, if a FastBuild. Does not return nested FastBuild details.
func (ImageTarget) Validate ¶
func (i ImageTarget) Validate() error
func (ImageTarget) WithBuildDetails ¶
func (i ImageTarget) WithBuildDetails(details BuildDetails) ImageTarget
func (ImageTarget) WithCachePaths ¶
func (i ImageTarget) WithCachePaths(paths []string) ImageTarget
func (ImageTarget) WithDependencyIDs ¶
func (i ImageTarget) WithDependencyIDs(ids []TargetID) ImageTarget
func (ImageTarget) WithDockerignores ¶
func (i ImageTarget) WithDockerignores(dockerignores []Dockerignore) ImageTarget
func (ImageTarget) WithOverrideCommand ¶
func (i ImageTarget) WithOverrideCommand(cmd Cmd) ImageTarget
func (ImageTarget) WithRepos ¶
func (i ImageTarget) WithRepos(repos []LocalGitRepo) ImageTarget
func (ImageTarget) WithTiltFilename ¶
func (i ImageTarget) WithTiltFilename(f string) ImageTarget
type K8sTarget ¶
type K8sTarget struct { Name TargetName YAML string PortForwards []PortForward // labels for pods that we should watch and associate with this resource ExtraPodSelectors []labels.Selector // Each K8s entity should have a display name for user interfaces // that balances brevity and uniqueness DisplayNames []string // contains filtered or unexported fields }
func ExtractK8sTargets ¶
func ExtractK8sTargets(specs []TargetSpec) []K8sTarget
func (K8sTarget) AppendYAML ¶
func (K8sTarget) DependencyIDs ¶
func (K8sTarget) RefInjectCounts ¶
func (K8sTarget) WithDependencyIDs ¶
type LabelPair ¶
func ToLabelPairs ¶
type LiveUpdate ¶
type LiveUpdate struct { Steps []LiveUpdateStep BaseDir string // directory where the LiveUpdate was initialized (we'll use this to eval. any relative paths) }
Specifies how to update a running container.
- If any paths specified in a FallBackOn step have changed, fall back to an image build (i.e. don't do a LiveUpdate)
- If there are Sync steps in `Steps`, files will be synced as specified.
- Any time we sync one or more files, all Run and RestartContainer steps will be evaluated.
func NewLiveUpdate ¶
func NewLiveUpdate(steps []LiveUpdateStep, baseDir string) (LiveUpdate, error)
func (LiveUpdate) Empty ¶
func (lu LiveUpdate) Empty() bool
func (LiveUpdate) FallBackOnFiles ¶
func (lu LiveUpdate) FallBackOnFiles() PathSet
FallBackOnFiles returns a PathSet of files which, if any have changed, indicate that we should fall back to an image build.
func (LiveUpdate) RunSteps ¶
func (lu LiveUpdate) RunSteps() []Run
func (LiveUpdate) ShouldRestart ¶
func (lu LiveUpdate) ShouldRestart() bool
func (LiveUpdate) SyncSteps ¶
func (lu LiveUpdate) SyncSteps() []Sync
type LiveUpdateFallBackOnStep ¶
type LiveUpdateFallBackOnStep struct {
Files []string
}
Specifies that changes to any of the given files should cause the builder to fall back (i.e. do a full image build)
type LiveUpdateRestartContainerStep ¶
type LiveUpdateRestartContainerStep struct{}
Specifies that the container should be restarted when any files in `Sync` steps have changed.
type LiveUpdateRunStep ¶
Specifies that `Command` should be executed when any files in `Sync` steps have changed If `Trigger` is non-empty, `Command` will only be executed when the local paths of changed files covered by at least one `Sync` match one of `PathSet.Paths` (evaluated relative to `PathSet.BaseDirectory`.
type LiveUpdateStep ¶
type LiveUpdateStep interface {
// contains filtered or unexported methods
}
type LiveUpdateSyncStep ¶
type LiveUpdateSyncStep struct {
Source, Dest string
}
Specifies that changes to local path `Source` should be synced to container path `Dest`
type LocalGitRepo ¶
type LocalGitRepo struct {
LocalPath string
}
func (LocalGitRepo) IsRepo ¶
func (LocalGitRepo) IsRepo()
type Log ¶
type Log struct {
// contains filtered or unexported fields
}
func AppendLog ¶
Returns a new instance of `Log` with content equal to `b` appended to the end of `l` Performs truncation off the start of the log (at a newline) to ensure the resulting log is not longer than `maxLogLengthInBytes`. (which maybe means a pedant would say this isn't strictly an `append`?)
func (Log) MarshalJSON ¶
type Manifest ¶
type Manifest struct { // Properties for all manifests. Name ManifestName // Info needed to build an image. (This struct contains details of DockerBuild, FastBuild... etc.) ImageTargets []ImageTarget // How updates are triggered: // - automatically, when we detect a change // - manually, when the user tells us to TriggerMode TriggerMode // contains filtered or unexported fields }
NOTE: If you modify Manifest, make sure to modify `Manifest.Equal` appropriately
func (Manifest) DependencyIDs ¶
func (Manifest) DeployTarget ¶
func (m Manifest) DeployTarget() TargetSpec
func (Manifest) DockerComposeTarget ¶
func (m Manifest) DockerComposeTarget() DockerComposeTarget
func (Manifest) ImageTargetAt ¶
func (m Manifest) ImageTargetAt(i int) ImageTarget
func (Manifest) IsImageDeployed ¶
func (m Manifest) IsImageDeployed(iTarget ImageTarget) bool
func (Manifest) IsUnresourcedYAMLManifest ¶
func (Manifest) LocalPaths ¶
func (Manifest) ManifestName ¶
func (m Manifest) ManifestName() ManifestName
func (Manifest) TargetSpecs ¶
func (m Manifest) TargetSpecs() []TargetSpec
func (Manifest) WithDeployTarget ¶
func (m Manifest) WithDeployTarget(t TargetSpec) Manifest
func (Manifest) WithImageTarget ¶
func (m Manifest) WithImageTarget(iTarget ImageTarget) Manifest
func (Manifest) WithImageTargets ¶
func (m Manifest) WithImageTargets(iTargets []ImageTarget) Manifest
func (Manifest) WithTriggerMode ¶
func (m Manifest) WithTriggerMode(mode TriggerMode) Manifest
type ManifestName ¶
type ManifestName string
TODO(nick): We should probably get rid of ManifestName completely and just use TargetName everywhere.
func (ManifestName) String ¶
func (m ManifestName) String() string
func (ManifestName) TargetName ¶
func (m ManifestName) TargetName() TargetName
type Orchestrator ¶
type Orchestrator string
The current orchestrator we're running with (K8s or DockerCompose)
type PathMatcher ¶
type PathMatcher interface { Matches(f string) (bool, error) // If this matches the entire dir, we can often optimize filetree walks a bit MatchesEntireDir(file string) (bool, error) }
var EmptyMatcher PathMatcher = emptyMatcher{}
func NewCompositeMatcher ¶
func NewCompositeMatcher(matchers []PathMatcher) PathMatcher
type PathSet ¶
A PathSet stores one or more filepaths, along with the directory that any relative paths are relative to NOTE(maia): in its current usage (for LiveUpdate.Run.Triggers, LiveUpdate.FallBackOnFiles()) this isn't strictly necessary, could just as easily convert paths to Abs when specified in the Tiltfile--but leaving this code in place for now because it was already written and may help with complicated future cases (glob support, etc.)
func NewPathSet ¶
type PortForward ¶
type Run ¶
type SailMode ¶
type SailMode string
Mode for developing Tilt against the Sail server.
Currently controls whether we use a local instance or the production instance.
const ( SailModeDefault SailMode = "default" SailModeDisabled SailMode = "none" // Local sail server on localhost:10350 SailModeLocal SailMode = "local" // Remote sail server on sail-staging.tilt.dev. Useful for testing SSL. // Always uses precompiled JS, because one of the things we want to test // with sail-staging is the JS at head (rather than testing the production JS). SailModeStaging SailMode = "staging" // Production sail server at sail.tilt.dev. // Serves production JS according to the version of Tilt that opened the room. SailModeProd SailMode = "prod" )
type SailNewRoomRequest ¶
type SailNewRoomRequest struct {
WebVersion WebVersion `json:"web_version"`
}
type SailRoomInfo ¶
type SailURL ¶
func (SailURL) WithQueryParam ¶
type Target ¶
type Target interface { Spec() TargetSpec Status() TargetStatus }
type TargetGraph ¶
type TargetGraph struct {
// contains filtered or unexported fields
}
func NewTargetGraph ¶
func NewTargetGraph(targets []TargetSpec) (TargetGraph, error)
func (TargetGraph) DeployedImages ¶
func (g TargetGraph) DeployedImages() []ImageTarget
Returns all the images in the graph that are directly deployed to a container.
func (TargetGraph) DepsOf ¶
func (g TargetGraph) DepsOf(t TargetSpec) ([]TargetSpec, error)
Return the direct dependency targets.
func (TargetGraph) Images ¶
func (g TargetGraph) Images() []ImageTarget
func (TargetGraph) IsDeployedImage ¶
func (g TargetGraph) IsDeployedImage(iTarget ImageTarget) bool
Is this image directly deployed a container?
func (TargetGraph) IsSingleSourceDAG ¶
func (g TargetGraph) IsSingleSourceDAG() bool
In Tilt, Manifests should always be DAGs with a single root node (the deploy target). This is just a quick sanity check to make sure that's true, because many of our graph-traversal algorithms won't work if it's not true.
func (TargetGraph) VisitTree ¶
func (g TargetGraph) VisitTree(root TargetSpec, visit func(dep TargetSpec) error) error
Visit t and its transitive dependencies in post-order (aka depth-first)
type TargetID ¶
type TargetID struct { Type TargetType Name TargetName }
func DedupeTargetIDs ¶
De-duplicate target ids, maintaining the same order.
func ImageID ¶
func ImageID(ref container.RefSelector) TargetID
type TargetName ¶
type TargetName string
func (TargetName) String ¶
func (n TargetName) String() string
type TargetSpec ¶
type TargetSpec interface { ID() TargetID // Check to make sure the spec is well-formed. // All TargetSpecs should throw an error in the case where the ID is empty. Validate() error DependencyIDs() []TargetID }
func TopologicalSort ¶
func TopologicalSort(targets []TargetSpec) ([]TargetSpec, error)
Create a topologically sorted list of targets. Returns an error if the targets can't be topologically sorted. (e.g., there's a cycle).
type TargetStatus ¶
type TargetStatus interface { TargetID() TargetID ActiveBuild() BuildRecord LastBuild() BuildRecord }
type TargetType ¶
type TargetType string
const ( // Deployed k8s entities TargetTypeK8s TargetType = "k8s" // Image builds // TODO(nick): It might make sense to represent FastBuild and normal Docker builds // as separate types. TargetTypeImage TargetType = "image" // Docker-compose service build and deploy // TODO(nick): Currently, build and deploy are represented as a single target. // In the future, we might have a separate build target and deploy target. TargetTypeDockerCompose TargetType = "docker-compose" // Aggregation of multiple targets into one UI view. // TODO(nick): Currenly used as the type for both Manifest and YAMLManifest, though // we expect YAMLManifest to go away. TargetTypeManifest TargetType = "manifest" // Changes that affect all targets, rebuilding the target graph. TargetTypeConfigs TargetType = "configs" )
type TiltBuild ¶
Information on a build of the Tilt binary
func (TiltBuild) AnalyticsVersion ¶
func (TiltBuild) WebVersion ¶
func (b TiltBuild) WebVersion() WebVersion
type TriggerMode ¶
type TriggerMode int
const ( // Automatically, whenever we detect a change, or TriggerModeAuto TriggerMode = iota // Manually (i.e. only when the user tells us to update) TriggerModeManual )
How builds are triggered (per manifest or globally):
type WebDevPort ¶
type WebDevPort int
type WebMode ¶
type WebMode string
const ( // By default, we serve the js locally in dev builds and from prod in released // builds. DefaultWebMode WebMode = "default" // Local webpack server LocalWebMode WebMode = "local" // Prod gcloud bucket ProdWebMode WebMode = "prod" // Precompiled with `make build-js`. This is an experimental mode // we're playing around with to avoid the cost of webpack startup. PrecompiledWebMode WebMode = "precompiled" )
type WebVersion ¶
type WebVersion string
Web version of the form vA.B.C, where A, B, and C are integers. Used for fetching web assets