Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
a6f207c
chore: QA pass
nurof3n Jun 2, 2026
1f70ca4
chore: Update ANSI coloring
nurof3n Jun 9, 2026
75edb42
feat: Automatically generate unikraft CLI table of contents
danielvallance Jun 16, 2026
f786355
feat: Automatically generate unikraft CLI table of contents (#184)
danielvallance Jun 17, 2026
cffb6d9
docs: Add mention to `unikraft api`
nurof3n Jun 17, 2026
3b62c7d
docs: Fix inconsistent commands
nurof3n Jun 17, 2026
16f99d2
chore: QA pass (#180)
danielvallance Jun 17, 2026
bf6ef7c
feat(pages/cli): Added "Fields" page to CLI docs
danielvallance Jun 11, 2026
ae6a73d
feat(pages/cli): Added "Fields" page to CLI docs (#182)
danielvallance Jun 18, 2026
e968def
feat: Document on-demand templates
danielvallance Jun 16, 2026
d85cb9b
feat: Document on-demand templates (#183)
nurof3n Jun 19, 2026
db2fe82
feat: Documentation for branching feature
danielvallance Jun 17, 2026
075fcaa
feat: Documentation for branching feature (#185)
nurof3n Jun 19, 2026
1f5a02f
feat: Documentation for managed volumes
danielvallance Jun 19, 2026
ad61e8b
chore: Remove kraft commands from autoscale docs
danielvallance Jun 22, 2026
d526ead
chore: Remove kraft commands from autoscale docs (#188)
danielvallance Jun 23, 2026
46edde0
feat: Documentation for managed volumes (#187)
danielvallance Jun 23, 2026
7be9b7a
feat: Documentation for checkpointing feature
danielvallance Jun 19, 2026
f0b9f1f
feat: Documentation for checkpointing feature (#186)
danielvallance Jun 23, 2026
bd80380
chore: Update guides from examples repository
unikraft-bot Jun 25, 2026
508952c
feat: Unikraft quota command docs
danielvallance Jun 29, 2026
32e672c
feat: Unikraft quota command docs (#191)
dragosgheorghioiu Jun 29, 2026
0b02b34
chore: Adding spacing between codetabs
dragosgheorghioiu Jun 30, 2026
90f8f24
chore: Adding spacing between codetabs (#193)
danielvallance Jun 30, 2026
d829f5b
chore: Update guides from examples repository (#181)
danielvallance Jun 30, 2026
d730916
fix: Added mysql and neo4j examples
dragosgheorghioiu Jun 30, 2026
63c2660
fix: Add mysql and neo4j examples (#194)
danielvallance Jun 30, 2026
4fac385
fix(config): Add canonical URL origin and sitemap
JeromeJaggi Jun 30, 2026
34cf23c
fix(config): Add default description and glossary nav link
JeromeJaggi Jun 30, 2026
78c3d0a
fix(config): Agent-readability — canonical, sitemap, description, glo…
jesi-rgb Jul 1, 2026
2d7dde9
chore: Add more explicit volume attach usage
dragosgheorghioiu Jun 26, 2026
1ef1489
chore: Add more explicit volume attach usage (#189)
danielvallance Jul 1, 2026
65b036b
chore: Warn that local registry is not permanent storage
danielvallance Jul 1, 2026
bb39bda
chore: Warn that local registry is not permanent storage (#197)
danielvallance Jul 1, 2026
536b2a6
docs: Plugin feature
danielvallance Jul 1, 2026
26c34ab
docs: Plugin feature (#199)
danielvallance Jul 1, 2026
cc98678
feat: Documentation for custom network configuration feature
danielvallance Jun 29, 2026
9b7359b
style: Add unikraft ... --tag commands
danielvallance Jul 1, 2026
7b5e414
docs: Add kraft cloud deprecation notice
danielvallance Jul 1, 2026
16b9265
docs: Add kraft cloud deprecation notice (#202)
danielvallance Jul 1, 2026
138955f
style: Add unikraft ... --tag commands (#201)
danielvallance Jul 1, 2026
ba7ddfd
feat: Added relay section for custom network config
dragosgheorghioiu Jul 1, 2026
a99d855
feat: Documentation for custom network configuration feature (#190)
danielvallance Jul 2, 2026
c66e141
feat: Annotations documentation
danielvallance Jun 29, 2026
813f476
feat: Annotations documentation (#192)
danielvallance Jul 2, 2026
219a6b3
docs: Warm-plug volume support
danielvallance Jul 2, 2026
9950c1a
docs: Warm-plug volume support (#203)
danielvallance Jul 2, 2026
e261b19
style: Unify "Limited Access" note
danielvallance Jul 2, 2026
6e7fe7e
style: Unify "Limited Access" note (#204)
danielvallance Jul 2, 2026
ebc7823
style: More detailed custom filesystem notes
danielvallance Jul 2, 2026
5a99130
style: More detailed custom filesystem notes (#205)
nurof3n Jul 2, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
/.pnp
.pnp.*
.yarn/*
.pnpm-store/
!.yarn/patches
!.yarn/plugins
!.yarn/releases
Expand Down Expand Up @@ -38,8 +39,13 @@ pnpm-debug.log*

# build outputs
dist/
*.pyc

# generated files
apis/platform.yaml
build.log
.examples/
pages/cli/kraft/
pages/cli/unikraft/
pages/cli/unikraft.mdx
pages/kraftfile/
6 changes: 6 additions & 0 deletions .vale/styles/config/vocabularies/Unikraft/accept.txt
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ FUSE
ALIAS
ANAME
ASCII
BYOC
CNAME
COPY
DCO
Expand All @@ -49,6 +50,7 @@ TOML
USA
UTC
WASI
WSL
YAML
Unikraft Cloud
POSIX
Expand All @@ -58,6 +60,9 @@ EROFS
CPIO
CDP
FTP
CIDR
PATCH
TAP

# ==============================================================================
# NAMES OF THINGS
Expand Down Expand Up @@ -267,6 +272,7 @@ FTP
(?i)TypeDoc
(?i)typeof
(?i)TypeScript
(?i)UDP
(?i)ui
(?i)uncached
(?i)undefined
Expand Down
3 changes: 3 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ RUN set -xe; \
apk --no-cache add \
ca-certificates \
git \
python3 \
wget \
;

Expand Down Expand Up @@ -67,6 +68,8 @@ COPY --from=build-kraft-docs /kraftkit/docs/kraft/cloud.mdx /docs/pages/cli/kraf
COPY --from=build-cli-docs /cli/dist/docs/mdx/unikraft/ /docs/pages/cli/unikraft/
COPY --from=build-cli-docs /cli/dist/docs/mdx/unikraft.mdx /docs/pages/cli/unikraft.mdx

RUN python3 scripts/update_zudoku_cli.py pages/cli/unikraft zudoku.config.tsx

RUN pnpm run build

################################################################################
Expand Down
77 changes: 71 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ Contributions to the documentation are welcome!
- [Contributing to the docs](#contributing-to-the-docs)
- [Table of contents](#table-of-contents)
- [Introduction](#introduction)
- [Local development with Docker](#local-development-with-docker)
- [Code contribution guidelines](#code-contribution-guidelines)
- [Git commit message guidelines](#git-commit-message-guidelines)
- [Copyright and license](#copyright-and-license)
Expand All @@ -22,17 +23,81 @@ The [`pages/`](./pages) directory contains all the [markdown](https://www.markdo

To maintain consistency and accuracy across all documentation pages, [vale](https://vale.sh/) lints all written prose.

### Local development with Docker

Run the commands in this section from the root of this `docs/` repository.

The checked-in [docker-compose.yaml](./docker-compose.yaml) builds the production site and does not provide hot reload.
For live editing, first bootstrap the generated CLI, API, and Kraftfile reference content from the existing Docker build:

```bash
docker build --target build -t ukc-docs-bootstrap .

cid=$(docker create ukc-docs-bootstrap)
mkdir -p apis pages/cli pages/kraftfile
docker cp "$cid":/docs/apis/platform.yaml ./apis/platform.yaml
docker cp "$cid":/docs/pages/cli/unikraft ./pages/cli/unikraft
docker cp "$cid":/docs/pages/cli/kraft ./pages/cli/kraft
docker cp "$cid":/docs/pages/cli/unikraft.mdx ./pages/cli/unikraft.mdx
docker cp "$cid":/docs/pages/kraftfile/v0.7.md ./pages/kraftfile/v0.7.md
docker rm "$cid"
```

That bootstrap image pulls the OpenAPI specification from the [unikraft-cloud/openapi](https://github.com/unikraft-cloud/openapi) repository and materializes the API reference consumed by Zudoku at startup.
If you only need to refresh the API reference, you can fetch that file directly without rebuilding the whole bootstrap image:

```bash
mkdir -p apis
curl -fsSL \
https://raw.githubusercontent.com/unikraft-cloud/openapi/refs/heads/prod-staging/platform.yaml \
-o apis/platform.yaml
```

Then run the docs site in a bind-mounted Node container:

```bash
docker run --rm -it \
-p 3131:3131 \
-e CHOKIDAR_USEPOLLING=true \
-v "$PWD":/docs \
-v ukc-docs-node-modules:/docs/node_modules \
-w /docs \
node:24-bookworm \
sh -lc 'apt-get update >/dev/null \
&& apt-get install -y ca-certificates >/dev/null \
&& corepack enable >/dev/null \
&& corepack prepare pnpm@10.33.0 --activate >/dev/null \
&& pnpm install >/dev/null \
&& pnpm dev -- --host 0.0.0.0'
```

Open `http://localhost:3131/docs` in your browser.
Changes under this directory are bind-mounted into the container, and `CHOKIDAR_USEPOLLING=true` enables hot reload reliably from Docker.

The bootstrap step is needed because this repository does not check in the generated `/apis/platform.yaml`, `/cli/unikraft`, `/cli/kraft`, and `/kraftfile/v0.7` source files that Zudoku expects at startup.
The first run takes longer because Docker builds the bootstrap image, downloads the base Node image, and `pnpm` installs dependencies into the `ukc-docs-node-modules` volume.
To reset that container-only dependency cache, remove the volume:

```bash
docker volume rm ukc-docs-node-modules
```

### Code contribution guidelines

To make the contribution process as seamless as possible, please follow these requirements:

* Fork the project and make your changes.
* When you’re ready to create a pull request, be sure to:
* Run `make lint` to check all documentation.
* Squash your commits into to logical, [atomic commits](https://en.wikipedia.org/wiki/Atomic_commit) (`git rebase -i`).
- Fork the project and make your changes.
- When you’re ready to create a pull request, be sure to:
- Run `make lint` to check all documentation.
- Squash your commits into to logical, [atomic commits](https://en.wikipedia.org/wiki/Atomic_commit) (`git rebase -i`).
It's okay to force update your pull request with `git push -f`.
* Follow the **Git Commit Message Guidelines** below.
* All commits must be signed off (`git commit -s`) by all authors in order to certify that the contributions are published under the [Developer Certificate of Origin (DCO)](https://wiki.linuxfoundation.org/dco).
- Follow the **Git Commit Message Guidelines** below.
- All commits must be signed off (`git commit -s`) by all authors in order to certify that the contributions are published under the [Developer Certificate of Origin (DCO)](https://wiki.linuxfoundation.org/dco).
- For consistency, you should follow these soft guidelines for writing docs (besides what `make lint` enforces):
- Where `unikraft` commands are used, provide `kraft` commands as well, if applicable.
- All code blocks should have 2 spaces indentation for multi-line code, and the language should be specified for syntax highlighting (for example, `bash` for shell commands).
- Code blocks used for listing output should have `title=""`, unless context clarifications are needed (e.g., it is tied to a specific CLI in a `CodeTabs`).
- Header titles should be concise and descriptive, starting with a capital letter on the first word only.

### Git commit message guidelines

Expand Down
Loading
Loading