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]

Reply via email to