diff --git a/roles/matrix-synapse/defaults/main.yml b/roles/matrix-synapse/defaults/main.yml index fb4a66e61..7d36b6e0f 100644 --- a/roles/matrix-synapse/defaults/main.yml +++ b/roles/matrix-synapse/defaults/main.yml @@ -595,6 +595,18 @@ matrix_synapse_media_storage_provider_s3_secret_access_key: "" matrix_synapse_media_storage_provider_s3_storage_class: "STANDARD" matrix_synapse_media_storage_provider_s3_threadpool_size: "20" +matrix_synapse_media_storage_provider_s3_config: "{{ matrix_synapse_media_storage_provider_s3_config_yaml|from_yaml }}" +matrix_synapse_media_storage_provider_s3_config_yaml: | + "bucket": {{ matrix_synapse_media_storage_provider_s3_bucket|to_json }}, + # All of the below options are optional, for use with non-AWS S3-like + # services, or to specify access tokens here instead of some external method. + "region_name": {{ matrix_synapse_media_storage_provider_s3_region_name|to_json }}, + "endpoint_url": {{ matrix_synapse_media_storage_provider_s3_endpoint_url|to_json }}, + "access_key_id": {{ matrix_synapse_media_storage_provider_s3_access_key_id|to_json }}, + "secret_access_key": {{ matrix_synapse_media_storage_provider_s3_secret_access_key|to_json }}, + "storage_class": {{ matrix_synapse_s3_media_store_storage_class|to_json }}, + "threadpool_size": {{ matrix_synapse_media_storage_provider_s3_threadpool_size }} + # Goofys S3 Integration matrix_s3_media_store_enabled: false matrix_s3_media_store_custom_endpoint_enabled: false diff --git a/roles/matrix-synapse/tasks/synapse/setup_install.yml b/roles/matrix-synapse/tasks/synapse/setup_install.yml index 4ac09c8ab..b828532cb 100644 --- a/roles/matrix-synapse/tasks/synapse/setup_install.yml +++ b/roles/matrix-synapse/tasks/synapse/setup_install.yml @@ -141,16 +141,7 @@ "store_local": {{ matrix_synapse_s3_media_store_on_s3 }}, "store_remote": {{ matrix_synapse_s3_media_store_on_local_filesystem }}, "store_synchronous": {{ matrix_synapse_media_storage_provider_s3_store_synchronous }}, - "config": - "bucket": {{ matrix_synapse_media_storage_provider_s3_bucket|to_json }}, - # All of the below options are optional, for use with non-AWS S3-like - # services, or to specify access tokens here instead of some external method. - "region_name": {{ matrix_synapse_media_storage_provider_s3_region_name|to_json }}, - "endpoint_url": {{ matrix_synapse_media_storage_provider_s3_endpoint_url|to_json }}, - "access_key_id": {{ matrix_synapse_media_storage_provider_s3_access_key_id|to_json }}, - "secret_access_key": {{ matrix_synapse_media_storage_provider_s3_secret_access_key|to_json }}, - "storage_class": {{ matrix_synapse_s3_media_store_storage_class|to_json }}, - "threadpool_size": {{ matrix_synapse_media_storage_provider_s3_threadpool_size }} + "config": {{ matrix_synapse_media_storage_provider_s3_config }} } } ]