add service option for plugin

This commit is contained in:
ginuerzh
2025-08-29 23:34:23 +08:00
parent a12ed27dfa
commit c7d16962ec
71 changed files with 227 additions and 88 deletions
+7 -1
View File
@@ -48,9 +48,15 @@ func (p *grpcPlugin) Admit(ctx context.Context, addr string, opts ...admission.O
return false
}
var options admission.Options
for _, opt := range opts {
opt(&options)
}
r, err := p.client.Admit(ctx,
&proto.AdmissionRequest{
Addr: addr,
Service: options.Service,
Addr: addr,
})
if err != nil {
p.log.Error(err)
+9 -2
View File
@@ -12,7 +12,8 @@ import (
)
type httpPluginRequest struct {
Addr string `json:"addr"`
Service string `json:"service"`
Addr string `json:"addr"`
}
type httpPluginResponse struct {
@@ -49,8 +50,14 @@ func (p *httpPlugin) Admit(ctx context.Context, addr string, opts ...admission.O
return
}
var options admission.Options
for _, opt := range opts {
opt(&options)
}
rb := httpPluginRequest{
Addr: addr,
Service: options.Service,
Addr: addr,
}
v, err := json.Marshal(&rb)
if err != nil {
+4 -2
View File
@@ -10,16 +10,18 @@ import (
)
type listener struct {
service string
net.Listener
admission admission.Admission
log logger.Logger
}
func WrapListener(admission admission.Admission, ln net.Listener) net.Listener {
func WrapListener(service string, admission admission.Admission, ln net.Listener) net.Listener {
if admission == nil {
return ln
}
return &listener{
service: service,
Listener: ln,
admission: admission,
}
@@ -45,7 +47,7 @@ func (ln *listener) Accept() (net.Conn, error) {
}
if ln.admission != nil &&
!ln.admission.Admit(ctx, clientAddr.String()) {
!ln.admission.Admit(ctx, clientAddr.String(), admission.WithService(ln.service)) {
c.Close()
continue
}