Configuration

Mutagen project orchestration files are placed directly inside your codebase and contain session endpoint and configuration information. By default, the mutagen project commands look for a file called mutagen.yml in the current working directory, but any name and path can be used and passed to those commands.

Format

Mutagen’s orchestration configuration file format is a simple extension of the global configuration file format described in the introduction. In addition to a defaults key for synchronization and forwarding, it allows you to define keys that refer to named sessions, for example:

sync:
  defaults:
    mode: "one-way-safe"
  mySyncSession:
    alpha: "."
    beta: "user@example.org:~/project"
    maxStagingFileSize: "1 GB"
    configurationBeta:
      stagingMode: "neighboring"
  ...

forward:
  defaults:
    socket:
      overwriteMode: "overwrite"
  myForwardSession:
    source: "tcp:localhost:8080"
    destination: "user@example.org:unix:~/project/socket.sock"
    socket:
      owner: "user2"
  ...

You can define as many sessions as you like. Local paths used in endpoint URLs are resolved relative to the parent directory of the project configuration file. You can also define endpoint-specific configuration options for a session using the alphaConfiguration and betaConfiguration keys for synchronization sessions and sourceConfiguration and destinationConfiguration keys for forwarding sessions.