GithubHelp home page GithubHelp logo

ttest's Introduction

ttest: Teleport cluster creation for testing

ttest will create and configure Teleport clusters for testing. It can use either a local source copy of Teleport or use a Teleport binary for setting up the clusters with Teleport. It is capable of adding child nodes to a Teleport server automatically.

Config files

Config files are basically an amalgamation of Teleport configs along with a variety of provider specific configs. Golang's text/template is used for interpolating individual Teleport configs.

For a detailed example can be found in the examples directory.

Clusters directory

ttest expects cluster config files to live in src/ttest-clusters by default. This can be customized by setting the TTEST_CLUSTERS_DIR environment variable. The config files are expected to be named <cluster-name>.yaml.

Use

create command

Once a config file has been placed into the clusters directory, you can create it by running:

$ ttest create <cluster-name>

This will provision the infrastructure, build/distribute Teleport and then configure the cluster.

deploy command

To update the Teleport binaries/configs on a cluster without attempting to re-provision the infrastructure, you can run:

$ ttest deploy <cluster-name>

This will build/distribute Teleport and then configure the cluster.

destroy command

This will remove all of the underlying infrastructure for the cluster. To do this, run:

$ ttest destroy <cluster-name>

nodes ls command

You can list all nodes with their associated host names (if they're present) by running:

$ ttest nodes ls <cluster-name>
...
Node Name      Host
------------------------------
server         1.2.3.4
node1          1.2.3.5
node2          1.2.3.6

nodes ssh command

In order to SSH into a node, you can run:

$ ttest nodes ssh <cluster-name> <node-name> [command]

Running without a supplied command will give you an interactive shell. Running with a command will print the output and exit.

store dir command

To see where the Terraform state is for a particular cluster, you can run:

$ ttest store dir

This will output the terraform store directory.

Notes about created clusters.

The clusters created by this tool only have access enabled for the IP address that you're currently on. If this changes you may have to adjust it manually or re-provision.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.