Skip to content
This repository has been archived by the owner on Oct 3, 2023. It is now read-only.

Commit

Permalink
Default mapping for knative_broker and knative_trigger. (#278)
Browse files Browse the repository at this point in the history
  • Loading branch information
Harwayne committed Dec 8, 2020
1 parent 0fc2674 commit cb914a5
Show file tree
Hide file tree
Showing 2 changed files with 130 additions and 0 deletions.
28 changes: 28 additions & 0 deletions resource.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,11 @@ const (
knativeConfigurationName = "configuration_name"
knativeNamespaceName = "namespace_name"

knativeBrokerType = "knative_broker"
knativeBrokerName = "broker_name"
knativeTriggerType = "knative_trigger"
knativeTriggerName = "trigger_name"

appEngineInstanceType = "gae_instance"

appEngineService = "appengine.service.id"
Expand Down Expand Up @@ -133,6 +138,23 @@ var knativeRevisionResourceMap = map[string]string{
knativeNamespaceName: knativeNamespaceName,
}

var knativeBrokerResourceMap = map[string]string{
"project_id": stackdriverProjectID,
"location": resourcekeys.CloudKeyZone,
"cluster_name": resourcekeys.K8SKeyClusterName,
knativeNamespaceName: knativeNamespaceName,
knativeBrokerName: knativeBrokerName,
}

var knativeTriggerResourceMap = map[string]string{
"project_id": stackdriverProjectID,
"location": resourcekeys.CloudKeyZone,
"cluster_name": resourcekeys.K8SKeyClusterName,
knativeNamespaceName: knativeNamespaceName,
knativeBrokerName: knativeBrokerName,
knativeTriggerName: knativeTriggerName,
}

// getAutodetectedLabels returns all the labels from the Monitored Resource detected
// from the environment by calling monitoredresource.Autodetect. If a "zone" label is detected,
// a "location" label is added with the same value to account for differences between
Expand Down Expand Up @@ -213,6 +235,12 @@ func DefaultMapResource(res *resource.Resource) *monitoredrespb.MonitoredResourc
case res.Type == knativeResType:
result.Type = res.Type
match = knativeRevisionResourceMap
case res.Type == knativeBrokerType:
result.Type = knativeBrokerType
match = knativeBrokerResourceMap
case res.Type == knativeTriggerType:
result.Type = knativeTriggerType
match = knativeTriggerResourceMap
}

var missing bool
Expand Down
102 changes: 102 additions & 0 deletions resource_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -360,6 +360,108 @@ func TestDefaultMapResource(t *testing.T) {
},
},
},
// Mapping for knative_broker with autodetected GCP metadata labels.
{
input: &resource.Resource{
Type: "knative_broker",
Labels: map[string]string{
knativeNamespaceName: "namespace1",
knativeBrokerName: "default",
},
},
autoRes: &monitoredresource.GKEContainer{
ProjectID: "proj1",
Zone: "zone1",
ClusterName: "cluster1",
},
want: &monitoredrespb.MonitoredResource{
Type: "knative_broker",
Labels: map[string]string{
"project_id": "proj1",
"location": "zone1",
"cluster_name": "cluster1",
"namespace_name": "namespace1",
"broker_name": "default",
},
},
},
// Mapping for knative_broker with explicit GCP metadata labels.
{
input: &resource.Resource{
Type: "knative_broker",
Labels: map[string]string{
stackdriverProjectID: "proj1",
resourcekeys.CloudKeyZone: "zone1",
resourcekeys.K8SKeyClusterName: "cluster1",
knativeNamespaceName: "namespace1",
knativeBrokerName: "default",
},
},
autoRes: &monitoredresource.GKEContainer{},
want: &monitoredrespb.MonitoredResource{
Type: "knative_broker",
Labels: map[string]string{
"project_id": "proj1",
"location": "zone1",
"cluster_name": "cluster1",
"namespace_name": "namespace1",
"broker_name": "default",
},
},
},
// Mapping for knative_trigger with autodetected GCP metadata labels.
{
input: &resource.Resource{
Type: "knative_trigger",
Labels: map[string]string{
knativeNamespaceName: "namespace1",
knativeBrokerName: "default",
knativeTriggerName: "trigger-storage",
},
},
autoRes: &monitoredresource.GKEContainer{
ProjectID: "proj1",
Zone: "zone1",
ClusterName: "cluster1",
},
want: &monitoredrespb.MonitoredResource{
Type: "knative_trigger",
Labels: map[string]string{
"project_id": "proj1",
"location": "zone1",
"cluster_name": "cluster1",
"namespace_name": "namespace1",
"broker_name": "default",
"trigger_name": "trigger-storage",
},
},
},
// Mapping for knative_trigger with explicit GCP metadata labels.
{
input: &resource.Resource{
Type: "knative_trigger",
Labels: map[string]string{
stackdriverProjectID: "proj1",
resourcekeys.CloudKeyZone: "zone1",
resourcekeys.K8SKeyClusterName: "cluster1",
knativeNamespaceName: "namespace1",
knativeBrokerName: "default",
knativeTriggerName: "trigger-storage",
},
},
autoRes: &monitoredresource.GKEContainer{},
want: &monitoredrespb.MonitoredResource{
Type: "knative_trigger",
Labels: map[string]string{
"project_id": "proj1",
"location": "zone1",
"cluster_name": "cluster1",
"namespace_name": "namespace1",
"broker_name": "default",
"trigger_name": "trigger-storage",
},
},
},
}
for i, c := range cases {
t.Run(fmt.Sprintf("case-%d", i), func(t *testing.T) {
Expand Down

0 comments on commit cb914a5

Please sign in to comment.