Documentation ¶
Overview ¶
Package asset defines the asset dependencies and implements the graph engine.
Index ¶
- func GenerateUserProvidedAsset(inputName string, question *survey.Question, envVarName string) (string, error)
- func GenerateUserProvidedAssetForPath(inputName string, question *survey.Question, envVarName, pathEnvVarName string) (string, error)
- func PersistToFile(asset WritableAsset, directory string) error
- type Asset
- type Content
- type File
- type FileFetcher
- type Parents
- type State
- type Store
- type StoreImpl
- type WritableAsset
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GenerateUserProvidedAsset ¶ added in v0.2.0
func GenerateUserProvidedAsset(inputName string, question *survey.Question, envVarName string) (string, error)
GenerateUserProvidedAsset queries for input from the user.
func GenerateUserProvidedAssetForPath ¶ added in v0.2.0
func GenerateUserProvidedAssetForPath(inputName string, question *survey.Question, envVarName, pathEnvVarName string) (string, error)
GenerateUserProvidedAssetForPath queries for input from the user. The input can be read from a file specified in an environment variable.
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 // Save dumps the entire state map into a file Save(dir string) error // Purge deletes the on-disk assets that are consumed already. // E.g., install-config.yml will be deleted after fetching 'manifests'. Purge(excluded []WritableAsset) 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) Fetch ¶
Fetch retrieves the state of the given asset, generating it and its dependencies if necessary.
func (*StoreImpl) IsAssetInState ¶ added in v0.3.0
IsAssetInState tests whether the asset is in the state file.
func (*StoreImpl) LoadAssetFromState ¶ added in v0.3.0
LoadAssetFromState renders the asset object arguments from the state file contents.
func (*StoreImpl) Purge ¶ added in v0.3.0
func (s *StoreImpl) Purge(excluded []WritableAsset) error
Purge deletes the on-disk assets that are consumed already. E.g., install-config.yml will be deleted after fetching 'manifests'. The target assets are excluded.
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.
Source Files ¶
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. |
bootstrap/content
Package content contains the contents of files and systemd units to be added to bootstrap Ignition configs.
|
Package content contains the contents of files and systemd units to be added to bootstrap Ignition configs. |
Package installconfig generates the install config assets based on its dependencies.
|
Package installconfig generates the install config assets based on its dependencies. |
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 tls defines and generates the tls assets based on its dependencies.
|
Package tls defines and generates the tls assets based on its dependencies. |