Skip to main content

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.

FieldTypeAccepted values
ClassoptionC0Pro
MicroarchitectureoptionAthens, Bypass, Reference
CorrelationTrackingoptionAutocorrelation, Disable
MemorySizenumber (bytes)256000 to 4000000000
Precisionnumber (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.

  • 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.