Documentation ¶
Index ¶
- Constants
- func GetCredentialSourceValueAndType(cs credentials.Source) (string, string)
- type ArchiveOptions
- type BuildOptions
- type BuildProvider
- type BundleLifecycleOpts
- type BundlePullOptions
- type BundleResolver
- type CNABProvider
- type CondensedClaim
- type CondensedClaimList
- type CopyOpts
- type CredentialOptions
- type CredentialShowOptions
- type CredentialsFile
- type CredentialsFileList
- type DisplayOutput
- type ExplainOpts
- type InspectableBundle
- type InstallOptions
- type InvokeOptions
- type ListOptions
- type Mixins
- type OutputListOptions
- type OutputShowOptions
- type Porter
- func (p *Porter) Archive(opts ArchiveOptions) error
- func (p *Porter) Build(opts BuildOptions) error
- func (p *Porter) CopyBundle(c *CopyOpts) error
- func (p *Porter) CopyTemplate(getTemplate func() ([]byte, error), dest string) error
- func (p *Porter) Create() error
- func (p *Porter) CreateMixinFeedTemplate() error
- func (p *Porter) Explain(o ExplainOpts) error
- func (p *Porter) GenerateCredentials(opts CredentialOptions) error
- func (p *Porter) GenerateMixinFeed(opts feed.GenerateOptions) error
- func (p *Porter) GetManifestSchema() (jsonSchema, error)
- func (p *Porter) GetReplacementSchema() (jsonSchema, error)
- func (p *Porter) Inspect(o ExplainOpts) error
- func (p *Porter) InstallBundle(opts InstallOptions) error
- func (p *Porter) InstallMixin(opts mixin.InstallOptions) error
- func (p *Porter) InvokeBundle(opts InvokeOptions) error
- func (p *Porter) IsBundleUpToDate(opts bundleFileOptions) (bool, error)
- func (p *Porter) ListBundleOutputs(c claim.Claim) []DisplayOutput
- func (p *Porter) ListCredentials(opts ListOptions) error
- func (p *Porter) ListInstances(opts ListOptions) error
- func (p *Porter) ListMixins() ([]mixin.Metadata, error)
- func (p *Porter) LoadManifest() error
- func (p *Porter) LoadManifestFrom(file string) error
- func (p *Porter) PrintBundleOutputs(opts *OutputListOptions) error
- func (p *Porter) PrintDebugInfo(ctx *context.Context, opts VersionOpts, versionMetadata mixin.Metadata) error
- func (p *Porter) PrintManifestSchema() error
- func (p *Porter) PrintMixins(opts PrintMixinsOptions) error
- func (p *Porter) PrintPlugins(opts PrintPluginsOptions) error
- func (p *Porter) PrintVersion(opts VersionOpts) error
- func (p *Porter) Publish(opts PublishOptions) error
- func (p *Porter) PullBundle(opts BundlePullOptions) (string, string, error)
- func (p *Porter) ReadBundleOutput(name, claim string) (string, error)
- func (p *Porter) Run(opts RunOptions) error
- func (p *Porter) RunInternalPlugins(args []string)
- func (p *Porter) ShowBundleOutput(opts *OutputShowOptions) error
- func (p *Porter) ShowCredential(opts CredentialShowOptions) error
- func (p *Porter) ShowInstances(opts ShowOptions) error
- func (p *Porter) UninstallBundle(opts UninstallOptions) error
- func (p *Porter) UninstallMixin(opts mixin.UninstallOptions) error
- func (p *Porter) UpgradeBundle(opts UpgradeOptions) error
- type PrintMixinsOptions
- type PrintPluginsOptions
- type PrintableAction
- type PrintableBundle
- type PrintableCredential
- type PrintableImage
- type PrintableInvocationImage
- type PrintableOutput
- type PrintableParameter
- type PublishOptions
- type Registry
- type RunInternalPluginOpts
- type RunOptions
- type ShowOptions
- type SortPrintableAction
- type SortPrintableCredential
- type SortPrintableOutput
- type SortPrintableParameter
- type SystemDebugInfo
- type SystemInfo
- type TestBuildProvider
- type TestCNABProvider
- func (t *TestCNABProvider) Install(arguments cnabprovider.ActionArguments) error
- func (t *TestCNABProvider) Invoke(action string, arguments cnabprovider.ActionArguments) error
- func (t *TestCNABProvider) LoadBundle(bundleFile string, insecure bool) (*bundle.Bundle, error)
- func (t *TestCNABProvider) Uninstall(arguments cnabprovider.ActionArguments) error
- func (t *TestCNABProvider) Upgrade(arguments cnabprovider.ActionArguments) error
- type TestPorter
- type UninstallOptions
- type UpgradeOptions
- type VersionOpts
Constants ¶
const DefaultDriver = "docker"
Variables ¶
This section is empty.
Functions ¶
func GetCredentialSourceValueAndType ¶
func GetCredentialSourceValueAndType(cs credentials.Source) (string, string)
GetCredentialSourceValueAndType takes a given credentials.Source struct and returns the source value itself as well as source type, e.g., 'Path', 'EnvVar', etc., both in their string forms
Types ¶
type ArchiveOptions ¶
type ArchiveOptions struct { BundleLifecycleOpts ArchiveFile string }
ArchiveOptions defines the valid options for performing an archive operation
type BuildOptions ¶
type BuildOptions struct {
// contains filtered or unexported fields
}
type BuildProvider ¶
type BundleLifecycleOpts ¶
type BundleLifecycleOpts struct { BundlePullOptions // contains filtered or unexported fields }
func (*BundleLifecycleOpts) ToActionArgs ¶
func (o *BundleLifecycleOpts) ToActionArgs(deperator *dependencyExecutioner) cnabprovider.ActionArguments
ToActionArgs converts this instance of user-provided action options.
type BundlePullOptions ¶
type BundleResolver ¶
type BundleResolver struct { Cache cache.BundleCache Registry Registry }
func (*BundleResolver) Resolve ¶
func (r *BundleResolver) Resolve(opts BundlePullOptions) (string, string, error)
Resolves a bundle from the cache, or pulls it and caches it Returns the location of the bundle or an error
type CNABProvider ¶
type CNABProvider interface { LoadBundle(bundleFile string, insecure bool) (*bundle.Bundle, error) Install(arguments cnabprovider.ActionArguments) error Upgrade(arguments cnabprovider.ActionArguments) error Invoke(action string, arguments cnabprovider.ActionArguments) error Uninstall(arguments cnabprovider.ActionArguments) error }
CNABProvider
type CondensedClaim ¶
type CondensedClaim struct { Name string Created time.Time Modified time.Time Action string Status string }
CondensedClaim holds a subset of pertinent values to be listed from a claim.Claim
type CondensedClaimList ¶
type CondensedClaimList []CondensedClaim
func (CondensedClaimList) Len ¶
func (l CondensedClaimList) Len() int
func (CondensedClaimList) Less ¶
func (l CondensedClaimList) Less(i, j int) bool
func (CondensedClaimList) Swap ¶
func (l CondensedClaimList) Swap(i, j int)
type CredentialOptions ¶
type CredentialOptions struct { BundleLifecycleOpts DryRun bool Silent bool }
type CredentialShowOptions ¶
type CredentialShowOptions struct { printer.PrintOptions Name string }
CredentialShowOptions represent options for Porter's credential show command
func (*CredentialShowOptions) Validate ¶
func (o *CredentialShowOptions) Validate(args []string) error
Validate validates the args provided Porter's credential show command
type CredentialsFile ¶
CredentialsFile represents a CNAB credentials file and corresponding metadata
type CredentialsFileList ¶
type CredentialsFileList []CredentialsFile
CredentialsFileList is a slice of CredentialsFiles
func (CredentialsFileList) Len ¶
func (l CredentialsFileList) Len() int
func (CredentialsFileList) Less ¶
func (l CredentialsFileList) Less(i, j int) bool
func (CredentialsFileList) Swap ¶
func (l CredentialsFileList) Swap(i, j int)
type DisplayOutput ¶
type DisplayOutput struct { Name string Definition definition.Schema Value interface{} DisplayValue string Type string }
type ExplainOpts ¶
type ExplainOpts struct { BundleLifecycleOpts printer.PrintOptions }
type InspectableBundle ¶
type InspectableBundle struct { Name string `json:"name" yaml:"name"` Description string `json:"description,omitempty" yaml:"description,omitempty"` Version string `json:"version" yaml:"version"` InvocationImages []PrintableInvocationImage `json:"invocationImages" yaml:"invocationImages"` Images []PrintableImage `json:"images,omitempty" yaml:"images,omitempty"` }
type InstallOptions ¶
type InstallOptions struct {
BundleLifecycleOpts
}
InstallOptions that may be specified when installing a bundle. Porter handles defaulting any missing values.
type InvokeOptions ¶
type InvokeOptions struct { // Action name to invoke Action string BundleLifecycleOpts }
InvokeOptions that may be specified when invoking a bundle. Porter handles defaulting any missing values.
type ListOptions ¶
type ListOptions struct {
printer.PrintOptions
}
ListOptions represent generic options for use by Porter's list commands
type Mixins ¶
func (Mixins) PrintMixinsTable ¶
type OutputListOptions ¶
type OutputListOptions struct { printer.PrintOptions // contains filtered or unexported fields }
OutputListOptions represent options for a bundle output list command
type OutputShowOptions ¶
type OutputShowOptions struct { Output string // contains filtered or unexported fields }
OutputShowOptions represent options for a bundle output show command
type Porter ¶
type Porter struct { *config.Config Cache cache.BundleCache InstanceStorage instancestorage.StorageProvider Registry Registry Templates *templates.Templates Builder BuildProvider Manifest *manifest.Manifest Mixins mixin.MixinProvider CNAB CNABProvider }
Porter is the logic behind the porter client.
func (*Porter) Archive ¶
func (p *Porter) Archive(opts ArchiveOptions) error
Archive is a composite function that generates a CNAB thick bundle. It will pull the invocation image, and any referenced images locally (if needed), export them to individual layers, generate a bundle.json and then generate a gzipped tar archive containing the bundle.json and the images
func (*Porter) Build ¶
func (p *Porter) Build(opts BuildOptions) error
func (*Porter) CopyBundle ¶
CopyBundle copies a bundle from one repository to another
func (*Porter) CopyTemplate ¶
func (*Porter) CreateMixinFeedTemplate ¶
func (*Porter) Explain ¶
func (p *Porter) Explain(o ExplainOpts) error
func (*Porter) GenerateCredentials ¶
func (p *Porter) GenerateCredentials(opts CredentialOptions) error
GenerateCredentials builds a new credential set based on the given options. This can be either a silent build, based on the opts.Silent flag, or interactive using a survey. Returns an error if unable to generate credentials
func (*Porter) GenerateMixinFeed ¶
func (p *Porter) GenerateMixinFeed(opts feed.GenerateOptions) error
func (*Porter) GetManifestSchema ¶
func (*Porter) GetReplacementSchema ¶
func (*Porter) Inspect ¶
func (p *Porter) Inspect(o ExplainOpts) error
func (*Porter) InstallBundle ¶
func (p *Porter) InstallBundle(opts InstallOptions) error
InstallBundle accepts a set of pre-validated InstallOptions and uses them to install a bundle.
func (*Porter) InstallMixin ¶
func (p *Porter) InstallMixin(opts mixin.InstallOptions) error
func (*Porter) InvokeBundle ¶
func (p *Porter) InvokeBundle(opts InvokeOptions) error
InvokeBundle accepts a set of pre-validated InvokeOptions and uses them to upgrade a bundle.
func (*Porter) IsBundleUpToDate ¶
IsBundleUpToDate checks the hash of the manifest against the hash in cnab/bundle.json.
func (*Porter) ListBundleOutputs ¶
func (p *Porter) ListBundleOutputs(c claim.Claim) []DisplayOutput
ListBundleOutputs lists the outputs for a given bundle, according to the provided options
func (*Porter) ListCredentials ¶
func (p *Porter) ListCredentials(opts ListOptions) error
ListCredentials lists saved credential sets.
func (*Porter) ListInstances ¶
func (p *Porter) ListInstances(opts ListOptions) error
ListInstances lists installed bundles by their claims.
func (*Porter) LoadManifest ¶
func (*Porter) LoadManifestFrom ¶
func (*Porter) PrintBundleOutputs ¶
func (p *Porter) PrintBundleOutputs(opts *OutputListOptions) error
func (*Porter) PrintDebugInfo ¶
func (*Porter) PrintManifestSchema ¶
func (*Porter) PrintMixins ¶
func (p *Porter) PrintMixins(opts PrintMixinsOptions) error
func (*Porter) PrintPlugins ¶
func (p *Porter) PrintPlugins(opts PrintPluginsOptions) error
func (*Porter) PrintVersion ¶
func (p *Porter) PrintVersion(opts VersionOpts) error
func (*Porter) Publish ¶
func (p *Porter) Publish(opts PublishOptions) error
Publish is a composite function that publishes an invocation image, rewrites the porter manifest and then regenerates the bundle.json. Finally it publishes the manifest to an OCI registry.
func (*Porter) PullBundle ¶
func (p *Porter) PullBundle(opts BundlePullOptions) (string, string, error)
PullBundle looks for a given bundle tag in the bundle cache. If it is not found, it is pulled and stored in the cache. The path to the cached bundle is returned.
func (*Porter) ReadBundleOutput ¶
ReadBundleOutput reads a bundle output from a claim
func (*Porter) Run ¶
func (p *Porter) Run(opts RunOptions) error
func (*Porter) RunInternalPlugins ¶
func (*Porter) ShowBundleOutput ¶
func (p *Porter) ShowBundleOutput(opts *OutputShowOptions) error
ShowBundleOutput shows a bundle output value, according to the provided options
func (*Porter) ShowCredential ¶
func (p *Porter) ShowCredential(opts CredentialShowOptions) error
ShowCredential shows the credential set corresponding to the provided name, using the provided printer.PrintOptions for display.
func (*Porter) ShowInstances ¶
func (p *Porter) ShowInstances(opts ShowOptions) error
ShowInstances shows a bundle, or more properly a bundle claim, along with any associated outputs
func (*Porter) UninstallBundle ¶
func (p *Porter) UninstallBundle(opts UninstallOptions) error
UninstallBundle accepts a set of pre-validated UninstallOptions and uses them to uninstall a bundle.
func (*Porter) UninstallMixin ¶
func (p *Porter) UninstallMixin(opts mixin.UninstallOptions) error
func (*Porter) UpgradeBundle ¶
func (p *Porter) UpgradeBundle(opts UpgradeOptions) error
UpgradeBundle accepts a set of pre-validated UpgradeOptions and uses them to upgrade a bundle.
type PrintMixinsOptions ¶
type PrintMixinsOptions struct {
printer.PrintOptions
}
PrintMixinsOptions represent options for the PrintMixins function
type PrintPluginsOptions ¶
type PrintPluginsOptions struct {
printer.PrintOptions
}
PrintPluginsOptions represent options for the PrintPlugins function
type PrintableAction ¶
type PrintableAction struct { Name string `json:"name" yaml:"name"` Modifies bool `json:"modifies" yaml:"modifies"` // Stateless indicates that the action is purely informational, that credentials are not required, and that the runtime should not keep track of its invocation Stateless bool `json:"stateless" yaml:"stateless"` // Description describes the action as a user-readable string Description string `json:"description" yaml:"description"` }
type PrintableBundle ¶
type PrintableBundle struct { Name string `json:"name" yaml:"name"` Description string `json:"description,omitempty" yaml:"description,omitempty"` Version string `json:"version" yaml:"version"` Parameters []PrintableParameter `json:"parameters,omitempty" yaml:"parameters,omitempty"` Credentials []PrintableCredential `json:"credentials,omitempty" yaml:"credentials,omitempty"` Outputs []PrintableOutput `json:"outputs,omitempty" yaml:"outputs,omitempty"` Actions []PrintableAction `json:"customActions,omitempty" yaml:"customActions,omitempty"` }
PrintableBundle holds a subset of pertinent values to be explained from a bundle.Bundle
type PrintableCredential ¶
type PrintableImage ¶
type PrintableInvocationImage ¶
type PrintableInvocationImage struct { bundle.InvocationImage Original string `json:"originalImage" yaml:"originalImage"` }
type PrintableOutput ¶
type PrintableParameter ¶
type PrintableParameter struct { Name string `json:"name" yaml:"name"` Type interface{} `json:"type" yaml:"type"` Default interface{} `json:"default" yaml:"default"` ApplyTo string `json:"applyTo" yaml:"applyTo"` Description string `json:"description" yaml:"description"` Required bool `json:"required" yaml:"required"` }
type PublishOptions ¶
type PublishOptions struct { BundlePullOptions InsecureRegistry bool ArchiveFile string // contains filtered or unexported fields }
PublishOptions are options that may be specified when publishing a bundle. Porter handles defaulting any missing values.
func (*PublishOptions) Validate ¶
func (o *PublishOptions) Validate(cxt *portercontext.Context) error
Validate performs validation on the publish options
type Registry ¶
type Registry interface { // PullBundle pulls a bundle from an OCI registry. PullBundle(tag string, insecureRegistry bool) (*bundle.Bundle, relocation.ImageRelocationMap, error) // PushBundle pushes a bundle to an OCI registry. PushBundle(bun *bundle.Bundle, tag string, insecureRegistry bool) (relocation.ImageRelocationMap, error) // PushInvocationImage pushes the invocation image from the Docker image cache to the specified location // the expected format of the invocationImage is REGISTRY/NAME:TAG. // Returns the image digest from the registry. PushInvocationImage(invocationImage string) (string, error) }
Registry handles talking with an OCI registry.
type RunInternalPluginOpts ¶
type RunInternalPluginOpts struct { Key string // contains filtered or unexported fields }
type RunOptions ¶
func NewRunOptions ¶
func NewRunOptions(c *config.Config) RunOptions
func (*RunOptions) Validate ¶
func (o *RunOptions) Validate() error
type ShowOptions ¶
type ShowOptions struct { printer.PrintOptions // contains filtered or unexported fields }
ShowOptions represent options for showing a particular claim
type SortPrintableAction ¶
type SortPrintableAction []PrintableAction
func (SortPrintableAction) Len ¶
func (s SortPrintableAction) Len() int
func (SortPrintableAction) Less ¶
func (s SortPrintableAction) Less(i, j int) bool
func (SortPrintableAction) Swap ¶
func (s SortPrintableAction) Swap(i, j int)
type SortPrintableCredential ¶
type SortPrintableCredential []PrintableCredential
func (SortPrintableCredential) Len ¶
func (s SortPrintableCredential) Len() int
func (SortPrintableCredential) Less ¶
func (s SortPrintableCredential) Less(i, j int) bool
func (SortPrintableCredential) Swap ¶
func (s SortPrintableCredential) Swap(i, j int)
type SortPrintableOutput ¶
type SortPrintableOutput []PrintableOutput
func (SortPrintableOutput) Len ¶
func (s SortPrintableOutput) Len() int
func (SortPrintableOutput) Less ¶
func (s SortPrintableOutput) Less(i, j int) bool
func (SortPrintableOutput) Swap ¶
func (s SortPrintableOutput) Swap(i, j int)
type SortPrintableParameter ¶
type SortPrintableParameter []PrintableParameter
func (SortPrintableParameter) Len ¶
func (s SortPrintableParameter) Len() int
func (SortPrintableParameter) Less ¶
func (s SortPrintableParameter) Less(i, j int) bool
func (SortPrintableParameter) Swap ¶
func (s SortPrintableParameter) Swap(i, j int)
type SystemDebugInfo ¶
type SystemDebugInfo struct { Version mixin.Metadata `json:"version"` SysInfo SystemInfo `json:"system"` Mixins Mixins `json:"mixins"` }
type SystemInfo ¶
type TestBuildProvider ¶
type TestBuildProvider struct{}
func NewTestBuildProvider ¶
func NewTestBuildProvider() *TestBuildProvider
func (*TestBuildProvider) BuildInvocationImage ¶
func (t *TestBuildProvider) BuildInvocationImage(manifest *manifest.Manifest) error
type TestCNABProvider ¶
type TestCNABProvider struct { }
func NewTestCNABProvider ¶
func NewTestCNABProvider() *TestCNABProvider
func (*TestCNABProvider) Install ¶
func (t *TestCNABProvider) Install(arguments cnabprovider.ActionArguments) error
func (*TestCNABProvider) Invoke ¶
func (t *TestCNABProvider) Invoke(action string, arguments cnabprovider.ActionArguments) error
func (*TestCNABProvider) LoadBundle ¶
func (*TestCNABProvider) Uninstall ¶
func (t *TestCNABProvider) Uninstall(arguments cnabprovider.ActionArguments) error
func (*TestCNABProvider) Upgrade ¶
func (t *TestCNABProvider) Upgrade(arguments cnabprovider.ActionArguments) error
type TestPorter ¶
type TestPorter struct { *Porter TestConfig *config.TestConfig // original directory where the test was being executed TestDir string // contains filtered or unexported fields }
func NewTestPorter ¶
func NewTestPorter(t *testing.T) *TestPorter
NewTestPorter initializes a porter test client, with the output buffered, and an in-memory file system.
func (*TestPorter) CleanupIntegrationTest ¶
func (p *TestPorter) CleanupIntegrationTest()
func (*TestPorter) SetupIntegrationTest ¶
func (p *TestPorter) SetupIntegrationTest()
func (*TestPorter) T ¶
func (p *TestPorter) T() *testing.T
type UninstallOptions ¶
type UninstallOptions struct {
BundleLifecycleOpts
}
UninstallOptions that may be specified when uninstalling a bundle. Porter handles defaulting any missing values.
type UpgradeOptions ¶
type UpgradeOptions struct {
BundleLifecycleOpts
}
UpgradeOptions that may be specified when upgrading a bundle. Porter handles defaulting any missing values.
type VersionOpts ¶
Source Files ¶
- archive.go
- build.go
- cnab.go
- contextOptions.go
- copy.go
- create.go
- credentials.go
- dependencies.go
- explain.go
- helpers.go
- inspect.go
- install.go
- invoke.go
- lifecycle.go
- list.go
- mixins.go
- options.go
- outputs.go
- plugins.go
- porter.go
- publish.go
- pull.go
- registry.go
- resolver.go
- run.go
- schema.go
- show.go
- stamp.go
- uninstall.go
- upgrade.go
- version.go