Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/overmindtech/cli

Identify the blast radius and risks for Terraform changes in real time
https://github.com/overmindtech/cli

aws blast-radius kubernetes terraform terraform-aws terraform-kubernetes visualisation visualization

Last synced: about 1 month ago
JSON representation

Identify the blast radius and risks for Terraform changes in real time

Awesome Lists containing this project

README

        




Overmind

Overmind CLI


Discord Server


🎥 Watch a demo | 📖 Docs | 🚀 Sign up | 💻 Playground | 🙌 Follow us

# What is Overmind?

Overmind is a **tribal knowledge database** that empowers your team to manage infrastructure confidently, even without extensive experience.

### Signs your team needs Overmind

- **Blocked Experts & Slow Onboarding**

- Expert team members spend too much time on approvals, reducing overall productivity.
- Newer staff face a steep learning curve, delaying their effectiveness.

- **Limited Dependency Visibility**

- Tools like Terraform show intended changes but don't reveal underlying dependencies.
- Difficulty in assessing whether changes will disrupt existing applications.
- **Complex Outage Troubleshooting**

- Pinpointing issues during outages is challenging due to hidden dependencies.
- Outages often result from intricate, unforeseen relationships rather than simple cause-and-effect.

# Quick Start

Install the Overmind CLI using brew:

```shell
brew install overmindtech/overmind/overmind-cli
```

Launch the assistant and explore your newly configured AWS source:

```shell
overmind explore
```

Run a terraform plan:

```shell
overmind terraform plan
```

![Running 'overmind terraform plan' and viewing in the app](https://uploads-ssl.webflow.com/6241e92445c21f9c1245a940/666039f90a7a42bebcfaf692_overmind_cli_demo%20(1).gif)

Install on other platforms

## Prerequisites

- Terraform environment set up
- Access to all required credentials
- Ability to install and run the Overmind CLI

## Installation

### MacOS

To install on Mac with homebrew use:

```shell
brew install overmindtech/overmind/overmind-cli
```

### Windows

Install using [winget](https://learn.microsoft.com/en-us/windows/package-manager/winget/):

```shell
winget install Overmind.OvermindCLI
```

Or manually download the [latest release](https://github.com/overmindtech/cli/releases/latest), extract `overmind.exe`, and add to your `PATH`

### Ubuntu / Debian

Set up the repository automatically:

```shell
curl -1sLf \
'https://dl.cloudsmith.io/public/overmind/tools/setup.deb.sh' \
| sudo -E bash
```

Or set it up manually

```shell
# NOTE: For Debian Stretch, Ubuntu 16.04 and later
keyring_location=/usr/share/keyrings/overmind-tools-archive-keyring.gpg
# NOTE: For Debian Jessie, Ubuntu 15.10 and earlier
keyring_location=/etc/apt/trusted.gpg.d/overmind-tools.gpg

# Capture the codename
codename=$(lsb_release -cs)

apt-get install -y debian-keyring # debian only
apt-get install -y debian-archive-keyring # debian only

apt-get install -y apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/overmind/tools/gpg.BC5CDEFB4E37A1B3.key' | gpg --dearmor >> ${keyring_location}
curl -1sLf 'https://dl.cloudsmith.io/public/overmind/tools/config.deb.txt?distro=ubuntu&$codename=xenial&component=main' > /etc/apt/sources.list.d/overmind-tools.list
chmod 0644 /etc/apt/sources.list.d/overmind-tools.list
chmod 0644 /usr/share/keyrings/overmind-tools-archive-keyring.gpg
apt-get update
```

Then install the CLI:

```shell
apt-get install overmind-cli
```

### RHEL

Set up the repository automatically:

```shell
curl -1sLf \
'https://dl.cloudsmith.io/public/overmind/tools/setup.rpm.sh' \
| sudo -E bash
```

Or set it up manually

```shell
yum install yum-utils pygpgme
rpm --import 'https://dl.cloudsmith.io/public/overmind/tools/gpg.BC5CDEFB4E37A1B3.key'
curl -1sLf 'https://dl.cloudsmith.io/public/overmind/tools/config.rpm.txt?distro=amzn&codename=2023' > /tmp/overmind-tools.repo
yum-config-manager --add-repo '/tmp/overmind-tools.repo'
yum -q makecache -y --disablerepo='*' --enablerepo='overmind-tools'
```

Then install the CLI:

```shell
sudo yum install overmind-cli
```

### Alpine

Set up the repository automatically:

```shell
sudo apk add --no-cache bash
curl -1sLf \
'https://dl.cloudsmith.io/public/overmind/tools/setup.alpine.sh' \
| sudo -E bash
```

Or set it up manually

```shell
curl -1sLf 'https://dl.cloudsmith.io/public/overmind/tools/rsa.7B6E65C2058FDB78.key' > /etc/apk/keys/[email protected]
curl -1sLf 'https://dl.cloudsmith.io/public/overmind/tools/config.alpine.txt?distro=alpine&codename=v3.8' >> /etc/apk/repositories
apk update
```

Then install the CLI:

```shell
apk add overmind-cli
```

### Arch

Packages for Arch are available on the [releases page](https://github.com/overmindtech/cli/releases/latest) for manual download and installation.

Additionally a community maintained package can be found in the [aur](https://aur.archlinux.org/packages/overmind-cli-bin).

### ASDF

Overmind can be instaled using [asdf](https://asdf-vm.com/):

```shell
# Add the plugin
asdf plugin add overmind-cli https://github.com/overmindtech/asdf-overmind-cli.git

# Show all installable versions
asdf list-all overmind-cli

# Install specific version
asdf install overmind-cli latest

# Set a version globally (on your ~/.tool-versions file)
asdf global overmind-cli latest

# Now overmind-cli commands are available
overmind --version
```

**Discover CLI Commands**

- `overmind explore`

Overmind Assistant is a chat assistant that has real-time access to all your AWS and K8’s infrastructure. It alleviates the mental exhaustion of manual troubleshooting, simplifies incident resolution by easily accessing historical data, and automates time-consuming tasks such as documentation and Terraform code generation. You can access the assistant by running `overmind explore` .

- `overmind terrafrom plan / apply`

Overmind can identify the blast radius and uncover potential risks with `overmind terrafrom plan` before they harm your infrastructure, allowing anyone to make changes with confidence. It can also track the impact of the changes you make with `overmind teraform apply`, so that you can be sure that your changes haven't had any unexpected downstream impact.

## How We Solve It?





🔍 Blast Radius: Overmind maps out all potential dependencies and interactions within your infra in realtime. Supports over 120 AWS resources and all Kubernetes.




🚨 Risks: Discover specific risks that would be invisible otherwise. Risks are delivered directly to the pull request. Make deployment decisions within minutes not hours.

## Advanced Use

### Passing Arguments

Overmind's `overmind terraform plan` and `overmind terraform apply` commands mostly just wrap the `terraform` that you already have installed, adding all of Overmind's features on top. This means that no matter how you're using Terraform today, this will still work with Overmind. For example if you're using a more complex command like:

```shell
terraform plan -var-file=production.tfvars -parallelism=20 -auto-approve
```

Then you would add `overmind` to the beginning, and your arguments after a double-dash e.g.

```shell
overmind terraform plan -- -var-file=production.tfvars -parallelism=20 -auto-approve
```

## Join the Community

- Join our [Discord](https://discord.com/invite/5UKsqAkPWG)
- Contact us via email at [[email protected]](mailto:[email protected])
- Follow us on [LinkedIn](https://www.linkedin.com/company/overmindtech/)

## Additional Resources

- [Documentation](https://docs.overmind.tech)
- [Playground](https://app.overmind.tech/playground)
- [Getting Started Guide](https://docs.overmind.tech)
- [Overmind Blog](https://overmind.tech/blog)

## Reporting Bugs

- Want to report a bug or request a feature? [Open an issue](https://github.com/overmindtech/cli/issues/new)

## Development

Please look in the [CONTRIBUTING.md](https://github.com/overmindtech/cli/blob/main/CONTRIBUTING.md) document.

## License

See the [LICENSE](/LICENSE) file for licensing information.

Overmind is made with ❤️ in 🇺🇸🇬🇧🇦🇹🇫🇷🇷🇴