overture-stack / lyric

GNU Affero General Public License v3.0
0 stars 0 forks source link

Feature - Ability to operate without Lectern connection #79

Open joneubank opened 2 months ago

joneubank commented 2 months ago

Summary of request

There are cases where Lectern server is not available or wanted, but we want to run Lyric for data submission. In these cases, we would create data categories by uploading a Lectern format dictionary in the body of the create category request.

Details

  1. Design an update to create dictionary endpoint or create a second endpoint, to allow creation of a data category without lectern availability.
  2. Modify config to make Lectern connection optional - This should be controlled with a feature flag type property (ENABLE_LECTERN_SERVER type property)
    1. When Lectern connection details are provided in the config, Lyric will enable the functionality to fetch Lectern dictionaries from the Lectern server.
    2. When Lectern connection details are not provided in the config, Lyric will disable the fetch from Lectern functionality. Requests that rely on Lectern will return an error message rejecting those requests.
    3. It may be nice to have the lectern server status communicated in the health/status endpoint.
  3. Lyric needs to have an endpoint to return the active dictionary for a data category.

Additional context

We are looking into integrating Lyric into other projects that are not expected to host and maintain multiple rapidly changing dictionaries, so there is no reason to deploy Lectern in those environments. Instead, we can use Lectern's tools to validate a dictionary and upload the dictionary directly to Lyric.