Documentation ¶
Index ¶
- Variables
- type LocalStorageOptions
- type LocalStorageProvider
- func (lsp *LocalStorageProvider) AutoRefreshChannels() (chan string, chan error, error)
- func (lsp *LocalStorageProvider) AutoRefreshEnabled() (bool, error)
- func (lsp *LocalStorageProvider) BasePath() string
- func (lsp *LocalStorageProvider) CheckFile(fileName string) error
- func (lsp *LocalStorageProvider) CheckPackage(packageName string) (consts.PackageType, error)
- func (lsp *LocalStorageProvider) Close() error
- func (lsp *LocalStorageProvider) CloseLogging() []error
- func (lsp *LocalStorageProvider) Destroy() error
- func (lsp *LocalStorageProvider) GetLogger(logName string) (io.Writer, error)
- func (lsp *LocalStorageProvider) Initialized() bool
- func (lsp *LocalStorageProvider) IsNew() bool
- func (lsp *LocalStorageProvider) ListPackages(packageType consts.PackageType) (map[string]PackageEntry, []error)
- func (lsp *LocalStorageProvider) Name() string
- func (lsp *LocalStorageProvider) New(options StorageOptions, createAsNeeded bool) error
- func (lsp *LocalStorageProvider) Options() StorageOptions
- func (lsp *LocalStorageProvider) Paths() (*StoragePaths, error)
- func (lsp *LocalStorageProvider) ReadBundleFile() ([]byte, error)
- func (lsp *LocalStorageProvider) ReadConfig() ([]byte, error)
- func (lsp *LocalStorageProvider) ReadIndex() ([]byte, error)
- func (lsp *LocalStorageProvider) ReadIndexSignature() ([]byte, error)
- func (lsp *LocalStorageProvider) ReadPackage(packageName string) ([]byte, error)
- func (lsp *LocalStorageProvider) ReadPackageSignature(packageName string) ([]byte, error)
- func (lsp *LocalStorageProvider) ReadPackageSigningKey() ([]byte, error)
- func (lsp *LocalStorageProvider) ReadTLSCertificateCrt() ([]byte, error)
- func (lsp *LocalStorageProvider) ReadTLSCertificateKey() ([]byte, error)
- func (lsp *LocalStorageProvider) ReadVaultCA() ([]byte, error)
- func (lsp *LocalStorageProvider) RemovePackage(packageName string) error
- func (lsp *LocalStorageProvider) RemovePackageSignature(packageName string) error
- func (lsp *LocalStorageProvider) SetConfigPath(newConfigPath string) error
- func (lsp *LocalStorageProvider) StopAutoRefresh(commitToOptions bool) error
- func (lsp *LocalStorageProvider) WriteBundleFile(data []byte) error
- func (lsp *LocalStorageProvider) WriteConfig(configData []byte) error
- func (lsp *LocalStorageProvider) WriteIndex(indexData []byte) error
- func (lsp *LocalStorageProvider) WriteIndexSignature(indexSignatureData []byte) error
- func (lsp *LocalStorageProvider) WritePackage(packageName string, packageData []byte) error
- func (lsp *LocalStorageProvider) WritePackageSignature(packageName string, signatureData []byte) error
- func (lsp *LocalStorageProvider) WritePackageSigningKey(data []byte) error
- func (lsp *LocalStorageProvider) WritePackageWithFileName(fileName string, packageData []byte) error
- func (lsp *LocalStorageProvider) WriteTLSCertificateCrt(data []byte) error
- func (lsp *LocalStorageProvider) WriteTLSCertificateKey(data []byte) error
- func (lsp *LocalStorageProvider) WriteVaultCA(data []byte) error
- type PackageEntry
- type S3StorageOptions
- type S3StorageProvider
- func (ssp *S3StorageProvider) AutoRefreshChannels() (chan string, chan error, error)
- func (ssp *S3StorageProvider) AutoRefreshEnabled() (bool, error)
- func (ssp *S3StorageProvider) BasePath() string
- func (ssp *S3StorageProvider) CheckFile(objectKey string) error
- func (ssp *S3StorageProvider) CheckPackage(packageName string) (consts.PackageType, error)
- func (ssp *S3StorageProvider) Close() error
- func (ssp *S3StorageProvider) CloseLogging() []error
- func (ssp *S3StorageProvider) Destroy() error
- func (ssp *S3StorageProvider) GetLogger(logName string) (io.Writer, error)
- func (ssp *S3StorageProvider) Initialized() bool
- func (ssp *S3StorageProvider) IsNew() bool
- func (ssp *S3StorageProvider) ListPackages(packageType consts.PackageType) (map[string]PackageEntry, []error)
- func (ssp *S3StorageProvider) Name() string
- func (ssp *S3StorageProvider) New(options StorageOptions, createAsNeeded bool) error
- func (ssp *S3StorageProvider) Options() StorageOptions
- func (ssp *S3StorageProvider) Paths() (*StoragePaths, error)
- func (ssp *S3StorageProvider) ReadBundleFile() ([]byte, error)
- func (ssp *S3StorageProvider) ReadConfig() ([]byte, error)
- func (ssp *S3StorageProvider) ReadIndex() ([]byte, error)
- func (ssp *S3StorageProvider) ReadIndexSignature() ([]byte, error)
- func (ssp *S3StorageProvider) ReadPackage(packageName string) ([]byte, error)
- func (ssp *S3StorageProvider) ReadPackageSignature(packageName string) ([]byte, error)
- func (ssp *S3StorageProvider) ReadPackageSigningKey() ([]byte, error)
- func (ssp *S3StorageProvider) ReadTLSCertificateCrt() ([]byte, error)
- func (ssp *S3StorageProvider) ReadTLSCertificateKey() ([]byte, error)
- func (ssp *S3StorageProvider) ReadVaultCA() ([]byte, error)
- func (ssp *S3StorageProvider) RemovePackage(packageName string) error
- func (ssp *S3StorageProvider) RemovePackageSignature(packageName string) error
- func (ssp *S3StorageProvider) SetConfigPath(newConfigPath string) error
- func (ssp *S3StorageProvider) StopAutoRefresh(commitToOptions bool) error
- func (ssp *S3StorageProvider) WriteBundleFile(data []byte) error
- func (ssp *S3StorageProvider) WriteConfig(configData []byte) error
- func (ssp *S3StorageProvider) WriteIndex(indexData []byte) error
- func (ssp *S3StorageProvider) WriteIndexSignature(indexSignatureData []byte) error
- func (ssp *S3StorageProvider) WritePackage(packageName string, packageData []byte) error
- func (ssp *S3StorageProvider) WritePackageSignature(packageName string, signatureData []byte) error
- func (ssp *S3StorageProvider) WritePackageSigningKey(data []byte) error
- func (ssp *S3StorageProvider) WritePackageWithFileName(fileName string, packageData []byte) error
- func (ssp *S3StorageProvider) WriteTLSCertificateCrt(data []byte) error
- func (ssp *S3StorageProvider) WriteTLSCertificateKey(data []byte) error
- func (ssp *S3StorageProvider) WriteVaultCA(data []byte) error
- type StorageOptions
- type StoragePaths
- type StorageProvider
Constants ¶
This section is empty.
Variables ¶
var ( ErrStorageNotInitialized = errors.New("the storage provider has not been initialized") ErrDoesNotExist = errors.New("the file does not exist") )
Functions ¶
This section is empty.
Types ¶
type LocalStorageOptions ¶
type LocalStorageProvider ¶
type LocalStorageProvider struct {
// contains filtered or unexported fields
}
func (*LocalStorageProvider) AutoRefreshChannels ¶
func (lsp *LocalStorageProvider) AutoRefreshChannels() (chan string, chan error, error)
func (*LocalStorageProvider) AutoRefreshEnabled ¶
func (lsp *LocalStorageProvider) AutoRefreshEnabled() (bool, error)
func (*LocalStorageProvider) BasePath ¶
func (lsp *LocalStorageProvider) BasePath() string
func (*LocalStorageProvider) CheckFile ¶
func (lsp *LocalStorageProvider) CheckFile(fileName string) error
func (*LocalStorageProvider) CheckPackage ¶
func (lsp *LocalStorageProvider) CheckPackage(packageName string) (consts.PackageType, error)
func (*LocalStorageProvider) Close ¶
func (lsp *LocalStorageProvider) Close() error
func (*LocalStorageProvider) CloseLogging ¶
func (lsp *LocalStorageProvider) CloseLogging() []error
func (*LocalStorageProvider) Destroy ¶
func (lsp *LocalStorageProvider) Destroy() error
func (*LocalStorageProvider) GetLogger ¶
func (lsp *LocalStorageProvider) GetLogger(logName string) (io.Writer, error)
func (*LocalStorageProvider) Initialized ¶
func (lsp *LocalStorageProvider) Initialized() bool
func (*LocalStorageProvider) IsNew ¶
func (lsp *LocalStorageProvider) IsNew() bool
func (*LocalStorageProvider) ListPackages ¶
func (lsp *LocalStorageProvider) ListPackages(packageType consts.PackageType) (map[string]PackageEntry, []error)
func (*LocalStorageProvider) Name ¶
func (lsp *LocalStorageProvider) Name() string
func (*LocalStorageProvider) New ¶
func (lsp *LocalStorageProvider) New(options StorageOptions, createAsNeeded bool) error
func (*LocalStorageProvider) Options ¶
func (lsp *LocalStorageProvider) Options() StorageOptions
func (*LocalStorageProvider) Paths ¶
func (lsp *LocalStorageProvider) Paths() (*StoragePaths, error)
func (*LocalStorageProvider) ReadBundleFile ¶
func (lsp *LocalStorageProvider) ReadBundleFile() ([]byte, error)
func (*LocalStorageProvider) ReadConfig ¶
func (lsp *LocalStorageProvider) ReadConfig() ([]byte, error)
func (*LocalStorageProvider) ReadIndex ¶
func (lsp *LocalStorageProvider) ReadIndex() ([]byte, error)
func (*LocalStorageProvider) ReadIndexSignature ¶
func (lsp *LocalStorageProvider) ReadIndexSignature() ([]byte, error)
func (*LocalStorageProvider) ReadPackage ¶
func (lsp *LocalStorageProvider) ReadPackage(packageName string) ([]byte, error)
func (*LocalStorageProvider) ReadPackageSignature ¶
func (lsp *LocalStorageProvider) ReadPackageSignature(packageName string) ([]byte, error)
func (*LocalStorageProvider) ReadPackageSigningKey ¶
func (lsp *LocalStorageProvider) ReadPackageSigningKey() ([]byte, error)
func (*LocalStorageProvider) ReadTLSCertificateCrt ¶
func (lsp *LocalStorageProvider) ReadTLSCertificateCrt() ([]byte, error)
func (*LocalStorageProvider) ReadTLSCertificateKey ¶
func (lsp *LocalStorageProvider) ReadTLSCertificateKey() ([]byte, error)
func (*LocalStorageProvider) ReadVaultCA ¶
func (lsp *LocalStorageProvider) ReadVaultCA() ([]byte, error)
func (*LocalStorageProvider) RemovePackage ¶
func (lsp *LocalStorageProvider) RemovePackage(packageName string) error
func (*LocalStorageProvider) RemovePackageSignature ¶
func (lsp *LocalStorageProvider) RemovePackageSignature(packageName string) error
func (*LocalStorageProvider) SetConfigPath ¶
func (lsp *LocalStorageProvider) SetConfigPath(newConfigPath string) error
func (*LocalStorageProvider) StopAutoRefresh ¶
func (lsp *LocalStorageProvider) StopAutoRefresh(commitToOptions bool) error
func (*LocalStorageProvider) WriteBundleFile ¶
func (lsp *LocalStorageProvider) WriteBundleFile(data []byte) error
func (*LocalStorageProvider) WriteConfig ¶
func (lsp *LocalStorageProvider) WriteConfig(configData []byte) error
func (*LocalStorageProvider) WriteIndex ¶
func (lsp *LocalStorageProvider) WriteIndex(indexData []byte) error
func (*LocalStorageProvider) WriteIndexSignature ¶
func (lsp *LocalStorageProvider) WriteIndexSignature(indexSignatureData []byte) error
func (*LocalStorageProvider) WritePackage ¶
func (lsp *LocalStorageProvider) WritePackage(packageName string, packageData []byte) error
func (*LocalStorageProvider) WritePackageSignature ¶
func (lsp *LocalStorageProvider) WritePackageSignature(packageName string, signatureData []byte) error
func (*LocalStorageProvider) WritePackageSigningKey ¶
func (lsp *LocalStorageProvider) WritePackageSigningKey(data []byte) error
func (*LocalStorageProvider) WritePackageWithFileName ¶
func (lsp *LocalStorageProvider) WritePackageWithFileName(fileName string, packageData []byte) error
func (*LocalStorageProvider) WriteTLSCertificateCrt ¶
func (lsp *LocalStorageProvider) WriteTLSCertificateCrt(data []byte) error
func (*LocalStorageProvider) WriteTLSCertificateKey ¶
func (lsp *LocalStorageProvider) WriteTLSCertificateKey(data []byte) error
func (*LocalStorageProvider) WriteVaultCA ¶
func (lsp *LocalStorageProvider) WriteVaultCA(data []byte) error
type PackageEntry ¶
type S3StorageOptions ¶
type S3StorageProvider ¶
type S3StorageProvider struct {
// contains filtered or unexported fields
}
func (*S3StorageProvider) AutoRefreshChannels ¶
func (ssp *S3StorageProvider) AutoRefreshChannels() (chan string, chan error, error)
func (*S3StorageProvider) AutoRefreshEnabled ¶
func (ssp *S3StorageProvider) AutoRefreshEnabled() (bool, error)
func (*S3StorageProvider) BasePath ¶
func (ssp *S3StorageProvider) BasePath() string
func (*S3StorageProvider) CheckFile ¶
func (ssp *S3StorageProvider) CheckFile(objectKey string) error
func (*S3StorageProvider) CheckPackage ¶
func (ssp *S3StorageProvider) CheckPackage(packageName string) (consts.PackageType, error)
func (*S3StorageProvider) Close ¶
func (ssp *S3StorageProvider) Close() error
func (*S3StorageProvider) CloseLogging ¶
func (ssp *S3StorageProvider) CloseLogging() []error
func (*S3StorageProvider) Destroy ¶
func (ssp *S3StorageProvider) Destroy() error
This function does not delete the bucket itself, just the armory objects inside of it
func (*S3StorageProvider) GetLogger ¶
func (ssp *S3StorageProvider) GetLogger(logName string) (io.Writer, error)
func (*S3StorageProvider) Initialized ¶
func (ssp *S3StorageProvider) Initialized() bool
func (*S3StorageProvider) IsNew ¶
func (ssp *S3StorageProvider) IsNew() bool
func (*S3StorageProvider) ListPackages ¶
func (ssp *S3StorageProvider) ListPackages(packageType consts.PackageType) (map[string]PackageEntry, []error)
func (*S3StorageProvider) Name ¶
func (ssp *S3StorageProvider) Name() string
func (*S3StorageProvider) New ¶
func (ssp *S3StorageProvider) New(options StorageOptions, createAsNeeded bool) error
func (*S3StorageProvider) Options ¶
func (ssp *S3StorageProvider) Options() StorageOptions
func (*S3StorageProvider) Paths ¶
func (ssp *S3StorageProvider) Paths() (*StoragePaths, error)
func (*S3StorageProvider) ReadBundleFile ¶
func (ssp *S3StorageProvider) ReadBundleFile() ([]byte, error)
func (*S3StorageProvider) ReadConfig ¶
func (ssp *S3StorageProvider) ReadConfig() ([]byte, error)
func (*S3StorageProvider) ReadIndex ¶
func (ssp *S3StorageProvider) ReadIndex() ([]byte, error)
func (*S3StorageProvider) ReadIndexSignature ¶
func (ssp *S3StorageProvider) ReadIndexSignature() ([]byte, error)
func (*S3StorageProvider) ReadPackage ¶
func (ssp *S3StorageProvider) ReadPackage(packageName string) ([]byte, error)
func (*S3StorageProvider) ReadPackageSignature ¶
func (ssp *S3StorageProvider) ReadPackageSignature(packageName string) ([]byte, error)
func (*S3StorageProvider) ReadPackageSigningKey ¶
func (ssp *S3StorageProvider) ReadPackageSigningKey() ([]byte, error)
func (*S3StorageProvider) ReadTLSCertificateCrt ¶
func (ssp *S3StorageProvider) ReadTLSCertificateCrt() ([]byte, error)
func (*S3StorageProvider) ReadTLSCertificateKey ¶
func (ssp *S3StorageProvider) ReadTLSCertificateKey() ([]byte, error)
func (*S3StorageProvider) ReadVaultCA ¶
func (ssp *S3StorageProvider) ReadVaultCA() ([]byte, error)
func (*S3StorageProvider) RemovePackage ¶
func (ssp *S3StorageProvider) RemovePackage(packageName string) error
func (*S3StorageProvider) RemovePackageSignature ¶
func (ssp *S3StorageProvider) RemovePackageSignature(packageName string) error
func (*S3StorageProvider) SetConfigPath ¶
func (ssp *S3StorageProvider) SetConfigPath(newConfigPath string) error
func (*S3StorageProvider) StopAutoRefresh ¶
func (ssp *S3StorageProvider) StopAutoRefresh(commitToOptions bool) error
func (*S3StorageProvider) WriteBundleFile ¶
func (ssp *S3StorageProvider) WriteBundleFile(data []byte) error
func (*S3StorageProvider) WriteConfig ¶
func (ssp *S3StorageProvider) WriteConfig(configData []byte) error
func (*S3StorageProvider) WriteIndex ¶
func (ssp *S3StorageProvider) WriteIndex(indexData []byte) error
func (*S3StorageProvider) WriteIndexSignature ¶
func (ssp *S3StorageProvider) WriteIndexSignature(indexSignatureData []byte) error
func (*S3StorageProvider) WritePackage ¶
func (ssp *S3StorageProvider) WritePackage(packageName string, packageData []byte) error
func (*S3StorageProvider) WritePackageSignature ¶
func (ssp *S3StorageProvider) WritePackageSignature(packageName string, signatureData []byte) error
func (*S3StorageProvider) WritePackageSigningKey ¶
func (ssp *S3StorageProvider) WritePackageSigningKey(data []byte) error
func (*S3StorageProvider) WritePackageWithFileName ¶
func (ssp *S3StorageProvider) WritePackageWithFileName(fileName string, packageData []byte) error
func (*S3StorageProvider) WriteTLSCertificateCrt ¶
func (ssp *S3StorageProvider) WriteTLSCertificateCrt(data []byte) error
func (*S3StorageProvider) WriteTLSCertificateKey ¶
func (ssp *S3StorageProvider) WriteTLSCertificateKey(data []byte) error
func (*S3StorageProvider) WriteVaultCA ¶
func (ssp *S3StorageProvider) WriteVaultCA(data []byte) error
type StorageOptions ¶
type StorageOptions interface{}
An empty interface for storage options. The exact implementation depends on the storage provider. All storage providers should have an option for enabling auto-refresh.
type StoragePaths ¶
type StoragePaths struct { Aliases string Extensions string PackageSignatures string Certificates string Logs string Bundles string Config string Index string IndexSignature string PackageSigningKey string CertificateKey string CertificateCrt string VaultCAPEM string }
An object for the paths - this is common for all StorageProviders
func (*StoragePaths) Directories ¶
func (sp *StoragePaths) Directories() map[string]string
Returns paths corresponding to directories
func (*StoragePaths) Files ¶
func (sp *StoragePaths) Files() map[string]string
Returns paths corresponding to files
type StorageProvider ¶
type StorageProvider interface { // New sets up a new instance of the storage provider with the options appropriate for that storage provider. // The storage provider also accepts a boolean: whether directories are created as needed New(StorageOptions, bool) error // Returns the name of the storage provider Name() string // Returns the options that the storager provider is configured with Options() StorageOptions // Returns whether the directories had to be created on the storage provider (useful to know whether initial setup needs to be run) IsNew() bool // Returns the paths configured for this provider and an error if the provider is not initialized Paths() (*StoragePaths, error) // Indicates whether the storage provider can notify the main process of a change in the package directories AutoRefreshEnabled() (bool, error) // Returns the channels for file events and errors. An error is returned if the provider is not initialized or there was an error in setting up auto refresh AutoRefreshChannels() (chan string, chan error, error) // Turn off auto refresh after the storage provider has started StopAutoRefresh(bool) error // Perform any final cleanup that may need to be done before exiting Close() error // Removes the root directory and all of its subdirectories Destroy() error // Returns whether the storage provider has been initialized successfully Initialized() bool // Returns the root directory (base path) of the storage provider BasePath() string // Checks for the existance of a file in the storage provider - returns nil if the file exists, storage.ErrNotExist if it does not, and an error if the function encountered another error CheckFile(string) error // Sets a different path for the config file than the default SetConfigPath(string) error // Returns the raw contents of the configuration file ReadConfig() ([]byte, error) // Stores the provided data in the configuration file WriteConfig([]byte) error // Reads the package signing key from storage ReadPackageSigningKey() ([]byte, error) // Writes the package signing key to storage WritePackageSigningKey([]byte) error // Reads the TLS certificate key file from storage ReadTLSCertificateKey() ([]byte, error) // Writes the TLS certificate key file to storage WriteTLSCertificateKey([]byte) error // Reads the TLS certificate file from storage ReadTLSCertificateCrt() ([]byte, error) // Writes the TLS certificate file to storage WriteTLSCertificateCrt([]byte) error // Reads the bundle file from storage ReadBundleFile() ([]byte, error) // Writes the bundle file to storage WriteBundleFile([]byte) error // Checks for the existence of a package with a given name and returns its package type and any errors encountered CheckPackage(string) (consts.PackageType, error) // Returns the archive for a package with the given name ReadPackage(string) ([]byte, error) // Writes the package with the given name to storage WritePackage(string, []byte) error // Writes the package with the given file name to storage WritePackageWithFileName(string, []byte) error // Remove a package with a given name from storage. Removing a package does not remove its signature, so be sure to remove its signature too. RemovePackage(string) error // Return a list of packages as a map of the command name to a PackageEntry (name, command name, manifest) ListPackages(consts.PackageType) (map[string]PackageEntry, []error) // Get the signature for a given package (this package does not sign the package) ReadPackageSignature(string) ([]byte, error) // Write the signature for a given package (this function does not sign the package) WritePackageSignature(string, []byte) error // Remove the package signature from storage for a given package RemovePackageSignature(string) error // Return the package index (this function does not generate the index) ReadIndex() ([]byte, error) // Write the package index to storage WriteIndex([]byte) error // Read the package index signature (this function does not sign the index) ReadIndexSignature() ([]byte, error) // Write the package index signature to storage (this function does not sign the index) WriteIndexSignature([]byte) error // Return the named logging backend (io.Writer) GetLogger(string) (io.Writer, error) // Close the logging backend (returns multiple errors because there could be multiple backends) CloseLogging() []error // For Vault // Return the custom CA PEM file for the configured Vault ReadVaultCA() ([]byte, error) // Store the custom CA PEM file for the configured Vault WriteVaultCA([]byte) error }
This is the interface for the armory's storage backends. It features discrete functions for reading and writing the different kinds of files that we would need from the storage backend. This shifts the need to remember the paths for each type of file onto the storage provider as opposed to having a single read or write file function where a path or other specifier would have to be supplied by the caller.