Skip to content

Adding a new endpoint in Terra (Firecloud Orchestration)

Joel Thibault edited this page Jan 10, 2023 · 3 revisions

[TODO]

The Firecloud stack (now Terra) was originally implemented like:

  • Firecloud UI -> Firecloud Orchestration -> all Firecloud services (Rawls, etc)

The AoU stack mostly continued this pattern:

  • AoU UI -> AoU API -> Firecloud Orchestration -> all Firecloud services

Note: while we still follow this for the most part, there are now a few direct calls, like:

  • AoU UI -> AoU API -> an individual Firecloud service

Which pattern should we use? That's beyond the scope of this wiki, but let's assume for now that a Firecloud-Orchestration endpoint is needed.

In many cases, when Terra adds or updates a service endpoint, they also add a corresponding Firecloud-Orchestration endpoint as a passthough to the service. But that's not always the case. Sometimes we need to add one. Here's an example. But be careful! This one had a terrible bug which may have been disastrous if it made it to the Terra release. [Fix]