Configuring falcon

Falcon has several options that can be configured through a configuration file that is written in YAML format. By default, Falcon will look for a configuration file in the $HOME/.falcon folder and if this file does not exist, a new one will be created with default values. A configuration file path can also be specified on the command line (see Launch Falcon from command line).

The configuration file has a number of sections with configurable options. An example configuration file is shown below:

debug:
  enabled: false
testing:
   enabled: false
graph:
  autostart: false
  file: ""
network:
  port: 5555
logging:
  path: "./"
  screen:
    enabled: true
  cloud:
    enabled: true
    port: 5556
server_side_storage:
  environment: "./"
  resources: installation path /share/resources  # default path

network

Falcon communicates with clients over a network connection. In the network section you can set the port that Falcon uses for this communication.

graph

You can specify a graph definition file that is loaded when Falcon is started. If a graph file is also specified separately on the command line, then this will override the configured file. If you would like Falcon to automatically start execution of the processing graph (without the user having to manually start execution by pressing a key), then set the autostart option to true.

logging

Falcon provides information about its operation through log messages that are saved to a file on disk, shown on screen and broadcast over the network to clients. Use the path option to specify the path where the log file should be saved. You can enable/disable logging to screen and network by setting the screen.enabled and cloud.enabled properties to true/false. For logging to the cloud, you can additionally set the network port.

server side storage

To refer to paths and resources on the computer that runs Falcon, users can configure a mapping between URIs (uniform resource identifiers) and paths. Falcon defines a number of URIs mostly for internal use, including the top level path for storing data generated by individual processors (set by the environment option) and the top level path for resources such as digital filter definitions and example graph definitions (set by the resources option).

Warning

About the resource server side storage, each extensions will also contained a resource folder with filter definition, graph definitions… etc.

During the build of the app, these resources are gathered and copied in the build folder, then in the installation folder (if make install). Falcon will automatically generate the resource path. Be careful if it is override in the config file, Falcon will lose access to this resource folder.

Users can also specify custom URIs that point to paths on the computer running Falcon. In the server_side_storage section of the configuration, the custom option can be set to a map that links a URI to a path.

For example based on the example below, a file example.txt in the folder “/path/to/user/location” can be reach in falcon by using “mypath://example.txt”.

server_side_storage:
  environment: "./"                   # Where to store the output data
  resources: "/"          # Build path where resource from extensions are stored  (filter definitions, graph definitions...)
  custom:
    mypath: "/path/to/user/location"

All path should be an existing path.