Introduction to an SDK Gear
Introduction
An "SDK Gear" is a gear which uses the Flywheel SDK. You're welcome.
Just kidding.
Gears by default are confined completely within the Docker container in which they run. The selected files and the configuration options chosen are the only inputs, the Docker container executes the algorithm on the compute server, and then the result files are uploaded back to Flywheel.
However, almost any kind of code can be imported into the gear's Docker container, and that includes the Flywheel SDK. By using the Flywheel SDK in a Gear, the algorithm can access additional files and metadata in Flywheel as needed and doesn't need to be included explicitly as an input file. The Flywheel SDK can also be used in a Gear to write to Flywheel outside of its normal output folder.
In order to do this, the Gear needs to use Flywheel's API, so it will need a user's API key. Any API call the gear performs will use this API key. The API key that is used is the user's key that ran the gear. The gear then will have the same permissions to read or write as the user would have if they were performing the action in the UI.
An SDK gear can be defined as "Read Only" to ensure that it does not modify data that it is not supposed to. This is defined in the Gear's manifest.