annotate README.md @ 194:6edcd077bc0a 0.9.2

closing branch 0.9.2
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 25 Jun 2024 12:25:09 +0200
parents 393fcf337462
children 2a02b21f0a19
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
fc26a8fc54d5 initial release
Alain Mazy <alain@mazy.be>
parents:
diff changeset
1 # README #
fc26a8fc54d5 initial release
Alain Mazy <alain@mazy.be>
parents:
diff changeset
2
fc26a8fc54d5 initial release
Alain Mazy <alain@mazy.be>
parents:
diff changeset
3 Orthanc object-storages plugin for main cloud providers (Google/Azure/AWS)
fc26a8fc54d5 initial release
Alain Mazy <alain@mazy.be>
parents:
diff changeset
4
4
55ce49bf32b3 readme links to orthanc book doc
Alain Mazy <alain@mazy.be>
parents: 1
diff changeset
5 Check the [Orthanc book](https://book.orthanc-server.com/plugins/object-storage.html) for complete documentation.
1
fc26a8fc54d5 initial release
Alain Mazy <alain@mazy.be>
parents:
diff changeset
6
5
Alain Mazy
parents: 4
diff changeset
7 ## info for developers ##
Alain Mazy
parents: 4
diff changeset
8
Alain Mazy
parents: 4
diff changeset
9 Here's a sample configuration file of the `StorageEncryption` section of the plugins:
Alain Mazy
parents: 4
diff changeset
10
Alain Mazy
parents: 4
diff changeset
11 ```
Alain Mazy
parents: 4
diff changeset
12 {
Alain Mazy
parents: 4
diff changeset
13 "StorageEncryption" : {
Alain Mazy
parents: 4
diff changeset
14 "Enable": true,
Alain Mazy
parents: 4
diff changeset
15 "MasterKey": [3, "/path/to/master.key"], // key id - path to the base64 encoded key
Alain Mazy
parents: 4
diff changeset
16 "PreviousMasterKeys" : [
Alain Mazy
parents: 4
diff changeset
17 [ 1, "/path/to/previous1.key"],
Alain Mazy
parents: 4
diff changeset
18 [ 2, "/path/to/previous2.key"]
Alain Mazy
parents: 4
diff changeset
19 ],
Alain Mazy
parents: 4
diff changeset
20 "MaxConcurrentInputSize" : 1024 // size in MB
Alain Mazy
parents: 4
diff changeset
21 }
Alain Mazy
parents: 4
diff changeset
22 }
Alain Mazy
parents: 4
diff changeset
23 ```
Alain Mazy
parents: 4
diff changeset
24
Alain Mazy
parents: 4
diff changeset
25 ### Compile Google plugin ###
Alain Mazy
parents: 4
diff changeset
26
Alain Mazy
parents: 4
diff changeset
27 * `./vcpkg install google-cloud-cpp`
Alain Mazy
parents: 4
diff changeset
28 * `./vcpkg install cryptopp`
Alain Mazy
parents: 4
diff changeset
29 * `hg clone ...`
Alain Mazy
parents: 4
diff changeset
30 * `mkdir -p build/google`
Alain Mazy
parents: 4
diff changeset
31 * `cd build/google`
Alain Mazy
parents: 4
diff changeset
32 * `cmake -DCMAKE_TOOLCHAIN_FILE=[vcpkg root]\scripts\buildsystems\vcpkg.cmake ../../orthanc-object-storage/google`
Alain Mazy
parents: 4
diff changeset
33
Alain Mazy
parents: 4
diff changeset
34 ### Google plugin configuration ###
Alain Mazy
parents: 4
diff changeset
35
Alain Mazy
parents: 4
diff changeset
36 ```
Alain Mazy
parents: 4
diff changeset
37 "GoogleCloudStorage" : {
Alain Mazy
parents: 4
diff changeset
38 "ServiceAccountFile": "/.../googleServiceAccountFile.json",
Alain Mazy
parents: 4
diff changeset
39 "BucketName": "test-orthanc-storage-plugin"
Alain Mazy
parents: 4
diff changeset
40 }
Alain Mazy
parents: 4
diff changeset
41
Alain Mazy
parents: 4
diff changeset
42 ```
Alain Mazy
parents: 4
diff changeset
43
Alain Mazy
parents: 4
diff changeset
44 ## Azure Blob Storage plugin ##
Alain Mazy
parents: 4
diff changeset
45
Alain Mazy
parents: 4
diff changeset
46 ### Prerequisites ###
Alain Mazy
parents: 4
diff changeset
47
Alain Mazy
parents: 4
diff changeset
48 * Install [vcpkg](https://github.com/Microsoft/vcpkg)
Alain Mazy
parents: 4
diff changeset
49
Alain Mazy
parents: 4
diff changeset
50 ### Compile Azure plugin ###
Alain Mazy
parents: 4
diff changeset
51
Alain Mazy
parents: 4
diff changeset
52 * `./vcpkg install cpprestsdk`
Alain Mazy
parents: 4
diff changeset
53 * `hg clone ...`
Alain Mazy
parents: 4
diff changeset
54 * `mkdir -p build/azure`
Alain Mazy
parents: 4
diff changeset
55 * `cd build/azure`
Alain Mazy
parents: 4
diff changeset
56 * `cmake -DCMAKE_TOOLCHAIN_FILE=[vcpkg root]\scripts\buildsystems\vcpkg.cmake ../../orthanc-object-storage/Azure`
Alain Mazy
parents: 4
diff changeset
57
Alain Mazy
parents: 4
diff changeset
58 ### Azure plugin configuration ###
Alain Mazy
parents: 4
diff changeset
59
Alain Mazy
parents: 4
diff changeset
60 ```
Alain Mazy
parents: 4
diff changeset
61 "AzureBlobStorage" : {
Alain Mazy
parents: 4
diff changeset
62 "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=xxxxxxxxx;AccountKey=yyyyyyyy===;EndpointSuffix=core.windows.net",
Alain Mazy
parents: 4
diff changeset
63 "ContainerName" : "test-orthanc-storage-plugin"
Alain Mazy
parents: 4
diff changeset
64 }
Alain Mazy
parents: 4
diff changeset
65 ```
Alain Mazy
parents: 4
diff changeset
66
Alain Mazy
parents: 4
diff changeset
67 ## AWS S3 Storage plugin ##
Alain Mazy
parents: 4
diff changeset
68
Alain Mazy
parents: 4
diff changeset
69 ### Prerequisites ###
Alain Mazy
parents: 4
diff changeset
70
Alain Mazy
parents: 4
diff changeset
71 * Install [vcpkg](https://github.com/Microsoft/vcpkg)
Alain Mazy
parents: 4
diff changeset
72
Alain Mazy
parents: 4
diff changeset
73 * compile the AWS C++ SDK
Alain Mazy
parents: 4
diff changeset
74
Alain Mazy
parents: 4
diff changeset
75 ```
Alain Mazy
parents: 4
diff changeset
76
Alain Mazy
parents: 4
diff changeset
77 mkdir ~/aws
Alain Mazy
parents: 4
diff changeset
78 cd ~/aws
Alain Mazy
parents: 4
diff changeset
79 git clone https://github.com/aws/aws-sdk-cpp.git
Alain Mazy
parents: 4
diff changeset
80
Alain Mazy
parents: 4
diff changeset
81 mkdir -p ~/aws/builds/aws-sdk-cpp
Alain Mazy
parents: 4
diff changeset
82 cd ~/aws/builds/aws-sdk-cpp
Alain Mazy
parents: 4
diff changeset
83 cmake -DBUILD_ONLY="s3;transfer" ~/aws/aws-sdk-cpp
Alain Mazy
parents: 4
diff changeset
84 make -j 4
Alain Mazy
parents: 4
diff changeset
85 make install
Alain Mazy
parents: 4
diff changeset
86 ```
Alain Mazy
parents: 4
diff changeset
87
Alain Mazy
parents: 4
diff changeset
88 ### Compile AWS S3 plugin ###
Alain Mazy
parents: 4
diff changeset
89
Alain Mazy
parents: 4
diff changeset
90 * `./vcpkg install cryptopp`
Alain Mazy
parents: 4
diff changeset
91 * `hg clone ...`
Alain Mazy
parents: 4
diff changeset
92 * `mkdir -p build/aws`
Alain Mazy
parents: 4
diff changeset
93 * `cd build/aws`
Alain Mazy
parents: 4
diff changeset
94 * `cmake -DCMAKE_TOOLCHAIN_FILE=[vcpkg root]\scripts\buildsystems\vcpkg.cmake ../../orthanc-object-storage/Aws`
Alain Mazy
parents: 4
diff changeset
95
Alain Mazy
parents: 4
diff changeset
96 ### Azure plugin configuration ###
Alain Mazy
parents: 4
diff changeset
97
Alain Mazy
parents: 4
diff changeset
98 ```
Alain Mazy
parents: 4
diff changeset
99 "AwsS3Storage" : {
Alain Mazy
parents: 4
diff changeset
100 "BucketName": "test-orthanc-s3-plugin",
Alain Mazy
parents: 4
diff changeset
101 "Region" : "eu-central-1",
Alain Mazy
parents: 4
diff changeset
102 "AccessKey" : "AKXXX",
6
393fcf337462 AWS: added 3 configurations: Endpoint, ConnectionTimeout, RequestTimeout
Alain Mazy
parents: 5
diff changeset
103 "SecretKey" : "RhYYYY",
393fcf337462 AWS: added 3 configurations: Endpoint, ConnectionTimeout, RequestTimeout
Alain Mazy
parents: 5
diff changeset
104 "Endpoint": "", // optional: custom endpoint
393fcf337462 AWS: added 3 configurations: Endpoint, ConnectionTimeout, RequestTimeout
Alain Mazy
parents: 5
diff changeset
105 "ConnectionTimeout": 30, // optional: connection timeout in seconds
393fcf337462 AWS: added 3 configurations: Endpoint, ConnectionTimeout, RequestTimeout
Alain Mazy
parents: 5
diff changeset
106 "RequestTimeout": 1200 // optional: request timeout in seconds (max time to upload/download a file)
5
Alain Mazy
parents: 4
diff changeset
107 }
Alain Mazy
parents: 4
diff changeset
108 ```