controller-tools
controller-tools copied to clipboard
Tools to use with the controller-runtime libraries
First, want to say thanks for the great work on the controller-tools repo. It's generally awesome. :) I work on a project (github.com/aws/aws-controllers-k8s) that makes heavy use of `controller-gen` to...
When generating schemas that reference external types, sometimes it is helpful to be able to avoid setting 'default' markers for fields within the type's schema. As noted in https://github.com/kubernetes/kubernetes/issues/95587 -...
Upstream introduced the use of empty groupName markers in kubernetes/kubernetes#125162. This breaks groupName parsing because its field is non-optional. Add an additional `mustOptional` function that takes anonymous field definitions and...
Fixes #997 This PR ensures XValidations are merged correctly when flattening the CRD schema.
When the `XValidation` marker is used on both a field and the type for that field the generated CRD is invalid because it tries to use an `allOf` property to...
Currently (v0.5.0) the `+kubebuilder:webhook` marker does not support setting an `objectSelector` on a webhook. `objectSelector` is especially handy when mutating or validating core types. For example, I want to be...
## Summary If Go type of a CRD has a field that uses `+listType` or `+listMapKey` markers, but the field (struct member) is a typedef to a slice type, the...
Tool Versions CONTROLLER_TOOLS_VERSION ?= v0.15.0 This is my currect CRD definition structure, ``` // RateLimitConfigSpec defines the desired state of RateLimitConfig type RateLimitConfigSpec struct { // INSERT ADDITIONAL SPEC FIELDS...
Hello, I added a custom field to the condition field of my CRD that looks like the following: ``` type CrCondition struct { // Ignore standard fields Metadata *ConditionMetadata `json:"metadata,omitempty"`...
This adds a new field marker `+kubebuilder:skip` that allows explicitly ignoring properties during schema generation but keeping them in the Go struct for JSON marshalling at the same time.