Skip to content

data-mesher

Set up data-mesher

System

This service will set up data-mesher.

Usage

inventory.instances = {
  data-mesher = {
    module = {
      name = "data-mesher";
      input = "clan-core";
    };
    roles.admin.machines.server0 = {
      settings = {
        bootstrapNodes = {
          node1 = "192.168.1.1:7946";
          node2 = "192.168.1.2:7946";
        };

        network = {
          hostTTL = "24h";
          interface = "tailscale0";
        };
      };
    };
    roles.peer.machines.server1 = { };
    roles.signer.machines.server2 = { };
  };
}

Roles

The data-mesher module has the following roles:

  • admin
  • peer
  • signer

Options for the admin role

bootstrapNodes

A list of bootstrap nodes that act as an initial gateway when joining the cluster.

Type: null or (attribute set of string)

Example
{
  node1 = "192.168.1.1:7946";
  node2 = "192.168.1.2:7946";
}

Declared in: clanServices/data-mesher/default.nix

network.hostTTL

The TTL for hosts in the network, in the form of a Go time.Duration

Type: string

Default:

"672h"
Example
"24h"

Declared in: clanServices/data-mesher/default.nix

network.interface

The interface over which cluster communication should be performed. All the ip addresses associate with this interface will be part of our host claim, including both ipv4 and ipv6.

This should be set to an internal/VPN interface.

Type: string

Example
"tailscale0"

Declared in: clanServices/data-mesher/default.nix

network.port

Port to listen on for cluster communication.

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default:

7946

Declared in: clanServices/data-mesher/default.nix

network.tld

Top level domain to use for the network

Type: string

Default:

"clan"

Declared in: clanServices/data-mesher/default.nix

Options for the peer role

bootstrapNodes

A list of bootstrap nodes that act as an initial gateway when joining the cluster.

Type: null or (attribute set of string)

Example
{
  node1 = "192.168.1.1:7946";
  node2 = "192.168.1.2:7946";
}

Declared in: clanServices/data-mesher/default.nix

network.interface

The interface over which cluster communication should be performed. All the ip addresses associate with this interface will be part of our host claim, including both ipv4 and ipv6.

This should be set to an internal/VPN interface.

Type: string

Example
"tailscale0"

Declared in: clanServices/data-mesher/default.nix

network.port

Port to listen on for cluster communication.

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default:

7946

Declared in: clanServices/data-mesher/default.nix

Options for the signer role

bootstrapNodes

A list of bootstrap nodes that act as an initial gateway when joining the cluster.

Type: null or (attribute set of string)

Example
{
  node1 = "192.168.1.1:7946";
  node2 = "192.168.1.2:7946";
}

Declared in: clanServices/data-mesher/default.nix

network.interface

The interface over which cluster communication should be performed. All the ip addresses associate with this interface will be part of our host claim, including both ipv4 and ipv6.

This should be set to an internal/VPN interface.

Type: string

Example
"tailscale0"

Declared in: clanServices/data-mesher/default.nix

network.port

Port to listen on for cluster communication.

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default:

7946

Declared in: clanServices/data-mesher/default.nix