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:
| Layer | What to confirm |
|---|---|
| CradleXC compatibility | The backend supports the plugin protocol and Deployment IR versions used by the installed CradleXC release. |
| Scenario compatibility | The backend implements the CRADLE features used by the scenario. |
| Host compatibility | The host provides the operating system, executables, permissions, and resources required by the backend. |
| Target compatibility | The generated files match the intended provider, platform, API, or tool version. |
| Runtime compatibility | Images, 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.
| Capability | Availability |
|---|---|
| CRADLE language and documentation | Available independently of backend plugins. |
| Scenario inspection in the Browser Workbench | Available without a backend. |
| Validation and compilation | Requires an available CradleXC distribution, but not a backend. |
| Target-file generation | Requires a published backend compatible with the selected target. |
| Environment execution | Requires 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:
- Identify the target platform, provider, or tool that must consume the generated output.
- Select a published backend that documents support for that target.
- Confirm that the backend supports the installed CradleXC protocol and Deployment IR versions.
- Install the backend and verify discovery with
cxc plugin list. - Run
cxc doctorand resolve required host dependencies. - Validate the scenario with
cxc validate. - Generate output with
cxc build. - Inspect and validate the generated files using the target tool before operating them in a testbed.
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.