cloudgrep

command module
v0.0.19 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 23, 2022 License: Apache-2.0 Imports: 1 Imported by: 0

README


Cloud Tags Explorer

Current Release Tests License Commit Activity

Slack Community | Email: info@runx.dev

What is Cloudgrep?

Cloudgrep is an asset explorer for cloud resources. It shows you everything you're running on your cloud account(s) and enables you to slice and dice these based on tags. It is a UI tool built on open source technologies and runs completely client side (so no data leaves your machine).

TBD - screenshot

Why use Cloudgrep?

Cloudgrep's goal is to help your team ensure every resource follows consistent tagging schema. It helps identify missing tags, misspellings and unowned resources. Consistent tagging leads to better cost attribution and faster incident resolution.

If you'd like to try it out or have any questions - feel free to join our TBD - Slack or explore the TBD - Getting Started Guide!


TBD: Demo video

Features

  • Cross-platform support OSX/Linux/Windows 32/64-bit
  • Simple installation (distributed as a single binary)
  • Zero dependencies
  • Supports AWS. (If you'd like GCP/Azure support, do let us know by filing an issue!)
  • Supports for major AWS resources (like EC2, RDS, S3, and many others - please file an issue if something is missing!)

Installation

Basic Usage

Cloudgrep is a web-based cloud resource browser executed in your local machine. You can find our latest release here on our release page -- simply download the zip named for your OS/spec (or let us know if you can't find yours).

Cloudgrep works by using the cloud provider credentials (e.g. AWS) found in your cli to scan your cloud for data about your existing resources. For it to work, make sure you set such credentials properly (see here for AWS). These, and a stable internet connection, are its only prerequisites.

NOTE: Cloudgrep only ever needs ReadOnly credentials-- it creates nothing, it modifies nothing. Moreover, it will do a best effort scan based on its permission, so the user does not need to have read access to all resources.

Once downloaded, (and assuming you have AWS credentials properly configured in your CLI) you can start using cloudgrep immediately by executing the binary (no args needed) on your cli:

cloudgrep

Cloudgrep will then run with the default behavior which does the following:

  1. Scan your current cloud account for global resources and resources on your currently configured AWS region
  2. Launch the webapp

Arguments

You can easily pass cli arguments to cloudgrep for customized behavior, such as multiple/different regions to scan, what port to serve the webapp on, etc... The cli arguments are all fully documented under the cli's help option. To view documentation for them, simply add the --help flag like so:

./cloudgrep --help

Advanced Usage

Cloudgrep's behavior can further be configured via a user-inputted config yaml. Configs are then resolved at runtime by considering the cli arguments, the user-passed config yaml, and the defaults in that order of precedence.

The config yaml can be passed in by using the -c or --config flag as follows:

cloudgrep -c my_config.yaml

The path is relative to the current working directory. Cloudgrep expects the follow possible values in the yaml (you do not need to markdown all if passing the file as it will always try to default to the original behavior):

# Config represents all the user-configurable settings for cloudgrep. One such structure is loaded at runtime and
# is populated through the cli arguments, user-provider config file, or a preset default, with values resolved
# in that order of precedence. To see the default, please refer to
# https://github.com/run-x/cloudgrep/blob/main/pkg/config/config.yaml

# web represents the specs cloudgrep uses for creating the webapp server
web:
  # host is the host the server is running as
  host: localhost
  # port is the port the server is running in
  port: 8080
  # prefix is the url prefix the server uses
  prefix: "/"
  # skipOpen determines whether to automatically open the webui on startup
  skipOpen: false

# datastore represents the specs cloudgrep uses for creating and/or connecting to the datastore/database used.
datastore:
  # type is the kind of datastore to be used by cloudgrep (currently only supports SQLite)
  type: sqlite
  #  skipRefresh determines whether to refresh the data (i.e. scan the cloud) on startup.
  skipRefresh: false
  # dataSourceName is the Type-specific data source name or uri for connecting to the desired data source
  dataSourceName: "~/cloudgrep_data.db"

# providers represents the cloud providers cloudgrep will scan w/ the current credentials
providers:
  - cloud: aws # cloud is the type of the cloud provider (currently only AWS is supported)
    # regions is the list of different regions within the cloud provider to scan
    # The special "all" region can be specified by itself to scan all available regions
    regions: [us-east-1, global]

Development

We love user contributions! Check out our Dev guide to get started.

Important Resources

Documentation

Overview

Copyright © 2022 RunX

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL