Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Project ¶
type Project struct { // snapshots will be built from the set of API Groups contained here. // map key should be the name of the go module containing the API Group. // for API Groups defined in the local repository, the go module should be left as empty string "" SnapshotApiGroups map[string][]model.Group // The set of components to be generated for this Project TopLevelComponents []TopLevelComponent }
encapsulates the top level templates command for the entire project
func (Project) TopLevelTemplates ¶
func (p Project) TopLevelTemplates() []model.CustomTemplates
Build the top level templates for the project
type TopLevelComponent ¶
type TopLevelComponent struct { // path where the generated top-level component's code will be placed. // input snapshots will live in <GeneratedCodeRoot>/input/snapshot.go // input reconcilers will live in <GeneratedCodeRoot>/input/reconciler.go // output snapshots will live in <GeneratedCodeRoot>/output/snapshot.go GeneratedCodeRoot string // the set of input resources for which to generate a snapshot and reconciler // local inptus are read from the local cluster where the controller runs LocalInputResources io.Snapshot // remote inptus are read from managed cluster registered to the controller cluster RemoteInputResources io.Snapshot // name of the local snapshot, if the component is hybrid. defaults to Local LocalSnapshotName string // name of the remote snapshot, if the component is hybrid. defaults to Remote RemoteSnapshotName string // if this component can run in agent mode, generate a homogenous reconciler which combines both the local and remote resources AgentMode bool // the set of output resources for which to generate a snapshot OutputResources []io.OutputSnapshot }
generates an input snapshot, input reconciler, and output snapshot for each top-level component. top-level components are defined by mapping a given set of inputs to outputs.
func (TopLevelComponent) MakeCodegenTemplates ¶
func (t TopLevelComponent) MakeCodegenTemplates(snapshotApiGroups map[string][]model.Group) []model.CustomTemplates
Click to show internal directories.
Click to hide internal directories.