背景
使用kubebuilder进行crd开发的时候,往往需要添加一些marker,但是往往记不住,所以这里简单记录一下
简单记录
https://github.com/kubernetes-sigs/controller-tools的pkg/crd/markers/crd.go中
var CRDMarkers = []*definitionWithHelp{
// TODO(directxman12): more detailed help
must(markers.MakeDefinition("kubebuilder:subresource:status", markers.DescribesType, SubresourceStatus{})).
WithHelp(SubresourceStatus{}.Help()),
must(markers.MakeDefinition("kubebuilder:subresource:scale", markers.DescribesType, SubresourceScale{})).
WithHelp(SubresourceScale{}.Help()),
must(markers.MakeDefinition("kubebuilder:printcolumn", markers.DescribesType, PrintColumn{})).
WithHelp(PrintColumn{}.Help()),
must(markers.MakeDefinition("kubebuilder:resource", markers.DescribesType, Resource{})).
WithHelp(Resource{}.Help()),
must(markers.MakeDefinition("kubebuilder:storageversion", markers.DescribesType, StorageVersion{})).
WithHelp(StorageVersion{}.Help()),
must(markers.MakeDefinition("kubebuilder:skipversion", markers.DescribesType, SkipVersion{})).
WithHelp(SkipVersion{}.Help()),
must(markers.MakeDefinition("kubebuilder:unservedversion", markers.DescribesType, UnservedVersion{})).
WithHelp(UnservedVersion{}.Help()),
must(markers.MakeDefinition("kubebuilder:deprecatedversion", markers.DescribesType, DeprecatedVersion{})).
WithHelp(DeprecatedVersion{}.Help()),
must(markers.MakeDefinition("kubebuilder:metadata", markers.DescribesType, Metadata{})).
WithHelp(Metadata{}.Help()),
must(markers.MakeDefinition("kubebuilder:selectablefield", markers.DescribesType, SelectableField{})).
WithHelp(SelectableField{}.Help()),
}