Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

This section will dive into more details of what traits Firebolt API expects from its implementations

Firebolt APIs

There are mainly 2 kinds of Firebolt APIs

Mandatory API: Below is the list of mandatory APIs expected by the Implementation.

  • Capabilities.* 
  • UserGrants.* 
  • Lifecycle.* 
  • LifecycleManagement.* 
  • Parameters.* 

Common API: Any other API which is not part of the above list can be termed as Common APIs

Firebolt Phases

Firebolt shares 3 main phases during its API lifecycle with the Apps.

...

  1. Self-sourced: Firebolt implementation can create its handlers and provide support for the requested API request. This is common for most of the Basic API(s)
  2. External-sourced: Firebolt Implementation must have the ability to broker some capabilities to another App or component layer like Thunder. Implementation is still expected to ensure error handling and schema verification are performed during these transactions. 

For an External Externally sourced API, the implementation is still expected to

  1. Validate the schema of the incoming request based on Open RPC spec.
  2. Aggregate the responses and events.
  3. Validated the outgoing response, and events.



Firebolt Implementation Traits

Based on the above information below is the list of traits expected from a Firebolt Implementation

Firebolt Implementation Authentication Traits

  1. Implementation must provide a secure port for 3'rd party apps it can have an internal port for System Apps.
  2. Implementation must be connection-aware and match a request to the connecting App.

Firebolt Implementation Authorization Traits

  1. Implementation must have the ability to consume multiple Open RPC specification files and create a method for capabilities mapping needed for Capability Resolution.
  2. Implementation must have the ability to consume the Device manifest file based on the specified schema
  3. Implementation must support configuration to provide a list of supported capabilities provided by the platform. 
  4. Implementation must implement validation of supported capabilities during the Authorization stage.
  5. Implementation must maintain the availability status of a given capability and provide validation during the Authorization stage.
  6. Implementation must be able to aggregate the list of capabilities permitted for a given application and provide validation during the Authorization stage.
  7. Implementation must be able to understand grant policies, non-negotiable capabilities, cloud mapping for privacy, and other grant strategies to apply user grants to a given request during the Authorization stage.

Firebolt Implementation Routing Traits

  1. Implementation must resolve the right handler for a given request and provide backward compatibility for multiple Open RPC specifications.
  2. Implementation must be able to forward the request to an external component outside the implementation.

Firebolt Implementation Handling Traits

  1. Implementation must have Mandatory API methods created internally and made available for the routing.
  2. Implementation must support brokering to applications for provided capabilities.
  3. Implementation must allow common APIs to be a pass-through for external components.