Skip to content

Templates#

A template is a versioned package you install into a workspace in one go. It asks for a few inputs — a choice, a number, a Credential, a deployment — and makes the resources it describes from them: functions (published, with an alias on the version), runs and long-running services with an endpoint inside the workspace, drives, models, deployments, agents and flows. It links them — a function becomes a tool of a deployment — and can declare a test.

What one install made is an installation. Its parts are the workspace's own resources, as if you had made them one by one: you see them on their usual pages, and you may change them. The installation keeps them together: its page shows every part and its state, tries it, upgrades it to a newer version of the template (showing first what changes), and uninstalls it.

flowchart LR
  t["Template web-search v1<br/>inputs: backend, attach_to"] -- "install as web-search" --> i(("Installation<br/>web-search"))
  i --> g["Replica group<br/>web-search-searxng"]
  i --> e["Endpoint<br/>web-search-searxng"]
  i --> f["Function web-search<br/>v1, prod"]
  f -. "tool web_search" .-> d["Deployment chat"]

Where templates come from#

Source What Who sees them
Official Astralyx's: tools for models — web search, fetch a page, Wikipedia, weather, a calculator, the current time —, search over your own sites and documents, LoRA fine-tuning, batch inference, evaluation and Open WebUI. Every workspace.
Your organisation Templates its people made from their resources or wrote, and published. Versions may wait for an organisation admin's approval (Marketplace → Settings → Require approval). Every workspace of the organisation, or only the workspaces chosen.

Agent and flow templates published to the organisation's marketplace, and a workspace's run templates (New run → Start from a template), are templates too: they are listed with the others and installed the same way. A marketplace template's references (a Credential, a deployment, a drive) are its inputs, with the names it had as defaults.

Categories#

The gallery shows templates by category. Every organisation has the official ones — Tools for models, Training and fine-tuning, Batch inference, Evaluation, Data and search, Apps and services — and may add its own (Templates → Categories, by who manages the organisation's marketplace: its owners and admins). A template your organisation publishes is in one of them (metadata.category); a category is removed only once no template is in it.

How an install works#

  1. Everything is checked first. The inputs (types, ranges, what is needed), every resource's name and specification, the links: every problem is listed, and nothing is made until there is none. A name already taken in the workspace is refused, never taken over.
  2. Each resource is made as you, with your own permission for it, in your workspace: installing a template that makes a replica group needs the permission to make replica groups. Functions are published (version 1) and the template's aliases (prod) pointed at it.
  3. A resource waits for what it needs. A template says which parts are made first (needs) and what they are waited for until: ready (a service's workers healthy, an endpoint answering) or succeeded (a run finished successfully). Fine-tuning's five runs go one after the other; web search's tool is given to the model once SearXNG answers. Such an install goes on by itself after you leave the page — as you — and its page shows the step it is on and why it waits.
  4. Links are made once what they need is done: a function given to a deployment as a tool.
  5. If a step fails — refused, a run that failed, or a step waited for longer than the template allows — what was made is removed again, and the installation says what failed and what was removed.
flowchart LR
  d[("Drive ft")] --> p["Run ft-prepare"] -- succeeded --> t["Run ft-train<br/>(GPU)"] -- succeeded --> e["Run ft-evaluate"] -- succeeded --> m["Run ft-merge"] -- succeeded --> c["Run ft-convert"] -- succeeded --> r["Model ft<br/>(GGUF)"]

Every resource made carries the labels astralyx.cloud/template, astralyx.cloud/template-version, astralyx.cloud/installation and astralyx.cloud/part, so you can find an installation's parts anywhere labels show.

Secrets#

A template never holds a secret, and neither does an installation. An input of type secret names a Credential of the workspace and the key in it ({"credential": "tavily", "key": "api_key"}); the value is read on the machine that runs the function or the run, as for any Credential. A template whose specification looks like it holds a key is refused when it is published.

Permissions#

Permission Lets you
templates:read See the templates and the installations.
templates:install Install, upgrade and uninstall — each part also needs its own permission (functions:create, replica-groups:create…).
templates:publish Make and publish templates from the workspace.
functions:call Test an installation (it calls one of its functions).

The editor role holds all four; viewer reads.