This is an automated email from the ASF dual-hosted git repository. rouazana pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 31e04dcbf9d2b707b3573db6fd310381c61a8ee0 Author: Tran Tien Duc <[email protected]> AuthorDate: Wed Jul 17 16:52:51 2019 +0700 JAMES-2834 BlobStore xdoc configuration --- src/site/xdoc/server/config-blobstore.xml | 190 ++++++++++++++++++++++++++++++ src/site/xdoc/server/config-guice.xml | 5 + 2 files changed, 195 insertions(+) diff --git a/src/site/xdoc/server/config-blobstore.xml b/src/site/xdoc/server/config-blobstore.xml new file mode 100644 index 0000000..95af133 --- /dev/null +++ b/src/site/xdoc/server/config-blobstore.xml @@ -0,0 +1,190 @@ +<?xml version="1.0"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> +<document> + + <properties> + <title>Apache James Server 3 - Blob Configuration</title> + </properties> + + <body> + + <section name="BlobStore Configuration"> + <p> + BlobStore is the dedicated component to store blobs, non-indexable content. + James uses the BlobStore for storing blobs which are usually mail contents, attachments, deleted mails... + You can choose the underlying implementation of BlobStore to fit with your James setup. + It could be the implementation on top of Cassandra or file storage service like Openstack Swift, AWS S3. + + This configuration is only applicable with Guice products. + </p> + <p> + Consult <a href="https://github.com/apache/james-project/blob/master/dockerfiles/run/guice/cassandra-rabbitmq/destination/conf/blob.properties">blob.properties</a> + in GIT to get some examples and hints. + </p> + + <p> + Blobs storing configuration + </p> + <dl> + <dt><strong>implementation</strong></dt> + <dd>cassandra: use cassandra based BlobStore</dd> + <dd>objectstorage: use Swift/AWS S3 based BlobStore</dd> + <dd>union: Using both objectstorage as the current BlobStore and cassandra as the legacy BlobStore</dd> + </dl> + + <subsection name="ObjectStorage BlobStore Codec Configuration"> + <dl> + <dt><strong>objectstorage.payload.codec</strong></dt> + <dd>DEFAULT: no encryption</dd> + <dd>AES-256: AES-256 encryption</dd> + </dl> + <subsection name="ObjectStorage AES256 Encryption"> + <dl> + <dt><strong>objectstorage.aes256.hexsalt</strong></dt> + <dd>salt string required by AES 256 encryption</dd> + + <dt><strong>objectstorage.aes256.password</strong></dt> + <dd>password string required by AES 256 encryption</dd> + </dl> + </subsection> + </subsection> + <subsection name="ObjectStorage BlobStore Buckets Configuration"> + <dl> + <dt><strong>objectstorage.bucketPrefix</strong></dt> + <dd> + Bucket is an concept in James and similar to Containers in Swift or Buckets in AWS S3. + BucketPrefix is the prefix of bucket names in James BlobStore + </dd> + + <dt><strong>objectstorage.namespace</strong></dt> + <dd> + BlobStore default bucket name. Most of blobs storing in BlobStore are inside the default bucket. + Unless a special case like storing blobs of deleted messages. + </dd> + </dl> + </subsection> + <subsection name="ObjectStorage Underlying Service Configuration"> + <dl> + <dt><strong>objectstorage.provider</strong></dt> + <dd>swift: Openstack Swift</dd> + <dd>aws-s3: Amazon AWS S3</dd> + </dl> + <subsection name="ObjectStorage Swift Configuration"> + <dl> + <dt><strong>objectstorage.swift.region</strong></dt> + <dd> + Specify the geography region which the BlobStore will connect to a in Swift ObjectStorage + </dd> + + <dt><strong>objectstorage.swift.authapi</strong></dt> + <dd> + Specify the authentication mechanism of Swift. + <strong>tmpauth</strong>:<a href="https://docs.openstack.org/swift/latest/overview_auth.html#tempauth">Swift Temp Auth</a> + <strong>keystone2</strong>:<a href="https://docs.openstack.org/swift/latest/overview_auth.html#keystone-auth">Swift Keystone Auth</a> + <strong>keystone3</strong>:<a href="https://docs.openstack.org/swift/latest/overview_auth.html#keystone-auth">Swift Keystone Auth</a> + </dd> + + <dt><strong>objectstorage.swift.endpoint</strong></dt> + <dd> + authentication endpoint + </dd> + + <dt><strong>objectstorage.swift.credentials</strong></dt> + <dd> + authentication credential + </dd> + </dl> + + <subsection name="ObjectStorage Swift temp Authentication Configuration"> + <dl> + <dt><strong>objectstorage.swift.tempauth.username</strong></dt> + <dd>Username of Swift</dd> + + <dt><strong>objectstorage.swift.tempauth.tenantname</strong></dt> + <dd>Tenantname of Swift</dd> + + <dt><strong>objectstorage.swift.tempauth.passheadername</strong></dt> + <dd>Specify http header name for carrying credential information</dd> + + <dt><strong>objectstorage.swift.tempauth.userheadername</strong></dt> + <dd>Specify http header name for carrying identity information</dd> + </dl> + </subsection> + + <subsection name="ObjectStorage Swift keystone2 Authentication Configuration"> + <dl> + <dt><strong>objectstorage.swift.keystone2.username</strong></dt> + <dd>Similar to tempAuth</dd> + + <dt><strong>objectstorage.swift.keystone2.tenantname</strong></dt> + <dd>Similar to tempAuth</dd> + </dl> + </subsection> + + <subsection name="ObjectStorage Swift keystone3 Authentication Configuration"> + <dl> + <dt><strong>objectstorage.swift.keystone3.user.name</strong></dt> + <dd>Specifying username in identity information</dd> + + <dt><strong>objectstorage.swift.keystone3.user.domain</strong></dt> + <dd>Specifying user domain in identity information</dd> + + <dt><strong>objectstorage.swift.keystone3.scope.domainid</strong></dt> + <dd>Specifying scope domain in identity information</dd> + + <dt><strong>objectstorage.swift.keystone3.scope.project.name</strong></dt> + <dd> + Specifying project name in project information. + Equivalent to <strong>jclouds.keystone.scope</strong> jclouds keystore configuration + </dd> + + <dt><strong>objectstorage.swift.keystone3.scope.project.domainname</strong></dt> + <dd> + Specifying project domain name in project information. + Equivalent to <strong>jclouds.keystone.project-domain-name</strong> jclouds keystore configuration + </dd> + + <dt><strong>objectstorage.swift.keystone3.scope.project.domainid</strong></dt> + <dd> + Specifying project domain id in project information. + Equivalent to <strong>jclouds.keystone.project-domain-id</strong> jclouds keystore configuration + </dd> + </dl> + </subsection> + </subsection> + <subsection name="ObjectStorage AWS S3 Configuration"> + <dl> + <dt><strong>objectstorage.s3.endPoint</strong></dt> + <dd>S3 service endpoint</dd> + + <dt><strong>objectstorage.s3.accessKeyId</strong></dt> + <dd><a href="https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys">S3 access key id</a></dd> + + <dt><strong>objectstorage.s3.secretKey</strong></dt> + <dd><a href="https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys">S3 access key secret</a></dd> + </dl> + </subsection> + </subsection> + </section> + + </body> + +</document> + diff --git a/src/site/xdoc/server/config-guice.xml b/src/site/xdoc/server/config-guice.xml index 17a7811..6c6a12b 100644 --- a/src/site/xdoc/server/config-guice.xml +++ b/src/site/xdoc/server/config-guice.xml @@ -97,6 +97,11 @@ <td><a href="config-blob-export.html">Blob Export Configuration</a></td> <td></td> </tr> + <tr> + <td><a href="https://github.com/apache/james-project/blob/master/dockerfiles/run/guice/cassandra-rabbitmq/destination/conf/blob.properties">blob.properties</a></td> + <td><a href="config-blobstore.html">BlobStore Configuration</a></td> + <td></td> + </tr> </table> <p>See also more specific configurations related to <a href="config-ssl-tls.html">TLS</a>, --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
