Skip to content

Commit 3f0542e

Browse files
committed
Initial docs infra
1 parent 46cfbf0 commit 3f0542e

File tree

10 files changed

+265
-0
lines changed

10 files changed

+265
-0
lines changed

.gitignore

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Binaries for programs and plugins
2+
*.exe
3+
*.exe~
4+
*.dll
5+
*.so
6+
*.dylib
7+
bin/*
8+
Dockerfile.cross
9+
# Test binary, built with `go test -c`
10+
*.test
11+
# Output of the go coverage tool, specifically when used with LiteIDE
12+
*.out
13+
# Go workspace file
14+
go.work
15+
go.work.sum
16+
# Kubernetes Generated files - skip generated files, except for vendored files
17+
!vendor/**/zz_generated.*
18+
# editor and IDE paraphernalia
19+
.idea
20+
.vscode
21+
*.swp
22+
*.swo
23+
*~
24+
25+
# generated docs
26+
site

Makefile

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Setting SHELL to bash allows bash commands to be executed by recipes.
2+
# Options are set to exit when a recipe line exits non-zero or a piped command fails.
3+
SHELL = /usr/bin/env bash -o pipefail
4+
.SHELLFLAGS = -ec
5+
6+
##@Docs
7+
8+
.PHONY: build-docs
9+
build-docs:
10+
docker build --pull -t kube-agentic-net/mkdocs hack/mkdocs/image
11+
docker run --rm -v ${PWD}:/docs kube-agentic-net/mkdocs build
12+
13+
.PHONY: build-docs-netlify
14+
build-docs-netlify:
15+
pip install -r hack/mkdocs/image/requirements.txt
16+
mkdocs build
17+
18+
.PHONY: live-docs
19+
live-docs:
20+
docker build -t kube-agentic-net/mkdocs hack/mkdocs/image
21+
docker run --rm -it -p 3000:3000 -v ${PWD}:/docs kube-agentic-net/mkdocs

hack/mkdocs/image/Dockerfile

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Copyright 2019 The Kubernetes Authors.
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
FROM python:3.13-alpine
16+
17+
COPY requirements.txt /requirements.txt
18+
RUN pip install -r /requirements.txt
19+
20+
WORKDIR /docs
21+
22+
EXPOSE 3000
23+
24+
COPY entrypoint.sh /
25+
26+
ENTRYPOINT ["/entrypoint.sh"]

hack/mkdocs/image/entrypoint.sh

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#!/bin/sh
2+
3+
# Copyright 2019 The Kubernetes Authors.
4+
#
5+
# Licensed under the Apache License, Version 2.0 (the "License");
6+
# you may not use this file except in compliance with the License.
7+
# You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
17+
set -o errexit
18+
set -o pipefail
19+
20+
CMD=$1
21+
22+
if [ "$CMD" == "build" ];
23+
then
24+
mkdocs build
25+
exit 0;
26+
fi
27+
28+
mkdocs serve --dev-addr=0.0.0.0:3000 --livereload

hack/mkdocs/image/requirements.txt

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# required for mkdocs-core
2+
jinja2~=3.0
3+
# mkdocs 2.4.1 requires Markdown < 3.4.0
4+
# https://github.com/kubernetes-sigs/gateway-api/pull/1671#issuecomment-1400586465
5+
markdown~=3.7
6+
mkdocs~=1.6
7+
mkdocs-material-extensions~=1.3
8+
pygments~=2.16
9+
pymdown-extensions~=10.2
10+
11+
# Requirements for plugins
12+
babel~=2.10
13+
colorama~=0.4
14+
paginate~=0.5
15+
regex>=2022.4
16+
requests~=2.26
17+
18+
# mkdocs + mkdocs plugins
19+
mkdocs==1.6.1
20+
mkdocs-awesome-pages-plugin==2.9.3
21+
mkdocs-macros-plugin==1.2.0
22+
mkdocs-material==9.5.36
23+
mkdocs-material-extensions==1.3.1
24+
mkdocs-redirects==1.2.1
25+
mkdocs-mermaid2-plugin==1.1.1

mkdocs.yml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
site_name: Kubernetes Agentic Networking
2+
repo_url: https://github.com/kubernetes-sigs/kube-agentic-networking
3+
repo_name: kubernetes-sigs/kube-agentic-networking
4+
site_dir: site
5+
docs_dir: site-src
6+
extra_css:
7+
- stylesheets/extra.css
8+
theme:
9+
name: material
10+
icon:
11+
repo: fontawesome/brands/git-alt
12+
logo: images/logo/logo-text-large-horizontal-white.png
13+
favicon: images/k8s-favicon.png
14+
features:
15+
- search.highlight
16+
- navigation.tabs
17+
- navigation.top
18+
- navigation.expand
19+
palette:
20+
primary: custom
21+
edit_uri: edit/main/site-src/
22+
plugins:
23+
- search
24+
- awesome-pages
25+
- mermaid2
26+
markdown_extensions:
27+
- admonition
28+
- meta
29+
- pymdownx.emoji:
30+
emoji_index: !!python/name:material.extensions.emoji.twemoji
31+
emoji_generator: !!python/name:materialx.emoji.to_svg
32+
- pymdownx.details
33+
- pymdownx.highlight
34+
- pymdownx.inlinehilite
35+
- pymdownx.superfences:
36+
custom_fences:
37+
- name: mermaid
38+
class: mermaid
39+
format: !!python/name:pymdownx.superfences.fence_code_format
40+
- pymdownx.snippets
41+
- toc:
42+
permalink: true
43+
- tables

netlify.toml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# netlify configuration
2+
[build]
3+
publish = "site"
4+
command = "make build-docs-netlify"
5+
# available here https://github.com/netlify/build-image/blob/focal/included_software.md#languages
6+
environment = { PYTHON_VERSION = "3.8" }

site-src/.mkdocs-exclude

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
.mkdocs-exclude
2+
.nojekyll
3+
.placeholder
4+
search/search_index.json
5+
sitemap.xml.gz
6+
sitemap.xml

site-src/contributing/index.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# How to Get Involved
2+
3+
This page contains links to all of the meeting notes, design docs and related
4+
discussions around the APIs.
5+
6+
## Bug Reports
7+
8+
Bug reports should be filed as [GitHub Issues](https://github.com/kubernetes-sigs/kube-agentic-networking/issues/new) on this repo.
9+
10+
## Communications
11+
12+
* [#sig-network-gateway-api](https://kubernetes.slack.com/archives/C09P6KS6EQZ)
13+
14+
## Meetings
15+
16+
Gateway API community meetings happen every Thursday at 10am Pacific Time
17+
([convert to your
18+
timezone](https://dateful.com/time-zone-converter?t=10:00&tz=PT%20%28Pacific%20Time%29)).
19+
To receive an invite to this and other WG-Serving community meetings, join the
20+
[WG-Serving mailing
21+
list](https://groups.google.com/a/kubernetes.io/g/wg-serving).
22+
23+
* [Zoom link](https://zoom.us/j/9955436256?pwd=Z2FQWU1jeDZkVC9RRTN4TlZyZTBHZz09) (passcode in [meeting notes](https://docs.google.com/document/d/1frfPE5L1sI3737rdQV04IcDGeOcGJj2ItjMg6z2SRH0/edit?tab=t.0#heading=h.jvz2pwvdpit0) doc)
24+
25+
### Meeting Notes and Recordings
26+
27+
Meeting agendas and notes are maintained in the [meeting
28+
notes](https://docs.google.com/document/d/1frfPE5L1sI3737rdQV04IcDGeOcGJj2ItjMg6z2SRH0/edit?tab=t.0#heading=h.jvz2pwvdpit0)
29+
doc. Feel free to add topics for discussion at an upcoming meeting.
30+
31+
All meetings are recorded and automatically uploaded to the [WG-Serving meetings
32+
YouTube
33+
playlist](https://www.youtube.com/playlist?list=PL69nYSiGNLP2io2Gg92njBfh-DX9sk7O3).

site-src/index.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# Introduction
2+
3+
The continuous evolution of the AI ecosystem has led to the emergence of agent-based development, a paradigm in which autonomous AI agents execute intricate tasks. This transformation is fostering the development of "AI-first" protocols, such as the Model Context Protocol (MCP) and A2A, which diverge significantly from conventional protocols.
4+
5+
Agents in a sense are microservices for AI. They are self-contained, autonomous units of work that can be composed to build complex applications. These agents, and the tools they use to perform their functions, are becoming ubiquitous. They can run anywhere: on-premises, in traditional hyperscaler cloud environments (like Kubernetes or serverless functions), on new cloud platforms (neoclouds), or across the public internet.
6+
7+
This distributed nature, combined with the new communication patterns of "AI-first" protocols, introduces novel security and governance challenges. Unlike traditional REST APIs, these protocols require integration with AI safety and security models in addition to conventional security measures. This is because agents can act autonomously, potentially with significant impact. It is therefore essential for Kubernetes to provide a consistent API for a well-governed, secure, and auditable flow of communication:
8+
9+
- From agents in Kubernetes to agents in the cluster and remote agents anywhere.
10+
11+
- From agents running anywhere to agents in Kubernetes.
12+
13+
- For agents in Kubernetes to access tools anywhere.
14+
15+
## Goals
16+
17+
This subproject aims to deliver the following:
18+
19+
**Core Capabilities**
20+
21+
- Provide standardized APIs for secure, governed communication between agents, tools, and potentially LLMs across Kubernetes cluster boundaries (ingress, egress, and east-west traffic)
22+
23+
- Attempt to design APIs around user-facing goals (e.g., "Agent A can communicate with Tool B") rather than protocol-specific constructs, ensuring adaptability as new AI-first protocols emerge alongside MCP and A2A
24+
25+
- Enable protocol-aware networking capabilities where necessary (e.g., MCP tool-level authorization) while keeping core APIs protocol-agnostic and future-proof
26+
27+
- Establish agent identity and authentication mechanisms that allow agents to be uniquely identified and verified across network boundaries
28+
29+
30+
**Security & Governance**
31+
32+
- Define authorization policies that control which agents can communicate with other agents, tools, and LLMs at a granular level (e.g., specific MCP tool functions)
33+
34+
- Integrate AI safety and security extension points to support external authentication, authorization, and policy enforcement decisions
35+
36+
- Provide auditable traffic management capabilities (rate limiting, access controls) suitable for autonomous agent workloads
37+
38+
39+
**Ecosystem Integration**
40+
41+
- Maintain alignment and collaboration with Gateway API, Gateway Inference Extension, WG AI Gateway, and WG AI Integration
42+
43+
- Design APIs extensible enough for diverse implementations (service meshes, gateways, future architectures)
44+
45+
## API Resources
46+
47+
Check back soon for the initial API proposal!
48+
49+
## Who is working on this project?
50+
51+
TODO

0 commit comments

Comments
 (0)