diff options
author | Florian Klink <flokli@flokli.de> | 2024-04-23 11:57:43 +0300 |
---|---|---|
committer | Florian Klink <flokli@flokli.de> | 2024-06-05 08:41:36 +0200 |
commit | a0f6bc5b7faa0d557179a7c4ed4c8d0facb9afa4 (patch) | |
tree | a16e5b4d951c793bbd7f6ef62a66d15e7c4605c6 /doc | |
parent | a2c1de646bce4a96cf8dc526f82bd88bcf3dde70 (diff) | |
download | garage-a0f6bc5b7faa0d557179a7c4ed4c8d0facb9afa4.tar.gz garage-a0f6bc5b7faa0d557179a7c4ed4c8d0facb9afa4.zip |
add rpc_public_addr_subnet config option
In case `rpc_public_addr` is not set, but autodiscovery is used, this
allows filtering the list of automatically discovered IPs to a specific
subnet.
For example, if nodes should pick *their* IP inside a specific subnet,
but you don't want to explicitly write the IP down (as it's dynamic, or
you want to share configs across nodes), you can use this option.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/book/cookbook/real-world.md | 2 | ||||
-rw-r--r-- | doc/book/reference-manual/configuration.md | 12 |
2 files changed, 14 insertions, 0 deletions
diff --git a/doc/book/cookbook/real-world.md b/doc/book/cookbook/real-world.md index 7dba784d..48d2b369 100644 --- a/doc/book/cookbook/real-world.md +++ b/doc/book/cookbook/real-world.md @@ -152,6 +152,8 @@ Check the following for your configuration files: - Make sure `rpc_public_addr` contains the public IP address of the node you are configuring. This parameter is optional but recommended: if your nodes have trouble communicating with one another, consider adding it. + Alternatively, you can also set `rpc_public_addr_subnet`, which can filter + the addresses announced to other peers to a specific subnet. - Make sure `rpc_secret` is the same value on all nodes. It should be a 32-bytes hex-encoded secret key. You can generate such a key with `openssl rand -hex 32`. diff --git a/doc/book/reference-manual/configuration.md b/doc/book/reference-manual/configuration.md index 423795fe..20821a5b 100644 --- a/doc/book/reference-manual/configuration.md +++ b/doc/book/reference-manual/configuration.md @@ -31,6 +31,9 @@ rpc_secret = "4425f5c26c5e11581d3223904324dcb5b5d5dfb14e5e7f35e38c595424f5f1e6" rpc_bind_addr = "[::]:3901" rpc_bind_outgoing = false rpc_public_addr = "[fc00:1::1]:3901" +# or set rpc_public_adr_subnet to filter down autodiscovery to a subnet: +# rpc_public_addr_subnet = "2001:0db8:f00:b00:/64" + allow_world_readable_secrets = false @@ -105,6 +108,7 @@ Top-level configuration options: [`rpc_bind_addr`](#rpc_bind_addr), [`rpc_bind_outgoing`](#rpc_bind_outgoing), [`rpc_public_addr`](#rpc_public_addr), +[`rpc_public_addr_subnet`](#rpc_public_addr_subnet) [`rpc_secret`/`rpc_secret_file`](#rpc_secret). The `[consul_discovery]` section: @@ -543,6 +547,14 @@ RPC calls. **This parameter is optional but recommended.** In case you have a NAT that binds the RPC port to a port that is different on your public IP, this field might help making it work. +#### `rpc_public_addr_subnet` {#rpc_public_addr_subnet} +In case `rpc_public_addr` is not set, but autodiscovery is used, this allows +filtering the list of automatically discovered IPs to a specific subnet. + +For example, if nodes should pick *their* IP inside a specific subnet, but you +don't want to explicitly write the IP down (as it's dynamic, or you want to +share configs across nodes), you can use this option. + #### `bootstrap_peers` {#bootstrap_peers} A list of peer identifiers on which to contact other Garage peers of this cluster. |