Verentis

Quickstart

Quickstart

Register a minimal app and a minimal execution engine in a workspace, and watch Verentis resolve them by file type.

This quickstart installs two tiny extensions into a workspace by adding their manifests to the file system. Installing an extension is nothing more than placing a manifest in the workspace VFS.

Prerequisites

A workspace you can upload files to, and a way to authenticate. See Prerequisites & setup.

1. Install a minimal app

Create a file named hello.app.yaml and upload it to your workspace (the global /applications/ folder is a good home for workspace-wide apps):

api-version: verentis.io/v1
kind: Application

metadata:
  name: hello-viewer
  display-name: Hello Viewer
  description: A minimal app that claims plain-text files
  version: 0.1.0
  author: you

spec:
  # Where the app's web page is served from (https)
  entry: https://localhost:5173
  scope: global

  # Open whenever a user views a plain-text file
  mime-types:
    - pattern: "text/plain"
      mode: view
      priority: 100

  permissions:
    - node.file.read

  sandbox:
    allow-scripts: true
    allow-same-origin: true

Serve any HTTPS web page at the entry URL. When a user opens a text/plain file, Verentis renders your page in a sandboxed iframe. The page receives a token bridge from the SDK so it can read the file.

On install, an app enters a consent state: a workspace admin approves the permissions and scopes it requests before it becomes active. See Installation & consent.

2. Install a minimal execution engine

Create a file named echo.engine.yaml and upload it to the global /applications/ folder:

api-version: verentis.io/v1
kind: ExecutionEngine

metadata:
  name: echo
  display-name: Echo Engine
  description: A minimal engine that handles .echo files
  version: 0.1.0
  author: you

spec:
  runtimes:
    docker:
      image: ghcr.io/you/echo-engine:0.1.0
      pull-policy: IfNotPresent

  file-types:
    - pattern: text/x-echo
      extensions: [".echo"]
      priority: 100

  execution-modes:
    - request-response

  resources:
    cpu: "250m"
    memory: "128Mi"
    timeout: 30

Now uploading a .echo file makes it runnable: a user can run it from the workspace, and Verentis launches your container, hands it a scoped token and the run context, and collects the result.

3. See it resolve

Upload a matching file

Add a notes.txt (for the app) and a demo.echo (for the engine) to the workspace.

Open or run

Open notes.txt — the Hello Viewer app opens it. Select demo.echo and Run — the Echo Engine executes it.

Iterate

Edit your web page or container image and reload. Update the manifest to change which file types you claim or which permissions you request.

Where to go next