Skip to content

How do I create and render a configuration template?

Requires Elite

In the Provisioning area, on the Templates tab, use “Add Template” to create a template: Name, Type (Provisioning or Deprovisioning) and the Content with placeholders like {{ hostname }}. The /render endpoint then renders the template server-side with concrete variables into a finished configuration — sandboxed, with no access to the system.

Provisioning is available from the Elite tier.

  1. Open the “Templates” tab. Choose Provisioning in the left-hand navigation; the Templates tab is pre-selected. The table shows the existing templates with their name and type.

    The 'Templates' tab in the Provisioning area.
  2. Create a template. Click “Add Template” and fill in the dialog:

    • Name (required) — e.g. “Nginx vHost Standard”.

    • Type (required)Provisioning or Deprovisioning.

    • Content — the template itself, with Jinja2 placeholders, e.g.:

      Example content
      server {
      listen 443 ssl;
      server_name {{ hostname }};
      root /var/www/{{ site }};
      }
    • Description (optional) — what the template is for.

    A template with Jinja2 placeholders in the 'Content' field.
  3. Save. The template appears in the list and can be rendered via the API immediately (see the API tab). Rendering is an API operation — the web interface is where you maintain templates.

  • Sandboxed rendering: Rendering runs in a sandboxed Jinja2 environment on the server — templates have no access to the file system or internal objects. Faulty templates return 400 with the error message.
  • No automatic deployment: Notory only renders the configuration; it is not automatically rolled out to target systems. Delivery is handled by your deployment tooling or a workflow.
  • Tenant isolation & audit: Templates belong to your tenant; creating, changing and deleting them is logged. Rendering is a read operation against the template store.
  • Type is documentary: Provisioning/Deprovisioning classifies the template for overview and filtering purposes; both types render identically.