@@ -43,18 +43,31 @@ func New() (provider.Provider, error) {
4343}
4444
4545func (d * adcClient ) Update (ctx context.Context , tctx * provider.TranslateContext , obj client.Object ) error {
46- var result * translator.TranslateResult
47- var err error
46+ var (
47+ task = Task {
48+ Name : obj .GetName (),
49+ Labels : label .GenLabel (obj ),
50+ }
51+ extraArgs []string
52+ result * translator.TranslateResult
53+ err error
54+ )
4855
4956 switch obj := obj .(type ) {
5057 case * gatewayv1.HTTPRoute :
58+ extraArgs = append (extraArgs , "--include-resource-type" , "service" )
59+ log .Debugw ("translating http route" , zap .Any ("http route" , obj ))
5160 result , err = d .translator .TranslateHTTPRoute (tctx , obj .DeepCopy ())
5261 case * gatewayv1.Gateway :
62+ extraArgs = append (extraArgs , "--include-resource-type" , "global_rule" ,
63+ "--include-resource-type" , "plugin_metadata" )
64+ log .Debugw ("translating gateway" , zap .Any ("gateway" , obj ))
5365 result , err = d .translator .TranslateGateway (tctx , obj .DeepCopy ())
5466 }
5567 if err != nil {
5668 return err
5769 }
70+ log .Debugw ("translated result" , zap .Any ("result" , result ))
5871 if result == nil {
5972 return nil
6073 }
@@ -64,22 +77,33 @@ func (d *adcClient) Update(ctx context.Context, tctx *provider.TranslateContext,
6477 PluginMetadata : result .PluginMetadata ,
6578 Services : result .Services ,
6679 }
80+ log .Debugw ("adc resources" , zap .Any ("resources" , resources ))
81+
82+ task .Resources = resources
6783
68- return d .sync (Task {
69- Name : obj .GetName (),
70- Resources : resources ,
71- Labels : label .GenLabel (obj ),
72- })
84+ return d .sync (task , extraArgs ... )
7385}
7486
7587func (d * adcClient ) Delete (ctx context.Context , obj client.Object ) error {
76- return d . sync ( Task {
88+ task := Task {
7789 Name : obj .GetName (),
7890 Labels : label .GenLabel (obj ),
79- })
91+ }
92+
93+ var extraArgs []string
94+
95+ switch obj .(type ) {
96+ case * gatewayv1.HTTPRoute :
97+ extraArgs = append (extraArgs , "--include-resource-type" , "service" )
98+ case * gatewayv1.Gateway :
99+ extraArgs = append (extraArgs , "--include-resource-type" , "global_rule" ,
100+ "--include-resource-type" , "plugin_metadata" )
101+ }
102+
103+ return d .sync (task , extraArgs ... )
80104}
81105
82- func (d * adcClient ) sync (task Task ) error {
106+ func (d * adcClient ) sync (task Task , extraArgs ... string ) error {
83107 log .Debugw ("syncing task" , zap .Any ("task" , task ))
84108
85109 data , err := yaml .Marshal (task .Resources )
@@ -104,12 +128,13 @@ func (d *adcClient) sync(task Task) error {
104128 args := []string {
105129 "sync" ,
106130 "-f" , tmpFile .Name (),
107- "--include-resource-type" , "service" ,
108- "--include-resource-type" , "global_rule" ,
109- "--include-resource-type" , "plugin_metadata" ,
110131 "--tls-skip-verify" ,
111132 }
112133
134+ if len (extraArgs ) > 0 {
135+ args = append (args , extraArgs ... )
136+ }
137+
113138 for k , v := range task .Labels {
114139 args = append (args , "--label-selector" , k + "=" + v )
115140 }
@@ -134,5 +159,8 @@ func (d *adcClient) sync(task Task) error {
134159 )
135160 return err
136161 }
162+
163+ log .Debugw ("adc sync success" , zap .String ("taskname" , task .Name ))
164+
137165 return nil
138166}
0 commit comments