New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

goatshell

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

goatshell

goatshell - goat shell interface to common cloud providers.

  • 2024.7.16.1622
  • PyPI
  • Socket score

Maintainers
1
image gif

GOATSHELL

7 Clouds & 1 Shell

Installation

Manual Installation

  1. Create a virtual environment. We will call it prod:
    python3 -m venv ~/prod
    
  2. Activate virtual environment:
    cd ~/prod && source bin/activate
    
  3. Clone the repo:
    git clone git@github.com:stacksc/goat.git
    
  4. Install all required packages with 1 script from the main repository:
    cd ~/prod/goat && ./bulk.sh --action rebuild --target all
    

PIP installation (stable)

  1. Install the following packages from pypi:
    pip install goatshell goaat --force-reinstall
    
  2. Type the following command to launch goatshell:
    goatshell
    
┌───────────────────────────────────────────────────────────────────────────────────────────────────────| GOAT INTERFACE |───────────────────────────────────────────────────────────────────────────────────────────────────────┐
│                                                                                                     Purpose: Cloud Wrapper                                                                                                     │
│                                                                                             TIP: resource completion coming soon!                                                                                              │
└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
┌──────────────────| Hotkeys |───────────────────┐┌──────────────────| Commands |──────────────────┐
│[F8]  Toggle Provider                           ││e|exit    : exit shell                          │
│[F9]  Toggle Profile                            ││c|clear   : clear screen                        │
│[F10] Toggle VIM                                ││h|help    : display usage                       │
│[F12] Toggle Safety Mode                        ││history   : shell history                       │
│[TAB] Fuzzy Complete                            ││cloud     : cloud details                       │
└────────────────────────────────────────────────┘└────────────────────────────────────────────────┘
[oci:DEFAULT]>

(back to top)

Contacts

Christopher Stacks - centerupt@gmail.com

Mechanics

The project is built with dependecies such as aws2, oci-cli, az-cli.
However, other cloud providers are configured to work but NOT packaged with the project such as ibmcloud, gcloud, and Alibaba cloud.

Each time the first token is passed (i.e. cloud provider) a function will verify if the command is avialable.
This keeps the command line clean with the cloud providers you only work with.

The following cloud providers are currently supported:
image
The latest goat-shell version holds all JSON data per cloud, correctly nested based on the cloud provider.

Toolbar

The toolbar will refresh after hitting the ENTER key or with specific hotkeys.

The toolbar is updated appropriately based on what command you ran. Once you run a command, the toolbar is refreshed with your current cloud.

The profile is updated dynamically based on your current cloud and you have the ability to toggle profiles for any cloud.

goat>
Current Cloud: AWS  F8 Usage F10 Toggle Profile: CENTERUPT F12 Quit

Toggle

The only toggle currently supported is profile switching. Everything else is dynamic based on first token.

Cloud CLI Options

#NameStatusAdditional Info
1OCI-CLIDefault / Supported
2AWSDefault / Supported
3AZDefault / Supported
4GCLOUDSupported / Manual InstallationInstallation Guide
5ALIYUNSupported / Manual InstallationInstallation Guide
6IBMCLOUDSupported / Manual InstallationInstallation Guide
7OVHCLOUD & AISupported / Manual Installation Installation Guide

Newly Improved Interface Now Available

image

Once the relative CLI is installed, the goatshell application will recognize that it is available & syntax completion will be provided.
The project is packaged with cloud provider JSON files which get refreshed automatically per major release with dynamic CLI scrapers.

As the first token is passed (i.e. cloud provider) it directs the goatshell application to the correct JSON file.

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc