Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mistermx/crossbuilder
Like Kubebuilder but for Crossplane
https://github.com/mistermx/crossbuilder
Last synced: about 1 month ago
JSON representation
Like Kubebuilder but for Crossplane
- Host: GitHub
- URL: https://github.com/mistermx/crossbuilder
- Owner: MisterMX
- License: apache-2.0
- Created: 2022-05-02T15:04:19.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-07-24T14:14:41.000Z (5 months ago)
- Last Synced: 2024-07-24T16:29:02.239Z (5 months ago)
- Language: Go
- Size: 93.8 KB
- Stars: 0
- Watchers: 2
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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](https://github.com/kubernetes-sigs/kubebuilder)
and [controller-gen](https://github.com/kubernetes-sigs/controller-tools) 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](./examples/xrd-gen/apis/generate.go) 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](./examples/composition-gen/cmd/generate/generate.go)
to learn how to use it.