Documentation
¶
Index ¶
- Constants
- func CleanContainerPath(value string) string
- func CommandRuntimeEnv(workload core.CommandWorkload, resolved map[string]string) (map[string]string, error)
- func ContainerBuildEnv(workload core.ContainerBuildWorkload, resolved map[string]string) (map[string]string, error)
- func DirectorySize(root string) int64
- func ManagedRuntimeScopeArgs(parts ...string) []string
- func ManagedRuntimeScopeName(parts ...string) string
- func ParseSandboxedContainerBuildDigestMarker(output []byte) string
- func ReadSandboxedContainerBuildDigest(path string) (string, error)
- func ResolveContainerBuildPaths(workspace string, workload core.ContainerBuildWorkload) (string, string, error)
- func SandboxedCommandContract(descriptor core.RuntimeDescriptor) core.RuntimeAdapterContract
- func SandboxedContainerBuildContract(descriptor core.RuntimeDescriptor) core.RuntimeAdapterContract
- func ValidSHA256Digest(value string) bool
- type ContainerRuntimeScope
- type DockerCommandRunner
- type DockerSandboxRuntime
- type ExecDockerCommandRunner
- type ExecRuntimeCommandRunner
- type HTTPManagedRuntimeBundleObjectSource
- type ManagedRuntimeBundleCatalog
- func (c ManagedRuntimeBundleCatalog) Bundle(bundleID string, now time.Time) (core.ManagedRuntimeBundleDescriptor, error)
- func (c ManagedRuntimeBundleCatalog) BundleForTarget(bundleID, targetOS, targetArch string, now time.Time) (core.ManagedRuntimeBundleDescriptor, error)
- func (c ManagedRuntimeBundleCatalog) TrustRootForBundle(bundle core.ManagedRuntimeBundleDescriptor) (ManagedRuntimeTrustRoot, error)
- type ManagedRuntimeBundleInstaller
- func (i ManagedRuntimeBundleInstaller) Doctor(ctx context.Context, request ManagedRuntimeDoctorRequest) (ManagedRuntimeDoctorResult, error)
- func (i ManagedRuntimeBundleInstaller) Install(ctx context.Context, request ManagedRuntimeInstallRequest) (ManagedRuntimeInstallResult, error)
- func (i ManagedRuntimeBundleInstaller) Reinstall(ctx context.Context, request ManagedRuntimeInstallRequest) (ManagedRuntimeReinstallResult, error)
- func (i ManagedRuntimeBundleInstaller) Uninstall(ctx context.Context, request ManagedRuntimeUninstallRequest) (ManagedRuntimeUninstallResult, error)
- type ManagedRuntimeBundleObjectRequest
- type ManagedRuntimeBundleObjectSource
- type ManagedRuntimeBundleObjectSourceFunc
- type ManagedRuntimeDoctorRequest
- type ManagedRuntimeDoctorResult
- type ManagedRuntimeInstallRequest
- type ManagedRuntimeInstallResult
- type ManagedRuntimeInstallation
- type ManagedRuntimeLifecycleStatus
- type ManagedRuntimeReinstallResult
- type ManagedRuntimeTrustRoot
- type ManagedRuntimeUninstallRequest
- type ManagedRuntimeUninstallResult
- type RuntimeAdapterCatalogDocument
- type RuntimeAdapterCatalogEntry
- type RuntimeBackendCatalogEntry
- type RuntimeBackendProbe
- func DockerCompatibleRuntimeProbes(runner RuntimeCommandRunner, generatedAt time.Time) []RuntimeBackendProbe
- func ManagedContainerdRuntimeProbe(installation *ManagedRuntimeInstallation, runner RuntimeCommandRunner, ...) RuntimeBackendProbe
- func ManagedContainerdRuntimeProbes(catalog ManagedRuntimeBundleCatalog, installRoot string, ...) []RuntimeBackendProbe
- type RuntimeBackendProbeOptions
- type RuntimeCommandResult
- type RuntimeCommandRunner
- type SandboxMount
- type SandboxRunRequest
- type SandboxRunResult
- type SandboxRuntime
- type SandboxRuntimeCommandAdapter
- type SandboxRuntimeContainerBuildAdapter
- type SandboxedCommandInvocationOptions
- type SandboxedCommandRuntime
- type SandboxedCommandRuntimeInvocation
- type SandboxedContainerBuildInvocationOptions
- type SandboxedContainerBuildRuntime
- type SandboxedContainerBuildRuntimeInvocation
Constants ¶
View Source
const ( SandboxedCommandProviderName = "sandboxed-command" SandboxedCommandOperationRun = "run-sandboxed-command" SandboxedContainerBuildProviderName = "sandboxed-container-build" SandboxedContainerBuildOperation = "build-sandboxed-container" SandboxNetworkNone = "none" SandboxNetworkBridge = "bridge" SandboxedContainerBuildStateDir = "/wfcompute-build" SandboxedContainerBuildDigestPath = SandboxedContainerBuildStateDir + "/wfcompute-container-build-digest" SandboxedContainerBuildDigestMarker = "WORKFLOW_COMPUTE_BUILD_DIGEST=" )
Variables ¶
This section is empty.
Functions ¶
func CleanContainerPath ¶
func CommandRuntimeEnv ¶
func ContainerBuildEnv ¶
func DirectorySize ¶
func ManagedRuntimeScopeArgs ¶ added in v0.4.0
func ManagedRuntimeScopeName ¶ added in v0.4.0
func SandboxedCommandContract ¶
func SandboxedCommandContract(descriptor core.RuntimeDescriptor) core.RuntimeAdapterContract
func SandboxedContainerBuildContract ¶
func SandboxedContainerBuildContract(descriptor core.RuntimeDescriptor) core.RuntimeAdapterContract
func ValidSHA256Digest ¶
Types ¶
type ContainerRuntimeScope ¶
type ContainerRuntimeScope struct {
Args []string
}
type DockerCommandRunner ¶ added in v0.2.0
type DockerSandboxRuntime ¶ added in v0.2.0
type DockerSandboxRuntime struct {
Tool string
RuntimeName string
Runner DockerCommandRunner
}
func (DockerSandboxRuntime) Available ¶ added in v0.2.0
func (r DockerSandboxRuntime) Available(ctx context.Context) error
func (DockerSandboxRuntime) Run ¶ added in v0.2.0
func (r DockerSandboxRuntime) Run(ctx context.Context, req SandboxRunRequest) (SandboxRunResult, error)
type ExecDockerCommandRunner ¶ added in v0.2.0
type ExecDockerCommandRunner struct{}
type ExecRuntimeCommandRunner ¶ added in v0.2.0
type ExecRuntimeCommandRunner struct{}
func (ExecRuntimeCommandRunner) LookPath ¶ added in v0.2.0
func (ExecRuntimeCommandRunner) LookPath(name string) (string, error)
func (ExecRuntimeCommandRunner) Run ¶ added in v0.2.0
func (ExecRuntimeCommandRunner) Run(ctx context.Context, name string, args ...string) (RuntimeCommandResult, error)
type HTTPManagedRuntimeBundleObjectSource ¶ added in v0.5.0
func (HTTPManagedRuntimeBundleObjectSource) FetchManagedRuntimeBundleObject ¶ added in v0.5.0
func (s HTTPManagedRuntimeBundleObjectSource) FetchManagedRuntimeBundleObject(ctx context.Context, request ManagedRuntimeBundleObjectRequest) ([]byte, error)
type ManagedRuntimeBundleCatalog ¶ added in v0.4.0
type ManagedRuntimeBundleCatalog struct {
ReleaseTag string `json:"release_tag,omitempty"`
SourceBaseURL string `json:"source_base_url,omitempty"`
GeneratedAt time.Time `json:"generated_at"`
Bundles []core.ManagedRuntimeBundleDescriptor `json:"bundles"`
TrustRoots []ManagedRuntimeTrustRoot `json:"trust_roots,omitempty"`
BlockedVersions []string `json:"blocked_versions,omitempty"`
RevokedKeyIDs []string `json:"revoked_key_ids,omitempty"`
MinimumVersion string `json:"minimum_version,omitempty"`
StableSigningKey string `json:"stable_signing_key,omitempty"`
}
func (ManagedRuntimeBundleCatalog) Bundle ¶ added in v0.4.0
func (c ManagedRuntimeBundleCatalog) Bundle(bundleID string, now time.Time) (core.ManagedRuntimeBundleDescriptor, error)
func (ManagedRuntimeBundleCatalog) BundleForTarget ¶ added in v0.4.0
func (c ManagedRuntimeBundleCatalog) BundleForTarget(bundleID, targetOS, targetArch string, now time.Time) (core.ManagedRuntimeBundleDescriptor, error)
func (ManagedRuntimeBundleCatalog) TrustRootForBundle ¶ added in v0.5.0
func (c ManagedRuntimeBundleCatalog) TrustRootForBundle(bundle core.ManagedRuntimeBundleDescriptor) (ManagedRuntimeTrustRoot, error)
type ManagedRuntimeBundleInstaller ¶ added in v0.5.0
type ManagedRuntimeBundleInstaller struct {
Catalog ManagedRuntimeBundleCatalog
InstallRoot string
Source ManagedRuntimeBundleObjectSource
Now func() time.Time
HTTPClient *http.Client
}
func (ManagedRuntimeBundleInstaller) Doctor ¶ added in v0.5.0
func (i ManagedRuntimeBundleInstaller) Doctor(ctx context.Context, request ManagedRuntimeDoctorRequest) (ManagedRuntimeDoctorResult, error)
func (ManagedRuntimeBundleInstaller) Install ¶ added in v0.5.0
func (i ManagedRuntimeBundleInstaller) Install(ctx context.Context, request ManagedRuntimeInstallRequest) (ManagedRuntimeInstallResult, error)
func (ManagedRuntimeBundleInstaller) Reinstall ¶ added in v0.5.0
func (i ManagedRuntimeBundleInstaller) Reinstall(ctx context.Context, request ManagedRuntimeInstallRequest) (ManagedRuntimeReinstallResult, error)
func (ManagedRuntimeBundleInstaller) Uninstall ¶ added in v0.5.0
func (i ManagedRuntimeBundleInstaller) Uninstall(ctx context.Context, request ManagedRuntimeUninstallRequest) (ManagedRuntimeUninstallResult, error)
type ManagedRuntimeBundleObjectRequest ¶ added in v0.5.0
type ManagedRuntimeBundleObjectSource ¶ added in v0.5.0
type ManagedRuntimeBundleObjectSource interface {
FetchManagedRuntimeBundleObject(context.Context, ManagedRuntimeBundleObjectRequest) ([]byte, error)
}
type ManagedRuntimeBundleObjectSourceFunc ¶ added in v0.5.0
type ManagedRuntimeBundleObjectSourceFunc func(context.Context, ManagedRuntimeBundleObjectRequest) ([]byte, error)
func (ManagedRuntimeBundleObjectSourceFunc) FetchManagedRuntimeBundleObject ¶ added in v0.5.0
func (f ManagedRuntimeBundleObjectSourceFunc) FetchManagedRuntimeBundleObject(ctx context.Context, request ManagedRuntimeBundleObjectRequest) ([]byte, error)
type ManagedRuntimeDoctorRequest ¶ added in v0.5.0
type ManagedRuntimeDoctorResult ¶ added in v0.5.0
type ManagedRuntimeDoctorResult struct {
Status ManagedRuntimeLifecycleStatus `json:"status"`
BundleID string `json:"bundle_id"`
Version string `json:"version,omitempty"`
Root string `json:"root,omitempty"`
CommandPath string `json:"command_path,omitempty"`
ManifestPath string `json:"manifest_path,omitempty"`
ArtifactDigest string `json:"artifact_digest,omitempty"`
SignatureDigest string `json:"signature_digest,omitempty"`
ScopedStoreEnforced bool `json:"scoped_store_enforced,omitempty"`
HostGlobalStoreExcluded bool `json:"host_global_store_excluded,omitempty"`
Reason string `json:"reason,omitempty"`
}
type ManagedRuntimeInstallRequest ¶ added in v0.5.0
type ManagedRuntimeInstallResult ¶ added in v0.5.0
type ManagedRuntimeInstallResult struct {
BundleID string `json:"bundle_id"`
Version string `json:"version"`
Root string `json:"root"`
CommandPath string `json:"command_path"`
ManifestPath string `json:"manifest_path"`
ArtifactDigest string `json:"artifact_digest"`
ChecksumDigest string `json:"checksum_digest"`
SignatureDigest string `json:"signature_digest"`
TrustRootDigest string `json:"trust_root_digest"`
ScopedStoreEnforced bool `json:"scoped_store_enforced"`
HostGlobalStoreExcluded bool `json:"host_global_store_excluded"`
FileDigests map[string]string `json:"file_digests"`
InstalledAt time.Time `json:"installed_at"`
}
type ManagedRuntimeInstallation ¶ added in v0.4.0
type ManagedRuntimeInstallation struct {
Bundle core.ManagedRuntimeBundleDescriptor
Root string
CommandPath string
}
func NewManagedContainerdRuntimeInstallation ¶ added in v0.4.0
func NewManagedContainerdRuntimeInstallation(bundle core.ManagedRuntimeBundleDescriptor, root string) (ManagedRuntimeInstallation, error)
type ManagedRuntimeLifecycleStatus ¶ added in v0.5.0
type ManagedRuntimeLifecycleStatus string
const ( ManagedRuntimeLifecycleStatusOK ManagedRuntimeLifecycleStatus = "ok" ManagedRuntimeLifecycleStatusMissing ManagedRuntimeLifecycleStatus = "missing" ManagedRuntimeLifecycleStatusDegraded ManagedRuntimeLifecycleStatus = "degraded" )
type ManagedRuntimeReinstallResult ¶ added in v0.5.0
type ManagedRuntimeReinstallResult struct {
Uninstall ManagedRuntimeUninstallResult `json:"uninstall"`
Install ManagedRuntimeInstallResult `json:"install"`
Doctor ManagedRuntimeDoctorResult `json:"doctor"`
}
type ManagedRuntimeTrustRoot ¶ added in v0.5.0
type ManagedRuntimeUninstallRequest ¶ added in v0.5.0
type ManagedRuntimeUninstallRequest struct {
BundleID string
}
type ManagedRuntimeUninstallResult ¶ added in v0.5.0
type RuntimeAdapterCatalogDocument ¶
type RuntimeAdapterCatalogDocument struct {
Version string `json:"version"`
ProtocolVersion string `json:"protocol_version"`
Adapters []RuntimeAdapterCatalogEntry `json:"adapters"`
RuntimeBackends []RuntimeBackendCatalogEntry `json:"runtime_backends,omitempty"`
HostOwnedResponsibilities []string `json:"host_owned_responsibilities"`
}
func (RuntimeAdapterCatalogDocument) Validate ¶
func (d RuntimeAdapterCatalogDocument) Validate() error
type RuntimeAdapterCatalogEntry ¶
type RuntimeAdapterCatalogEntry struct {
AdapterID string `json:"adapter_id"`
Operation string `json:"operation"`
Kinds []core.RuntimeAdapterKind `json:"kinds"`
WorkloadKinds []core.WorkloadKind `json:"workload_kinds"`
RuntimeProfiles []core.RuntimeProfile `json:"runtime_profiles"`
WorkspacePolicy core.RuntimeWorkspacePolicy `json:"workspace_policy"`
ConformanceProfiles []string `json:"conformance_profiles"`
}
func (RuntimeAdapterCatalogEntry) Contract ¶
func (e RuntimeAdapterCatalogEntry) Contract(descriptor core.RuntimeDescriptor) core.RuntimeAdapterContract
func (RuntimeAdapterCatalogEntry) Validate ¶
func (e RuntimeAdapterCatalogEntry) Validate() error
type RuntimeBackendCatalogEntry ¶ added in v0.2.0
type RuntimeBackendCatalogEntry struct {
BackendID string `json:"backend_id"`
Families []core.RuntimeBackendFamily `json:"families"`
Tools []core.ContainerRuntimeTool `json:"tools"`
SupportedTargets []core.ManagedRuntimeTarget `json:"supported_targets,omitempty"`
IsolationModes []core.RuntimeIsolationMode `json:"isolation_modes"`
InstallBurdens []core.RuntimeInstallBurden `json:"install_burdens"`
RuntimeProfiles []core.RuntimeProfile `json:"runtime_profiles"`
ExecutorProviders []string `json:"executor_providers"`
ConformanceProfiles []string `json:"conformance_profiles"`
}
func (RuntimeBackendCatalogEntry) Validate ¶ added in v0.2.0
func (e RuntimeBackendCatalogEntry) Validate() error
type RuntimeBackendProbe ¶ added in v0.2.0
type RuntimeBackendProbe struct {
Options RuntimeBackendProbeOptions
Runner RuntimeCommandRunner
}
func DockerCompatibleRuntimeProbes ¶ added in v0.2.0
func DockerCompatibleRuntimeProbes(runner RuntimeCommandRunner, generatedAt time.Time) []RuntimeBackendProbe
func ManagedContainerdRuntimeProbe ¶ added in v0.4.0
func ManagedContainerdRuntimeProbe(installation *ManagedRuntimeInstallation, runner RuntimeCommandRunner, generatedAt time.Time) RuntimeBackendProbe
func ManagedContainerdRuntimeProbes ¶ added in v0.4.0
func ManagedContainerdRuntimeProbes(catalog ManagedRuntimeBundleCatalog, installRoot string, runner RuntimeCommandRunner, generatedAt time.Time) []RuntimeBackendProbe
func (RuntimeBackendProbe) Probe ¶ added in v0.2.0
func (p RuntimeBackendProbe) Probe(ctx context.Context) core.RuntimeBackendReport
type RuntimeBackendProbeOptions ¶ added in v0.2.0
type RuntimeBackendProbeOptions struct {
BackendID string
Family core.RuntimeBackendFamily
Tool core.ContainerRuntimeTool
Command string
VersionArgs []string
ConformanceImage string
ConformanceCommand []string
ConformanceWorkspace string
RuntimeScopeArgs []string
IsolationMode core.RuntimeIsolationMode
InstallBurden core.RuntimeInstallBurden
RuntimeProfiles []core.RuntimeProfile
ConformanceProfiles []string
ManagedBundle *core.ManagedRuntimeBundleDescriptor
GeneratedAt time.Time
}
type RuntimeCommandResult ¶ added in v0.2.0
type RuntimeCommandRunner ¶ added in v0.2.0
type SandboxMount ¶
type SandboxRunRequest ¶
type SandboxRunRequest struct {
Image string
Command []string
CommandOverridesEntrypoint bool
RuntimeScope ContainerRuntimeScope
Stdin []byte
Workspace string
WorkingDir string
Env map[string]string
Network string
RuntimeName string
RunAsRoot bool
WritableRootFS bool
AddCapabilities []string
ExtraTmpfs []string
DataMounts []SandboxMount
Timeout time.Duration
Limits core.ResourceLimits
}
type SandboxRunResult ¶
type SandboxRuntime ¶
type SandboxRuntime interface {
Available(context.Context) error
Run(context.Context, SandboxRunRequest) (SandboxRunResult, error)
}
type SandboxRuntimeCommandAdapter ¶
type SandboxRuntimeCommandAdapter struct {
Runtime SandboxRuntime
}
func (SandboxRuntimeCommandAdapter) RunSandboxedCommand ¶
func (a SandboxRuntimeCommandAdapter) RunSandboxedCommand(ctx context.Context, invocation SandboxedCommandRuntimeInvocation) (core.RuntimeExecutionResult, error)
type SandboxRuntimeContainerBuildAdapter ¶
type SandboxRuntimeContainerBuildAdapter struct {
Runtime SandboxRuntime
}
func (SandboxRuntimeContainerBuildAdapter) BuildSandboxedContainer ¶
func (a SandboxRuntimeContainerBuildAdapter) BuildSandboxedContainer(ctx context.Context, invocation SandboxedContainerBuildRuntimeInvocation) (core.RuntimeExecutionResult, error)
type SandboxedCommandRuntime ¶
type SandboxedCommandRuntime interface {
RunSandboxedCommand(context.Context, SandboxedCommandRuntimeInvocation) (core.RuntimeExecutionResult, error)
}
type SandboxedCommandRuntimeInvocation ¶
type SandboxedCommandRuntimeInvocation struct {
Request core.RuntimeExecutionRequest
Image string
Workspace string
Network string
Timeout time.Duration
TimeoutLimitHit string
}
func NewSandboxedCommandInvocation ¶
func NewSandboxedCommandInvocation(opts SandboxedCommandInvocationOptions) (SandboxedCommandRuntimeInvocation, error)
type SandboxedContainerBuildRuntime ¶
type SandboxedContainerBuildRuntime interface {
BuildSandboxedContainer(context.Context, SandboxedContainerBuildRuntimeInvocation) (core.RuntimeExecutionResult, error)
}
type SandboxedContainerBuildRuntimeInvocation ¶
type SandboxedContainerBuildRuntimeInvocation struct {
Request core.RuntimeExecutionRequest
Image string
Workspace string
Network string
Timeout time.Duration
TimeoutLimitHit string
}
func NewSandboxedContainerBuildInvocation ¶
func NewSandboxedContainerBuildInvocation(opts SandboxedContainerBuildInvocationOptions) (SandboxedContainerBuildRuntimeInvocation, error)
Click to show internal directories.
Click to hide internal directories.