@opensoha/contracts 0.1.14 → 0.1.16
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/auth/catalog_generated.go +2 -2
- package/auth/permission-catalog.json +113 -8
- package/compat/json-schema-ecosystem-0.1.0.json +1 -1
- package/compat/openapi-loose-boundaries-0.1.0.json +58 -1
- package/fixtures/openapi/AISkillsSettingsEnvelope/invalid/missing-registry.json +3 -0
- package/fixtures/openapi/AISkillsSettingsEnvelope/valid/registry.json +13 -0
- package/fixtures/openapi/AlertEventStreamSignal/invalid/missing-observed-at.json +4 -0
- package/fixtures/openapi/AlertEventStreamSignal/valid/changed.json +9 -0
- package/fixtures/openapi/AlertRuleEnvelope/invalid/missing-data.json +1 -0
- package/fixtures/openapi/AlertRuleEnvelope/valid/metrics.json +11 -0
- package/fixtures/openapi/AlertRuleInput/invalid/missing-name.json +3 -0
- package/fixtures/openapi/AlertRuleInput/valid/metrics.json +25 -0
- package/fixtures/openapi/AlertRuleRunListEnvelope/invalid/missing-rule-id.json +12 -0
- package/fixtures/openapi/AlertRuleRunListEnvelope/valid/items.json +13 -0
- package/fixtures/openapi/AlertRuleTestResultEnvelope/invalid/missing-executed-at.json +5 -0
- package/fixtures/openapi/AlertRuleTestResultEnvelope/valid/clear.json +10 -0
- package/fixtures/openapi/ApplicationRuntimeEnvironment/invalid/unknown-status.json +7 -0
- package/fixtures/openapi/ApplicationRuntimeEnvironment/valid/unavailable.json +7 -0
- package/fixtures/openapi/ApplicationWorkflowInput/invalid/owner-fields.json +7 -0
- package/fixtures/openapi/ApplicationWorkflowInput/valid/minimal.json +9 -0
- package/fixtures/openapi/BrandingAssetUploadEnvelope/valid/svg-data-url.json +5 -0
- package/fixtures/openapi/BrowserHandoffCompletionEnvelope/invalid/token-leak.json +7 -0
- package/fixtures/openapi/BrowserHandoffCompletionEnvelope/valid/completed.json +6 -0
- package/fixtures/openapi/BrowserHandoffEnvelope/invalid/missing-principal.json +12 -0
- package/fixtures/openapi/BrowserHandoffEnvelope/valid/pending.json +11 -0
- package/fixtures/openapi/ChangePasswordRequest/invalid/missing-current-password.json +3 -0
- package/fixtures/openapi/ChangePasswordRequest/invalid/short-new-password.json +4 -0
- package/fixtures/openapi/ChangePasswordRequest/valid/password.json +4 -0
- package/fixtures/openapi/ComputeOverviewEnvelope/valid/partial.json +6 -0
- package/fixtures/openapi/ComputeTaskListEnvelope/invalid/progress-overflow.json +21 -0
- package/fixtures/openapi/ComputeTaskListEnvelope/valid/running.json +15 -0
- package/fixtures/openapi/ComputeTaskStreamEvent/invalid/missing-observed-at.json +3 -0
- package/fixtures/openapi/ComputeTaskStreamEvent/valid/snapshot.json +27 -0
- package/fixtures/openapi/DesktopAuthAttemptCreateRequest/invalid/https-redirect.json +6 -0
- package/fixtures/openapi/DesktopAuthAttemptCreateRequest/invalid/localhost-redirect.json +6 -0
- package/fixtures/openapi/DesktopAuthAttemptCreateRequest/invalid/plain-challenge.json +6 -0
- package/fixtures/openapi/DesktopAuthAttemptCreateRequest/invalid/privileged-port.json +6 -0
- package/fixtures/openapi/DesktopAuthAttemptCreateRequest/invalid/short-callback.json +6 -0
- package/fixtures/openapi/DesktopAuthAttemptCreateRequest/valid/loopback.json +6 -0
- package/fixtures/openapi/DesktopAuthAttemptEnvelope/invalid/missing-expiry.json +6 -0
- package/fixtures/openapi/DesktopAuthAttemptEnvelope/valid/attempt.json +7 -0
- package/fixtures/openapi/DesktopAuthAttemptExchangeRequest/invalid/short-verifier.json +4 -0
- package/fixtures/openapi/DesktopAuthAttemptExchangeRequest/valid/exchange.json +4 -0
- package/fixtures/openapi/IdentityApplication/invalid/missing-id.json +7 -0
- package/fixtures/openapi/IdentityApplication/valid/full.json +30 -0
- package/fixtures/openapi/IdentityApplicationEnvelope/invalid/missing-data.json +1 -0
- package/fixtures/openapi/IdentityApplicationEnvelope/valid/minimal.json +10 -0
- package/fixtures/openapi/IdentityApplicationLaunchListEnvelope/invalid/missing-user.json +11 -0
- package/fixtures/openapi/IdentityApplicationLaunchListEnvelope/valid/minimal.json +12 -0
- package/fixtures/openapi/KubernetesResourceGraphEnvelope/invalid/edge-without-target.json +16 -0
- package/fixtures/openapi/KubernetesResourceGraphEnvelope/valid/deployment.json +53 -0
- package/fixtures/openapi/KubernetesResourceSearchEnvelope/invalid/missing-resource.json +10 -0
- package/fixtures/openapi/KubernetesResourceSearchEnvelope/valid/mixed.json +29 -0
- package/fixtures/openapi/KubernetesResourceStreamEvent/invalid/missing-observed-at.json +5 -0
- package/fixtures/openapi/KubernetesResourceStreamEvent/valid/modified.json +18 -0
- package/fixtures/openapi/KubernetesSecurityPostureEnvelope/invalid/finding-without-severity.json +24 -0
- package/fixtures/openapi/KubernetesSecurityPostureEnvelope/valid/kubescape.json +34 -0
- package/fixtures/openapi/KubernetesService/invalid/node-port-out-of-range.json +14 -0
- package/fixtures/openapi/KubernetesService/valid/port-mappings.json +22 -0
- package/fixtures/openapi/KubernetesServiceDetail/invalid/empty-target-port.json +13 -0
- package/fixtures/openapi/KubernetesServiceDetail/valid/port-mappings.json +22 -0
- package/fixtures/openapi/LogQuery/invalid/empty-data-source-id.json +7 -0
- package/fixtures/openapi/LogQuery/valid/durable-data-source.json +14 -0
- package/fixtures/openapi/ManifestPackage/invalid/missing-application.json +12 -0
- package/fixtures/openapi/ManifestPackage/valid/service-scoped.json +29 -0
- package/fixtures/openapi/OIDCClientInput/valid/generated-client-id.json +8 -0
- package/fixtures/openapi/OIDCClientSecretRevealEnvelope/invalid/missing-secret.json +6 -0
- package/fixtures/openapi/OIDCClientSecretRevealEnvelope/valid/reveal.json +7 -0
- package/fixtures/openapi/OperationalPlanEnvelope/invalid/kubernetes-owner-without-manager.json +29 -0
- package/fixtures/openapi/OperationalPlanEnvelope/valid/kubernetes-resource-update.json +30 -0
- package/fixtures/openapi/PasswordChangeResult/invalid/unexpected-status.json +3 -0
- package/fixtures/openapi/PasswordChangeResult/valid/ok.json +3 -0
- package/fixtures/openapi/PortalApplicationListEnvelope/invalid/missing-items.json +1 -0
- package/fixtures/openapi/PortalApplicationListEnvelope/valid/minimal.json +12 -0
- package/fixtures/openapi/PortalBootstrapEnvelope/invalid/missing-security.json +17 -0
- package/fixtures/openapi/PortalBootstrapEnvelope/valid/minimal.json +31 -0
- package/fixtures/openapi/PortalLaunchDecisionEnvelope/invalid/missing-launch-url.json +14 -0
- package/fixtures/openapi/PortalLaunchDecisionEnvelope/valid/desktop-handoff.json +16 -0
- package/fixtures/openapi/PortalLaunchRequest/invalid/unknown-surface.json +3 -0
- package/fixtures/openapi/PortalLaunchRequest/valid/default-web.json +1 -0
- package/fixtures/openapi/PortalLaunchRequest/valid/desktop.json +3 -0
- package/fixtures/openapi/PortalSecuritySummaryEnvelope/invalid/missing-session-count.json +15 -0
- package/fixtures/openapi/PortalSecuritySummaryEnvelope/valid/minimal.json +16 -0
- package/fixtures/openapi/ScopeGrantInput/invalid/delivery-missing-business-line.json +7 -0
- package/fixtures/openapi/ScopeGrantInput/invalid/platform-missing-clusters.json +7 -0
- package/fixtures/openapi/ScopeGrantInput/valid/platform.json +8 -0
- package/fixtures/openapi/SoftwarePackage/valid/software-package.json +6 -0
- package/fixtures/openapi/SoftwarePackageDownloadRecord/invalid/negative-duration.json +6 -0
- package/fixtures/openapi/SoftwarePackageDownloadRecord/valid/software-package-download-record.json +8 -0
- package/fixtures/openapi/SoftwarePackageURLImportRequest/valid/software-package-url-import-request.json +4 -0
- package/fixtures/openapi/SoftwareStorage/invalid/software-storage.json +1 -1
- package/fixtures/openapi/SoftwareStorage/valid/software-storage.json +13 -1
- package/fixtures/openapi/SystemIntegrationCreateRequest/invalid/s3-storage-missing-name.json +5 -0
- package/fixtures/openapi/SystemIntegrationCreateRequest/valid/s3-software-storage.json +18 -0
- package/fixtures/openapi/UpdateProfileRequest/invalid/invalid-avatar-fit.json +5 -0
- package/fixtures/openapi/UpdateProfileRequest/invalid/missing-email.json +3 -0
- package/fixtures/openapi/UpdateProfileRequest/valid/profile.json +7 -0
- package/fixtures/openapi/WorkbenchAgentRunListEnvelope/invalid/callback-token.json +17 -0
- package/fixtures/openapi/WorkbenchAgentRunListEnvelope/valid/session-scoped.json +17 -0
- package/fixtures/openapi/WorkbenchSessionEnvelope/invalid/missing-owner.json +8 -0
- package/fixtures/openapi/WorkbenchSessionEnvelope/valid/current.json +17 -0
- package/gen/go/sohaapi/client.go +210 -5
- package/gen/go/sohaapi/client_test.go +128 -5
- package/gen/go/sohaapi/types.go +2820 -190
- package/gen/go/sohaapi/types_test.go +62 -0
- package/gen/ts/sohaapi/index.ts +9118 -4206
- package/openapi/soha-api.json +16369 -6935
- package/openapi/soha-api.yaml +12986 -8319
- package/openapi/spec_generated.go +3 -3
- package/package.json +1 -1
- package/resource/models.go +197 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "app-example",
|
|
3
|
+
"name": "Example App",
|
|
4
|
+
"slug": "example-app",
|
|
5
|
+
"description": "Example identity application",
|
|
6
|
+
"iconUrl": "https://app.example.com/icon.png",
|
|
7
|
+
"tags": ["platform"],
|
|
8
|
+
"launchUrl": "https://app.example.com",
|
|
9
|
+
"providerId": "provider-example",
|
|
10
|
+
"providerType": "oidc",
|
|
11
|
+
"portalVisible": true,
|
|
12
|
+
"featured": false,
|
|
13
|
+
"sortOrder": 100,
|
|
14
|
+
"status": "enabled",
|
|
15
|
+
"metadata": {
|
|
16
|
+
"owner": "platform"
|
|
17
|
+
},
|
|
18
|
+
"assignments": [
|
|
19
|
+
{
|
|
20
|
+
"id": "assignment-example",
|
|
21
|
+
"applicationId": "app-example",
|
|
22
|
+
"subjectType": "role",
|
|
23
|
+
"subjectId": "platform-admin",
|
|
24
|
+
"effect": "allow",
|
|
25
|
+
"createdAt": "2026-08-24T08:00:00Z"
|
|
26
|
+
}
|
|
27
|
+
],
|
|
28
|
+
"createdAt": "2026-08-24T08:00:00Z",
|
|
29
|
+
"updatedAt": "2026-08-24T08:00:00Z"
|
|
30
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"data": {
|
|
3
|
+
"clusterId": "cluster-a",
|
|
4
|
+
"namespace": "team-a",
|
|
5
|
+
"generatedAt": "2026-08-23T08:00:00Z",
|
|
6
|
+
"rootId": "apps/v1:Deployment:team-a/api",
|
|
7
|
+
"nodes": [
|
|
8
|
+
{
|
|
9
|
+
"id": "apps/v1:Deployment:team-a/api",
|
|
10
|
+
"resource": {
|
|
11
|
+
"clusterId": "cluster-a",
|
|
12
|
+
"apiVersion": "apps/v1",
|
|
13
|
+
"kind": "Deployment",
|
|
14
|
+
"name": "api",
|
|
15
|
+
"namespace": "team-a",
|
|
16
|
+
"scopeMode": "namespace"
|
|
17
|
+
},
|
|
18
|
+
"status": "healthy"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"id": "v1:Pod:team-a/api-1",
|
|
22
|
+
"resource": {
|
|
23
|
+
"clusterId": "cluster-a",
|
|
24
|
+
"apiVersion": "v1",
|
|
25
|
+
"kind": "Pod",
|
|
26
|
+
"name": "api-1",
|
|
27
|
+
"namespace": "team-a",
|
|
28
|
+
"scopeMode": "namespace"
|
|
29
|
+
},
|
|
30
|
+
"status": "Running"
|
|
31
|
+
}
|
|
32
|
+
],
|
|
33
|
+
"edges": [
|
|
34
|
+
{
|
|
35
|
+
"id": "owns:deployment-api:pod-api-1",
|
|
36
|
+
"sourceId": "apps/v1:Deployment:team-a/api",
|
|
37
|
+
"targetId": "v1:Pod:team-a/api-1",
|
|
38
|
+
"relation": "owns"
|
|
39
|
+
}
|
|
40
|
+
],
|
|
41
|
+
"evidence": [
|
|
42
|
+
{
|
|
43
|
+
"id": "event/team-a/api-1-scheduled",
|
|
44
|
+
"type": "kubernetes-event",
|
|
45
|
+
"severity": "info",
|
|
46
|
+
"summary": "Pod scheduled",
|
|
47
|
+
"observedAt": "2026-08-23T07:59:58Z",
|
|
48
|
+
"resourceId": "v1:Pod:team-a/api-1"
|
|
49
|
+
}
|
|
50
|
+
],
|
|
51
|
+
"warnings": []
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"data": {
|
|
3
|
+
"items": [
|
|
4
|
+
{
|
|
5
|
+
"resource": {
|
|
6
|
+
"clusterId": "cluster-a",
|
|
7
|
+
"apiVersion": "v1",
|
|
8
|
+
"kind": "Pod",
|
|
9
|
+
"name": "api-7c8d9f",
|
|
10
|
+
"namespace": "production",
|
|
11
|
+
"scopeMode": "namespace",
|
|
12
|
+
"uid": "pod-uid"
|
|
13
|
+
},
|
|
14
|
+
"status": "Running"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"resource": {
|
|
18
|
+
"clusterId": "cluster-a",
|
|
19
|
+
"apiVersion": "v1",
|
|
20
|
+
"kind": "Node",
|
|
21
|
+
"name": "worker-1",
|
|
22
|
+
"scopeMode": "cluster"
|
|
23
|
+
},
|
|
24
|
+
"status": "Ready"
|
|
25
|
+
}
|
|
26
|
+
],
|
|
27
|
+
"truncated": false
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "modified",
|
|
3
|
+
"clusterId": "cluster-a",
|
|
4
|
+
"observedAt": "2026-08-23T08:00:00Z",
|
|
5
|
+
"source": "informer",
|
|
6
|
+
"resourceVersion": "42",
|
|
7
|
+
"cacheStatus": "live",
|
|
8
|
+
"resyncRequired": false,
|
|
9
|
+
"resource": {
|
|
10
|
+
"clusterId": "cluster-a",
|
|
11
|
+
"apiVersion": "v1",
|
|
12
|
+
"kind": "Pod",
|
|
13
|
+
"name": "api-1",
|
|
14
|
+
"namespace": "team-a",
|
|
15
|
+
"scopeMode": "namespace",
|
|
16
|
+
"uid": "pod-uid"
|
|
17
|
+
}
|
|
18
|
+
}
|
package/fixtures/openapi/KubernetesSecurityPostureEnvelope/invalid/finding-without-severity.json
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"data": {
|
|
3
|
+
"clusterId": "cluster-a",
|
|
4
|
+
"provider": "kubescape",
|
|
5
|
+
"status": "available",
|
|
6
|
+
"generatedAt": "2026-08-23T08:00:00Z",
|
|
7
|
+
"counts": {
|
|
8
|
+
"critical": 0,
|
|
9
|
+
"high": 1,
|
|
10
|
+
"medium": 0,
|
|
11
|
+
"low": 0,
|
|
12
|
+
"unknown": 0
|
|
13
|
+
},
|
|
14
|
+
"findings": [
|
|
15
|
+
{
|
|
16
|
+
"id": "broken",
|
|
17
|
+
"category": "configuration",
|
|
18
|
+
"title": "Missing severity",
|
|
19
|
+
"status": "failed"
|
|
20
|
+
}
|
|
21
|
+
],
|
|
22
|
+
"warnings": []
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"data": {
|
|
3
|
+
"clusterId": "cluster-a",
|
|
4
|
+
"provider": "kubescape",
|
|
5
|
+
"status": "available",
|
|
6
|
+
"generatedAt": "2026-08-23T08:00:00Z",
|
|
7
|
+
"counts": {
|
|
8
|
+
"critical": 1,
|
|
9
|
+
"high": 2,
|
|
10
|
+
"medium": 3,
|
|
11
|
+
"low": 4,
|
|
12
|
+
"unknown": 0
|
|
13
|
+
},
|
|
14
|
+
"findings": [
|
|
15
|
+
{
|
|
16
|
+
"id": "configuration:C-001:team-a:Deployment:api",
|
|
17
|
+
"category": "configuration",
|
|
18
|
+
"severity": "high",
|
|
19
|
+
"title": "Privileged container",
|
|
20
|
+
"status": "failed",
|
|
21
|
+
"controlId": "C-001",
|
|
22
|
+
"resource": {
|
|
23
|
+
"clusterId": "cluster-a",
|
|
24
|
+
"apiVersion": "apps/v1",
|
|
25
|
+
"kind": "Deployment",
|
|
26
|
+
"name": "api",
|
|
27
|
+
"namespace": "team-a",
|
|
28
|
+
"scopeMode": "namespace"
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
],
|
|
32
|
+
"warnings": []
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "web",
|
|
3
|
+
"namespace": "default",
|
|
4
|
+
"type": "NodePort",
|
|
5
|
+
"ageSeconds": 0,
|
|
6
|
+
"ports": ["http:80/tcp (nodePort:30001)"],
|
|
7
|
+
"portMappings": [
|
|
8
|
+
{
|
|
9
|
+
"name": "http",
|
|
10
|
+
"protocol": "TCP",
|
|
11
|
+
"targetPort": "8080",
|
|
12
|
+
"port": 80,
|
|
13
|
+
"nodePort": 30001
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"name": "metrics",
|
|
17
|
+
"protocol": "TCP",
|
|
18
|
+
"targetPort": "metrics",
|
|
19
|
+
"port": 9090
|
|
20
|
+
}
|
|
21
|
+
]
|
|
22
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "web",
|
|
3
|
+
"namespace": "default",
|
|
4
|
+
"type": "ClusterIP",
|
|
5
|
+
"clusterIp": "10.43.0.10",
|
|
6
|
+
"ageSeconds": 60,
|
|
7
|
+
"ports": ["http:80/tcp"],
|
|
8
|
+
"portMappings": [
|
|
9
|
+
{
|
|
10
|
+
"name": "http",
|
|
11
|
+
"protocol": "TCP",
|
|
12
|
+
"targetPort": "http",
|
|
13
|
+
"port": 80
|
|
14
|
+
}
|
|
15
|
+
],
|
|
16
|
+
"endpoints": [
|
|
17
|
+
{
|
|
18
|
+
"address": "10.42.0.10",
|
|
19
|
+
"ready": true
|
|
20
|
+
}
|
|
21
|
+
]
|
|
22
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"sourceMode": "durable",
|
|
3
|
+
"dataSourceId": "loki-main",
|
|
4
|
+
"selector": {
|
|
5
|
+
"namespace": "payments",
|
|
6
|
+
"workloadKind": "Deployment",
|
|
7
|
+
"workloadName": "checkout-api"
|
|
8
|
+
},
|
|
9
|
+
"from": "2026-08-31T08:00:00Z",
|
|
10
|
+
"to": "2026-08-31T08:15:00Z",
|
|
11
|
+
"limit": 200,
|
|
12
|
+
"direction": "backward",
|
|
13
|
+
"text": "upstream timeout"
|
|
14
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "manifest-package-1",
|
|
3
|
+
"name": "checkout-api-ingress",
|
|
4
|
+
"serviceId": "service-checkout-api",
|
|
5
|
+
"renderer": "raw_yaml",
|
|
6
|
+
"status": "draft",
|
|
7
|
+
"currentRevision": 0,
|
|
8
|
+
"files": [],
|
|
9
|
+
"bindings": [],
|
|
10
|
+
"createdAt": "2026-08-27T00:00:00Z",
|
|
11
|
+
"updatedAt": "2026-08-27T00:00:00Z"
|
|
12
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "manifest-package-1",
|
|
3
|
+
"name": "checkout-api-ingress",
|
|
4
|
+
"description": "Service-level delivery extensions",
|
|
5
|
+
"applicationId": "app-1",
|
|
6
|
+
"serviceId": "service-checkout-api",
|
|
7
|
+
"renderer": "raw_yaml",
|
|
8
|
+
"status": "draft",
|
|
9
|
+
"currentRevision": 0,
|
|
10
|
+
"files": [
|
|
11
|
+
{
|
|
12
|
+
"path": "ingress.yaml",
|
|
13
|
+
"content": "apiVersion: networking.k8s.io/v1\nkind: Ingress\n"
|
|
14
|
+
}
|
|
15
|
+
],
|
|
16
|
+
"bindings": [
|
|
17
|
+
{
|
|
18
|
+
"id": "binding-1",
|
|
19
|
+
"applicationEnvironmentId": "app-env-prod",
|
|
20
|
+
"environmentKey": "prod",
|
|
21
|
+
"clusterId": "cluster-prod",
|
|
22
|
+
"namespace": "checkout",
|
|
23
|
+
"overlay": { "host": "checkout.example.com" },
|
|
24
|
+
"status": "ready"
|
|
25
|
+
}
|
|
26
|
+
],
|
|
27
|
+
"createdAt": "2026-08-27T00:00:00Z",
|
|
28
|
+
"updatedAt": "2026-08-27T00:00:00Z"
|
|
29
|
+
}
|
package/fixtures/openapi/OperationalPlanEnvelope/invalid/kubernetes-owner-without-manager.json
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"data": {
|
|
3
|
+
"capability": "k8s.resources.update",
|
|
4
|
+
"target": "cluster-a/team-a/Deployment/api",
|
|
5
|
+
"ready": false,
|
|
6
|
+
"riskLevel": "mutate",
|
|
7
|
+
"requiresApproval": false,
|
|
8
|
+
"changes": [
|
|
9
|
+
{
|
|
10
|
+
"action": "apply",
|
|
11
|
+
"resource": "Deployment/api",
|
|
12
|
+
"summary": "apply the reviewed manifest"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"warnings": [],
|
|
16
|
+
"kubernetesResourceUpdate": {
|
|
17
|
+
"fieldManager": "opensoha-resource-edit/v1",
|
|
18
|
+
"changedFields": ["/spec/replicas"],
|
|
19
|
+
"owners": [
|
|
20
|
+
{
|
|
21
|
+
"operation": "Apply",
|
|
22
|
+
"apiVersion": "apps/v1",
|
|
23
|
+
"fields": ["/spec/template"]
|
|
24
|
+
}
|
|
25
|
+
],
|
|
26
|
+
"conflicts": []
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"data": {
|
|
3
|
+
"capability": "k8s.resources.update",
|
|
4
|
+
"target": "cluster-a/team-a/Deployment/api",
|
|
5
|
+
"ready": true,
|
|
6
|
+
"riskLevel": "mutate",
|
|
7
|
+
"requiresApproval": false,
|
|
8
|
+
"changes": [
|
|
9
|
+
{
|
|
10
|
+
"action": "apply",
|
|
11
|
+
"resource": "Deployment/api",
|
|
12
|
+
"summary": "apply the reviewed manifest"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"warnings": [],
|
|
16
|
+
"kubernetesResourceUpdate": {
|
|
17
|
+
"fieldManager": "opensoha-resource-edit/v1",
|
|
18
|
+
"changedFields": ["/spec/replicas"],
|
|
19
|
+
"owners": [
|
|
20
|
+
{
|
|
21
|
+
"manager": "helm",
|
|
22
|
+
"operation": "Apply",
|
|
23
|
+
"apiVersion": "apps/v1",
|
|
24
|
+
"fields": ["/spec/template"]
|
|
25
|
+
}
|
|
26
|
+
],
|
|
27
|
+
"conflicts": []
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"data": {
|
|
3
|
+
"principal": {
|
|
4
|
+
"userId": "user-1",
|
|
5
|
+
"userName": "OpenSoha",
|
|
6
|
+
"email": "opensoha@example.com",
|
|
7
|
+
"roles": [],
|
|
8
|
+
"teams": [],
|
|
9
|
+
"projects": [],
|
|
10
|
+
"tags": []
|
|
11
|
+
},
|
|
12
|
+
"applications": [],
|
|
13
|
+
"favorites": [],
|
|
14
|
+
"recent": [],
|
|
15
|
+
"categories": []
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"data": {
|
|
3
|
+
"principal": {
|
|
4
|
+
"userId": "user-1",
|
|
5
|
+
"userName": "OpenSoha",
|
|
6
|
+
"email": "opensoha@example.com",
|
|
7
|
+
"roles": [],
|
|
8
|
+
"teams": [],
|
|
9
|
+
"projects": [],
|
|
10
|
+
"tags": []
|
|
11
|
+
},
|
|
12
|
+
"applications": [],
|
|
13
|
+
"favorites": [],
|
|
14
|
+
"recent": [],
|
|
15
|
+
"categories": [],
|
|
16
|
+
"security": {
|
|
17
|
+
"principal": {
|
|
18
|
+
"userId": "user-1",
|
|
19
|
+
"userName": "OpenSoha",
|
|
20
|
+
"email": "opensoha@example.com",
|
|
21
|
+
"roles": [],
|
|
22
|
+
"teams": [],
|
|
23
|
+
"projects": [],
|
|
24
|
+
"tags": []
|
|
25
|
+
},
|
|
26
|
+
"mfaEnabled": false,
|
|
27
|
+
"linkedSources": [],
|
|
28
|
+
"activeSession": 1
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"data": {
|
|
3
|
+
"application": {
|
|
4
|
+
"id": "app-1",
|
|
5
|
+
"name": "Soha Console",
|
|
6
|
+
"slug": "soha-console",
|
|
7
|
+
"status": "enabled",
|
|
8
|
+
"createdAt": "2026-08-31T00:00:00Z",
|
|
9
|
+
"updatedAt": "2026-08-31T00:00:00Z"
|
|
10
|
+
},
|
|
11
|
+
"providerType": "oidc",
|
|
12
|
+
"decision": "allow"
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"data": {
|
|
3
|
+
"application": {
|
|
4
|
+
"id": "app-1",
|
|
5
|
+
"name": "Soha Console",
|
|
6
|
+
"slug": "soha-console",
|
|
7
|
+
"status": "enabled",
|
|
8
|
+
"createdAt": "2026-08-31T00:00:00Z",
|
|
9
|
+
"updatedAt": "2026-08-31T00:00:00Z"
|
|
10
|
+
},
|
|
11
|
+
"launchUrl": "/auth/browser-handoff/handoff-1",
|
|
12
|
+
"providerType": "oidc",
|
|
13
|
+
"decision": "allow",
|
|
14
|
+
"handoffExpiresAt": "2026-08-31T00:01:00Z"
|
|
15
|
+
}
|
|
16
|
+
}
|