vcon-server

How-to guides

Step-by-step guides for installing and running vcon-server. Each shows every command and its output, and CI runs each against a live server.

Each guide gives every command to paste, in order, and what the command prints. CI runs the commands of each guide against a live server on each change, and fails when a command prints something other than the guide shows. scripts/docs_test.py runs them. See development.

Install and start

  • Install: download a release and check it, install with cargo, or build from source, with what each Linux distribution needs first.

  • Getting started: the service account, the master key, a certificate, the configuration and the first keys. Then the server is started under systemd or in the foreground.

  • Keep vCons in an S3 bucket: RustFS, MinIO or AWS S3 for the sealed objects, the bucket and its key on the storage side, a check that the objects go there and that a purge removes them, what each refusal at start means, and the clean-up. CI runs it with RustFS and with MinIO.

  • Keep vCons as Parquet files in a bucket: the objects in the bucket packed into Parquet files, a check that each vCon still reads back, a read with DuckDB, what a purge removes from the bucket and from the storage's disks, and what each refusal means. CI runs it with RustFS.

Use it

  • Store your first vCon: store, store again, see a conflict refused, read, list and delete a vCon, with a key for each scope.
  • Use keys and scopes: a key for each scope, what each may do and what it is refused, and a key with two scopes.
  • Add a second tenant: a tenant made over the admin API, its key, its data kept apart, its retention period, and its removal.

Run it

  • Revoke and rotate keys: revoke an API key, replace one without a gap, and rotate the tenant key and the master key.
  • Back up and restore: the master key and the data directory, a restore, and what it brings back.
  • Export to Parquet: a tenant's vCons as Parquet files in a directory or a bucket, beside a running server, the clear columns each metadata level adds, a read with DuckDB, and what each refusal means.
  • Run it in a container: an image built from a checked release, volumes, the memory-lock limit, Docker and Docker Compose.
  • Upgrade: a new binary over a running server, the data checked with it, and the way back.

Connect an AI agent

  • Connect an AI agent over MCP: a key for the agent, the handshake and the tool list over HTTPS and through vcon-server mcp, and the refusals. The tool list holds the tools the key's scopes allow.
  • MCP: the endpoint, the stdio command, the configuration an agent's client reads, and every tool with its parameters and an example.

Source of this page: website/content/docs/how-to.md