Documentation
¶
Overview ¶
migrations package handles migrating Porter's stored documents when necessary.
Index ¶
- Constants
- func WriteSchema(ctx context.Context, store storage.Store) (storage.Schema, error)
- type LegacyPluginAdapter
- func (m *LegacyPluginAdapter) Close() error
- func (m *LegacyPluginAdapter) Connect(ctx context.Context) error
- func (m *LegacyPluginAdapter) List(ctx context.Context, itemType string, group string) ([]string, error)
- func (m *LegacyPluginAdapter) Read(ctx context.Context, itemType string, name string) ([]byte, error)
- type Manager
- func (m *Manager) Aggregate(ctx context.Context, collection string, opts storage.AggregateOptions, ...) error
- func (m *Manager) Close() error
- func (m *Manager) Connect(ctx context.Context) error
- func (m *Manager) Count(ctx context.Context, collection string, opts storage.CountOptions) (int64, error)
- func (m *Manager) EnsureIndex(ctx context.Context, opts storage.EnsureIndexOptions) error
- func (m *Manager) Find(ctx context.Context, collection string, opts storage.FindOptions, ...) error
- func (m *Manager) FindOne(ctx context.Context, collection string, opts storage.FindOptions, ...) error
- func (m *Manager) Get(ctx context.Context, collection string, opts storage.GetOptions, ...) error
- func (m *Manager) Initialize(sanitizer *storage.Sanitizer)
- func (m *Manager) Insert(ctx context.Context, collection string, opts storage.InsertOptions) error
- func (m *Manager) Migrate(ctx context.Context, opts storage.MigrateOptions) error
- func (m *Manager) Patch(ctx context.Context, collection string, opts storage.PatchOptions) error
- func (m *Manager) Remove(ctx context.Context, collection string, opts storage.RemoveOptions) error
- func (m *Manager) Update(ctx context.Context, collection string, opts storage.UpdateOptions) error
- func (m *Manager) WriteSchema(ctx context.Context) error
- type Migration
- type SourceClaim
- type SourceCredentialSet
- type SourceParameterSet
- type SourceResult
- type SourceSchema
- type TestManager
Constants ¶
const ( // CollectionConfig is the collection that stores Porter configuration documents // such as the storage schema. CollectionConfig = "config" )
Variables ¶
This section is empty.
Functions ¶
Types ¶
type LegacyPluginAdapter ¶
type LegacyPluginAdapter struct {
// contains filtered or unexported fields
}
LegacyPluginAdapter can connect to a legacy Porter v0.38 storage plugin to retrieve data to migrate to the current version of Porter.
func NewLegacyPluginAdapter ¶
func NewLegacyPluginAdapter(c *config.Config, oldPorterHome string, storageName string) *LegacyPluginAdapter
func (*LegacyPluginAdapter) Close ¶
func (m *LegacyPluginAdapter) Close() error
func (*LegacyPluginAdapter) Connect ¶
func (m *LegacyPluginAdapter) Connect(ctx context.Context) error
Connect loads the legacy plugin specified by the source storage account.
type Manager ¶
Manager handles high level functions over Porter's storage systems such as migrating data formats.
func NewManager ¶
NewManager creates a storage manager for a backing datastore.
func (*Manager) Connect ¶
Connect initializes storage manager for use. The manager itself is responsible for ensuring it was called. Close is called automatically when the manager is used by Porter.
func (*Manager) EnsureIndex ¶
func (*Manager) Initialize ¶
Initialize configures the storage manager with additional configuration that wasn't available when the manager instance was created.
func (*Manager) Migrate ¶
Migrate executes a migration on any/all of Porter's storage sub-systems. You must call Initialize before calling Migrate.
type Migration ¶
type Migration struct {
// contains filtered or unexported fields
}
Migration can connect to a legacy Porter v0.38 storage plugin migrate the data in the specified account into a target account compatible with the current version of Porter.
func NewMigration ¶
type SourceClaim ¶
type SourceClaim struct {
// SchemaVersion is the version of the claim schema.
SchemaVersion cnab.SchemaVersion `json:"schemaVersion"`
// ID of the claim.
ID string `json:"id"`
// Installation name.
Installation string `json:"installation"`
// Revision of the installation.
Revision string `json:"revision"`
// Created timestamp of the claim.
Created time.Time `json:"created"`
// Action executed against the installation.
Action string `json:"action"`
// Bundle is the definition of the bundle.
Bundle bundle.Bundle `json:"bundle"`
// BundleReference is the canonical reference to the bundle used in the action.
BundleReference string `json:"bundleReference,omitempty"`
// Parameters are the key/value pairs that were passed in during the operation.
Parameters map[string]interface{} `json:"parameters,omitempty"`
// Custom extension data applicable to a given runtime.
Custom interface{} `json:"custom,omitempty"`
}
SourceClaim represents the file format of claim documents from v0.38
type SourceCredentialSet ¶
type SourceCredentialSet struct {
// SchemaVersion is the version of the credential-set schema.
SchemaVersion cnab.SchemaVersion `json:"schemaVersion" yaml:"schemaVersion"`
// Name is the name of the credentialset.
Name string `json:"name" yaml:"name"`
// Created timestamp of the credentialset.
Created time.Time `json:"created" yaml:"created"`
// Modified timestamp of the credentialset.
Modified time.Time `json:"modified" yaml:"modified"`
// Credentials is a list of credential specs.
Credentials []valuesource.Strategy `json:"credentials" yaml:"credentials"`
}
SourceCredentialSet represents the file format of credential set documents from v0.38
type SourceParameterSet ¶
type SourceParameterSet struct {
// SchemaVersion is the version of the parameter-set schema.
SchemaVersion cnab.SchemaVersion `json:"schemaVersion" yaml:"schemaVersion"`
// Name is the name of the parameter set.
Name string `json:"name" yaml:"name"`
// Created timestamp of the parameter set.
Created time.Time `json:"created" yaml:"created"`
// Modified timestamp of the parameter set.
Modified time.Time `json:"modified" yaml:"modified"`
// Parameters is a list of parameter specs.
Parameters []valuesource.Strategy `json:"parameters" yaml:"parameters"`
}
SourceParameterSet represents the file format of credential set documents from v0.38
type SourceResult ¶
type SourceResult struct {
// Id of the result.
ID string `json:"id"`
// ClaimId associated with the claim that generated the result.
ClaimID string `json:"claimId"`
// Created timestamp of the result.
Created time.Time `json:"created"`
// Message communicates the outcome of the operation.
Message string `json:"message,omitempty"`
// Status of the operation, for example StatusSucceeded.
Status string `json:"status"`
// OutputMetadata generated by the operation, mapping from the output names to
// metadata about the output.
OutputMetadata cnab.OutputMetadata `json:"outputs,omitempty"`
// Custom extension data applicable to a given runtime.
Custom interface{} `json:"custom,omitempty"`
}
SourceResult represents the file format of result documents from v0.38
type SourceSchema ¶
type SourceSchema struct {
Claims cnab.SchemaVersion `json:"claims"`
Credentials cnab.SchemaVersion `json:"credentials"`
Parameters cnab.SchemaVersion `json:"parameters"`
}
SourceSchema represents the file format of Porter's v0.38 schema document
type TestManager ¶
type TestManager struct {
*Manager
// contains filtered or unexported fields
}
func NewTestManager ¶
func NewTestManager(c *config.TestConfig) *TestManager
func (*TestManager) Close ¶
func (m *TestManager) Close() error
func (*TestManager) SetSchema ¶
func (m *TestManager) SetSchema(schema storage.Schema)
SetSchema allows tests to pre-emptively set the schema document.
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
Package crudstore supports reading data out of a legacy porter storage plugin
|
Package crudstore supports reading data out of a legacy porter storage plugin |
|
Package testhelpers contains helper functions for testing the pkg/storage/migrations package.
|
Package testhelpers contains helper functions for testing the pkg/storage/migrations package. |