@dataparade/cli 0.0.2 → 0.0.4

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.
Files changed (74) hide show
  1. package/README.md +25 -0
  2. package/dist/package.json +85 -0
  3. package/dist/src/ai-enrichment/agent-orchestrator.d.ts +2 -0
  4. package/dist/src/ai-enrichment/agent-orchestrator.js +8 -5
  5. package/dist/src/ai-enrichment/providers/hosted-worker-infer-provider.d.ts +10 -0
  6. package/dist/src/ai-enrichment/providers/hosted-worker-infer-provider.js +47 -0
  7. package/dist/src/cli.js +85 -1
  8. package/dist/src/config/env.js +2 -0
  9. package/dist/src/config/resolve.js +3 -0
  10. package/dist/src/config/scan-env.d.ts +1 -0
  11. package/dist/src/config/scan-env.js +5 -0
  12. package/dist/src/config/types.d.ts +1 -0
  13. package/dist/src/config/upload-env.d.ts +1 -0
  14. package/dist/src/config/upload-env.js +10 -0
  15. package/dist/src/config/validate-scan-ai.d.ts +1 -1
  16. package/dist/src/config/validate-scan-ai.js +5 -0
  17. package/dist/src/core/pipeline/ai-orchestrator-options.js +5 -0
  18. package/dist/src/core/pipeline/graph-mapping.js +5 -0
  19. package/dist/src/core/pipeline/infer-data-flow-protocol.d.ts +7 -0
  20. package/dist/src/core/pipeline/infer-data-flow-protocol.js +39 -0
  21. package/dist/src/core/schema/scan-config.schema.d.ts +2 -0
  22. package/dist/src/core/schema/scan-config.schema.js +2 -1
  23. package/dist/src/core/types/config.d.ts +3 -1
  24. package/dist/src/observability/scan-sentry.d.ts +1 -1
  25. package/dist/src/platform-api/dataparade-app-base-url.d.ts +7 -0
  26. package/dist/src/platform-api/dataparade-app-base-url.js +14 -0
  27. package/dist/src/platform-api/upload-client.d.ts +3 -0
  28. package/dist/src/platform-api/upload-client.js +38 -0
  29. package/dist/src/platform-api/upload.types.d.ts +10 -0
  30. package/dist/src/platform-api/upload.types.js +2 -0
  31. package/dist/src/upload/build-preview-url.d.ts +1 -0
  32. package/dist/src/upload/build-preview-url.js +10 -0
  33. package/dist/src/upload/run-upload.d.ts +2 -0
  34. package/dist/src/upload/run-upload.js +18 -0
  35. package/dist/src/upload/types.d.ts +11 -0
  36. package/dist/src/upload/types.js +2 -0
  37. package/dist/tests/unit/analyzers/typescript/property-detection.spec.js +22 -0
  38. package/dist/tests/unit/cli/scan-quota-flow.spec.js +2 -0
  39. package/dist/tests/unit/config/upload-env.spec.d.ts +1 -0
  40. package/dist/tests/unit/config/upload-env.spec.js +12 -0
  41. package/dist/tests/unit/config/validate-scan-ai.spec.js +8 -0
  42. package/dist/tests/unit/core/graph-mapping.spec.js +52 -0
  43. package/dist/tests/unit/core/infer-data-flow-protocol.spec.d.ts +1 -0
  44. package/dist/tests/unit/core/infer-data-flow-protocol.spec.js +37 -0
  45. package/dist/tests/unit/platform-api/dataparade-app-base-url.spec.d.ts +1 -0
  46. package/dist/tests/unit/platform-api/dataparade-app-base-url.spec.js +13 -0
  47. package/dist/tests/unit/platform-api/upload-client.spec.d.ts +1 -0
  48. package/dist/tests/unit/platform-api/upload-client.spec.js +40 -0
  49. package/dist/tests/unit/publish-manifest.spec.d.ts +1 -0
  50. package/dist/tests/unit/publish-manifest.spec.js +18 -0
  51. package/dist/tests/unit/upload/build-preview-url.spec.d.ts +1 -0
  52. package/dist/tests/unit/upload/build-preview-url.spec.js +19 -0
  53. package/package.json +4 -3
  54. package/patterns/README.md +322 -0
  55. package/patterns/actor.patterns.yaml +51 -0
  56. package/patterns/aws-terraform-catalog.snapshot.json +1760 -0
  57. package/patterns/aws-terraform-service-hints.generated.json +1446 -0
  58. package/patterns/azure-terraform-catalog.snapshot.json +1195 -0
  59. package/patterns/azure-terraform-service-hints.generated.json +864 -0
  60. package/patterns/classifier/actors.classifier.yaml +17 -0
  61. package/patterns/classifier/components.classifier.yaml +110 -0
  62. package/patterns/classifier/third-party.classifier.yaml +169 -0
  63. package/patterns/kubernetes-terraform-catalog.snapshot.json +94 -0
  64. package/patterns/kubernetes-terraform-service-hints.generated.json +258 -0
  65. package/patterns/non-pii-signals.rules.yaml +84 -0
  66. package/patterns/pii-signals.rules.yaml +115 -0
  67. package/patterns/property.patterns.yaml +431 -0
  68. package/patterns/provider-topology.rules.yaml +765 -0
  69. package/patterns/python.md +211 -0
  70. package/patterns/python.patterns.yaml +160 -0
  71. package/patterns/terraform.md +37 -0
  72. package/patterns/terraform.patterns.yaml +495 -0
  73. package/patterns/third-party.patterns.yaml +167 -0
  74. package/patterns/typescript.patterns.yaml +139 -0
@@ -0,0 +1,17 @@
1
+ ---
2
+ # Actor-specific classifier pattern defaults.
3
+ # This file maps actor-related pattern IDs to component type/subType.
4
+ #
5
+ # Loaded alongside classifier.patterns.yaml by src/classifier/config.ts.
6
+
7
+ pattern_defaults:
8
+ web_actor:
9
+ type: actor
10
+ subType: customer
11
+ priority: 15
12
+
13
+ service_actor:
14
+ type: actor
15
+ subType: employee
16
+ priority: 15
17
+
@@ -0,0 +1,110 @@
1
+ ---
2
+ # Configuration for RawFinding → DetectedComponent classification.
3
+ # All mapping values and string lists live here (no hard-coded tables in TS).
4
+
5
+ name_normalization:
6
+ # Suffix tokens to strip from component names (case-insensitive).
7
+ remove_suffixes:
8
+ - client
9
+ - service
10
+ - database
11
+ - db
12
+ - api
13
+ - sdk
14
+ # Optional regexes applied after basic trimming to remove common suffix patterns.
15
+ remove_suffix_patterns:
16
+ - "[-_ ]service$"
17
+ - "[-_ ]client$"
18
+ - "[-_ ]api$"
19
+ - "[-_ ]db$"
20
+ # Characters to trim from start/end after normalization.
21
+ trim_chars: " _-"
22
+
23
+ pattern_defaults:
24
+ # HTTP routes / controllers → API-like assets.
25
+ express_route:
26
+ type: asset
27
+ subType: api
28
+ priority: 30
29
+
30
+ # Database and cache clients.
31
+ database_connection:
32
+ type: asset
33
+ subType: database
34
+ priority: 10
35
+
36
+ # Generic external HTTP calls when not recognized as known third-party.
37
+ external_api_call:
38
+ type: asset
39
+ subType: api
40
+ priority: 20
41
+
42
+ # Auth middleware / guards (kept as assets for now).
43
+ auth_middleware:
44
+ type: asset
45
+ subType: auth_service
46
+ priority: 40
47
+
48
+ # Configuration access (files/objects).
49
+ config_file:
50
+ type: asset
51
+ subType: config
52
+ priority: 50
53
+
54
+ # Env variable usage.
55
+ env_variable:
56
+ type: asset
57
+ subType: config
58
+ priority: 60
59
+
60
+ # Lambda-style handlers (future use; kept simple for now).
61
+ lambda_handler:
62
+ type: asset
63
+ subType: function
64
+ priority: 70
65
+
66
+ # Container or service definitions.
67
+ container_service:
68
+ type: asset
69
+ subType: container
70
+ priority: 80
71
+
72
+ # Terraform / IaC (static .tf; subtype refined via finding.properties.componentSubType).
73
+ terraform_resource:
74
+ type: asset
75
+ subType: application
76
+ priority: 14
77
+
78
+ terraform_module:
79
+ type: asset
80
+ subType: application
81
+ priority: 16
82
+
83
+ terraform_provider:
84
+ type: third_party
85
+ subType: cloud_provider
86
+ priority: 12
87
+
88
+ database_type_mapping:
89
+ # Map databaseType hints from TS patterns → component subType.
90
+ postgres:
91
+ subType: database
92
+ mysql:
93
+ subType: database
94
+ mongo:
95
+ subType: database
96
+ redis:
97
+ subType: database
98
+ unknown:
99
+ subType: database
100
+
101
+ resolution:
102
+ # Prefer third_party over asset when both are possible for the same component.
103
+ prefer_third_party_over_asset: true
104
+ # How to aggregate confidence across findings in a group: "max" or "average".
105
+ confidence_aggregation: max
106
+
107
+ # Env variable keys that should not be emitted as components (runtime/deployment only).
108
+ env_variable_exclude_keys:
109
+ - NODE_ENV
110
+
@@ -0,0 +1,169 @@
1
+ ---
2
+ # Known third-party services used by the CLI classifier.
3
+ # DP-P0-CLI-202 – dedicated catalog for third_party components.
4
+
5
+ third_parties:
6
+ # Payment processors.
7
+ - serviceName: stripe
8
+ matchKeys:
9
+ - stripe
10
+ type: third_party
11
+ subType: payment_processor
12
+
13
+ - serviceName: braintree
14
+ matchKeys:
15
+ - braintree
16
+ - "api.braintreepayments.com"
17
+ type: third_party
18
+ subType: payment_processor
19
+
20
+ - serviceName: adyen
21
+ matchKeys:
22
+ - adyen
23
+ - "checkout.adyen.com"
24
+ type: third_party
25
+ subType: payment_processor
26
+
27
+ - serviceName: paypal
28
+ matchKeys:
29
+ - paypal
30
+ - "api.paypal.com"
31
+ - "paypalobjects.com"
32
+ type: third_party
33
+ subType: payment_processor
34
+
35
+ # Email/SaaS providers.
36
+ - serviceName: sendgrid
37
+ matchKeys:
38
+ - sendgrid
39
+ type: third_party
40
+ subType: saas_service
41
+
42
+ - serviceName: twilio
43
+ matchKeys:
44
+ - twilio
45
+ type: third_party
46
+ subType: saas_service
47
+
48
+ - serviceName: firebase
49
+ matchKeys:
50
+ - firebase
51
+ type: third_party
52
+ subType: saas_service
53
+
54
+ # Database / BaaS platforms.
55
+ - serviceName: supabase
56
+ matchKeys:
57
+ - supabase
58
+ - "supabase.co"
59
+ - "supabase.com"
60
+ type: third_party
61
+ subType: saas_service
62
+
63
+ # API / AI providers.
64
+ - serviceName: openai
65
+ matchKeys:
66
+ - openai
67
+ type: third_party
68
+ subType: ai_provider
69
+
70
+ - serviceName: anthropic
71
+ matchKeys:
72
+ - anthropic
73
+ - '@anthropic-ai/'
74
+ - 'api.anthropic.com'
75
+ type: third_party
76
+ subType: ai_provider
77
+
78
+ - serviceName: openrouter
79
+ matchKeys:
80
+ - openrouter
81
+ - '@openrouter/'
82
+ - openrouter.ai
83
+ - openrouter.com
84
+ type: third_party
85
+ subType: ai_provider
86
+
87
+ - serviceName: google_ai
88
+ matchKeys:
89
+ - google_ai
90
+ - 'generativelanguage.googleapis.com'
91
+ - '@google-cloud/vertexai'
92
+ - vertexai
93
+ type: third_party
94
+ subType: ai_provider
95
+
96
+ - serviceName: clipdrop
97
+ matchKeys:
98
+ - clipdrop
99
+ - clipdrop-api.co
100
+ type: third_party
101
+ subType: ai_provider
102
+
103
+ - serviceName: thenextleg
104
+ matchKeys:
105
+ - thenextleg
106
+ - thenextleg.io
107
+ type: third_party
108
+ subType: ai_provider
109
+
110
+ - serviceName: vectorizer
111
+ matchKeys:
112
+ - vectorizer
113
+ - vectorizer.ai
114
+ type: third_party
115
+ subType: ai_provider
116
+
117
+ # Cloud providers.
118
+ - serviceName: aws
119
+ matchKeys:
120
+ - aws
121
+ - "@aws-sdk/"
122
+ type: third_party
123
+ subType: cloud_provider
124
+
125
+ - serviceName: gcp
126
+ matchKeys:
127
+ - gcp
128
+ - "@google-cloud/"
129
+ - google-cloud
130
+ type: third_party
131
+ subType: cloud_provider
132
+
133
+ - serviceName: azure
134
+ matchKeys:
135
+ - azure
136
+ - "@azure/"
137
+ type: third_party
138
+ subType: cloud_provider
139
+
140
+ # Auth & identity providers.
141
+ - serviceName: google_auth
142
+ matchKeys:
143
+ - "accounts.google.com"
144
+ - "oauth2.googleapis.com"
145
+ - "www.googleapis.com/oauth2"
146
+ - "google-auth-library"
147
+ - "google_auth_oauthlib"
148
+ - "@react-oauth/google"
149
+ - "googleapis"
150
+ type: third_party
151
+ subType: saas_service
152
+
153
+ - serviceName: auth0
154
+ matchKeys:
155
+ - auth0
156
+ - "auth0.com"
157
+ - "AUTH0_"
158
+ type: third_party
159
+ subType: saas_service
160
+
161
+ # Error monitoring / observability.
162
+ - serviceName: sentry
163
+ matchKeys:
164
+ - sentry
165
+ - "sentry.io"
166
+ - "sentry_sdk"
167
+ type: third_party
168
+ subType: saas_service
169
+
@@ -0,0 +1,94 @@
1
+ {
2
+ "generatedAt": "2026-05-20T15:18:04.013Z",
3
+ "source": "@cdktf/provider-kubernetes@11.x (HashiCorp kubernetes)",
4
+ "resourceTypes": [
5
+ "kubernetes_all_namespaces",
6
+ "kubernetes_annotations",
7
+ "kubernetes_api_service",
8
+ "kubernetes_api_service_v1",
9
+ "kubernetes_certificate_signing_request",
10
+ "kubernetes_certificate_signing_request_v1",
11
+ "kubernetes_cluster_role",
12
+ "kubernetes_cluster_role_binding",
13
+ "kubernetes_cluster_role_binding_v1",
14
+ "kubernetes_cluster_role_v1",
15
+ "kubernetes_config_map",
16
+ "kubernetes_config_map_v1",
17
+ "kubernetes_config_map_v1_data",
18
+ "kubernetes_cron_job",
19
+ "kubernetes_cron_job_v1",
20
+ "kubernetes_csi_driver",
21
+ "kubernetes_csi_driver_v1",
22
+ "kubernetes_daemon_set_v1",
23
+ "kubernetes_daemonset",
24
+ "kubernetes_default_service_account",
25
+ "kubernetes_default_service_account_v1",
26
+ "kubernetes_deployment",
27
+ "kubernetes_deployment_v1",
28
+ "kubernetes_endpoint_slice_v1",
29
+ "kubernetes_endpoints",
30
+ "kubernetes_endpoints_v1",
31
+ "kubernetes_env",
32
+ "kubernetes_horizontal_pod_autoscaler",
33
+ "kubernetes_horizontal_pod_autoscaler_v1",
34
+ "kubernetes_horizontal_pod_autoscaler_v2",
35
+ "kubernetes_horizontal_pod_autoscaler_v2beta2",
36
+ "kubernetes_ingress",
37
+ "kubernetes_ingress_class",
38
+ "kubernetes_ingress_class_v1",
39
+ "kubernetes_ingress_v1",
40
+ "kubernetes_job",
41
+ "kubernetes_job_v1",
42
+ "kubernetes_labels",
43
+ "kubernetes_limit_range",
44
+ "kubernetes_limit_range_v1",
45
+ "kubernetes_manifest",
46
+ "kubernetes_mutating_webhook_configuration",
47
+ "kubernetes_mutating_webhook_configuration_v1",
48
+ "kubernetes_namespace",
49
+ "kubernetes_namespace_v1",
50
+ "kubernetes_network_policy",
51
+ "kubernetes_network_policy_v1",
52
+ "kubernetes_node_taint",
53
+ "kubernetes_nodes",
54
+ "kubernetes_persistent_volume",
55
+ "kubernetes_persistent_volume_claim",
56
+ "kubernetes_persistent_volume_claim_v1",
57
+ "kubernetes_persistent_volume_v1",
58
+ "kubernetes_pod",
59
+ "kubernetes_pod_disruption_budget",
60
+ "kubernetes_pod_disruption_budget_v1",
61
+ "kubernetes_pod_security_policy",
62
+ "kubernetes_pod_security_policy_v1beta1",
63
+ "kubernetes_pod_v1",
64
+ "kubernetes_priority_class",
65
+ "kubernetes_priority_class_v1",
66
+ "kubernetes_provider",
67
+ "kubernetes_replication_controller",
68
+ "kubernetes_replication_controller_v1",
69
+ "kubernetes_resource",
70
+ "kubernetes_resource_quota",
71
+ "kubernetes_resource_quota_v1",
72
+ "kubernetes_resources",
73
+ "kubernetes_role",
74
+ "kubernetes_role_binding",
75
+ "kubernetes_role_binding_v1",
76
+ "kubernetes_role_v1",
77
+ "kubernetes_runtime_class_v1",
78
+ "kubernetes_secret",
79
+ "kubernetes_secret_v1",
80
+ "kubernetes_secret_v1_data",
81
+ "kubernetes_server_version",
82
+ "kubernetes_service",
83
+ "kubernetes_service_account",
84
+ "kubernetes_service_account_v1",
85
+ "kubernetes_service_v1",
86
+ "kubernetes_stateful_set",
87
+ "kubernetes_stateful_set_v1",
88
+ "kubernetes_storage_class",
89
+ "kubernetes_storage_class_v1",
90
+ "kubernetes_token_request_v1",
91
+ "kubernetes_validating_webhook_configuration",
92
+ "kubernetes_validating_webhook_configuration_v1"
93
+ ]
94
+ }
@@ -0,0 +1,258 @@
1
+ {
2
+ "generatedAt": "2026-05-20T15:18:04.013Z",
3
+ "source": "@cdktf/provider-kubernetes@11.x (HashiCorp kubernetes)",
4
+ "hints": [
5
+ {
6
+ "id": "gen_kubernetes_all_family",
7
+ "resource_type_regex": "^kubernetes_all_",
8
+ "componentSubType": "service",
9
+ "cloud_provider": "kubernetes"
10
+ },
11
+ {
12
+ "id": "gen_kubernetes_annotations_family",
13
+ "resource_type_regex": "^kubernetes_annotations_",
14
+ "componentSubType": "config",
15
+ "cloud_provider": "kubernetes"
16
+ },
17
+ {
18
+ "id": "gen_kubernetes_api_family",
19
+ "resource_type_regex": "^kubernetes_api_",
20
+ "componentSubType": "service",
21
+ "cloud_provider": "kubernetes"
22
+ },
23
+ {
24
+ "id": "gen_kubernetes_certificate_family",
25
+ "resource_type_regex": "^kubernetes_certificate_",
26
+ "componentSubType": "service",
27
+ "cloud_provider": "kubernetes"
28
+ },
29
+ {
30
+ "id": "gen_kubernetes_cluster_family",
31
+ "resource_type_regex": "^kubernetes_cluster_",
32
+ "componentSubType": "service",
33
+ "cloud_provider": "kubernetes"
34
+ },
35
+ {
36
+ "id": "gen_kubernetes_config_family",
37
+ "resource_type_regex": "^kubernetes_config_",
38
+ "componentSubType": "service",
39
+ "cloud_provider": "kubernetes"
40
+ },
41
+ {
42
+ "id": "gen_kubernetes_cron_family",
43
+ "resource_type_regex": "^kubernetes_cron_",
44
+ "componentSubType": "service",
45
+ "cloud_provider": "kubernetes"
46
+ },
47
+ {
48
+ "id": "gen_kubernetes_csi_family",
49
+ "resource_type_regex": "^kubernetes_csi_",
50
+ "componentSubType": "service",
51
+ "cloud_provider": "kubernetes"
52
+ },
53
+ {
54
+ "id": "gen_kubernetes_daemon_family",
55
+ "resource_type_regex": "^kubernetes_daemon_",
56
+ "componentSubType": "service",
57
+ "cloud_provider": "kubernetes"
58
+ },
59
+ {
60
+ "id": "gen_kubernetes_daemonset_family",
61
+ "resource_type_regex": "^kubernetes_daemonset_",
62
+ "componentSubType": "service",
63
+ "cloud_provider": "kubernetes"
64
+ },
65
+ {
66
+ "id": "gen_kubernetes_default_family",
67
+ "resource_type_regex": "^kubernetes_default_",
68
+ "componentSubType": "service",
69
+ "cloud_provider": "kubernetes"
70
+ },
71
+ {
72
+ "id": "gen_kubernetes_deployment_family",
73
+ "resource_type_regex": "^kubernetes_deployment_",
74
+ "componentSubType": "service",
75
+ "cloud_provider": "kubernetes"
76
+ },
77
+ {
78
+ "id": "gen_kubernetes_endpoint_family",
79
+ "resource_type_regex": "^kubernetes_endpoint_",
80
+ "componentSubType": "service",
81
+ "cloud_provider": "kubernetes"
82
+ },
83
+ {
84
+ "id": "gen_kubernetes_endpoints_family",
85
+ "resource_type_regex": "^kubernetes_endpoints_",
86
+ "componentSubType": "api",
87
+ "cloud_provider": "kubernetes"
88
+ },
89
+ {
90
+ "id": "gen_kubernetes_env_family",
91
+ "resource_type_regex": "^kubernetes_env_",
92
+ "componentSubType": "service",
93
+ "cloud_provider": "kubernetes"
94
+ },
95
+ {
96
+ "id": "gen_kubernetes_horizontal_family",
97
+ "resource_type_regex": "^kubernetes_horizontal_",
98
+ "componentSubType": "service",
99
+ "cloud_provider": "kubernetes"
100
+ },
101
+ {
102
+ "id": "gen_kubernetes_ingress_family",
103
+ "resource_type_regex": "^kubernetes_ingress_",
104
+ "componentSubType": "api",
105
+ "cloud_provider": "kubernetes"
106
+ },
107
+ {
108
+ "id": "gen_kubernetes_job_family",
109
+ "resource_type_regex": "^kubernetes_job_",
110
+ "componentSubType": "service",
111
+ "cloud_provider": "kubernetes"
112
+ },
113
+ {
114
+ "id": "gen_kubernetes_labels_family",
115
+ "resource_type_regex": "^kubernetes_labels_",
116
+ "componentSubType": "config",
117
+ "cloud_provider": "kubernetes"
118
+ },
119
+ {
120
+ "id": "gen_kubernetes_limit_family",
121
+ "resource_type_regex": "^kubernetes_limit_",
122
+ "componentSubType": "service",
123
+ "cloud_provider": "kubernetes"
124
+ },
125
+ {
126
+ "id": "gen_kubernetes_manifest_family",
127
+ "resource_type_regex": "^kubernetes_manifest_",
128
+ "componentSubType": "application",
129
+ "cloud_provider": "kubernetes"
130
+ },
131
+ {
132
+ "id": "gen_kubernetes_mutating_family",
133
+ "resource_type_regex": "^kubernetes_mutating_",
134
+ "componentSubType": "service",
135
+ "cloud_provider": "kubernetes"
136
+ },
137
+ {
138
+ "id": "gen_kubernetes_namespace_family",
139
+ "resource_type_regex": "^kubernetes_namespace_",
140
+ "componentSubType": "container",
141
+ "cloud_provider": "kubernetes"
142
+ },
143
+ {
144
+ "id": "gen_kubernetes_network_family",
145
+ "resource_type_regex": "^kubernetes_network_",
146
+ "componentSubType": "service",
147
+ "cloud_provider": "kubernetes"
148
+ },
149
+ {
150
+ "id": "gen_kubernetes_node_family",
151
+ "resource_type_regex": "^kubernetes_node_",
152
+ "componentSubType": "service",
153
+ "cloud_provider": "kubernetes"
154
+ },
155
+ {
156
+ "id": "gen_kubernetes_nodes_family",
157
+ "resource_type_regex": "^kubernetes_nodes_",
158
+ "componentSubType": "service",
159
+ "cloud_provider": "kubernetes"
160
+ },
161
+ {
162
+ "id": "gen_kubernetes_persistent_family",
163
+ "resource_type_regex": "^kubernetes_persistent_",
164
+ "componentSubType": "service",
165
+ "cloud_provider": "kubernetes"
166
+ },
167
+ {
168
+ "id": "gen_kubernetes_pod_family",
169
+ "resource_type_regex": "^kubernetes_pod_",
170
+ "componentSubType": "service",
171
+ "cloud_provider": "kubernetes"
172
+ },
173
+ {
174
+ "id": "gen_kubernetes_priority_family",
175
+ "resource_type_regex": "^kubernetes_priority_",
176
+ "componentSubType": "service",
177
+ "cloud_provider": "kubernetes"
178
+ },
179
+ {
180
+ "id": "gen_kubernetes_provider_family",
181
+ "resource_type_regex": "^kubernetes_provider_",
182
+ "componentSubType": "service",
183
+ "cloud_provider": "kubernetes"
184
+ },
185
+ {
186
+ "id": "gen_kubernetes_replication_family",
187
+ "resource_type_regex": "^kubernetes_replication_",
188
+ "componentSubType": "service",
189
+ "cloud_provider": "kubernetes"
190
+ },
191
+ {
192
+ "id": "gen_kubernetes_resource_family",
193
+ "resource_type_regex": "^kubernetes_resource_",
194
+ "componentSubType": "service",
195
+ "cloud_provider": "kubernetes"
196
+ },
197
+ {
198
+ "id": "gen_kubernetes_resources_family",
199
+ "resource_type_regex": "^kubernetes_resources_",
200
+ "componentSubType": "service",
201
+ "cloud_provider": "kubernetes"
202
+ },
203
+ {
204
+ "id": "gen_kubernetes_role_family",
205
+ "resource_type_regex": "^kubernetes_role_",
206
+ "componentSubType": "auth_service",
207
+ "cloud_provider": "kubernetes"
208
+ },
209
+ {
210
+ "id": "gen_kubernetes_runtime_family",
211
+ "resource_type_regex": "^kubernetes_runtime_",
212
+ "componentSubType": "service",
213
+ "cloud_provider": "kubernetes"
214
+ },
215
+ {
216
+ "id": "gen_kubernetes_secret_family",
217
+ "resource_type_regex": "^kubernetes_secret_",
218
+ "componentSubType": "config",
219
+ "cloud_provider": "kubernetes"
220
+ },
221
+ {
222
+ "id": "gen_kubernetes_server_family",
223
+ "resource_type_regex": "^kubernetes_server_",
224
+ "componentSubType": "service",
225
+ "cloud_provider": "kubernetes"
226
+ },
227
+ {
228
+ "id": "gen_kubernetes_service_family",
229
+ "resource_type_regex": "^kubernetes_service_",
230
+ "componentSubType": "api",
231
+ "cloud_provider": "kubernetes"
232
+ },
233
+ {
234
+ "id": "gen_kubernetes_stateful_family",
235
+ "resource_type_regex": "^kubernetes_stateful_",
236
+ "componentSubType": "service",
237
+ "cloud_provider": "kubernetes"
238
+ },
239
+ {
240
+ "id": "gen_kubernetes_storage_family",
241
+ "resource_type_regex": "^kubernetes_storage_",
242
+ "componentSubType": "service",
243
+ "cloud_provider": "kubernetes"
244
+ },
245
+ {
246
+ "id": "gen_kubernetes_token_family",
247
+ "resource_type_regex": "^kubernetes_token_",
248
+ "componentSubType": "service",
249
+ "cloud_provider": "kubernetes"
250
+ },
251
+ {
252
+ "id": "gen_kubernetes_validating_family",
253
+ "resource_type_regex": "^kubernetes_validating_",
254
+ "componentSubType": "service",
255
+ "cloud_provider": "kubernetes"
256
+ }
257
+ ]
258
+ }