The "signaloid.yaml" File
Pre-configure how the Signaloid Cloud Compute Engine runs your application
with a signaloid.yaml file at the repository root.
A signaloid.yaml (or signaloid.yml) file at the top level of a repository
gives the Signaloid Cloud Developer Platform extra context about your
application. The platform looks for signaloid.yaml first and falls back to
signaloid.yml if it is not present. The file is optional. When present, it
currently declares two things:
- A minimum core configuration recommended for the application.
- The variables to trace automatically on Reference cores.
The settings the file declares are read on every run of the repository. They do not override the per-task UI controls. You can still pick a different execution core, branch, build directory, command-line arguments, or data sources on the connected repository card.
Recommend a minimum Core for your application
If your application needs a specific core to run correctly (for example, a
minimum amount of memory to load a data file), declare it under MinimumCore.
The connected repository card flags the active core whenever it falls below the
declared minimum, and the
Select Core
dialog marks cores that do not satisfy the minimum.
The following example declares a minimum recommended core:
MinimumCore:
Class: "C0Pro"
Microarchitecture: "Athens"
CorrelationTracking: "Autocorrelation"
MemorySize: 1000000000
Precision: 32
The fields under MinimumCore use the same shape as the core configuration in
the Signaloid Cloud Compute Engine API. The platform accepts the values listed
below. It drops any value outside these ranges and warns on the card.
| Field | Type | Accepted values |
|---|---|---|
Class | option | C0Pro |
Microarchitecture | option | Athens, Bypass, Reference |
CorrelationTracking | option | Autocorrelation, Disable |
MemorySize | number (bytes) | 256000 to 4000000000 |
Precision | number (bits) | 4 to 100000 |
For the full meaning of each field, see the Compute Engine API reference.
Set traced variables
Applications that run on a Reference core can declare the variables to trace
ahead of time, so a user does not need to pick them in the
Variable Viewer
on every run. Add a TraceVariables list to the YAML, with one record per
variable. Each record carries:
Expression: the variable or custom expression to trace, in the same form you would type into Add Custom Variable Trace.File: the path to the file that declares the variable, relative to the repository root.LineNumber: the line number of the declaration.
TraceVariables:
- Expression: "oneVariable"
File: "src/main.c"
LineNumber: 384
- Expression: "oneStructPointer->oneElement"
File: "src/data-structures.c"
LineNumber: 42
- Expression: "oneArray[0:15]"
File: "src/lib/array-operations.c"
LineNumber: 18
File and LineNumber point at the declaration of the variable, not the
line where its value is assigned.
Related pages
- Repository Runs for the end-to-end Build and Task flow that consumes these settings.
- Execution Core for how the active core interacts with the declared minimum.
- Add to signaloid.io button
for the Markdown snippet that lets visitors connect a
signaloid.yaml-ready repository in one click.