porter

package
v0.38.1 Latest Latest
Warning

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

Go to latest
Published: May 4, 2021 License: Apache-2.0 Imports: 75 Imported by: 3

Documentation

Index

Constants

View Source
const (
	// DockerDriver is the name of the Docker driver.
	DockerDriver = cnabprovider.DriverNameDocker

	// DebugDriver is the name of the Debug driver.
	DebugDriver = cnabprovider.DriverNameDebug

	// DefaultDriver is the name of the default driver (Docker).
	DefaultDriver = DockerDriver
)

Variables

View Source
var (
	// ErrUnsafeInstallationDelete warns the user that deletion of an unsuccessfully uninstalled installation is unsafe
	ErrUnsafeInstallationDelete = errors.New("it is unsafe to delete an installation when the last action wasn't a successful uninstall")

	// ErrUnsafeInstallationDeleteRetryForce presents the ErrUnsafeInstallationDelete error and provides a retry option of --force
	ErrUnsafeInstallationDeleteRetryForce = fmt.Errorf("%s; if you are sure it should be deleted, retry the last command with the --force flag", ErrUnsafeInstallationDelete)
)
View Source
var (
	LintAllowFormats   = printer.Formats{printer.FormatPlaintext, printer.FormatJson}
	LintDefaultFormats = printer.FormatPlaintext
)
View Source
var (
	ShowAllowedFormats = []printer.Format{printer.FormatTable, printer.FormatYaml, printer.FormatJson}
	ShowDefaultFormat  = printer.FormatTable
)
View Source
var ErrUnsafeInstallationDeleteRetryForceDelete = fmt.Errorf("%s; if you are sure it should be deleted, retry the last command with the --force-delete flag", ErrUnsafeInstallationDelete)

ErrUnsafeInstallationDeleteRetryForceDelete presents the ErrUnsafeInstallationDelete error and provides a retry option of --force-delete

Functions

This section is empty.

Types

type ArchiveOptions

type ArchiveOptions struct {
	BundleActionOptions
	ArchiveFile string
}

ArchiveOptions defines the valid options for performing an archive operation

func (*ArchiveOptions) LoadParameters added in v0.30.0

func (o *ArchiveOptions) LoadParameters(p *Porter) error

LoadParameters validates and resolves the parameters and sets. It must be called after porter has loaded the bundle definition.

func (*ArchiveOptions) Validate

func (o *ArchiveOptions) Validate(args []string, p *Porter) error

Validate performs validation on the publish options

type BuildOptions

type BuildOptions struct {
	NoLint bool
	// contains filtered or unexported fields
}

func (BuildOptions) Apply

func (o BuildOptions) Apply(cxt *context.Context)

func (*BuildOptions) Validate added in v0.31.0

func (o *BuildOptions) Validate(cxt *context.Context) error

type BuildProvider

type BuildProvider interface {
	// BuildInvocationImage using the bundle in the build context directory
	BuildInvocationImage(manifest *manifest.Manifest) error

	// TagInvocationImage using the origTag and newTag values supplied
	TagInvocationImage(origTag, newTag string) error
}

type BundleAction added in v0.28.0

type BundleAction interface {
	// GetAction returns the type of action: install, upgrade, invoke, uninstall
	GetAction() string

	// GetActionVerb returns the appropriate verb (present participle, e.g. -ing)
	// for the action.
	GetActionVerb() string

	GetOptions() *BundleActionOptions
}

BundleAction is an interface that defines a method for supplying BundleLifecycleOptions. This is useful when implementations contain action-specific options beyond the stock BundleLifecycleOptions.

type BundleActionOptions added in v0.30.0

type BundleActionOptions struct {
	BundlePullOptions
	AllowAccessToDockerHost bool
	// contains filtered or unexported fields
}

func (*BundleActionOptions) GetOptions added in v0.30.0

func (o *BundleActionOptions) GetOptions() *BundleActionOptions

func (*BundleActionOptions) LoadParameters added in v0.30.0

func (o *BundleActionOptions) LoadParameters(p *Porter) error

LoadParameters validates and resolves the parameters and sets. It must be called after porter has loaded the bundle definition.

func (*BundleActionOptions) Validate added in v0.30.0

func (o *BundleActionOptions) Validate(args []string, porter *Porter) error

type BundlePullOptions

type BundlePullOptions struct {
	// Tag is a deprecated option, replaced by Reference below
	Tag              string
	Reference        string
	InsecureRegistry bool
	Force            bool
}

type BundleResolver

type BundleResolver struct {
	Cache    cache.BundleCache
	Registry cnabtooci.RegistryProvider
}

func (*BundleResolver) Resolve

Resolves a bundle from the cache, or pulls it and caches it Returns the location of the bundle or an error

type CopyOpts

type CopyOpts struct {
	Source           string
	Destination      string
	InsecureRegistry bool
}

func (*CopyOpts) Validate

func (c *CopyOpts) Validate() error

Validate performs validation logic on the options specified for a bundle copy

type CredentialDeleteOptions

type CredentialDeleteOptions struct {
	Name string
}

CredentialDeleteOptions represent options for Porter's credential delete command

func (*CredentialDeleteOptions) Validate

func (o *CredentialDeleteOptions) Validate(args []string) error

Validate validates the args provided Porter's credential delete command

type CredentialEditOptions

type CredentialEditOptions struct {
	Name string
}

func (*CredentialEditOptions) Validate

func (o *CredentialEditOptions) Validate(args []string) error

Validate validates the args provided to Porter's credential edit command

type CredentialOptions

type CredentialOptions struct {
	BundleActionOptions
	Silent bool
}

func (*CredentialOptions) LoadParameters added in v0.30.0

func (o *CredentialOptions) LoadParameters(p *Porter) error

LoadParameters validates and resolves the parameters and sets. It must be called after porter has loaded the bundle definition.

func (*CredentialOptions) Validate

func (g *CredentialOptions) Validate(args []string, cxt *context.Context) error

Validate prepares for an action and validates the options. For example, relative paths are converted to full paths and then checked that they exist and are accessible.

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 to Porter's credential show command

type DeleteOptions added in v0.28.0

type DeleteOptions struct {
	Force bool
	// contains filtered or unexported fields
}

DeleteOptions represent options for Porter's installation delete command

func (*DeleteOptions) LoadParameters added in v0.30.0

func (o *DeleteOptions) LoadParameters(p *Porter) error

LoadParameters validates and resolves the parameters and sets. It must be called after porter has loaded the bundle definition.

func (*DeleteOptions) Validate added in v0.28.0

func (o *DeleteOptions) Validate(args []string, cxt *context.Context) error

Validate prepares for an installation delete action and validates the args/options.

type DisplayInstallation added in v0.28.0

type DisplayInstallation struct {
	Name     string
	Created  time.Time
	Modified time.Time
	Action   string
	Status   string

	Outputs DisplayOutputs
	History []InstallationAction
}

DisplayInstallation holds a subset of pertinent values to be listed from installation data originating from its claims, results and outputs records

func NewDisplayInstallation added in v0.28.0

func NewDisplayInstallation(installation claim.Installation) (DisplayInstallation, error)

type DisplayInstallations added in v0.28.0

type DisplayInstallations []DisplayInstallation

func (DisplayInstallations) Len added in v0.28.0

func (l DisplayInstallations) Len() int

func (DisplayInstallations) Less added in v0.28.0

func (l DisplayInstallations) Less(i, j int) bool

func (DisplayInstallations) Swap added in v0.28.0

func (l DisplayInstallations) Swap(i, j int)

type DisplayOutput

type DisplayOutput struct {
	Name  string
	Value string
	Type  string
}

type DisplayOutputs added in v0.28.0

type DisplayOutputs []DisplayOutput

func NewDisplayOutputs added in v0.28.0

func NewDisplayOutputs(bun bundle.Bundle, outputs claim.Outputs, format printer.Format) DisplayOutputs

type ExplainOpts

type ExplainOpts struct {
	BundleActionOptions
	printer.PrintOptions

	Action string
}

func (*ExplainOpts) LoadParameters added in v0.30.0

func (o *ExplainOpts) LoadParameters(p *Porter) error

LoadParameters validates and resolves the parameters and sets. It must be called after porter has loaded the bundle definition.

func (*ExplainOpts) Validate

func (o *ExplainOpts) Validate(args []string, cxt *context.Context) error

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 {
	*BundleActionOptions
}

InstallOptions that may be specified when installing a bundle. Porter handles defaulting any missing values.

func NewInstallOptions added in v0.30.0

func NewInstallOptions() InstallOptions

func (InstallOptions) GetAction added in v0.30.0

func (o InstallOptions) GetAction() string

func (InstallOptions) GetActionVerb added in v0.30.0

func (o InstallOptions) GetActionVerb() string

func (InstallOptions) LoadParameters added in v0.30.0

func (o InstallOptions) LoadParameters(p *Porter) error

LoadParameters validates and resolves the parameters and sets. It must be called after porter has loaded the bundle definition.

type InstallationAction added in v0.28.0

type InstallationAction struct {
	ClaimID   string
	Action    string
	Timestamp time.Time
	Status    string
	HasLogs   string
}

type InvokeOptions

type InvokeOptions struct {
	// Action name to invoke
	Action string
	*BundleActionOptions
}

InvokeOptions that may be specified when invoking a bundle. Porter handles defaulting any missing values.

func NewInvokeOptions added in v0.30.0

func NewInvokeOptions() InvokeOptions

func (InvokeOptions) GetAction added in v0.30.0

func (o InvokeOptions) GetAction() string

func (InvokeOptions) GetActionVerb added in v0.30.0

func (o InvokeOptions) GetActionVerb() string

func (InvokeOptions) LoadParameters added in v0.30.0

func (o InvokeOptions) LoadParameters(p *Porter) error

LoadParameters validates and resolves the parameters and sets. It must be called after porter has loaded the bundle definition.

func (InvokeOptions) Validate

func (o InvokeOptions) Validate(args []string, p *Porter) error

type LintOptions

type LintOptions struct {
	printer.PrintOptions

	// File path to the porter manifest. Defaults to the bundle in the current directory.
	File string
	// contains filtered or unexported fields
}

func (LintOptions) Apply

func (o LintOptions) Apply(cxt *context.Context)

func (*LintOptions) Validate

func (o *LintOptions) Validate(cxt *context.Context) error

type ListOptions

type ListOptions struct {
	printer.PrintOptions
}

ListOptions represent generic options for use by Porter's list commands

type LogsShowOptions added in v0.35.0

type LogsShowOptions struct {
	ClaimID string
	// contains filtered or unexported fields
}

LogsShowOptions represent options for an installation logs show command

func (*LogsShowOptions) Installation added in v0.35.0

func (o *LogsShowOptions) Installation() string

Installation name passed to the command.

func (*LogsShowOptions) LoadParameters added in v0.35.0

func (o *LogsShowOptions) LoadParameters(p *Porter) error

LoadParameters validates and resolves the parameters and sets. It must be called after porter has loaded the bundle definition.

func (*LogsShowOptions) Validate added in v0.35.0

func (o *LogsShowOptions) Validate(cxt *context.Context) error

Validate validates the provided args, using the provided context, setting attributes of LogsShowOptions as applicable

type Mixins

type Mixins []mixin.Metadata

func (Mixins) PrintMixinsTable

func (mixins Mixins) PrintMixinsTable() string

type OutputListOptions

type OutputListOptions struct {
	printer.PrintOptions
	// contains filtered or unexported fields
}

OutputListOptions represent options for a bundle output list command

func (*OutputListOptions) LoadParameters added in v0.30.0

func (o *OutputListOptions) LoadParameters(p *Porter) error

LoadParameters validates and resolves the parameters and sets. It must be called after porter has loaded the bundle definition.

func (*OutputListOptions) Validate

func (o *OutputListOptions) Validate(args []string, cxt *context.Context) error

Validate validates the provided args, using the provided context, setting attributes of OutputListOptions as applicable

type OutputShowOptions

type OutputShowOptions struct {
	Output string
	// contains filtered or unexported fields
}

OutputShowOptions represent options for a bundle output show command

func (*OutputShowOptions) LoadParameters added in v0.30.0

func (o *OutputShowOptions) LoadParameters(p *Porter) error

LoadParameters validates and resolves the parameters and sets. It must be called after porter has loaded the bundle definition.

func (*OutputShowOptions) Validate

func (o *OutputShowOptions) Validate(args []string, cxt *context.Context) error

Validate validates the provided args, using the provided context, setting attributes of OutputShowOptions as applicable

type ParameterDeleteOptions

type ParameterDeleteOptions struct {
	Name string
}

ParameterDeleteOptions represent options for Porter's parameter delete command

func (*ParameterDeleteOptions) Validate

func (o *ParameterDeleteOptions) Validate(args []string) error

Validate the args provided to the delete parameter command

type ParameterEditOptions

type ParameterEditOptions struct {
	Name string
}

ParameterEditOptions represent iptions for Porter's parameter edit command

func (*ParameterEditOptions) Validate

func (o *ParameterEditOptions) Validate(args []string) error

Validate validates the args provided to Porter's parameter edit command

type ParameterOptions

type ParameterOptions struct {
	BundleActionOptions
	Silent bool
}

ParameterOptions represent generic/base options for a Porter parameters command

func (*ParameterOptions) LoadParameters added in v0.30.0

func (o *ParameterOptions) LoadParameters(p *Porter) error

LoadParameters validates and resolves the parameters and sets. It must be called after porter has loaded the bundle definition.

func (*ParameterOptions) Validate

func (g *ParameterOptions) Validate(args []string, cxt *context.Context) error

Validate prepares for an action and validates the options. For example, relative paths are converted to full paths and then checked that they exist and are accessible.

type ParameterShowOptions

type ParameterShowOptions struct {
	printer.PrintOptions
	Name string
}

ParameterShowOptions represent options for Porter's parameter show command

func (*ParameterShowOptions) Validate

func (o *ParameterShowOptions) Validate(args []string) error

Validate validates the args provided to Porter's parameter show command

type Porter

Porter is the logic behind the porter client.

func New

func New() *Porter

New porter client, initialized with useful defaults.

func NewWithConfig

func NewWithConfig(c *config.Config) *Porter

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) BuildActionArgs added in v0.30.0

func (p *Porter) BuildActionArgs(action BundleAction) (cnabprovider.ActionArguments, error)

BuildActionArgs converts an instance of user-provided action options into prepared arguments that can be used to execute the action.

func (*Porter) CopyBundle

func (p *Porter) CopyBundle(c *CopyOpts) error

CopyBundle copies a bundle from one repository to another

func (*Porter) CopyTemplate

func (p *Porter) CopyTemplate(getTemplate func() ([]byte, error), dest string) error

func (*Porter) Create

func (p *Porter) Create() error

func (*Porter) CreateMixinFeedTemplate

func (p *Porter) CreateMixinFeedTemplate() error

func (*Porter) DeleteCredential

func (p *Porter) DeleteCredential(opts CredentialDeleteOptions) error

DeleteCredential deletes the credential set corresponding to the provided names.

func (*Porter) DeleteInstallation added in v0.28.0

func (p *Porter) DeleteInstallation(opts DeleteOptions) error

DeleteInstallation handles deletion of an installation

func (*Porter) DeleteParameter

func (p *Porter) DeleteParameter(opts ParameterDeleteOptions) error

DeleteParameter deletes the parameter set corresponding to the provided names.

func (*Porter) EditCredential

func (p *Porter) EditCredential(opts CredentialEditOptions) error

EditCredential edits the credentials of the provided name.

func (*Porter) EditParameter

func (p *Porter) EditParameter(opts ParameterEditOptions) error

EditParameter edits the parameters of the provided name.

func (*Porter) ExecuteAction added in v0.30.0

func (p *Porter) ExecuteAction(action BundleAction) error

ExecuteAction runs the specified action. Supported actions are: install, upgrade, invoke. The uninstall action works in reverse so it's implemented separately.

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) GenerateParameters

func (p *Porter) GenerateParameters(opts ParameterOptions) error

GenerateParameters builds a new parameter 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 parameters

func (*Porter) GetInstallation added in v0.35.0

func (p *Porter) GetInstallation(opts ShowOptions) (DisplayInstallation, error)

GetInstallation retrieves information about an installation.

func (*Porter) GetInstallationLogs added in v0.35.0

func (p *Porter) GetInstallationLogs(opts *LogsShowOptions) (string, bool, error)

GetInstallationLogs gets logs for an installation, according to the provided options

func (*Porter) GetManifestSchema

func (p *Porter) GetManifestSchema() (jsonSchema, error)

func (*Porter) GetPlugin

func (p *Porter) GetPlugin(name string) (*plugins.Metadata, error)

func (*Porter) GetReplacementSchema

func (p *Porter) GetReplacementSchema() (jsonSchema, error)

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) InstallPlugin

func (p *Porter) InstallPlugin(opts plugins.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

func (p *Porter) IsBundleUpToDate(opts bundleFileOptions) (bool, error)

IsBundleUpToDate checks the hash of the manifest against the hash in cnab/bundle.json.

func (*Porter) Lint

func (p *Porter) Lint(opts LintOptions) (linter.Results, error)

Lint porter.yaml for any problems and report the results. This calls the mixins to analyze their sections of the manifest.

func (*Porter) ListBundleOutputs

func (p *Porter) ListBundleOutputs(opts *OutputListOptions) (DisplayOutputs, error)

ListBundleOutputs lists the outputs for a given bundle according to the provided display format

func (*Porter) ListCredentials

func (p *Porter) ListCredentials(opts ListOptions) error

ListCredentials lists saved credential sets.

func (*Porter) ListInstallations added in v0.28.0

func (p *Porter) ListInstallations() (DisplayInstallations, error)

ListInstallations lists installed bundles.

func (*Porter) ListMixins

func (p *Porter) ListMixins() ([]mixin.Metadata, error)

func (*Porter) ListParameters

func (p *Porter) ListParameters(opts ListOptions) error

ListParameters lists saved parameter sets.

func (*Porter) ListPlugins

func (p *Porter) ListPlugins() ([]plugins.Metadata, error)

func (*Porter) LoadManifest

func (p *Porter) LoadManifest() error

func (*Porter) LoadManifestFrom

func (p *Porter) LoadManifestFrom(file string) error

func (*Porter) MigrateStorage added in v0.28.0

func (p *Porter) MigrateStorage() error

func (*Porter) PrintBundleOutputs

func (p *Porter) PrintBundleOutputs(opts OutputListOptions) error

func (*Porter) PrintDebugInfo

func (p *Porter) PrintDebugInfo(ctx *context.Context, opts VersionOpts, metadata pkgmgmt.Metadata) error

func (*Porter) PrintInstallations added in v0.28.0

func (p *Porter) PrintInstallations(opts ListOptions) error

PrintInstallations prints installed bundles.

func (*Porter) PrintLintResults

func (p *Porter) PrintLintResults(opts LintOptions) error

PrintLintResults lints the manifest and prints the results to the attached output.

func (*Porter) PrintManifestSchema

func (p *Porter) PrintManifestSchema() error

func (*Porter) PrintMixins

func (p *Porter) PrintMixins(opts PrintMixinsOptions) error

func (*Porter) PrintPackages

func (p *Porter) PrintPackages(opts SearchOptions, list pkgmgmt.PackageList) error

PrintPackages prints the provided package list according to the provided options

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) (cache.CachedBundle, 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

func (p *Porter) ReadBundleOutput(outputName, installation string) (string, error)

ReadBundleOutput reads a bundle output from an installation

func (*Porter) Run

func (p *Porter) Run(opts RunOptions) error

func (*Porter) RunInternalPlugins

func (p *Porter) RunInternalPlugins(args []string)

func (*Porter) SearchPackages

func (p *Porter) SearchPackages(opts SearchOptions) error

SearchPackages searches the provided package list according to the provided options

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) ShowInstallation added in v0.28.0

func (p *Porter) ShowInstallation(opts ShowOptions) error

ShowInstallation shows a bundle installation, along with any associated outputs

func (*Porter) ShowInstallationLogs added in v0.35.0

func (p *Porter) ShowInstallationLogs(opts *LogsShowOptions) error

ShowInstallationLogs shows logs for an installation, according to the provided options.

func (*Porter) ShowParameter

func (p *Porter) ShowParameter(opts ParameterShowOptions) error

ShowParameter shows the parameter set corresponding to the provided name, using the provided printer.PrintOptions for display.

func (*Porter) ShowPlugin

func (p *Porter) ShowPlugin(opts ShowPluginOptions) error

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 pkgmgmt.UninstallOptions) error

func (*Porter) UninstallPlugin

func (p *Porter) UninstallPlugin(opts pkgmgmt.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"`
	PorterVersion string                `json:"porterVersion,omitempty" yaml:"porterVersion,omitempty"`
	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"`
	Dependencies  []PrintableDependency `json:"dependencies,omitempty" yaml:"dependencies,omitempty"`
}

PrintableBundle holds a subset of pertinent values to be explained from a bundle.Bundle

type PrintableCredential

type PrintableCredential struct {
	Name        string `json:"name" yaml:"name"`
	Description string `json:"description" yaml:"description"`
	Required    bool   `json:"required" yaml:"required"`
	ApplyTo     string `json:"applyTo" yaml:"applyTo"`
}

type PrintableDependency added in v0.29.0

type PrintableDependency struct {
	Alias     string `json:"alias" yaml:"alias"`
	Reference string `json:"reference" yaml:"reference"`
}

type PrintableImage

type PrintableImage struct {
	Name string `json:"name" yaml:"name"`
	bundle.Image
	Original string `json:"originalImage" yaml:"originalImage"`
}

type PrintableInvocationImage

type PrintableInvocationImage struct {
	bundle.InvocationImage
	Original string `json:"originalImage" yaml:"originalImage"`
}

type PrintableOutput

type PrintableOutput struct {
	Name        string      `json:"name" yaml:"name"`
	Type        interface{} `json:"type" yaml:"type"`
	ApplyTo     string      `json:"applyTo" yaml:"applyTo"`
	Description string      `json:"description" yaml:"description"`
}

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

	Tag         string
	Registry    string
	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 RunInternalPluginOpts

type RunInternalPluginOpts struct {
	Key string
	// contains filtered or unexported fields
}

func (*RunInternalPluginOpts) Validate

func (o *RunInternalPluginOpts) Validate(args []string, cfg *config.Config) error

type RunOptions

type RunOptions struct {
	File   string
	Action string
	// contains filtered or unexported fields
}

func NewRunOptions

func NewRunOptions(c *config.Config) RunOptions

func (*RunOptions) Validate

func (o *RunOptions) Validate() error

type SearchOptions

type SearchOptions struct {
	Name string
	Type string
	printer.PrintOptions
	pkgmgmt.PackageDownloadOptions
}

SearchOptions are options for searching packages

func (*SearchOptions) Validate

func (o *SearchOptions) Validate(args []string) error

Validate validates the arguments provided to a search command

type ShowOptions

type ShowOptions struct {
	printer.PrintOptions
	// contains filtered or unexported fields
}

ShowOptions represent options for showing a particular installation

func (*ShowOptions) LoadParameters added in v0.30.0

func (o *ShowOptions) LoadParameters(p *Porter) error

LoadParameters validates and resolves the parameters and sets. It must be called after porter has loaded the bundle definition.

func (*ShowOptions) Validate

func (so *ShowOptions) Validate(args []string, cxt *context.Context) error

Validate prepares for a show bundle action and validates the args/options.

type ShowPluginOptions

type ShowPluginOptions struct {
	printer.PrintOptions
	Name string
}

ShowPluginOptions represent options for showing a particular plugin.

func (*ShowPluginOptions) Validate

func (o *ShowPluginOptions) Validate(args []string) error

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 pkgmgmt.PackageMetadata `json:"version"`
	SysInfo SystemInfo              `json:"system"`
	Mixins  Mixins                  `json:"mixins"`
}

type SystemInfo

type SystemInfo struct {
	OS   string
	Arch string
}

type TestBuildProvider

type TestBuildProvider struct {
}

func NewTestBuildProvider

func NewTestBuildProvider() *TestBuildProvider

func (*TestBuildProvider) BuildInvocationImage

func (t *TestBuildProvider) BuildInvocationImage(manifest *manifest.Manifest) error

func (*TestBuildProvider) TagInvocationImage added in v0.31.0

func (t *TestBuildProvider) TagInvocationImage(origTag, newTag string) error

type TestDriver added in v0.28.0

type TestDriver struct {
	Name     string
	Filepath string
}

type TestPorter

type TestPorter struct {
	*Porter
	TestConfig      *config.TestConfig
	TestClaims      claims.TestClaimProvider
	TestCredentials *credentials.TestCredentialProvider
	TestParameters  *parameters.TestParameterProvider
	TestCache       *cache.TestCache
	TestRegistry    *cnabtooci.TestRegistry

	// original directory where the test was being executed
	TestDir string

	// directory where the integration test is being executed
	BundleDir string
}

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) AddTestBundleDir added in v0.31.0

func (p *TestPorter) AddTestBundleDir(bundleDir string, generateUniqueName bool) string

AddTestBundleDir into the test bundle directory and give it a unique name to avoid collisions with other tests running in parallel.

func (*TestPorter) AddTestDriver added in v0.28.0

func (p *TestPorter) AddTestDriver(driver TestDriver) string

func (*TestPorter) AddTestFile added in v0.28.0

func (p *TestPorter) AddTestFile(src string, dest string)

func (*TestPorter) CleanupIntegrationTest

func (p *TestPorter) CleanupIntegrationTest()

func (*TestPorter) CreateBundleDir

func (p *TestPorter) CreateBundleDir() string

func (*TestPorter) RandomString added in v0.31.0

func (p *TestPorter) RandomString(len int) string

func (*TestPorter) ReadBundle added in v0.28.0

func (p *TestPorter) ReadBundle(path string) bundle.Bundle

func (*TestPorter) SetupIntegrationTest

func (p *TestPorter) SetupIntegrationTest()

func (*TestPorter) T

func (p *TestPorter) T() *testing.T

type UninstallDeleteOptions added in v0.28.0

type UninstallDeleteOptions struct {
	Delete      bool
	ForceDelete bool
}

UninstallDeleteOptions supply options for deletion on uninstall

type UninstallOptions

type UninstallOptions struct {
	*BundleActionOptions
	UninstallDeleteOptions
}

UninstallOptions that may be specified when uninstalling a bundle. Porter handles defaulting any missing values.

func NewUninstallOptions added in v0.30.0

func NewUninstallOptions() UninstallOptions

func (UninstallOptions) GetAction added in v0.30.0

func (o UninstallOptions) GetAction() string

func (UninstallOptions) GetActionVerb added in v0.30.0

func (o UninstallOptions) GetActionVerb() string

func (UninstallOptions) LoadParameters added in v0.30.0

func (o UninstallOptions) LoadParameters(p *Porter) error

LoadParameters validates and resolves the parameters and sets. It must be called after porter has loaded the bundle definition.

type UpgradeOptions

type UpgradeOptions struct {
	*BundleActionOptions
}

UpgradeOptions that may be specified when upgrading a bundle. Porter handles defaulting any missing values.

func NewUpgradeOptions added in v0.30.0

func NewUpgradeOptions() UpgradeOptions

func (UpgradeOptions) GetAction added in v0.30.0

func (o UpgradeOptions) GetAction() string

func (UpgradeOptions) GetActionVerb added in v0.30.0

func (o UpgradeOptions) GetActionVerb() string

func (UpgradeOptions) LoadParameters added in v0.30.0

func (o UpgradeOptions) LoadParameters(p *Porter) error

LoadParameters validates and resolves the parameters and sets. It must be called after porter has loaded the bundle definition.

type VersionOpts

type VersionOpts struct {
	version.Options
	System bool
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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