Skip to content

Commit 3fb9a1f

Browse files
committed
Adding initial docs infra
1 parent dabf28c commit 3fb9a1f

28 files changed

+759
-0
lines changed

.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -26,3 +26,6 @@ go.work.sum
2626
*.swp
2727
*.swo
2828
*~
29+
30+
# generated docs
31+
site

Makefile

+12
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,18 @@ build-installer: manifests generate kustomize ## Generate a consolidated YAML wi
134134
cd config/manager && $(KUSTOMIZE) edit set image controller=${IMG}
135135
$(KUSTOMIZE) build config/default > dist/install.yaml
136136

137+
##@ Docs
138+
139+
.PHONY: build-docs
140+
build-docs:
141+
docker build --pull -t gaie/mkdocs hack/mkdocs/image
142+
docker run --rm -v ${PWD}:/docs gaie/mkdocs build
143+
144+
.PHONY: live-docs
145+
live-docs:
146+
docker build -t gaie/mkdocs hack/mkdocs/image
147+
docker run --rm -it -p 3000:3000 -v ${PWD}:/docs gaie/mkdocs
148+
137149
##@ Deployment
138150

139151
ifndef ignore-not-found

hack/mkdocs/image/Dockerfile

+26
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

+28
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

+25
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

+72
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
site_name: Kubernetes Gateway API Inference Extension
2+
repo_url: https://github.com/kubernetes-sigs/gateway-api-inference-extension
3+
repo_name: kubernetes-sigs/gateway-api-inference-extension
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+
custom_dir: site-src/overrides
22+
edit_uri: edit/main/site-src/
23+
plugins:
24+
- search
25+
- awesome-pages
26+
- macros:
27+
include_dir: examples
28+
j2_line_comment_prefix: "#$"
29+
- mermaid2
30+
markdown_extensions:
31+
- admonition
32+
- meta
33+
- pymdownx.emoji:
34+
emoji_index: !!python/name:material.extensions.emoji.twemoji
35+
emoji_generator: !!python/name:materialx.emoji.to_svg
36+
- pymdownx.details
37+
- pymdownx.highlight
38+
- pymdownx.inlinehilite
39+
- pymdownx.superfences:
40+
custom_fences:
41+
- name: mermaid
42+
class: mermaid
43+
format: !!python/name:pymdownx.superfences.fence_code_format
44+
- pymdownx.snippets
45+
- toc:
46+
permalink: true
47+
- tables
48+
nav:
49+
- Overview:
50+
- Introduction: index.md
51+
- Concepts:
52+
API Overview: concepts/api-overview.md
53+
Conformance: concepts/conformance.md
54+
Roles and Personas: concepts/roles-and-personas.md
55+
Use Cases: concepts/use-cases.md
56+
- Implementations: implementations.md
57+
- FAQ: faq.md
58+
- Glossary: concepts/glossary.md
59+
- Guides:
60+
- User Guides:
61+
- Getting started: guides/index.md
62+
- Implementer's Guide: guides/implementers.md
63+
- Reference:
64+
- API Types:
65+
- InferencePool: api-types/inferencepool.md
66+
- InferenceModel: api-types/inferencemodel.md
67+
- API specification: reference/spec.md
68+
- Enhancements:
69+
- Overview: gieps/overview.md
70+
- Contributing:
71+
- How to Get Involved: contributing/index.md
72+
- Developer Guide: contributing/devguide.md

site-src/.mkdocs-exclude

+6
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/OWNERS

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# See the OWNERS docs at https://go.k8s.io/owners
2+
# See the OWNERS_ALIASES file at https://github.com/kubernetes-sigs/gateway-api/blob/main/OWNERS_ALIASES for a list of members for each alias.
3+
4+
approvers:
5+
- sig-network-leads
6+
- gateway-api-maintainers
7+
8+
reviewers:
9+
- gateway-api-maintainers
10+
- gateway-api-mesh-leads

site-src/api-types/inferencemodel.md

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Inference Model
2+
3+
??? example "Alpha since v0.1.0"
4+
5+
The `InferenceModel` resource is alpha and may have breaking changes in
6+
future releases of the API.
7+
8+
## Background
9+
10+
TODO
11+
12+
## Spec
13+
14+
TODO

site-src/api-types/inferencepool.md

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Inference Pool
2+
3+
??? example "Alpha since v0.1.0"
4+
5+
The `InferencePool` resource is alpha and may have breaking changes in
6+
future releases of the API.
7+
8+
## Background
9+
10+
TODO
11+
12+
## Spec
13+
14+
TODO

site-src/concepts/api-overview.md

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# API Overview
2+
3+
TODO

site-src/concepts/glossary.md

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Gateway API Glossary
2+
3+
TODO
+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Roles and Personas
2+
3+
TODO

site-src/concepts/use-cases.md

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Use Cases
2+
3+
TODO

site-src/contributing/devguide.md

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Developer Guide
2+
3+
TODO

site-src/contributing/index.md

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# How to Get Involved
2+
3+
TODO

site-src/faq.md

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Frequently Asked Questions (FAQ)
2+
3+
TODO

site-src/gieps/giep-116/index.md

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# GIEP-116: GIEP template
2+
3+
* Issue: [#0](https://github.com/kubernetes-sigs/gateway-api-inference-extension/issues/116)
4+
* Status: Provisional|Implementable|Experimental|Standard|Deferred|Rejected|Withdrawn|Replaced
5+
6+
(See status definitions [here](overview.md#status).)
7+
8+
## TLDR
9+
10+
(1-2 sentence summary of the proposal)
11+
12+
## Goals
13+
14+
(Primary goals of this proposal.)
15+
16+
## Non-Goals
17+
18+
(What is out of scope for this proposal.)
19+
20+
## Introduction
21+
22+
(Can link to external doc -- but we should bias towards copying
23+
the content into the GEP as online documents are easier to lose
24+
-- e.g. owner messes up the permissions, accidental deletion)
25+
26+
## API
27+
28+
(... details, can point to PR with changes)
29+
30+
## Conformance Details
31+
32+
(This section describes the names to be used for the feature or
33+
features in conformance tests and profiles.
34+
35+
These should be `CamelCase` names that specify the feature as
36+
precisely as possible, and are particularly important for
37+
Extended features, since they may be surfaced to users.)
38+
39+
## Alternatives
40+
41+
(List other design alternatives and why we did not go in that
42+
direction)
43+
44+
## References
45+
46+
(Add any additional document links. Again, we should try to avoid
47+
too much content not in version control to avoid broken links)

site-src/gieps/giep-116/metadata.yaml

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
apiVersion: internal.gateway.networking.k8s.io/v1alpha1
2+
kind: GIEPDetails
3+
number: 116
4+
name: GIEP template
5+
status: Completed
6+
# Any authors who contribute to the GEP in any way should be listed here using
7+
# their Github handle.
8+
authors:
9+
- robscott
10+
relationships:
11+
# obsoletes indicates that a GEP makes the linked GEP obsolete, and completely
12+
# replaces that GEP. The obsoleted GEP MUST have its obsoletedBy field
13+
# set back to this GEP, and MUST be moved to Declined.
14+
obsoletes: {}
15+
obsoletedBy: {}
16+
# extends indicates that a GEP extends the linkned GEP, adding more detail
17+
# or additional implementation. The extended GEP MUST have its extendedBy
18+
# field set back to this GEP.
19+
extends: {}
20+
extendedBy: {}
21+
# seeAlso indicates other GEPs that are relevant in some way without being
22+
# covered by an existing relationship.
23+
seeAlso: {}
24+
# references is a list of hyperlinks to relevant external references.
25+
# It's intended to be used for storing Github discussions, Google docs, etc.
26+
references: {}
27+
# featureNames is a list of the feature names introduced by the GEP, if there
28+
# are any. This will allow us to track which feature was introduced by which GEP.
29+
featureNames: {}
30+
# changelog is a list of hyperlinks to PRs that make changes to the GEP, in
31+
# ascending date order.
32+
changelog: {}

0 commit comments

Comments
 (0)