/crossbuilder

Like Kubebuilder but for Crossplane

Primary LanguageGoApache License 2.0Apache-2.0

Crossbuilder

Crossbuilder is a tool that allows the generation of Crossplane XRDs and composition from go code.

XRD Generation

Crossbuilder's xrd-gen wraps around Kubebuilder and controller-gen but instead of generating CRDs (Custom Resource Definitions) it generates XRDs (Composite Resource Definitions) that are part of the Crossplane ecosystem.

Crossbuilder has every feature that Kubebuilder's CRD generator provides plus the ability to define XRD specific fields.

Take a look at the xrd-gen examples for more details.

Composition Generation

Crossbuilder provides a toolkit that allows building compositions from Go and write them out as YAML.

Since go is a statically typed language, Crossbuilder is able to perform additional validation checks, such as patch path validation, that is a common cause of errors when writing Crossplane compositions.

See the composition-gen examples to learn how to use it.