@scoutflo/topology-contracts 0.7.18 → 0.7.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/correlation/connectionContractV1.d.ts +62 -46
- package/dist/src/correlation/connectionContractV1.js +12 -2
- package/dist/src/correlation/connectionContractV1.js.map +1 -1
- package/dist/src/correlation/contracts/families/index.d.ts +42 -0
- package/dist/src/correlation/contracts/families/kubernetes/index.d.ts +42 -0
- package/dist/src/correlation/contracts/families/kubernetes/index.js +32 -0
- package/dist/src/correlation/contracts/families/kubernetes/index.js.map +1 -1
- package/dist/src/correlation/contracts/registry.d.ts +42 -0
- package/dist/src/correlation/contracts/types.d.ts +1 -0
- package/dist/src/correlation/contracts/types.js +2 -1
- package/dist/src/correlation/contracts/types.js.map +1 -1
- package/dist/src/correlation/index.d.ts +1 -0
- package/dist/src/correlation/index.js +1 -0
- package/dist/src/correlation/index.js.map +1 -1
- package/dist/src/correlation/queryHintTemplates.d.ts +7 -0
- package/dist/src/correlation/queryHintTemplates.js +130 -0
- package/dist/src/correlation/queryHintTemplates.js.map +1 -0
- package/dist/test/contracts.test.js +65 -1
- package/dist/test/contracts.test.js.map +1 -1
- package/package.json +1 -1
|
@@ -295,6 +295,48 @@ export declare const CONNECTION_CONTRACT_FAMILY_REGISTRIES: readonly [readonly [
|
|
|
295
295
|
readonly provider_category: "deployment";
|
|
296
296
|
readonly notes: readonly ["Verified by fresh Gateway source-sync/correlation export; active deployment-binding V1 shape."];
|
|
297
297
|
readonly guardrails: readonly ["Do not rename the ratified active k8s workload namespace contract key.", "Gateway owns runtime stamping, validation, selector evaluation, and reconciliation."];
|
|
298
|
+
}, {
|
|
299
|
+
readonly key: "observed_service_calls_service";
|
|
300
|
+
readonly version: "v1";
|
|
301
|
+
readonly status: "active";
|
|
302
|
+
readonly family: "kubernetes";
|
|
303
|
+
readonly source_endpoint: {
|
|
304
|
+
readonly entity_type: "service";
|
|
305
|
+
readonly label: "observed_service";
|
|
306
|
+
};
|
|
307
|
+
readonly relation: "CALLS";
|
|
308
|
+
readonly target_endpoint: {
|
|
309
|
+
readonly entity_type: "service";
|
|
310
|
+
readonly label: "observed_service";
|
|
311
|
+
};
|
|
312
|
+
readonly relation_class: "associative";
|
|
313
|
+
readonly attribute_schema_key: "relationship.observed_service_call.v1";
|
|
314
|
+
readonly evidence_level: "implemented";
|
|
315
|
+
readonly provider_family: "kubernetes";
|
|
316
|
+
readonly provider_category: "deployment";
|
|
317
|
+
readonly notes: readonly ["Scoutflo Kubernetes agent eBPF relationship route materializes directed observed service calls."];
|
|
318
|
+
readonly guardrails: readonly ["Do not rename the ratified active k8s workload namespace contract key.", "Gateway owns runtime stamping, validation, selector evaluation, and reconciliation."];
|
|
319
|
+
}, {
|
|
320
|
+
readonly key: "observed_service_bidirectional_calls_service";
|
|
321
|
+
readonly version: "v1";
|
|
322
|
+
readonly status: "active";
|
|
323
|
+
readonly family: "kubernetes";
|
|
324
|
+
readonly source_endpoint: {
|
|
325
|
+
readonly entity_type: "service";
|
|
326
|
+
readonly label: "observed_service";
|
|
327
|
+
};
|
|
328
|
+
readonly relation: "BI_DIRECTIONAL_CALLS";
|
|
329
|
+
readonly target_endpoint: {
|
|
330
|
+
readonly entity_type: "service";
|
|
331
|
+
readonly label: "observed_service";
|
|
332
|
+
};
|
|
333
|
+
readonly relation_class: "associative";
|
|
334
|
+
readonly attribute_schema_key: "relationship.observed_service_call.v1";
|
|
335
|
+
readonly evidence_level: "implemented";
|
|
336
|
+
readonly provider_family: "kubernetes";
|
|
337
|
+
readonly provider_category: "deployment";
|
|
338
|
+
readonly notes: readonly ["Aggregate contract for persisted bidirectional observed service call rows derived from two directed eBPF observations."];
|
|
339
|
+
readonly guardrails: readonly ["Do not rename the ratified active k8s workload namespace contract key.", "Gateway owns runtime stamping, validation, selector evaluation, and reconciliation."];
|
|
298
340
|
}], readonly [{
|
|
299
341
|
readonly key: "github_account_owns_repository";
|
|
300
342
|
readonly version: "v1";
|
|
@@ -110,4 +110,46 @@ export declare const KUBERNETES_CONNECTION_CONTRACTS: readonly [{
|
|
|
110
110
|
readonly provider_category: "deployment";
|
|
111
111
|
readonly notes: readonly ["Verified by fresh Gateway source-sync/correlation export; active deployment-binding V1 shape."];
|
|
112
112
|
readonly guardrails: readonly ["Do not rename the ratified active k8s workload namespace contract key.", "Gateway owns runtime stamping, validation, selector evaluation, and reconciliation."];
|
|
113
|
+
}, {
|
|
114
|
+
readonly key: "observed_service_calls_service";
|
|
115
|
+
readonly version: "v1";
|
|
116
|
+
readonly status: "active";
|
|
117
|
+
readonly family: "kubernetes";
|
|
118
|
+
readonly source_endpoint: {
|
|
119
|
+
readonly entity_type: "service";
|
|
120
|
+
readonly label: "observed_service";
|
|
121
|
+
};
|
|
122
|
+
readonly relation: "CALLS";
|
|
123
|
+
readonly target_endpoint: {
|
|
124
|
+
readonly entity_type: "service";
|
|
125
|
+
readonly label: "observed_service";
|
|
126
|
+
};
|
|
127
|
+
readonly relation_class: "associative";
|
|
128
|
+
readonly attribute_schema_key: "relationship.observed_service_call.v1";
|
|
129
|
+
readonly evidence_level: "implemented";
|
|
130
|
+
readonly provider_family: "kubernetes";
|
|
131
|
+
readonly provider_category: "deployment";
|
|
132
|
+
readonly notes: readonly ["Scoutflo Kubernetes agent eBPF relationship route materializes directed observed service calls."];
|
|
133
|
+
readonly guardrails: readonly ["Do not rename the ratified active k8s workload namespace contract key.", "Gateway owns runtime stamping, validation, selector evaluation, and reconciliation."];
|
|
134
|
+
}, {
|
|
135
|
+
readonly key: "observed_service_bidirectional_calls_service";
|
|
136
|
+
readonly version: "v1";
|
|
137
|
+
readonly status: "active";
|
|
138
|
+
readonly family: "kubernetes";
|
|
139
|
+
readonly source_endpoint: {
|
|
140
|
+
readonly entity_type: "service";
|
|
141
|
+
readonly label: "observed_service";
|
|
142
|
+
};
|
|
143
|
+
readonly relation: "BI_DIRECTIONAL_CALLS";
|
|
144
|
+
readonly target_endpoint: {
|
|
145
|
+
readonly entity_type: "service";
|
|
146
|
+
readonly label: "observed_service";
|
|
147
|
+
};
|
|
148
|
+
readonly relation_class: "associative";
|
|
149
|
+
readonly attribute_schema_key: "relationship.observed_service_call.v1";
|
|
150
|
+
readonly evidence_level: "implemented";
|
|
151
|
+
readonly provider_family: "kubernetes";
|
|
152
|
+
readonly provider_category: "deployment";
|
|
153
|
+
readonly notes: readonly ["Aggregate contract for persisted bidirectional observed service call rows derived from two directed eBPF observations."];
|
|
154
|
+
readonly guardrails: readonly ["Do not rename the ratified active k8s workload namespace contract key.", "Gateway owns runtime stamping, validation, selector evaluation, and reconciliation."];
|
|
113
155
|
}];
|
|
@@ -96,5 +96,37 @@ exports.KUBERNETES_CONNECTION_CONTRACTS = [
|
|
|
96
96
|
notes: ['Verified by fresh Gateway source-sync/correlation export; active deployment-binding V1 shape.'],
|
|
97
97
|
guardrails: kubernetesContractGuardrails,
|
|
98
98
|
},
|
|
99
|
+
{
|
|
100
|
+
key: 'observed_service_calls_service',
|
|
101
|
+
version: 'v1',
|
|
102
|
+
status: status_1.CONNECTION_CONTRACT_STATUS.ACTIVE,
|
|
103
|
+
family: types_1.CONNECTION_CONTRACT_FAMILY.KUBERNETES,
|
|
104
|
+
source_endpoint: { entity_type: 'service', label: 'observed_service' },
|
|
105
|
+
relation: topology_1.TOPOLOGY_RELATION_TYPE.CALLS,
|
|
106
|
+
target_endpoint: { entity_type: 'service', label: 'observed_service' },
|
|
107
|
+
relation_class: 'associative',
|
|
108
|
+
attribute_schema_key: types_1.OBSERVED_SERVICE_CALL_ATTRIBUTE_SCHEMA_KEY,
|
|
109
|
+
evidence_level: types_1.CONNECTION_CONTRACT_EVIDENCE_LEVEL.IMPLEMENTED,
|
|
110
|
+
provider_family: 'kubernetes',
|
|
111
|
+
provider_category: types_1.CONNECTION_CONTRACT_PROVIDER_CATEGORY.DEPLOYMENT,
|
|
112
|
+
notes: ['Scoutflo Kubernetes agent eBPF relationship route materializes directed observed service calls.'],
|
|
113
|
+
guardrails: kubernetesContractGuardrails,
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
key: 'observed_service_bidirectional_calls_service',
|
|
117
|
+
version: 'v1',
|
|
118
|
+
status: status_1.CONNECTION_CONTRACT_STATUS.ACTIVE,
|
|
119
|
+
family: types_1.CONNECTION_CONTRACT_FAMILY.KUBERNETES,
|
|
120
|
+
source_endpoint: { entity_type: 'service', label: 'observed_service' },
|
|
121
|
+
relation: topology_1.TOPOLOGY_RELATION_TYPE.BI_DIRECTIONAL_CALLS,
|
|
122
|
+
target_endpoint: { entity_type: 'service', label: 'observed_service' },
|
|
123
|
+
relation_class: 'associative',
|
|
124
|
+
attribute_schema_key: types_1.OBSERVED_SERVICE_CALL_ATTRIBUTE_SCHEMA_KEY,
|
|
125
|
+
evidence_level: types_1.CONNECTION_CONTRACT_EVIDENCE_LEVEL.IMPLEMENTED,
|
|
126
|
+
provider_family: 'kubernetes',
|
|
127
|
+
provider_category: types_1.CONNECTION_CONTRACT_PROVIDER_CATEGORY.DEPLOYMENT,
|
|
128
|
+
notes: ['Aggregate contract for persisted bidirectional observed service call rows derived from two directed eBPF observations.'],
|
|
129
|
+
guardrails: kubernetesContractGuardrails,
|
|
130
|
+
},
|
|
99
131
|
];
|
|
100
132
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/correlation/contracts/families/kubernetes/index.ts"],"names":[],"mappings":";;;AAAA,wEAGuC;AACvC,qDAA0D;AAC1D,mDAAsF;AACtF,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/correlation/contracts/families/kubernetes/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -293,6 +293,48 @@ export declare const CONNECTION_CONTRACT_REGISTRY: ({
|
|
|
293
293
|
readonly provider_category: "deployment";
|
|
294
294
|
readonly notes: readonly ["Verified by fresh Gateway source-sync/correlation export; active deployment-binding V1 shape."];
|
|
295
295
|
readonly guardrails: readonly ["Do not rename the ratified active k8s workload namespace contract key.", "Gateway owns runtime stamping, validation, selector evaluation, and reconciliation."];
|
|
296
|
+
} | {
|
|
297
|
+
readonly key: "observed_service_calls_service";
|
|
298
|
+
readonly version: "v1";
|
|
299
|
+
readonly status: "active";
|
|
300
|
+
readonly family: "kubernetes";
|
|
301
|
+
readonly source_endpoint: {
|
|
302
|
+
readonly entity_type: "service";
|
|
303
|
+
readonly label: "observed_service";
|
|
304
|
+
};
|
|
305
|
+
readonly relation: "CALLS";
|
|
306
|
+
readonly target_endpoint: {
|
|
307
|
+
readonly entity_type: "service";
|
|
308
|
+
readonly label: "observed_service";
|
|
309
|
+
};
|
|
310
|
+
readonly relation_class: "associative";
|
|
311
|
+
readonly attribute_schema_key: "relationship.observed_service_call.v1";
|
|
312
|
+
readonly evidence_level: "implemented";
|
|
313
|
+
readonly provider_family: "kubernetes";
|
|
314
|
+
readonly provider_category: "deployment";
|
|
315
|
+
readonly notes: readonly ["Scoutflo Kubernetes agent eBPF relationship route materializes directed observed service calls."];
|
|
316
|
+
readonly guardrails: readonly ["Do not rename the ratified active k8s workload namespace contract key.", "Gateway owns runtime stamping, validation, selector evaluation, and reconciliation."];
|
|
317
|
+
} | {
|
|
318
|
+
readonly key: "observed_service_bidirectional_calls_service";
|
|
319
|
+
readonly version: "v1";
|
|
320
|
+
readonly status: "active";
|
|
321
|
+
readonly family: "kubernetes";
|
|
322
|
+
readonly source_endpoint: {
|
|
323
|
+
readonly entity_type: "service";
|
|
324
|
+
readonly label: "observed_service";
|
|
325
|
+
};
|
|
326
|
+
readonly relation: "BI_DIRECTIONAL_CALLS";
|
|
327
|
+
readonly target_endpoint: {
|
|
328
|
+
readonly entity_type: "service";
|
|
329
|
+
readonly label: "observed_service";
|
|
330
|
+
};
|
|
331
|
+
readonly relation_class: "associative";
|
|
332
|
+
readonly attribute_schema_key: "relationship.observed_service_call.v1";
|
|
333
|
+
readonly evidence_level: "implemented";
|
|
334
|
+
readonly provider_family: "kubernetes";
|
|
335
|
+
readonly provider_category: "deployment";
|
|
336
|
+
readonly notes: readonly ["Aggregate contract for persisted bidirectional observed service call rows derived from two directed eBPF observations."];
|
|
337
|
+
readonly guardrails: readonly ["Do not rename the ratified active k8s workload namespace contract key.", "Gateway owns runtime stamping, validation, selector evaluation, and reconciliation."];
|
|
296
338
|
} | {
|
|
297
339
|
readonly key: "github_account_owns_repository";
|
|
298
340
|
readonly version: "v1";
|
|
@@ -39,6 +39,7 @@ export declare const INTEGRATION_RELATIONSHIP_CLAIM_LAYER_VALUES: readonly ["ide
|
|
|
39
39
|
export declare const STRUCTURAL_CONTAINMENT_ATTRIBUTE_SCHEMA_KEY = "relationship.structural_containment.v1";
|
|
40
40
|
export declare const SELECTOR_ROUTING_ATTRIBUTE_SCHEMA_KEY = "relationship.selector_routing.v1";
|
|
41
41
|
export declare const DEPLOYMENT_BINDING_ATTRIBUTE_SCHEMA_KEY = "relationship.deployment_binding.v1";
|
|
42
|
+
export declare const OBSERVED_SERVICE_CALL_ATTRIBUTE_SCHEMA_KEY = "relationship.observed_service_call.v1";
|
|
42
43
|
export declare const OBSERVABILITY_BINDING_ATTRIBUTE_SCHEMA_KEY = "relationship.observability_binding.v1";
|
|
43
44
|
export declare const VCS_GITHUB_ATTRIBUTE_SCHEMA_KEY = "vcs.github";
|
|
44
45
|
export declare const DEPLOYMENT_ARGOCD_ATTRIBUTE_SCHEMA_KEY = "deployment.argocd";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.connectionContractMetadataSchema = exports.connectionContractEndpointSchema = exports.integrationRelationshipClaimLayersSchema = exports.integrationRelationshipClaimLayerSchema = exports.connectionContractProviderCategorySchema = exports.connectionContractEvidenceLevelSchema = exports.connectionContractFamilySchema = exports.CONTRACT_SCHEMA_ALERTING_PROVIDER_RESERVED = exports.CONTRACT_SCHEMA_MONITORING_ZENDUTY = exports.CONTRACT_SCHEMA_TICKETING_PROVIDER = exports.CONTRACT_SCHEMA_TICKETING_JSM = exports.CONTRACT_SCHEMA_TICKETING_JIRA = exports.CONTRACT_SCHEMA_TRACING_VICTORIATRACES = exports.CONTRACT_SCHEMA_TRACING_TEMPO = exports.CONTRACT_SCHEMA_LOGGING_VICTORIALOGS = exports.CONTRACT_SCHEMA_LOGGING_LOKI = exports.CONTRACT_SCHEMA_LOGGING_ELK = exports.CONTRACT_SCHEMA_MONITORING_PAGERDUTY = exports.CONTRACT_SCHEMA_MONITORING_GROUNDCOVER = exports.CONTRACT_SCHEMA_MONITORING_GRAFANA = exports.CONTRACT_SCHEMA_MONITORING_DATADOG = exports.CONTRACT_SCHEMA_MONITORING_SENTRY = exports.CONTRACT_SCHEMA_MONITORING_VICTORIAMETRICS = exports.CONTRACT_SCHEMA_MONITORING_MIMIR = exports.CONTRACT_SCHEMA_MONITORING_PROMETHEUS = exports.DEPLOYMENT_ARGOCD_ATTRIBUTE_SCHEMA_KEY = exports.VCS_GITHUB_ATTRIBUTE_SCHEMA_KEY = exports.OBSERVABILITY_BINDING_ATTRIBUTE_SCHEMA_KEY = exports.DEPLOYMENT_BINDING_ATTRIBUTE_SCHEMA_KEY = exports.SELECTOR_ROUTING_ATTRIBUTE_SCHEMA_KEY = exports.STRUCTURAL_CONTAINMENT_ATTRIBUTE_SCHEMA_KEY = exports.INTEGRATION_RELATIONSHIP_CLAIM_LAYER_VALUES = exports.INTEGRATION_RELATIONSHIP_CLAIM_LAYER = exports.CONNECTION_CONTRACT_PROVIDER_CATEGORY_VALUES = exports.CONNECTION_CONTRACT_PROVIDER_CATEGORY = exports.CONNECTION_CONTRACT_EVIDENCE_LEVEL_VALUES = exports.CONNECTION_CONTRACT_EVIDENCE_LEVEL = exports.CONNECTION_CONTRACT_FAMILY_VALUES = exports.CONNECTION_CONTRACT_FAMILY = void 0;
|
|
3
|
+
exports.connectionContractMetadataSchema = exports.connectionContractEndpointSchema = exports.integrationRelationshipClaimLayersSchema = exports.integrationRelationshipClaimLayerSchema = exports.connectionContractProviderCategorySchema = exports.connectionContractEvidenceLevelSchema = exports.connectionContractFamilySchema = exports.CONTRACT_SCHEMA_ALERTING_PROVIDER_RESERVED = exports.CONTRACT_SCHEMA_MONITORING_ZENDUTY = exports.CONTRACT_SCHEMA_TICKETING_PROVIDER = exports.CONTRACT_SCHEMA_TICKETING_JSM = exports.CONTRACT_SCHEMA_TICKETING_JIRA = exports.CONTRACT_SCHEMA_TRACING_VICTORIATRACES = exports.CONTRACT_SCHEMA_TRACING_TEMPO = exports.CONTRACT_SCHEMA_LOGGING_VICTORIALOGS = exports.CONTRACT_SCHEMA_LOGGING_LOKI = exports.CONTRACT_SCHEMA_LOGGING_ELK = exports.CONTRACT_SCHEMA_MONITORING_PAGERDUTY = exports.CONTRACT_SCHEMA_MONITORING_GROUNDCOVER = exports.CONTRACT_SCHEMA_MONITORING_GRAFANA = exports.CONTRACT_SCHEMA_MONITORING_DATADOG = exports.CONTRACT_SCHEMA_MONITORING_SENTRY = exports.CONTRACT_SCHEMA_MONITORING_VICTORIAMETRICS = exports.CONTRACT_SCHEMA_MONITORING_MIMIR = exports.CONTRACT_SCHEMA_MONITORING_PROMETHEUS = exports.DEPLOYMENT_ARGOCD_ATTRIBUTE_SCHEMA_KEY = exports.VCS_GITHUB_ATTRIBUTE_SCHEMA_KEY = exports.OBSERVABILITY_BINDING_ATTRIBUTE_SCHEMA_KEY = exports.OBSERVED_SERVICE_CALL_ATTRIBUTE_SCHEMA_KEY = exports.DEPLOYMENT_BINDING_ATTRIBUTE_SCHEMA_KEY = exports.SELECTOR_ROUTING_ATTRIBUTE_SCHEMA_KEY = exports.STRUCTURAL_CONTAINMENT_ATTRIBUTE_SCHEMA_KEY = exports.INTEGRATION_RELATIONSHIP_CLAIM_LAYER_VALUES = exports.INTEGRATION_RELATIONSHIP_CLAIM_LAYER = exports.CONNECTION_CONTRACT_PROVIDER_CATEGORY_VALUES = exports.CONNECTION_CONTRACT_PROVIDER_CATEGORY = exports.CONNECTION_CONTRACT_EVIDENCE_LEVEL_VALUES = exports.CONNECTION_CONTRACT_EVIDENCE_LEVEL = exports.CONNECTION_CONTRACT_FAMILY_VALUES = exports.CONNECTION_CONTRACT_FAMILY = void 0;
|
|
4
4
|
exports.connectionContractCompositeKey = connectionContractCompositeKey;
|
|
5
5
|
exports.connectionContractRef = connectionContractRef;
|
|
6
6
|
const zod_1 = require("zod");
|
|
@@ -71,6 +71,7 @@ exports.INTEGRATION_RELATIONSHIP_CLAIM_LAYER_VALUES = [
|
|
|
71
71
|
exports.STRUCTURAL_CONTAINMENT_ATTRIBUTE_SCHEMA_KEY = 'relationship.structural_containment.v1';
|
|
72
72
|
exports.SELECTOR_ROUTING_ATTRIBUTE_SCHEMA_KEY = 'relationship.selector_routing.v1';
|
|
73
73
|
exports.DEPLOYMENT_BINDING_ATTRIBUTE_SCHEMA_KEY = 'relationship.deployment_binding.v1';
|
|
74
|
+
exports.OBSERVED_SERVICE_CALL_ATTRIBUTE_SCHEMA_KEY = 'relationship.observed_service_call.v1';
|
|
74
75
|
exports.OBSERVABILITY_BINDING_ATTRIBUTE_SCHEMA_KEY = 'relationship.observability_binding.v1';
|
|
75
76
|
exports.VCS_GITHUB_ATTRIBUTE_SCHEMA_KEY = 'vcs.github';
|
|
76
77
|
exports.DEPLOYMENT_ARGOCD_ATTRIBUTE_SCHEMA_KEY = 'deployment.argocd';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/correlation/contracts/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/correlation/contracts/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,5 +20,6 @@ __exportStar(require("./lifecycle"), exports);
|
|
|
20
20
|
__exportStar(require("./contractVocabulary"), exports);
|
|
21
21
|
__exportStar(require("./connectionContractV1"), exports);
|
|
22
22
|
__exportStar(require("./claimProjection"), exports);
|
|
23
|
+
__exportStar(require("./queryHintTemplates"), exports);
|
|
23
24
|
__exportStar(require("./contracts"), exports);
|
|
24
25
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/correlation/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,8CAA4B;AAC5B,8CAA4B;AAC5B,uDAAqC;AACrC,yDAAuC;AACvC,oDAAkC;AAClC,8CAA4B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/correlation/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,8CAA4B;AAC5B,8CAA4B;AAC5B,uDAAqC;AACrC,yDAAuC;AACvC,oDAAkC;AAClC,uDAAqC;AACrC,8CAA4B"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { SupportedCorrelationSignalCategory } from './connectionContractV1';
|
|
2
|
+
export interface IntegrationQueryHintTemplate {
|
|
3
|
+
category: SupportedCorrelationSignalCategory;
|
|
4
|
+
provider_query_param: string;
|
|
5
|
+
syntax: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function queryHintTemplatesFor(provider: string, categories?: readonly string[]): IntegrationQueryHintTemplate[];
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.queryHintTemplatesFor = queryHintTemplatesFor;
|
|
4
|
+
const providers_1 = require("../providers");
|
|
5
|
+
const PROMETHEUS_COMPATIBLE_PROVIDERS = new Set([
|
|
6
|
+
providers_1.TOPOLOGY_PROVIDER.PROMETHEUS,
|
|
7
|
+
providers_1.TOPOLOGY_PROVIDER.VICTORIAMETRICS,
|
|
8
|
+
providers_1.TOPOLOGY_PROVIDER.MIMIR,
|
|
9
|
+
]);
|
|
10
|
+
const LOGQL_PROVIDERS = new Set([
|
|
11
|
+
providers_1.TOPOLOGY_PROVIDER.LOKI,
|
|
12
|
+
providers_1.TOPOLOGY_PROVIDER.VICTORIALOGS,
|
|
13
|
+
]);
|
|
14
|
+
const TRACE_PROVIDERS = new Set([
|
|
15
|
+
providers_1.TOPOLOGY_PROVIDER.TEMPO,
|
|
16
|
+
providers_1.TOPOLOGY_PROVIDER.VICTORIATRACES,
|
|
17
|
+
]);
|
|
18
|
+
const TEMPLATE_ROWS = {
|
|
19
|
+
prometheus_compatible: [
|
|
20
|
+
{ category: 'service', provider_query_param: 'match/query', syntax: '{service="<service>"} or {service_name="<service>"} or {job="<service>"}' },
|
|
21
|
+
{ category: 'namespace', provider_query_param: 'match/query', syntax: '{namespace="<namespace>"}' },
|
|
22
|
+
{ category: 'pod', provider_query_param: 'match/query', syntax: '{pod="<pod>"}' },
|
|
23
|
+
{ category: 'container', provider_query_param: 'match/query', syntax: '{container="<container>"}' },
|
|
24
|
+
{ category: 'cluster', provider_query_param: 'match/query', syntax: '{cluster="<cluster>"}' },
|
|
25
|
+
{ category: 'workload', provider_query_param: 'match/query', syntax: '{deployment="<workload>"} or {app="<workload>"} or {app_kubernetes_io_name="<workload>"}' },
|
|
26
|
+
{ category: 'environment', provider_query_param: 'match/query', syntax: '{environment="<environment>"}' },
|
|
27
|
+
],
|
|
28
|
+
logql: [
|
|
29
|
+
{ category: 'service', provider_query_param: 'query', syntax: '{service="<service>"} or {service_name="<service>"} or {app="<service>"}' },
|
|
30
|
+
{ category: 'namespace', provider_query_param: 'query', syntax: '{namespace="<namespace>"}' },
|
|
31
|
+
{ category: 'pod', provider_query_param: 'query', syntax: '{pod="<pod>"}' },
|
|
32
|
+
{ category: 'container', provider_query_param: 'query', syntax: '{container="<container>"}' },
|
|
33
|
+
{ category: 'cluster', provider_query_param: 'query', syntax: '{cluster="<cluster>"}' },
|
|
34
|
+
],
|
|
35
|
+
traces: [
|
|
36
|
+
{ category: 'service', provider_query_param: 'query/service', syntax: 'resource.service.name="<service>" or service="<service>"' },
|
|
37
|
+
{ category: 'namespace', provider_query_param: 'query', syntax: 'resource.k8s.namespace.name="<namespace>"' },
|
|
38
|
+
{ category: 'pod', provider_query_param: 'query', syntax: 'resource.k8s.pod.name="<pod>"' },
|
|
39
|
+
{ category: 'cluster', provider_query_param: 'query', syntax: 'resource.k8s.cluster.name="<cluster>"' },
|
|
40
|
+
{ category: 'environment', provider_query_param: 'query', syntax: 'resource.deployment.environment="<environment>"' },
|
|
41
|
+
],
|
|
42
|
+
[providers_1.TOPOLOGY_PROVIDER.DATADOG]: [
|
|
43
|
+
{ category: 'service', provider_query_param: 'query', syntax: 'service:<service>' },
|
|
44
|
+
{ category: 'namespace', provider_query_param: 'query', syntax: 'kube_namespace:<namespace>' },
|
|
45
|
+
{ category: 'pod', provider_query_param: 'query', syntax: 'pod_name:<pod>' },
|
|
46
|
+
{ category: 'container', provider_query_param: 'query', syntax: 'container_name:<container>' },
|
|
47
|
+
{ category: 'cluster', provider_query_param: 'query', syntax: 'kube_cluster_name:<cluster>' },
|
|
48
|
+
{ category: 'environment', provider_query_param: 'query', syntax: 'env:<environment>' },
|
|
49
|
+
{ category: 'team', provider_query_param: 'query', syntax: 'team:<team>' },
|
|
50
|
+
],
|
|
51
|
+
[providers_1.TOPOLOGY_PROVIDER.ARGOCD]: [
|
|
52
|
+
{ category: 'service', provider_query_param: 'application selector', syntax: 'app.kubernetes.io/name=<service>' },
|
|
53
|
+
{ category: 'namespace', provider_query_param: 'destination namespace', syntax: 'destination.namespace=<namespace>' },
|
|
54
|
+
{ category: 'cluster', provider_query_param: 'destination cluster', syntax: 'destination.name=<cluster>' },
|
|
55
|
+
{ category: 'project', provider_query_param: 'project', syntax: 'project=<project>' },
|
|
56
|
+
{ category: 'repository', provider_query_param: 'repo', syntax: 'repo=<repository>' },
|
|
57
|
+
],
|
|
58
|
+
[providers_1.TOPOLOGY_PROVIDER.GRAFANA]: [
|
|
59
|
+
{ category: 'service', provider_query_param: 'dashboard/alert labels', syntax: 'label service=<service> or service_name=<service>' },
|
|
60
|
+
{ category: 'namespace', provider_query_param: 'dashboard/alert labels', syntax: 'label namespace=<namespace>' },
|
|
61
|
+
{ category: 'environment', provider_query_param: 'dashboard/alert labels', syntax: 'label environment=<environment>' },
|
|
62
|
+
{ category: 'team', provider_query_param: 'dashboard/alert labels', syntax: 'label team=<team>' },
|
|
63
|
+
],
|
|
64
|
+
[providers_1.TOPOLOGY_PROVIDER.SENTRY]: [
|
|
65
|
+
{ category: 'service', provider_query_param: 'query', syntax: 'transaction:<service> or tags[service]=<service>' },
|
|
66
|
+
{ category: 'environment', provider_query_param: 'environment', syntax: 'environment=<environment>' },
|
|
67
|
+
{ category: 'project', provider_query_param: 'project_slug', syntax: 'project_slug=<project>' },
|
|
68
|
+
{ category: 'team', provider_query_param: 'team_slug', syntax: 'team_slug=<team>' },
|
|
69
|
+
],
|
|
70
|
+
[providers_1.TOPOLOGY_PROVIDER.JIRA]: [
|
|
71
|
+
{ category: 'project', provider_query_param: 'project_key/jql', syntax: 'project = <project>' },
|
|
72
|
+
{ category: 'service', provider_query_param: 'jql', syntax: 'labels = <service> or component = <service>' },
|
|
73
|
+
{ category: 'team', provider_query_param: 'jql', syntax: 'labels = <team>' },
|
|
74
|
+
],
|
|
75
|
+
[providers_1.TOPOLOGY_PROVIDER.JSM]: [
|
|
76
|
+
{ category: 'project', provider_query_param: 'project_key', syntax: 'project_key=<project>' },
|
|
77
|
+
{ category: 'service', provider_query_param: 'request filter', syntax: 'serviceDeskId=<service>' },
|
|
78
|
+
{ category: 'team', provider_query_param: 'request filter', syntax: 'organization/team=<team>' },
|
|
79
|
+
],
|
|
80
|
+
[providers_1.TOPOLOGY_PROVIDER.BITBUCKET]: [
|
|
81
|
+
{ category: 'repository', provider_query_param: 'repo_slug', syntax: 'repo_slug=<repository>' },
|
|
82
|
+
{ category: 'project', provider_query_param: 'project_key', syntax: 'project_key=<project>' },
|
|
83
|
+
{ category: 'team', provider_query_param: 'workspace', syntax: 'workspace=<team>' },
|
|
84
|
+
],
|
|
85
|
+
[providers_1.TOPOLOGY_PROVIDER.CONFLUENCE]: [
|
|
86
|
+
{ category: 'space', provider_query_param: 'space_key', syntax: 'space_key=<space>' },
|
|
87
|
+
{ category: 'service', provider_query_param: 'title/label filter', syntax: 'title or label contains <service>' },
|
|
88
|
+
],
|
|
89
|
+
[providers_1.TOPOLOGY_PROVIDER.ELK]: [
|
|
90
|
+
{ category: 'service', provider_query_param: 'query', syntax: 'service.name:"<service>" or service:"<service>"' },
|
|
91
|
+
{ category: 'namespace', provider_query_param: 'query', syntax: 'kubernetes.namespace:"<namespace>"' },
|
|
92
|
+
{ category: 'pod', provider_query_param: 'query', syntax: 'kubernetes.pod.name:"<pod>"' },
|
|
93
|
+
{ category: 'container', provider_query_param: 'query', syntax: 'container.name:"<container>"' },
|
|
94
|
+
{ category: 'environment', provider_query_param: 'query', syntax: 'environment:"<environment>"' },
|
|
95
|
+
],
|
|
96
|
+
[providers_1.TOPOLOGY_PROVIDER.GROUNDCOVER]: [
|
|
97
|
+
{ category: 'service', provider_query_param: 'workload/service filter', syntax: 'service=<service>' },
|
|
98
|
+
{ category: 'namespace', provider_query_param: 'namespace filter', syntax: 'namespace=<namespace>' },
|
|
99
|
+
{ category: 'workload', provider_query_param: 'workload filter', syntax: 'workload=<workload>' },
|
|
100
|
+
{ category: 'cluster', provider_query_param: 'cluster filter', syntax: 'cluster=<cluster>' },
|
|
101
|
+
],
|
|
102
|
+
[providers_1.TOPOLOGY_PROVIDER.PAGERDUTY]: [
|
|
103
|
+
{ category: 'service', provider_query_param: 'service_ids/query', syntax: 'service_ids=<service> or query=<service>' },
|
|
104
|
+
{ category: 'team', provider_query_param: 'team_ids/query', syntax: 'team_ids=<team> or query=<team>' },
|
|
105
|
+
{ category: 'environment', provider_query_param: 'query', syntax: 'query=<environment>' },
|
|
106
|
+
],
|
|
107
|
+
[providers_1.TOPOLOGY_PROVIDER.ZENDUTY]: [
|
|
108
|
+
{ category: 'service', provider_query_param: 'service_id/filter', syntax: 'service_id=<service>' },
|
|
109
|
+
{ category: 'team', provider_query_param: 'team_id/filter', syntax: 'team_id=<team>' },
|
|
110
|
+
{ category: 'environment', provider_query_param: 'filter', syntax: 'environment=<environment>' },
|
|
111
|
+
],
|
|
112
|
+
};
|
|
113
|
+
function templateFamilyForProvider(provider) {
|
|
114
|
+
const normalizedProvider = provider.trim().toLowerCase();
|
|
115
|
+
if (PROMETHEUS_COMPATIBLE_PROVIDERS.has(normalizedProvider))
|
|
116
|
+
return 'prometheus_compatible';
|
|
117
|
+
if (LOGQL_PROVIDERS.has(normalizedProvider))
|
|
118
|
+
return 'logql';
|
|
119
|
+
if (TRACE_PROVIDERS.has(normalizedProvider))
|
|
120
|
+
return 'traces';
|
|
121
|
+
return normalizedProvider;
|
|
122
|
+
}
|
|
123
|
+
function queryHintTemplatesFor(provider, categories) {
|
|
124
|
+
const templates = TEMPLATE_ROWS[templateFamilyForProvider(provider)] || [];
|
|
125
|
+
const categorySet = categories && categories.length > 0 ? new Set(categories) : undefined;
|
|
126
|
+
return templates
|
|
127
|
+
.filter((template) => !categorySet || categorySet.has(template.category))
|
|
128
|
+
.map((template) => ({ ...template }));
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=queryHintTemplates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queryHintTemplates.js","sourceRoot":"","sources":["../../../src/correlation/queryHintTemplates.ts"],"names":[],"mappings":"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"}
|
|
@@ -106,6 +106,29 @@ const src_1 = require("../src");
|
|
|
106
106
|
strict_1.default.equal(src_1.topologyCorrelationContractFamilySchema.parse('observability.metrics'), 'observability.metrics');
|
|
107
107
|
strict_1.default.equal(src_1.topologyCorrelationContractKeySchema.parse(ref.correlation_contract_key), 'k8s_workload_sends_metrics_to_prometheus_compatible');
|
|
108
108
|
});
|
|
109
|
+
(0, node_test_1.default)('exports observed service call relationship contracts', () => {
|
|
110
|
+
strict_1.default.equal(src_1.OBSERVED_SERVICE_CALLS_SERVICE_CONTRACT_KEY, 'observed_service_calls_service');
|
|
111
|
+
strict_1.default.equal(src_1.OBSERVED_SERVICE_BIDIRECTIONAL_CALLS_SERVICE_CONTRACT_KEY, 'observed_service_bidirectional_calls_service');
|
|
112
|
+
strict_1.default.equal(src_1.RELATIONSHIP_OBSERVED_SERVICE_CALL_ATTRIBUTE_SCHEMA_KEY, 'relationship.observed_service_call.v1');
|
|
113
|
+
strict_1.default.deepEqual(src_1.OBSERVED_SERVICE_CALLS_SERVICE_CONTRACT_REF, {
|
|
114
|
+
correlation_contract_key: src_1.OBSERVED_SERVICE_CALLS_SERVICE_CONTRACT_KEY,
|
|
115
|
+
correlation_contract_version: src_1.CONNECTION_CONTRACT_VERSION_V1,
|
|
116
|
+
});
|
|
117
|
+
strict_1.default.deepEqual(src_1.OBSERVED_SERVICE_BIDIRECTIONAL_CALLS_SERVICE_CONTRACT_REF, {
|
|
118
|
+
correlation_contract_key: src_1.OBSERVED_SERVICE_BIDIRECTIONAL_CALLS_SERVICE_CONTRACT_KEY,
|
|
119
|
+
correlation_contract_version: src_1.CONNECTION_CONTRACT_VERSION_V1,
|
|
120
|
+
});
|
|
121
|
+
strict_1.default.equal(src_1.connectionContractV1KeySchema.parse(src_1.OBSERVED_SERVICE_CALLS_SERVICE_CONTRACT_KEY), src_1.OBSERVED_SERVICE_CALLS_SERVICE_CONTRACT_KEY);
|
|
122
|
+
strict_1.default.equal(src_1.connectionContractAttributeSchemaKeySchema.parse(src_1.RELATIONSHIP_OBSERVED_SERVICE_CALL_ATTRIBUTE_SCHEMA_KEY), src_1.RELATIONSHIP_OBSERVED_SERVICE_CALL_ATTRIBUTE_SCHEMA_KEY);
|
|
123
|
+
const directed = (0, src_1.getConnectionContract)(src_1.OBSERVED_SERVICE_CALLS_SERVICE_CONTRACT_KEY, src_1.CONNECTION_CONTRACT_VERSION_V1);
|
|
124
|
+
const bidirectional = (0, src_1.getConnectionContract)(src_1.OBSERVED_SERVICE_BIDIRECTIONAL_CALLS_SERVICE_CONTRACT_KEY, src_1.CONNECTION_CONTRACT_VERSION_V1);
|
|
125
|
+
strict_1.default.equal(directed?.status, src_1.CONNECTION_CONTRACT_STATUS.ACTIVE);
|
|
126
|
+
strict_1.default.equal(directed?.relation, src_1.TOPOLOGY_RELATION_TYPE.CALLS);
|
|
127
|
+
strict_1.default.equal(directed?.attribute_schema_key, src_1.RELATIONSHIP_OBSERVED_SERVICE_CALL_ATTRIBUTE_SCHEMA_KEY);
|
|
128
|
+
strict_1.default.equal(bidirectional?.status, src_1.CONNECTION_CONTRACT_STATUS.ACTIVE);
|
|
129
|
+
strict_1.default.equal(bidirectional?.relation, src_1.TOPOLOGY_RELATION_TYPE.BI_DIRECTIONAL_CALLS);
|
|
130
|
+
strict_1.default.equal(bidirectional?.attribute_schema_key, src_1.RELATIONSHIP_OBSERVED_SERVICE_CALL_ATTRIBUTE_SCHEMA_KEY);
|
|
131
|
+
});
|
|
109
132
|
(0, node_test_1.default)('exports canonical correlation claim projection for topology and alert correlation', () => {
|
|
110
133
|
strict_1.default.deepEqual((0, src_1.claimProjectionForPath)(['resource', 'service.name']), {
|
|
111
134
|
category: 'service',
|
|
@@ -125,6 +148,33 @@ const src_1 = require("../src");
|
|
|
125
148
|
scoring: false,
|
|
126
149
|
});
|
|
127
150
|
});
|
|
151
|
+
(0, node_test_1.default)('exports provider query hint templates for derived investigation context', () => {
|
|
152
|
+
strict_1.default.deepEqual((0, src_1.queryHintTemplatesFor)('victoriametrics', ['service', 'namespace']), [
|
|
153
|
+
{
|
|
154
|
+
category: 'service',
|
|
155
|
+
provider_query_param: 'match/query',
|
|
156
|
+
syntax: '{service="<service>"} or {service_name="<service>"} or {job="<service>"}',
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
category: 'namespace',
|
|
160
|
+
provider_query_param: 'match/query',
|
|
161
|
+
syntax: '{namespace="<namespace>"}',
|
|
162
|
+
},
|
|
163
|
+
]);
|
|
164
|
+
strict_1.default.deepEqual((0, src_1.queryHintTemplatesFor)('sentry', ['project', 'environment']), [
|
|
165
|
+
{
|
|
166
|
+
category: 'environment',
|
|
167
|
+
provider_query_param: 'environment',
|
|
168
|
+
syntax: 'environment=<environment>',
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
category: 'project',
|
|
172
|
+
provider_query_param: 'project_slug',
|
|
173
|
+
syntax: 'project_slug=<project>',
|
|
174
|
+
},
|
|
175
|
+
]);
|
|
176
|
+
strict_1.default.deepEqual((0, src_1.queryHintTemplatesFor)('unknown-provider', ['service']), []);
|
|
177
|
+
});
|
|
128
178
|
(0, node_test_1.default)('exports ratified Connection Contract V1 topology vocabulary', () => {
|
|
129
179
|
strict_1.default.equal(src_1.CONNECTION_CONTRACT_VERSION_V1, 'v1');
|
|
130
180
|
strict_1.default.equal(src_1.connectionContractVersionV1Schema.parse('v1'), 'v1');
|
|
@@ -143,6 +193,8 @@ const src_1 = require("../src");
|
|
|
143
193
|
'k8s_workload_part_of_namespace',
|
|
144
194
|
'k8s_service_routes_to_workload',
|
|
145
195
|
'service_deployed_as_k8s_workload',
|
|
196
|
+
'observed_service_calls_service',
|
|
197
|
+
'observed_service_bidirectional_calls_service',
|
|
146
198
|
'k8s_workload_sends_metrics_to_prometheus_compatible',
|
|
147
199
|
'workload_reports_errors_to_sentry',
|
|
148
200
|
'k8s_workload_sends_logs_to_loki',
|
|
@@ -210,6 +262,14 @@ const src_1 = require("../src");
|
|
|
210
262
|
correlation_contract_key: 'service_deployed_as_k8s_workload',
|
|
211
263
|
correlation_contract_version: 'v1',
|
|
212
264
|
},
|
|
265
|
+
{
|
|
266
|
+
correlation_contract_key: 'observed_service_calls_service',
|
|
267
|
+
correlation_contract_version: 'v1',
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
correlation_contract_key: 'observed_service_bidirectional_calls_service',
|
|
271
|
+
correlation_contract_version: 'v1',
|
|
272
|
+
},
|
|
213
273
|
{
|
|
214
274
|
correlation_contract_key: 'k8s_workload_sends_metrics_to_prometheus_compatible',
|
|
215
275
|
correlation_contract_version: 'v1',
|
|
@@ -276,12 +336,14 @@ const src_1 = require("../src");
|
|
|
276
336
|
strict_1.default.equal(src_1.RELATIONSHIP_STRUCTURAL_CONTAINMENT_ATTRIBUTE_SCHEMA_KEY, 'relationship.structural_containment.v1');
|
|
277
337
|
strict_1.default.equal(src_1.RELATIONSHIP_SELECTOR_ROUTING_ATTRIBUTE_SCHEMA_KEY, 'relationship.selector_routing.v1');
|
|
278
338
|
strict_1.default.equal(src_1.RELATIONSHIP_DEPLOYMENT_BINDING_ATTRIBUTE_SCHEMA_KEY, 'relationship.deployment_binding.v1');
|
|
339
|
+
strict_1.default.equal(src_1.RELATIONSHIP_OBSERVED_SERVICE_CALL_ATTRIBUTE_SCHEMA_KEY, 'relationship.observed_service_call.v1');
|
|
279
340
|
strict_1.default.equal(src_1.RELATIONSHIP_OBSERVABILITY_BINDING_ATTRIBUTE_SCHEMA_KEY, 'relationship.observability_binding.v1');
|
|
280
341
|
strict_1.default.equal(src_1.connectionContractAttributeSchemaKeySchema.parse(src_1.RELATIONSHIP_STRUCTURAL_CONTAINMENT_ATTRIBUTE_SCHEMA_KEY), src_1.RELATIONSHIP_STRUCTURAL_CONTAINMENT_ATTRIBUTE_SCHEMA_KEY);
|
|
281
342
|
strict_1.default.deepEqual([...src_1.CONNECTION_CONTRACT_ATTRIBUTE_SCHEMA_KEYS], [
|
|
282
343
|
'relationship.structural_containment.v1',
|
|
283
344
|
'relationship.selector_routing.v1',
|
|
284
345
|
'relationship.deployment_binding.v1',
|
|
346
|
+
'relationship.observed_service_call.v1',
|
|
285
347
|
'relationship.observability_binding.v1',
|
|
286
348
|
'monitoring.prometheus',
|
|
287
349
|
'monitoring.mimir',
|
|
@@ -380,6 +442,8 @@ const src_1 = require("../src");
|
|
|
380
442
|
'k8s_workload_part_of_namespace/v1',
|
|
381
443
|
'k8s_service_routes_to_workload/v1',
|
|
382
444
|
'service_deployed_as_k8s_workload/v1',
|
|
445
|
+
'observed_service_calls_service/v1',
|
|
446
|
+
'observed_service_bidirectional_calls_service/v1',
|
|
383
447
|
'k8s_workload_sends_metrics_to_prometheus_compatible/v1',
|
|
384
448
|
'workload_reports_errors_to_sentry/v1',
|
|
385
449
|
'k8s_workload_sends_logs_to_loki/v1',
|
|
@@ -448,7 +512,7 @@ const src_1 = require("../src");
|
|
|
448
512
|
strict_1.default.deepEqual(observabilityBindingKeys.map((key) => (0, src_1.getConnectionContract)(key, 'v1')?.attribute_schema_key), observabilityBindingKeys.map(() => 'relationship.observability_binding.v1'));
|
|
449
513
|
strict_1.default.equal((0, src_1.getConnectionContract)('service_uses_ticketing_provider', 'v1')?.status, src_1.CONNECTION_CONTRACT_STATUS.RESERVED);
|
|
450
514
|
strict_1.default.equal((0, src_1.listConnectionContractsByFamily)(src_1.CONNECTION_CONTRACT_FAMILY.AWS).length, 8);
|
|
451
|
-
strict_1.default.equal((0, src_1.listConnectionContractsByFamily)(src_1.CONNECTION_CONTRACT_FAMILY.KUBERNETES).length,
|
|
515
|
+
strict_1.default.equal((0, src_1.listConnectionContractsByFamily)(src_1.CONNECTION_CONTRACT_FAMILY.KUBERNETES).length, 7);
|
|
452
516
|
strict_1.default.equal((0, src_1.listConnectionContractsByFamily)(src_1.CONNECTION_CONTRACT_FAMILY.GITHUB).length, 3);
|
|
453
517
|
strict_1.default.equal((0, src_1.listConnectionContractsByFamily)(src_1.CONNECTION_CONTRACT_FAMILY.ARGOCD).length, 3);
|
|
454
518
|
strict_1.default.deepEqual((0, src_1.listConnectionContractsByStatus)(src_1.CONNECTION_CONTRACT_STATUS.CANDIDATE).map((contract) => contract.key), [
|