Documentation ¶
Overview ¶
Package localpackages implements the local storage for packages managed by the ConfigurePackage plugin.
Package localpackages implements the local storage for packages managed by the ConfigurePackage plugin.
Package localpackages implements the local storage for packages managed by the ConfigurePackage plugin.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DownloadDelegate ¶
DownloadDelegate is a function that downloads a package to a directory provided by the repository
type FileSysDep ¶
type FileSysDep interface { MakeDirExecute(destinationDir string) (err error) GetDirectoryNames(srcPath string) (directories []string, err error) GetFileNames(srcPath string) (files []string, err error) Exists(filePath string) bool RemoveAll(path string) error ReadFile(filename string) ([]byte, error) WriteFile(filename string, content string) error }
dependency on filesystem and os utility functions
type InstallState ¶
type InstallState uint
InstallState is an enum describing the installation state of a package
const ( None InstallState = iota // Package version not present in repository Unknown InstallState = iota // Present in repository but no state information or corrupt state Failed InstallState = iota // Installation of the package version was attempted but failed Uninstalling InstallState = iota // Package version being uninstalled version but not yet uninstalled Uninstalled InstallState = iota // Successfully uninstalled version of a package (but not yet deleted) New InstallState = iota // Present in the repository but not yet installed Upgrading InstallState = iota // Uninstalling previous version Installing InstallState = iota // Package version being installed but not yet installed Installed InstallState = iota // Successfully installed / updated version of a package RollbackUninstall InstallState = iota // Uninstalling as part of rollback RollbackInstall InstallState = iota // Installing as part of rollback Updating InstallState = iota // Package version being updated but the update script is not yet executed )
NOTE: Do not change the order of this enum - the numeric value is serialized as package state and must deserialize to the same value
func (InstallState) String ¶
func (state InstallState) String() string
String returns the string representation of the InstallState
type PackageInstallState ¶
type PackageInstallState struct { Name string `json:"name"` Version string `json:"version"` State InstallState `json:"state"` Time time.Time `json:"time"` LastInstalledVersion string `json:"lastinstalledversion"` RetryCount int `json:"retrycount"` }
PackageInstallState represents the json structure of the current package state
type PackageManifest ¶
type PackageManifest struct { Name string `json:"name"` Platform string `json:"platform"` Architecture string `json:"architecture"` Version string `json:"version"` AppName string `json:"appname"` // optional inventory attribute AppPublisher string `json:"apppublisher"` // optional inventory attribute AppReferenceURL string `json:"appreferenceurl"` // optional inventory attribute AppType string `json:"apptype"` // optional inventory attribute }
PackageManifest represents json structure of package's online configuration file.
type Repository ¶
type Repository interface { GetInstalledVersion(tracer trace.Tracer, packageArn string) string ValidatePackage(tracer trace.Tracer, packageArn string, version string) error RefreshPackage(tracer trace.Tracer, packageArn string, version string, packageServiceName string, downloader DownloadDelegate) error AddPackage(tracer trace.Tracer, packageArn string, version string, packageServiceName string, downloader DownloadDelegate) error SetInstallState(tracer trace.Tracer, packageArn string, version string, state InstallState) error GetInstallState(tracer trace.Tracer, packageArn string) (state InstallState, version string) RemovePackage(tracer trace.Tracer, packageArn string, version string) error GetInventoryData(log log.T) []model.ApplicationData GetInstaller(tracer trace.Tracer, configuration contracts.Configuration, packageArn string, version string, additionalArguments string) installer.Installer LockPackage(tracer trace.Tracer, packageArn string, action string) error UnlockPackage(tracer trace.Tracer, packageArn string) ReadManifest(packageArn string, packageVersion string) ([]byte, error) WriteManifest(packageArn string, packageVersion string, content []byte) error DeleteManifest(packageArn string, packageVersion string) error ReadManifestHash(packageArn string, documentVersion string) ([]byte, error) WriteManifestHash(packageArn string, documentVersion string, content []byte) error LoadTraces(tracer trace.Tracer, packageArn string) error PersistTraces(tracer trace.Tracer, packageArn string) error }
Repository represents local storage for packages managed by configurePackage Different formats for different versions are managed within the Repository abstraction
func NewRepository ¶
func NewRepository() Repository
NewRepository is the factory method for the package repository with default file system dependencies