1
0
mirror of https://github.com/docker/docs.git synced 2026-10-23 18:09:02 +03:00
Files
docs/layouts/_partials/api-ref/nav.html
David Karlsson 553c69e1b7 sbx: restructure governance docs and add API reference (#25162)
## Summary

Restructures the Docker AI Governance documentation under
\`/ai/sandboxes/governance/\` and adds the supporting API reference.

Preview links:

-
https://deploy-preview-25162--docsdocker.netlify.app/ai/sandboxes/governance/
-
https://deploy-preview-25162--docsdocker.netlify.app/reference/api/ai-governance/

### Information architecture

The existing \`security/governance\` and \`security/policy\` pages are
merged into a new top-level \`governance\` section so local-policy and
org-policy sit side by side instead of being split across unrelated
parents:

- \`/ai/sandboxes/governance/\` — section landing; explains local + org
as layered enforcement
- \`/ai/sandboxes/governance/concepts/\` — resource model, rule syntax,
evaluation, precedence
- \`/ai/sandboxes/governance/local/\` — \`sbx policy\` CLI for
individual machines
- \`/ai/sandboxes/governance/org/\` — Admin Console flow (was
\`security/governance.md\`)
- \`/ai/sandboxes/governance/monitoring/\` — \`sbx policy ls\` / \`sbx
policy log\`

### API reference

\`/reference/api/ai-governance/\` renders the Governance OpenAPI spec
vendored at \`content/reference/api/ai-governance/api.yaml\` from
\`docker/governor-services\`. Operations, schemas, examples, and status
codes are fully driven by the spec — future updates land via re-vendor,
not in-repo edits. Anything wrong in the rendered reference should be
fixed upstream and re-vendored here.

The spec has been re-vendored to the latest upstream version, which
updated the server URL to \`hub.docker.com/v2\` and added the
\`/governance/\` prefix to all API paths.

### Review focus

1. The \`/ai/sandboxes/governance/\` landing — does the local + org
framing match how the product is positioned?
2. \`/reference/api/ai-governance/\` — does the rendered spec match the
source of truth, and is anything important missing?

Generated by Claude Code

---------

Co-authored-by: Louis-Arnaud <la.catoire@gmail.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-02 10:05:05 +02:00

87 lines
2.8 KiB
HTML

{{/* Right-rail navigation for an OpenAPI reference page.
Input: the unmarshaled spec root (plain map from transform.Unmarshal).
Lists Authentication, every tag with its operations (linking to the same
anchors the operation cards expose), and the Schemas section heading.
*/}}
{{- $api := . -}}
{{- $paths := $api.paths -}}
{{- $methods := slice "get" "post" "put" "patch" "delete" -}}
{{- $methodColors := dict
"get" "text-blue-700 dark:text-blue-300"
"post" "text-green-700 dark:text-green-300"
"put" "text-yellow-700 dark:text-yellow-300"
"patch" "text-yellow-700 dark:text-yellow-300"
"delete" "text-red-700 dark:text-red-300"
-}}
<p
class="mb-3 text-xs font-semibold tracking-wider text-gray-500 uppercase dark:text-gray-400"
>
On this page
</p>
<ul class="space-y-1">
{{- with $api.components }}
{{- if .securitySchemes }}
<li>
<a
href="#authentication"
class="block py-0.5 text-gray-700 hover:text-blue-600 dark:text-gray-300 dark:hover:text-blue-400"
>
Authentication
</a>
</li>
{{- end }}
{{- end }}
{{- range $api.tags }}
{{- $tagName := .name }}
<li class="mt-3">
<a
href="#tag-{{ $tagName | urlize }}"
class="block py-0.5 text-xs font-semibold tracking-wider text-gray-500 uppercase hover:text-blue-600 dark:text-gray-400 dark:hover:text-blue-400"
>
{{ $tagName | title }}
</a>
<ul class="mt-1 space-y-0.5">
{{- range $path, $item := $paths }}
{{- range $methods }}
{{- $method := . }}
{{- with index $item $method }}
{{- $op := . }}
{{- if in $op.tags $tagName }}
{{- $label := $op.summary | default $op.operationId | default $path }}
<li>
<a
href="#operation-{{ $op.operationId }}"
class="flex items-baseline gap-2 py-0.5 text-gray-700 hover:text-blue-600 dark:text-gray-300 dark:hover:text-blue-400"
>
<span
class="{{ index $methodColors $method }} w-12 flex-none font-mono text-[10px] font-bold uppercase"
>{{ upper $method }}</span
>
<span class="min-w-0 truncate">{{ $label }}</span>
</a>
</li>
{{- end }}
{{- end }}
{{- end }}
{{- end }}
</ul>
</li>
{{- end }}
{{- with $api.components }}
{{- if .schemas }}
<li class="mt-3">
<a
href="#schemas"
class="block py-0.5 text-xs font-semibold tracking-wider text-gray-500 uppercase hover:text-blue-600 dark:text-gray-400 dark:hover:text-blue-400"
>
Schemas
</a>
</li>
{{- end }}
{{- end }}
</ul>