Documentation
¶
Overview ¶
Package plugin provides tools for managing rotation, disablement, and storage plugins. It provides tooling for managing plugin instantiation and caching of instatiated plugins.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Builder ¶
Builder is the interface that the registered plugins will implement. It simply provides a means for constructing the plugin.
type Instance ¶
type Instance interface {
// Name is the descriptive name of the plugin used in logging messages.
Name() string
}
Instance is the interface that all constructed plugins must implement. Presumably, they will also implement rotate.Client and/or rotate.Storage and/or disable.Client as well.
type InstanceList ¶
InstanceList maps strings to constructed instances.
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager provides a mechanism for building plugis lazily and caching them. Plugins returned by the methods of this object will be constructed the first the first time they are requested. Every subsequent call will return the cached value.
func NewManager ¶
func NewManager(plugins config.PluginList) *Manager
NewManager returns a Manager object for the given configuration.
func (*Manager) Instance ¶
Instance first checks to see if the named plugin has already been built and cached. If so, it short-circuits the build process and returns the cached copy. If not, it looks up the configuration for the named plugin and then calls the Build() function to build it. It caches the instance and returns it.
If no plugin with the given name can be found it will return a nil instance and an error.
If an error occurs building the plugin, it will return an nil instance and an error.
Directories
¶
| Path | Synopsis |
|---|---|
|
aws
|
|
|
iam/user/access
Package iam provides a plugin which implements both the rotate.Client and the disable.Client and is used to rotate IAM AWS user accounts and disable inactive access keys associated with those accounts.
|
Package iam provides a plugin which implements both the rotate.Client and the disable.Client and is used to rotate IAM AWS user accounts and disable inactive access keys associated with those accounts. |
|
circleci
|
|
|
project/env
Package circleci provides a plugin that implemetns the rotate.Storage interface for storing keys in CircleCI environment variables.
|
Package circleci provides a plugin that implemetns the rotate.Storage interface for storing keys in CircleCI environment variables. |
|
github
|
|
|
action/secret
Package github provides a plugin that implements the rotate.Storage interface to store the results of password rotation into the action secret store of a github project.
|
Package github provides a plugin that implements the rotate.Storage interface to store the results of password rotation into the action secret store of a github project. |