Skip to content

Etcd in FlyEnv ​

etcd is a distributed, strongly consistent key-value store — the same one Kubernetes uses to hold its cluster state. It is the standard building block for service discovery, distributed configuration and leader election. FlyEnv runs etcd as a managed local service: install one or more etcd versions, start the selected one from the sidebar switch or the system tray, edit its etcd.yaml configuration in place, and read per-version startup logs without leaving the app. The generated defaults listen for client traffic on port 2379 and peer traffic on port 2380, ready for local service-discovery and distributed-configuration work.

FlyEnv etcd module overview

Version management ​

Install and keep multiple etcd versions side by side from Etcd → Version Manager, then pick the one the service runs.

  • Install sources: a static online list of ready-made etcd packages on every platform, plus the Homebrew etcd formula on macOS and Linux.
  • Custom versions: point FlyEnv at any directory containing your own etcd build; it is scanned and listed next to the managed versions.
  • One version at a time: starting an etcd version while another is running is blocked — stop the current one first, then start the new one.

etcd Version Manager with static and Homebrew sources

Service and configuration ​

The Service tab controls the running etcd process. FlyEnv launches the real etcd binary with --config-file etcd.yaml, so everything the server does is driven by that one configuration file.

  • Generated defaults: on first start FlyEnv writes an etcd.yaml that listens on 0.0.0.0:2379 for client requests and 0.0.0.0:2380 for peer traffic, advertises itself on 127.0.0.1, and logs at info level to stdout. Existing files are never overwritten — FlyEnv only generates the configuration when it is missing.
  • Raw editor: the Config File tab opens etcd.yaml directly, with a .default copy alongside it so you can always compare against or restore the original.
  • No hidden layer: because etcd reads etcd.yaml verbatim, any etcd setting — clustering, TLS, quotas — works exactly as the upstream documentation describes.

etcd service and configuration

Logs ​

The Log and Error Log tabs give every installed etcd version its own pair of viewers: etcd-<version>-start-out.log captures the server's stdout stream, and etcd-<version>-start-error.log captures stderr. When a version refuses to start, the error log is the first place to look — port conflicts on 2379 or a malformed etcd.yaml both show up there immediately.

Per-version etcd startup and error log viewers

Continue with a practical guide, solution, demo, or community perspective.

Compatibility Notes ​

  • The etcd module does not offer a MacPorts install source on macOS; use the static list, Homebrew or a custom directory instead.
  • FlyEnv manages the etcd process, its etcd.yaml and its log files only — it does not bundle an etcd browser or admin panel, so key inspection and data operations go through etcdctl or your own client.
  • Which etcd versions are offered depends on your platform and on what the online list and Homebrew publish; check the in-app Version Manager or the Download page for what installs on your machine.
  • Other FlyEnv modules build on a running etcd: the MinIO configuration exposes etcd tuning keys for distributed setups, and sibling modules like Consul and R-Nacos cover adjacent service-discovery and configuration needs. For a walkthrough of etcd in a real local stack, see the demos.