kubebuilder markers记录

背景

使用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()),
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容