pygeoapi icon indicating copy to clipboard operation
pygeoapi copied to clipboard

Module for resource management / dynamic resources

Open matthesrieke opened this issue 2 years ago • 5 comments

Is your feature request related to a problem? Please describe. Currently, pygeoapi does not allow to add new resources to the running instance. Resource are defined via config and a restart is required to enable new resources. This feature request is a first step into the goal to allow dynamic additional/removal/update (basically CRUD) of resources at runtime.

Describe the solution you'd like The idea of this feature request is to refactor the API class to use a dedicated class for resource management. Currently, API uses a lot of self.config['resources'] style access. By introducing a dedicated ResourceRegistry (abstract class), the architecture will allow to replace the config-based implementation with a CRUD style registry, even controlled by an API to allow a transactions.

The implementing class for ResourceRegistry can be controlled via the configuration.

Describe alternatives you've considered Alternatives are to implement some workarounds in the API class, but they would make the class even more complex.

Additional context I have seen some related requests in the GitHub discussions here:

  • https://github.com/geopython/pygeoapi/discussions/1074
  • https://github.com/geopython/pygeoapi/discussions/1347

A WIP branch is already in progress: https://github.com/geopython/pygeoapi/compare/master...52North:pygeoapi:feature/resource-registry

matthesrieke avatar Sep 18 '23 07:09 matthesrieke

As per RFC4, this Issue has been inactive for 90 days. In order to manage maintenance burden, it will be automatically closed in 7 days.

github-actions[bot] avatar Mar 10 '24 21:03 github-actions[bot]

@matthesrieke may be related: https://github.com/geopython/pygeoapi/issues/1636

ridoo avatar Apr 30 '24 06:04 ridoo

Thanks, will join the conversation.

matthesrieke avatar Apr 30 '24 13:04 matthesrieke