NAV
This is an archived version
of the documentation
View the latest version

Configuration

namerd’s configuration is controlled via config file, which must be provided as a command-line argument. It may be a local file path or - to indicate that the configuration should be read from the standard input.

File Format

The configuration may be specified as a JSON or YAML object, as described below.

storage:
  kind: io.l5d.inMemory
  namespaces:
    galaxyquest: |
      /host       => /#/io.l5d.fs;
      /http/1.1/* => /host;
namers:
- kind: io.l5d.fs
  rootDir: examples/disco
interfaces:
- kind: io.l5d.thriftNameInterpreter
  port: 4100
  ip: 0.0.0.0
  retryBaseSecs:  600
  retryJitterSecs: 60
- kind: io.l5d.httpController
  port: 4321

Storage

All configurations must define a storage key which must be a storage object.

Namers

Naming and service discovery are configured via the namers section of the configuration file. In this file, namers is an array of objects each of which must be a namer.

Interfaces

A top-level interfaces section controls the published network interfaces to namerd. It is an array of interface objects.

Interfaces

(for the interfaces key)

An interface is a published network interface to namerd. An interface config block supports the following params:

Thrift Name Interpreter

io.l5d.thriftNameInterpreter

A read-only interface providing NameInterpreter functionality over the ThriftMux protocol.

Http Controller

io.l5d.httpController

A read-write HTTP interface to the storage.

Storage

(for the storage key)

A storage object configures the namerd dtabStore which stores and retrieves dtabs. This object supports the following params:

In Memory

io.l5d.inMemory

Stores the dtab in memory. Not suitable for production use.

Kubernetes

io.l5d.k8s

experimental

Stores the dtab with the Kubernetes master via the ThirdPartyResource APIs. Requires a cluster running Kubernetes 1.2+ with the ThirdPartyResource feature enabled.

ZooKeeper

io.l5d.zk

experimental

Stores the dtab in ZooKeeper. Supports the following options

Etcd

io.l5d.etcd

experimental

Stores the dtab in Etcd. Supports the following options

Consul

io.l5d.consul

experimental

Stores the dtab in Consul KV storage. Supports the following options