Skip to content

Commit c8c0bfb

Browse files
authored
Add ProxyV2 resource map (#240)
1 parent e96e730 commit c8c0bfb

File tree

2 files changed

+54
-0
lines changed

2 files changed

+54
-0
lines changed

retrieval/resource_map.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,10 +117,25 @@ var ProxyResourceMap = ResourceMap{
117117
},
118118
}
119119

120+
var ProxyV2ResourceMap = ResourceMap{
121+
Type: "apigee.googleapis.com/ProxyV2",
122+
MatchLabel: "__meta_kubernetes_pod_label_type_proxy_v2",
123+
LabelMap: map[string]labelTranslation{
124+
ProjectIDLabel: constValue("resource_container"),
125+
KubernetesLocationLabel: constValue("location"),
126+
"org": constValue("org"),
127+
"env": constValue("env"),
128+
"proxy_name": constValue("proxy_name"),
129+
"runtime_version": constValue("runtime_version"),
130+
"instance_id": constValue("instance_id"),
131+
},
132+
}
133+
120134
type ResourceMapList []ResourceMap
121135

122136
// When you add new elements, you also probably want to update TestResourceMappingsOrder.
123137
var ResourceMappings = ResourceMapList{
138+
ProxyV2ResourceMap,
124139
ProxyResourceMap,
125140
DevappResourceMap,
126141
{

retrieval/resource_map_test.go

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

208+
func TestTranslateProxyV2(t *testing.T) {
209+
discoveredLabels := labels.Labels{
210+
{"__meta_kubernetes_pod_label_type_proxy_v2", "true"},
211+
{ProjectIDLabel, "my-project"},
212+
{KubernetesLocationLabel, "us-central1-a"},
213+
}
214+
metricLabels := labels.Labels{
215+
{"proxy_name", "my-name"},
216+
{"org", "my-org"},
217+
{"env", "my-env"},
218+
{"runtime_version", "my-revision"},
219+
{"instance_id", "my-instance"},
220+
{"extra_label", "my-label"},
221+
}
222+
expectedLabels := map[string]string{
223+
"resource_container": "my-project",
224+
"location": "us-central1-a",
225+
"org": "my-org",
226+
"env": "my-env",
227+
"proxy_name": "my-name",
228+
"runtime_version": "my-revision",
229+
"instance_id": "my-instance",
230+
}
231+
expectedFinalLabels := labels.Labels{
232+
{"extra_label", "my-label"},
233+
}
234+
if labels, finalLabels := ProxyV2ResourceMap.Translate(discoveredLabels, metricLabels); labels == nil {
235+
t.Errorf("Expected %v, actual nil", expectedLabels)
236+
} else {
237+
if diff := cmp.Diff(expectedLabels, labels); len(diff) > 0 {
238+
t.Error(diff)
239+
}
240+
if diff := cmp.Diff(expectedFinalLabels, finalLabels); len(diff) > 0 {
241+
t.Error(diff)
242+
}
243+
}
244+
}
245+
208246
func (m *ResourceMapList) getByType(t string) (*ResourceMap, bool) {
209247
for _, m := range *m {
210248
if m.Type == t {
@@ -236,6 +274,7 @@ func TestResourceMappingsOrder(t *testing.T) {
236274
{"k8s_pod", "k8s_node"},
237275
{"k8s_node", "gce_instance"},
238276
{"k8s_node", "aws_ec2_instance"},
277+
{"apigee.googleapis.com/ProxyV2", "k8s_container"},
239278
{"apigee.googleapis.com/Proxy", "k8s_container"},
240279
{"apigee.googleapis.com/Devapp", "k8s_container"},
241280
}

0 commit comments

Comments
 (0)