@scoutflo/topology-contracts 0.7.1 → 0.7.3
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/candidate.d.ts +6 -0
- package/dist/src/correlation/candidate.js +3 -0
- package/dist/src/correlation/candidate.js.map +1 -1
- package/dist/src/correlation/connectionContractV1.d.ts +80 -0
- package/dist/src/correlation/connectionContractV1.js +139 -0
- package/dist/src/correlation/connectionContractV1.js.map +1 -0
- 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/investigation/context.d.ts +126 -126
- package/dist/src/providers/aliases.d.ts +1 -1
- package/dist/src/providers/providers.d.ts +3 -2
- package/dist/src/providers/providers.js +2 -0
- package/dist/src/providers/providers.js.map +1 -1
- package/dist/src/source-sync/candidate.d.ts +53 -47
- package/dist/src/source-sync/candidate.js +3 -0
- package/dist/src/source-sync/candidate.js.map +1 -1
- package/dist/src/source-sync/capability.d.ts +3 -3
- package/dist/src/source-sync/intent.d.ts +12 -12
- package/dist/src/source-sync/lifecycle.d.ts +9 -9
- package/dist/src/source-sync/scope.d.ts +3 -3
- package/dist/test/contracts.test.js +102 -3
- package/dist/test/contracts.test.js.map +1 -1
- package/package.json +1 -1
|
@@ -25,6 +25,8 @@ export declare const topologyCorrelationCandidateSchema: z.ZodObject<{
|
|
|
25
25
|
id: string;
|
|
26
26
|
}>;
|
|
27
27
|
relation: z.ZodString;
|
|
28
|
+
correlation_contract_key: z.ZodOptional<z.ZodString>;
|
|
29
|
+
correlation_contract_version: z.ZodOptional<z.ZodString>;
|
|
28
30
|
canonical_key: z.ZodString;
|
|
29
31
|
semantic_key: z.ZodString;
|
|
30
32
|
confidence: z.ZodObject<{
|
|
@@ -169,6 +171,8 @@ export declare const topologyCorrelationCandidateSchema: z.ZodObject<{
|
|
|
169
171
|
id: string;
|
|
170
172
|
}>;
|
|
171
173
|
relation: z.ZodString;
|
|
174
|
+
correlation_contract_key: z.ZodOptional<z.ZodString>;
|
|
175
|
+
correlation_contract_version: z.ZodOptional<z.ZodString>;
|
|
172
176
|
canonical_key: z.ZodString;
|
|
173
177
|
semantic_key: z.ZodString;
|
|
174
178
|
confidence: z.ZodObject<{
|
|
@@ -313,6 +317,8 @@ export declare const topologyCorrelationCandidateSchema: z.ZodObject<{
|
|
|
313
317
|
id: string;
|
|
314
318
|
}>;
|
|
315
319
|
relation: z.ZodString;
|
|
320
|
+
correlation_contract_key: z.ZodOptional<z.ZodString>;
|
|
321
|
+
correlation_contract_version: z.ZodOptional<z.ZodString>;
|
|
316
322
|
canonical_key: z.ZodString;
|
|
317
323
|
semantic_key: z.ZodString;
|
|
318
324
|
confidence: z.ZodObject<{
|
|
@@ -4,6 +4,7 @@ exports.topologyCorrelationCandidateSchema = exports.topologyCorrelationDecision
|
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
const correlation_core_1 = require("@scoutflo/correlation-core");
|
|
6
6
|
const common_1 = require("../source-sync/common");
|
|
7
|
+
const contractVocabulary_1 = require("./contractVocabulary");
|
|
7
8
|
exports.topologyCorrelationDecisionSchema = zod_1.z.enum([
|
|
8
9
|
'ready',
|
|
9
10
|
'warning_only',
|
|
@@ -19,6 +20,8 @@ exports.topologyCorrelationCandidateSchema = zod_1.z.object({
|
|
|
19
20
|
from: correlation_core_1.correlationEntityRefSchema,
|
|
20
21
|
to: correlation_core_1.correlationEntityRefSchema,
|
|
21
22
|
relation: common_1.nonEmptyStringSchema,
|
|
23
|
+
correlation_contract_key: contractVocabulary_1.topologyCorrelationContractKeySchema.optional(),
|
|
24
|
+
correlation_contract_version: contractVocabulary_1.topologyCorrelationContractVersionSchema.optional(),
|
|
22
25
|
canonical_key: common_1.nonEmptyStringSchema,
|
|
23
26
|
semantic_key: common_1.nonEmptyStringSchema,
|
|
24
27
|
confidence: correlation_core_1.confidenceSchema,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"candidate.js","sourceRoot":"","sources":["../../../src/correlation/candidate.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,iEAKoC;AACpC,kDAG+B;
|
|
1
|
+
{"version":3,"file":"candidate.js","sourceRoot":"","sources":["../../../src/correlation/candidate.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,iEAKoC;AACpC,kDAG+B;AAC/B,6DAG8B;AAEjB,QAAA,iCAAiC,GAAG,OAAC,CAAC,IAAI,CAAC;IACtD,OAAO;IACP,cAAc;IACd,WAAW;IACX,SAAS;IACT,UAAU;IACV,YAAY;CACb,CAAC,CAAC;AAEU,QAAA,kCAAkC,GAAG,OAAC,CAAC,MAAM,CAAC;IACzD,aAAa,EAAE,6BAAoB;IACnC,QAAQ,EAAE,6BAAoB;IAC9B,YAAY,EAAE,6BAAoB;IAClC,IAAI,EAAE,6CAA0B;IAChC,EAAE,EAAE,6CAA0B;IAC9B,QAAQ,EAAE,6BAAoB;IAC9B,wBAAwB,EAAE,yDAAoC,CAAC,QAAQ,EAAE;IACzE,4BAA4B,EAAE,6DAAwC,CAAC,QAAQ,EAAE;IACjF,aAAa,EAAE,6BAAoB;IACnC,YAAY,EAAE,6BAAoB;IAClC,UAAU,EAAE,mCAAgB;IAC5B,QAAQ,EAAE,OAAC,CAAC,KAAK,CAAC,4CAAyB,CAAC;IAC5C,QAAQ,EAAE,yCAAiC;IAC3C,WAAW,EAAE,OAAC,CAAC,KAAK,CAAC,8CAA2B,CAAC,CAAC,QAAQ,EAAE;IAC5D,UAAU,EAAE,qBAAY,CAAC,QAAQ,EAAE;IACnC,iBAAiB,EAAE,qBAAY,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAC,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const CONNECTION_CONTRACT_VERSION_V1 = "v1";
|
|
3
|
+
export declare const K8S_WORKLOAD_PART_OF_NAMESPACE_CONTRACT_KEY = "k8s_workload_part_of_namespace";
|
|
4
|
+
export declare const K8S_WORKLOAD_SENDS_METRICS_TO_PROMETHEUS_COMPATIBLE_CONTRACT_KEY = "k8s_workload_sends_metrics_to_prometheus_compatible";
|
|
5
|
+
export declare const WORKLOAD_REPORTS_ERRORS_TO_SENTRY_CONTRACT_KEY = "workload_reports_errors_to_sentry";
|
|
6
|
+
export declare const CONNECTION_CONTRACT_V1_KEYS: readonly ["k8s_workload_part_of_namespace", "k8s_workload_sends_metrics_to_prometheus_compatible", "workload_reports_errors_to_sentry"];
|
|
7
|
+
export declare const RELATIONSHIP_STRUCTURAL_CONTAINMENT_ATTRIBUTE_SCHEMA_KEY = "relationship.structural_containment.v1";
|
|
8
|
+
export declare const MONITORING_PROMETHEUS_ATTRIBUTE_SCHEMA_KEY = "monitoring.prometheus";
|
|
9
|
+
export declare const MONITORING_MIMIR_ATTRIBUTE_SCHEMA_KEY = "monitoring.mimir";
|
|
10
|
+
export declare const MONITORING_VICTORIAMETRICS_ATTRIBUTE_SCHEMA_KEY = "monitoring.victoriametrics";
|
|
11
|
+
export declare const MONITORING_SENTRY_ATTRIBUTE_SCHEMA_KEY = "monitoring.sentry";
|
|
12
|
+
export declare const CONNECTION_CONTRACT_ATTRIBUTE_SCHEMA_KEYS: readonly ["relationship.structural_containment.v1", "monitoring.prometheus", "monitoring.mimir", "monitoring.victoriametrics", "monitoring.sentry"];
|
|
13
|
+
export declare const PERSISTED_CANONICAL_IDENTITY_CLAIMS: readonly ["service_name", "namespace", "workload_name", "workload_type", "cluster_id", "environment", "provider", "integration_category"];
|
|
14
|
+
export declare const KUBERNETES_WORKLOAD_CANONICAL_IDENTITY_CLAIMS: readonly ["cluster_id", "namespace", "workload_name", "workload_type"];
|
|
15
|
+
export declare const RATIFIED_MATCH_EVIDENCE_SIGNAL_CATEGORIES: readonly ["service", "workload", "cluster", "pod", "container", "app", "team", "project", "repository", "space"];
|
|
16
|
+
export declare const SUPPORTED_CORRELATION_SIGNAL_CATEGORIES: readonly ["service", "namespace", "workload", "cluster", "pod", "container", "app", "team", "project", "repository", "space", "environment"];
|
|
17
|
+
export declare const INTEGRATION_CATEGORY_VALUES: readonly ["observability", "logging", "tracing", "vcs", "ticketing", "deployment", "alerting"];
|
|
18
|
+
export declare const PROMETHEUS_COMPATIBLE_PROVIDERS: readonly ["mimir", "prometheus", "victoriametrics"];
|
|
19
|
+
export declare const PROMETHEUS_COMPATIBLE_ATTRIBUTE_SCHEMA_BY_PROVIDER: {
|
|
20
|
+
readonly mimir: "monitoring.mimir";
|
|
21
|
+
readonly prometheus: "monitoring.prometheus";
|
|
22
|
+
readonly victoriametrics: "monitoring.victoriametrics";
|
|
23
|
+
};
|
|
24
|
+
export declare const connectionContractVersionV1Schema: z.ZodLiteral<"v1">;
|
|
25
|
+
export declare const connectionContractV1KeySchema: z.ZodEnum<["k8s_workload_part_of_namespace", "k8s_workload_sends_metrics_to_prometheus_compatible", "workload_reports_errors_to_sentry"]>;
|
|
26
|
+
export declare const connectionContractAttributeSchemaKeySchema: z.ZodEnum<["relationship.structural_containment.v1", "monitoring.prometheus", "monitoring.mimir", "monitoring.victoriametrics", "monitoring.sentry"]>;
|
|
27
|
+
export declare const persistedCanonicalIdentityClaimSchema: z.ZodEnum<["service_name", "namespace", "workload_name", "workload_type", "cluster_id", "environment", "provider", "integration_category"]>;
|
|
28
|
+
export declare const kubernetesWorkloadCanonicalIdentityClaimSchema: z.ZodEnum<["cluster_id", "namespace", "workload_name", "workload_type"]>;
|
|
29
|
+
export declare const ratifiedMatchEvidenceSignalCategorySchema: z.ZodEnum<["service", "workload", "cluster", "pod", "container", "app", "team", "project", "repository", "space"]>;
|
|
30
|
+
export declare const supportedCorrelationSignalCategorySchema: z.ZodEnum<["service", "namespace", "workload", "cluster", "pod", "container", "app", "team", "project", "repository", "space", "environment"]>;
|
|
31
|
+
export declare const integrationCategoryValueSchema: z.ZodEnum<["observability", "logging", "tracing", "vcs", "ticketing", "deployment", "alerting"]>;
|
|
32
|
+
export declare const prometheusCompatibleProviderSchema: z.ZodEnum<["mimir", "prometheus", "victoriametrics"]>;
|
|
33
|
+
export declare const connectionContractV1RefSchema: z.ZodObject<{
|
|
34
|
+
correlation_contract_key: z.ZodEnum<["k8s_workload_part_of_namespace", "k8s_workload_sends_metrics_to_prometheus_compatible", "workload_reports_errors_to_sentry"]>;
|
|
35
|
+
correlation_contract_version: z.ZodLiteral<"v1">;
|
|
36
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
37
|
+
correlation_contract_key: z.ZodEnum<["k8s_workload_part_of_namespace", "k8s_workload_sends_metrics_to_prometheus_compatible", "workload_reports_errors_to_sentry"]>;
|
|
38
|
+
correlation_contract_version: z.ZodLiteral<"v1">;
|
|
39
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
40
|
+
correlation_contract_key: z.ZodEnum<["k8s_workload_part_of_namespace", "k8s_workload_sends_metrics_to_prometheus_compatible", "workload_reports_errors_to_sentry"]>;
|
|
41
|
+
correlation_contract_version: z.ZodLiteral<"v1">;
|
|
42
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
43
|
+
export declare const K8S_WORKLOAD_PART_OF_NAMESPACE_CONTRACT_REF: {
|
|
44
|
+
readonly correlation_contract_key: "k8s_workload_part_of_namespace";
|
|
45
|
+
readonly correlation_contract_version: "v1";
|
|
46
|
+
};
|
|
47
|
+
export declare const K8S_WORKLOAD_SENDS_METRICS_TO_PROMETHEUS_COMPATIBLE_CONTRACT_REF: {
|
|
48
|
+
readonly correlation_contract_key: "k8s_workload_sends_metrics_to_prometheus_compatible";
|
|
49
|
+
readonly correlation_contract_version: "v1";
|
|
50
|
+
};
|
|
51
|
+
export declare const WORKLOAD_REPORTS_ERRORS_TO_SENTRY_CONTRACT_REF: {
|
|
52
|
+
readonly correlation_contract_key: "workload_reports_errors_to_sentry";
|
|
53
|
+
readonly correlation_contract_version: "v1";
|
|
54
|
+
};
|
|
55
|
+
export declare const CONNECTION_CONTRACT_V1_REFS: readonly [{
|
|
56
|
+
readonly correlation_contract_key: "k8s_workload_part_of_namespace";
|
|
57
|
+
readonly correlation_contract_version: "v1";
|
|
58
|
+
}, {
|
|
59
|
+
readonly correlation_contract_key: "k8s_workload_sends_metrics_to_prometheus_compatible";
|
|
60
|
+
readonly correlation_contract_version: "v1";
|
|
61
|
+
}, {
|
|
62
|
+
readonly correlation_contract_key: "workload_reports_errors_to_sentry";
|
|
63
|
+
readonly correlation_contract_version: "v1";
|
|
64
|
+
}];
|
|
65
|
+
export type ConnectionContractV1Key = z.infer<typeof connectionContractV1KeySchema>;
|
|
66
|
+
export type ConnectionContractVersionV1 = z.infer<typeof connectionContractVersionV1Schema>;
|
|
67
|
+
export type ConnectionContractV1Ref = z.infer<typeof connectionContractV1RefSchema>;
|
|
68
|
+
export type ConnectionContractAttributeSchemaKey = z.infer<typeof connectionContractAttributeSchemaKeySchema>;
|
|
69
|
+
export type PersistedCanonicalIdentityClaim = z.infer<typeof persistedCanonicalIdentityClaimSchema>;
|
|
70
|
+
export type KubernetesWorkloadCanonicalIdentityClaim = z.infer<typeof kubernetesWorkloadCanonicalIdentityClaimSchema>;
|
|
71
|
+
export type RatifiedMatchEvidenceSignalCategory = z.infer<typeof ratifiedMatchEvidenceSignalCategorySchema>;
|
|
72
|
+
export type SupportedCorrelationSignalCategory = z.infer<typeof supportedCorrelationSignalCategorySchema>;
|
|
73
|
+
export type IntegrationCategoryValue = z.infer<typeof integrationCategoryValueSchema>;
|
|
74
|
+
export type PrometheusCompatibleProvider = z.infer<typeof prometheusCompatibleProviderSchema>;
|
|
75
|
+
export declare function prometheusCompatibleContractForProvider(provider: string): (typeof K8S_WORKLOAD_SENDS_METRICS_TO_PROMETHEUS_COMPATIBLE_CONTRACT_REF & {
|
|
76
|
+
attribute_schema_key: (typeof PROMETHEUS_COMPATIBLE_ATTRIBUTE_SCHEMA_BY_PROVIDER)[PrometheusCompatibleProvider];
|
|
77
|
+
}) | undefined;
|
|
78
|
+
export declare function sentryContractForProvider(provider: string): (typeof WORKLOAD_REPORTS_ERRORS_TO_SENTRY_CONTRACT_REF & {
|
|
79
|
+
attribute_schema_key: typeof MONITORING_SENTRY_ATTRIBUTE_SCHEMA_KEY;
|
|
80
|
+
}) | undefined;
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CONNECTION_CONTRACT_V1_REFS = exports.WORKLOAD_REPORTS_ERRORS_TO_SENTRY_CONTRACT_REF = exports.K8S_WORKLOAD_SENDS_METRICS_TO_PROMETHEUS_COMPATIBLE_CONTRACT_REF = exports.K8S_WORKLOAD_PART_OF_NAMESPACE_CONTRACT_REF = exports.connectionContractV1RefSchema = exports.prometheusCompatibleProviderSchema = exports.integrationCategoryValueSchema = exports.supportedCorrelationSignalCategorySchema = exports.ratifiedMatchEvidenceSignalCategorySchema = exports.kubernetesWorkloadCanonicalIdentityClaimSchema = exports.persistedCanonicalIdentityClaimSchema = exports.connectionContractAttributeSchemaKeySchema = exports.connectionContractV1KeySchema = exports.connectionContractVersionV1Schema = exports.PROMETHEUS_COMPATIBLE_ATTRIBUTE_SCHEMA_BY_PROVIDER = exports.PROMETHEUS_COMPATIBLE_PROVIDERS = exports.INTEGRATION_CATEGORY_VALUES = exports.SUPPORTED_CORRELATION_SIGNAL_CATEGORIES = exports.RATIFIED_MATCH_EVIDENCE_SIGNAL_CATEGORIES = exports.KUBERNETES_WORKLOAD_CANONICAL_IDENTITY_CLAIMS = exports.PERSISTED_CANONICAL_IDENTITY_CLAIMS = exports.CONNECTION_CONTRACT_ATTRIBUTE_SCHEMA_KEYS = exports.MONITORING_SENTRY_ATTRIBUTE_SCHEMA_KEY = exports.MONITORING_VICTORIAMETRICS_ATTRIBUTE_SCHEMA_KEY = exports.MONITORING_MIMIR_ATTRIBUTE_SCHEMA_KEY = exports.MONITORING_PROMETHEUS_ATTRIBUTE_SCHEMA_KEY = exports.RELATIONSHIP_STRUCTURAL_CONTAINMENT_ATTRIBUTE_SCHEMA_KEY = exports.CONNECTION_CONTRACT_V1_KEYS = exports.WORKLOAD_REPORTS_ERRORS_TO_SENTRY_CONTRACT_KEY = exports.K8S_WORKLOAD_SENDS_METRICS_TO_PROMETHEUS_COMPATIBLE_CONTRACT_KEY = exports.K8S_WORKLOAD_PART_OF_NAMESPACE_CONTRACT_KEY = exports.CONNECTION_CONTRACT_VERSION_V1 = void 0;
|
|
4
|
+
exports.prometheusCompatibleContractForProvider = prometheusCompatibleContractForProvider;
|
|
5
|
+
exports.sentryContractForProvider = sentryContractForProvider;
|
|
6
|
+
const zod_1 = require("zod");
|
|
7
|
+
const providers_1 = require("../providers");
|
|
8
|
+
exports.CONNECTION_CONTRACT_VERSION_V1 = 'v1';
|
|
9
|
+
exports.K8S_WORKLOAD_PART_OF_NAMESPACE_CONTRACT_KEY = 'k8s_workload_part_of_namespace';
|
|
10
|
+
exports.K8S_WORKLOAD_SENDS_METRICS_TO_PROMETHEUS_COMPATIBLE_CONTRACT_KEY = 'k8s_workload_sends_metrics_to_prometheus_compatible';
|
|
11
|
+
exports.WORKLOAD_REPORTS_ERRORS_TO_SENTRY_CONTRACT_KEY = 'workload_reports_errors_to_sentry';
|
|
12
|
+
exports.CONNECTION_CONTRACT_V1_KEYS = [
|
|
13
|
+
exports.K8S_WORKLOAD_PART_OF_NAMESPACE_CONTRACT_KEY,
|
|
14
|
+
exports.K8S_WORKLOAD_SENDS_METRICS_TO_PROMETHEUS_COMPATIBLE_CONTRACT_KEY,
|
|
15
|
+
exports.WORKLOAD_REPORTS_ERRORS_TO_SENTRY_CONTRACT_KEY,
|
|
16
|
+
];
|
|
17
|
+
exports.RELATIONSHIP_STRUCTURAL_CONTAINMENT_ATTRIBUTE_SCHEMA_KEY = 'relationship.structural_containment.v1';
|
|
18
|
+
exports.MONITORING_PROMETHEUS_ATTRIBUTE_SCHEMA_KEY = 'monitoring.prometheus';
|
|
19
|
+
exports.MONITORING_MIMIR_ATTRIBUTE_SCHEMA_KEY = 'monitoring.mimir';
|
|
20
|
+
exports.MONITORING_VICTORIAMETRICS_ATTRIBUTE_SCHEMA_KEY = 'monitoring.victoriametrics';
|
|
21
|
+
exports.MONITORING_SENTRY_ATTRIBUTE_SCHEMA_KEY = 'monitoring.sentry';
|
|
22
|
+
exports.CONNECTION_CONTRACT_ATTRIBUTE_SCHEMA_KEYS = [
|
|
23
|
+
exports.RELATIONSHIP_STRUCTURAL_CONTAINMENT_ATTRIBUTE_SCHEMA_KEY,
|
|
24
|
+
exports.MONITORING_PROMETHEUS_ATTRIBUTE_SCHEMA_KEY,
|
|
25
|
+
exports.MONITORING_MIMIR_ATTRIBUTE_SCHEMA_KEY,
|
|
26
|
+
exports.MONITORING_VICTORIAMETRICS_ATTRIBUTE_SCHEMA_KEY,
|
|
27
|
+
exports.MONITORING_SENTRY_ATTRIBUTE_SCHEMA_KEY,
|
|
28
|
+
];
|
|
29
|
+
exports.PERSISTED_CANONICAL_IDENTITY_CLAIMS = [
|
|
30
|
+
'service_name',
|
|
31
|
+
'namespace',
|
|
32
|
+
'workload_name',
|
|
33
|
+
'workload_type',
|
|
34
|
+
'cluster_id',
|
|
35
|
+
'environment',
|
|
36
|
+
'provider',
|
|
37
|
+
'integration_category',
|
|
38
|
+
];
|
|
39
|
+
exports.KUBERNETES_WORKLOAD_CANONICAL_IDENTITY_CLAIMS = [
|
|
40
|
+
'cluster_id',
|
|
41
|
+
'namespace',
|
|
42
|
+
'workload_name',
|
|
43
|
+
'workload_type',
|
|
44
|
+
];
|
|
45
|
+
exports.RATIFIED_MATCH_EVIDENCE_SIGNAL_CATEGORIES = [
|
|
46
|
+
'service',
|
|
47
|
+
'workload',
|
|
48
|
+
'cluster',
|
|
49
|
+
'pod',
|
|
50
|
+
'container',
|
|
51
|
+
'app',
|
|
52
|
+
'team',
|
|
53
|
+
'project',
|
|
54
|
+
'repository',
|
|
55
|
+
'space',
|
|
56
|
+
];
|
|
57
|
+
exports.SUPPORTED_CORRELATION_SIGNAL_CATEGORIES = [
|
|
58
|
+
'service',
|
|
59
|
+
'namespace',
|
|
60
|
+
'workload',
|
|
61
|
+
'cluster',
|
|
62
|
+
'pod',
|
|
63
|
+
'container',
|
|
64
|
+
'app',
|
|
65
|
+
'team',
|
|
66
|
+
'project',
|
|
67
|
+
'repository',
|
|
68
|
+
'space',
|
|
69
|
+
'environment',
|
|
70
|
+
];
|
|
71
|
+
exports.INTEGRATION_CATEGORY_VALUES = [
|
|
72
|
+
'observability',
|
|
73
|
+
'logging',
|
|
74
|
+
'tracing',
|
|
75
|
+
'vcs',
|
|
76
|
+
'ticketing',
|
|
77
|
+
'deployment',
|
|
78
|
+
'alerting',
|
|
79
|
+
];
|
|
80
|
+
exports.PROMETHEUS_COMPATIBLE_PROVIDERS = [
|
|
81
|
+
providers_1.TOPOLOGY_PROVIDER.MIMIR,
|
|
82
|
+
providers_1.TOPOLOGY_PROVIDER.PROMETHEUS,
|
|
83
|
+
providers_1.TOPOLOGY_PROVIDER.VICTORIAMETRICS,
|
|
84
|
+
];
|
|
85
|
+
exports.PROMETHEUS_COMPATIBLE_ATTRIBUTE_SCHEMA_BY_PROVIDER = {
|
|
86
|
+
[providers_1.TOPOLOGY_PROVIDER.MIMIR]: exports.MONITORING_MIMIR_ATTRIBUTE_SCHEMA_KEY,
|
|
87
|
+
[providers_1.TOPOLOGY_PROVIDER.PROMETHEUS]: exports.MONITORING_PROMETHEUS_ATTRIBUTE_SCHEMA_KEY,
|
|
88
|
+
[providers_1.TOPOLOGY_PROVIDER.VICTORIAMETRICS]: exports.MONITORING_VICTORIAMETRICS_ATTRIBUTE_SCHEMA_KEY,
|
|
89
|
+
};
|
|
90
|
+
exports.connectionContractVersionV1Schema = zod_1.z.literal(exports.CONNECTION_CONTRACT_VERSION_V1);
|
|
91
|
+
exports.connectionContractV1KeySchema = zod_1.z.enum(exports.CONNECTION_CONTRACT_V1_KEYS);
|
|
92
|
+
exports.connectionContractAttributeSchemaKeySchema = zod_1.z.enum(exports.CONNECTION_CONTRACT_ATTRIBUTE_SCHEMA_KEYS);
|
|
93
|
+
exports.persistedCanonicalIdentityClaimSchema = zod_1.z.enum(exports.PERSISTED_CANONICAL_IDENTITY_CLAIMS);
|
|
94
|
+
exports.kubernetesWorkloadCanonicalIdentityClaimSchema = zod_1.z.enum(exports.KUBERNETES_WORKLOAD_CANONICAL_IDENTITY_CLAIMS);
|
|
95
|
+
exports.ratifiedMatchEvidenceSignalCategorySchema = zod_1.z.enum(exports.RATIFIED_MATCH_EVIDENCE_SIGNAL_CATEGORIES);
|
|
96
|
+
exports.supportedCorrelationSignalCategorySchema = zod_1.z.enum(exports.SUPPORTED_CORRELATION_SIGNAL_CATEGORIES);
|
|
97
|
+
exports.integrationCategoryValueSchema = zod_1.z.enum(exports.INTEGRATION_CATEGORY_VALUES);
|
|
98
|
+
exports.prometheusCompatibleProviderSchema = zod_1.z.enum(exports.PROMETHEUS_COMPATIBLE_PROVIDERS);
|
|
99
|
+
exports.connectionContractV1RefSchema = zod_1.z.object({
|
|
100
|
+
correlation_contract_key: exports.connectionContractV1KeySchema,
|
|
101
|
+
correlation_contract_version: exports.connectionContractVersionV1Schema,
|
|
102
|
+
}).passthrough();
|
|
103
|
+
exports.K8S_WORKLOAD_PART_OF_NAMESPACE_CONTRACT_REF = {
|
|
104
|
+
correlation_contract_key: exports.K8S_WORKLOAD_PART_OF_NAMESPACE_CONTRACT_KEY,
|
|
105
|
+
correlation_contract_version: exports.CONNECTION_CONTRACT_VERSION_V1,
|
|
106
|
+
};
|
|
107
|
+
exports.K8S_WORKLOAD_SENDS_METRICS_TO_PROMETHEUS_COMPATIBLE_CONTRACT_REF = {
|
|
108
|
+
correlation_contract_key: exports.K8S_WORKLOAD_SENDS_METRICS_TO_PROMETHEUS_COMPATIBLE_CONTRACT_KEY,
|
|
109
|
+
correlation_contract_version: exports.CONNECTION_CONTRACT_VERSION_V1,
|
|
110
|
+
};
|
|
111
|
+
exports.WORKLOAD_REPORTS_ERRORS_TO_SENTRY_CONTRACT_REF = {
|
|
112
|
+
correlation_contract_key: exports.WORKLOAD_REPORTS_ERRORS_TO_SENTRY_CONTRACT_KEY,
|
|
113
|
+
correlation_contract_version: exports.CONNECTION_CONTRACT_VERSION_V1,
|
|
114
|
+
};
|
|
115
|
+
exports.CONNECTION_CONTRACT_V1_REFS = [
|
|
116
|
+
exports.K8S_WORKLOAD_PART_OF_NAMESPACE_CONTRACT_REF,
|
|
117
|
+
exports.K8S_WORKLOAD_SENDS_METRICS_TO_PROMETHEUS_COMPATIBLE_CONTRACT_REF,
|
|
118
|
+
exports.WORKLOAD_REPORTS_ERRORS_TO_SENTRY_CONTRACT_REF,
|
|
119
|
+
];
|
|
120
|
+
function prometheusCompatibleContractForProvider(provider) {
|
|
121
|
+
const parsedProvider = exports.prometheusCompatibleProviderSchema.safeParse(provider.trim().toLowerCase());
|
|
122
|
+
if (!parsedProvider.success) {
|
|
123
|
+
return undefined;
|
|
124
|
+
}
|
|
125
|
+
return {
|
|
126
|
+
attribute_schema_key: exports.PROMETHEUS_COMPATIBLE_ATTRIBUTE_SCHEMA_BY_PROVIDER[parsedProvider.data],
|
|
127
|
+
...exports.K8S_WORKLOAD_SENDS_METRICS_TO_PROMETHEUS_COMPATIBLE_CONTRACT_REF,
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
function sentryContractForProvider(provider) {
|
|
131
|
+
if (provider.trim().toLowerCase() !== providers_1.TOPOLOGY_PROVIDER.SENTRY) {
|
|
132
|
+
return undefined;
|
|
133
|
+
}
|
|
134
|
+
return {
|
|
135
|
+
attribute_schema_key: exports.MONITORING_SENTRY_ATTRIBUTE_SCHEMA_KEY,
|
|
136
|
+
...exports.WORKLOAD_REPORTS_ERRORS_TO_SENTRY_CONTRACT_REF,
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=connectionContractV1.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connectionContractV1.js","sourceRoot":"","sources":["../../../src/correlation/connectionContractV1.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,4 +18,5 @@ __exportStar(require("./rule"), exports);
|
|
|
18
18
|
__exportStar(require("./candidate"), exports);
|
|
19
19
|
__exportStar(require("./lifecycle"), exports);
|
|
20
20
|
__exportStar(require("./contractVocabulary"), exports);
|
|
21
|
+
__exportStar(require("./connectionContractV1"), exports);
|
|
21
22
|
//# 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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/correlation/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,8CAA4B;AAC5B,8CAA4B;AAC5B,uDAAqC;AACrC,yDAAuC"}
|