Skip to content

Commit a4ff5f4

Browse files
author
Phillip Wittrock
authored
Merge pull request #45 from crimsonfaith91/patch-2
Elaborate about controller code generation tags
2 parents f951b50 + 4131a2b commit a4ff5f4

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)