Skip to content

Commit

Permalink
[MESH-1656] - Adding plugin info to EnvoyFilter
Browse files Browse the repository at this point in the history
Signed-off-by: vgonuguntla <vinay_gonuguntla@intuit.com>
  • Loading branch information
vinaygonuguntla committed Sep 13, 2022
1 parent 49cd71a commit b826e36
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 1 deletion.
9 changes: 8 additions & 1 deletion admiral/pkg/clusters/envoyfilter.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ var (
)

const hostsKey = "hosts: "
const pluginKey = "plugin: "

func createOrUpdateEnvoyFilter(ctx context.Context, rc *RemoteController, routingPolicy *v1.RoutingPolicy, eventType admiral.EventType, workloadIdentityKey string, admiralCache *AdmiralCache, workloadSelectorMap map[string]string) (*networking.EnvoyFilter, error) {

Expand Down Expand Up @@ -87,7 +88,8 @@ func constructEnvoyFilterStruct(routingPolicy *v1.RoutingPolicy, workloadSelecto
if len(common.GetEnvoyFilterAdditionalConfig()) != 0 {
envoyFilterStringConfig += common.GetEnvoyFilterAdditionalConfig() + "\n"
}
envoyFilterStringConfig += getHosts(routingPolicy)
envoyFilterStringConfig += getHosts(routingPolicy) + "\n"
envoyFilterStringConfig += getPlugin(routingPolicy)

configuration := structpb.Struct{
Fields: map[string]*structpb.Value{
Expand Down Expand Up @@ -184,3 +186,8 @@ func getHosts(routingPolicy *v1.RoutingPolicy) string {
hosts = strings.TrimSuffix(hosts, ",")
return hostsKey + hosts
}

func getPlugin(routingPolicy *v1.RoutingPolicy) string {
plugin := routingPolicy.Spec.Plugin
return pluginKey + plugin
}
26 changes: 26 additions & 0 deletions admiral/pkg/clusters/envoyfilter_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -144,3 +144,29 @@ func TestGetHosts(t *testing.T) {
hosts := getHosts(routingPolicyFoo)
assert.Equal(t, "hosts: e2e.testservice.mesh,e2e2.testservice.mesh", hosts)
}

func TestGetPlugin(t *testing.T) {
routingPolicyFoo := &v1.RoutingPolicy{
TypeMeta: time2.TypeMeta{},
ObjectMeta: time2.ObjectMeta{
Labels: map[string]string{
"identity": "foo",
"admiral.io/env": "stage",
},
},
Spec: model.RoutingPolicy{
Plugin: "test",
Hosts: []string{"e2e.testservice.mesh,e2e2.testservice.mesh"},
Config: map[string]string{
"cachePrefix": "cache-v1",
"cachettlSec": "86400",
"routingServiceUrl": "e2e.test.routing.service.mesh",
"pathPrefix": "/sayhello,/v1/company/{id}/",
},
},
Status: v1.RoutingPolicyStatus{},
}

plugin := getPlugin(routingPolicyFoo)
assert.Equal(t, "plugin: test",plugin)
}

0 comments on commit b826e36

Please sign in to comment.