Documentation
¶
Index ¶
- Constants
- func AppendRef(name, ref string) string
- func DefaultCachePath() string
- func VerifyPackExists(cfg *PackConfig, errCtx *errors.UIErrorContext, logger logging.Logger) (err error)
- type AddOpts
- type Cache
- func (c *Cache) Add(opts *AddOpts) (cachedRegistry *Registry, err error)
- func (c *Cache) Delete(opts *DeleteOpts) (err error)
- func (c *Cache) Get(opts *GetOpts) (registry *Registry, err error)
- func (c *Cache) Load() (err error)
- func (c *Cache) Packs() (packs []*Pack)
- func (c *Cache) Registries() []*Registry
- type CacheConfig
- type DeleteOpts
- func (opts *DeleteOpts) AtRef() string
- func (opts *DeleteOpts) ForPackName() string
- func (opts *DeleteOpts) IsLatest() bool
- func (opts *DeleteOpts) IsTarget(dirEntry os.DirEntry) bool
- func (opts *DeleteOpts) PackDir() string
- func (opts *DeleteOpts) PackPath() (packPath string)
- func (opts *DeleteOpts) RegistryPath() string
- type GetOpts
- type Pack
- type PackConfig
- type Registry
Constants ¶
const ( DefaultRegistryName = "default" DefaultRegistrySource = "github.com/hashicorp/nomad-pack-community-registry" DefaultRef = "latest" DevRegistryName = "dev" DevRef = "dev" )
Variables ¶
This section is empty.
Functions ¶
func DefaultCachePath ¶
func DefaultCachePath() string
DefaultCachePath returns the default cache path.
func VerifyPackExists ¶
func VerifyPackExists(cfg *PackConfig, errCtx *errors.UIErrorContext, logger logging.Logger) (err error)
VerifyPackExists verifies that a pack exists at the specified path.
Types ¶
type AddOpts ¶
type AddOpts struct {
// Required name for the registry. Used when managing a registry by a user defined name.
RegistryName string
// The well known location of a registry. Used when adding a registry. URL
// or file directory currently supported.
Source string
// Optional target pack. Used when managing a specific pack within a registry.
PackName string
// Optional ref of pack or registry at which to add. Ignored it not
// specifying a git source. Defaults to latest.
Ref string
// Optional username for basic auth to a registry that requires authentication.
Username string
// Optional password for basic auth to a registry that requires authentication.
Password string
// contains filtered or unexported fields
}
AddOpts are the arguments that are required to add a registry or pack to the cache.
func (*AddOpts) ForPackName ¶
ForPackName fulfills the cacheOperationProvider interface for AddOpts
func (*AddOpts) RegistryPath ¶
RegistryPath fulfills the cacheOperationProvider interface for AddOpts
type Cache ¶
type Cache struct {
// ErrorContext stores any errors that were encountered along the way so that
// error handling can be dealt with in one place.
ErrorContext *errors.ErrorContext
// contains filtered or unexported fields
}
Cache encapsulates the state and functionality of a Cache of registries
func NewCache ¶
func NewCache(cfg *CacheConfig) (cache *Cache, err error)
NewCache instantiates a new cache instance with the specified config. If no config is provided, the cache is initialized with default configuration.
func (*Cache) Delete ¶
func (c *Cache) Delete(opts *DeleteOpts) (err error)
Delete deletes a registry from the specified global cache directory. If the name includes a @ref component, only packs matching that ref will be deleted. If a target is specified, only packs matching that target will be deleted. Ref and target are additive.
func (*Cache) Load ¶
Load loads a list of registries from a cache path. It assumes each directory in the specified path cache is a registry.
func (*Cache) Registries ¶
Registries is an accessor for the cached registries contain within the cache instance.
type CacheConfig ¶
CacheConfig encapsulates the configuration options for a cache instance.
type DeleteOpts ¶
type DeleteOpts struct {
// Name or alias of the registry the delete operation will be performed against.
RegistryName string
// Optional pack name to delete when deleting a specific pack from the cache.
PackName string
// Optional ref of pack or registry at which to delete. Ignored it not
// specifying a git source. Defaults to latest.
Ref string
// contains filtered or unexported fields
}
DeleteOpts are the arguments that are required to delete a registry or pack from the cache.
func (*DeleteOpts) AtRef ¶
func (opts *DeleteOpts) AtRef() string
AtRevision fulfills the cacheOperationProvider interface for DeleteOpts
func (*DeleteOpts) ForPackName ¶
func (opts *DeleteOpts) ForPackName() string
ForPackName fulfills the cacheOperationProvider interface for DeleteOpts
func (*DeleteOpts) IsLatest ¶
func (opts *DeleteOpts) IsLatest() bool
IsLatest fulfills the RegistryOptsProviderInterface for DeleteOpts
func (*DeleteOpts) IsTarget ¶
func (opts *DeleteOpts) IsTarget(dirEntry os.DirEntry) bool
IsTarget fulfills the RegistryOptsProviderInterface for DeleteOpts
func (*DeleteOpts) PackDir ¶
func (opts *DeleteOpts) PackDir() string
PackDir fulfills the cacheOperationProvider interface for DeleteOpts
func (*DeleteOpts) PackPath ¶
func (opts *DeleteOpts) PackPath() (packPath string)
PackPath fulfills the cacheOperationProvider interface for DeleteOpts
func (*DeleteOpts) RegistryPath ¶
func (opts *DeleteOpts) RegistryPath() string
RegistryPath fulfills the cacheOperationProvider interface for DeleteOpts
type GetOpts ¶
type GetOpts struct {
// Optional Name or alias of the registry the get operation will be performed
//against.
RegistryName string
// Optional name of pack to get from cache
PackName string
// Optional ref ov pack or registry to get from the cache.
Ref string
// contains filtered or unexported fields
}
GetOpts are the arguments are required to get a registry or pack from the cache.
func (*GetOpts) ForPackName ¶
ForPackName fulfills the cacheOperationProvider interface for GetOpts
func (*GetOpts) RegistryPath ¶
RegistryPath fulfills the cacheOperationProvider interface for GetOpts
type Pack ¶
Pack wraps a pack.Pack add adds the local cache ref. Useful for showing the registry in the global cache differentiated from the pack metadata.
type PackConfig ¶
PackConfig represents the common configuration required by all packs. Used primarily by the cli package but should
func (*PackConfig) Init ¶
func (cfg *PackConfig) Init()