From e45145986aff9874c83c303cad7a09b198ba46ce Mon Sep 17 00:00:00 2001 From: NGPixel Date: Sun, 7 Jun 2020 18:08:33 -0400 Subject: [PATCH] feat: generic S3 module --- .../modules/storage/s3generic/definition.yml | 39 +++++++++++++++++++ server/modules/storage/s3generic/storage.js | 3 ++ 2 files changed, 42 insertions(+) create mode 100644 server/modules/storage/s3generic/definition.yml create mode 100644 server/modules/storage/s3generic/storage.js diff --git a/server/modules/storage/s3generic/definition.yml b/server/modules/storage/s3generic/definition.yml new file mode 100644 index 00000000..2db6eaff --- /dev/null +++ b/server/modules/storage/s3generic/definition.yml @@ -0,0 +1,39 @@ +key: s3generic +title: S3 Generic +description: Generic storage module for S3-compatible services. +author: requarks.io +logo: https://static.requarks.io/logo/aws-s3-alt.svg +website: https://wiki.js.org +isAvailable: true +supportedModes: + - push +defaultMode: push +schedule: false +props: + endpoint: + type: String + title: Endpoint URI + hint: The full S3-compliant endpoint URI. + default: https://service.region.example.com + order: 1 + bucket: + type: String + title: Unique bucket name + hint: The unique bucket name to create (e.g. wiki-johndoe) + order: 2 + accessKeyId: + type: String + title: Access Key ID + hint: The Access Key ID. + order: 3 + secretAccessKey : + type: String + title: Access Key Secret + hint: The Access Key Secret for the Access Key ID above. + sensitive: true + order: 4 +actions: + - handler: exportAll + label: Export All + hint: Output all content from the DB to the external service, overwriting any existing data. If you enabled this module after content was created or you temporarily disabled it, you'll want to execute this action to add the missing content. + diff --git a/server/modules/storage/s3generic/storage.js b/server/modules/storage/s3generic/storage.js new file mode 100644 index 00000000..5e2a1b0e --- /dev/null +++ b/server/modules/storage/s3generic/storage.js @@ -0,0 +1,3 @@ +const S3CompatibleStorage = require('../s3/common') + +module.exports = new S3CompatibleStorage('S3Generic')