Hi, community,

I would like to start a discussion about the feasibility of an APISIX
sub-project called APISIX-Operator.


*Background*

When I got involved in formal enterprise-level development, I found that a
proper Kubernetes Operator would quickly improve the project's development
progress. Currently, I have a simple apisix-operator demo. You can refer to
this link[1].


The Kubernetes Operator is a way to package, deploy, and manage Kubernetes
applications. Kubernetes applications are deployed on Kubernetes and
collected using the Kubernetes API and kubectl tools. Kubernetes operator
is an application-specific controller that extends the capabilities of the
Kubernetes API to create, configure, and manage instances of complex
applications on behalf of Kubernetes users. For more information, refer to
this article[2].


*Some advantages*

I propose to create a subproject APISIX-operator of APISIX. The benefits
include the following.

1. it is clear that this project will add a way for the community to use
APISIX and that this approach will be more suitable for enterprise-level
automated development and management.

2. Potentially, the project will increase the community's activity and
promote the community's health and the APISIX project.


*After adoption*

If the community adopts this suggestion, I would like to discuss a few
points regarding the features of the apisix-operator.

1. whether the community version of apisix-operator applies to cluster
scope or namespace scope (if you are confused, check out this
documentation[3].

2. How do we specify where to store some internal go codes and some naming?

3. How to start the contribution process based on my simple demo[1].


*The ideal result I want to achieve*

1. Eventually this project was uploaded to OperatorHub[4] for use.

2. Eventually this project was reasonably well maintained by the community.


*Conclusion*

I will produce a full proposal after this discussion.


Thanks,

Chenwei Jiang (CheverJohn)

[1] https://github.com/chever-john/apisix-operator/
<https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fchever-john%2Fapisix-operator%2F&data=05%7C01%7C%7C5e8ef73b210d4b8e4bb808da8bbdc4f8%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637975944415070770%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=pGam%2BJuoGwvobibqjUl8R6RbzGM3G9IWQWO8C186t5A%3D&reserved=0>
[2]
https://www.redhat.com/en/topics/containers/what-is-a-kubernetes-operator
<https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.redhat.com%2Fen%2Ftopics%2Fcontainers%2Fwhat-is-a-kubernetes-operator&data=05%7C01%7C%7C5e8ef73b210d4b8e4bb808da8bbdc4f8%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637975944415070770%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=qd99BSzz2763P9ksl2wnK31zbNbbOYx9xJjDn1ZbNfc%3D&reserved=0>
[3]
https://sdk.operatorframework.io/docs/building-operators/golang/operator-scope/
<https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsdk.operatorframework.io%2Fdocs%2Fbuilding-operators%2Fgolang%2Foperator-scope%2F&data=05%7C01%7C%7C5e8ef73b210d4b8e4bb808da8bbdc4f8%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637975944415070770%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=hWNECLBuHbCYgC7kqhOqb5Tqgjl4k8znZ%2FUbiWjn02Q%3D&reserved=0>
[4] https://operatorhub.io/
<https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Foperatorhub.io%2F&data=05%7C01%7C%7C5e8ef73b210d4b8e4bb808da8bbdc4f8%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637975944415070770%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=hp%2F3H5sb93Im%2BPijwfh5F%2FlwoHVdUyHqJNTnV1KQn3M%3D&reserved=0>

Reply via email to