This project retrieves images from our object storage provider(s). No API key is required.
The application needs Java17 and Maven v3.8.x or above
- We use 3 storages : IBM Cloud S3 storage, Amazon S3 (deprecated) and IIIF server (deprecated)
- When a request for a thumbnail comes in, the API’s ThumbnailController will always check IBM Cloud storage first and if a thumbnail is not found there it will go on to check if it’s in the old Amazon S3 storage. If it can be found there either, it will check the IIIF server (for v2 IIIF image urls).
- The upload functionality uses an (unmodified) version of the Scrimage library for scaling images and converting them to webp. This library has an Apache 2.0 license
mvn clean install (add -DskipTests) to skip the unit tests during build
-
Generate a Docker image using the project's Dockerfile
-
Configure the application by generating a
thumbnail.user.propertiesfile and placing this in the k8s folder. After deployment this file will override the settings specified in thethumbnail.propertiesfile located in the src/main/resources folder. The .gitignore file makes sure the .user.properties file is never committed. -
Configure the deployment by setting the proper environment variables specified in the configuration template files in the k8s folder
-
Deploy to Kubernetes infrastructure