stackabletech / t2

A platform that helps with integration tests and troubleshooting/support
Apache License 2.0
3 stars 2 forks source link

// Header of this document:

= T2 - Test & Troubleshooting Platform :toc: :toc-placement: preamble :toclevels: 2 :showtitle: :base-repo: https://github.com/stackabletech/t2 :imagesdir: diagrams

// Need some preamble to get TOC: {empty}

== Motivation

There are two situations in which we need to launch fully-fledged Stackable clusters:

== High Level Architecture The following diagram shows at a very high level how T2 is integrated into the workflow of setting up a Stackable environment on a cloud provider.

image::t2-provider.png[]

  1. The user sends a cluster definition to T2, this can optionally already include a definition of services that should be set up on the platform (see link:docs/using-t2.adoc#yaml[The Stackable cluster definition YAML]).
  2. T2 generates Terraform and Ansible code from this cluster definition and executes this against a cloud provider to instantiate VMs (4 in this example) and provision them with the base Stackable components.
  3. After the base platform has been provisioned T2 acts as a Stackable client and posts the initial product config - if one was specified in the call to T2. + From a technical point of view this means creating custom resources in the Kubernetes that backs the Stackable platform.
  4. At this point the user can interact with the cluster via the kube-apiserver to add / remove / manage the needed tools.

== T2 REST API

T2 does not (yet?) have a graphical UI but is providing a REST API.

We host an instance of T2 at our company which is only accessible for ourselves.

The product T2 is tailor-made for us, but if you like to use it in your organization, feel free to do so. T2 and the templates it is shipped with come without any warranty. Be aware of the costs which cloud computing might generate!

== Dokumentation

The following documents provide further information about T2 and its usage: