Misc tooling
WARNING: content here is not necessarily safe for release to customers. Use your best judgement before sending a script/tool to a customer for use. If you haven't tested it yourself in a test lab, it's probably unsafe. DO NOT blindly copy-paste tooling or scripts from this repo to customers.
A Repo for Support Engineering Labs
.assets/
- The assets directory for images and logos
.deprecated/
- A directory for deprecated assets and code that can be used later if needed
.github/
- The GitHub directory maintaining CICD Workflows and repository configuration files
bin/
- The binary directory used for hosting the main binary wrapper built on Go
cmd/
- The command directory used for hosting all command line code as a wrappable interface
lab/
- Various resources that allows for the spin-up of labs via Docker, Docker-Compose, Kubernetes Manifests, and Terraform
pkg/
- The binary server code that integrates with
cmd/
andbin/
directories for the overall Go project.
- The binary server code that integrates with
repros/
- The
repros/
directory houses common repros for engineers to have access to and fix using local components. 9tools/
- The
tools/
directory houses any utilities that can be shared for troubleshooting purposes and distributed.
- The
You can use the current repository as a lab. The repository is wrapped up and built into a container image that houses all of the tools needed to work with various cloud resources, toolings, and also allows you to connect to your local docker container. The docker container is very large as you are trying to simulate an actual workingspace that can bootstrap and spin up local docker resources via docker
and docker-compose
.
Inside this repo, there is a Makefile
, the Makefile
allows you to build local resources in a programatic way.
You can use the following methos to get started:
make image
make container
You will find that you build an image called rbarrett/supportit
and run a container called rbarrett/supportit
on your local.
WARNING: PLEASE MAKE A GITHUB ISSUE IF YOU ARE UNABLE TO BUILD THE IMAGE!!!
Inside the lab/
directory you will find various stacks available to you.
The labs are meant to mimic the current Teleport
documentation and also give you access to teleport
docker-compose resources.
Simply go inside a directory with the docker-compose.yaml
file in lab/<your_chosen_lab>
and do the following within the CLI.
docker-compose up
The stack should build a local docker resources allowing for remote connection.
The following is not an all encompasing list, but is a basic list on resources you may need to get started:
aws-cli
az-cli
brew
docker-desktop
docker-compose
gke-cli
kubectl
terraform
vagrant
virtualbox
If you are on a Mac, you can use Home Brew to install the various resources and packages you may need.
Working inside the container is pretty easy. Some of the things that are installed include:
- Terraform
- AWS CLI
- Azure CLU
- GCP CLI
- Docker
- Docker-Compose
- Git
- Teleport
It uses a multi-cache build that decreases local build times. As a result, you can spin up terraform, instances, and resources within your SupportIT Lab using exported credentials. With Makefile, you can work with it in a variety of ways.