# Functions

AlterComponents provides a mechanism to alter the component.Objs from outside the repository module.
InjectRepository allows to override the repository implementation to use; by default, the repository implementation to use is created according to the repository URL.
InjectYamlProcessor allows you to override the yaml processor that the repository client uses.
MergeTemplates merges the provided Templates into one Template.
New returns a Client.
NewComponents returns a new objects embedding a component YAML file It is important to notice that clusterctl applies a set of processing steps to the “raw” component YAML read from the provider repositories: 1.
NewGitHubRepository returns a gitHubRepository implementation.
NewGitLabRepository returns a gitLabRepository implementation.
NewMemoryRepository returns a new MemoryRepository instance.
NewTemplate returns a new objects embedding a cluster template YAML file.

# Structs

ClusterClassClientInput is an input struct for newClusterClassClient.
ComponentsInput represents all the inputs required by NewComponents.
ComponentsOptions represents specific inputs that are passed in to clusterctl library.
MemoryRepository contains an instance of the repository data.
TemplateClientInput is an input strict for newTemplateClient.
TemplateInput is an input struct for NewTemplate.

# Interfaces

Client is used to interact with provider repositories.
ClusterClassClient has methods to work with cluster class templates hosted on a provider repository.
Components wraps a YAML file that defines the provider components to be installed in a management cluster (CRD, Controller, RBAC etc.) It is important to notice that clusterctl applies a set of processing steps to the “raw” component YAML read from the provider repositories: 1.
ComponentsClient has methods to work with yaml file for generating provider components.
MetadataClient has methods to work with metadata hosted on a provider repository.
Overrider provides behavior to determine the overrides layer.
Repository defines the behavior of a repository implementation.
Template wraps a YAML file that defines the cluster objects (Cluster, Machines etc.).
TemplateClient has methods to work with cluster templates hosted on a provider repository.

# Type aliases

ComponentsAlterFn defines the function that is used to alter the components.Objs().
Option is a configuration option supplied to New.