-
Notifications
You must be signed in to change notification settings - Fork 341
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
proposal: Add CRD ApisixPluginConfig support plugin configs #638
Comments
Add this to v1.3 milestone. |
Started a discussion on the mailing list https://lists.apache.org/thread.html/r6e989cb7087feff7ab48157d74cf47aab18c3a1cfd32474b0672e63f%40%3Cdev.apisix.apache.org%3E |
cc @Donghui0 |
i'm a volunteer |
Great, assign to you. Look forward. |
Thanks! @neverCase If you need help, you can ping me at any time. |
ok, got it |
Welcome to submit your plan to the mail list :). |
OK, i will submit my plan later. |
I had replied a mail on the apache mail list, but it seems something wrong. |
my plan
|
You have to subscribe the dev@apisix.apache.org before you send any mails. |
|
You can split this function into multiple small tasks to carry out, refer to these tasks I added in the description. @neverCase |
Yes, you need to subscribe the dev@apisix.apache.org before you send any mails. Of course, whether you are discussing in this issue or on the mailing list, it’s okay. |
ok, i had created ApisixPluginConfig.yaml and add 3 structs // +genclient
// +genclient:nonNamespaced
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// +kubebuilder:subresource:status
// ApisixPluginConfig is the Schema for the ApisixPluginConfig resource.
// An ApisixPluginConfig is used to support a group of plugin configs
type ApisixPluginConfig struct {
metav1.TypeMeta `json:",inline" yaml:",inline"`
metav1.ObjectMeta `json:"metadata" yaml:"metadata"`
// Spec defines the desired state of ApisixPluginConfigSpec.
Spec ApisixPluginConfigSpec `json:"spec" yaml:"spec"`
Status ApisixStatus `json:"status,omitempty" yaml:"status,omitempty"`
}
// ApisixPluginConfigSpec defines the desired state of ApisixPluginConfigSpec.
type ApisixPluginConfigSpec struct {
}
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// ApisixPluginConfigList contains a list of ApisixPluginConfig.
type ApisixPluginConfigList struct {
metav1.TypeMeta `json:",inline" yaml:",inline"`
metav1.ListMeta `json:"metadata" yaml:"metadata"`
Items []ApisixPluginConfig `json:"items,omitempty" yaml:"items,omitempty"`
}
could u provide me more details about the plugins |
You can open a PR and submit your current changes directly. The PluginConfig document is here https://apisix.apache.org/docs/apisix/architecture-design/plugin-config It looks like this: // ApisixPluginConfigSpec defines the desired state of ApisixPluginConfigSpec.
type ApisixPluginConfigSpec struct {
Desc string `json:"desc,omitempty" yaml:"desc,omitempty"`
Plugins []ApisixRouteHTTPPlugin // https://github.com/apache/apisix-ingress-controller/blob/3e9bdbf0cee6d49c8e0db27152d46565df704e8c/pkg/kube/apisix/apis/config/v2beta1/types.go#L118
} |
@neverCase You can use |
before pr, should i make up the field |
You can open a PR and set it as draft status. Related discussions can be held in the PR, which will be more convenient. |
@neverCase Thanks for your work, if you have time, you can continue the development of follow-up tasks. |
ok, got it. |
Hi folks, The main part of the ApisixPluginConfig function has been implemented, thanks for your hard work @neverCase , great! I’m about to initiate a vote for the release of a new version of v1.4. This feature will appear for the first time in v1.4. |
For this feature, there is one last task left.
Who has time to help with this task? |
I think it's my job -,-. |
Thanks! @neverCase |
@tao12345666333 |
yes, thanks @neverCase |
Add a CRD like
ApisixPluginConfig
to support a group of plugin configs, andApisixRoute
add a field be associated with it.If we want to implement this function, we can split the following tasks:
The text was updated successfully, but these errors were encountered: