Skip to content

Commit 4131a2b

Browse files
Elaborate about controller code generation tags
1 parent f951b50 commit 4131a2b

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

README.md

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,21 @@ See examples of using the libraries directly below:
5959
- [config libraries](https://godoc.org/github.com/kubernetes-sigs/kubebuilder/pkg/config)
6060
- [signals libraries](https://godoc.org/github.com/kubernetes-sigs/kubebuilder/pkg/signals)
6161

62-
Kubebuilder code generation tags can be found here:
62+
Kubebuilder generates codes for custom resource fields, and controller components such as watchers and informers. You have to add code generation tags in form of comment directives to initiate the code generation:
6363

6464
- [resource code generation tags](https://godoc.org/github.com/kubernetes-sigs/kubebuilder/pkg/gen/apis)
65-
- [controllers code generation tags](https://godoc.org/github.com/kubernetes-sigs/kubebuilder/pkg/gen/controller)
65+
- [controller code generation tags](https://godoc.org/github.com/kubernetes-sigs/kubebuilder/pkg/gen/controller)
66+
67+
68+
For example, you have to add controller code generation tags such as `+rbac` and `+informers` in `pkg/controller/foo/controller.go` file:
69+
```
70+
// +controller:group=foo,version=v1beta1,kind=Bar,resource=bars
71+
// +rbac:groups=apps,resources=deployments,verbs=get;list;watch;create;update;patch;delete
72+
// +informers:group=apps,version=v1,kind=Deployment
73+
// +rbac:groups="",resources=pods,verbs=get;watch;list
74+
// +informers:group=core,version=v1,kind=Pod
75+
type FooController struct{}
76+
```
6677

6778
## Motivation
6879

0 commit comments

Comments
 (0)