Skip to content

Commit 208fad8

Browse files
committed
docs: add documentation guide
1 parent 7b739c2 commit 208fad8

4 files changed

Lines changed: 90 additions & 14 deletions

File tree

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,15 @@
22

33
All notable changes to vmod-wasm will be documented in this file.
44

5+
## Unreleased
6+
7+
### Changed
8+
- Added a documentation guide that gives operators and module authors a clearer
9+
reading path through production, development, configuration, compatibility,
10+
architecture, and security docs.
11+
- Included documentation media assets and all example README files in the
12+
Automake source distribution.
13+
514
## [4.3.5] - 2026-05-25
615

716
### Added

Makefile.am

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ EXTRA_DIST = \
2626
autogen.sh \
2727
scripts/perf-test.sh \
2828
scripts/soak-test.sh \
29-
.github/dependabot.yml \
3029
.github/PULL_REQUEST_TEMPLATE.md \
3130
.github/ISSUE_TEMPLATE/bug_report.md \
3231
.github/ISSUE_TEMPLATE/config.yml \
@@ -38,18 +37,27 @@ EXTRA_DIST = \
3837
docs/CONFIGURATION.md \
3938
docs/DEVELOPMENT.md \
4039
docs/PRODUCTION.md \
40+
docs/README.md \
4141
docs/SECURITY.md \
42+
docs/assets/proxy-wasm-live-validation.mp4 \
43+
docs/assets/proxy-wasm-live-validation.mp4.sha256 \
44+
docs/assets/vmod-wasm-perf-demo.gif \
45+
docs/assets/vmod-wasm-perf-demo.mp4 \
4246
examples/Cargo.lock \
4347
examples/Cargo.toml \
4448
examples/README.md \
4549
examples/rustfmt.toml \
4650
examples/rust/Cargo.toml \
51+
examples/rust/README.md \
4752
examples/rust/src/lib.rs \
4853
examples/proxy-wasm-filter/Cargo.toml \
54+
examples/proxy-wasm-filter/README.md \
4955
examples/proxy-wasm-filter/src/lib.rs \
5056
examples/passthrough/Cargo.toml \
57+
examples/passthrough/README.md \
5158
examples/passthrough/src/lib.rs \
5259
examples/transform/Cargo.toml \
60+
examples/transform/README.md \
5361
examples/transform/src/lib.rs \
5462
examples/edge-security-filter/Cargo.toml \
5563
examples/edge-security-filter/README.md \

README.md

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -183,19 +183,17 @@ under `perf-logs/`.
183183

184184
## Documentation
185185

186-
- Start with the [Production Guide](docs/PRODUCTION.md) if you are deciding how
187-
to run this safely.
188-
- Start with the [Development Guide](docs/DEVELOPMENT.md) if you are writing a
189-
module.
190-
- Use the [Compatibility Matrix](docs/COMPATIBILITY.md) to check whether an
191-
existing Proxy-Wasm filter can run unchanged.
192-
193-
- [Development Guide](docs/DEVELOPMENT.md) — Writing, building, and testing Proxy-Wasm modules
194-
- [Configuration Reference](docs/CONFIGURATION.md) — All VCL functions with parameters
195-
- [Architecture](docs/ARCHITECTURE.md) — Component design and request lifecycle
196-
- [Proxy-Wasm Compatibility](docs/COMPATIBILITY.md) — ABI coverage matrix
197-
- [Security Model](docs/SECURITY.md) — Isolation, threat model, supply chain security
198-
- [Production Guide](docs/PRODUCTION.md) — Deployment, hot-reload, monitoring, capacity planning
186+
Use the [Documentation Guide](docs/README.md) as the reading map. The short
187+
version:
188+
189+
- [Production Guide](docs/PRODUCTION.md) — install, constrain, monitor, reload,
190+
and roll back vmod-wasm safely.
191+
- [Development Guide](docs/DEVELOPMENT.md) — write, build, and test
192+
Proxy-Wasm modules.
193+
- [Compatibility Matrix](docs/COMPATIBILITY.md) — check ABI coverage before
194+
porting an existing Proxy-Wasm filter.
195+
- [Configuration Reference](docs/CONFIGURATION.md) — exact `wasm.*` VCL API,
196+
defaults, return values, and valid scopes.
199197

200198
## License
201199

docs/README.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# Documentation Guide
2+
3+
This directory contains the operator, developer, and design documentation for
4+
vmod-wasm. The project targets Varnish 9.x with Wasmtime 44.0.0, so the docs
5+
assume that release contract unless a section says otherwise.
6+
7+
## Start Here
8+
9+
- Read [Production Deployment](PRODUCTION.md) when deciding how to install,
10+
constrain, monitor, reload, and roll back vmod-wasm in front of real traffic.
11+
- Read [Development Guide](DEVELOPMENT.md) when writing or adapting a
12+
Proxy-Wasm module for Varnish.
13+
- Read [Proxy-Wasm Compatibility](COMPATIBILITY.md) before porting an existing
14+
filter from another Proxy-Wasm host.
15+
- Read [Configuration Reference](CONFIGURATION.md) when you need exact VCL
16+
function names, return values, defaults, and valid scopes.
17+
18+
## Documents
19+
20+
| Document | Use it for |
21+
|----------|------------|
22+
| [Production Deployment](PRODUCTION.md) | Release bundles, runtime limits, monitoring, VCL reloads, canaries, rollback, capacity planning |
23+
| [Development Guide](DEVELOPMENT.md) | Building Rust/Wasm modules, SDK callback shape, HTTP callouts, tests, debugging |
24+
| [Configuration Reference](CONFIGURATION.md) | Complete `wasm.*` VCL API reference with parameters, return values, and examples |
25+
| [Proxy-Wasm Compatibility](COMPATIBILITY.md) | ABI support matrix, properties, pseudo-headers, limitations |
26+
| [Architecture](ARCHITECTURE.md) | Engine lifetime, store pooling, HTTP callout flow, VDP response-body integration, file map |
27+
| [Security Model](SECURITY.md) | Sandbox boundaries, SSRF controls, module supply-chain guidance, incident response |
28+
29+
## Example Modules
30+
31+
The [`examples/`](../examples/) workspace contains small, focused modules that
32+
exercise the VMOD from VTC tests:
33+
34+
- [`proxy-wasm-filter`](../examples/proxy-wasm-filter/) is the best starting
35+
point for a normal Rust `proxy-wasm` SDK module.
36+
- [`passthrough`](../examples/passthrough/) is a no-op lifecycle baseline.
37+
- [`transform`](../examples/transform/) shows a minimal response-header
38+
mutation.
39+
- [`rust`](../examples/rust/) demonstrates raw vmod-wasm host functions.
40+
- [`edge-security-filter`](../examples/edge-security-filter/) is a realistic
41+
reference fixture covering config, metrics, shared data, callouts, body
42+
callbacks, and local responses.
43+
44+
For production edge-security deployments, use the standalone
45+
[vmod-wasm Edge Security Filter](https://github.com/RamazanKara/vmod-wasm-edge-security-filter)
46+
repository. The in-tree filter remains a fixture so vmod-wasm can test a
47+
realistic workload without depending on another repository during CI.
48+
49+
## Release Checks
50+
51+
Before promoting a release, the documentation and source distribution should
52+
survive the same checks as the code:
53+
54+
```bash
55+
docker build -t vmod-wasm-ci .
56+
docker run --rm vmod-wasm-ci make check
57+
docker run --rm vmod-wasm-ci make distcheck DISTCHECK_CONFIGURE_FLAGS="--with-wasmtime=/opt/wasmtime"
58+
```
59+
60+
Use `make perf-test` for a short local throughput comparison and
61+
`make soak-test` for longer VCL reload, pooling, and sustained-traffic checks.

0 commit comments

Comments
 (0)