Skip to main content

Automation Templates

The Templates page at /automation/templates is the gallery of pre-built workflow templates for common Clone-Xs patterns: prod→staging refresh, monthly snapshot retention, post-clone validation suite, etc.

Why templates

Most Clone-Xs deployments end up running the same handful of operations repeatedly: a nightly clone, a recurring sync, a periodic snapshot. Templates capture these as parameterised, versioned bundles you can instantiate with a few clicks.

Built-in templates

TemplatePurpose
Prod→Staging RefreshFull clone + PII scrub + selected schemas, runs nightly
Daily SyncIncremental sync of one catalog with diff approval
Snapshot & RetainSnapshot weekly, keep last 12, prune older
Pre-Release ValidationClone → run DQ suite → publish only on pass
DR RefreshCross-region clone with bandwidth throttling
PII ScrubClone with full PII tagging + masking
Compliance SnapshotSnapshot + immutable retention for audit

Anatomy of a template

Each template defines:

  • Steps — ordered list of Clone-Xs operations (clone, sync, validate, snapshot, tag, mask, …)
  • Parameters — inputs the user fills in at instantiation (source catalog, destination, schedule, owner)
  • Defaults — sensible defaults for advanced options
  • Hooks — pre / post steps (notifications, custom Python via Plugins)

The YAML for a template:

name: prod_to_staging_refresh
version: 1
description: Nightly clone of prod into staging with PII scrub
parameters:
source_catalog: { type: string, required: true }
destination_catalog: { type: string, required: true }
schedule_cron: { type: string, default: "0 2 * * *" }
steps:
- op: clone
args:
source: "{{ source_catalog }}"
destination: "{{ destination_catalog }}"
pii_action: mask
- op: validate
args:
catalog: "{{ destination_catalog }}"
suite: post_clone
hooks:
on_success: notify_slack
on_failure: page_oncall

Instantiate

Click Use template, fill in parameters, click Create job. The page calls:

POST /automation/templates/{template_name}/instantiate
{
"parameters": { "source_catalog": "prod_warehouse", ... },
"name": "nightly_prod_to_staging"
}

The instantiation creates a Databricks job (or scheduled Clone-Xs run) — visible on Active Jobs.

Custom templates

Author your own under _clxs_artifacts/templates/. Drop a YAML file there and it appears in the gallery on next reload. Templates are git-friendly — version-control the directory.

API

GET  /automation/templates
GET /automation/templates/{name}
POST /automation/templates/{name}/instantiate