@@ -43,6 +43,7 @@ module Hydra.Network.Etcd where
43
43
import Hydra.Prelude
44
44
45
45
import Cardano.Binary (decodeFull' , serialize' )
46
+ import Cardano.Crypto.Hash (SHA256 , hashToStringAsHex , hashWithSerialiser )
46
47
import Control.Concurrent.Class.MonadSTM (
47
48
modifyTVar' ,
48
49
newTBQueueIO ,
@@ -59,6 +60,7 @@ import Data.Aeson (decodeFileStrict', encodeFile)
59
60
import Data.Aeson qualified as Aeson
60
61
import Data.Aeson.Types (Value )
61
62
import Data.ByteString qualified as BS
63
+ import Data.ByteString.Char8 qualified as BS8
62
64
import Data.List ((\\) )
63
65
import Data.List qualified as List
64
66
import Data.Map qualified as Map
@@ -199,7 +201,7 @@ withEtcdNetwork tracer protocolVersion config callback action = do
199
201
$ concat
200
202
[ -- NOTE: Must be used in clusterPeers
201
203
[" --name" , show advertise]
202
- , [" --data-dir" , persistenceDir </> " etcd" ]
204
+ , [" --data-dir" , persistenceDir </> " etcd" </> hashToStringAsHex (hashWithSerialiser @ SHA256 toCBOR $ BS8. pack clusterPeers) ]
203
205
, [" --listen-peer-urls" , httpUrl listen]
204
206
, [" --initial-advertise-peer-urls" , httpUrl advertise]
205
207
, [" --listen-client-urls" , httpUrl clientHost]
0 commit comments