Private cluster with selective replication

This is what I have

Can I clarify a few points?

  1. Do I still need the port 4001 for the ipfs swarm to connect with other peers? In my docker compose I didn’t export port 4001 but the pins were replicated so I assumed ipfs cluster will handle the block transfer between the ipfs nodes?
  2. From How to upload the file in IPFS-cluster when I know only CID - #2 by hector, can I check if I should always ipfs-cluster-ctl add to pin the object, and if ipfs uses local pin as per my diagram shows?
 % curl -v -XPOST http://fs-node02:9095/api/v0/add -F file=@testfile.txt
> POST /api/v0/add HTTP/1.1
> User-Agent: curl/7.79.1
> Accept: */*
> Content-Length: 210
> Content-Type: multipart/form-data; boundary=------------------------81ac6f2122b9c4e5
> 
* We are completely uploaded and fine
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Access-Control-Expose-Headers: X-Stream-Output, X-Chunked-Output, X-Content-Length
< Cache-Control: no-cache
< Connection: close
< Content-Type: application/json
< Server: ipfs-cluster/ipfsproxy/1.0.2+gitc4d78d52f8a37ad28fdf12c3c6af8009d05c4a6e
< Trailer: X-Stream-Error
< Vary: Origin
< Vary: Access-Control-Request-Method
< Vary: Access-Control-Request-Headers
< X-Chunked-Output: 1
< Date: Sat, 20 Aug 2022 14:35:08 GMT
< Transfer-Encoding: chunked
< 
{"Name":"testfile.txt","Hash":"QmYYG9kKXdbbQWyfQwJsT1r2BDiFbGNfAXCRng8CMY19Gi","Size":"28"}
* Closing connection 0
/ # ipfs pin ls QmYYG9kKXdbbQWyfQwJsT1r2BDiFbGNfAXCRng8CMY19Gi
QmYYG9kKXdbbQWyfQwJsT1r2BDiFbGNfAXCRng8CMY19Gi recursive
  1. How do I access the cluster health metrics via API?
/ # ipfs-cluster-ctl pin ls
QmYYG9kKXdbbQWyfQwJsT1r2BDiFbGNfAXCRng8CMY19Gi |  | PIN | Repl. Factor: -1 | Allocations: [everywhere] | Recursive | Metadata: no | Exp: ∞ | Added: 2022-08-20 14:35:08
/ # ipfs-cluster-ctl health metrics freespace
12D3KooWHsRnSKFyYeB211wRxAGFGqBGr4WJvjgvJSGkYnKsVfHh | freespace: 10 GB | Expires in: 20 seconds from now
12D3KooWKT5gp8c6o3uu1ZLSn64QsGhFE5g67xYPcCdSoykoJwgb | freespace: 10 GB | Expires in: 17 seconds from now
  1. Is there any webui for my users to upload via 9005 or it requires some work with the js-cluster-client?
  2. If I would need to change the ipfs chunker, and assuming ipfs-cluster 9095 is gateway to ipfs 5001, should I create our implementations of ipfs for different chunker mechanism?