Documentation ¶
Index ¶
- Constants
- func NoopDataLoader(config *Config) error
- type Config
- func (c *Config) GetBundleArchiveLogs() (string, error)
- func (c *Config) GetBundlesCache() (string, error)
- func (c *Config) GetHomeDir() (string, error)
- func (c *Config) GetPluginPath(plugin string) (string, error)
- func (c *Config) GetPluginsDir() (string, error)
- func (c *Config) GetPorterPath() (string, error)
- func (c *Config) GetPorterRuntimePath() (string, error)
- func (c *Config) LoadData() error
- func (c *Config) SetHomeDir(home string)
- type CrudStore
- type Data
- func (d *Data) GetDefaultSecretSource() string
- func (d *Data) GetDefaultSecretsPlugin() string
- func (d *Data) GetDefaultStorage() string
- func (d *Data) GetDefaultStoragePlugin() string
- func (d *Data) GetSecretSource(name string) (SecretSource, error)
- func (d *Data) GetStorage(name string) (CrudStore, error)
- type DataStoreLoaderFunc
- type PluginConfig
- type SecretSource
- type TestConfig
Constants ¶
const ( // Name is the file name of the porter configuration file. Name = "porter.yaml" // EnvHOME is the name of the environment variable containing the porter home directory path. EnvHOME = "PORTER_HOME" // EnvBundleName is the name of the environment variable containing the name of the bundle. EnvBundleName = "CNAB_BUNDLE_NAME" // EnvInstallationName is the name of the environment variable containing the name of the installation. EnvInstallationName = "CNAB_INSTALLATION_NAME" // EnvACTION is the requested action to be executed EnvACTION = "CNAB_ACTION" // EnvDEBUG is a custom porter parameter that signals that --debug flag has been passed through from the client to the runtime. EnvDEBUG = "PORTER_DEBUG" // CustomPorterKey is the key in the bundle.json custom section that contains the Porter stamp // It holds all the metadata that Porter includes that is specific to Porter about the bundle. CustomPorterKey = "sh.porter" // BundleOutputsDir is the directory where outputs are expected to be placed // during the execution of a bundle action. BundleOutputsDir = "/cnab/app/outputs" // ClaimFilepath is the filepath to the claim.json inside of an invocation image ClaimFilepath = "/cnab/claim.json" )
Variables ¶
This section is empty.
Functions ¶
func NoopDataLoader ¶
NoopDataLoader skips loading the datastore.
Types ¶
type Config ¶
type Config struct { *context.Context Data *Data DataLoader DataStoreLoaderFunc // contains filtered or unexported fields }
func (*Config) GetBundleArchiveLogs ¶
GetArchiveLogs locates the output for Bundle Archive Operations.
func (*Config) GetBundlesCache ¶
GetBundlesDir locates the bundle cache from the porter home directory.
func (*Config) GetHomeDir ¶
GetHomeDir determines the absolute path to the porter home directory.
func (*Config) GetPluginsDir ¶
func (*Config) GetPorterPath ¶
func (*Config) GetPorterRuntimePath ¶
func (*Config) LoadData ¶
LoadData from the datastore in PORTER_HOME. This defaults to doing nothing unless DataLoader has been set.
func (*Config) SetHomeDir ¶
type CrudStore ¶
type CrudStore struct {
PluginConfig `mapstructure:",squash"`
}
CrudStore is the plugin stanza for storage.
type Data ¶
type Data struct { // DefaultStoragePlugin is the storage plugin to use when no named storage is specified. DefaultStoragePlugin string `mapstructure:"default-storage-plugin"` // DefaultStorage to use when a named storage is not specified by a flag. DefaultStorage string `mapstructure:"default-storage"` // CrudStores defined in the configuration file. CrudStores []CrudStore `mapstructure:"storage"` // DefaultSecretsPlugin is the plugin to use when no plugin is specified. DefaultSecretsPlugin string `mapstructure:"default-secrets-plugin"` // DefaultSecrets to use when one is not specified by a flag. DefaultSecrets string `mapstructure:"default-secrets"` // SecretSources defined in the configuration file. SecretSources []SecretSource `mapstructure:"secrets"` }
Data is the data stored in PORTER_HOME/porter.toml|yaml|json. Use the accessor functions to ensure default values are handled properly.
func (*Data) GetDefaultSecretSource ¶
func (*Data) GetDefaultSecretsPlugin ¶
func (*Data) GetDefaultStorage ¶
func (*Data) GetDefaultStoragePlugin ¶
func (*Data) GetSecretSource ¶
func (d *Data) GetSecretSource(name string) (SecretSource, error)
type DataStoreLoaderFunc ¶
type PluginConfig ¶
type PluginConfig struct { Name string `mapstructure:"name"` PluginSubKey string `mapstructure:"plugin"` Config map[string]interface{} `mapstructure:"config"` }
PluginConfig is a standardized config stanza that defines which plugin to use and its custom configuration.
func (PluginConfig) GetConfig ¶
func (p PluginConfig) GetConfig() interface{}
func (PluginConfig) GetName ¶
func (p PluginConfig) GetName() string
func (PluginConfig) GetPluginSubKey ¶
func (p PluginConfig) GetPluginSubKey() string
type SecretSource ¶
type SecretSource struct {
PluginConfig `mapstructure:",squash"`
}
SecretSource is the plugin stanza for secrets.
type TestConfig ¶
type TestConfig struct { *Config TestContext *context.TestContext }
func NewTestConfig ¶
func NewTestConfig(t *testing.T) *TestConfig
NewTestConfig initializes a configuration suitable for testing, with the output buffered, and an in-memory file system.
func (*TestConfig) SetupIntegrationTest ¶
func (c *TestConfig) SetupIntegrationTest(home string)
InitializePorterHome initializes the filesystem with the supporting files in the PORTER_HOME directory.
func (*TestConfig) SetupPorterHome ¶
func (c *TestConfig) SetupPorterHome()
InitializePorterHome initializes the test filesystem with the supporting files in the PORTER_HOME directory.