/cloudlens

k9s like CLI for AWS and GCP

Primary LanguageGoApache License 2.0Apache-2.0

Cloudlens

Cloudlens - k9s like CLI for AWS and GCP.

AWS and GCP Console in your terminal! well, almost. Explore AWS and GCP services like EC2, S3, IAM, VPC, VM, Storage etc. from your terminal. If you like k9s for Kubernetes, you'll love cloudlens.

Installation

  • Via Homebrew for macOS or Linux

    brew install one2nc/cloudlens/cloudlens
  • Using go install cloudlens requires go1.19 to install successfully. Run the following command to install the latest version -

        go install -v github.com/one2nc/cloudlens@latest
  • Building from source code Cloudlens is currently in active development. We use Go 1.19. Follow these steps to build cloudlens locally:

     1. Clone the repo
     2. Build and run the executable
    

    To Run:

    make run

Prerequisite

  1. Docker installed on your local. Refer this documentation
  2. If you want to use localstack for populating dummy data, use our repo cloud-lens-populator

Usage

Using UI

  • For the simple usage, just run the cloudlens command without any options.
  • This will open an UI to select cloud platform.
  • Note: when selecting GCP as cloud, make sure to set GOOGLE_APPLICATION_CREDENTIALS env variable to gcp-credentials file's path.
cloudlens

Using Sub-Commands

  • Alternative to UI, you could also use sub-commands and flags to select cloud platform.
  • To select AWS.
cloudlens aws
  • To select GCP.
cloudlens gcp --cf="path/to/gcp-credentials.json"

For knowing all the options available, use:

cloudlens help

Self Update

For updating to latest version, use:

cloudlens update

Using Localstack

  • Configure localstack server.
  • Use our repo cloud-lens-populator to setup and populate dummy data.
  • To run cloudlens with localstack use aws sub-command with -l or --localstack flag
  • By default cloudlens use port 4566. Use --port flag to pass different port
cloudlens aws --localstack --port 4000

Features

AWS

For AWS Cloudlens supports viewing EC2 instances, S3 buckets, EBS volumes, VPCs, SQS queues, Lambda functions, Subnets, Security Groups, and IAM roles.

GCP

For GCP Cloudlens supports viewing VM instances, Storage buckets, Disks, Snapshots, Images.

Read the cloudlens documentation to know more.

Screenshots

AWS

  1. EC2

  2. EC2 Details

  3. S3

  4. S3 Details

GCP

  1. VM

  2. VM Details

  3. Storage

  4. Storage Details

Documentation

Please refer to our cloudlens documentation to know more.

Key Bindings

Cloudlens uses k9s like shortcuts for navigation. Listed below are few of the shortcuts:

Action Command
Show active keyboard mnemonics and help ?
To bail out of cloudlens :q , ctrl-c
Bails out of view/command/filter mode esc
To view and switch to another AWS Service :S3/EC2/VPC⏎
To view and switch to another GCP Service :storage/vm/disk⏎

Note

Cloudlens reads your ~/.aws/config file, but it does not store or send your access and secret key anywhere. The access and secret key is used only to securely connect to AWS API via AWS SDK.

Since cloudlens is in readonly mode, we recommend you create an access and secret key that only has readonly permissions to the AWS services.

Acknowledgements

We would like to express our sincere appreciation to K9s as it has been a invaluable source of reference for this project.

All materials licensed under Apache v2.0

We appreciate localstack's assistance with the development

localstack