Documentation
¶
Overview ¶
Package asset defines the asset dependencies and implements the graph engine.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func PersistToFile ¶ added in v0.2.0
func PersistToFile(asset WritableAsset, directory string) error
PersistToFile writes all of the files of the specified asset into the specified directory.
Types ¶
type Asset ¶
type Asset interface {
// Dependencies returns the assets upon which this asset directly depends.
Dependencies() []Asset
// Generate generates this asset given the states of its parent assets.
Generate(Parents) error
// Name returns the human-friendly name of the asset.
Name() string
}
Asset used to install OpenShift.
type File ¶ added in v0.2.0
type File struct {
// Filename is the name of the file.
Filename string
// Data is the contents of the file.
Data []byte
}
File is a file for an Asset.
type FileFetcher ¶ added in v0.3.0
type FileFetcher interface {
// FetchByName returns the file with the given name.
FetchByName(string) (*File, error)
// FetchByPattern returns the files whose name match the given glob.
FetchByPattern(pattern string) ([]*File, error)
}
FileFetcher fetches the asset files from disk.
type Parents ¶ added in v0.2.0
Parents is the collection of assets upon which another asset is directly dependent.
type State ¶
type State struct {
Contents []Content
}
State is the state of an Asset.
func (*State) PersistToFile ¶
PersistToFile persists the data in the State to files. Each Content entry that has a non-empty Name will be persisted to a file with that name.
type Store ¶
type Store interface {
// Fetch retrieves the state of the given asset, generating it and its
// dependencies if necessary.
Fetch(Asset) error
// Destroy removes the asset from all its internal state and also from
// disk if possible.
Destroy(Asset) error
// DestroyState removes everything from the internal state and the internal
// state file
DestroyState() error
}
Store is a store for the states of assets.
type StoreImpl ¶
type StoreImpl struct {
// contains filtered or unexported fields
}
StoreImpl is the implementation of Store.
func (*StoreImpl) Destroy ¶ added in v0.4.0
Destroy removes the asset from all its internal state and also from disk if possible.
func (*StoreImpl) DestroyState ¶ added in v0.10.1
DestroyState removes the state file from disk
type WritableAsset ¶ added in v0.2.0
type WritableAsset interface {
Asset
// Files returns the files to write.
Files() []*File
// Load returns the on-disk asset if it exists.
// The asset object should be changed only when it's loaded successfully.
Load(FileFetcher) (found bool, err error)
}
WritableAsset is an Asset that has files that can be written to disk. It can also be loaded from disk.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package cluster contains asset targets that generates the terraform file, prepare the infra, and bootstrap the cluster.
|
Package cluster contains asset targets that generates the terraform file, prepare the infra, and bootstrap the cluster. |
|
aws
Package aws extracts AWS metadata from install configurations.
|
Package aws extracts AWS metadata from install configurations. |
|
libvirt
Package libvirt extracts libvirt metadata from install configurations.
|
Package libvirt extracts libvirt metadata from install configurations. |
|
openstack
Package openstack extracts OpenStack metadata from install configurations.
|
Package openstack extracts OpenStack metadata from install configurations. |
|
Package installconfig generates the install config assets based on its dependencies.
|
Package installconfig generates the install config assets based on its dependencies. |
|
aws
Package aws collects AWS-specific configuration.
|
Package aws collects AWS-specific configuration. |
|
libvirt
Package libvirt collects libvirt-specific configuration.
|
Package libvirt collects libvirt-specific configuration. |
|
openstack
Package openstack collects OpenStack-specific configuration.
|
Package openstack collects OpenStack-specific configuration. |
|
Package kubeconfig defines and generates the kubeconfig assets.
|
Package kubeconfig defines and generates the kubeconfig assets. |
|
Package machines is responsible for creating Machine objects for machinepools.
|
Package machines is responsible for creating Machine objects for machinepools. |
|
aws
Package aws generates Machine objects for aws.
|
Package aws generates Machine objects for aws. |
|
libvirt
Package libvirt generates Machine objects for libvirt.
|
Package libvirt generates Machine objects for libvirt. |
|
openstack
Package openstack generates Machine objects for openstack.
|
Package openstack generates Machine objects for openstack. |
|
Package manifests deals with creating manifests for all manifests to be installed for the cluster
|
Package manifests deals with creating manifests for all manifests to be installed for the cluster |
|
Package mock is a generated GoMock package.
|
Package mock is a generated GoMock package. |
|
Package rhcos contains assets for RHCOS.
|
Package rhcos contains assets for RHCOS. |
|
Package templates deals with creating template assets that will be used by other assets
|
Package templates deals with creating template assets that will be used by other assets |
|
Package tls defines and generates the tls assets based on its dependencies.
|
Package tls defines and generates the tls assets based on its dependencies. |