A utility for controlling namerd
Clone or download
utrack and adleong namer: Allow base URLs to have a path; describe ErrNotFound error on …
…404 (#26)

This PR allows us to:

- use base-url with some path (thus enabling usage of namerctl behind `kubectl proxy`)
  Now we can run `kubectl proxy` and then do stuff like `namerctl dtab list --base-url` instead of creating unnecessary ingresses and DNS records.

- describes ErrNotFound for better usability of `namer` package as a library.
Latest commit 55484b7 Jun 7, 2018



GitHub license Circle CI Docker Pulls

A utility for controlling namerd.

This utility will change drastically in the near future.


:; go get -u github.com/linkerd/namerctl
:; go install github.com/linkerd/namerctl


$ namerctl help
namerd manages delegation tables for linkerd.

namerctl looks for a configuration file in the current working
directory or any of its parent directories. Configuration files are
named .namerctl.<ext> where <ext> is describes one of several formats
including yaml, json, toml, etc.  "base-url" is currently the only
supported configuration.  Furthermore, the base url may be specified
via the NAMERCTL_BASE_URL environment variable.

Find more information at https://linkerd.io

  namerctl [command]

Available Commands:
  dtab        Control namerd's delegation tables

      --base-url string   namer location (e.g. http://namerd.example.com:4080)
      --config string     config file

Use "namerctl [command] --help" for more information about a command.
$ namerctl dtab help
Control namerd's delegation tables

  namerctl dtab [command]

Available Commands:
  list        List delegation table names
  get         Get a delegation table by name
  create      Create a new delegation table.
  update      Update a delegation table.
  delete      Delete a delegation by name.

Global Flags:
      --base-url string   namer location (e.g. http://namerd.example.com:4080)
      --config string     config file

Use "namerctl dtab [command] --help" for more information about a command.


This project uses dep for managing go dependencies in the vendor/ directory. To update dependencies, install dep and run:

$ dep ensure



To use the public image, run:

$ docker run --rm linkerd/namerctl:latest --help
namerd manages delegation tables for linkerd.


To build your own copy of the image from source, run:

$ docker build -t linkerd/namerctl:latest .


Copyright 2016-2017, Buoyant Inc. All rights reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use these files except in compliance with the License. You may obtain a copy of the License at


Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.