@opensoha/contracts 0.1.5 → 0.1.7
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/COMPATIBILITY.md +13 -0
- package/README.md +6 -0
- package/auth/catalog_generated.go +17 -0
- package/auth/catalog_test.go +53 -0
- package/auth/permission-catalog.json +11097 -0
- package/auth/permission-catalog.schema.json +74 -0
- package/capabilities/cluster-capability-matrix.schema.json +30 -1
- package/compat/json-schema-ecosystem-0.1.0.json +1 -1
- package/compat/openapi-loose-boundaries-0.1.0.json +1 -1
- package/examples/gateway-manifest/minimal.json +6 -6
- package/examples/openapi/agent-run-tool-call-request.json +1 -1
- package/examples/openapi/agent-tool-call-result-envelope.json +1 -1
- package/examples/openapi/gateway-manifest-envelope.json +4 -4
- package/examples/openapi/tool-invocation-request.json +1 -1
- package/examples/openapi/tool-invocation-result-envelope.json +1 -1
- package/examples/plugin-manifest/skill-pack.json +2 -2
- package/examples/skill-manifest/k8s-sre.json +2 -2
- package/examples/token-claims/service-account.json +1 -1
- package/fixtures/json-schema/cluster-capability-matrix/valid/runtime-parity.json +3 -0
- package/fixtures/json-schema/gateway-manifest/valid/minimal.json +4 -4
- package/fixtures/json-schema/permission-catalog/invalid/missing-action.json +18 -0
- package/fixtures/json-schema/permission-catalog/valid/minimal.json +19 -0
- package/fixtures/json-schema/skill-manifest/valid/minimal.json +2 -2
- package/fixtures/json-schema/token-claims/valid/service-account.json +1 -1
- package/fixtures/openapi/AIGatewayManifestEnvelope/valid/minimal.json +1 -1
- package/fixtures/openapi/AccessRoleInput/invalid/missing-permissions.json +4 -0
- package/fixtures/openapi/AccessRoleInput/valid/granular-vm-operator.json +10 -0
- package/fixtures/openapi/AgentInstallationEnvelope/invalid/missing-command.json +7 -0
- package/fixtures/openapi/AgentInstallationEnvelope/valid/minimal.json +8 -0
- package/fixtures/openapi/ApplicationInput/invalid/missing-key.json +4 -0
- package/fixtures/openapi/ApplicationInput/valid/minimal.json +5 -0
- package/fixtures/openapi/AuthorizationDecision/invalid/missing-reason.json +7 -0
- package/fixtures/openapi/AuthorizationDecision/valid/deny-vm-delete.json +16 -0
- package/fixtures/openapi/HelmReleaseImportRequest/invalid/empty-releases.json +10 -0
- package/fixtures/openapi/HelmReleaseImportRequest/valid/managed.json +14 -0
- package/fixtures/openapi/HelmReleaseImportResultEnvelope/invalid/missing-mode.json +20 -0
- package/fixtures/openapi/HelmReleaseImportResultEnvelope/valid/created.json +35 -0
- package/fixtures/openapi/KubernetesImportCandidateListEnvelope/invalid/unknown-kind.json +14 -0
- package/fixtures/openapi/KubernetesImportCandidateListEnvelope/valid/grouped.json +31 -0
- package/fixtures/openapi/KubernetesServiceImportRequest/invalid/unsupported-mode.json +15 -0
- package/fixtures/openapi/KubernetesServiceImportRequest/valid/managed.json +15 -0
- package/fixtures/openapi/KubernetesServiceImportRequest/valid/observe-only.json +15 -0
- package/fixtures/openapi/KubernetesServiceImportResultEnvelope/invalid/missing-mode.json +20 -0
- package/fixtures/openapi/KubernetesServiceImportResultEnvelope/valid/created.json +37 -0
- package/fixtures/openapi/MCPCapabilityListEnvelope/invalid/missing-scopes.json +1 -1
- package/fixtures/openapi/MCPCapabilityListEnvelope/valid/minimal.json +1 -1
- package/fixtures/openapi/ObservabilityDashboardImportResultEnvelope/invalid/missing-dashboard.json +7 -0
- package/fixtures/openapi/ObservabilityDashboardImportResultEnvelope/valid/imported.json +36 -0
- package/fixtures/openapi/ObservabilityGrafanaDashboardImportInput/invalid/missing-data-source.json +3 -0
- package/fixtures/openapi/ObservabilityGrafanaDashboardImportInput/invalid/missing-json.json +3 -0
- package/fixtures/openapi/ObservabilityGrafanaDashboardImportInput/valid/classic.json +4 -0
- package/fixtures/openapi/ObservabilityMetricDataSourceListEnvelope/invalid/missing-name.json +7 -0
- package/fixtures/openapi/ObservabilityMetricDataSourceListEnvelope/valid/list.json +8 -0
- package/fixtures/openapi/PermissionCatalogEnvelope/invalid/invalid-hash.json +8 -0
- package/fixtures/openapi/PermissionCatalogEnvelope/valid/minimal.json +22 -0
- package/fixtures/openapi/PersonalAccessTokenInput/invalid/extra-field.json +1 -1
- package/fixtures/openapi/PersonalAccessTokenInput/valid/create.json +1 -1
- package/fixtures/openapi/RegistryConnectionInput/invalid/missing-type.json +4 -0
- package/fixtures/openapi/RegistryConnectionInput/valid/harbor.json +9 -0
- package/fixtures/openapi/RegistryConnectionListEnvelope/invalid/exposed-secret.json +18 -0
- package/fixtures/openapi/RegistryConnectionListEnvelope/valid/configured.json +19 -0
- package/fixtures/openapi/SoftwarePackage/invalid/unsafe-software-package.json +15 -0
- package/fixtures/openapi/SoftwarePackage/valid/software-package.json +17 -0
- package/fixtures/openapi/SoftwarePackageURLImportRequest/invalid/software-package-url-import-request.json +9 -0
- package/fixtures/openapi/SoftwarePackageURLImportRequest/valid/software-package-url-import-request.json +12 -0
- package/fixtures/openapi/SoftwareStorage/invalid/software-storage.json +6 -0
- package/fixtures/openapi/SoftwareStorage/valid/software-storage.json +22 -0
- package/gen/go/sohaapi/client.go +1 -1
- package/gen/go/sohaapi/types.go +906 -3
- package/gen/ts/sohaapi/index.ts +1603 -71
- package/openapi/soha-api.json +2910 -3
- package/openapi/soha-api.yaml +1759 -165
- package/openapi/spec_generated.go +3 -3
- package/package.json +7 -3
package/openapi/soha-api.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
openapi: 3.1.0
|
|
2
2
|
info:
|
|
3
3
|
title: Soha API
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.7
|
|
5
5
|
description: >
|
|
6
6
|
Public OpenSoha core API contract. This first contract focuses on stable
|
|
7
7
|
cross-repository boundaries: auth, health, runner-facing control-plane
|
|
@@ -34,6 +34,8 @@ tags:
|
|
|
34
34
|
- name: Compute
|
|
35
35
|
- name: MCP
|
|
36
36
|
- name: Plugins
|
|
37
|
+
- name: Software
|
|
38
|
+
- name: Access
|
|
37
39
|
- name: Identity
|
|
38
40
|
- name: Directory
|
|
39
41
|
paths:
|
|
@@ -1303,6 +1305,93 @@ paths:
|
|
|
1303
1305
|
$ref: "#/components/schemas/ApplicationEnvironmentEnvelope"
|
|
1304
1306
|
"400":
|
|
1305
1307
|
$ref: "#/components/responses/Error"
|
|
1308
|
+
/application-environments/target-candidates:
|
|
1309
|
+
get:
|
|
1310
|
+
tags: [Delivery]
|
|
1311
|
+
operationId: listApplicationEnvironmentTargetCandidates
|
|
1312
|
+
parameters:
|
|
1313
|
+
- name: clusterId
|
|
1314
|
+
in: query
|
|
1315
|
+
required: true
|
|
1316
|
+
schema:
|
|
1317
|
+
type: string
|
|
1318
|
+
minLength: 1
|
|
1319
|
+
- name: namespace
|
|
1320
|
+
in: query
|
|
1321
|
+
required: true
|
|
1322
|
+
schema:
|
|
1323
|
+
type: string
|
|
1324
|
+
minLength: 1
|
|
1325
|
+
- name: search
|
|
1326
|
+
in: query
|
|
1327
|
+
required: false
|
|
1328
|
+
schema:
|
|
1329
|
+
type: string
|
|
1330
|
+
- name: limit
|
|
1331
|
+
in: query
|
|
1332
|
+
required: false
|
|
1333
|
+
schema:
|
|
1334
|
+
type: integer
|
|
1335
|
+
minimum: 1
|
|
1336
|
+
maximum: 200
|
|
1337
|
+
default: 100
|
|
1338
|
+
responses:
|
|
1339
|
+
"200":
|
|
1340
|
+
description: Discoverable Kubernetes workloads and their related resources.
|
|
1341
|
+
content:
|
|
1342
|
+
application/json:
|
|
1343
|
+
schema:
|
|
1344
|
+
$ref: "#/components/schemas/KubernetesImportCandidateListEnvelope"
|
|
1345
|
+
"400":
|
|
1346
|
+
$ref: "#/components/responses/Error"
|
|
1347
|
+
"403":
|
|
1348
|
+
$ref: "#/components/responses/Error"
|
|
1349
|
+
/application-environments/imports:
|
|
1350
|
+
post:
|
|
1351
|
+
tags: [Delivery]
|
|
1352
|
+
operationId: importKubernetesServices
|
|
1353
|
+
requestBody:
|
|
1354
|
+
required: true
|
|
1355
|
+
content:
|
|
1356
|
+
application/json:
|
|
1357
|
+
schema:
|
|
1358
|
+
$ref: "#/components/schemas/KubernetesServiceImportRequest"
|
|
1359
|
+
responses:
|
|
1360
|
+
"200":
|
|
1361
|
+
description: Idempotent Kubernetes service import result.
|
|
1362
|
+
content:
|
|
1363
|
+
application/json:
|
|
1364
|
+
schema:
|
|
1365
|
+
$ref: "#/components/schemas/KubernetesServiceImportResultEnvelope"
|
|
1366
|
+
"400":
|
|
1367
|
+
$ref: "#/components/responses/Error"
|
|
1368
|
+
"403":
|
|
1369
|
+
$ref: "#/components/responses/Error"
|
|
1370
|
+
"409":
|
|
1371
|
+
$ref: "#/components/responses/Error"
|
|
1372
|
+
/application-environments/helm-release-imports:
|
|
1373
|
+
post:
|
|
1374
|
+
tags: [Delivery]
|
|
1375
|
+
operationId: importHelmReleases
|
|
1376
|
+
requestBody:
|
|
1377
|
+
required: true
|
|
1378
|
+
content:
|
|
1379
|
+
application/json:
|
|
1380
|
+
schema:
|
|
1381
|
+
$ref: "#/components/schemas/HelmReleaseImportRequest"
|
|
1382
|
+
responses:
|
|
1383
|
+
"200":
|
|
1384
|
+
description: Idempotent Helm release import result.
|
|
1385
|
+
content:
|
|
1386
|
+
application/json:
|
|
1387
|
+
schema:
|
|
1388
|
+
$ref: "#/components/schemas/HelmReleaseImportResultEnvelope"
|
|
1389
|
+
"400":
|
|
1390
|
+
$ref: "#/components/responses/Error"
|
|
1391
|
+
"403":
|
|
1392
|
+
$ref: "#/components/responses/Error"
|
|
1393
|
+
"409":
|
|
1394
|
+
$ref: "#/components/responses/Error"
|
|
1306
1395
|
/application-environments/{applicationEnvironmentID}:
|
|
1307
1396
|
get:
|
|
1308
1397
|
tags: [Delivery]
|
|
@@ -1369,6 +1458,88 @@ paths:
|
|
|
1369
1458
|
$ref: "#/components/schemas/ApplicationEnvironmentDeliveryDetailEnvelope"
|
|
1370
1459
|
"404":
|
|
1371
1460
|
$ref: "#/components/responses/Error"
|
|
1461
|
+
/registries:
|
|
1462
|
+
get:
|
|
1463
|
+
tags: [Delivery]
|
|
1464
|
+
operationId: listRegistryConnections
|
|
1465
|
+
parameters:
|
|
1466
|
+
- name: limit
|
|
1467
|
+
in: query
|
|
1468
|
+
required: false
|
|
1469
|
+
schema:
|
|
1470
|
+
type: integer
|
|
1471
|
+
minimum: 1
|
|
1472
|
+
maximum: 200
|
|
1473
|
+
responses:
|
|
1474
|
+
"200":
|
|
1475
|
+
description: Registry connections visible to the current principal.
|
|
1476
|
+
content:
|
|
1477
|
+
application/json:
|
|
1478
|
+
schema:
|
|
1479
|
+
$ref: "#/components/schemas/RegistryConnectionListEnvelope"
|
|
1480
|
+
"403":
|
|
1481
|
+
$ref: "#/components/responses/Error"
|
|
1482
|
+
post:
|
|
1483
|
+
tags: [Delivery]
|
|
1484
|
+
operationId: createRegistryConnection
|
|
1485
|
+
requestBody:
|
|
1486
|
+
required: true
|
|
1487
|
+
content:
|
|
1488
|
+
application/json:
|
|
1489
|
+
schema:
|
|
1490
|
+
$ref: "#/components/schemas/RegistryConnectionInput"
|
|
1491
|
+
responses:
|
|
1492
|
+
"201":
|
|
1493
|
+
description: Created registry connection.
|
|
1494
|
+
content:
|
|
1495
|
+
application/json:
|
|
1496
|
+
schema:
|
|
1497
|
+
$ref: "#/components/schemas/RegistryConnectionEnvelope"
|
|
1498
|
+
"400":
|
|
1499
|
+
$ref: "#/components/responses/Error"
|
|
1500
|
+
"403":
|
|
1501
|
+
$ref: "#/components/responses/Error"
|
|
1502
|
+
/registries/{connectionID}:
|
|
1503
|
+
put:
|
|
1504
|
+
tags: [Delivery]
|
|
1505
|
+
operationId: updateRegistryConnection
|
|
1506
|
+
parameters:
|
|
1507
|
+
- $ref: "#/components/parameters/RegistryConnectionID"
|
|
1508
|
+
requestBody:
|
|
1509
|
+
required: true
|
|
1510
|
+
content:
|
|
1511
|
+
application/json:
|
|
1512
|
+
schema:
|
|
1513
|
+
$ref: "#/components/schemas/RegistryConnectionInput"
|
|
1514
|
+
responses:
|
|
1515
|
+
"200":
|
|
1516
|
+
description: Updated registry connection.
|
|
1517
|
+
content:
|
|
1518
|
+
application/json:
|
|
1519
|
+
schema:
|
|
1520
|
+
$ref: "#/components/schemas/RegistryConnectionEnvelope"
|
|
1521
|
+
"400":
|
|
1522
|
+
$ref: "#/components/responses/Error"
|
|
1523
|
+
"403":
|
|
1524
|
+
$ref: "#/components/responses/Error"
|
|
1525
|
+
"404":
|
|
1526
|
+
$ref: "#/components/responses/Error"
|
|
1527
|
+
delete:
|
|
1528
|
+
tags: [Delivery]
|
|
1529
|
+
operationId: deleteRegistryConnection
|
|
1530
|
+
parameters:
|
|
1531
|
+
- $ref: "#/components/parameters/RegistryConnectionID"
|
|
1532
|
+
responses:
|
|
1533
|
+
"200":
|
|
1534
|
+
description: Deleted registry connection.
|
|
1535
|
+
content:
|
|
1536
|
+
application/json:
|
|
1537
|
+
schema:
|
|
1538
|
+
$ref: "#/components/schemas/OperationStatus"
|
|
1539
|
+
"403":
|
|
1540
|
+
$ref: "#/components/responses/Error"
|
|
1541
|
+
"404":
|
|
1542
|
+
$ref: "#/components/responses/Error"
|
|
1372
1543
|
/build-templates:
|
|
1373
1544
|
get:
|
|
1374
1545
|
tags: [Delivery]
|
|
@@ -2737,6 +2908,66 @@ paths:
|
|
|
2737
2908
|
$ref: "#/components/schemas/ClusterCapabilityMatrixEnvelope"
|
|
2738
2909
|
"403":
|
|
2739
2910
|
$ref: "#/components/responses/Error"
|
|
2911
|
+
/clusters/{clusterID}/agent-installation:
|
|
2912
|
+
post:
|
|
2913
|
+
tags: [Platform]
|
|
2914
|
+
operationId: createClusterAgentInstallation
|
|
2915
|
+
parameters:
|
|
2916
|
+
- $ref: "#/components/parameters/ClusterID"
|
|
2917
|
+
responses:
|
|
2918
|
+
"200":
|
|
2919
|
+
description: Short-lived Kubernetes manifest URL and kubectl command for installing the cluster Agent.
|
|
2920
|
+
content:
|
|
2921
|
+
application/json:
|
|
2922
|
+
schema:
|
|
2923
|
+
$ref: "#/components/schemas/AgentInstallationEnvelope"
|
|
2924
|
+
"400":
|
|
2925
|
+
$ref: "#/components/responses/Error"
|
|
2926
|
+
"403":
|
|
2927
|
+
$ref: "#/components/responses/Error"
|
|
2928
|
+
"404":
|
|
2929
|
+
$ref: "#/components/responses/Error"
|
|
2930
|
+
"409":
|
|
2931
|
+
$ref: "#/components/responses/Error"
|
|
2932
|
+
/kubernetes/agent-installations/{installTicket}/manifest.yaml:
|
|
2933
|
+
get:
|
|
2934
|
+
tags: [Platform]
|
|
2935
|
+
operationId: downloadKubernetesAgentInstallationManifest
|
|
2936
|
+
security: []
|
|
2937
|
+
parameters:
|
|
2938
|
+
- $ref: "#/components/parameters/AgentInstallTicket"
|
|
2939
|
+
responses:
|
|
2940
|
+
"200":
|
|
2941
|
+
description: Complete Kubernetes Agent installation manifest. The download URL is short-lived.
|
|
2942
|
+
content:
|
|
2943
|
+
application/yaml:
|
|
2944
|
+
schema:
|
|
2945
|
+
type: string
|
|
2946
|
+
"404":
|
|
2947
|
+
$ref: "#/components/responses/Error"
|
|
2948
|
+
"410":
|
|
2949
|
+
$ref: "#/components/responses/Error"
|
|
2950
|
+
/agent-sessions/connect:
|
|
2951
|
+
get:
|
|
2952
|
+
tags: [Platform]
|
|
2953
|
+
operationId: connectClusterAgentSession
|
|
2954
|
+
description: >
|
|
2955
|
+
Upgrades to the soha-agent-tunnel.v1 WebSocket subprotocol. The Agent
|
|
2956
|
+
initiates this connection and carries multiplexed HTTP and stream traffic
|
|
2957
|
+
over the resulting session.
|
|
2958
|
+
security:
|
|
2959
|
+
- agentBearerAuth: []
|
|
2960
|
+
parameters:
|
|
2961
|
+
- $ref: "#/components/parameters/ClusterIDQuery"
|
|
2962
|
+
responses:
|
|
2963
|
+
"101":
|
|
2964
|
+
description: WebSocket session established.
|
|
2965
|
+
"400":
|
|
2966
|
+
$ref: "#/components/responses/Error"
|
|
2967
|
+
"401":
|
|
2968
|
+
$ref: "#/components/responses/Error"
|
|
2969
|
+
"409":
|
|
2970
|
+
$ref: "#/components/responses/Error"
|
|
2740
2971
|
/clusters/{clusterID}/logs/query:
|
|
2741
2972
|
post:
|
|
2742
2973
|
tags: [Platform]
|
|
@@ -3020,120 +3251,230 @@ paths:
|
|
|
3020
3251
|
$ref: "#/components/schemas/ObservabilityProviderListEnvelope"
|
|
3021
3252
|
"403":
|
|
3022
3253
|
$ref: "#/components/responses/Error"
|
|
3023
|
-
/observability/
|
|
3024
|
-
|
|
3254
|
+
/observability/dashboards:
|
|
3255
|
+
get:
|
|
3025
3256
|
tags: [Observability]
|
|
3026
|
-
operationId:
|
|
3027
|
-
requestBody:
|
|
3028
|
-
required: true
|
|
3029
|
-
content:
|
|
3030
|
-
application/json:
|
|
3031
|
-
schema:
|
|
3032
|
-
$ref: "#/components/schemas/ObservabilityMetricQueryInput"
|
|
3257
|
+
operationId: listObservabilityDashboards
|
|
3033
3258
|
responses:
|
|
3034
3259
|
"200":
|
|
3035
|
-
description:
|
|
3260
|
+
description: Dashboards visible to the current principal.
|
|
3036
3261
|
content:
|
|
3037
3262
|
application/json:
|
|
3038
3263
|
schema:
|
|
3039
|
-
$ref: "#/components/schemas/
|
|
3040
|
-
"400":
|
|
3041
|
-
$ref: "#/components/responses/Error"
|
|
3264
|
+
$ref: "#/components/schemas/ObservabilityDashboardListEnvelope"
|
|
3042
3265
|
"403":
|
|
3043
3266
|
$ref: "#/components/responses/Error"
|
|
3044
|
-
|
|
3045
|
-
|
|
3046
|
-
|
|
3267
|
+
/observability/metrics/data-sources:
|
|
3268
|
+
get:
|
|
3269
|
+
tags: [Observability]
|
|
3270
|
+
operationId: listObservabilityMetricDataSources
|
|
3271
|
+
responses:
|
|
3272
|
+
"200":
|
|
3273
|
+
description: Enabled Prometheus data sources available for metric dashboards.
|
|
3274
|
+
content:
|
|
3275
|
+
application/json:
|
|
3276
|
+
schema:
|
|
3277
|
+
$ref: "#/components/schemas/ObservabilityMetricDataSourceListEnvelope"
|
|
3278
|
+
"403":
|
|
3047
3279
|
$ref: "#/components/responses/Error"
|
|
3048
|
-
/observability/
|
|
3280
|
+
/observability/dashboards/imports:
|
|
3049
3281
|
post:
|
|
3050
3282
|
tags: [Observability]
|
|
3051
|
-
operationId:
|
|
3283
|
+
operationId: importGrafanaDashboard
|
|
3052
3284
|
requestBody:
|
|
3053
3285
|
required: true
|
|
3054
3286
|
content:
|
|
3055
3287
|
application/json:
|
|
3056
3288
|
schema:
|
|
3057
|
-
$ref: "#/components/schemas/
|
|
3289
|
+
$ref: "#/components/schemas/ObservabilityGrafanaDashboardImportInput"
|
|
3058
3290
|
responses:
|
|
3059
|
-
"
|
|
3060
|
-
description:
|
|
3291
|
+
"201":
|
|
3292
|
+
description: Imported native dashboard and explicit compatibility warnings.
|
|
3061
3293
|
content:
|
|
3062
3294
|
application/json:
|
|
3063
3295
|
schema:
|
|
3064
|
-
$ref: "#/components/schemas/
|
|
3296
|
+
$ref: "#/components/schemas/ObservabilityDashboardImportResultEnvelope"
|
|
3065
3297
|
"400":
|
|
3066
3298
|
$ref: "#/components/responses/Error"
|
|
3067
3299
|
"403":
|
|
3068
3300
|
$ref: "#/components/responses/Error"
|
|
3069
3301
|
"404":
|
|
3070
3302
|
$ref: "#/components/responses/Error"
|
|
3071
|
-
|
|
3072
|
-
$ref: "#/components/responses/Error"
|
|
3073
|
-
/observability/data-sources:
|
|
3303
|
+
/observability/dashboards/{dashboardID}:
|
|
3074
3304
|
get:
|
|
3075
3305
|
tags: [Observability]
|
|
3076
|
-
operationId:
|
|
3306
|
+
operationId: getObservabilityDashboard
|
|
3307
|
+
parameters:
|
|
3308
|
+
- $ref: "#/components/parameters/DashboardID"
|
|
3077
3309
|
responses:
|
|
3078
3310
|
"200":
|
|
3079
|
-
description:
|
|
3311
|
+
description: Dashboard detail including normalized panels and targets.
|
|
3080
3312
|
content:
|
|
3081
3313
|
application/json:
|
|
3082
3314
|
schema:
|
|
3083
|
-
$ref: "#/components/schemas/
|
|
3315
|
+
$ref: "#/components/schemas/ObservabilityDashboardEnvelope"
|
|
3084
3316
|
"403":
|
|
3085
3317
|
$ref: "#/components/responses/Error"
|
|
3086
|
-
|
|
3318
|
+
"404":
|
|
3319
|
+
$ref: "#/components/responses/Error"
|
|
3320
|
+
delete:
|
|
3087
3321
|
tags: [Observability]
|
|
3088
|
-
operationId:
|
|
3089
|
-
|
|
3090
|
-
|
|
3091
|
-
content:
|
|
3092
|
-
application/json:
|
|
3093
|
-
schema:
|
|
3094
|
-
$ref: "#/components/schemas/ObservabilityDataSourceInput"
|
|
3322
|
+
operationId: deleteObservabilityDashboard
|
|
3323
|
+
parameters:
|
|
3324
|
+
- $ref: "#/components/parameters/DashboardID"
|
|
3095
3325
|
responses:
|
|
3096
|
-
"
|
|
3097
|
-
description:
|
|
3326
|
+
"200":
|
|
3327
|
+
description: Dashboard deleted.
|
|
3098
3328
|
content:
|
|
3099
3329
|
application/json:
|
|
3100
3330
|
schema:
|
|
3101
|
-
$ref: "#/components/schemas/
|
|
3102
|
-
"400":
|
|
3103
|
-
$ref: "#/components/responses/Error"
|
|
3331
|
+
$ref: "#/components/schemas/OperationStatus"
|
|
3104
3332
|
"403":
|
|
3105
3333
|
$ref: "#/components/responses/Error"
|
|
3106
|
-
|
|
3107
|
-
|
|
3334
|
+
"404":
|
|
3335
|
+
$ref: "#/components/responses/Error"
|
|
3336
|
+
/observability/dashboards/{dashboardID}/panels/{panelID}/query:
|
|
3337
|
+
post:
|
|
3108
3338
|
tags: [Observability]
|
|
3109
|
-
operationId:
|
|
3339
|
+
operationId: queryObservabilityDashboardPanel
|
|
3110
3340
|
parameters:
|
|
3111
|
-
- $ref: "#/components/parameters/
|
|
3341
|
+
- $ref: "#/components/parameters/DashboardID"
|
|
3342
|
+
- $ref: "#/components/parameters/DashboardPanelID"
|
|
3112
3343
|
requestBody:
|
|
3113
3344
|
required: true
|
|
3114
3345
|
content:
|
|
3115
3346
|
application/json:
|
|
3116
3347
|
schema:
|
|
3117
|
-
$ref: "#/components/schemas/
|
|
3348
|
+
$ref: "#/components/schemas/ObservabilityDashboardPanelQueryInput"
|
|
3118
3349
|
responses:
|
|
3119
3350
|
"200":
|
|
3120
|
-
description:
|
|
3351
|
+
description: Normalized metric series for the persisted dashboard panel targets.
|
|
3121
3352
|
content:
|
|
3122
3353
|
application/json:
|
|
3123
3354
|
schema:
|
|
3124
|
-
$ref: "#/components/schemas/
|
|
3355
|
+
$ref: "#/components/schemas/ObservabilityMetricQueryEnvelope"
|
|
3125
3356
|
"400":
|
|
3126
3357
|
$ref: "#/components/responses/Error"
|
|
3127
3358
|
"403":
|
|
3128
3359
|
$ref: "#/components/responses/Error"
|
|
3129
3360
|
"404":
|
|
3130
3361
|
$ref: "#/components/responses/Error"
|
|
3131
|
-
|
|
3362
|
+
"503":
|
|
3363
|
+
$ref: "#/components/responses/Error"
|
|
3364
|
+
/observability/metrics/query:
|
|
3132
3365
|
post:
|
|
3133
3366
|
tags: [Observability]
|
|
3134
|
-
operationId:
|
|
3135
|
-
|
|
3136
|
-
|
|
3367
|
+
operationId: queryObservabilityMetrics
|
|
3368
|
+
requestBody:
|
|
3369
|
+
required: true
|
|
3370
|
+
content:
|
|
3371
|
+
application/json:
|
|
3372
|
+
schema:
|
|
3373
|
+
$ref: "#/components/schemas/ObservabilityMetricQueryInput"
|
|
3374
|
+
responses:
|
|
3375
|
+
"200":
|
|
3376
|
+
description: Normalized metric series from an authorized configured provider.
|
|
3377
|
+
content:
|
|
3378
|
+
application/json:
|
|
3379
|
+
schema:
|
|
3380
|
+
$ref: "#/components/schemas/ObservabilityMetricQueryEnvelope"
|
|
3381
|
+
"400":
|
|
3382
|
+
$ref: "#/components/responses/Error"
|
|
3383
|
+
"403":
|
|
3384
|
+
$ref: "#/components/responses/Error"
|
|
3385
|
+
"404":
|
|
3386
|
+
$ref: "#/components/responses/Error"
|
|
3387
|
+
"503":
|
|
3388
|
+
$ref: "#/components/responses/Error"
|
|
3389
|
+
/observability/traces/query:
|
|
3390
|
+
post:
|
|
3391
|
+
tags: [Observability]
|
|
3392
|
+
operationId: queryObservabilityTraces
|
|
3393
|
+
requestBody:
|
|
3394
|
+
required: true
|
|
3395
|
+
content:
|
|
3396
|
+
application/json:
|
|
3397
|
+
schema:
|
|
3398
|
+
$ref: "#/components/schemas/ObservabilityTraceQueryInput"
|
|
3399
|
+
responses:
|
|
3400
|
+
"200":
|
|
3401
|
+
description: Normalized trace spans from an authorized configured provider.
|
|
3402
|
+
content:
|
|
3403
|
+
application/json:
|
|
3404
|
+
schema:
|
|
3405
|
+
$ref: "#/components/schemas/ObservabilityTraceQueryEnvelope"
|
|
3406
|
+
"400":
|
|
3407
|
+
$ref: "#/components/responses/Error"
|
|
3408
|
+
"403":
|
|
3409
|
+
$ref: "#/components/responses/Error"
|
|
3410
|
+
"404":
|
|
3411
|
+
$ref: "#/components/responses/Error"
|
|
3412
|
+
"503":
|
|
3413
|
+
$ref: "#/components/responses/Error"
|
|
3414
|
+
/observability/data-sources:
|
|
3415
|
+
get:
|
|
3416
|
+
tags: [Observability]
|
|
3417
|
+
operationId: listObservabilityDataSources
|
|
3418
|
+
responses:
|
|
3419
|
+
"200":
|
|
3420
|
+
description: Permission-filtered log data sources with credentials redacted.
|
|
3421
|
+
content:
|
|
3422
|
+
application/json:
|
|
3423
|
+
schema:
|
|
3424
|
+
$ref: "#/components/schemas/ObservabilityDataSourceListEnvelope"
|
|
3425
|
+
"403":
|
|
3426
|
+
$ref: "#/components/responses/Error"
|
|
3427
|
+
post:
|
|
3428
|
+
tags: [Observability]
|
|
3429
|
+
operationId: createObservabilityDataSource
|
|
3430
|
+
requestBody:
|
|
3431
|
+
required: true
|
|
3432
|
+
content:
|
|
3433
|
+
application/json:
|
|
3434
|
+
schema:
|
|
3435
|
+
$ref: "#/components/schemas/ObservabilityDataSourceInput"
|
|
3436
|
+
responses:
|
|
3437
|
+
"201":
|
|
3438
|
+
description: Log data source created with credentials redacted.
|
|
3439
|
+
content:
|
|
3440
|
+
application/json:
|
|
3441
|
+
schema:
|
|
3442
|
+
$ref: "#/components/schemas/ObservabilityDataSourceEnvelope"
|
|
3443
|
+
"400":
|
|
3444
|
+
$ref: "#/components/responses/Error"
|
|
3445
|
+
"403":
|
|
3446
|
+
$ref: "#/components/responses/Error"
|
|
3447
|
+
/observability/data-sources/{dataSourceID}:
|
|
3448
|
+
put:
|
|
3449
|
+
tags: [Observability]
|
|
3450
|
+
operationId: updateObservabilityDataSource
|
|
3451
|
+
parameters:
|
|
3452
|
+
- $ref: "#/components/parameters/DataSourceID"
|
|
3453
|
+
requestBody:
|
|
3454
|
+
required: true
|
|
3455
|
+
content:
|
|
3456
|
+
application/json:
|
|
3457
|
+
schema:
|
|
3458
|
+
$ref: "#/components/schemas/ObservabilityDataSourceInput"
|
|
3459
|
+
responses:
|
|
3460
|
+
"200":
|
|
3461
|
+
description: Log data source updated with credentials redacted.
|
|
3462
|
+
content:
|
|
3463
|
+
application/json:
|
|
3464
|
+
schema:
|
|
3465
|
+
$ref: "#/components/schemas/ObservabilityDataSourceEnvelope"
|
|
3466
|
+
"400":
|
|
3467
|
+
$ref: "#/components/responses/Error"
|
|
3468
|
+
"403":
|
|
3469
|
+
$ref: "#/components/responses/Error"
|
|
3470
|
+
"404":
|
|
3471
|
+
$ref: "#/components/responses/Error"
|
|
3472
|
+
/observability/data-sources/{dataSourceID}/validate:
|
|
3473
|
+
post:
|
|
3474
|
+
tags: [Observability]
|
|
3475
|
+
operationId: validateObservabilityDataSource
|
|
3476
|
+
parameters:
|
|
3477
|
+
- $ref: "#/components/parameters/DataSourceID"
|
|
3137
3478
|
responses:
|
|
3138
3479
|
"200":
|
|
3139
3480
|
description: Current data-source validation and backend health result.
|
|
@@ -6132,6 +6473,166 @@ paths:
|
|
|
6132
6473
|
application/json:
|
|
6133
6474
|
schema:
|
|
6134
6475
|
$ref: "#/components/schemas/MarketplacePluginEnvelope"
|
|
6476
|
+
/software/packages:
|
|
6477
|
+
get:
|
|
6478
|
+
tags: [Software]
|
|
6479
|
+
operationId: listSoftwarePackages
|
|
6480
|
+
parameters:
|
|
6481
|
+
- name: platform
|
|
6482
|
+
in: query
|
|
6483
|
+
required: false
|
|
6484
|
+
schema:
|
|
6485
|
+
type: string
|
|
6486
|
+
maxLength: 64
|
|
6487
|
+
- name: arch
|
|
6488
|
+
in: query
|
|
6489
|
+
required: false
|
|
6490
|
+
schema:
|
|
6491
|
+
type: string
|
|
6492
|
+
maxLength: 64
|
|
6493
|
+
- name: cursor
|
|
6494
|
+
in: query
|
|
6495
|
+
required: false
|
|
6496
|
+
schema:
|
|
6497
|
+
type: string
|
|
6498
|
+
maxLength: 256
|
|
6499
|
+
- name: limit
|
|
6500
|
+
in: query
|
|
6501
|
+
required: false
|
|
6502
|
+
schema:
|
|
6503
|
+
type: integer
|
|
6504
|
+
minimum: 1
|
|
6505
|
+
maximum: 200
|
|
6506
|
+
responses:
|
|
6507
|
+
"200":
|
|
6508
|
+
description: Software packages visible to the current principal.
|
|
6509
|
+
content:
|
|
6510
|
+
application/json:
|
|
6511
|
+
schema:
|
|
6512
|
+
$ref: "#/components/schemas/SoftwarePackageListEnvelope"
|
|
6513
|
+
"401":
|
|
6514
|
+
$ref: "#/components/responses/Error"
|
|
6515
|
+
"403":
|
|
6516
|
+
$ref: "#/components/responses/Error"
|
|
6517
|
+
post:
|
|
6518
|
+
tags: [Software]
|
|
6519
|
+
operationId: uploadSoftwarePackage
|
|
6520
|
+
requestBody:
|
|
6521
|
+
required: true
|
|
6522
|
+
content:
|
|
6523
|
+
multipart/form-data:
|
|
6524
|
+
schema:
|
|
6525
|
+
$ref: "#/components/schemas/SoftwarePackageUploadRequest"
|
|
6526
|
+
responses:
|
|
6527
|
+
"201":
|
|
6528
|
+
description: Software package uploaded and published.
|
|
6529
|
+
content:
|
|
6530
|
+
application/json:
|
|
6531
|
+
schema:
|
|
6532
|
+
$ref: "#/components/schemas/SoftwarePackageEnvelope"
|
|
6533
|
+
"400":
|
|
6534
|
+
$ref: "#/components/responses/Error"
|
|
6535
|
+
"401":
|
|
6536
|
+
$ref: "#/components/responses/Error"
|
|
6537
|
+
"403":
|
|
6538
|
+
$ref: "#/components/responses/Error"
|
|
6539
|
+
"409":
|
|
6540
|
+
$ref: "#/components/responses/Error"
|
|
6541
|
+
"413":
|
|
6542
|
+
$ref: "#/components/responses/Error"
|
|
6543
|
+
/software/packages/import:
|
|
6544
|
+
post:
|
|
6545
|
+
tags: [Software]
|
|
6546
|
+
operationId: importSoftwarePackage
|
|
6547
|
+
requestBody:
|
|
6548
|
+
required: true
|
|
6549
|
+
content:
|
|
6550
|
+
application/json:
|
|
6551
|
+
schema:
|
|
6552
|
+
$ref: "#/components/schemas/SoftwarePackageURLImportRequest"
|
|
6553
|
+
responses:
|
|
6554
|
+
"201":
|
|
6555
|
+
description: Software package downloaded from the source URL and published.
|
|
6556
|
+
content:
|
|
6557
|
+
application/json:
|
|
6558
|
+
schema:
|
|
6559
|
+
$ref: "#/components/schemas/SoftwarePackageEnvelope"
|
|
6560
|
+
"400":
|
|
6561
|
+
$ref: "#/components/responses/Error"
|
|
6562
|
+
"401":
|
|
6563
|
+
$ref: "#/components/responses/Error"
|
|
6564
|
+
"403":
|
|
6565
|
+
$ref: "#/components/responses/Error"
|
|
6566
|
+
"409":
|
|
6567
|
+
$ref: "#/components/responses/Error"
|
|
6568
|
+
"413":
|
|
6569
|
+
$ref: "#/components/responses/Error"
|
|
6570
|
+
/software/storage:
|
|
6571
|
+
get:
|
|
6572
|
+
tags: [Software]
|
|
6573
|
+
operationId: getSoftwareStorage
|
|
6574
|
+
parameters:
|
|
6575
|
+
- name: cursor
|
|
6576
|
+
in: query
|
|
6577
|
+
required: false
|
|
6578
|
+
schema:
|
|
6579
|
+
type: string
|
|
6580
|
+
maxLength: 256
|
|
6581
|
+
- name: limit
|
|
6582
|
+
in: query
|
|
6583
|
+
required: false
|
|
6584
|
+
schema:
|
|
6585
|
+
type: integer
|
|
6586
|
+
minimum: 1
|
|
6587
|
+
maximum: 200
|
|
6588
|
+
responses:
|
|
6589
|
+
"200":
|
|
6590
|
+
description: Managed software storage summary and object records.
|
|
6591
|
+
content:
|
|
6592
|
+
application/json:
|
|
6593
|
+
schema:
|
|
6594
|
+
$ref: "#/components/schemas/SoftwareStorageEnvelope"
|
|
6595
|
+
"400":
|
|
6596
|
+
$ref: "#/components/responses/Error"
|
|
6597
|
+
"401":
|
|
6598
|
+
$ref: "#/components/responses/Error"
|
|
6599
|
+
"403":
|
|
6600
|
+
$ref: "#/components/responses/Error"
|
|
6601
|
+
/software/packages/{packageID}:
|
|
6602
|
+
delete:
|
|
6603
|
+
tags: [Software]
|
|
6604
|
+
operationId: deleteSoftwarePackage
|
|
6605
|
+
parameters:
|
|
6606
|
+
- $ref: "#/components/parameters/SoftwarePackageID"
|
|
6607
|
+
responses:
|
|
6608
|
+
"204":
|
|
6609
|
+
description: Software package deleted.
|
|
6610
|
+
"401":
|
|
6611
|
+
$ref: "#/components/responses/Error"
|
|
6612
|
+
"403":
|
|
6613
|
+
$ref: "#/components/responses/Error"
|
|
6614
|
+
"404":
|
|
6615
|
+
$ref: "#/components/responses/Error"
|
|
6616
|
+
/software/packages/{packageID}/download:
|
|
6617
|
+
get:
|
|
6618
|
+
tags: [Software]
|
|
6619
|
+
operationId: downloadSoftwarePackage
|
|
6620
|
+
parameters:
|
|
6621
|
+
- $ref: "#/components/parameters/SoftwarePackageID"
|
|
6622
|
+
responses:
|
|
6623
|
+
"200":
|
|
6624
|
+
description: Software package binary.
|
|
6625
|
+
content:
|
|
6626
|
+
application/octet-stream:
|
|
6627
|
+
schema:
|
|
6628
|
+
type: string
|
|
6629
|
+
format: binary
|
|
6630
|
+
"401":
|
|
6631
|
+
$ref: "#/components/responses/Error"
|
|
6632
|
+
"403":
|
|
6633
|
+
$ref: "#/components/responses/Error"
|
|
6634
|
+
"404":
|
|
6635
|
+
$ref: "#/components/responses/Error"
|
|
6135
6636
|
/plugins/installed:
|
|
6136
6637
|
get:
|
|
6137
6638
|
tags: [Plugins]
|
|
@@ -7420,31 +7921,117 @@ paths:
|
|
|
7420
7921
|
"400": { $ref: "#/components/responses/Error" }
|
|
7421
7922
|
"401": { $ref: "#/components/responses/Error" }
|
|
7422
7923
|
"403": { $ref: "#/components/responses/Error" }
|
|
7423
|
-
/
|
|
7924
|
+
/access/permissions:
|
|
7424
7925
|
get:
|
|
7425
|
-
tags: [
|
|
7426
|
-
operationId:
|
|
7926
|
+
tags: [Access]
|
|
7927
|
+
operationId: getPermissionCatalog
|
|
7427
7928
|
responses:
|
|
7428
7929
|
"200":
|
|
7429
|
-
description:
|
|
7930
|
+
description: Canonical permission definitions and compatibility metadata.
|
|
7430
7931
|
content:
|
|
7431
7932
|
application/json:
|
|
7432
|
-
schema: { $ref: "#/components/schemas/
|
|
7433
|
-
"
|
|
7434
|
-
|
|
7933
|
+
schema: { $ref: "#/components/schemas/PermissionCatalogEnvelope" }
|
|
7934
|
+
"401": { $ref: "#/components/responses/Error" }
|
|
7935
|
+
"403": { $ref: "#/components/responses/Error" }
|
|
7936
|
+
/access/roles:
|
|
7435
7937
|
get:
|
|
7436
|
-
tags: [
|
|
7437
|
-
operationId:
|
|
7938
|
+
tags: [Access]
|
|
7939
|
+
operationId: listAccessRoles
|
|
7438
7940
|
responses:
|
|
7439
7941
|
"200":
|
|
7440
|
-
description:
|
|
7942
|
+
description: Access roles.
|
|
7441
7943
|
content:
|
|
7442
7944
|
application/json:
|
|
7443
|
-
schema: { $ref: "#/components/schemas/
|
|
7444
|
-
"
|
|
7945
|
+
schema: { $ref: "#/components/schemas/AccessRoleListEnvelope" }
|
|
7946
|
+
"401": { $ref: "#/components/responses/Error" }
|
|
7947
|
+
"403": { $ref: "#/components/responses/Error" }
|
|
7445
7948
|
post:
|
|
7446
|
-
tags: [
|
|
7447
|
-
operationId:
|
|
7949
|
+
tags: [Access]
|
|
7950
|
+
operationId: createAccessRole
|
|
7951
|
+
requestBody:
|
|
7952
|
+
required: true
|
|
7953
|
+
content:
|
|
7954
|
+
application/json:
|
|
7955
|
+
schema: { $ref: "#/components/schemas/AccessRoleInput" }
|
|
7956
|
+
responses:
|
|
7957
|
+
"201":
|
|
7958
|
+
description: Created access role.
|
|
7959
|
+
content:
|
|
7960
|
+
application/json:
|
|
7961
|
+
schema: { $ref: "#/components/schemas/AccessRoleEnvelope" }
|
|
7962
|
+
"400": { $ref: "#/components/responses/Error" }
|
|
7963
|
+
"401": { $ref: "#/components/responses/Error" }
|
|
7964
|
+
"403": { $ref: "#/components/responses/Error" }
|
|
7965
|
+
/access/roles/{accessRoleID}:
|
|
7966
|
+
parameters:
|
|
7967
|
+
- $ref: "#/components/parameters/AccessRoleID"
|
|
7968
|
+
get:
|
|
7969
|
+
tags: [Access]
|
|
7970
|
+
operationId: getAccessRole
|
|
7971
|
+
responses:
|
|
7972
|
+
"200":
|
|
7973
|
+
description: Access role detail.
|
|
7974
|
+
content:
|
|
7975
|
+
application/json:
|
|
7976
|
+
schema: { $ref: "#/components/schemas/AccessRoleEnvelope" }
|
|
7977
|
+
"401": { $ref: "#/components/responses/Error" }
|
|
7978
|
+
"403": { $ref: "#/components/responses/Error" }
|
|
7979
|
+
"404": { $ref: "#/components/responses/Error" }
|
|
7980
|
+
put:
|
|
7981
|
+
tags: [Access]
|
|
7982
|
+
operationId: updateAccessRole
|
|
7983
|
+
requestBody:
|
|
7984
|
+
required: true
|
|
7985
|
+
content:
|
|
7986
|
+
application/json:
|
|
7987
|
+
schema: { $ref: "#/components/schemas/AccessRoleInput" }
|
|
7988
|
+
responses:
|
|
7989
|
+
"200":
|
|
7990
|
+
description: Updated access role.
|
|
7991
|
+
content:
|
|
7992
|
+
application/json:
|
|
7993
|
+
schema: { $ref: "#/components/schemas/AccessRoleEnvelope" }
|
|
7994
|
+
"400": { $ref: "#/components/responses/Error" }
|
|
7995
|
+
"401": { $ref: "#/components/responses/Error" }
|
|
7996
|
+
"403": { $ref: "#/components/responses/Error" }
|
|
7997
|
+
"404": { $ref: "#/components/responses/Error" }
|
|
7998
|
+
delete:
|
|
7999
|
+
tags: [Access]
|
|
8000
|
+
operationId: deleteAccessRole
|
|
8001
|
+
responses:
|
|
8002
|
+
"200":
|
|
8003
|
+
description: Access role deleted.
|
|
8004
|
+
content:
|
|
8005
|
+
application/json:
|
|
8006
|
+
schema: { $ref: "#/components/schemas/AccessRoleDeleteResult" }
|
|
8007
|
+
"401": { $ref: "#/components/responses/Error" }
|
|
8008
|
+
"403": { $ref: "#/components/responses/Error" }
|
|
8009
|
+
"404": { $ref: "#/components/responses/Error" }
|
|
8010
|
+
/identity/capabilities:
|
|
8011
|
+
get:
|
|
8012
|
+
tags: [Identity]
|
|
8013
|
+
operationId: getIdentityRuntimeCapabilities
|
|
8014
|
+
responses:
|
|
8015
|
+
"200":
|
|
8016
|
+
description: Identity protocol and runtime capability truth.
|
|
8017
|
+
content:
|
|
8018
|
+
application/json:
|
|
8019
|
+
schema: { $ref: "#/components/schemas/IdentityRuntimeCapabilityEnvelope" }
|
|
8020
|
+
"403": { $ref: "#/components/responses/IdentityError" }
|
|
8021
|
+
/identity/applications:
|
|
8022
|
+
get:
|
|
8023
|
+
tags: [Identity]
|
|
8024
|
+
operationId: listIdentityApplications
|
|
8025
|
+
responses:
|
|
8026
|
+
"200":
|
|
8027
|
+
description: Identity applications.
|
|
8028
|
+
content:
|
|
8029
|
+
application/json:
|
|
8030
|
+
schema: { $ref: "#/components/schemas/IdentityApplicationListEnvelope" }
|
|
8031
|
+
"403": { $ref: "#/components/responses/IdentityError" }
|
|
8032
|
+
post:
|
|
8033
|
+
tags: [Identity]
|
|
8034
|
+
operationId: createIdentityApplication
|
|
7448
8035
|
requestBody:
|
|
7449
8036
|
required: true
|
|
7450
8037
|
content:
|
|
@@ -8214,12 +8801,21 @@ components:
|
|
|
8214
8801
|
type: http
|
|
8215
8802
|
scheme: bearer
|
|
8216
8803
|
description: Runtime execution runner token.
|
|
8804
|
+
agentBearerAuth:
|
|
8805
|
+
type: http
|
|
8806
|
+
scheme: bearer
|
|
8807
|
+
description: Per-cluster Agent session token provisioned through the installation manifest.
|
|
8217
8808
|
sohaXAPIKey:
|
|
8218
8809
|
type: apiKey
|
|
8219
8810
|
in: header
|
|
8220
8811
|
name: x-api-key
|
|
8221
8812
|
description: Anthropic-style Soha PAT/SAT credential header for native relay endpoints.
|
|
8222
8813
|
parameters:
|
|
8814
|
+
AccessRoleID:
|
|
8815
|
+
name: accessRoleID
|
|
8816
|
+
in: path
|
|
8817
|
+
required: true
|
|
8818
|
+
schema: { type: string, minLength: 1, maxLength: 128 }
|
|
8223
8819
|
IdentityApplicationID:
|
|
8224
8820
|
name: identityApplicationID
|
|
8225
8821
|
in: path
|
|
@@ -8329,6 +8925,21 @@ components:
|
|
|
8329
8925
|
schema:
|
|
8330
8926
|
type: string
|
|
8331
8927
|
minLength: 1
|
|
8928
|
+
ClusterIDQuery:
|
|
8929
|
+
name: clusterId
|
|
8930
|
+
in: query
|
|
8931
|
+
required: true
|
|
8932
|
+
schema:
|
|
8933
|
+
type: string
|
|
8934
|
+
minLength: 1
|
|
8935
|
+
AgentInstallTicket:
|
|
8936
|
+
name: installTicket
|
|
8937
|
+
in: path
|
|
8938
|
+
required: true
|
|
8939
|
+
schema:
|
|
8940
|
+
type: string
|
|
8941
|
+
minLength: 16
|
|
8942
|
+
maxLength: 1024
|
|
8332
8943
|
DataSourceID:
|
|
8333
8944
|
name: dataSourceID
|
|
8334
8945
|
in: path
|
|
@@ -8337,6 +8948,22 @@ components:
|
|
|
8337
8948
|
type: string
|
|
8338
8949
|
minLength: 1
|
|
8339
8950
|
maxLength: 128
|
|
8951
|
+
DashboardID:
|
|
8952
|
+
name: dashboardID
|
|
8953
|
+
in: path
|
|
8954
|
+
required: true
|
|
8955
|
+
schema:
|
|
8956
|
+
type: string
|
|
8957
|
+
minLength: 1
|
|
8958
|
+
maxLength: 128
|
|
8959
|
+
DashboardPanelID:
|
|
8960
|
+
name: panelID
|
|
8961
|
+
in: path
|
|
8962
|
+
required: true
|
|
8963
|
+
schema:
|
|
8964
|
+
type: string
|
|
8965
|
+
minLength: 1
|
|
8966
|
+
maxLength: 128
|
|
8340
8967
|
ComputeCursor:
|
|
8341
8968
|
name: cursor
|
|
8342
8969
|
in: query
|
|
@@ -8539,6 +9166,13 @@ components:
|
|
|
8539
9166
|
required: true
|
|
8540
9167
|
schema:
|
|
8541
9168
|
type: string
|
|
9169
|
+
RegistryConnectionID:
|
|
9170
|
+
name: connectionID
|
|
9171
|
+
in: path
|
|
9172
|
+
required: true
|
|
9173
|
+
schema:
|
|
9174
|
+
type: string
|
|
9175
|
+
minLength: 1
|
|
8542
9176
|
BundleID:
|
|
8543
9177
|
name: bundleID
|
|
8544
9178
|
in: path
|
|
@@ -8625,6 +9259,14 @@ components:
|
|
|
8625
9259
|
type: string
|
|
8626
9260
|
minLength: 1
|
|
8627
9261
|
maxLength: 128
|
|
9262
|
+
SoftwarePackageID:
|
|
9263
|
+
name: packageID
|
|
9264
|
+
in: path
|
|
9265
|
+
required: true
|
|
9266
|
+
schema:
|
|
9267
|
+
type: string
|
|
9268
|
+
minLength: 1
|
|
9269
|
+
maxLength: 128
|
|
8628
9270
|
AIMemoryID:
|
|
8629
9271
|
name: memoryID
|
|
8630
9272
|
in: path
|
|
@@ -10425,6 +11067,166 @@ components:
|
|
|
10425
11067
|
items:
|
|
10426
11068
|
$ref: "#/components/schemas/AnyValue"
|
|
10427
11069
|
additionalProperties: false
|
|
11070
|
+
PermissionRiskLevel:
|
|
11071
|
+
type: string
|
|
11072
|
+
enum: [read, mutate, execute, high]
|
|
11073
|
+
x-enum-varnames: [PermissionRiskLevelRead, PermissionRiskLevelMutate, PermissionRiskLevelExecute, PermissionRiskLevelHigh]
|
|
11074
|
+
PermissionApprovalPolicy:
|
|
11075
|
+
type: string
|
|
11076
|
+
enum: [never, eligible, required]
|
|
11077
|
+
x-enum-varnames: [PermissionApprovalPolicyNever, PermissionApprovalPolicyEligible, PermissionApprovalPolicyRequired]
|
|
11078
|
+
PermissionStatus:
|
|
11079
|
+
type: string
|
|
11080
|
+
enum: [active, legacy]
|
|
11081
|
+
x-enum-varnames: [PermissionStatusActive, PermissionStatusLegacy]
|
|
11082
|
+
PermissionScopeKind:
|
|
11083
|
+
type: string
|
|
11084
|
+
enum: [tenant, workspace, cluster, namespace, project, resource, owner]
|
|
11085
|
+
x-enum-varnames: [PermissionScopeKindTenant, PermissionScopeKindWorkspace, PermissionScopeKindCluster, PermissionScopeKindNamespace, PermissionScopeKindProject, PermissionScopeKindResource, PermissionScopeKindOwner]
|
|
11086
|
+
PermissionDefinition:
|
|
11087
|
+
type: object
|
|
11088
|
+
required: [key, domain, resource, action, displayName, riskLevel, scopeKinds, approvalPolicy, status, assignable]
|
|
11089
|
+
properties:
|
|
11090
|
+
key: { type: string, pattern: "^[a-z][a-z0-9_-]*(?:\\.[a-z][a-z0-9_-]*)+$" }
|
|
11091
|
+
domain: { type: string, pattern: "^[a-z][a-z0-9_-]*$" }
|
|
11092
|
+
resource: { type: string, pattern: "^[a-z][a-z0-9_.-]*$" }
|
|
11093
|
+
action: { type: string, pattern: "^[a-z][a-z0-9_-]*$" }
|
|
11094
|
+
displayName: { type: string, minLength: 1 }
|
|
11095
|
+
riskLevel: { $ref: "#/components/schemas/PermissionRiskLevel" }
|
|
11096
|
+
scopeKinds:
|
|
11097
|
+
type: array
|
|
11098
|
+
minItems: 1
|
|
11099
|
+
uniqueItems: true
|
|
11100
|
+
items: { $ref: "#/components/schemas/PermissionScopeKind" }
|
|
11101
|
+
approvalPolicy: { $ref: "#/components/schemas/PermissionApprovalPolicy" }
|
|
11102
|
+
status: { $ref: "#/components/schemas/PermissionStatus" }
|
|
11103
|
+
assignable: { type: boolean }
|
|
11104
|
+
legacyAliases: { type: array, uniqueItems: true, items: { type: string, minLength: 1 } }
|
|
11105
|
+
legacyCapabilities:
|
|
11106
|
+
type: array
|
|
11107
|
+
uniqueItems: true
|
|
11108
|
+
description: Migration-only role-global action aliases accepted by this exact permission.
|
|
11109
|
+
items: { type: string, pattern: "^[a-z][a-z0-9_-]*$" }
|
|
11110
|
+
replacedBy: { type: array, uniqueItems: true, items: { type: string, minLength: 1 } }
|
|
11111
|
+
additionalProperties: false
|
|
11112
|
+
PermissionCatalog:
|
|
11113
|
+
type: object
|
|
11114
|
+
required: [schemaVersion, catalogVersion, contentHash, permissions]
|
|
11115
|
+
properties:
|
|
11116
|
+
schemaVersion: { type: string, const: authorization.opensoha.io/v1 }
|
|
11117
|
+
catalogVersion: { type: string, pattern: "^[0-9]+\\.[0-9]+\\.[0-9]+$" }
|
|
11118
|
+
contentHash: { type: string, pattern: "^sha256:[a-f0-9]{64}$" }
|
|
11119
|
+
permissions:
|
|
11120
|
+
type: array
|
|
11121
|
+
minItems: 1
|
|
11122
|
+
items: { $ref: "#/components/schemas/PermissionDefinition" }
|
|
11123
|
+
additionalProperties: false
|
|
11124
|
+
PermissionCatalogEnvelope:
|
|
11125
|
+
type: object
|
|
11126
|
+
required: [data]
|
|
11127
|
+
properties:
|
|
11128
|
+
data: { $ref: "#/components/schemas/PermissionCatalog" }
|
|
11129
|
+
additionalProperties: false
|
|
11130
|
+
AccessRole:
|
|
11131
|
+
type: object
|
|
11132
|
+
required: [id, name, scope, capabilities, permissionKeys, userCount]
|
|
11133
|
+
properties:
|
|
11134
|
+
id: { type: string, minLength: 1 }
|
|
11135
|
+
name: { type: string, minLength: 1 }
|
|
11136
|
+
scope: { type: string, minLength: 1 }
|
|
11137
|
+
capabilities:
|
|
11138
|
+
type: array
|
|
11139
|
+
uniqueItems: true
|
|
11140
|
+
deprecated: true
|
|
11141
|
+
description: Legacy role-global action aliases retained only for migration.
|
|
11142
|
+
items: { type: string, minLength: 1 }
|
|
11143
|
+
permissionKeys:
|
|
11144
|
+
type: array
|
|
11145
|
+
uniqueItems: true
|
|
11146
|
+
items: { type: string, minLength: 1 }
|
|
11147
|
+
userCount: { type: integer, minimum: 0 }
|
|
11148
|
+
additionalProperties: false
|
|
11149
|
+
AccessRoleInput:
|
|
11150
|
+
type: object
|
|
11151
|
+
required: [name, scope, permissionKeys]
|
|
11152
|
+
properties:
|
|
11153
|
+
id: { type: string, minLength: 1 }
|
|
11154
|
+
name: { type: string, minLength: 1 }
|
|
11155
|
+
scope: { type: string, minLength: 1 }
|
|
11156
|
+
capabilities:
|
|
11157
|
+
type: array
|
|
11158
|
+
uniqueItems: true
|
|
11159
|
+
deprecated: true
|
|
11160
|
+
description: Legacy role-global action aliases; new role editors must send an empty array.
|
|
11161
|
+
items: { type: string, minLength: 1 }
|
|
11162
|
+
permissionKeys:
|
|
11163
|
+
type: array
|
|
11164
|
+
uniqueItems: true
|
|
11165
|
+
items: { type: string, minLength: 1 }
|
|
11166
|
+
additionalProperties: false
|
|
11167
|
+
AccessRoleEnvelope:
|
|
11168
|
+
type: object
|
|
11169
|
+
required: [data]
|
|
11170
|
+
properties:
|
|
11171
|
+
data: { $ref: "#/components/schemas/AccessRole" }
|
|
11172
|
+
additionalProperties: false
|
|
11173
|
+
AccessRoleListEnvelope:
|
|
11174
|
+
type: object
|
|
11175
|
+
required: [items]
|
|
11176
|
+
properties:
|
|
11177
|
+
items: { type: array, items: { $ref: "#/components/schemas/AccessRole" } }
|
|
11178
|
+
additionalProperties: false
|
|
11179
|
+
AccessRoleDeleteResult:
|
|
11180
|
+
type: object
|
|
11181
|
+
required: [status]
|
|
11182
|
+
properties:
|
|
11183
|
+
status: { type: string, const: ok }
|
|
11184
|
+
additionalProperties: false
|
|
11185
|
+
AuthorizationDecisionStatus:
|
|
11186
|
+
type: string
|
|
11187
|
+
enum: [allow, deny, approval_required]
|
|
11188
|
+
x-enum-varnames: [AuthorizationDecisionStatusAllow, AuthorizationDecisionStatusDeny, AuthorizationDecisionStatusApprovalRequired]
|
|
11189
|
+
AuthorizationResource:
|
|
11190
|
+
type: object
|
|
11191
|
+
required: [type]
|
|
11192
|
+
properties:
|
|
11193
|
+
type: { type: string, minLength: 1 }
|
|
11194
|
+
id: { type: string }
|
|
11195
|
+
tenantId: { type: string }
|
|
11196
|
+
workspaceId: { type: string }
|
|
11197
|
+
clusterId: { type: string }
|
|
11198
|
+
namespace: { type: string }
|
|
11199
|
+
projectId: { type: string }
|
|
11200
|
+
owner: { type: string }
|
|
11201
|
+
labels: { type: object, additionalProperties: { type: string } }
|
|
11202
|
+
additionalProperties: false
|
|
11203
|
+
AuthorizationEffectiveScope:
|
|
11204
|
+
type: object
|
|
11205
|
+
properties:
|
|
11206
|
+
tenantIds: { type: array, uniqueItems: true, items: { type: string } }
|
|
11207
|
+
workspaceIds: { type: array, uniqueItems: true, items: { type: string } }
|
|
11208
|
+
clusterIds: { type: array, uniqueItems: true, items: { type: string } }
|
|
11209
|
+
namespaces: { type: array, uniqueItems: true, items: { type: string } }
|
|
11210
|
+
projectIds: { type: array, uniqueItems: true, items: { type: string } }
|
|
11211
|
+
resourceKinds: { type: array, uniqueItems: true, items: { type: string } }
|
|
11212
|
+
labelSelector: { type: string }
|
|
11213
|
+
additionalProperties: false
|
|
11214
|
+
AuthorizationDecision:
|
|
11215
|
+
type: object
|
|
11216
|
+
required: [status, permissionKey, action, resource, reasonCode, policyVersion]
|
|
11217
|
+
properties:
|
|
11218
|
+
status: { $ref: "#/components/schemas/AuthorizationDecisionStatus" }
|
|
11219
|
+
permissionKey: { type: string, minLength: 1 }
|
|
11220
|
+
action: { type: string, minLength: 1 }
|
|
11221
|
+
resource: { $ref: "#/components/schemas/AuthorizationResource" }
|
|
11222
|
+
effectiveScope: { $ref: "#/components/schemas/AuthorizationEffectiveScope" }
|
|
11223
|
+
reasonCode: { type: string, minLength: 1 }
|
|
11224
|
+
policyVersion: { type: string, minLength: 1 }
|
|
11225
|
+
allowedActions:
|
|
11226
|
+
type: array
|
|
11227
|
+
uniqueItems: true
|
|
11228
|
+
items: { type: string, minLength: 1 }
|
|
11229
|
+
additionalProperties: false
|
|
10428
11230
|
ComputeDomain:
|
|
10429
11231
|
type: string
|
|
10430
11232
|
enum: [virtualization, container_runtime, agent]
|
|
@@ -13836,7 +14638,7 @@ components:
|
|
|
13836
14638
|
additionalProperties: false
|
|
13837
14639
|
ApplicationInput:
|
|
13838
14640
|
type: object
|
|
13839
|
-
required: [name, key,
|
|
14641
|
+
required: [name, key, enabled]
|
|
13840
14642
|
properties:
|
|
13841
14643
|
id:
|
|
13842
14644
|
type: string
|
|
@@ -14196,6 +14998,87 @@ components:
|
|
|
14196
14998
|
enabled:
|
|
14197
14999
|
type: boolean
|
|
14198
15000
|
additionalProperties: false
|
|
15001
|
+
RegistryConnectionMetadata:
|
|
15002
|
+
type: object
|
|
15003
|
+
required: [secretConfigured, secretStorage]
|
|
15004
|
+
properties:
|
|
15005
|
+
secretConfigured:
|
|
15006
|
+
type: boolean
|
|
15007
|
+
secretStorage:
|
|
15008
|
+
type: string
|
|
15009
|
+
additionalProperties: false
|
|
15010
|
+
RegistryConnection:
|
|
15011
|
+
type: object
|
|
15012
|
+
required: [id, name, registryType, endpoint, insecure, metadata, createdAt, updatedAt]
|
|
15013
|
+
properties:
|
|
15014
|
+
id:
|
|
15015
|
+
type: string
|
|
15016
|
+
minLength: 1
|
|
15017
|
+
name:
|
|
15018
|
+
type: string
|
|
15019
|
+
minLength: 1
|
|
15020
|
+
registryType:
|
|
15021
|
+
type: string
|
|
15022
|
+
minLength: 1
|
|
15023
|
+
endpoint:
|
|
15024
|
+
type: string
|
|
15025
|
+
minLength: 1
|
|
15026
|
+
namespace:
|
|
15027
|
+
type: string
|
|
15028
|
+
username:
|
|
15029
|
+
type: string
|
|
15030
|
+
insecure:
|
|
15031
|
+
type: boolean
|
|
15032
|
+
metadata:
|
|
15033
|
+
$ref: "#/components/schemas/RegistryConnectionMetadata"
|
|
15034
|
+
createdAt:
|
|
15035
|
+
type: string
|
|
15036
|
+
format: date-time
|
|
15037
|
+
updatedAt:
|
|
15038
|
+
type: string
|
|
15039
|
+
format: date-time
|
|
15040
|
+
additionalProperties: false
|
|
15041
|
+
RegistryConnectionInput:
|
|
15042
|
+
type: object
|
|
15043
|
+
required: [name, registryType, endpoint]
|
|
15044
|
+
properties:
|
|
15045
|
+
id:
|
|
15046
|
+
type: string
|
|
15047
|
+
name:
|
|
15048
|
+
type: string
|
|
15049
|
+
minLength: 1
|
|
15050
|
+
registryType:
|
|
15051
|
+
type: string
|
|
15052
|
+
minLength: 1
|
|
15053
|
+
endpoint:
|
|
15054
|
+
type: string
|
|
15055
|
+
minLength: 1
|
|
15056
|
+
namespace:
|
|
15057
|
+
type: string
|
|
15058
|
+
username:
|
|
15059
|
+
type: string
|
|
15060
|
+
secret:
|
|
15061
|
+
type: string
|
|
15062
|
+
writeOnly: true
|
|
15063
|
+
insecure:
|
|
15064
|
+
type: boolean
|
|
15065
|
+
additionalProperties: false
|
|
15066
|
+
RegistryConnectionEnvelope:
|
|
15067
|
+
type: object
|
|
15068
|
+
required: [data]
|
|
15069
|
+
properties:
|
|
15070
|
+
data:
|
|
15071
|
+
$ref: "#/components/schemas/RegistryConnection"
|
|
15072
|
+
additionalProperties: false
|
|
15073
|
+
RegistryConnectionListEnvelope:
|
|
15074
|
+
type: object
|
|
15075
|
+
required: [items]
|
|
15076
|
+
properties:
|
|
15077
|
+
items:
|
|
15078
|
+
type: array
|
|
15079
|
+
items:
|
|
15080
|
+
$ref: "#/components/schemas/RegistryConnection"
|
|
15081
|
+
additionalProperties: false
|
|
14199
15082
|
WorkflowTemplate:
|
|
14200
15083
|
type: object
|
|
14201
15084
|
required: [id, key, name, enabled, createdAt, updatedAt]
|
|
@@ -14297,22 +15180,298 @@ components:
|
|
|
14297
15180
|
type: string
|
|
14298
15181
|
strategyProfileId:
|
|
14299
15182
|
type: string
|
|
14300
|
-
promotionPolicyId:
|
|
15183
|
+
promotionPolicyId:
|
|
15184
|
+
type: string
|
|
15185
|
+
artifactPolicyId:
|
|
15186
|
+
type: string
|
|
15187
|
+
workflowTemplateId:
|
|
15188
|
+
type: string
|
|
15189
|
+
buildPolicy:
|
|
15190
|
+
$ref: "#/components/schemas/BuildPolicy"
|
|
15191
|
+
releasePolicy:
|
|
15192
|
+
$ref: "#/components/schemas/ReleasePolicy"
|
|
15193
|
+
resourceSelector:
|
|
15194
|
+
$ref: "#/components/schemas/ResourceSelector"
|
|
15195
|
+
targets:
|
|
15196
|
+
type: array
|
|
15197
|
+
items:
|
|
15198
|
+
$ref: "#/components/schemas/ReleaseTargetInput"
|
|
15199
|
+
additionalProperties: false
|
|
15200
|
+
KubernetesRelatedResource:
|
|
15201
|
+
type: object
|
|
15202
|
+
required: [kind, name]
|
|
15203
|
+
properties:
|
|
15204
|
+
kind:
|
|
15205
|
+
type: string
|
|
15206
|
+
enum: [Service, Ingress, HorizontalPodAutoscaler]
|
|
15207
|
+
name:
|
|
15208
|
+
type: string
|
|
15209
|
+
minLength: 1
|
|
15210
|
+
additionalProperties: false
|
|
15211
|
+
KubernetesImportCandidate:
|
|
15212
|
+
type: object
|
|
15213
|
+
required: [clusterId, namespace, workloadKind, workloadName, desiredReplicas, readyReplicas, relatedResources]
|
|
15214
|
+
properties:
|
|
15215
|
+
clusterId:
|
|
15216
|
+
type: string
|
|
15217
|
+
minLength: 1
|
|
15218
|
+
namespace:
|
|
15219
|
+
type: string
|
|
15220
|
+
minLength: 1
|
|
15221
|
+
workloadKind:
|
|
15222
|
+
type: string
|
|
15223
|
+
enum: [Deployment, StatefulSet, DaemonSet]
|
|
15224
|
+
workloadName:
|
|
15225
|
+
type: string
|
|
15226
|
+
minLength: 1
|
|
15227
|
+
desiredReplicas:
|
|
15228
|
+
type: integer
|
|
15229
|
+
minimum: 0
|
|
15230
|
+
readyReplicas:
|
|
15231
|
+
type: integer
|
|
15232
|
+
minimum: 0
|
|
15233
|
+
containers:
|
|
15234
|
+
type: array
|
|
15235
|
+
uniqueItems: true
|
|
15236
|
+
items:
|
|
15237
|
+
type: string
|
|
15238
|
+
labels:
|
|
15239
|
+
type: object
|
|
15240
|
+
additionalProperties:
|
|
15241
|
+
type: string
|
|
15242
|
+
relatedResources:
|
|
15243
|
+
type: array
|
|
15244
|
+
items:
|
|
15245
|
+
$ref: "#/components/schemas/KubernetesRelatedResource"
|
|
15246
|
+
additionalProperties: false
|
|
15247
|
+
KubernetesImportCandidateListEnvelope:
|
|
15248
|
+
type: object
|
|
15249
|
+
required: [items, truncated]
|
|
15250
|
+
properties:
|
|
15251
|
+
items:
|
|
15252
|
+
type: array
|
|
15253
|
+
items:
|
|
15254
|
+
$ref: "#/components/schemas/KubernetesImportCandidate"
|
|
15255
|
+
truncated:
|
|
15256
|
+
type: boolean
|
|
15257
|
+
additionalProperties: false
|
|
15258
|
+
KubernetesWorkloadImportInput:
|
|
15259
|
+
type: object
|
|
15260
|
+
required: [workloadKind, workloadName]
|
|
15261
|
+
properties:
|
|
15262
|
+
workloadKind:
|
|
15263
|
+
type: string
|
|
15264
|
+
enum: [Deployment, StatefulSet, DaemonSet]
|
|
15265
|
+
workloadName:
|
|
15266
|
+
type: string
|
|
15267
|
+
minLength: 1
|
|
15268
|
+
additionalProperties: false
|
|
15269
|
+
KubernetesServiceImportRequest:
|
|
15270
|
+
type: object
|
|
15271
|
+
required: [clusterId, namespace, applicationKey, applicationName, environmentKey, environmentName, ownershipMode, workloads]
|
|
15272
|
+
properties:
|
|
15273
|
+
clusterId:
|
|
15274
|
+
type: string
|
|
15275
|
+
minLength: 1
|
|
15276
|
+
namespace:
|
|
15277
|
+
type: string
|
|
15278
|
+
minLength: 1
|
|
15279
|
+
applicationKey:
|
|
15280
|
+
type: string
|
|
15281
|
+
minLength: 1
|
|
15282
|
+
applicationName:
|
|
15283
|
+
type: string
|
|
15284
|
+
minLength: 1
|
|
15285
|
+
environmentKey:
|
|
15286
|
+
type: string
|
|
15287
|
+
minLength: 1
|
|
15288
|
+
environmentName:
|
|
15289
|
+
type: string
|
|
15290
|
+
minLength: 1
|
|
15291
|
+
ownershipMode:
|
|
15292
|
+
type: string
|
|
15293
|
+
enum: [observe_only, managed]
|
|
15294
|
+
workloads:
|
|
15295
|
+
type: array
|
|
15296
|
+
minItems: 1
|
|
15297
|
+
maxItems: 100
|
|
15298
|
+
uniqueItems: true
|
|
15299
|
+
items:
|
|
15300
|
+
$ref: "#/components/schemas/KubernetesWorkloadImportInput"
|
|
15301
|
+
additionalProperties: false
|
|
15302
|
+
KubernetesImportEntityRef:
|
|
15303
|
+
type: object
|
|
15304
|
+
required: [id, key, name, created]
|
|
15305
|
+
properties:
|
|
15306
|
+
id:
|
|
15307
|
+
type: string
|
|
15308
|
+
key:
|
|
15309
|
+
type: string
|
|
15310
|
+
name:
|
|
15311
|
+
type: string
|
|
15312
|
+
created:
|
|
15313
|
+
type: boolean
|
|
15314
|
+
additionalProperties: false
|
|
15315
|
+
KubernetesImportedService:
|
|
15316
|
+
type: object
|
|
15317
|
+
required: [id, key, name, workloadKind, workloadName, created]
|
|
15318
|
+
properties:
|
|
15319
|
+
id:
|
|
15320
|
+
type: string
|
|
15321
|
+
key:
|
|
15322
|
+
type: string
|
|
15323
|
+
name:
|
|
15324
|
+
type: string
|
|
15325
|
+
workloadKind:
|
|
15326
|
+
type: string
|
|
15327
|
+
enum: [Deployment, StatefulSet, DaemonSet]
|
|
15328
|
+
workloadName:
|
|
15329
|
+
type: string
|
|
15330
|
+
created:
|
|
15331
|
+
type: boolean
|
|
15332
|
+
additionalProperties: false
|
|
15333
|
+
KubernetesImportedTarget:
|
|
15334
|
+
type: object
|
|
15335
|
+
required: [id, workloadKind, workloadName, created]
|
|
15336
|
+
properties:
|
|
15337
|
+
id:
|
|
15338
|
+
type: string
|
|
15339
|
+
workloadKind:
|
|
15340
|
+
type: string
|
|
15341
|
+
enum: [Deployment, StatefulSet, DaemonSet]
|
|
15342
|
+
workloadName:
|
|
15343
|
+
type: string
|
|
15344
|
+
created:
|
|
15345
|
+
type: boolean
|
|
15346
|
+
additionalProperties: false
|
|
15347
|
+
KubernetesServiceImportResult:
|
|
15348
|
+
type: object
|
|
15349
|
+
required: [application, environment, applicationEnvironmentId, applicationEnvironmentCreated, ownershipMode, services, targets]
|
|
15350
|
+
properties:
|
|
15351
|
+
application:
|
|
15352
|
+
$ref: "#/components/schemas/KubernetesImportEntityRef"
|
|
15353
|
+
environment:
|
|
15354
|
+
$ref: "#/components/schemas/KubernetesImportEntityRef"
|
|
15355
|
+
applicationEnvironmentId:
|
|
15356
|
+
type: string
|
|
15357
|
+
applicationEnvironmentCreated:
|
|
15358
|
+
type: boolean
|
|
15359
|
+
ownershipMode:
|
|
15360
|
+
type: string
|
|
15361
|
+
enum: [observe_only, managed]
|
|
15362
|
+
services:
|
|
15363
|
+
type: array
|
|
15364
|
+
items:
|
|
15365
|
+
$ref: "#/components/schemas/KubernetesImportedService"
|
|
15366
|
+
targets:
|
|
15367
|
+
type: array
|
|
15368
|
+
items:
|
|
15369
|
+
$ref: "#/components/schemas/KubernetesImportedTarget"
|
|
15370
|
+
additionalProperties: false
|
|
15371
|
+
KubernetesServiceImportResultEnvelope:
|
|
15372
|
+
type: object
|
|
15373
|
+
required: [data]
|
|
15374
|
+
properties:
|
|
15375
|
+
data:
|
|
15376
|
+
$ref: "#/components/schemas/KubernetesServiceImportResult"
|
|
15377
|
+
additionalProperties: false
|
|
15378
|
+
HelmReleaseImportInput:
|
|
15379
|
+
type: object
|
|
15380
|
+
required: [releaseName]
|
|
15381
|
+
properties:
|
|
15382
|
+
releaseName:
|
|
15383
|
+
type: string
|
|
15384
|
+
minLength: 1
|
|
15385
|
+
additionalProperties: false
|
|
15386
|
+
HelmReleaseImportRequest:
|
|
15387
|
+
type: object
|
|
15388
|
+
required: [clusterId, namespace, applicationKey, applicationName, environmentKey, environmentName, ownershipMode, releases]
|
|
15389
|
+
properties:
|
|
15390
|
+
clusterId:
|
|
15391
|
+
type: string
|
|
15392
|
+
minLength: 1
|
|
15393
|
+
namespace:
|
|
15394
|
+
type: string
|
|
15395
|
+
minLength: 1
|
|
15396
|
+
applicationKey:
|
|
15397
|
+
type: string
|
|
15398
|
+
minLength: 1
|
|
15399
|
+
applicationName:
|
|
15400
|
+
type: string
|
|
15401
|
+
minLength: 1
|
|
15402
|
+
environmentKey:
|
|
15403
|
+
type: string
|
|
15404
|
+
minLength: 1
|
|
15405
|
+
environmentName:
|
|
15406
|
+
type: string
|
|
15407
|
+
minLength: 1
|
|
15408
|
+
ownershipMode:
|
|
15409
|
+
type: string
|
|
15410
|
+
enum: [observe_only, managed]
|
|
15411
|
+
releases:
|
|
15412
|
+
type: array
|
|
15413
|
+
minItems: 1
|
|
15414
|
+
maxItems: 100
|
|
15415
|
+
uniqueItems: true
|
|
15416
|
+
items:
|
|
15417
|
+
$ref: "#/components/schemas/HelmReleaseImportInput"
|
|
15418
|
+
additionalProperties: false
|
|
15419
|
+
HelmImportedService:
|
|
15420
|
+
type: object
|
|
15421
|
+
required: [id, key, name, releaseName, created]
|
|
15422
|
+
properties:
|
|
15423
|
+
id:
|
|
15424
|
+
type: string
|
|
15425
|
+
key:
|
|
15426
|
+
type: string
|
|
15427
|
+
name:
|
|
15428
|
+
type: string
|
|
15429
|
+
releaseName:
|
|
15430
|
+
type: string
|
|
15431
|
+
created:
|
|
15432
|
+
type: boolean
|
|
15433
|
+
additionalProperties: false
|
|
15434
|
+
HelmImportedTarget:
|
|
15435
|
+
type: object
|
|
15436
|
+
required: [id, releaseName, created]
|
|
15437
|
+
properties:
|
|
15438
|
+
id:
|
|
15439
|
+
type: string
|
|
15440
|
+
releaseName:
|
|
14301
15441
|
type: string
|
|
14302
|
-
|
|
15442
|
+
created:
|
|
15443
|
+
type: boolean
|
|
15444
|
+
additionalProperties: false
|
|
15445
|
+
HelmReleaseImportResult:
|
|
15446
|
+
type: object
|
|
15447
|
+
required: [application, environment, applicationEnvironmentId, applicationEnvironmentCreated, ownershipMode, services, targets]
|
|
15448
|
+
properties:
|
|
15449
|
+
application:
|
|
15450
|
+
$ref: "#/components/schemas/KubernetesImportEntityRef"
|
|
15451
|
+
environment:
|
|
15452
|
+
$ref: "#/components/schemas/KubernetesImportEntityRef"
|
|
15453
|
+
applicationEnvironmentId:
|
|
14303
15454
|
type: string
|
|
14304
|
-
|
|
15455
|
+
applicationEnvironmentCreated:
|
|
15456
|
+
type: boolean
|
|
15457
|
+
ownershipMode:
|
|
14305
15458
|
type: string
|
|
14306
|
-
|
|
14307
|
-
|
|
14308
|
-
|
|
14309
|
-
|
|
14310
|
-
|
|
14311
|
-
$ref: "#/components/schemas/ResourceSelector"
|
|
15459
|
+
enum: [observe_only, managed]
|
|
15460
|
+
services:
|
|
15461
|
+
type: array
|
|
15462
|
+
items:
|
|
15463
|
+
$ref: "#/components/schemas/HelmImportedService"
|
|
14312
15464
|
targets:
|
|
14313
15465
|
type: array
|
|
14314
15466
|
items:
|
|
14315
|
-
$ref: "#/components/schemas/
|
|
15467
|
+
$ref: "#/components/schemas/HelmImportedTarget"
|
|
15468
|
+
additionalProperties: false
|
|
15469
|
+
HelmReleaseImportResultEnvelope:
|
|
15470
|
+
type: object
|
|
15471
|
+
required: [data]
|
|
15472
|
+
properties:
|
|
15473
|
+
data:
|
|
15474
|
+
$ref: "#/components/schemas/HelmReleaseImportResult"
|
|
14316
15475
|
additionalProperties: false
|
|
14317
15476
|
BuildTemplate:
|
|
14318
15477
|
type: object
|
|
@@ -14820,6 +15979,10 @@ components:
|
|
|
14820
15979
|
type: string
|
|
14821
15980
|
containerName:
|
|
14822
15981
|
type: string
|
|
15982
|
+
valuesContent:
|
|
15983
|
+
type: string
|
|
15984
|
+
maxLength: 1048576
|
|
15985
|
+
description: Complete Helm values YAML used when the selected target is a managed Helm release.
|
|
14823
15986
|
variables:
|
|
14824
15987
|
type: object
|
|
14825
15988
|
additionalProperties: true
|
|
@@ -16796,120 +17959,369 @@ components:
|
|
|
16796
17959
|
notes:
|
|
16797
17960
|
type: array
|
|
16798
17961
|
items:
|
|
16799
|
-
type: string
|
|
17962
|
+
type: string
|
|
17963
|
+
additionalProperties: false
|
|
17964
|
+
ClusterCapabilityMatrixEntry:
|
|
17965
|
+
type: object
|
|
17966
|
+
required: [key, label, category, riskLevel, requiresApproval, direct, agent]
|
|
17967
|
+
properties:
|
|
17968
|
+
key:
|
|
17969
|
+
type: string
|
|
17970
|
+
label:
|
|
17971
|
+
type: string
|
|
17972
|
+
category:
|
|
17973
|
+
type: string
|
|
17974
|
+
requiredScopes:
|
|
17975
|
+
type: array
|
|
17976
|
+
items:
|
|
17977
|
+
type: string
|
|
17978
|
+
riskLevel:
|
|
17979
|
+
$ref: "#/components/schemas/RiskLevel"
|
|
17980
|
+
requiresApproval:
|
|
17981
|
+
type: boolean
|
|
17982
|
+
docsUrl:
|
|
17983
|
+
type: string
|
|
17984
|
+
direct:
|
|
17985
|
+
$ref: "#/components/schemas/ClusterCapabilityModeSupport"
|
|
17986
|
+
agent:
|
|
17987
|
+
$ref: "#/components/schemas/ClusterCapabilityModeSupport"
|
|
17988
|
+
additionalProperties: false
|
|
17989
|
+
ClusterCapabilityMatrixEnvelope:
|
|
17990
|
+
type: object
|
|
17991
|
+
required: [items]
|
|
17992
|
+
properties:
|
|
17993
|
+
items:
|
|
17994
|
+
type: array
|
|
17995
|
+
items:
|
|
17996
|
+
$ref: "#/components/schemas/ClusterCapabilityMatrixEntry"
|
|
17997
|
+
additionalProperties: false
|
|
17998
|
+
AgentInstallation:
|
|
17999
|
+
type: object
|
|
18000
|
+
required: [clusterId, manifestUrl, command, expiresAt]
|
|
18001
|
+
properties:
|
|
18002
|
+
clusterId:
|
|
18003
|
+
type: string
|
|
18004
|
+
minLength: 1
|
|
18005
|
+
manifestUrl:
|
|
18006
|
+
type: string
|
|
18007
|
+
format: uri
|
|
18008
|
+
command:
|
|
18009
|
+
type: string
|
|
18010
|
+
minLength: 1
|
|
18011
|
+
expiresAt:
|
|
18012
|
+
type: string
|
|
18013
|
+
format: date-time
|
|
18014
|
+
additionalProperties: false
|
|
18015
|
+
AgentInstallationEnvelope:
|
|
18016
|
+
type: object
|
|
18017
|
+
required: [data]
|
|
18018
|
+
properties:
|
|
18019
|
+
data:
|
|
18020
|
+
$ref: "#/components/schemas/AgentInstallation"
|
|
18021
|
+
additionalProperties: false
|
|
18022
|
+
ObservabilityProviderSignal:
|
|
18023
|
+
type: string
|
|
18024
|
+
enum: [logs, metrics, traces, profiles]
|
|
18025
|
+
x-enum-varnames:
|
|
18026
|
+
- ObservabilityProviderSignalLogs
|
|
18027
|
+
- ObservabilityProviderSignalMetrics
|
|
18028
|
+
- ObservabilityProviderSignalTraces
|
|
18029
|
+
- ObservabilityProviderSignalProfiles
|
|
18030
|
+
ObservabilityProviderRuntimeMode:
|
|
18031
|
+
type: string
|
|
18032
|
+
enum: [builtin, external-http, managed-container]
|
|
18033
|
+
x-enum-varnames:
|
|
18034
|
+
- ObservabilityProviderRuntimeModeBuiltin
|
|
18035
|
+
- ObservabilityProviderRuntimeModeExternalHTTP
|
|
18036
|
+
- ObservabilityProviderRuntimeModeManagedContainer
|
|
18037
|
+
ObservabilityProviderStatus:
|
|
18038
|
+
type: string
|
|
18039
|
+
enum: [supported, degraded, unsupported]
|
|
18040
|
+
x-enum-varnames:
|
|
18041
|
+
- ObservabilityProviderStatusSupported
|
|
18042
|
+
- ObservabilityProviderStatusDegraded
|
|
18043
|
+
- ObservabilityProviderStatusUnsupported
|
|
18044
|
+
ObservabilityProviderDefinition:
|
|
18045
|
+
type: object
|
|
18046
|
+
required: [providerKey, displayName, protocolVersion, signals, capabilities, runtimeMode, builtIn, status]
|
|
18047
|
+
properties:
|
|
18048
|
+
providerKey:
|
|
18049
|
+
type: string
|
|
18050
|
+
pattern: "^[a-z][a-z0-9._-]*$"
|
|
18051
|
+
maxLength: 128
|
|
18052
|
+
description: Required when backendType is provider.
|
|
18053
|
+
displayName:
|
|
18054
|
+
type: string
|
|
18055
|
+
minLength: 1
|
|
18056
|
+
maxLength: 200
|
|
18057
|
+
description:
|
|
18058
|
+
type: string
|
|
18059
|
+
maxLength: 1000
|
|
18060
|
+
protocolVersion:
|
|
18061
|
+
type: string
|
|
18062
|
+
pattern: "^v[1-9][0-9]*$"
|
|
18063
|
+
signals:
|
|
18064
|
+
type: array
|
|
18065
|
+
minItems: 1
|
|
18066
|
+
uniqueItems: true
|
|
18067
|
+
items:
|
|
18068
|
+
$ref: "#/components/schemas/ObservabilityProviderSignal"
|
|
18069
|
+
capabilities:
|
|
18070
|
+
type: array
|
|
18071
|
+
minItems: 1
|
|
18072
|
+
uniqueItems: true
|
|
18073
|
+
items:
|
|
18074
|
+
type: string
|
|
18075
|
+
pattern: "^[a-z][a-z0-9_-]*(\\.[a-z][a-z0-9_-]*)+$"
|
|
18076
|
+
runtimeMode:
|
|
18077
|
+
$ref: "#/components/schemas/ObservabilityProviderRuntimeMode"
|
|
18078
|
+
builtIn:
|
|
18079
|
+
type: boolean
|
|
18080
|
+
status:
|
|
18081
|
+
$ref: "#/components/schemas/ObservabilityProviderStatus"
|
|
18082
|
+
statusReason:
|
|
18083
|
+
type: string
|
|
18084
|
+
maxLength: 500
|
|
18085
|
+
pluginId:
|
|
18086
|
+
type: string
|
|
18087
|
+
maxLength: 200
|
|
18088
|
+
configSchemaRef:
|
|
18089
|
+
type: string
|
|
18090
|
+
maxLength: 512
|
|
18091
|
+
additionalProperties: false
|
|
18092
|
+
ObservabilityProviderListEnvelope:
|
|
18093
|
+
type: object
|
|
18094
|
+
required: [items]
|
|
18095
|
+
properties:
|
|
18096
|
+
items:
|
|
18097
|
+
type: array
|
|
18098
|
+
items:
|
|
18099
|
+
$ref: "#/components/schemas/ObservabilityProviderDefinition"
|
|
18100
|
+
additionalProperties: false
|
|
18101
|
+
ObservabilityDashboardSource:
|
|
18102
|
+
type: string
|
|
18103
|
+
enum: [grafana]
|
|
18104
|
+
x-enum-varnames:
|
|
18105
|
+
- ObservabilityDashboardSourceGrafana
|
|
18106
|
+
ObservabilityDashboardPanelType:
|
|
18107
|
+
type: string
|
|
18108
|
+
enum: [timeseries, stat, text, row]
|
|
18109
|
+
x-enum-varnames:
|
|
18110
|
+
- ObservabilityDashboardPanelTypeTimeseries
|
|
18111
|
+
- ObservabilityDashboardPanelTypeStat
|
|
18112
|
+
- ObservabilityDashboardPanelTypeText
|
|
18113
|
+
- ObservabilityDashboardPanelTypeRow
|
|
18114
|
+
ObservabilityDashboardPanelLayout:
|
|
18115
|
+
type: object
|
|
18116
|
+
required: [x, y, w, h]
|
|
18117
|
+
properties:
|
|
18118
|
+
x:
|
|
18119
|
+
type: integer
|
|
18120
|
+
minimum: 0
|
|
18121
|
+
maximum: 23
|
|
18122
|
+
y:
|
|
18123
|
+
type: integer
|
|
18124
|
+
minimum: 0
|
|
18125
|
+
w:
|
|
18126
|
+
type: integer
|
|
18127
|
+
minimum: 1
|
|
18128
|
+
maximum: 24
|
|
18129
|
+
h:
|
|
18130
|
+
type: integer
|
|
18131
|
+
minimum: 1
|
|
18132
|
+
maximum: 100
|
|
18133
|
+
additionalProperties: false
|
|
18134
|
+
ObservabilityDashboardTarget:
|
|
18135
|
+
type: object
|
|
18136
|
+
required: [refId, expression]
|
|
18137
|
+
properties:
|
|
18138
|
+
refId:
|
|
18139
|
+
type: string
|
|
18140
|
+
minLength: 1
|
|
18141
|
+
maxLength: 16
|
|
18142
|
+
expression:
|
|
18143
|
+
type: string
|
|
18144
|
+
minLength: 1
|
|
18145
|
+
maxLength: 8192
|
|
18146
|
+
legend:
|
|
18147
|
+
type: string
|
|
18148
|
+
maxLength: 256
|
|
18149
|
+
additionalProperties: false
|
|
18150
|
+
ObservabilityDashboardPanel:
|
|
18151
|
+
type: object
|
|
18152
|
+
required: [id, title, type, layout, targets, queryable]
|
|
18153
|
+
properties:
|
|
18154
|
+
id:
|
|
18155
|
+
type: string
|
|
18156
|
+
minLength: 1
|
|
18157
|
+
maxLength: 128
|
|
18158
|
+
title:
|
|
18159
|
+
type: string
|
|
18160
|
+
minLength: 1
|
|
18161
|
+
maxLength: 200
|
|
18162
|
+
type:
|
|
18163
|
+
$ref: "#/components/schemas/ObservabilityDashboardPanelType"
|
|
18164
|
+
layout:
|
|
18165
|
+
$ref: "#/components/schemas/ObservabilityDashboardPanelLayout"
|
|
18166
|
+
targets:
|
|
18167
|
+
type: array
|
|
18168
|
+
maxItems: 8
|
|
18169
|
+
items:
|
|
18170
|
+
$ref: "#/components/schemas/ObservabilityDashboardTarget"
|
|
18171
|
+
queryable:
|
|
18172
|
+
type: boolean
|
|
18173
|
+
markdown:
|
|
18174
|
+
type: string
|
|
18175
|
+
maxLength: 32768
|
|
18176
|
+
additionalProperties: false
|
|
18177
|
+
ObservabilityDashboard:
|
|
18178
|
+
type: object
|
|
18179
|
+
required: [id, name, source, tags, panels, createdAt, updatedAt]
|
|
18180
|
+
properties:
|
|
18181
|
+
id:
|
|
18182
|
+
type: string
|
|
18183
|
+
minLength: 1
|
|
18184
|
+
maxLength: 128
|
|
18185
|
+
name:
|
|
18186
|
+
type: string
|
|
18187
|
+
minLength: 1
|
|
18188
|
+
maxLength: 200
|
|
18189
|
+
source:
|
|
18190
|
+
$ref: "#/components/schemas/ObservabilityDashboardSource"
|
|
18191
|
+
sourceSchemaVersion:
|
|
18192
|
+
type: integer
|
|
18193
|
+
minimum: 0
|
|
18194
|
+
dataSourceId:
|
|
18195
|
+
type: string
|
|
18196
|
+
maxLength: 200
|
|
18197
|
+
tags:
|
|
18198
|
+
type: array
|
|
18199
|
+
maxItems: 50
|
|
18200
|
+
uniqueItems: true
|
|
18201
|
+
items:
|
|
18202
|
+
type: string
|
|
18203
|
+
minLength: 1
|
|
18204
|
+
maxLength: 100
|
|
18205
|
+
panels:
|
|
18206
|
+
type: array
|
|
18207
|
+
maxItems: 200
|
|
18208
|
+
items:
|
|
18209
|
+
$ref: "#/components/schemas/ObservabilityDashboardPanel"
|
|
18210
|
+
createdAt:
|
|
18211
|
+
type: string
|
|
18212
|
+
format: date-time
|
|
18213
|
+
updatedAt:
|
|
18214
|
+
type: string
|
|
18215
|
+
format: date-time
|
|
18216
|
+
additionalProperties: false
|
|
18217
|
+
ObservabilityDashboardEnvelope:
|
|
18218
|
+
type: object
|
|
18219
|
+
required: [data]
|
|
18220
|
+
properties:
|
|
18221
|
+
data:
|
|
18222
|
+
$ref: "#/components/schemas/ObservabilityDashboard"
|
|
18223
|
+
additionalProperties: false
|
|
18224
|
+
ObservabilityDashboardListEnvelope:
|
|
18225
|
+
type: object
|
|
18226
|
+
required: [items]
|
|
18227
|
+
properties:
|
|
18228
|
+
items:
|
|
18229
|
+
type: array
|
|
18230
|
+
items:
|
|
18231
|
+
$ref: "#/components/schemas/ObservabilityDashboard"
|
|
16800
18232
|
additionalProperties: false
|
|
16801
|
-
|
|
18233
|
+
ObservabilityGrafanaDashboardImportInput:
|
|
16802
18234
|
type: object
|
|
16803
|
-
required: [
|
|
18235
|
+
required: [json, dataSourceId]
|
|
16804
18236
|
properties:
|
|
16805
|
-
|
|
18237
|
+
json:
|
|
16806
18238
|
type: string
|
|
16807
|
-
|
|
18239
|
+
minLength: 2
|
|
18240
|
+
maxLength: 2097152
|
|
18241
|
+
description: Grafana Classic dashboard JSON or a V1 resource whose spec contains the Classic dashboard model.
|
|
18242
|
+
dataSourceId:
|
|
16808
18243
|
type: string
|
|
16809
|
-
|
|
18244
|
+
minLength: 1
|
|
18245
|
+
maxLength: 200
|
|
18246
|
+
description: Enabled Soha Prometheus data source used by every imported queryable panel.
|
|
18247
|
+
additionalProperties: false
|
|
18248
|
+
ObservabilityMetricDataSource:
|
|
18249
|
+
type: object
|
|
18250
|
+
required: [id, name]
|
|
18251
|
+
properties:
|
|
18252
|
+
id:
|
|
16810
18253
|
type: string
|
|
16811
|
-
|
|
16812
|
-
|
|
16813
|
-
|
|
16814
|
-
type: string
|
|
16815
|
-
riskLevel:
|
|
16816
|
-
$ref: "#/components/schemas/RiskLevel"
|
|
16817
|
-
requiresApproval:
|
|
16818
|
-
type: boolean
|
|
16819
|
-
docsUrl:
|
|
18254
|
+
minLength: 1
|
|
18255
|
+
maxLength: 200
|
|
18256
|
+
name:
|
|
16820
18257
|
type: string
|
|
16821
|
-
|
|
16822
|
-
|
|
16823
|
-
agent:
|
|
16824
|
-
$ref: "#/components/schemas/ClusterCapabilityModeSupport"
|
|
18258
|
+
minLength: 1
|
|
18259
|
+
maxLength: 200
|
|
16825
18260
|
additionalProperties: false
|
|
16826
|
-
|
|
18261
|
+
ObservabilityMetricDataSourceListEnvelope:
|
|
16827
18262
|
type: object
|
|
16828
18263
|
required: [items]
|
|
16829
18264
|
properties:
|
|
16830
18265
|
items:
|
|
16831
18266
|
type: array
|
|
16832
18267
|
items:
|
|
16833
|
-
$ref: "#/components/schemas/
|
|
18268
|
+
$ref: "#/components/schemas/ObservabilityMetricDataSource"
|
|
16834
18269
|
additionalProperties: false
|
|
16835
|
-
|
|
16836
|
-
type: string
|
|
16837
|
-
enum: [logs, metrics, traces, profiles]
|
|
16838
|
-
x-enum-varnames:
|
|
16839
|
-
- ObservabilityProviderSignalLogs
|
|
16840
|
-
- ObservabilityProviderSignalMetrics
|
|
16841
|
-
- ObservabilityProviderSignalTraces
|
|
16842
|
-
- ObservabilityProviderSignalProfiles
|
|
16843
|
-
ObservabilityProviderRuntimeMode:
|
|
16844
|
-
type: string
|
|
16845
|
-
enum: [builtin, external-http, managed-container]
|
|
16846
|
-
x-enum-varnames:
|
|
16847
|
-
- ObservabilityProviderRuntimeModeBuiltin
|
|
16848
|
-
- ObservabilityProviderRuntimeModeExternalHTTP
|
|
16849
|
-
- ObservabilityProviderRuntimeModeManagedContainer
|
|
16850
|
-
ObservabilityProviderStatus:
|
|
16851
|
-
type: string
|
|
16852
|
-
enum: [supported, degraded, unsupported]
|
|
16853
|
-
x-enum-varnames:
|
|
16854
|
-
- ObservabilityProviderStatusSupported
|
|
16855
|
-
- ObservabilityProviderStatusDegraded
|
|
16856
|
-
- ObservabilityProviderStatusUnsupported
|
|
16857
|
-
ObservabilityProviderDefinition:
|
|
18270
|
+
ObservabilityDashboardImportWarning:
|
|
16858
18271
|
type: object
|
|
16859
|
-
required: [
|
|
18272
|
+
required: [code, message]
|
|
16860
18273
|
properties:
|
|
16861
|
-
|
|
18274
|
+
code:
|
|
16862
18275
|
type: string
|
|
16863
|
-
|
|
16864
|
-
|
|
16865
|
-
description: Required when backendType is provider.
|
|
16866
|
-
displayName:
|
|
18276
|
+
enum: [unsupported_panel_type, skipped_target, unsupported_variable, datasource_rebound, unsupported_feature]
|
|
18277
|
+
message:
|
|
16867
18278
|
type: string
|
|
16868
18279
|
minLength: 1
|
|
16869
|
-
maxLength: 200
|
|
16870
|
-
description:
|
|
16871
|
-
type: string
|
|
16872
|
-
maxLength: 1000
|
|
16873
|
-
protocolVersion:
|
|
16874
|
-
type: string
|
|
16875
|
-
pattern: "^v[1-9][0-9]*$"
|
|
16876
|
-
signals:
|
|
16877
|
-
type: array
|
|
16878
|
-
minItems: 1
|
|
16879
|
-
uniqueItems: true
|
|
16880
|
-
items:
|
|
16881
|
-
$ref: "#/components/schemas/ObservabilityProviderSignal"
|
|
16882
|
-
capabilities:
|
|
16883
|
-
type: array
|
|
16884
|
-
minItems: 1
|
|
16885
|
-
uniqueItems: true
|
|
16886
|
-
items:
|
|
16887
|
-
type: string
|
|
16888
|
-
pattern: "^[a-z][a-z0-9_-]*(\\.[a-z][a-z0-9_-]*)+$"
|
|
16889
|
-
runtimeMode:
|
|
16890
|
-
$ref: "#/components/schemas/ObservabilityProviderRuntimeMode"
|
|
16891
|
-
builtIn:
|
|
16892
|
-
type: boolean
|
|
16893
|
-
status:
|
|
16894
|
-
$ref: "#/components/schemas/ObservabilityProviderStatus"
|
|
16895
|
-
statusReason:
|
|
16896
|
-
type: string
|
|
16897
18280
|
maxLength: 500
|
|
16898
|
-
|
|
18281
|
+
panelId:
|
|
16899
18282
|
type: string
|
|
16900
|
-
maxLength:
|
|
16901
|
-
configSchemaRef:
|
|
16902
|
-
type: string
|
|
16903
|
-
maxLength: 512
|
|
18283
|
+
maxLength: 128
|
|
16904
18284
|
additionalProperties: false
|
|
16905
|
-
|
|
18285
|
+
ObservabilityDashboardImportResult:
|
|
16906
18286
|
type: object
|
|
16907
|
-
required: [
|
|
18287
|
+
required: [dashboard, warnings, importedPanelCount, skippedPanelCount]
|
|
16908
18288
|
properties:
|
|
16909
|
-
|
|
18289
|
+
dashboard:
|
|
18290
|
+
$ref: "#/components/schemas/ObservabilityDashboard"
|
|
18291
|
+
warnings:
|
|
16910
18292
|
type: array
|
|
18293
|
+
maxItems: 500
|
|
16911
18294
|
items:
|
|
16912
|
-
$ref: "#/components/schemas/
|
|
18295
|
+
$ref: "#/components/schemas/ObservabilityDashboardImportWarning"
|
|
18296
|
+
importedPanelCount:
|
|
18297
|
+
type: integer
|
|
18298
|
+
minimum: 1
|
|
18299
|
+
skippedPanelCount:
|
|
18300
|
+
type: integer
|
|
18301
|
+
minimum: 0
|
|
18302
|
+
additionalProperties: false
|
|
18303
|
+
ObservabilityDashboardImportResultEnvelope:
|
|
18304
|
+
type: object
|
|
18305
|
+
required: [data]
|
|
18306
|
+
properties:
|
|
18307
|
+
data:
|
|
18308
|
+
$ref: "#/components/schemas/ObservabilityDashboardImportResult"
|
|
18309
|
+
additionalProperties: false
|
|
18310
|
+
ObservabilityDashboardPanelQueryInput:
|
|
18311
|
+
type: object
|
|
18312
|
+
required: [timeFrom, timeTo]
|
|
18313
|
+
properties:
|
|
18314
|
+
timeFrom:
|
|
18315
|
+
type: string
|
|
18316
|
+
format: date-time
|
|
18317
|
+
timeTo:
|
|
18318
|
+
type: string
|
|
18319
|
+
format: date-time
|
|
18320
|
+
stepSeconds:
|
|
18321
|
+
type: integer
|
|
18322
|
+
minimum: 1
|
|
18323
|
+
maximum: 3600
|
|
18324
|
+
default: 60
|
|
16913
18325
|
additionalProperties: false
|
|
16914
18326
|
ObservabilityQueryScope:
|
|
16915
18327
|
type: object
|
|
@@ -20515,6 +21927,188 @@ components:
|
|
|
20515
21927
|
installed:
|
|
20516
21928
|
type: boolean
|
|
20517
21929
|
additionalProperties: false
|
|
21930
|
+
SoftwarePackage:
|
|
21931
|
+
type: object
|
|
21932
|
+
required:
|
|
21933
|
+
[id, softwareId, name, publisher, version, platform, arch, fileName, sizeBytes, sha256, downloadPath, createdAt, updatedAt]
|
|
21934
|
+
properties:
|
|
21935
|
+
id:
|
|
21936
|
+
type: string
|
|
21937
|
+
minLength: 1
|
|
21938
|
+
maxLength: 128
|
|
21939
|
+
softwareId:
|
|
21940
|
+
type: string
|
|
21941
|
+
pattern: "^[a-z0-9][a-z0-9._-]{0,63}$"
|
|
21942
|
+
name:
|
|
21943
|
+
type: string
|
|
21944
|
+
minLength: 1
|
|
21945
|
+
maxLength: 100
|
|
21946
|
+
description:
|
|
21947
|
+
type: string
|
|
21948
|
+
maxLength: 500
|
|
21949
|
+
publisher:
|
|
21950
|
+
type: string
|
|
21951
|
+
minLength: 1
|
|
21952
|
+
maxLength: 100
|
|
21953
|
+
category:
|
|
21954
|
+
type: string
|
|
21955
|
+
maxLength: 50
|
|
21956
|
+
version:
|
|
21957
|
+
type: string
|
|
21958
|
+
minLength: 1
|
|
21959
|
+
maxLength: 64
|
|
21960
|
+
platform:
|
|
21961
|
+
type: string
|
|
21962
|
+
pattern: "^[a-z0-9][a-z0-9._-]{0,63}$"
|
|
21963
|
+
arch:
|
|
21964
|
+
type: string
|
|
21965
|
+
pattern: "^[a-z0-9][a-z0-9._-]{0,63}$"
|
|
21966
|
+
fileName:
|
|
21967
|
+
type: string
|
|
21968
|
+
minLength: 1
|
|
21969
|
+
maxLength: 255
|
|
21970
|
+
sizeBytes:
|
|
21971
|
+
type: integer
|
|
21972
|
+
format: int64
|
|
21973
|
+
minimum: 1
|
|
21974
|
+
maximum: 4294967296
|
|
21975
|
+
sha256:
|
|
21976
|
+
type: string
|
|
21977
|
+
pattern: "^[0-9a-f]{64}$"
|
|
21978
|
+
downloadPath:
|
|
21979
|
+
type: string
|
|
21980
|
+
pattern: "^/api/v1/software/packages/[^/]+/download$"
|
|
21981
|
+
createdAt:
|
|
21982
|
+
type: string
|
|
21983
|
+
format: date-time
|
|
21984
|
+
updatedAt:
|
|
21985
|
+
type: string
|
|
21986
|
+
format: date-time
|
|
21987
|
+
additionalProperties: false
|
|
21988
|
+
SoftwarePackageEnvelope:
|
|
21989
|
+
type: object
|
|
21990
|
+
required: [data]
|
|
21991
|
+
properties:
|
|
21992
|
+
data:
|
|
21993
|
+
$ref: "#/components/schemas/SoftwarePackage"
|
|
21994
|
+
additionalProperties: false
|
|
21995
|
+
SoftwarePackageListEnvelope:
|
|
21996
|
+
type: object
|
|
21997
|
+
required: [items]
|
|
21998
|
+
properties:
|
|
21999
|
+
items:
|
|
22000
|
+
type: array
|
|
22001
|
+
items:
|
|
22002
|
+
$ref: "#/components/schemas/SoftwarePackage"
|
|
22003
|
+
nextCursor:
|
|
22004
|
+
type: string
|
|
22005
|
+
additionalProperties: false
|
|
22006
|
+
SoftwarePackageUploadRequest:
|
|
22007
|
+
type: object
|
|
22008
|
+
required: [softwareId, name, publisher, version, platform, arch, file]
|
|
22009
|
+
properties:
|
|
22010
|
+
softwareId:
|
|
22011
|
+
type: string
|
|
22012
|
+
pattern: "^[a-z0-9][a-z0-9._-]{0,63}$"
|
|
22013
|
+
name:
|
|
22014
|
+
type: string
|
|
22015
|
+
minLength: 1
|
|
22016
|
+
maxLength: 100
|
|
22017
|
+
description:
|
|
22018
|
+
type: string
|
|
22019
|
+
maxLength: 500
|
|
22020
|
+
publisher:
|
|
22021
|
+
type: string
|
|
22022
|
+
minLength: 1
|
|
22023
|
+
maxLength: 100
|
|
22024
|
+
category:
|
|
22025
|
+
type: string
|
|
22026
|
+
maxLength: 50
|
|
22027
|
+
version:
|
|
22028
|
+
type: string
|
|
22029
|
+
minLength: 1
|
|
22030
|
+
maxLength: 64
|
|
22031
|
+
platform:
|
|
22032
|
+
type: string
|
|
22033
|
+
pattern: "^[a-z0-9][a-z0-9._-]{0,63}$"
|
|
22034
|
+
arch:
|
|
22035
|
+
type: string
|
|
22036
|
+
pattern: "^[a-z0-9][a-z0-9._-]{0,63}$"
|
|
22037
|
+
file:
|
|
22038
|
+
type: string
|
|
22039
|
+
format: binary
|
|
22040
|
+
additionalProperties: false
|
|
22041
|
+
SoftwarePackageURLImportRequest:
|
|
22042
|
+
type: object
|
|
22043
|
+
required: [softwareId, name, publisher, version, platform, arch, url]
|
|
22044
|
+
properties:
|
|
22045
|
+
softwareId:
|
|
22046
|
+
type: string
|
|
22047
|
+
pattern: "^[a-z0-9][a-z0-9._-]{0,63}$"
|
|
22048
|
+
name:
|
|
22049
|
+
type: string
|
|
22050
|
+
minLength: 1
|
|
22051
|
+
maxLength: 100
|
|
22052
|
+
description:
|
|
22053
|
+
type: string
|
|
22054
|
+
maxLength: 500
|
|
22055
|
+
publisher:
|
|
22056
|
+
type: string
|
|
22057
|
+
minLength: 1
|
|
22058
|
+
maxLength: 100
|
|
22059
|
+
category:
|
|
22060
|
+
type: string
|
|
22061
|
+
maxLength: 50
|
|
22062
|
+
version:
|
|
22063
|
+
type: string
|
|
22064
|
+
minLength: 1
|
|
22065
|
+
maxLength: 64
|
|
22066
|
+
platform:
|
|
22067
|
+
type: string
|
|
22068
|
+
pattern: "^[a-z0-9][a-z0-9._-]{0,63}$"
|
|
22069
|
+
arch:
|
|
22070
|
+
type: string
|
|
22071
|
+
pattern: "^[a-z0-9][a-z0-9._-]{0,63}$"
|
|
22072
|
+
url:
|
|
22073
|
+
type: string
|
|
22074
|
+
format: uri
|
|
22075
|
+
pattern: "^https://"
|
|
22076
|
+
maxLength: 2048
|
|
22077
|
+
fileName:
|
|
22078
|
+
type: string
|
|
22079
|
+
minLength: 1
|
|
22080
|
+
maxLength: 255
|
|
22081
|
+
additionalProperties: false
|
|
22082
|
+
SoftwareStorage:
|
|
22083
|
+
type: object
|
|
22084
|
+
required: [backend, objectCount, totalBytes, items]
|
|
22085
|
+
properties:
|
|
22086
|
+
backend:
|
|
22087
|
+
type: string
|
|
22088
|
+
minLength: 1
|
|
22089
|
+
maxLength: 64
|
|
22090
|
+
objectCount:
|
|
22091
|
+
type: integer
|
|
22092
|
+
format: int64
|
|
22093
|
+
minimum: 0
|
|
22094
|
+
totalBytes:
|
|
22095
|
+
type: integer
|
|
22096
|
+
format: int64
|
|
22097
|
+
minimum: 0
|
|
22098
|
+
items:
|
|
22099
|
+
type: array
|
|
22100
|
+
items:
|
|
22101
|
+
$ref: "#/components/schemas/SoftwarePackage"
|
|
22102
|
+
nextCursor:
|
|
22103
|
+
type: string
|
|
22104
|
+
additionalProperties: false
|
|
22105
|
+
SoftwareStorageEnvelope:
|
|
22106
|
+
type: object
|
|
22107
|
+
required: [data]
|
|
22108
|
+
properties:
|
|
22109
|
+
data:
|
|
22110
|
+
$ref: "#/components/schemas/SoftwareStorage"
|
|
22111
|
+
additionalProperties: false
|
|
20518
22112
|
InstalledPlugin:
|
|
20519
22113
|
type: object
|
|
20520
22114
|
required: [id, name, version, publisher, type, status, source, manifest, checksumStatus, installedBy, installedAt, updatedAt]
|