Skip to main content
Version: Current

Backend Overview

A backend is an external executable that renders target-specific files from CradleXC's backend-neutral representation. CradleXC has no built-in backend.

This separation keeps provider-specific behavior outside the CRADLE language and the core compiler. The backend determines which target it supports, which files it generates, and which external tools or services those files require.

Backend discovery​

Backends use the executable name:

cxc-backend-<name>

CradleXC discovers them on PATH, in /opt/cxc/plugins/ and in ~/.cxc/plugins/.

cxc plugin list
sudo cxc plugin install <name>

Discovery confirms that CradleXC can find and recognize the plugin. It does not, by itself, guarantee that the plugin supports every scenario feature, host configuration, provider, or target version.

What compatibility means​

Backend compatibility has several separate layers:

LayerWhat to confirm
CradleXC compatibilityThe backend supports the plugin protocol and Deployment IR versions used by the installed CradleXC release.
Scenario compatibilityThe backend implements the CRADLE features used by the scenario.
Host compatibilityThe host provides the operating system, executables, permissions, and resources required by the backend.
Target compatibilityThe generated files match the intended provider, platform, API, or tool version.
Runtime compatibilityImages, networks, artifacts, credentials, capacity, and external services required by the generated environment are available.

A successful cxc plugin list result confirms discovery. A successful cxc doctor result confirms only the dependency checks reported by CradleXC and the discovered plugins. Neither command proves that a particular scenario can be rendered or operated successfully on every target.

Find supported backends​

Backend plugins are released separately from CradleXC. Use the CRADLE release repository to find published plugin names, then consult the selected plugin's documentation for its supported targets, versions, features, and prerequisites.

This page intentionally does not maintain a fixed platform matrix. Backend availability and compatibility can change independently of the CRADLE documentation site, so the plugin release and its accompanying documentation are the authoritative sources for those details.

Public backend availability​

CradleXC and its documentation can be evaluated independently of backend availability.

A target can only be evaluated through cxc build when a compatible backend for that target has been published and is available for installation.

CapabilityAvailability
CRADLE language and documentationAvailable independently of backend plugins.
Scenario inspection in the Browser WorkbenchAvailable without a backend.
Validation and compilationRequires an available CradleXC distribution, but not a backend.
Target-file generationRequires a published backend compatible with the selected target.
Environment executionRequires the generated files and the corresponding target tooling.

If the release repository does not provide a backend for the required target, treat target-specific generation for that target as unavailable for public evaluation.

Compatibility checklist​

Before generating target-specific files:

  1. Identify the target platform, provider, or tool that must consume the generated output.
  2. Select a published backend that documents support for that target.
  3. Confirm that the backend supports the installed CradleXC protocol and Deployment IR versions.
  4. Install the backend and verify discovery with cxc plugin list.
  5. Run cxc doctor and resolve required host dependencies.
  6. Validate the scenario with cxc validate.
  7. Generate output with cxc build.
  8. Inspect and validate the generated files using the target tool before operating them in a testbed.
important

CRADLE validation confirms that the scenario is valid for the language and compiler. It does not guarantee that every backend implements every scenario feature or that the target environment has the required capacity, images, artifacts, permissions, or network configuration.

Generate with a backend​

After selecting and installing a compatible backend, use:

cxc validate -i scenarios/HelloWorld.cradle
cxc plugin list
cxc doctor
cxc build \
-i scenarios/HelloWorld.cradle \
--target <plugin_name> \
-o ./output

CradleXC writes target-specific files to the output directory. It does not automatically execute those files or create infrastructure. Review the output and follow the selected backend's documentation for any subsequent steps.