CUElang
Status
Section titled “Status”Version: 1.0.0 | Tests: Passing
{
"features": {
"ghcr.io/infrashift/trusted-devcontainer-features/cuelang:latest": {
"target_version": "0.15.4"
}
}
} Options
Section titled “Options”| Option | Type | Default | Description |
|---|---|---|---|
target_version | string | 0.15.4 | Select a supported CUElang binary version |
Dependencies
Section titled “Dependencies”How It Works
Section titled “How It Works”CUElang is a data validation and configuration language that builds on JSON and adds types, constraints, and logic. This feature downloads the CUE binary from the official GitHub releases as a tarball (cue_v<version>_linux_amd64.tar.gz) and installs it into your devcontainer.
The Ansible playbook downloads the release tarball for the specified version, extracts the cue binary, and places it in ~/.local/bin where it is available on PATH. The installation is straightforward since CUE ships as a single static binary with no additional runtime dependencies.
CUElang depends on Go being installed first via the golang feature for full module support and cue mod operations. When you include the cuelang feature in your devcontainer configuration, the dependency chain ensures that Go is installed before CUE, enabling you to work with CUE modules that reference Go packages, use cue mod init, and take advantage of the full CUE toolchain.