From 5471dbfc0e57babdc5f95c1c788fbd3a61c9e9d7 Mon Sep 17 00:00:00 2001
From: Nikita Zinkevich <n.zinkevich@yadro.com>
Date: Thu, 9 Jan 2025 11:23:42 +0300
Subject: [PATCH] [#98] s3_gate: Fix custom user wallets folder creation during
 compose up

Make custom wallets volume to point to the `wallets` directory in the project's root.

Signed-off-by: Nikita Zinkevich <n.zinkevich@yadro.com>
---
 README.md                           | 9 +++++----
 services/s3_gate/docker-compose.yml | 6 ++----
 2 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/README.md b/README.md
index 8e4b714..415885e 100644
--- a/README.md
+++ b/README.md
@@ -143,7 +143,7 @@ Registers user wallet and issues s3 credentials.
 
 Usage and default parameter values:
 ```sh
-make s3cred [password=""] [contract_password=s3] [wallet=/user_wallet.json] [gate_public_key=0313b1ac3a8076e155a7e797b24f0b650cccad5941ea59d7cfd51a024a8b2a06bf]
+make s3cred [password=""] [contract_password=s3] [wallet=""] [gate_public_key=0313b1ac3a8076e155a7e797b24f0b650cccad5941ea59d7cfd51a024a8b2a06bf]
 ```
 
 As soon as the storage node is in the network map (see above) you can generate S3
@@ -159,8 +159,9 @@ $ make s3cred
   "container_id": "EXArWh8x1zeHG3851s1RtoCo7dowxF6rhLGA15nbMffT"
 }                   
 ```
-Running without any parameters will result in defaults which are based on the private key from
-`/user-wallet.json` file and `/wallet.json` contract wallet.
+Running without any parameters results in defaults which are based on the private key from
+`/wallets/wallet.json` user wallet and `/wallet.json` contract wallet.
+If `wallet` parameter is set, gate searches custom user wallet file in `/wallets` directory.
 
 Now let's configure an S3 client (AWS CLI will be used as example):
 
@@ -172,7 +173,7 @@ Default region name []: us-east-1
 Default output format []: json
 ```
 
-If you need to create credentials for different users, put user wallets to `wallets` dir and specify them via `wallet` parameter.
+If you need to create credentials for different users, put user wallet to `wallets` dir and specify it via `wallet` parameter.
 Pass wallet password in `password` parameter if it's not default. The same is for `contract_wallet` and `gate_public_key` params.
 
 ```sh
diff --git a/services/s3_gate/docker-compose.yml b/services/s3_gate/docker-compose.yml
index f7fc28d..3c1f9f6 100644
--- a/services/s3_gate/docker-compose.yml
+++ b/services/s3_gate/docker-compose.yml
@@ -14,10 +14,8 @@ services:
     volumes:
       # Gate wallet
       - ./wallet.json:/wallet.json
-      # Custom user wallets
-      - ./wallets:/wallets
-      # Default user wallet
-      - ./../../wallets/wallet.json:/wallets/wallet.json
+      # Folder for custom user wallets
+      - ./../../wallets/:/wallets/
       - ./tls.key:/tls.key
       - ./tls.crt:/tls.crt
       - ./../../vendor/hosts:/etc/hosts
-- 
2.45.3