[tahoe-lafs-trac-stream] [Tahoe-LAFS] #2773: `tahoe create-node` should require `--location` and/or `--hostname`, and not autodetect

Tahoe-LAFS trac at tahoe-lafs.org
Thu Sep 8 16:55:19 UTC 2016


#2773: `tahoe create-node` should require `--location` and/or `--hostname`, and
not autodetect
--------------------------------+----------------------
     Reporter:  warner          |      Owner:  warner
         Type:  task            |     Status:  assigned
     Priority:  normal          |  Milestone:  1.12.0
    Component:  code-nodeadmin  |    Version:  1.11.0
   Resolution:                  |   Keywords:
Launchpad Bug:                  |
--------------------------------+----------------------

Comment (by warner):

 Hm.. the previous behavior was that `tahoe create-node` (with no
 arguments) would 1: listen on all interfaces, 2: auto-detect the host's IP
 addresses, 3: put all detected IP addresses in the Tub location hints. So
 you'd wind up with the equivalent of e.g. `tub.port = tcp:12345 ;
 tub.location = tcp:127.0.0.1:12345,tcp:8.8.8.8:12345`.

 I believe we decided that automatic IP address detection was
 bad/confusing/unhelpful, and automatic detection of externally-unreachable
 IPs like 127.0.0.1 and RFC1918 addresses was nigh-useless. (I originally
 pushed back against this, because I run test networks on my local box all
 the time, but I finally agreed that the majority use case is more
 important).

 So I think we agreed that running a server on a box with a public IP
 can/should be one argument more verbose: you have to know enough about
 networking to know the hostname (or public IP address) of that box, and
 you provide it when setting up the node.

 So as far as use cases go:

 * no server? run `tahoe create-client` and none of this matters, no extra
 arguments are needed
 * server on public host? run `tahoe create-node --hostname=MYHOSTNAME` and
 you'll wind up with an allocated TCP port and a matching
 `tub.port`/`tub.location`
 * server behind a firewall? figure out port-forwarding and external
 IP/hostname, run `tahoe create-node --port=tcp:LOCALPORT
 --location=tcp:EXTERNALIP:EXTERNALPORT`
 * even more unusual setup? use `--port= --location=` to make it work
 * need multiple location hints? use `--port= --location=`

 and then when #2490 lands, we add:

 * server behind Tor? run `tahoe create-node --listen=tor` (or i2p) to
 automatically set up the .onion/.i2p address

--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2773#comment:16>
Tahoe-LAFS <https://Tahoe-LAFS.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list