# Purpose: the settings measure-links.sh, setup-nfs-server.sh, mount-models.sh and # record-topology.py all read. Copy this file to `.env` beside them and fill # in the lines that are empty. Nothing here is a secret; nothing here should # ever be committed, because every value is a fact about your house. # Platform: all # Minimum memory: 8 GB # Assumes: `cp env-example.txt .env` and then an editor. The scripts read it with # `set -a; . ./.env; set +a`, so a value with spaces needs quotes. # ------------------------------------------------------------------- who is who # A short name for THIS machine, used as the record key in the lab notebook. Use # something you will still recognise in six months: the track letter and a number # works well, for example s1, s2, x1, m1, n1. MACHINE_NAME= # The roles this machine holds, from the six in the lesson, separated by commas: # prefill, decode, router, cache, storage, agent. MACHINE_ROLES= # The other machines in the cluster, separated by spaces, written as names rather # than addresses. RFC 8375 reserves anything under `home.arpa` for names that mean # something inside one house and nothing outside it, so a set of peers written as # CLUSTER_PEERS="node-b.home.arpa node-c.home.arpa" # is exactly the intended use. Add them to /etc/hosts on every machine, or as static # entries on your router, as the lab describes. CLUSTER_PEERS= # The user account the scripts use for ssh. Leave empty to use the account you are # logged in as, which is the usual case when the same username exists everywhere. SSH_USER= # ---------------------------------------------------------------- the measurement # iperf3's default port. Change it only if something else already listens there. IPERF_PORT=5201 # Seconds per direction per link. iperf3's own default is 10; 20 gives a steadier # figure on a link that ramps up slowly, at the cost of a longer run. IPERF_SECONDS=20 # Parallel streams. One stream can leave a fast link idle because a single TCP flow # does not always fill it; four is a reasonable default for anything above a gigabit. IPERF_STREAMS=4 # How many echo requests per link when measuring round-trip time. PING_COUNT=50 # Where the scripts append their JSON lines. The lab notebook from Part 1. LABBOOK=labbook.md # --------------------------------------------------------------------- the links # The interface that will carry cluster traffic on THIS machine: the direct cable # rather than the one going to the house switch, where you have both. Find it with # `ip link show` on Linux or `ifconfig` on macOS. CLUSTER_IFACE= # The maximum transmission unit you intend that interface to carry. 1500 is the # Ethernet default and is always safe; 9000 is the conventional jumbo frame and needs # every device in the path to agree, which the lab makes you verify. CLUSTER_MTU=1500 # ------------------------------------------------------------- the model library # Absolute path to the shared model library on THIS machine: the directory the server # exports, or the directory a client mounts it at. The same path on every machine # saves a great deal of confusion later. MODELS_DIR= # For the client script only: the machine exporting the library, and the path it # exports. Leave both empty on the machine that IS the server. NFS_SERVER= NFS_EXPORT= # For the server script only: which clients may mount the export. NFS accepts a name # pattern or an address range; the lab uses a name pattern so that nothing in this # file is an address. For example: *.home.arpa NFS_CLIENTS=