From 9e70d51e8a7bcc53b69f90956b7e5fb7b2a0a13c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20Desfr=C3=AAnes?= <mickael.desfrenes@unicaen.fr> Date: Thu, 6 Feb 2025 09:55:23 +0100 Subject: [PATCH] add cantaloupe config for test, pprd, prod --- pount/apps/iiif/storage_backends.py | 12 +++++++++++- pount/apps/iiif/views.py | 4 +--- pount/settings/common.py | 11 +++++++++++ pount/settings/dev.py | 4 ++++ pount/settings/preprod.py | 6 ++++++ pount/settings/prod.py | 7 +++++++ pount/settings/test.py | 6 ++++++ 7 files changed, 46 insertions(+), 4 deletions(-) diff --git a/pount/apps/iiif/storage_backends.py b/pount/apps/iiif/storage_backends.py index 1c2b67ce..3f45cafc 100644 --- a/pount/apps/iiif/storage_backends.py +++ b/pount/apps/iiif/storage_backends.py @@ -1,5 +1,15 @@ +from django.conf import settings + from pount.apps.api.storage_backends import MediaStorage class IIIFFileStorage(MediaStorage): - location = "iiif" + location = str(settings.CANTALOUPE_S3SOURCE_BASICLOOKUPSTRATEGY_PATH_PREFIX).rstrip("/") + + def get_default_settings(self): + default_settings = super().get_default_settings() + default_settings["access_key"] = settings.CANTALOUPE_S3SOURCE_ACCESS_KEY_ID + default_settings["secret_key"] = settings.CANTALOUPE_S3SOURCE_SECRET_KEY + default_settings["bucket_name"] = settings.CANTALOUPE_S3SOURCE_BASICLOOKUPSTRATEGY_BUCKET_NAME + default_settings["endpoint_url"] = settings.CANTALOUPE_S3SOURCE_ENDPOINT + return default_settings diff --git a/pount/apps/iiif/views.py b/pount/apps/iiif/views.py index 8a21ecc0..bc175f7a 100644 --- a/pount/apps/iiif/views.py +++ b/pount/apps/iiif/views.py @@ -1,5 +1,3 @@ -from os import environ - import urllib3 from django.conf import settings from django.contrib.auth import get_user_model @@ -56,7 +54,7 @@ ProxyView.get_request_headers = get_request_headers class IIIFProxyView(ProxyView): - upstream = environ.get("IIIF_UPSTREAM_URL", "http://localhost:8182/iiif/") + upstream = settings.CANTALOUPE_IIIF_UPSTREAM_URL add_x_forwarded = True def __init__(self, *args, **kwargs): diff --git a/pount/settings/common.py b/pount/settings/common.py index b707df13..c903d32d 100644 --- a/pount/settings/common.py +++ b/pount/settings/common.py @@ -505,3 +505,14 @@ MONGODB_PASSWORD = environ.get("MONGODB_PASSWORD", "pount_dev") MONGODB_HOST = environ.get("MONGODB_HOST", "localhost") MONGODB_DATABASE = environ.get("MONGODB_DATABASE", "pount_dev") MONGODB_URI = f"mongodb://{MONGODB_USER}:{MONGODB_PASSWORD}@{MONGODB_HOST}/?retryWrites=true&w=majority&authSource={MONGODB_DATABASE}" + + +############## +# CANTALOUPE # +############## +CANTALOUPE_S3SOURCE_SECRET_KEY = environ.get("CANTALOUPE_S3SOURCE_SECRET_KEY", AWS_SECRET_ACCESS_KEY) +CANTALOUPE_S3SOURCE_ACCESS_KEY_ID = environ.get("CANTALOUPE_S3SOURCE_ACCESS_KEY_ID", AWS_ACCESS_KEY_ID) +CANTALOUPE_S3SOURCE_BASICLOOKUPSTRATEGY_BUCKET_NAME = environ.get("CANTALOUPE_S3SOURCE_BASICLOOKUPSTRATEGY_BUCKET_NAME", AWS_STORAGE_BUCKET_NAME) +CANTALOUPE_S3SOURCE_BASICLOOKUPSTRATEGY_PATH_PREFIX = environ.get("CANTALOUPE_S3SOURCE_BASICLOOKUPSTRATEGY_PATH_PREFIX", "iiif/") +CANTALOUPE_S3SOURCE_ENDPOINT = environ.get("CANTALOUPE_S3SOURCE_ENDPOINT", AWS_S3_ENDPOINT_URL) +CANTALOUPE_IIIF_UPSTREAM_URL = environ.get("CANTALOUPE_IIIF_UPSTREAM_URL", "http://localhost:8182/iiif/") diff --git a/pount/settings/dev.py b/pount/settings/dev.py index b7433718..e845c06e 100644 --- a/pount/settings/dev.py +++ b/pount/settings/dev.py @@ -73,5 +73,9 @@ REST_FRAMEWORK["DEFAULT_AUTHENTICATION_CLASSES"] = [ "rest_framework.authentication.SessionAuthentication", ] +############## +# CANTALOUPE # +############## +CANTALOUPE_S3SOURCE_BASICLOOKUPSTRATEGY_BUCKET_NAME = environ.get("CANTALOUPE_S3SOURCE_BASICLOOKUPSTRATEGY_BUCKET_NAME", AWS_STORAGE_BUCKET_NAME) icecream_install() diff --git a/pount/settings/preprod.py b/pount/settings/preprod.py index 27cf3f05..a8500fcb 100644 --- a/pount/settings/preprod.py +++ b/pount/settings/preprod.py @@ -106,3 +106,9 @@ MONGODB_PASSWORD = "{{ mongodb_password }}" MONGODB_HOST = "{{ mongodb_host }}" MONGODB_DATABASE = "{{ mongodb_database }}" MONGODB_URI = f"mongodb://{MONGODB_USER}:{MONGODB_PASSWORD}@{MONGODB_HOST}/?retryWrites=true&w=majority&authSource={MONGODB_DATABASE}" + +############## +# CANTALOUPE # +############## +CANTALOUPE_S3SOURCE_BASICLOOKUPSTRATEGY_BUCKET_NAME = environ.get("CANTALOUPE_S3SOURCE_BASICLOOKUPSTRATEGY_BUCKET_NAME", "pount-iiif-pprd") +CANTALOUPE_IIIF_UPSTREAM_URL = environ.get("CANTALOUPE_IIIF_UPSTREAM_URL", "http://cantaloupe-pprd-1.srv.unistra.fr:8182/iiif/") diff --git a/pount/settings/prod.py b/pount/settings/prod.py index 86ca0a5b..c898c149 100644 --- a/pount/settings/prod.py +++ b/pount/settings/prod.py @@ -106,3 +106,10 @@ MONGODB_PASSWORD = "{{ mongodb_password }}" MONGODB_HOST = "{{ mongodb_host }}" MONGODB_DATABASE = "{{ mongodb_database }}" MONGODB_URI = f"mongodb://{MONGODB_USER}:{MONGODB_PASSWORD}@{MONGODB_HOST}/?retryWrites=true&w=majority&authSource={MONGODB_DATABASE}" + + +############## +# CANTALOUPE # +############## +CANTALOUPE_S3SOURCE_BASICLOOKUPSTRATEGY_BUCKET_NAME = environ.get("CANTALOUPE_S3SOURCE_BASICLOOKUPSTRATEGY_BUCKET_NAME", "pount-iiif-prod") +CANTALOUPE_IIIF_UPSTREAM_URL = environ.get("CANTALOUPE_IIIF_UPSTREAM_URL", "http://cantaloupe-prod-1.srv.unistra.fr:8182/iiif/") diff --git a/pount/settings/test.py b/pount/settings/test.py index 624fcb77..e266d4f6 100644 --- a/pount/settings/test.py +++ b/pount/settings/test.py @@ -120,3 +120,9 @@ REST_FRAMEWORK["DEFAULT_AUTHENTICATION_CLASSES"] = [ "rest_framework.authentication.TokenAuthentication", "rest_framework.authentication.SessionAuthentication", ] + +############## +# CANTALOUPE # +############## +CANTALOUPE_S3SOURCE_BASICLOOKUPSTRATEGY_BUCKET_NAME = environ.get("CANTALOUPE_S3SOURCE_BASICLOOKUPSTRATEGY_BUCKET_NAME", "pount-iiif-test") +CANTALOUPE_IIIF_UPSTREAM_URL = environ.get("CANTALOUPE_IIIF_UPSTREAM_URL", "http://cantaloupe-test-1.srv.unistra.fr:8182/iiif/") -- GitLab