Skip to content

Commit f536d26

Browse files
authored
Add TargetV2 resource map (#273)
1 parent 9ed2c4c commit f536d26

File tree

2 files changed

+60
-0
lines changed

2 files changed

+60
-0
lines changed

retrieval/resource_map.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,22 @@ var ProxyV2ResourceMap = ResourceMap{
131131
},
132132
}
133133

134+
var TargetV2ResourceMap = ResourceMap{
135+
Type: "apigee.googleapis.com/TargetV2",
136+
MatchLabel: "__meta_kubernetes_pod_label_type_target_v2",
137+
LabelMap: map[string]labelTranslation{
138+
ProjectIDLabel: constValue("resource_container"),
139+
KubernetesLocationLabel: constValue("location"),
140+
"org": constValue("org"),
141+
"env": constValue("env"),
142+
"proxy_name": constValue("proxy_name"),
143+
"target_type": constValue("target_type"),
144+
"target_endpoint": constValue("target_endpoint"),
145+
"runtime_version": constValue("runtime_version"),
146+
"instance_id": constValue("instance_id"),
147+
},
148+
}
149+
134150
var AnthosL4LBMap = ResourceMap{
135151
Type: "anthos_l4lb",
136152
MatchLabel: "__meta_kubernetes_service_annotation_gke_googleapis_com_anthos_l4lb_type",
@@ -148,6 +164,7 @@ type ResourceMapList []ResourceMap
148164
// When you add new elements, you also probably want to update TestResourceMappingsOrder.
149165
var ResourceMappings = ResourceMapList{
150166
AnthosL4LBMap,
167+
TargetV2ResourceMap,
151168
ProxyV2ResourceMap,
152169
ProxyResourceMap,
153170
DevappResourceMap,

retrieval/resource_map_test.go

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,48 @@ func TestTranslateProxy(t *testing.T) {
205205
}
206206
}
207207

208+
func TestTranslateTargetV2(t *testing.T) {
209+
discoveredLabels := labels.Labels{
210+
{"__meta_kubernetes_pod_label_type_target_v2", "true"},
211+
{ProjectIDLabel, "my-project"},
212+
{KubernetesLocationLabel, "us-central1-a"},
213+
}
214+
metricLabels := labels.Labels{
215+
{"proxy_name", "my-name"},
216+
{"target_type", "my-target"},
217+
{"target_endpoint", "my-endpoint"},
218+
{"org", "my-org"},
219+
{"env", "my-env"},
220+
{"runtime_version", "my-revision"},
221+
{"instance_id", "my-instance"},
222+
{"extra_label", "my-label"},
223+
}
224+
expectedLabels := map[string]string{
225+
"resource_container": "my-project",
226+
"location": "us-central1-a",
227+
"org": "my-org",
228+
"env": "my-env",
229+
"proxy_name": "my-name",
230+
"target_type": "my-target",
231+
"target_endpoint": "my-endpoint",
232+
"runtime_version": "my-revision",
233+
"instance_id": "my-instance",
234+
}
235+
expectedFinalLabels := labels.Labels{
236+
{"extra_label", "my-label"},
237+
}
238+
if labels, finalLabels := TargetV2ResourceMap.Translate(discoveredLabels, metricLabels); labels == nil {
239+
t.Errorf("Expected %v, actual nil", expectedLabels)
240+
} else {
241+
if diff := cmp.Diff(expectedLabels, labels); len(diff) > 0 {
242+
t.Error(diff)
243+
}
244+
if diff := cmp.Diff(expectedFinalLabels, finalLabels); len(diff) > 0 {
245+
t.Error(diff)
246+
}
247+
}
248+
}
249+
208250
func TestTranslateProxyV2(t *testing.T) {
209251
discoveredLabels := labels.Labels{
210252
{"__meta_kubernetes_pod_label_type_proxy_v2", "true"},
@@ -315,6 +357,7 @@ func TestResourceMappingsOrder(t *testing.T) {
315357
{"k8s_node", "gce_instance"},
316358
{"k8s_node", "aws_ec2_instance"},
317359
{"anthos_l4lb", "k8s_container"},
360+
{"apigee.googleapis.com/TargetV2", "k8s_container"},
318361
{"apigee.googleapis.com/ProxyV2", "k8s_container"},
319362
{"apigee.googleapis.com/Proxy", "k8s_container"},
320363
{"apigee.googleapis.com/Devapp", "k8s_container"},

0 commit comments

Comments
 (0)