You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by GitBox <gi...@apache.org> on 2022/09/18 06:41:57 UTC

[GitHub] [skywalking-swck] dashanji opened a new pull request, #75: Add the guide to add new CRD and Controller in SWCK

dashanji opened a new pull request, #75:
URL: https://github.com/apache/skywalking-swck/pull/75

   As titled.
   
   FYI
   @SzyWilliam https://github.com/apache/skywalking/issues/9396
   @fgksgf https://github.com/apache/skywalking/issues/8937
   @Superskyyy https://github.com/apache/skywalking/issues/7682
   
   Hope the guide can help your development, good luck!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [skywalking-swck] SzyWilliam commented on a diff in pull request #75: Add the guide to add new CRD and Controller in SWCK

Posted by GitBox <gi...@apache.org>.
SzyWilliam commented on code in PR #75:
URL: https://github.com/apache/skywalking-swck/pull/75#discussion_r973676126


##########
docs/how-to-add-new-crd-and-controller.md:
##########
@@ -0,0 +1,151 @@
+## How to add CRD and Controller in SWCK?
+
+The doc is to help contributors who want to add CRD and Controller in SWCK focus on the coding and reduce the time overhead of configuring kubebuilder.
+
+#### 1. Install the kubebuilder
+
+> Notice, SWCK is built by kubebuilder v3+, so you need to install the kubebuilder after v3.0.0
+
+SWCK is based on the [kubebuilder](https://github.com/kubernetes-sigs/kubebuilder), and you could download the kubebuilder in the [releases](https://github.com/kubernetes-sigs/kubebuilder/releases). 
+
+
+
+#### 2. Create CRD and Controller
+
+Then we can use `kubebuilder create api` to add a new CRD and corresponding controller. There we use the `Demo` as an example, and you should replace it with your CRD.
+
+```sh
+$ cd operator && kubebuilder create api --group operator --version v1alpha1 --kind Demo(Your CRD)
+```
+
+Then you need to input two `y` to create the Resource and Controller, and here are some newly added files.
+
+```sh
+$ git status
+On branch master
+Your branch is up to date with 'origin/master'.
+
+Changes not staged for commit:
+  (use "git add <file>..." to update what will be committed)
+  (use "git restore <file>..." to discard changes in working directory)
+	modified:   PROJECT
+	modified:   apis/operator/v1alpha1/zz_generated.deepcopy.go
+	modified:   config/crd/bases/operator.skywalking.apache.org_swagents.yaml
+	modified:   config/crd/kustomization.yaml
+	modified:   config/rbac/role.yaml
+	modified:   go.mod
+	modified:   go.sum
+	modified:   main.go
+
+Untracked files:
+  (use "git add <file>..." to include in what will be committed)
+	apis/operator/v1alpha1/demo_types.go
+	config/crd/bases/operator.skywalking.apache.org_demoes.yaml
+	config/crd/patches/cainjection_in_operator_demoes.yaml
+	config/crd/patches/webhook_in_operator_demoes.yaml
+	config/rbac/operator_demo_editor_role.yaml
+	config/rbac/operator_demo_viewer_role.yaml
+	config/samples/operator_v1alpha1_demo.yaml
+	controllers/operator/demo_controller.go
+	controllers/operator/suite_test.go
+
+no changes added to commit (use "git add" and/or "git commit -a")
+```
+
+Next, we need to focus on the file `apis/operator/v1alpha1/demo_types.go` which defines your CRD, and the file `controllers/operator/configuration_controller.go` which defines the Controller. The others files are some configurations generated by the [kubebuilder markers](https://book.kubebuilder.io/reference/markers.html). Here are some references:
+
+* [Kubebuilder project demo](https://github.com/kubernetes-sigs/kubebuilder/tree/master/testdata/project-v3), in which you can understand the overall architecture.
+
+* [How to add new-api](https://book.kubebuilder.io/cronjob-tutorial/new-api.html), which you can find more details for `oapserverconfig_types.go`.
+
+* [Controller-overview](https://book.kubebuilder.io/cronjob-tutorial/controller-overview.html), where you can find more details about `oapserverconfig_controller.go`.
+
+At last, the `suite_test.go` can be deleted as we don't need it.
+
+
+
+### 3. Create webhook
+
+If you want to validate the field of your CRD, you need to create the webhook as follows.
+
+```sh
+kubebuilder create webhook --group operator --version v1alpha1 --kind Demo --defaulting --programmatic-validation
+```
+
+Below is the newly generated file.
+
+```sh
+$ git status
+On branch master
+Your branch is ahead of 'origin/master' by 1 commit.
+  (use "git push" to publish your local commits)
+
+Changes not staged for commit:
+  (use "git add <file>..." to update what will be committed)
+  (use "git restore <file>..." to discard changes in working directory)
+	modified:   PROJECT
+	modified:   config/webhook/manifests.yaml
+	modified:   main.go
+
+Untracked files:
+  (use "git add <file>..." to include in what will be committed)
+	apis/operator/v1alpha1/demo_webhook.go
+	apis/operator/v1alpha1/webhook_suite_test.go
+
+no changes added to commit (use "git add" and/or "git commit -a")
+```
+
+You can get more details through [webhook-overview](https://book.kubebuilder.io/reference/webhook-overview.html), and you also need to delete the file `webhook_suite_test.go`.
+
+
+
+### 4. Create the template
+
+Generally, a CRD will be associated with a series of resources, such as [workload](https://kubernetes.io/docs/concepts/workloads/), [rbac](https://kubernetes.io/docs/reference/access-authn-authz/rbac/), [service](https://kubernetes.io/docs/concepts/services-networking/service/), etc. All template files are stored in the `./operator/pkg/operator/manifests`, you could create the directory there such as `demo`, and refer to the CRD templates in other folders to define your own template. What's more, we support defining your own template rendering function by setting up the [TmplFunc](https://github.com/apache/skywalking-swck/blob/master/operator/pkg/kubernetes/apply.go#L49).
+

Review Comment:
   Also, after adding the template, we have to change the comments here https://github.com/apache/skywalking-swck/blob/bf4d1346a9869f67187b9b9202bf14d190728c56/operator/pkg/operator/manifests/repo.go#L31 and add `demo`.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [skywalking-swck] dashanji commented on pull request #75: Add the guide to add new CRD and Controller in SWCK

Posted by GitBox <gi...@apache.org>.
dashanji commented on PR #75:
URL: https://github.com/apache/skywalking-swck/pull/75#issuecomment-1318597499

   Yeah, on my side, I think it's ready.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [skywalking-swck] dashanji commented on pull request #75: Add the guide to add new CRD and Controller in SWCK

Posted by GitBox <gi...@apache.org>.
dashanji commented on PR #75:
URL: https://github.com/apache/skywalking-swck/pull/75#issuecomment-1250222913

   Thanks for the feedback. ❤️


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [skywalking-swck] hanahmily merged pull request #75: Add the guide to add new CRD and Controller in SWCK

Posted by GitBox <gi...@apache.org>.
hanahmily merged PR #75:
URL: https://github.com/apache/skywalking-swck/pull/75


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [skywalking-swck] fgksgf commented on a diff in pull request #75: Add the guide to add new CRD and Controller in SWCK

Posted by GitBox <gi...@apache.org>.
fgksgf commented on code in PR #75:
URL: https://github.com/apache/skywalking-swck/pull/75#discussion_r973672805


##########
docs/how-to-add-new-crd-and-controller.md:
##########
@@ -0,0 +1,151 @@
+## How to add CRD and Controller in SWCK?
+
+The doc is to help contributors who want to add CRD and Controller in SWCK focus on the coding and reduce the time overhead of configuring kubebuilder.
+
+#### 1. Install the kubebuilder
+
+> Notice, SWCK is built by kubebuilder v3+, so you need to install the kubebuilder after v3.0.0
+
+SWCK is based on the [kubebuilder](https://github.com/kubernetes-sigs/kubebuilder), and you could download the kubebuilder in the [releases](https://github.com/kubernetes-sigs/kubebuilder/releases). 
+
+
+
+#### 2. Create CRD and Controller
+
+Then we can use `kubebuilder create api` to add a new CRD and corresponding controller. There we use the `Demo` as an example, and you should replace it with your CRD.
+
+```sh
+$ cd operator && kubebuilder create api --group operator --version v1alpha1 --kind Demo(Your CRD)
+```
+
+Then you need to input two `y` to create the Resource and Controller, and here are some newly added files.

Review Comment:
   ```suggestion
   Then you need to input `y` twice to create the Resource and Controller, and there will be some newly added files.
   ```



##########
docs/how-to-add-new-crd-and-controller.md:
##########
@@ -0,0 +1,151 @@
+## How to add CRD and Controller in SWCK?
+
+The doc is to help contributors who want to add CRD and Controller in SWCK focus on the coding and reduce the time overhead of configuring kubebuilder.
+
+#### 1. Install the kubebuilder
+
+> Notice, SWCK is built by kubebuilder v3+, so you need to install the kubebuilder after v3.0.0
+
+SWCK is based on the [kubebuilder](https://github.com/kubernetes-sigs/kubebuilder), and you could download the kubebuilder in the [releases](https://github.com/kubernetes-sigs/kubebuilder/releases). 
+
+
+
+#### 2. Create CRD and Controller
+
+Then we can use `kubebuilder create api` to add a new CRD and corresponding controller. There we use the `Demo` as an example, and you should replace it with your CRD.

Review Comment:
   ```suggestion
   Then we can use `kubebuilder create api` to add a new CRD and corresponding controller. Here we use the `Demo` as an example, and you should replace it with your CRD.
   ```



##########
docs/how-to-add-new-crd-and-controller.md:
##########
@@ -0,0 +1,151 @@
+## How to add CRD and Controller in SWCK?
+
+The doc is to help contributors who want to add CRD and Controller in SWCK focus on the coding and reduce the time overhead of configuring kubebuilder.
+
+#### 1. Install the kubebuilder
+
+> Notice, SWCK is built by kubebuilder v3+, so you need to install the kubebuilder after v3.0.0
+
+SWCK is based on the [kubebuilder](https://github.com/kubernetes-sigs/kubebuilder), and you could download the kubebuilder in the [releases](https://github.com/kubernetes-sigs/kubebuilder/releases). 
+
+
+
+#### 2. Create CRD and Controller
+
+Then we can use `kubebuilder create api` to add a new CRD and corresponding controller. There we use the `Demo` as an example, and you should replace it with your CRD.
+
+```sh
+$ cd operator && kubebuilder create api --group operator --version v1alpha1 --kind Demo(Your CRD)
+```
+
+Then you need to input two `y` to create the Resource and Controller, and here are some newly added files.
+
+```sh
+$ git status
+On branch master
+Your branch is up to date with 'origin/master'.
+
+Changes not staged for commit:
+  (use "git add <file>..." to update what will be committed)
+  (use "git restore <file>..." to discard changes in working directory)
+	modified:   PROJECT
+	modified:   apis/operator/v1alpha1/zz_generated.deepcopy.go
+	modified:   config/crd/bases/operator.skywalking.apache.org_swagents.yaml
+	modified:   config/crd/kustomization.yaml
+	modified:   config/rbac/role.yaml
+	modified:   go.mod
+	modified:   go.sum
+	modified:   main.go
+
+Untracked files:
+  (use "git add <file>..." to include in what will be committed)
+	apis/operator/v1alpha1/demo_types.go
+	config/crd/bases/operator.skywalking.apache.org_demoes.yaml
+	config/crd/patches/cainjection_in_operator_demoes.yaml
+	config/crd/patches/webhook_in_operator_demoes.yaml
+	config/rbac/operator_demo_editor_role.yaml
+	config/rbac/operator_demo_viewer_role.yaml
+	config/samples/operator_v1alpha1_demo.yaml
+	controllers/operator/demo_controller.go
+	controllers/operator/suite_test.go
+
+no changes added to commit (use "git add" and/or "git commit -a")
+```
+
+Next, we need to focus on the file `apis/operator/v1alpha1/demo_types.go` which defines your CRD, and the file `controllers/operator/configuration_controller.go` which defines the Controller. The others files are some configurations generated by the [kubebuilder markers](https://book.kubebuilder.io/reference/markers.html). Here are some references:
+
+* [Kubebuilder project demo](https://github.com/kubernetes-sigs/kubebuilder/tree/master/testdata/project-v3), in which you can understand the overall architecture.
+
+* [How to add new-api](https://book.kubebuilder.io/cronjob-tutorial/new-api.html), which you can find more details for `oapserverconfig_types.go`.
+
+* [Controller-overview](https://book.kubebuilder.io/cronjob-tutorial/controller-overview.html), where you can find more details about `oapserverconfig_controller.go`.
+
+At last, the `suite_test.go` can be deleted as we don't need it.
+
+
+
+### 3. Create webhook
+
+If you want to validate the field of your CRD, you need to create the webhook as follows.
+
+```sh
+kubebuilder create webhook --group operator --version v1alpha1 --kind Demo --defaulting --programmatic-validation
+```
+
+Below is the newly generated file.

Review Comment:
   ```suggestion
   The newly generated files are as follows.
   ```



##########
README.md:
##########
@@ -60,7 +60,7 @@ For more details, please refer to [deploy operator](docs/operator.md)
 For more details, please read [Custom metrics adapter](docs/custom-metrics-adapter.md)
 
 # Contributing
-For developers who want to contribute to this project, see [Contribution Guide](CONTRIBUTING.md)
+For developers who want to contribute to this project, see [Contribution Guide](CONTRIBUTING.md). What's more, we have a guide about how to add new crd and controller, see [How to add new CRD and Controller in SWCK](docs/how-to-add-new-crd-and-controller.md).

Review Comment:
   ```suggestion
   For developers who want to contribute to this project, see [Contribution Guide](CONTRIBUTING.md). What's more, we have a guide about how to add new CRDs and controllers, see [How to add new CRD and Controller in SWCK](docs/how-to-add-new-crd-and-controller.md).
   ```



##########
docs/how-to-add-new-crd-and-controller.md:
##########
@@ -0,0 +1,151 @@
+## How to add CRD and Controller in SWCK?
+
+The doc is to help contributors who want to add CRD and Controller in SWCK focus on the coding and reduce the time overhead of configuring kubebuilder.
+
+#### 1. Install the kubebuilder
+
+> Notice, SWCK is built by kubebuilder v3+, so you need to install the kubebuilder after v3.0.0
+
+SWCK is based on the [kubebuilder](https://github.com/kubernetes-sigs/kubebuilder), and you could download the kubebuilder in the [releases](https://github.com/kubernetes-sigs/kubebuilder/releases). 
+
+
+
+#### 2. Create CRD and Controller
+
+Then we can use `kubebuilder create api` to add a new CRD and corresponding controller. There we use the `Demo` as an example, and you should replace it with your CRD.
+
+```sh
+$ cd operator && kubebuilder create api --group operator --version v1alpha1 --kind Demo(Your CRD)
+```
+
+Then you need to input two `y` to create the Resource and Controller, and here are some newly added files.
+
+```sh
+$ git status
+On branch master
+Your branch is up to date with 'origin/master'.
+
+Changes not staged for commit:
+  (use "git add <file>..." to update what will be committed)
+  (use "git restore <file>..." to discard changes in working directory)
+	modified:   PROJECT
+	modified:   apis/operator/v1alpha1/zz_generated.deepcopy.go
+	modified:   config/crd/bases/operator.skywalking.apache.org_swagents.yaml
+	modified:   config/crd/kustomization.yaml
+	modified:   config/rbac/role.yaml
+	modified:   go.mod
+	modified:   go.sum
+	modified:   main.go
+
+Untracked files:
+  (use "git add <file>..." to include in what will be committed)
+	apis/operator/v1alpha1/demo_types.go
+	config/crd/bases/operator.skywalking.apache.org_demoes.yaml
+	config/crd/patches/cainjection_in_operator_demoes.yaml
+	config/crd/patches/webhook_in_operator_demoes.yaml
+	config/rbac/operator_demo_editor_role.yaml
+	config/rbac/operator_demo_viewer_role.yaml
+	config/samples/operator_v1alpha1_demo.yaml
+	controllers/operator/demo_controller.go
+	controllers/operator/suite_test.go
+
+no changes added to commit (use "git add" and/or "git commit -a")
+```
+
+Next, we need to focus on the file `apis/operator/v1alpha1/demo_types.go` which defines your CRD, and the file `controllers/operator/configuration_controller.go` which defines the Controller. The others files are some configurations generated by the [kubebuilder markers](https://book.kubebuilder.io/reference/markers.html). Here are some references:
+
+* [Kubebuilder project demo](https://github.com/kubernetes-sigs/kubebuilder/tree/master/testdata/project-v3), in which you can understand the overall architecture.
+
+* [How to add new-api](https://book.kubebuilder.io/cronjob-tutorial/new-api.html), which you can find more details for `oapserverconfig_types.go`.
+
+* [Controller-overview](https://book.kubebuilder.io/cronjob-tutorial/controller-overview.html), where you can find more details about `oapserverconfig_controller.go`.
+
+At last, the `suite_test.go` can be deleted as we don't need it.
+
+
+
+### 3. Create webhook
+
+If you want to validate the field of your CRD, you need to create the webhook as follows.
+
+```sh
+kubebuilder create webhook --group operator --version v1alpha1 --kind Demo --defaulting --programmatic-validation
+```
+
+Below is the newly generated file.
+
+```sh
+$ git status
+On branch master
+Your branch is ahead of 'origin/master' by 1 commit.
+  (use "git push" to publish your local commits)
+
+Changes not staged for commit:
+  (use "git add <file>..." to update what will be committed)
+  (use "git restore <file>..." to discard changes in working directory)
+	modified:   PROJECT
+	modified:   config/webhook/manifests.yaml
+	modified:   main.go
+
+Untracked files:
+  (use "git add <file>..." to include in what will be committed)
+	apis/operator/v1alpha1/demo_webhook.go
+	apis/operator/v1alpha1/webhook_suite_test.go
+
+no changes added to commit (use "git add" and/or "git commit -a")
+```
+
+You can get more details through [webhook-overview](https://book.kubebuilder.io/reference/webhook-overview.html), and you also need to delete the file `webhook_suite_test.go`.
+
+
+
+### 4. Create the template
+
+Generally, a CRD will be associated with a series of resources, such as [workload](https://kubernetes.io/docs/concepts/workloads/), [rbac](https://kubernetes.io/docs/reference/access-authn-authz/rbac/), [service](https://kubernetes.io/docs/concepts/services-networking/service/), etc. All template files are stored in the `./operator/pkg/operator/manifests`, you could create the directory there such as `demo`, and refer to the CRD templates in other folders to define your own template. What's more, we support defining your own template rendering function by setting up the [TmplFunc](https://github.com/apache/skywalking-swck/blob/master/operator/pkg/kubernetes/apply.go#L49).
+
+>  Notice, every file under the template directory can only contain one resource and we can't use the `---` to create multiple resources.

Review Comment:
   ```suggestion
   >  Notice, every file under the template directory can only contain one resource and we can't use the `---` to create multiple resources in a single file.
   ```



##########
docs/how-to-add-new-crd-and-controller.md:
##########
@@ -0,0 +1,151 @@
+## How to add CRD and Controller in SWCK?
+
+The doc is to help contributors who want to add CRD and Controller in SWCK focus on the coding and reduce the time overhead of configuring kubebuilder.
+
+#### 1. Install the kubebuilder
+
+> Notice, SWCK is built by kubebuilder v3+, so you need to install the kubebuilder after v3.0.0
+
+SWCK is based on the [kubebuilder](https://github.com/kubernetes-sigs/kubebuilder), and you could download the kubebuilder in the [releases](https://github.com/kubernetes-sigs/kubebuilder/releases). 
+
+
+
+#### 2. Create CRD and Controller
+
+Then we can use `kubebuilder create api` to add a new CRD and corresponding controller. There we use the `Demo` as an example, and you should replace it with your CRD.
+
+```sh
+$ cd operator && kubebuilder create api --group operator --version v1alpha1 --kind Demo(Your CRD)
+```
+
+Then you need to input two `y` to create the Resource and Controller, and here are some newly added files.
+
+```sh
+$ git status
+On branch master
+Your branch is up to date with 'origin/master'.
+
+Changes not staged for commit:
+  (use "git add <file>..." to update what will be committed)
+  (use "git restore <file>..." to discard changes in working directory)
+	modified:   PROJECT
+	modified:   apis/operator/v1alpha1/zz_generated.deepcopy.go
+	modified:   config/crd/bases/operator.skywalking.apache.org_swagents.yaml
+	modified:   config/crd/kustomization.yaml
+	modified:   config/rbac/role.yaml
+	modified:   go.mod
+	modified:   go.sum
+	modified:   main.go
+
+Untracked files:
+  (use "git add <file>..." to include in what will be committed)
+	apis/operator/v1alpha1/demo_types.go
+	config/crd/bases/operator.skywalking.apache.org_demoes.yaml
+	config/crd/patches/cainjection_in_operator_demoes.yaml
+	config/crd/patches/webhook_in_operator_demoes.yaml
+	config/rbac/operator_demo_editor_role.yaml
+	config/rbac/operator_demo_viewer_role.yaml
+	config/samples/operator_v1alpha1_demo.yaml
+	controllers/operator/demo_controller.go
+	controllers/operator/suite_test.go
+
+no changes added to commit (use "git add" and/or "git commit -a")
+```
+
+Next, we need to focus on the file `apis/operator/v1alpha1/demo_types.go` which defines your CRD, and the file `controllers/operator/configuration_controller.go` which defines the Controller. The others files are some configurations generated by the [kubebuilder markers](https://book.kubebuilder.io/reference/markers.html). Here are some references:
+
+* [Kubebuilder project demo](https://github.com/kubernetes-sigs/kubebuilder/tree/master/testdata/project-v3), in which you can understand the overall architecture.
+
+* [How to add new-api](https://book.kubebuilder.io/cronjob-tutorial/new-api.html), which you can find more details for `oapserverconfig_types.go`.
+
+* [Controller-overview](https://book.kubebuilder.io/cronjob-tutorial/controller-overview.html), where you can find more details about `oapserverconfig_controller.go`.
+
+At last, the `suite_test.go` can be deleted as we don't need it.
+
+
+
+### 3. Create webhook
+
+If you want to validate the field of your CRD, you need to create the webhook as follows.

Review Comment:
   ```suggestion
   If you want to validate the field of your CRD, you need to create a webhook as follows.
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [skywalking-swck] hanahmily commented on a diff in pull request #75: Add the guide to add new CRD and Controller in SWCK

Posted by GitBox <gi...@apache.org>.
hanahmily commented on code in PR #75:
URL: https://github.com/apache/skywalking-swck/pull/75#discussion_r980160325


##########
docs/how-to-add-new-crd-and-controller.md:
##########
@@ -0,0 +1,151 @@
+## How to add CRD and Controller in SWCK?
+
+The doc is to help contributors who want to add CRD and Controller in SWCK focus on the coding and reduce the time overhead of configuring kubebuilder.
+
+#### 1. Install the kubebuilder
+
+> Notice, SWCK is built by kubebuilder v3+, so you need to install the kubebuilder after v3.0.0
+
+SWCK is based on the [kubebuilder](https://github.com/kubernetes-sigs/kubebuilder), and you could download the kubebuilder in the [releases](https://github.com/kubernetes-sigs/kubebuilder/releases). 
+
+
+
+#### 2. Create CRD and Controller
+
+Then we can use `kubebuilder create api` to add a new CRD and corresponding controller. Here we use the `Demo` as an example, and you should replace it with your CRD.
+
+```sh
+$ cd operator && kubebuilder create api --group operator --version v1alpha1 --kind Demo(Your CRD)
+```
+
+Then you need to input twice `y` to create the Resource and Controller, and there will be some newly added files.
+
+```sh
+$ git status
+On branch master
+Your branch is up to date with 'origin/master'.
+
+Changes not staged for commit:
+  (use "git add <file>..." to update what will be committed)
+  (use "git restore <file>..." to discard changes in working directory)
+	modified:   PROJECT
+	modified:   apis/operator/v1alpha1/zz_generated.deepcopy.go
+	modified:   config/crd/bases/operator.skywalking.apache.org_swagents.yaml
+	modified:   config/crd/kustomization.yaml
+	modified:   config/rbac/role.yaml
+	modified:   go.mod
+	modified:   go.sum
+	modified:   main.go
+
+Untracked files:
+  (use "git add <file>..." to include in what will be committed)
+	apis/operator/v1alpha1/demo_types.go
+	config/crd/bases/operator.skywalking.apache.org_demoes.yaml
+	config/crd/patches/cainjection_in_operator_demoes.yaml
+	config/crd/patches/webhook_in_operator_demoes.yaml
+	config/rbac/operator_demo_editor_role.yaml
+	config/rbac/operator_demo_viewer_role.yaml
+	config/samples/operator_v1alpha1_demo.yaml
+	controllers/operator/demo_controller.go
+	controllers/operator/suite_test.go
+
+no changes added to commit (use "git add" and/or "git commit -a")
+```
+
+Next, we need to focus on the file `apis/operator/v1alpha1/demo_types.go` which defines your CRD, and the file `controllers/operator/configuration_controller.go` which defines the Controller. The others files are some configurations generated by the [kubebuilder markers](https://book.kubebuilder.io/reference/markers.html). Here are some references:
+
+* [Kubebuilder project demo](https://github.com/kubernetes-sigs/kubebuilder/tree/master/testdata/project-v3), in which you can understand the overall architecture.
+
+* [How to add new-api](https://book.kubebuilder.io/cronjob-tutorial/new-api.html), which you can find more details for `oapserverconfig_types.go`.
+
+* [Controller-overview](https://book.kubebuilder.io/cronjob-tutorial/controller-overview.html), where you can find more details about `oapserverconfig_controller.go`.
+
+At last, the `suite_test.go` can be deleted as we don't need it.
+
+
+
+### 3. Create webhook
+
+If you want to validate the field of your CRD, you need to create a webhook as follows.

Review Comment:
   ```suggestion
   If you want to validate fields or set defaults to CRs, creating webhooks is a good practice:
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [skywalking-swck] hanahmily commented on a diff in pull request #75: Add the guide to add new CRD and Controller in SWCK

Posted by GitBox <gi...@apache.org>.
hanahmily commented on code in PR #75:
URL: https://github.com/apache/skywalking-swck/pull/75#discussion_r980120763


##########
docs/how-to-add-new-crd-and-controller.md:
##########
@@ -0,0 +1,151 @@
+## How to add CRD and Controller in SWCK?
+
+The doc is to help contributors who want to add CRD and Controller in SWCK focus on the coding and reduce the time overhead of configuring kubebuilder.
+
+#### 1. Install the kubebuilder
+
+> Notice, SWCK is built by kubebuilder v3+, so you need to install the kubebuilder after v3.0.0
+
+SWCK is based on the [kubebuilder](https://github.com/kubernetes-sigs/kubebuilder), and you could download the kubebuilder in the [releases](https://github.com/kubernetes-sigs/kubebuilder/releases). 
+
+
+
+#### 2. Create CRD and Controller
+
+Then we can use `kubebuilder create api` to add a new CRD and corresponding controller. Here we use the `Demo` as an example, and you should replace it with your CRD.
+
+```sh
+$ cd operator && kubebuilder create api --group operator --version v1alpha1 --kind Demo(Your CRD)
+```
+
+Then you need to input twice `y` to create the Resource and Controller, and there will be some newly added files.
+
+```sh
+$ git status
+On branch master
+Your branch is up to date with 'origin/master'.
+
+Changes not staged for commit:
+  (use "git add <file>..." to update what will be committed)
+  (use "git restore <file>..." to discard changes in working directory)
+	modified:   PROJECT
+	modified:   apis/operator/v1alpha1/zz_generated.deepcopy.go
+	modified:   config/crd/bases/operator.skywalking.apache.org_swagents.yaml
+	modified:   config/crd/kustomization.yaml
+	modified:   config/rbac/role.yaml
+	modified:   go.mod
+	modified:   go.sum
+	modified:   main.go
+
+Untracked files:
+  (use "git add <file>..." to include in what will be committed)
+	apis/operator/v1alpha1/demo_types.go
+	config/crd/bases/operator.skywalking.apache.org_demoes.yaml
+	config/crd/patches/cainjection_in_operator_demoes.yaml
+	config/crd/patches/webhook_in_operator_demoes.yaml
+	config/rbac/operator_demo_editor_role.yaml
+	config/rbac/operator_demo_viewer_role.yaml
+	config/samples/operator_v1alpha1_demo.yaml
+	controllers/operator/demo_controller.go
+	controllers/operator/suite_test.go
+
+no changes added to commit (use "git add" and/or "git commit -a")
+```
+
+Next, we need to focus on the file `apis/operator/v1alpha1/demo_types.go` which defines your CRD, and the file `controllers/operator/configuration_controller.go` which defines the Controller. The others files are some configurations generated by the [kubebuilder markers](https://book.kubebuilder.io/reference/markers.html). Here are some references:
+
+* [Kubebuilder project demo](https://github.com/kubernetes-sigs/kubebuilder/tree/master/testdata/project-v3), in which you can understand the overall architecture.
+
+* [How to add new-api](https://book.kubebuilder.io/cronjob-tutorial/new-api.html), which you can find more details for `oapserverconfig_types.go`.
+
+* [Controller-overview](https://book.kubebuilder.io/cronjob-tutorial/controller-overview.html), where you can find more details about `oapserverconfig_controller.go`.
+
+At last, the `suite_test.go` can be deleted as we don't need it.
+
+
+
+### 3. Create webhook
+
+If you want to validate the field of your CRD, you need to create a webhook as follows.
+
+```sh
+kubebuilder create webhook --group operator --version v1alpha1 --kind Demo --defaulting --programmatic-validation
+```
+
+The newly generated files are as follows.
+
+```sh
+$ git status
+On branch master
+Your branch is ahead of 'origin/master' by 1 commit.
+  (use "git push" to publish your local commits)
+
+Changes not staged for commit:
+  (use "git add <file>..." to update what will be committed)
+  (use "git restore <file>..." to discard changes in working directory)
+	modified:   PROJECT
+	modified:   config/webhook/manifests.yaml
+	modified:   main.go
+
+Untracked files:
+  (use "git add <file>..." to include in what will be committed)
+	apis/operator/v1alpha1/demo_webhook.go
+	apis/operator/v1alpha1/webhook_suite_test.go
+
+no changes added to commit (use "git add" and/or "git commit -a")
+```
+
+You can get more details through [webhook-overview](https://book.kubebuilder.io/reference/webhook-overview.html), and you also need to delete the file `webhook_suite_test.go`.
+
+
+
+### 4. Create the template
+
+Generally, a CRD will be associated with a series of resources, such as [workload](https://kubernetes.io/docs/concepts/workloads/), [rbac](https://kubernetes.io/docs/reference/access-authn-authz/rbac/), [service](https://kubernetes.io/docs/concepts/services-networking/service/), etc. All template files are stored in the `./operator/pkg/operator/manifests`, you could create the directory there such as `demo`, and refer to the CRD templates in other folders to define your own template. What's more, we support defining your own template rendering function by setting up the [TmplFunc](https://github.com/apache/skywalking-swck/blob/master/operator/pkg/kubernetes/apply.go#L49). At last, you need to change the [comment](https://github.com/apache/skywalking-swck/blob/bf4d1346a9869f67187b9b9202bf14d190728c56/operator/pkg/operator/manifests/repo.go#L31) and add a field `demo` there to embed the template files into golang binaries.

Review Comment:
   ```suggestion
   Generally, a controller would generate a series of resources, such as [workload](https://kubernetes.io/docs/concepts/workloads/), [rbac](https://kubernetes.io/docs/reference/access-authn-authz/rbac/), [service](https://kubernetes.io/docs/concepts/services-networking/service/), etc based on CRDs. SWCK is using the Go standard template engine to generate these resources. All template files are stored in the `./operator/pkg/operator/manifests`. You could create a directory such as `demo` to hold templates. The framework would transfer the CR as the arguments to these templates. More than CR, it supports passing custom rendering functions by setting up the [TmplFunc](https://github.com/apache/skywalking-swck/blob/master/operator/pkg/kubernetes/apply.go#L49). At last, you need to change the [comment](https://github.com/apache/skywalking-swck/blob/bf4d1346a9869f67187b9b9202bf14d190728c56/operator/pkg/operator/manifests/repo.go#L31) and add a field `demo` there to embed the template file
 s into golang binaries.
   ```



##########
docs/how-to-add-new-crd-and-controller.md:
##########
@@ -0,0 +1,151 @@
+## How to add CRD and Controller in SWCK?
+
+The doc is to help contributors who want to add CRD and Controller in SWCK focus on the coding and reduce the time overhead of configuring kubebuilder.

Review Comment:
   ```suggestion
   The guide intends to help contributors who want to add CRDs and Controllers in SWCK.
   ```



##########
docs/how-to-add-new-crd-and-controller.md:
##########
@@ -0,0 +1,151 @@
+## How to add CRD and Controller in SWCK?
+
+The doc is to help contributors who want to add CRD and Controller in SWCK focus on the coding and reduce the time overhead of configuring kubebuilder.
+
+#### 1. Install the kubebuilder
+
+> Notice, SWCK is built by kubebuilder v3+, so you need to install the kubebuilder after v3.0.0
+
+SWCK is based on the [kubebuilder](https://github.com/kubernetes-sigs/kubebuilder), and you could download the kubebuilder in the [releases](https://github.com/kubernetes-sigs/kubebuilder/releases). 
+
+
+
+#### 2. Create CRD and Controller
+
+Then we can use `kubebuilder create api` to add a new CRD and corresponding controller. Here we use the `Demo` as an example, and you should replace it with your CRD.
+
+```sh
+$ cd operator && kubebuilder create api --group operator --version v1alpha1 --kind Demo(Your CRD)
+```
+
+Then you need to input twice `y` to create the Resource and Controller, and there will be some newly added files.
+
+```sh
+$ git status
+On branch master
+Your branch is up to date with 'origin/master'.
+
+Changes not staged for commit:
+  (use "git add <file>..." to update what will be committed)
+  (use "git restore <file>..." to discard changes in working directory)
+	modified:   PROJECT
+	modified:   apis/operator/v1alpha1/zz_generated.deepcopy.go
+	modified:   config/crd/bases/operator.skywalking.apache.org_swagents.yaml
+	modified:   config/crd/kustomization.yaml
+	modified:   config/rbac/role.yaml
+	modified:   go.mod
+	modified:   go.sum
+	modified:   main.go
+
+Untracked files:
+  (use "git add <file>..." to include in what will be committed)
+	apis/operator/v1alpha1/demo_types.go
+	config/crd/bases/operator.skywalking.apache.org_demoes.yaml
+	config/crd/patches/cainjection_in_operator_demoes.yaml
+	config/crd/patches/webhook_in_operator_demoes.yaml
+	config/rbac/operator_demo_editor_role.yaml
+	config/rbac/operator_demo_viewer_role.yaml
+	config/samples/operator_v1alpha1_demo.yaml
+	controllers/operator/demo_controller.go
+	controllers/operator/suite_test.go
+
+no changes added to commit (use "git add" and/or "git commit -a")
+```
+
+Next, we need to focus on the file `apis/operator/v1alpha1/demo_types.go` which defines your CRD, and the file `controllers/operator/configuration_controller.go` which defines the Controller. The others files are some configurations generated by the [kubebuilder markers](https://book.kubebuilder.io/reference/markers.html). Here are some references:
+
+* [Kubebuilder project demo](https://github.com/kubernetes-sigs/kubebuilder/tree/master/testdata/project-v3), in which you can understand the overall architecture.
+
+* [How to add new-api](https://book.kubebuilder.io/cronjob-tutorial/new-api.html), which you can find more details for `oapserverconfig_types.go`.
+
+* [Controller-overview](https://book.kubebuilder.io/cronjob-tutorial/controller-overview.html), where you can find more details about `oapserverconfig_controller.go`.
+
+At last, the `suite_test.go` can be deleted as we don't need it.
+
+
+
+### 3. Create webhook
+
+If you want to validate the field of your CRD, you need to create a webhook as follows.
+
+```sh
+kubebuilder create webhook --group operator --version v1alpha1 --kind Demo --defaulting --programmatic-validation
+```
+
+The newly generated files are as follows.
+
+```sh
+$ git status
+On branch master
+Your branch is ahead of 'origin/master' by 1 commit.
+  (use "git push" to publish your local commits)
+
+Changes not staged for commit:
+  (use "git add <file>..." to update what will be committed)
+  (use "git restore <file>..." to discard changes in working directory)
+	modified:   PROJECT
+	modified:   config/webhook/manifests.yaml
+	modified:   main.go
+
+Untracked files:
+  (use "git add <file>..." to include in what will be committed)
+	apis/operator/v1alpha1/demo_webhook.go
+	apis/operator/v1alpha1/webhook_suite_test.go
+
+no changes added to commit (use "git add" and/or "git commit -a")
+```
+
+You can get more details through [webhook-overview](https://book.kubebuilder.io/reference/webhook-overview.html), and you also need to delete the file `webhook_suite_test.go`.
+
+
+
+### 4. Create the template
+
+Generally, a CRD will be associated with a series of resources, such as [workload](https://kubernetes.io/docs/concepts/workloads/), [rbac](https://kubernetes.io/docs/reference/access-authn-authz/rbac/), [service](https://kubernetes.io/docs/concepts/services-networking/service/), etc. All template files are stored in the `./operator/pkg/operator/manifests`, you could create the directory there such as `demo`, and refer to the CRD templates in other folders to define your own template. What's more, we support defining your own template rendering function by setting up the [TmplFunc](https://github.com/apache/skywalking-swck/blob/master/operator/pkg/kubernetes/apply.go#L49). At last, you need to change the [comment](https://github.com/apache/skywalking-swck/blob/bf4d1346a9869f67187b9b9202bf14d190728c56/operator/pkg/operator/manifests/repo.go#L31) and add a field `demo` there to embed the template files into golang binaries.
+
+>  Notice, every file under the template directory can only contain one resource and we can't use the `---` to create multiple resources in a single file.
+
+
+
+### 5. Build and Test
+
+SWCK needs to run in the k8s environment, so we highly recommend using the [kind](https://kind.sigs.k8s.io/) as the test environment. There are currently two ways to test your implementation. 

Review Comment:
   ```suggestion
   SWCK needs to run in the k8s environment, so we highly recommend using the [kind](https://kind.sigs.k8s.io/) if you don't have a cluster in hand. There are two ways to test your implementation. 
   ```



##########
docs/how-to-add-new-crd-and-controller.md:
##########
@@ -0,0 +1,151 @@
+## How to add CRD and Controller in SWCK?
+
+The doc is to help contributors who want to add CRD and Controller in SWCK focus on the coding and reduce the time overhead of configuring kubebuilder.
+
+#### 1. Install the kubebuilder
+
+> Notice, SWCK is built by kubebuilder v3+, so you need to install the kubebuilder after v3.0.0
+
+SWCK is based on the [kubebuilder](https://github.com/kubernetes-sigs/kubebuilder), and you could download the kubebuilder in the [releases](https://github.com/kubernetes-sigs/kubebuilder/releases). 
+
+
+
+#### 2. Create CRD and Controller
+
+Then we can use `kubebuilder create api` to add a new CRD and corresponding controller. Here we use the `Demo` as an example, and you should replace it with your CRD.
+
+```sh
+$ cd operator && kubebuilder create api --group operator --version v1alpha1 --kind Demo(Your CRD)
+```
+
+Then you need to input twice `y` to create the Resource and Controller, and there will be some newly added files.
+
+```sh
+$ git status
+On branch master
+Your branch is up to date with 'origin/master'.
+
+Changes not staged for commit:
+  (use "git add <file>..." to update what will be committed)
+  (use "git restore <file>..." to discard changes in working directory)
+	modified:   PROJECT
+	modified:   apis/operator/v1alpha1/zz_generated.deepcopy.go
+	modified:   config/crd/bases/operator.skywalking.apache.org_swagents.yaml
+	modified:   config/crd/kustomization.yaml
+	modified:   config/rbac/role.yaml
+	modified:   go.mod
+	modified:   go.sum
+	modified:   main.go
+
+Untracked files:
+  (use "git add <file>..." to include in what will be committed)
+	apis/operator/v1alpha1/demo_types.go
+	config/crd/bases/operator.skywalking.apache.org_demoes.yaml
+	config/crd/patches/cainjection_in_operator_demoes.yaml
+	config/crd/patches/webhook_in_operator_demoes.yaml
+	config/rbac/operator_demo_editor_role.yaml
+	config/rbac/operator_demo_viewer_role.yaml
+	config/samples/operator_v1alpha1_demo.yaml
+	controllers/operator/demo_controller.go
+	controllers/operator/suite_test.go
+
+no changes added to commit (use "git add" and/or "git commit -a")
+```
+
+Next, we need to focus on the file `apis/operator/v1alpha1/demo_types.go` which defines your CRD, and the file `controllers/operator/configuration_controller.go` which defines the Controller. The others files are some configurations generated by the [kubebuilder markers](https://book.kubebuilder.io/reference/markers.html). Here are some references:
+
+* [Kubebuilder project demo](https://github.com/kubernetes-sigs/kubebuilder/tree/master/testdata/project-v3), in which you can understand the overall architecture.
+
+* [How to add new-api](https://book.kubebuilder.io/cronjob-tutorial/new-api.html), which you can find more details for `oapserverconfig_types.go`.
+
+* [Controller-overview](https://book.kubebuilder.io/cronjob-tutorial/controller-overview.html), where you can find more details about `oapserverconfig_controller.go`.
+
+At last, the `suite_test.go` can be deleted as we don't need it.

Review Comment:
   ```suggestion
   ```
   
   We don't provide such advice to avoid any testing attempts.



##########
docs/how-to-add-new-crd-and-controller.md:
##########
@@ -0,0 +1,151 @@
+## How to add CRD and Controller in SWCK?
+
+The doc is to help contributors who want to add CRD and Controller in SWCK focus on the coding and reduce the time overhead of configuring kubebuilder.
+
+#### 1. Install the kubebuilder
+
+> Notice, SWCK is built by kubebuilder v3+, so you need to install the kubebuilder after v3.0.0
+
+SWCK is based on the [kubebuilder](https://github.com/kubernetes-sigs/kubebuilder), and you could download the kubebuilder in the [releases](https://github.com/kubernetes-sigs/kubebuilder/releases). 
+
+
+
+#### 2. Create CRD and Controller
+
+Then we can use `kubebuilder create api` to add a new CRD and corresponding controller. Here we use the `Demo` as an example, and you should replace it with your CRD.

Review Comment:
   ```suggestion
   You can use `kubebuilder create api` to scaffold a new Kind and corresponding controller. Here we use the `Demo` as an example.
   ```



##########
docs/how-to-add-new-crd-and-controller.md:
##########
@@ -0,0 +1,151 @@
+## How to add CRD and Controller in SWCK?
+
+The doc is to help contributors who want to add CRD and Controller in SWCK focus on the coding and reduce the time overhead of configuring kubebuilder.
+
+#### 1. Install the kubebuilder
+
+> Notice, SWCK is built by kubebuilder v3+, so you need to install the kubebuilder after v3.0.0
+
+SWCK is based on the [kubebuilder](https://github.com/kubernetes-sigs/kubebuilder), and you could download the kubebuilder in the [releases](https://github.com/kubernetes-sigs/kubebuilder/releases). 

Review Comment:
   You have to specify the version of kubebuilder.
   
   We have a bash laid at `hack/build/install-kubebuilder.sh` to install kubebuidler. You could mention this script here. 
   
   



##########
docs/how-to-add-new-crd-and-controller.md:
##########
@@ -0,0 +1,151 @@
+## How to add CRD and Controller in SWCK?
+
+The doc is to help contributors who want to add CRD and Controller in SWCK focus on the coding and reduce the time overhead of configuring kubebuilder.
+
+#### 1. Install the kubebuilder
+
+> Notice, SWCK is built by kubebuilder v3+, so you need to install the kubebuilder after v3.0.0
+
+SWCK is based on the [kubebuilder](https://github.com/kubernetes-sigs/kubebuilder), and you could download the kubebuilder in the [releases](https://github.com/kubernetes-sigs/kubebuilder/releases). 
+
+
+
+#### 2. Create CRD and Controller
+
+Then we can use `kubebuilder create api` to add a new CRD and corresponding controller. Here we use the `Demo` as an example, and you should replace it with your CRD.
+
+```sh
+$ cd operator && kubebuilder create api --group operator --version v1alpha1 --kind Demo(Your CRD)
+```
+
+Then you need to input twice `y` to create the Resource and Controller, and there will be some newly added files.
+
+```sh
+$ git status
+On branch master
+Your branch is up to date with 'origin/master'.
+
+Changes not staged for commit:
+  (use "git add <file>..." to update what will be committed)
+  (use "git restore <file>..." to discard changes in working directory)
+	modified:   PROJECT
+	modified:   apis/operator/v1alpha1/zz_generated.deepcopy.go
+	modified:   config/crd/bases/operator.skywalking.apache.org_swagents.yaml
+	modified:   config/crd/kustomization.yaml
+	modified:   config/rbac/role.yaml
+	modified:   go.mod
+	modified:   go.sum
+	modified:   main.go
+
+Untracked files:
+  (use "git add <file>..." to include in what will be committed)
+	apis/operator/v1alpha1/demo_types.go
+	config/crd/bases/operator.skywalking.apache.org_demoes.yaml
+	config/crd/patches/cainjection_in_operator_demoes.yaml
+	config/crd/patches/webhook_in_operator_demoes.yaml
+	config/rbac/operator_demo_editor_role.yaml
+	config/rbac/operator_demo_viewer_role.yaml
+	config/samples/operator_v1alpha1_demo.yaml
+	controllers/operator/demo_controller.go
+	controllers/operator/suite_test.go
+
+no changes added to commit (use "git add" and/or "git commit -a")
+```
+
+Next, we need to focus on the file `apis/operator/v1alpha1/demo_types.go` which defines your CRD, and the file `controllers/operator/configuration_controller.go` which defines the Controller. The others files are some configurations generated by the [kubebuilder markers](https://book.kubebuilder.io/reference/markers.html). Here are some references:
+
+* [Kubebuilder project demo](https://github.com/kubernetes-sigs/kubebuilder/tree/master/testdata/project-v3), in which you can understand the overall architecture.
+
+* [How to add new-api](https://book.kubebuilder.io/cronjob-tutorial/new-api.html), which you can find more details for `oapserverconfig_types.go`.
+
+* [Controller-overview](https://book.kubebuilder.io/cronjob-tutorial/controller-overview.html), where you can find more details about `oapserverconfig_controller.go`.
+
+At last, the `suite_test.go` can be deleted as we don't need it.
+
+
+
+### 3. Create webhook
+
+If you want to validate the field of your CRD, you need to create a webhook as follows.

Review Comment:
   ```suggestion
   If you want to validate fields or set defaults to CRs, creating webhooks is good practice:
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [skywalking-swck] Superskyyy commented on pull request #75: Add the guide to add new CRD and Controller in SWCK

Posted by GitBox <gi...@apache.org>.
Superskyyy commented on PR #75:
URL: https://github.com/apache/skywalking-swck/pull/75#issuecomment-1250353713

   Thank you! 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [skywalking-swck] wu-sheng commented on pull request #75: Add the guide to add new CRD and Controller in SWCK

Posted by GitBox <gi...@apache.org>.
wu-sheng commented on PR #75:
URL: https://github.com/apache/skywalking-swck/pull/75#issuecomment-1318591192

   @dashanji @fgksgf @hanahmily Is this ready? I found out last update was Sep.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [skywalking-swck] dashanji commented on pull request #75: Add the guide to add new CRD and Controller in SWCK

Posted by GitBox <gi...@apache.org>.
dashanji commented on PR #75:
URL: https://github.com/apache/skywalking-swck/pull/75#issuecomment-1259648155

   Thanks for the detailed review, the suggestions make sense to me. ❤️


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org