This repository contains both code and crossplane compositions and definitions
generated via crossbuilder
, an opensource crossplane compiler.
If an API is marked (definition only)
, check the [crossplane-examples] repo
- xaws.crossplane.giantswarm.io
May offer wrapper compositions to provide multi-component compositions.
- [RCCWithRegionLookup]
- [RdsCacheCluster]
- xcache.crossplane.giantswarm.io
An API group for working with cache clusters
- CacheBase A base composition for building cache clusters
- xdatabase.crossplane.giantswarm.io
An API group for working with databases
- RdsBase A base composition for building RDS Databases.
- xnetworks.crossplane.giantswarm.io
- PeeredVpcNetwork Build a VPC with optional n-dimensional VPC peering
- SubnetSet Create Sets of subnets which logically belong together across n subnets
- VpcNetwork (definition only) [deprecated] Use PeeredVpcNetwork instead
To build the go
code into consumable YAML, the fork of crossbuilder
found
at mproffitt/crossbuilder is
required.
Clone the crossbuilder repo first and run docker build . -t xrdtools
inside it
Next, enter the directory you need to build compositions for.
In this example we will use xnetworks.
cd
to this location and execute the following command
docker run -v $(pwd):/crossbuilder/apis:rw xrdtools
You do not need to give a command to docker, just the name of the container.
This will run go generate ./...
and then build any/all compositions under
compositions folder by first compiling the xrc-gen
command
and executing it which will in turn build any/all compositions as plugins and
execute them to generate the manifests.
Output from this command is written to the package
folder.
$ cd crossplane.giantswarm.io/xnetworks/
$ docker run -v $(pwd):/crossbuilder/apis:rw xrdtools
go: downloading sigs.k8s.io/controller-tools v0.15.0
... <TRUNCATED>
copying go.mod and go.sum
generating definitions
generating compositions
/crossbuilder/apis
=====================================
2024/07/21 12:58:54 compiled plugin plugins/peeredvpc.so
2024/07/21 12:58:57 compiled plugin plugins/subnetsets.so
step: network-discovery
step: function-kcl-subnet-bits
step: function-cidr
step: function-kcl-create-resources
step: function-kcl-patch-xr
step: patch-and-transform
step: function-auto-ready
step: function-kcl-create-resources
step: function-auto-ready