GeoNode / geoserver-restconfig

geoserver-restconfig is a python library for manipulating a GeoServer instance via the GeoServer RESTConfig API.
MIT License
46 stars 29 forks source link

Support S3 storage for resource path for geotiff #45

Open pchevali opened 6 months ago

pchevali commented 6 months ago

Is your feature request related to a problem? Please describe.

It is possible from geonode to enable different backend for storage. For example STORAGE_MANAGER_CONCRETE_CLASS="geonode.storage.aws.AwsStorageManager" And if geoserver has the S3 geotiff storage plugin, it would be nice to have to be able to use an image stored in an S3 storage service.

Describe the solution you'd like Being able to create a coverage store by giving a s3:// style url, or alias:// as stated in https://docs.geoserver.org/main/en/user/community/s3-geotiff/index.html

Describe alternatives you've considered Mounting the S3 storage as local dir. But fear a listdir performance trap maybe...

Additional context There is a thing that prevent using s3 storage URL is that path is forcibly prefixed by "file:/" at this line https://github.com/GeoNode/geoserver-restconfig/blob/0f064768e95a28a83c232d2f840e17e8e0522084/src/geoserver/catalog.py#L640 Would it solve problem to release this prefix condition ? Maybe just check if the path contains an URL connection schema ( http:, file: , s3: ,whatever:), and put the "file:" prefix if nothing specified.