Files
sencho/docs/docs.json
Claude 52e78d662e feat(gitops): explain digest drift and show per-target digest detail
Document digest drift on the Blueprints page (trigger, unverified
outcome, Enforce pinned repair that fails closed) and add a drift
taxonomy reference covering the seven drift classes and the policy
domains.

The Drift tab now renders an expected vs observed digest line per
GitOps target with a matches, diverged, or unverified verdict. A
target without an approved digest or without exact/qualified runtime
evidence reads as unverified with the reason, never as matching.

Add an e2e spec that places an Inline Blueprint, induces digest drift,
and verifies Enforce repairs from the pinned digest and reconverges.

Refs SEN-652
2026-09-24 18:40:48 +00:00

384 lines
12 KiB
JSON

{
"$schema": "https://mintlify.com/docs.json",
"theme": "mint",
"name": "Sencho",
"colors": {
"primary": "#00BEC7",
"light": "#007982",
"dark": "#00BEC7"
},
"logo": {
"light": "/images/logo/sencho-logo-light.svg",
"dark": "/images/logo/sencho-logo-dark.svg",
"href": "https://sencho.io"
},
"favicon": "/images/logo/favicon.ico",
"appearance": {
"default": "dark"
},
"fonts": {
"family": "Geist"
},
"background": {
"decoration": "gradient",
"color": {
"dark": "#090909"
}
},
"navbar": {
"links": [
{
"type": "github",
"href": "https://github.com/studio-saelix/sencho"
}
],
"primary": {
"type": "button",
"label": "Get Started",
"href": "https://sencho.io/#pricing"
}
},
"footer": {
"socials": {
"github": "https://github.com/studio-saelix/sencho"
},
"links": [
{
"header": "Product",
"items": [
{ "label": "Website", "href": "https://sencho.io" },
{ "label": "Pricing", "href": "https://sencho.io/#pricing" },
{ "label": "Changelog", "href": "https://github.com/studio-saelix/sencho/releases" }
]
},
{
"header": "Community",
"items": [
{ "label": "GitHub", "href": "https://github.com/studio-saelix/sencho" },
{ "label": "Contributing", "href": "https://github.com/studio-saelix/sencho/blob/main/CONTRIBUTING.md" }
]
},
{
"header": "Legal",
"items": [
{ "label": "Terms of Service", "href": "https://sencho.io/terms" },
{ "label": "Privacy Policy", "href": "https://sencho.io/privacy" }
]
}
]
},
"api": {
"auth": {
"method": "bearer",
"name": "Authorization"
},
"playground": {
"display": "simple"
}
},
"interaction": {
"drilldown": false
},
"navigation": {
"tabs": [
{
"tab": "Guides",
"groups": [
{
"group": "Start here",
"pages": [
"getting-started/introduction",
"getting-started/quickstart",
"getting-started/configuration"
]
},
{
"group": "Product guide",
"pages": [
"features/overview",
{
"group": "Core workflow",
"expanded": true,
"pages": [
"features/stack-management",
"features/editor",
"features/stack-file-explorer",
"features/resources",
"features/networking",
"features/dashboard",
"features/app-store",
"features/global-search",
"features/deep-links",
"features/appearance"
]
},
{
"group": "Stack intelligence",
"pages": [
"features/stack-activity",
"features/stack-dossier",
"features/stack-drift",
"features/drift-taxonomy",
"features/compose-doctor",
"features/compose-networking",
"features/environment-guardrails",
"features/docker-label-audit",
"features/compose-storage",
"features/stack-labels",
"features/sidebar"
]
},
{
"group": "Deploy and automate",
"pages": [
"features/deploy-progress",
"features/atomic-deployments",
"features/health-gated-updates",
"features/deploy-enforcement",
"features/git-sources",
"features/git-transport-support",
"features/gitops-portfolio",
"features/blueprint-model",
"features/scheduled-operations",
"features/auto-update-policies",
"features/auto-heal-policies",
"features/webhooks"
]
},
{
"group": "Observe and audit",
"pages": [
"features/global-observability",
"features/alerts-notifications",
"features/audit-log"
]
},
{
"group": "Fleet management",
"pages": [
"features/multi-node",
"features/pilot-agent",
"features/sencho-mesh",
"features/fleet-view",
"features/fleet-dossier",
"features/fleet-federation",
"features/fleet-actions",
"features/fleet-sync",
"features/fleet-secrets",
"features/fleet-backups",
"features/remote-updates",
"features/node-compatibility",
"features/host-console"
]
},
{
"group": "Security and access",
"pages": [
"features/security",
"features/vulnerability-scanning",
"features/cve-suppressions",
"features/private-registries",
"features/two-factor-authentication",
"features/rbac",
"features/sso",
"getting-started/sso-quickstart",
"features/api-tokens"
]
}
]
},
{
"group": "Operations",
"pages": [
"operations/self-hosting",
"operations/upgrade",
"operations/backup",
"operations/recovery",
"operations/emergency-cli",
"operations/troubleshooting",
"operations/verifying-images",
"operations/trivy-setup",
"operations/two-factor-admin"
]
},
{
"group": "Reference",
"pages": [
"reference/settings",
"features/licensing",
"reference/security",
"reference/contact"
]
}
]
},
{
"tab": "Tutorials",
"groups": [
{
"group": "Fleet & nodes",
"pages": [
"tutorials/enroll-a-remote-node",
"tutorials/set-up-fleet-secrets",
"tutorials/set-up-fleet-federation",
"tutorials/configure-recovery-vault-backups"
]
},
{
"group": "Deploy & automate",
"pages": [
"tutorials/create-and-approve-a-blueprint",
"tutorials/connect-a-git-source",
"tutorials/schedule-an-operation",
"tutorials/configure-auto-update-policies",
"tutorials/configure-auto-heal-policies",
"tutorials/set-up-deploy-enforcement"
]
},
{
"group": "Secure & integrate",
"pages": [
"tutorials/set-up-sso",
"tutorials/grant-scoped-stack-access",
"tutorials/configure-environment-guardrails",
"tutorials/set-up-a-webhook",
"tutorials/resolve-stack-drift"
]
}
]
},
{
"tab": "API Reference",
"openapi": "openapi.yaml",
"pages": [
"api-reference/overview",
"api-reference/security",
{
"group": "Health & Meta",
"pages": [
"GET /api/health",
"GET /api/meta",
"POST /api/system/update"
]
},
{
"group": "Stacks",
"pages": [
"GET /api/stacks",
"POST /api/stacks",
"GET /api/stacks/readiness-summary",
"GET /api/stacks/{stackName}",
"PUT /api/stacks/{stackName}",
"DELETE /api/stacks/{stackName}",
"GET /api/stacks/{stackName}/envs",
"GET /api/stacks/{stackName}/env",
"PUT /api/stacks/{stackName}/env",
"GET /api/stacks/{stackName}/containers",
"GET /api/stacks/{stackName}/services",
"POST /api/stacks/{stackName}/deploy",
"POST /api/stacks/{stackName}/down",
"POST /api/stacks/{stackName}/start",
"POST /api/stacks/{stackName}/stop",
"POST /api/stacks/{stackName}/restart",
"POST /api/stacks/{stackName}/update",
"POST /api/stacks/{stackName}/rollback",
"GET /api/stacks/{stackName}/backup"
]
},
{
"group": "Containers",
"pages": [
"GET /api/containers",
"GET /api/containers/{id}/logs",
"POST /api/containers/{id}/start",
"POST /api/containers/{id}/stop",
"POST /api/containers/{id}/restart"
]
},
{
"group": "API Tokens",
"pages": [
"POST /api/api-tokens",
"GET /api/api-tokens",
"DELETE /api/api-tokens/{id}"
]
},
{
"group": "Webhooks",
"pages": [
"GET /api/webhooks",
"POST /api/webhooks",
"PUT /api/webhooks/{id}",
"DELETE /api/webhooks/{id}",
"GET /api/webhooks/{id}/history",
"POST /api/webhooks/{id}/trigger"
]
},
{
"group": "Nodes",
"pages": [
"GET /api/nodes",
"POST /api/nodes",
"GET /api/nodes/{id}",
"PUT /api/nodes/{id}",
"DELETE /api/nodes/{id}",
"POST /api/nodes/{id}/test",
"GET /api/nodes/{id}/meta"
]
},
{
"group": "Fleet",
"pages": [
"GET /api/fleet/overview",
"GET /api/fleet/readiness",
"GET /api/readiness/evidence",
"GET /api/fleet/node/{nodeId}/stacks",
"GET /api/fleet/node/{nodeId}/stacks/{stackName}/containers",
"GET /api/fleet/update-status",
"POST /api/fleet/nodes/{nodeId}/update",
"POST /api/fleet/update-all",
"POST /api/fleet/snapshots",
"GET /api/fleet/snapshots",
"GET /api/fleet/snapshots/{id}",
"POST /api/fleet/snapshots/{id}/restore",
"DELETE /api/fleet/snapshots/{id}"
]
},
{
"group": "Scheduled Tasks",
"pages": [
"GET /api/scheduled-tasks",
"POST /api/scheduled-tasks",
"GET /api/scheduled-tasks/{id}",
"PUT /api/scheduled-tasks/{id}",
"DELETE /api/scheduled-tasks/{id}",
"PATCH /api/scheduled-tasks/{id}/toggle",
"POST /api/scheduled-tasks/{id}/run",
"GET /api/scheduled-tasks/{id}/runs",
"GET /api/scheduled-tasks/{id}/runs/export"
]
},
{
"group": "Registries",
"pages": [
"GET /api/registries",
"POST /api/registries",
"PUT /api/registries/{id}",
"DELETE /api/registries/{id}",
"POST /api/registries/{id}/test"
]
},
{
"group": "Image Updates",
"pages": [
"GET /api/image-updates",
"POST /api/image-updates/refresh",
"GET /api/image-updates/status"
]
}
]
}
]
}
}