Skip to content

turbinelabs/tbnctl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

turbinelabs/tbnctl

This project is no longer maintained by Turbine Labs, which has shut down.

Apache 2.0 GoDoc CircleCI Go Report Card codecov

The tbnctl project provides a command-line interface to the Turbine Labs public API.

Requirements

  • Go 1.10.3 or later (previous versions may work, but we don't build or test against them)

Dependencies

The tbnctl project depends on these packages:

The tests depend on our test package, and on gomock. Some code is generated using codegen.

It should always be safe to use HEAD of all master branches of Turbine Labs open source projects together, or to vendor them with the same git tag.

Install

We plan to make tbnctl available via brew/apt-get/yum/etc in the future. For now you can build and install it from source:

go get -u github.com/turbinelabs/tbnctl
go install github.com/turbinelabs/tbnctl

Clone/Test

mkdir -p $GOPATH/src/turbinelabs
git clone https://github.com/turbinelabs/tbnctl.git > $GOPATH/src/turbinelabs/tbnctl
go test github.com/turbinelabs/tbnctl/...

Generated code

Some code is generated using go generate and codegen. If you need to modify the generated code, modify adaptor.template, then:

go get -u github.com/turbinelabs/tools/codegen
go install github.com/turbinelabs/tools/codegen
go generate github.com/turbinelabs/tbnctl

Versioning

Please see Versioning of Turbine Labs Open Source Projects.

Pull Requests

Patches accepted! Please see Contributing to Turbine Labs Open Source Projects.

Code of Conduct

All Turbine Labs open-sourced projects are released with a Contributor Code of Conduct. By participating in our projects you agree to abide by its terms, which will be carefully enforced.

Basic Usage

Here we summarize what you can do with tbnctl. For more detailed help, run tbnctl -h.

CRUD Operations

tbnctl supports the following operations on Clusters, Domains, Proxies, Routes, SharedRules, and Zones:

  • list
  • get
  • create
  • edit
  • delete

Both create and edit will use the editor corresponding to the value of EDITOR in your environment.

You can get detailed usage for each sub-command by typing tbnctl help <cmd>.

Initial Environment Setup

The init-zone sub-command can be used to initialize a Zone with appropriate Clusters, Domains, Proxies, Routes, and SharedRules. See tbnctl help init-zone for more detail.

A Look into... THE FUTURE

We will continue to improve and extend tbnctl over time. Some examples of things we might someday add include:

  • parity with the web app for our the release workflow
  • access to the Stats API
  • better defaults when creating more complex objects (e.g. Routes, SharedRules)