@a5c-ai/krate 5.0.1-staging.f672fe79b
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/Dockerfile +29 -0
- package/README.md +183 -0
- package/bin/krate-demo.mjs +23 -0
- package/bin/krate-server.mjs +14 -0
- package/dist/krate-controller-ui.json +2407 -0
- package/dist/krate-lifecycle.json +201 -0
- package/dist/krate-runtime-snapshot.json +2955 -0
- package/dist/krate-summary.json +687 -0
- package/docs/README.md +61 -0
- package/docs/agents/README.md +83 -0
- package/docs/agents/acceptance-test-matrix.md +193 -0
- package/docs/agents/agent-mux-adapter-contract.md +167 -0
- package/docs/agents/agent-mux-source-map.md +310 -0
- package/docs/agents/agent-run-memory-import-spec.md +256 -0
- package/docs/agents/agent-stack-management-spec.md +421 -0
- package/docs/agents/api-contract-spec.md +309 -0
- package/docs/agents/artifacts-writeback-spec.md +145 -0
- package/docs/agents/chart-packaging-spec.md +128 -0
- package/docs/agents/ci-orchestration-spec.md +140 -0
- package/docs/agents/context-assembly-spec.md +219 -0
- package/docs/agents/controller-reconciliation-spec.md +255 -0
- package/docs/agents/crd-schema-spec.md +315 -0
- package/docs/agents/decision-log-open-questions.md +169 -0
- package/docs/agents/developer-implementation-checklist.md +329 -0
- package/docs/agents/dispatching-design.md +262 -0
- package/docs/agents/glossary.md +66 -0
- package/docs/agents/implementation-blueprint.md +324 -0
- package/docs/agents/implementation-rollout-slices.md +251 -0
- package/docs/agents/memory-context-integration-spec.md +194 -0
- package/docs/agents/memory-ontology-schema-spec.md +253 -0
- package/docs/agents/memory-operations-runbook.md +121 -0
- package/docs/agents/mvp-vertical-slice-spec.md +146 -0
- package/docs/agents/observability-audit-spec.md +265 -0
- package/docs/agents/operator-runbook.md +174 -0
- package/docs/agents/org-memory-api-payload-examples.md +333 -0
- package/docs/agents/org-memory-controller-sequence-spec.md +181 -0
- package/docs/agents/org-memory-e2e-fixture-plan.md +161 -0
- package/docs/agents/org-memory-ui-implementation-map.md +114 -0
- package/docs/agents/org-memory-vertical-slice-spec.md +168 -0
- package/docs/agents/org-resource-model-delta-spec.md +111 -0
- package/docs/agents/org-route-resource-model-spec.md +183 -0
- package/docs/agents/org-scoping-namespace-spec.md +114 -0
- package/docs/agents/rbac-secrets-management-spec.md +406 -0
- package/docs/agents/repository-page-integration-spec.md +255 -0
- package/docs/agents/resource-contract-examples.md +808 -0
- package/docs/agents/resource-relationship-map.md +190 -0
- package/docs/agents/security-threat-model.md +188 -0
- package/docs/agents/shared-memory-company-brain-spec.md +358 -0
- package/docs/agents/storage-migration-spec.md +168 -0
- package/docs/agents/subagent-orchestration-spec.md +152 -0
- package/docs/agents/system-overview.md +88 -0
- package/docs/agents/tools-mcp-skills-spec.md +189 -0
- package/docs/agents/traceability-matrix.md +79 -0
- package/docs/agents/ui-flow-spec.md +211 -0
- package/docs/agents/ui-ux-system-spec.md +426 -0
- package/docs/agents/workspace-lifecycle-spec.md +166 -0
- package/docs/architecture-spec.md +78 -0
- package/docs/components/control-plane.md +78 -0
- package/docs/components/data-plane.md +69 -0
- package/docs/components/hooks-events.md +67 -0
- package/docs/components/identity-rbac-policy.md +73 -0
- package/docs/components/kubevela-oam.md +70 -0
- package/docs/components/operations-publishing.md +81 -0
- package/docs/components/runners-ci.md +66 -0
- package/docs/components/web-ui.md +94 -0
- package/docs/external/README.md +47 -0
- package/docs/external/bidirectional-sync-design.md +134 -0
- package/docs/external/cicd-interface.md +64 -0
- package/docs/external/external-backend-controllers.md +170 -0
- package/docs/external/external-backend-crds.md +234 -0
- package/docs/external/external-backend-ui-spec.md +151 -0
- package/docs/external/external-backend-ux-flows.md +115 -0
- package/docs/external/external-object-mapping.md +125 -0
- package/docs/external/git-forge-interface.md +68 -0
- package/docs/external/github-integration-design.md +151 -0
- package/docs/external/issue-tracking-interface.md +66 -0
- package/docs/external/provider-capability-manifests.md +204 -0
- package/docs/external/provider-catalog.md +139 -0
- package/docs/external/provider-rollout-testing.md +78 -0
- package/docs/external/research-results.md +48 -0
- package/docs/external/security-auth-permissions.md +81 -0
- package/docs/external/sync-state-machines.md +108 -0
- package/docs/external/unified-external-backend-model.md +107 -0
- package/docs/external/user-facing-changes.md +67 -0
- package/docs/gaps.md +161 -0
- package/docs/install.md +94 -0
- package/docs/krate-design.md +334 -0
- package/docs/local-minikube.md +55 -0
- package/docs/ontology/README.md +32 -0
- package/docs/ontology/bounded-contexts.md +29 -0
- package/docs/ontology/events-and-hooks.md +32 -0
- package/docs/ontology/oam-kubevela.md +32 -0
- package/docs/ontology/operations-and-release.md +25 -0
- package/docs/ontology/personas-and-actors.md +32 -0
- package/docs/ontology/policies-and-invariants.md +33 -0
- package/docs/ontology/problem-space.md +30 -0
- package/docs/ontology/resource-contracts.md +40 -0
- package/docs/ontology/resource-taxonomy.md +42 -0
- package/docs/ontology/runners-and-ci.md +29 -0
- package/docs/ontology/solution-space.md +24 -0
- package/docs/ontology/storage-and-data-boundaries.md +29 -0
- package/docs/ontology/validation-matrix.md +24 -0
- package/docs/ontology/web-ui-excellent-flows.md +32 -0
- package/docs/ontology/workflows.md +39 -0
- package/docs/ontology/world.md +35 -0
- package/docs/product-requirements.md +62 -0
- package/docs/roadmap-mvp.md +87 -0
- package/docs/system-requirements.md +90 -0
- package/docs/tests/README.md +53 -0
- package/docs/tests/agent-qa-plan.md +63 -0
- package/docs/tests/browser-ui-tests.md +62 -0
- package/docs/tests/ci-quality-gates.md +48 -0
- package/docs/tests/coverage-model.md +64 -0
- package/docs/tests/e2e-scenario-tests.md +53 -0
- package/docs/tests/fixtures-test-data.md +63 -0
- package/docs/tests/observability-reliability-tests.md +54 -0
- package/docs/tests/product-test-matrix.md +145 -0
- package/docs/tests/qa-adoption-roadmap.md +130 -0
- package/docs/tests/qa-automation-plan.md +101 -0
- package/docs/tests/security-compliance-tests.md +57 -0
- package/docs/tests/test-framework-tools.md +88 -0
- package/docs/tests/test-suite-layout.md +121 -0
- package/docs/tests/unit-integration-tests.md +48 -0
- package/docs/todo-kyverno +714 -0
- package/docs/user-stories.md +78 -0
- package/examples/minikube-demo.yaml +190 -0
- package/examples/oam-application.yaml +23 -0
- package/examples/policy-kyverno-pr-title.yaml +18 -0
- package/package.json +63 -0
- package/scripts/build.mjs +29 -0
- package/scripts/setup-minikube.mjs +65 -0
- package/scripts/smoke.mjs +37 -0
- package/scripts/validate-doc-coverage.mjs +152 -0
- package/scripts/validate-package.mjs +93 -0
- package/scripts/validate-ui.mjs +207 -0
- package/src/agent-approval-controller.js +123 -0
- package/src/agent-context-bundles.js +242 -0
- package/src/agent-dispatch-controller.js +86 -0
- package/src/agent-mux-client.js +280 -0
- package/src/agent-permission-review.js +162 -0
- package/src/agent-stack-controller.js +296 -0
- package/src/agent-trigger-controller.js +108 -0
- package/src/api-controller.js +206 -0
- package/src/argocd-gitops.js +43 -0
- package/src/auth.js +265 -0
- package/src/component-catalog.js +41 -0
- package/src/control-plane.js +136 -0
- package/src/controller-client.js +38 -0
- package/src/controller-ui.js +538 -0
- package/src/data-plane.js +178 -0
- package/src/gitea-backend.js +95 -0
- package/src/handoff.js +98 -0
- package/src/hooks-events.js +63 -0
- package/src/http-server.js +151 -0
- package/src/identity-policy.js +86 -0
- package/src/index.js +30 -0
- package/src/kubernetes-controller.js +812 -0
- package/src/kubernetes-resource-gateway.js +48 -0
- package/src/operations.js +112 -0
- package/src/resource-model.js +203 -0
- package/src/runners-ci.js +48 -0
- package/src/runtime.js +196 -0
- package/src/web-ui.js +40 -0
- package/tests/agent-approval-controller.test.js +173 -0
- package/tests/agent-context-bundles.test.js +278 -0
- package/tests/agent-dispatch-controller.test.js +176 -0
- package/tests/agent-mux-client.test.js +204 -0
- package/tests/agent-permission-review.test.js +209 -0
- package/tests/agent-resources.test.js +212 -0
- package/tests/agent-stack-controller.test.js +221 -0
- package/tests/agent-trigger-controller.test.js +211 -0
- package/tests/deployment.test.js +395 -0
- package/tests/e2e/lifecycle.test.js +117 -0
- package/tests/krate.test.js +727 -0
|
@@ -0,0 +1,687 @@
|
|
|
1
|
+
{
|
|
2
|
+
"project": "Krate",
|
|
3
|
+
"description": "Kubernetes-native forge runtime with Argo CD and Krate-managed repository hosting",
|
|
4
|
+
"package": {
|
|
5
|
+
"name": "@a5c-ai/krate",
|
|
6
|
+
"version": "5.0.1-staging.f672fe79b",
|
|
7
|
+
"private": true
|
|
8
|
+
},
|
|
9
|
+
"entrypoints": {
|
|
10
|
+
"library": "./src/index.js",
|
|
11
|
+
"cli": "./bin/krate-demo.mjs",
|
|
12
|
+
"runtimeServer": "./bin/krate-server.mjs",
|
|
13
|
+
"webPreview": "./public/index.html",
|
|
14
|
+
"nextUi": "./apps/web",
|
|
15
|
+
"generatedSummary": "./dist/krate-summary.json",
|
|
16
|
+
"lifecycleSnapshot": "./dist/krate-lifecycle.json",
|
|
17
|
+
"helmChart": "./charts/krate",
|
|
18
|
+
"minikubeSetup": "./scripts/setup-minikube.mjs"
|
|
19
|
+
},
|
|
20
|
+
"commands": {
|
|
21
|
+
"build": "npm run build",
|
|
22
|
+
"demo": "npm run demo",
|
|
23
|
+
"serve": "npm run serve",
|
|
24
|
+
"check": "npm run check",
|
|
25
|
+
"test": "npm test",
|
|
26
|
+
"smoke": "npm run smoke",
|
|
27
|
+
"validateDocs": "npm run validate:docs",
|
|
28
|
+
"e2e": "npm run e2e",
|
|
29
|
+
"packageCheck": "npm run package:check",
|
|
30
|
+
"setupMinikube": "npm run setup:minikube -- --dry-run",
|
|
31
|
+
"dev": "npm run dev",
|
|
32
|
+
"uiBuild": "npm run ui:build",
|
|
33
|
+
"uiValidate": "npm run ui:validate"
|
|
34
|
+
},
|
|
35
|
+
"docs": [
|
|
36
|
+
"docs/README.md",
|
|
37
|
+
"docs/product-requirements.md",
|
|
38
|
+
"docs/system-requirements.md",
|
|
39
|
+
"docs/architecture-spec.md",
|
|
40
|
+
"docs/user-stories.md",
|
|
41
|
+
"docs/roadmap-mvp.md",
|
|
42
|
+
"docs/local-minikube.md",
|
|
43
|
+
"docs/install.md",
|
|
44
|
+
"docs/ontology/README.md"
|
|
45
|
+
],
|
|
46
|
+
"components": [
|
|
47
|
+
{
|
|
48
|
+
"id": "control-plane",
|
|
49
|
+
"title": "Control Plane",
|
|
50
|
+
"area": "api",
|
|
51
|
+
"resources": [
|
|
52
|
+
"Repository",
|
|
53
|
+
"BranchProtection",
|
|
54
|
+
"RefPolicy"
|
|
55
|
+
],
|
|
56
|
+
"evidence": [
|
|
57
|
+
"src/control-plane.js",
|
|
58
|
+
"charts/krate/crds"
|
|
59
|
+
],
|
|
60
|
+
"implemented": true,
|
|
61
|
+
"resourceCount": 3,
|
|
62
|
+
"docs": "docs/components/control-plane.md"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"id": "data-plane",
|
|
66
|
+
"title": "Repository Data Plane",
|
|
67
|
+
"area": "git",
|
|
68
|
+
"resources": [
|
|
69
|
+
"Repository"
|
|
70
|
+
],
|
|
71
|
+
"evidence": [
|
|
72
|
+
"src/data-plane.js",
|
|
73
|
+
"src/gitea-backend.js",
|
|
74
|
+
"charts/krate/templates/gitea.yaml"
|
|
75
|
+
],
|
|
76
|
+
"implemented": true,
|
|
77
|
+
"resourceCount": 1,
|
|
78
|
+
"docs": "docs/components/data-plane.md"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"id": "identity-policy",
|
|
82
|
+
"title": "Identity, RBAC, and Policy",
|
|
83
|
+
"area": "security",
|
|
84
|
+
"resources": [
|
|
85
|
+
"BranchProtection",
|
|
86
|
+
"RefPolicy"
|
|
87
|
+
],
|
|
88
|
+
"evidence": [
|
|
89
|
+
"src/identity-policy.js",
|
|
90
|
+
"examples/policy-kyverno-pr-title.yaml"
|
|
91
|
+
],
|
|
92
|
+
"implemented": true,
|
|
93
|
+
"resourceCount": 2,
|
|
94
|
+
"docs": "docs/components/identity-policy.md"
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"id": "runners-ci",
|
|
98
|
+
"title": "Runners and CI",
|
|
99
|
+
"area": "automation",
|
|
100
|
+
"resources": [
|
|
101
|
+
"RunnerPool",
|
|
102
|
+
"Pipeline",
|
|
103
|
+
"Job"
|
|
104
|
+
],
|
|
105
|
+
"evidence": [
|
|
106
|
+
"src/runners-ci.js",
|
|
107
|
+
"docs/components/runners-ci.md"
|
|
108
|
+
],
|
|
109
|
+
"implemented": true,
|
|
110
|
+
"resourceCount": 3,
|
|
111
|
+
"docs": "docs/components/runners-ci.md"
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"id": "hooks-events",
|
|
115
|
+
"title": "Hooks and Events",
|
|
116
|
+
"area": "integrations",
|
|
117
|
+
"resources": [
|
|
118
|
+
"WebhookSubscription",
|
|
119
|
+
"WebhookDelivery"
|
|
120
|
+
],
|
|
121
|
+
"evidence": [
|
|
122
|
+
"src/hooks-events.js",
|
|
123
|
+
"docs/components/hooks-events.md"
|
|
124
|
+
],
|
|
125
|
+
"implemented": true,
|
|
126
|
+
"resourceCount": 2,
|
|
127
|
+
"docs": "docs/components/hooks-events.md"
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"id": "operations-publishing",
|
|
131
|
+
"title": "Operations and Publishing",
|
|
132
|
+
"area": "release",
|
|
133
|
+
"resources": [
|
|
134
|
+
"APIService",
|
|
135
|
+
"Deployment"
|
|
136
|
+
],
|
|
137
|
+
"evidence": [
|
|
138
|
+
"src/operations.js",
|
|
139
|
+
"charts/krate",
|
|
140
|
+
"scripts/setup-minikube.mjs"
|
|
141
|
+
],
|
|
142
|
+
"implemented": true,
|
|
143
|
+
"resourceCount": 0,
|
|
144
|
+
"docs": "docs/components/operations-publishing.md"
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"id": "web-ui",
|
|
148
|
+
"title": "Web UI",
|
|
149
|
+
"area": "experience",
|
|
150
|
+
"resources": [
|
|
151
|
+
"View"
|
|
152
|
+
],
|
|
153
|
+
"evidence": [
|
|
154
|
+
"src/web-ui.js",
|
|
155
|
+
"public/index.html"
|
|
156
|
+
],
|
|
157
|
+
"implemented": true,
|
|
158
|
+
"resourceCount": 1,
|
|
159
|
+
"docs": "docs/components/web-ui.md"
|
|
160
|
+
}
|
|
161
|
+
],
|
|
162
|
+
"lifecycle": {
|
|
163
|
+
"project": "Krate",
|
|
164
|
+
"version": "0.1.0",
|
|
165
|
+
"generatedAt": "2026-05-11T20:52:22.923Z",
|
|
166
|
+
"status": "ready-for-local-development",
|
|
167
|
+
"components": [
|
|
168
|
+
{
|
|
169
|
+
"id": "control-plane",
|
|
170
|
+
"title": "Control Plane",
|
|
171
|
+
"area": "api",
|
|
172
|
+
"resources": [
|
|
173
|
+
"Repository",
|
|
174
|
+
"BranchProtection",
|
|
175
|
+
"RefPolicy"
|
|
176
|
+
],
|
|
177
|
+
"evidence": [
|
|
178
|
+
"src/control-plane.js",
|
|
179
|
+
"charts/krate/crds"
|
|
180
|
+
],
|
|
181
|
+
"implemented": true,
|
|
182
|
+
"resourceCount": 3,
|
|
183
|
+
"docs": "docs/components/control-plane.md"
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
"id": "data-plane",
|
|
187
|
+
"title": "Repository Data Plane",
|
|
188
|
+
"area": "git",
|
|
189
|
+
"resources": [
|
|
190
|
+
"Repository"
|
|
191
|
+
],
|
|
192
|
+
"evidence": [
|
|
193
|
+
"src/data-plane.js",
|
|
194
|
+
"src/gitea-backend.js",
|
|
195
|
+
"charts/krate/templates/gitea.yaml"
|
|
196
|
+
],
|
|
197
|
+
"implemented": true,
|
|
198
|
+
"resourceCount": 1,
|
|
199
|
+
"docs": "docs/components/data-plane.md"
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
"id": "identity-policy",
|
|
203
|
+
"title": "Identity, RBAC, and Policy",
|
|
204
|
+
"area": "security",
|
|
205
|
+
"resources": [
|
|
206
|
+
"BranchProtection",
|
|
207
|
+
"RefPolicy"
|
|
208
|
+
],
|
|
209
|
+
"evidence": [
|
|
210
|
+
"src/identity-policy.js",
|
|
211
|
+
"examples/policy-kyverno-pr-title.yaml"
|
|
212
|
+
],
|
|
213
|
+
"implemented": true,
|
|
214
|
+
"resourceCount": 2,
|
|
215
|
+
"docs": "docs/components/identity-policy.md"
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
"id": "runners-ci",
|
|
219
|
+
"title": "Runners and CI",
|
|
220
|
+
"area": "automation",
|
|
221
|
+
"resources": [
|
|
222
|
+
"RunnerPool",
|
|
223
|
+
"Pipeline",
|
|
224
|
+
"Job"
|
|
225
|
+
],
|
|
226
|
+
"evidence": [
|
|
227
|
+
"src/runners-ci.js",
|
|
228
|
+
"docs/components/runners-ci.md"
|
|
229
|
+
],
|
|
230
|
+
"implemented": true,
|
|
231
|
+
"resourceCount": 3,
|
|
232
|
+
"docs": "docs/components/runners-ci.md"
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
"id": "hooks-events",
|
|
236
|
+
"title": "Hooks and Events",
|
|
237
|
+
"area": "integrations",
|
|
238
|
+
"resources": [
|
|
239
|
+
"WebhookSubscription",
|
|
240
|
+
"WebhookDelivery"
|
|
241
|
+
],
|
|
242
|
+
"evidence": [
|
|
243
|
+
"src/hooks-events.js",
|
|
244
|
+
"docs/components/hooks-events.md"
|
|
245
|
+
],
|
|
246
|
+
"implemented": true,
|
|
247
|
+
"resourceCount": 2,
|
|
248
|
+
"docs": "docs/components/hooks-events.md"
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
"id": "operations-publishing",
|
|
252
|
+
"title": "Operations and Publishing",
|
|
253
|
+
"area": "release",
|
|
254
|
+
"resources": [
|
|
255
|
+
"APIService",
|
|
256
|
+
"Deployment"
|
|
257
|
+
],
|
|
258
|
+
"evidence": [
|
|
259
|
+
"src/operations.js",
|
|
260
|
+
"charts/krate",
|
|
261
|
+
"scripts/setup-minikube.mjs"
|
|
262
|
+
],
|
|
263
|
+
"implemented": true,
|
|
264
|
+
"resourceCount": 0,
|
|
265
|
+
"docs": "docs/components/operations-publishing.md"
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
"id": "web-ui",
|
|
269
|
+
"title": "Web UI",
|
|
270
|
+
"area": "experience",
|
|
271
|
+
"resources": [
|
|
272
|
+
"View"
|
|
273
|
+
],
|
|
274
|
+
"evidence": [
|
|
275
|
+
"src/web-ui.js",
|
|
276
|
+
"public/index.html"
|
|
277
|
+
],
|
|
278
|
+
"implemented": true,
|
|
279
|
+
"resourceCount": 1,
|
|
280
|
+
"docs": "docs/components/web-ui.md"
|
|
281
|
+
}
|
|
282
|
+
],
|
|
283
|
+
"resources": {
|
|
284
|
+
"repository": "Repository",
|
|
285
|
+
"branchProtection": "BranchProtection",
|
|
286
|
+
"refPolicy": "RefPolicy",
|
|
287
|
+
"runnerPool": "RunnerPool",
|
|
288
|
+
"subscription": "WebhookSubscription",
|
|
289
|
+
"pullRequest": "PullRequest",
|
|
290
|
+
"pipelineRun": "Pipeline",
|
|
291
|
+
"delivery": "WebhookDelivery",
|
|
292
|
+
"replay": "WebhookDelivery",
|
|
293
|
+
"triageView": "View"
|
|
294
|
+
},
|
|
295
|
+
"storage": {
|
|
296
|
+
"etcd": [
|
|
297
|
+
"Repository",
|
|
298
|
+
"BranchProtection",
|
|
299
|
+
"RefPolicy",
|
|
300
|
+
"RunnerPool",
|
|
301
|
+
"WebhookSubscription",
|
|
302
|
+
"View"
|
|
303
|
+
],
|
|
304
|
+
"postgres": [
|
|
305
|
+
"PullRequest",
|
|
306
|
+
"Pipeline",
|
|
307
|
+
"Job",
|
|
308
|
+
"Job",
|
|
309
|
+
"WebhookDelivery",
|
|
310
|
+
"WebhookDelivery"
|
|
311
|
+
]
|
|
312
|
+
},
|
|
313
|
+
"flows": [
|
|
314
|
+
"Open and review a PR",
|
|
315
|
+
"Debug a failing run",
|
|
316
|
+
"Configure a runner pool",
|
|
317
|
+
"Add a webhook and verify it works",
|
|
318
|
+
"Write a PR policy with audit-to-enforce rollout",
|
|
319
|
+
"Cross-repo triage with saved filters"
|
|
320
|
+
],
|
|
321
|
+
"operations": {
|
|
322
|
+
"chart": "charts/krate",
|
|
323
|
+
"setup": "scripts/setup-minikube.mjs",
|
|
324
|
+
"releaseGates": [
|
|
325
|
+
"build",
|
|
326
|
+
"docs and ontology coverage",
|
|
327
|
+
"unit acceptance tests",
|
|
328
|
+
"e2e package lifecycle tests",
|
|
329
|
+
"package validation",
|
|
330
|
+
"minikube dry-run setup",
|
|
331
|
+
"smoke flow",
|
|
332
|
+
"backup restore validation",
|
|
333
|
+
"known limitations reviewed"
|
|
334
|
+
],
|
|
335
|
+
"observability": {
|
|
336
|
+
"metrics": [
|
|
337
|
+
"api_request_latency",
|
|
338
|
+
"postgres_aggregate_lag",
|
|
339
|
+
"gitea_receive_pack_latency",
|
|
340
|
+
"runner_queue_depth",
|
|
341
|
+
"webhook_delivery_phase",
|
|
342
|
+
"admission_denials"
|
|
343
|
+
],
|
|
344
|
+
"logs": [
|
|
345
|
+
"control-plane audit",
|
|
346
|
+
"gitea access",
|
|
347
|
+
"runner job",
|
|
348
|
+
"webhook dispatcher",
|
|
349
|
+
"controller reconcile"
|
|
350
|
+
],
|
|
351
|
+
"alerts": [
|
|
352
|
+
"APIService unavailable",
|
|
353
|
+
"Postgres unavailable",
|
|
354
|
+
"repository service unavailable",
|
|
355
|
+
"runner saturation",
|
|
356
|
+
"webhook failure burst",
|
|
357
|
+
"backup validation failed"
|
|
358
|
+
]
|
|
359
|
+
}
|
|
360
|
+
},
|
|
361
|
+
"validation": []
|
|
362
|
+
},
|
|
363
|
+
"resources": {
|
|
364
|
+
"repository": "Repository",
|
|
365
|
+
"branchProtection": "BranchProtection",
|
|
366
|
+
"refPolicy": "RefPolicy",
|
|
367
|
+
"runnerPool": "RunnerPool",
|
|
368
|
+
"subscription": "WebhookSubscription",
|
|
369
|
+
"pullRequest": "PullRequest",
|
|
370
|
+
"pipelineRun": "workflow",
|
|
371
|
+
"delivery": "WebhookDelivery",
|
|
372
|
+
"replay": "WebhookDelivery",
|
|
373
|
+
"triageView": "View"
|
|
374
|
+
},
|
|
375
|
+
"storage": {
|
|
376
|
+
"etcd": [
|
|
377
|
+
"Repository",
|
|
378
|
+
"BranchProtection",
|
|
379
|
+
"RefPolicy",
|
|
380
|
+
"RunnerPool",
|
|
381
|
+
"WebhookSubscription",
|
|
382
|
+
"View"
|
|
383
|
+
],
|
|
384
|
+
"postgres": [
|
|
385
|
+
"PullRequest",
|
|
386
|
+
"Pipeline",
|
|
387
|
+
"Job",
|
|
388
|
+
"Job",
|
|
389
|
+
"WebhookDelivery",
|
|
390
|
+
"WebhookDelivery"
|
|
391
|
+
]
|
|
392
|
+
},
|
|
393
|
+
"excellentFlows": [
|
|
394
|
+
"Open and review a PR",
|
|
395
|
+
"Debug a failing run",
|
|
396
|
+
"Configure a runner pool",
|
|
397
|
+
"Add a webhook and verify it works",
|
|
398
|
+
"Write a PR policy with audit-to-enforce rollout",
|
|
399
|
+
"Cross-repo triage with saved filters"
|
|
400
|
+
],
|
|
401
|
+
"agents": null,
|
|
402
|
+
"operations": {
|
|
403
|
+
"chartPackage": {
|
|
404
|
+
"chart": "charts/krate",
|
|
405
|
+
"values": "charts/krate/values.yaml",
|
|
406
|
+
"crds": [
|
|
407
|
+
"Repository",
|
|
408
|
+
"BranchProtection",
|
|
409
|
+
"RefPolicy",
|
|
410
|
+
"RunnerPool",
|
|
411
|
+
"WebhookSubscription",
|
|
412
|
+
"View",
|
|
413
|
+
"Selector"
|
|
414
|
+
],
|
|
415
|
+
"templates": [
|
|
416
|
+
"CRDs",
|
|
417
|
+
"optional APIService",
|
|
418
|
+
"ServiceAccount",
|
|
419
|
+
"ClusterRole",
|
|
420
|
+
"ClusterRoleBinding",
|
|
421
|
+
"Deployment",
|
|
422
|
+
"Service",
|
|
423
|
+
"NetworkPolicy",
|
|
424
|
+
"Gitea backend",
|
|
425
|
+
"Argo CD Application"
|
|
426
|
+
],
|
|
427
|
+
"examples": [
|
|
428
|
+
"examples/minikube-demo.yaml",
|
|
429
|
+
"examples/policy-kyverno-pr-title.yaml"
|
|
430
|
+
],
|
|
431
|
+
"validation": [
|
|
432
|
+
"npm run e2e",
|
|
433
|
+
"npm run package:check",
|
|
434
|
+
"npm run setup:minikube -- --dry-run"
|
|
435
|
+
]
|
|
436
|
+
},
|
|
437
|
+
"localSetup": {
|
|
438
|
+
"script": "scripts/setup-minikube.mjs",
|
|
439
|
+
"defaultMode": "dry-run",
|
|
440
|
+
"applyMode": "npm run setup:minikube -- --apply",
|
|
441
|
+
"requiredTools": [
|
|
442
|
+
"minikube",
|
|
443
|
+
"kubectl",
|
|
444
|
+
"helm",
|
|
445
|
+
"node",
|
|
446
|
+
"npm"
|
|
447
|
+
],
|
|
448
|
+
"defaultProfile": "krate",
|
|
449
|
+
"namespace": "krate-system"
|
|
450
|
+
}
|
|
451
|
+
},
|
|
452
|
+
"releaseGates": [
|
|
453
|
+
"build",
|
|
454
|
+
"docs and ontology coverage",
|
|
455
|
+
"unit acceptance tests",
|
|
456
|
+
"e2e package lifecycle tests",
|
|
457
|
+
"package validation",
|
|
458
|
+
"minikube dry-run setup",
|
|
459
|
+
"smoke flow",
|
|
460
|
+
"backup restore validation",
|
|
461
|
+
"known limitations reviewed"
|
|
462
|
+
],
|
|
463
|
+
"smoke": {
|
|
464
|
+
"ok": true,
|
|
465
|
+
"assertions": []
|
|
466
|
+
},
|
|
467
|
+
"generatedAt": "2026-05-11T20:52:22.923Z",
|
|
468
|
+
"controller": {
|
|
469
|
+
"status": "degraded",
|
|
470
|
+
"namespace": "krate-org-default",
|
|
471
|
+
"endpoints": [
|
|
472
|
+
{
|
|
473
|
+
"method": "GET",
|
|
474
|
+
"path": "/healthz",
|
|
475
|
+
"purpose": "container and load-balancer health"
|
|
476
|
+
},
|
|
477
|
+
{
|
|
478
|
+
"method": "GET",
|
|
479
|
+
"path": "/api/controller?org=:org",
|
|
480
|
+
"purpose": "live Krate org model"
|
|
481
|
+
},
|
|
482
|
+
{
|
|
483
|
+
"method": "GET",
|
|
484
|
+
"path": "/api/orgs/:org/resources",
|
|
485
|
+
"purpose": "org-scoped Krate resource listing"
|
|
486
|
+
},
|
|
487
|
+
{
|
|
488
|
+
"method": "POST",
|
|
489
|
+
"path": "/api/orgs/:org/resources",
|
|
490
|
+
"purpose": "org-scoped Krate resource apply flow"
|
|
491
|
+
},
|
|
492
|
+
{
|
|
493
|
+
"method": "GET",
|
|
494
|
+
"path": "/api/orgs/:org/resources/:kind/:name",
|
|
495
|
+
"purpose": "org-scoped Krate resource detail"
|
|
496
|
+
},
|
|
497
|
+
{
|
|
498
|
+
"method": "DELETE",
|
|
499
|
+
"path": "/api/orgs/:org/resources/:kind/:name",
|
|
500
|
+
"purpose": "org-scoped Krate resource delete flow"
|
|
501
|
+
},
|
|
502
|
+
{
|
|
503
|
+
"method": "GET",
|
|
504
|
+
"path": "/api/orgs/:org/repositories",
|
|
505
|
+
"purpose": "list org repositories through Krate"
|
|
506
|
+
},
|
|
507
|
+
{
|
|
508
|
+
"method": "POST",
|
|
509
|
+
"path": "/api/orgs/:org/repositories",
|
|
510
|
+
"purpose": "create org repositories through Krate"
|
|
511
|
+
},
|
|
512
|
+
{
|
|
513
|
+
"method": "GET",
|
|
514
|
+
"path": "/api/orgs/:org/repositories/:name",
|
|
515
|
+
"purpose": "get org repository details through Krate"
|
|
516
|
+
},
|
|
517
|
+
{
|
|
518
|
+
"method": "DELETE",
|
|
519
|
+
"path": "/api/orgs/:org/repositories/:name",
|
|
520
|
+
"purpose": "delete org repositories through Krate"
|
|
521
|
+
},
|
|
522
|
+
{
|
|
523
|
+
"method": "GET",
|
|
524
|
+
"path": "/api/orgs/:org/policies",
|
|
525
|
+
"purpose": "list Krate policy profiles, templates, bindings, Kyverno health, and exception requests"
|
|
526
|
+
},
|
|
527
|
+
{
|
|
528
|
+
"method": "POST",
|
|
529
|
+
"path": "/api/orgs/:org/policies",
|
|
530
|
+
"purpose": "create org policy bindings in audit or enforce mode"
|
|
531
|
+
},
|
|
532
|
+
{
|
|
533
|
+
"method": "GET",
|
|
534
|
+
"path": "/api/orgs/:org/policy-reports",
|
|
535
|
+
"purpose": "list normalized Kyverno policy report results"
|
|
536
|
+
},
|
|
537
|
+
{
|
|
538
|
+
"method": "GET",
|
|
539
|
+
"path": "/api/orgs/:org/policy-exception-requests",
|
|
540
|
+
"purpose": "list pending and approved Krate policy exception requests"
|
|
541
|
+
},
|
|
542
|
+
{
|
|
543
|
+
"method": "POST",
|
|
544
|
+
"path": "/api/orgs/:org/policy-exception-requests",
|
|
545
|
+
"purpose": "request a temporary policy exception through Krate"
|
|
546
|
+
},
|
|
547
|
+
{
|
|
548
|
+
"method": "GET",
|
|
549
|
+
"path": "/api/watch/orgs/:org/*",
|
|
550
|
+
"purpose": "org-scoped Krate live event stream bridged to browser updates"
|
|
551
|
+
},
|
|
552
|
+
{
|
|
553
|
+
"method": "POST",
|
|
554
|
+
"path": "/api/git-proxy",
|
|
555
|
+
"purpose": "repository streaming proxy when configured"
|
|
556
|
+
},
|
|
557
|
+
{
|
|
558
|
+
"method": "GET",
|
|
559
|
+
"path": "/api/orgs/:org/agents/stacks",
|
|
560
|
+
"purpose": "list agent stacks and capability status"
|
|
561
|
+
},
|
|
562
|
+
{
|
|
563
|
+
"method": "GET",
|
|
564
|
+
"path": "/api/orgs/:org/agents/runs",
|
|
565
|
+
"purpose": "list agent dispatch runs with queue and status"
|
|
566
|
+
},
|
|
567
|
+
{
|
|
568
|
+
"method": "GET",
|
|
569
|
+
"path": "/api/orgs/:org/agents/rules",
|
|
570
|
+
"purpose": "list trigger rules and delivery status"
|
|
571
|
+
},
|
|
572
|
+
{
|
|
573
|
+
"method": "GET",
|
|
574
|
+
"path": "/api/orgs/:org/agents/sessions",
|
|
575
|
+
"purpose": "list agent sessions with lifecycle state"
|
|
576
|
+
},
|
|
577
|
+
{
|
|
578
|
+
"method": "GET",
|
|
579
|
+
"path": "/api/orgs/:org/agents/workspaces",
|
|
580
|
+
"purpose": "list agent workspaces with lifecycle state"
|
|
581
|
+
},
|
|
582
|
+
{
|
|
583
|
+
"method": "GET",
|
|
584
|
+
"path": "/api/orgs/:org/agents/approvals",
|
|
585
|
+
"purpose": "list pending and resolved agent approvals"
|
|
586
|
+
},
|
|
587
|
+
{
|
|
588
|
+
"method": "GET",
|
|
589
|
+
"path": "/api/orgs/:org/agents/permissions/review",
|
|
590
|
+
"purpose": "explainable permission check for agent dispatch"
|
|
591
|
+
},
|
|
592
|
+
{
|
|
593
|
+
"method": "GET",
|
|
594
|
+
"path": "/api/orgs/:org/agents/adapters",
|
|
595
|
+
"purpose": "list agent adapters and transport bindings"
|
|
596
|
+
},
|
|
597
|
+
{
|
|
598
|
+
"method": "GET",
|
|
599
|
+
"path": "/api/orgs/:org/agents/providers",
|
|
600
|
+
"purpose": "list model provider configurations"
|
|
601
|
+
},
|
|
602
|
+
{
|
|
603
|
+
"method": "GET",
|
|
604
|
+
"path": "/api/orgs/:org/agents/projects",
|
|
605
|
+
"purpose": "list agent projects with board config"
|
|
606
|
+
},
|
|
607
|
+
{
|
|
608
|
+
"method": "POST",
|
|
609
|
+
"path": "/api/orgs/:org/agents/dispatch",
|
|
610
|
+
"purpose": "create manual agent dispatch run"
|
|
611
|
+
},
|
|
612
|
+
{
|
|
613
|
+
"method": "POST",
|
|
614
|
+
"path": "/api/orgs/:org/agents/approvals/:name/decide",
|
|
615
|
+
"purpose": "approve or deny a pending agent approval request"
|
|
616
|
+
},
|
|
617
|
+
{
|
|
618
|
+
"method": "POST",
|
|
619
|
+
"path": "/api/orgs/:org/agents/triggers/process",
|
|
620
|
+
"purpose": "evaluate an event against trigger rules and dispatch matching agents"
|
|
621
|
+
}
|
|
622
|
+
],
|
|
623
|
+
"metrics": {
|
|
624
|
+
"components": 8,
|
|
625
|
+
"resources": 11,
|
|
626
|
+
"events": 11,
|
|
627
|
+
"auditEntries": 0,
|
|
628
|
+
"users": 1,
|
|
629
|
+
"teams": 1,
|
|
630
|
+
"invites": 1,
|
|
631
|
+
"repositories": 1,
|
|
632
|
+
"pullRequests": 0,
|
|
633
|
+
"pipelines": 0,
|
|
634
|
+
"jobs": 0,
|
|
635
|
+
"runnerPools": 1,
|
|
636
|
+
"webhookDeliveries": 0,
|
|
637
|
+
"policyViolations": 0,
|
|
638
|
+
"policyBindings": 0,
|
|
639
|
+
"deployments": 0,
|
|
640
|
+
"releases": 0,
|
|
641
|
+
"agentStacks": 0,
|
|
642
|
+
"agentRuns": 0,
|
|
643
|
+
"agentSessions": 0,
|
|
644
|
+
"greenChecks": 5,
|
|
645
|
+
"totalChecks": 6
|
|
646
|
+
},
|
|
647
|
+
"operations": {
|
|
648
|
+
"image": "ghcr.io/<owner>/<repo>/krate-controller",
|
|
649
|
+
"chart": "charts/krate",
|
|
650
|
+
"installCommands": [
|
|
651
|
+
"Install Krate release package",
|
|
652
|
+
"Apply the demo workspace configuration"
|
|
653
|
+
],
|
|
654
|
+
"releaseGates": [
|
|
655
|
+
"npm run check",
|
|
656
|
+
"docker build",
|
|
657
|
+
"helm package charts/krate",
|
|
658
|
+
"npm pack --json"
|
|
659
|
+
]
|
|
660
|
+
}
|
|
661
|
+
},
|
|
662
|
+
"runtime": {
|
|
663
|
+
"resources": {
|
|
664
|
+
"Organization": 0,
|
|
665
|
+
"User": 1,
|
|
666
|
+
"Team": 1,
|
|
667
|
+
"Invite": 1,
|
|
668
|
+
"IdentityMapping": 1,
|
|
669
|
+
"AuthProvider": 2,
|
|
670
|
+
"Repository": 1,
|
|
671
|
+
"SSHKey": 0,
|
|
672
|
+
"RepositoryPermission": 0,
|
|
673
|
+
"BranchProtection": 1,
|
|
674
|
+
"RefPolicy": 1,
|
|
675
|
+
"RunnerPool": 1,
|
|
676
|
+
"PullRequest": 0,
|
|
677
|
+
"Issue": 0,
|
|
678
|
+
"Review": 0,
|
|
679
|
+
"Pipeline": 0,
|
|
680
|
+
"Job": 0,
|
|
681
|
+
"WebhookSubscription": 1,
|
|
682
|
+
"WebhookDelivery": 0
|
|
683
|
+
},
|
|
684
|
+
"events": 11,
|
|
685
|
+
"auditEntries": 11
|
|
686
|
+
}
|
|
687
|
+
}
|