Configuration Reference
This page collects every plugin-related option in one place. Each field is annotated with its default and effect.
Configuration Reference
Full config.yaml reference for the plugin system:
plugins: # Enable plugin loading (default: false) # When false, no plugins are loaded and no WASM overhead is incurred enabled: true # Path to plugins directory (default: ./plugins) # Each subdirectory should contain plugin.toml and plugin.wasm directory: ./plugins # Maximum WASM instructions per plugin call (default: none = unlimited) # Prevents runaway plugins from blocking the server fuel_limit: 1000000 # Wall-clock budget per plugin call, in milliseconds (default: 50) # Measures time the plugin spends *executing*: a plugin waiting on a host # call -- sending mail, writing to the data store -- is not charged for the # wait, so a slow mail relay cannot exhaust it. This is not the same key as # diagrams.plugins.timeout_ms, which bounds a single diagram render. render_budget_ms: 50 # Wasmtime compilation cache directory (default: none = disabled) # Caches compiled modules on disk for faster startup compilation_cache: .cache/plugins # AOT pre-compile plugins at load time (default: false) # Trades slower startup for faster first-call latency precompile: true # WASI filesystem paths for plugins that declare requires_fs (default: none) # Keys are virtual paths inside the component; values are host paths # Prefix host paths with "ro:" for read-only access allowed_paths: /content: "ro:./content" /media: "ro:./media" /data: ./data
The registry URL moved.
plugins.registry_urlno longer exists. Plugins, themes, and starter templates are all resolved from one registry, so its location lives in a top-levelhub:section instead — see Hub configuration below.
Hub configuration
accent plugin install reads the ecosystem hub. One section serves all three
artifact kinds, because they come from one registry:
hub: # Registry base URL (default shown). This is the raw-content root of the # registry repository's default branch. registry_url: https://raw.githubusercontent.com/AccentCMS/hub-registry/main # Trust anchor for registry signatures. Leave unset for the official # registry: the matching public key is compiled into the binary. registry_public_key: null # Licence keys for commercial artifacts, keyed by "<kind>:<name>". licenses: "plugin:acme-forms": "eyJhbGciOiJFZERTQSJ9..."
| Field | Type | Default | Description |
|---|---|---|---|
hub.registry_url | string | (built-in) | Registry base URL for all three artifact kinds |
hub.registry_public_key | string | Ed25519 SPKI public key for a self-hosted registry | |
hub.licenses | map | {} | Vendor licence keys, keyed by <kind>:<name> |
Signatures are always verified
Every document the registry publishes — the discovery index, each version
manifest, and each author record — is signed, and accent verifies all of
them before acting on anything they say. There is no way to turn this off.
The key is chosen, not the checking. Point registry_url at your own registry
and you must also set registry_public_key to the key that registry signs
with; otherwise accent stops with a configuration error naming the missing
setting rather than failing every install with a signature error.
A binary you compiled yourself carries the repository’s development hub key and cannot verify documents signed by the production key. This is the same property the licence key has. Use a release binary against the official registry.
Installing from a local file
Some vendors deliver an artifact by e-mail or from their own download page
rather than publishing a public URL. Install one with --from:
accent plugin install acme-forms --from ./acme-forms-1.2.0.tar.gz
The name is required and is not read from the archive: the file must
contain a single top-level acme-forms/ directory or it is rejected. If the
registry lists the plugin and publishes a checksum, the local file is verified
against it. If it cannot be verified — an unlisted plugin, or a vendor that
publishes no checksum — the install stops and tells you so; pass
--allow-unverified to proceed anyway.
The public registry (github.com/AccentCMS/hub-registry) is live but does not list artifacts yet.
The fuel_limit, render_budget_ms, compilation_cache, precompile, and allowed_paths options are explained in detail in the Security chapter.
Next Steps
- Read the Templating Guide for filter usage in templates
- Learn the WebAssembly Component Model and
cargo-componentfor plugin development details - Check the Theming Guide for understanding content rendering flow