@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
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://contracts.opensoha.dev/auth/permission-catalog.schema.json",
|
|
4
|
+
"title": "OpenSoha Permission Catalog",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"required": ["schemaVersion", "catalogVersion", "contentHash", "permissions"],
|
|
8
|
+
"properties": {
|
|
9
|
+
"schemaVersion": { "const": "authorization.opensoha.io/v1" },
|
|
10
|
+
"catalogVersion": { "type": "string", "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$" },
|
|
11
|
+
"contentHash": { "type": "string", "pattern": "^sha256:[a-f0-9]{64}$" },
|
|
12
|
+
"permissions": {
|
|
13
|
+
"type": "array",
|
|
14
|
+
"minItems": 1,
|
|
15
|
+
"items": { "$ref": "#/$defs/permission" }
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"$defs": {
|
|
19
|
+
"permission": {
|
|
20
|
+
"type": "object",
|
|
21
|
+
"additionalProperties": false,
|
|
22
|
+
"required": [
|
|
23
|
+
"key",
|
|
24
|
+
"domain",
|
|
25
|
+
"resource",
|
|
26
|
+
"action",
|
|
27
|
+
"displayName",
|
|
28
|
+
"riskLevel",
|
|
29
|
+
"scopeKinds",
|
|
30
|
+
"approvalPolicy",
|
|
31
|
+
"status",
|
|
32
|
+
"assignable"
|
|
33
|
+
],
|
|
34
|
+
"properties": {
|
|
35
|
+
"key": {
|
|
36
|
+
"type": "string",
|
|
37
|
+
"pattern": "^[a-z][a-z0-9_-]*(?:\\.[a-z][a-z0-9_-]*)+$"
|
|
38
|
+
},
|
|
39
|
+
"domain": { "type": "string", "pattern": "^[a-z][a-z0-9_-]*$" },
|
|
40
|
+
"resource": { "type": "string", "pattern": "^[a-z][a-z0-9_.-]*$" },
|
|
41
|
+
"action": { "type": "string", "pattern": "^[a-z][a-z0-9_-]*$" },
|
|
42
|
+
"displayName": { "type": "string", "minLength": 1 },
|
|
43
|
+
"riskLevel": { "type": "string", "enum": ["read", "mutate", "execute", "high"] },
|
|
44
|
+
"scopeKinds": {
|
|
45
|
+
"type": "array",
|
|
46
|
+
"minItems": 1,
|
|
47
|
+
"uniqueItems": true,
|
|
48
|
+
"items": {
|
|
49
|
+
"type": "string",
|
|
50
|
+
"enum": ["tenant", "workspace", "cluster", "namespace", "project", "resource", "owner"]
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"approvalPolicy": { "type": "string", "enum": ["never", "eligible", "required"] },
|
|
54
|
+
"status": { "type": "string", "enum": ["active", "legacy"] },
|
|
55
|
+
"assignable": { "type": "boolean" },
|
|
56
|
+
"legacyAliases": {
|
|
57
|
+
"type": "array",
|
|
58
|
+
"uniqueItems": true,
|
|
59
|
+
"items": { "type": "string", "minLength": 1 }
|
|
60
|
+
},
|
|
61
|
+
"legacyCapabilities": {
|
|
62
|
+
"type": "array",
|
|
63
|
+
"uniqueItems": true,
|
|
64
|
+
"items": { "type": "string", "pattern": "^[a-z][a-z0-9_-]*$" }
|
|
65
|
+
},
|
|
66
|
+
"replacedBy": {
|
|
67
|
+
"type": "array",
|
|
68
|
+
"uniqueItems": true,
|
|
69
|
+
"items": { "type": "string", "minLength": 1 }
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
@@ -48,6 +48,11 @@
|
|
|
48
48
|
"properties": {
|
|
49
49
|
"status": { "$ref": "#/$defs/CapabilityStatus" },
|
|
50
50
|
"reason": { "type": "string", "minLength": 1 },
|
|
51
|
+
"notes": {
|
|
52
|
+
"type": "array",
|
|
53
|
+
"items": { "type": "string", "minLength": 1 },
|
|
54
|
+
"uniqueItems": true
|
|
55
|
+
},
|
|
51
56
|
"diagnostic": { "type": "string" },
|
|
52
57
|
"requiredAgentVersion": { "type": "string" },
|
|
53
58
|
"requiredScopes": {
|
|
@@ -71,10 +76,34 @@
|
|
|
71
76
|
"label": { "type": "string", "minLength": 1 },
|
|
72
77
|
"category": {
|
|
73
78
|
"type": "string",
|
|
74
|
-
"enum": [
|
|
79
|
+
"enum": [
|
|
80
|
+
"kubernetes",
|
|
81
|
+
"helm",
|
|
82
|
+
"yaml",
|
|
83
|
+
"logs",
|
|
84
|
+
"exec",
|
|
85
|
+
"port-forward",
|
|
86
|
+
"docker",
|
|
87
|
+
"runtime",
|
|
88
|
+
"platform",
|
|
89
|
+
"workloads",
|
|
90
|
+
"configuration",
|
|
91
|
+
"access",
|
|
92
|
+
"network",
|
|
93
|
+
"storage",
|
|
94
|
+
"extensions",
|
|
95
|
+
"delivery",
|
|
96
|
+
"observability"
|
|
97
|
+
]
|
|
98
|
+
},
|
|
99
|
+
"requiredScopes": {
|
|
100
|
+
"type": "array",
|
|
101
|
+
"items": { "type": "string", "minLength": 1 },
|
|
102
|
+
"uniqueItems": true
|
|
75
103
|
},
|
|
76
104
|
"riskLevel": { "$ref": "#/$defs/RiskLevel" },
|
|
77
105
|
"requiresApproval": { "type": "boolean" },
|
|
106
|
+
"docsUrl": { "type": "string", "minLength": 1 },
|
|
78
107
|
"direct": { "$ref": "#/$defs/ModeSupport" },
|
|
79
108
|
"agent": { "$ref": "#/$defs/ModeSupport" },
|
|
80
109
|
"metadata": {
|
|
@@ -10,22 +10,22 @@
|
|
|
10
10
|
"teams": [],
|
|
11
11
|
"projects": [],
|
|
12
12
|
"tags": [],
|
|
13
|
-
"permissionKeys": ["ai.gateway.
|
|
13
|
+
"permissionKeys": ["ai.gateway.view", "platform.pods.view"]
|
|
14
14
|
},
|
|
15
15
|
"caller": {
|
|
16
16
|
"identityMode": "user",
|
|
17
17
|
"source": "cli"
|
|
18
18
|
},
|
|
19
|
-
"permissionKeys": ["ai.gateway.
|
|
19
|
+
"permissionKeys": ["ai.gateway.view", "platform.pods.view"],
|
|
20
20
|
"tools": [
|
|
21
21
|
{
|
|
22
|
-
"name": "k8s.
|
|
22
|
+
"name": "k8s.pods.list",
|
|
23
23
|
"title": "List pods",
|
|
24
24
|
"description": "List Kubernetes pods in a namespace.",
|
|
25
25
|
"domain": "kubernetes",
|
|
26
26
|
"action": "read",
|
|
27
27
|
"riskLevel": "read",
|
|
28
|
-
"permissionKeys": ["
|
|
28
|
+
"permissionKeys": ["platform.pods.view"],
|
|
29
29
|
"requiredScopes": ["cluster", "namespace"],
|
|
30
30
|
"mcpAdapterId": "builtin.kubernetes",
|
|
31
31
|
"mcpToolName": "k8s.pods.list",
|
|
@@ -57,8 +57,8 @@
|
|
|
57
57
|
"name": "Kubernetes SRE",
|
|
58
58
|
"category": "ai-gateway",
|
|
59
59
|
"description": "Read-only cluster diagnosis skill.",
|
|
60
|
-
"capabilityRefs": ["k8s.
|
|
61
|
-
"permissionKeys": ["
|
|
60
|
+
"capabilityRefs": ["k8s.pods.list"],
|
|
61
|
+
"permissionKeys": ["platform.pods.view"],
|
|
62
62
|
"requiredScopes": ["cluster", "namespace"]
|
|
63
63
|
}
|
|
64
64
|
],
|
|
@@ -11,22 +11,22 @@
|
|
|
11
11
|
"teams": [],
|
|
12
12
|
"projects": [],
|
|
13
13
|
"tags": [],
|
|
14
|
-
"permissionKeys": ["ai.gateway.
|
|
14
|
+
"permissionKeys": ["ai.gateway.view", "platform.pods.view"]
|
|
15
15
|
},
|
|
16
16
|
"caller": {
|
|
17
17
|
"identityMode": "user",
|
|
18
18
|
"source": "web"
|
|
19
19
|
},
|
|
20
|
-
"permissionKeys": ["ai.gateway.
|
|
20
|
+
"permissionKeys": ["ai.gateway.view", "platform.pods.view"],
|
|
21
21
|
"tools": [
|
|
22
22
|
{
|
|
23
|
-
"name": "k8s.
|
|
23
|
+
"name": "k8s.pods.list",
|
|
24
24
|
"title": "List pods",
|
|
25
25
|
"description": "List Kubernetes pods in a namespace.",
|
|
26
26
|
"domain": "kubernetes",
|
|
27
27
|
"action": "read",
|
|
28
28
|
"riskLevel": "read",
|
|
29
|
-
"permissionKeys": ["
|
|
29
|
+
"permissionKeys": ["platform.pods.view"],
|
|
30
30
|
"requiredScopes": ["cluster", "namespace"],
|
|
31
31
|
"requiresApproval": false,
|
|
32
32
|
"inputSchema": {
|
|
@@ -14,11 +14,11 @@
|
|
|
14
14
|
"skills": ["skills/ai-gateway/k8s-sre/SKILL.md"]
|
|
15
15
|
},
|
|
16
16
|
"capabilities": {
|
|
17
|
-
"tools": ["k8s.
|
|
17
|
+
"tools": ["k8s.pods.list"],
|
|
18
18
|
"skills": ["k8s-sre"]
|
|
19
19
|
},
|
|
20
20
|
"permissions": {
|
|
21
|
-
"required": ["
|
|
21
|
+
"required": ["platform.pods.view"],
|
|
22
22
|
"domain": ["kubernetes"]
|
|
23
23
|
},
|
|
24
24
|
"runtime": {
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
"version": "0.1.0",
|
|
5
5
|
"category": "ai-gateway",
|
|
6
6
|
"description": "Read-only Kubernetes troubleshooting skill.",
|
|
7
|
-
"capabilityRefs": ["k8s.
|
|
8
|
-
"permissionKeys": ["
|
|
7
|
+
"capabilityRefs": ["k8s.pods.list"],
|
|
8
|
+
"permissionKeys": ["platform.pods.view"],
|
|
9
9
|
"requiredScopes": ["cluster", "namespace"],
|
|
10
10
|
"providerSkillRefs": [
|
|
11
11
|
{
|
|
@@ -6,14 +6,17 @@
|
|
|
6
6
|
"key": "kubernetes.yaml.apply",
|
|
7
7
|
"label": "Apply Kubernetes YAML",
|
|
8
8
|
"category": "yaml",
|
|
9
|
+
"requiredScopes": ["cluster", "namespace"],
|
|
9
10
|
"riskLevel": "mutate",
|
|
10
11
|
"requiresApproval": true,
|
|
12
|
+
"docsUrl": "/operations/kubernetes-yaml",
|
|
11
13
|
"direct": {
|
|
12
14
|
"status": "available",
|
|
13
15
|
"requiredScopes": ["cluster:write", "kubernetes:apply"]
|
|
14
16
|
},
|
|
15
17
|
"agent": {
|
|
16
18
|
"status": "available",
|
|
19
|
+
"notes": ["Requires the resource mutation allowlist."],
|
|
17
20
|
"requiredAgentVersion": "0.1.0",
|
|
18
21
|
"requiredScopes": ["agent:kubernetes:apply"]
|
|
19
22
|
},
|
|
@@ -10,22 +10,22 @@
|
|
|
10
10
|
"teams": [],
|
|
11
11
|
"projects": [],
|
|
12
12
|
"tags": [],
|
|
13
|
-
"permissionKeys": ["ai.gateway.
|
|
13
|
+
"permissionKeys": ["ai.gateway.view"]
|
|
14
14
|
},
|
|
15
15
|
"caller": {
|
|
16
16
|
"identityMode": "user",
|
|
17
17
|
"source": "cli"
|
|
18
18
|
},
|
|
19
|
-
"permissionKeys": ["ai.gateway.
|
|
19
|
+
"permissionKeys": ["ai.gateway.view"],
|
|
20
20
|
"tools": [
|
|
21
21
|
{
|
|
22
|
-
"name": "k8s.
|
|
22
|
+
"name": "k8s.pods.list",
|
|
23
23
|
"title": "List pods",
|
|
24
24
|
"description": "List Kubernetes pods in a namespace.",
|
|
25
25
|
"domain": "kubernetes",
|
|
26
26
|
"action": "read",
|
|
27
27
|
"riskLevel": "read",
|
|
28
|
-
"permissionKeys": ["
|
|
28
|
+
"permissionKeys": ["platform.pods.view"],
|
|
29
29
|
"requiresApproval": false,
|
|
30
30
|
"inputSchema": {
|
|
31
31
|
"type": "object",
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "authorization.opensoha.io/v1",
|
|
3
|
+
"catalogVersion": "1.0.0",
|
|
4
|
+
"contentHash": "sha256:0000000000000000000000000000000000000000000000000000000000000000",
|
|
5
|
+
"permissions": [
|
|
6
|
+
{
|
|
7
|
+
"key": "virtualization.vms.view",
|
|
8
|
+
"domain": "virtualization",
|
|
9
|
+
"resource": "vms",
|
|
10
|
+
"displayName": "View virtual machines",
|
|
11
|
+
"riskLevel": "read",
|
|
12
|
+
"scopeKinds": ["workspace", "resource"],
|
|
13
|
+
"approvalPolicy": "never",
|
|
14
|
+
"status": "active",
|
|
15
|
+
"assignable": true
|
|
16
|
+
}
|
|
17
|
+
]
|
|
18
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "authorization.opensoha.io/v1",
|
|
3
|
+
"catalogVersion": "1.0.0",
|
|
4
|
+
"contentHash": "sha256:0000000000000000000000000000000000000000000000000000000000000000",
|
|
5
|
+
"permissions": [
|
|
6
|
+
{
|
|
7
|
+
"key": "virtualization.vms.view",
|
|
8
|
+
"domain": "virtualization",
|
|
9
|
+
"resource": "vms",
|
|
10
|
+
"action": "view",
|
|
11
|
+
"displayName": "View virtual machines",
|
|
12
|
+
"riskLevel": "read",
|
|
13
|
+
"scopeKinds": ["workspace", "resource"],
|
|
14
|
+
"approvalPolicy": "never",
|
|
15
|
+
"status": "active",
|
|
16
|
+
"assignable": true
|
|
17
|
+
}
|
|
18
|
+
]
|
|
19
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"data": {
|
|
3
|
+
"clusterId": "cluster-1",
|
|
4
|
+
"manifestUrl": "https://soha.example.com/api/v1/kubernetes/agent-installations/dGlja2V0.manifest/manifest.yaml",
|
|
5
|
+
"command": "kubectl apply -f https://soha.example.com/api/v1/kubernetes/agent-installations/dGlja2V0.manifest/manifest.yaml",
|
|
6
|
+
"expiresAt": "2026-08-08T10:15:00Z"
|
|
7
|
+
}
|
|
8
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"status": "deny",
|
|
3
|
+
"permissionKey": "virtualization.vms.delete",
|
|
4
|
+
"action": "delete",
|
|
5
|
+
"resource": {
|
|
6
|
+
"type": "virtualization.vm",
|
|
7
|
+
"id": "vm-01",
|
|
8
|
+
"workspaceId": "default"
|
|
9
|
+
},
|
|
10
|
+
"effectiveScope": {
|
|
11
|
+
"workspaceIds": ["default"]
|
|
12
|
+
},
|
|
13
|
+
"reasonCode": "missing_permission",
|
|
14
|
+
"policyVersion": "authorization.opensoha.io/v1",
|
|
15
|
+
"allowedActions": ["view", "create", "resize"]
|
|
16
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"clusterId": "cluster-prod",
|
|
3
|
+
"namespace": "payments",
|
|
4
|
+
"applicationKey": "payments",
|
|
5
|
+
"applicationName": "Payments",
|
|
6
|
+
"environmentKey": "prod",
|
|
7
|
+
"environmentName": "Production",
|
|
8
|
+
"ownershipMode": "managed",
|
|
9
|
+
"releases": [
|
|
10
|
+
{
|
|
11
|
+
"releaseName": "payments"
|
|
12
|
+
}
|
|
13
|
+
]
|
|
14
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"data": {
|
|
3
|
+
"application": {
|
|
4
|
+
"id": "app-1",
|
|
5
|
+
"key": "payments",
|
|
6
|
+
"name": "Payments",
|
|
7
|
+
"created": true
|
|
8
|
+
},
|
|
9
|
+
"environment": {
|
|
10
|
+
"id": "env-1",
|
|
11
|
+
"key": "prod",
|
|
12
|
+
"name": "Production",
|
|
13
|
+
"created": false
|
|
14
|
+
},
|
|
15
|
+
"applicationEnvironmentId": "app-env-1",
|
|
16
|
+
"applicationEnvironmentCreated": true,
|
|
17
|
+
"services": [],
|
|
18
|
+
"targets": []
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"data": {
|
|
3
|
+
"application": {
|
|
4
|
+
"id": "app-1",
|
|
5
|
+
"key": "payments",
|
|
6
|
+
"name": "Payments",
|
|
7
|
+
"created": true
|
|
8
|
+
},
|
|
9
|
+
"environment": {
|
|
10
|
+
"id": "env-1",
|
|
11
|
+
"key": "prod",
|
|
12
|
+
"name": "Production",
|
|
13
|
+
"created": false
|
|
14
|
+
},
|
|
15
|
+
"applicationEnvironmentId": "app-env-1",
|
|
16
|
+
"applicationEnvironmentCreated": true,
|
|
17
|
+
"ownershipMode": "managed",
|
|
18
|
+
"services": [
|
|
19
|
+
{
|
|
20
|
+
"id": "service-1",
|
|
21
|
+
"key": "helm-payments",
|
|
22
|
+
"name": "payments",
|
|
23
|
+
"releaseName": "payments",
|
|
24
|
+
"created": true
|
|
25
|
+
}
|
|
26
|
+
],
|
|
27
|
+
"targets": [
|
|
28
|
+
{
|
|
29
|
+
"id": "target-1",
|
|
30
|
+
"releaseName": "payments",
|
|
31
|
+
"created": true
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"items": [
|
|
3
|
+
{
|
|
4
|
+
"clusterId": "cluster-prod",
|
|
5
|
+
"namespace": "payments",
|
|
6
|
+
"workloadKind": "Deployment",
|
|
7
|
+
"workloadName": "payments-api",
|
|
8
|
+
"desiredReplicas": 3,
|
|
9
|
+
"readyReplicas": 3,
|
|
10
|
+
"containers": ["api"],
|
|
11
|
+
"labels": {
|
|
12
|
+
"app": "payments-api"
|
|
13
|
+
},
|
|
14
|
+
"relatedResources": [
|
|
15
|
+
{
|
|
16
|
+
"kind": "Service",
|
|
17
|
+
"name": "payments-api"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"kind": "Ingress",
|
|
21
|
+
"name": "payments"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"kind": "HorizontalPodAutoscaler",
|
|
25
|
+
"name": "payments-api"
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
}
|
|
29
|
+
],
|
|
30
|
+
"truncated": false
|
|
31
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"clusterId": "cluster-prod",
|
|
3
|
+
"namespace": "payments",
|
|
4
|
+
"applicationKey": "payments",
|
|
5
|
+
"applicationName": "Payments",
|
|
6
|
+
"environmentKey": "prod",
|
|
7
|
+
"environmentName": "Production",
|
|
8
|
+
"ownershipMode": "takeover",
|
|
9
|
+
"workloads": [
|
|
10
|
+
{
|
|
11
|
+
"workloadKind": "Deployment",
|
|
12
|
+
"workloadName": "payments-api"
|
|
13
|
+
}
|
|
14
|
+
]
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"clusterId": "cluster-prod",
|
|
3
|
+
"namespace": "payments",
|
|
4
|
+
"applicationKey": "payments",
|
|
5
|
+
"applicationName": "Payments",
|
|
6
|
+
"environmentKey": "prod",
|
|
7
|
+
"environmentName": "Production",
|
|
8
|
+
"ownershipMode": "managed",
|
|
9
|
+
"workloads": [
|
|
10
|
+
{
|
|
11
|
+
"workloadKind": "Deployment",
|
|
12
|
+
"workloadName": "payments-api"
|
|
13
|
+
}
|
|
14
|
+
]
|
|
15
|
+
}
|