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 three things:

  • A minimum core configuration recommended for the application.
  • The core classes the application runs on.
  • 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 representation size for accurate results), 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"
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
Precisionnumber (bits)4 to 100000

Each core class has a fixed memory allocation, so the platform ignores a MemorySize field under MinimumCore.

For the full meaning of each field, see the Compute Engine API reference.

Declare the core classes your application runs on​

List every core class your application runs on under Compatibility.Class. A single value works as a one-item list.

Compatibility:
Class: [C0-microSD, C0-SD]
FieldTypeAccepted values
Classlist of optionsC0Pro, C0-SD, C0-microSD, C0-microSD-plus

A repository that builds for both cloud and compute module cores lists both, for example [C0Pro, C0-SD]. A repository without Compatibility counts as cloud only.

The platform drops invalid entries and warns on the card. If no valid entry remains, the repository counts as cloud only.

When the class of the active core is not in the list, the card and the Select Core dialog show a warning. The build still runs.

MinimumCore.Class names one exact class, and Compatibility.Class lists every class the application runs on. The platform checks both.

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 and compatible core classes.
  • Add to signaloid.io button for the Markdown snippet that lets visitors connect a signaloid.yaml-ready repository in one click.