Resoto is an open-source cloud asset inventory tool for infrastructure engineers.
Resoto allows you to search, explore, and manage your cloud resources. Resoto also automatically tags and cleans up resources based on custom rules and logic, so you can write code to react to changes in your infrastructure.
At Resoto's core is a graph-based data model, which is better suited to capture the resource dependencies in cloud-native infrastructure than a traditional relational model.
To help you find the information you need, the Resoto documentation is organized as follows:
- Getting Started walks you through how to install and configure Resoto, step by step. Start here if you're new to Resoto.
- How-To Guides provide step-by-step instructions for performing various tasks within Resoto, such as search, cleanup, alerting, and data export.
- Concepts describe key topics and ideas, and provide an overview of how Resoto works.
- Reference is a manual describing the command-line interface (CLI) and data models. It is assumed that you already have a basic understanding of important concepts.
- Contributing lists instructions and guidelines for contributing to Resoto.
Why Cloud Asset Inventory?
Cloud-native infrastructure today has an inventory problem. It's a new type of technical debt, where you lose track of the assets running in your infrastructure and how they relate to the business.
The inventory problem is the result of two trends:
- Resource proliferation in the cloud. With containers and serverless functions, services have become more abstract and the size of the individual deliverable has become smaller.
- Automated deployment of new resources. Infrastructure-as-code (IaC) technologies like Terraform and the Kubernetes Cluster API, coupled with CI/CD pipelines, have made it easier than ever to spin up new resources.
Your inventory becomes large and is constantly changing. Not every resource that gets spun up gets torn down. Deployment processes fail, leaving systems in a half-configured state that leaks resources.
When engineers encounter a resource they are unfamiliar with, they are unlikely to delete it. Creating new cloud resources is low-risk, but deleting them can trigger unintended side effects. Over time, resources accumulate across cloud accounts and lead to growing inventory debt. This inventory debt compounds over time and results in outages, vulnerabilities, and cost problems.
An asset inventory gives you a complete and up-to-date view of the resources that comprise your infrastructure. Coupled with search functionality, you can query and slice this resource data in almost any imaginable way.
How Does Resoto Work?
Resoto builds an inventory of your cloud by collecting the following data from your infrastructure:
- Resource data including but not limited to:
- General resource information (e.g., name, ID, timestamp, tags),
- Hierarchy information (e.g., region, account), and
- Resource-specific information (e.g., CPU, memory, price, utilization, policy).
- Dependency data that represents the relationship between different resources.
By default, Resoto collects this data and creates an inventory snapshot every hour.
Supported Cloud Providers
With the help of our community, Resoto currently supports over 300 resource types that enable you to track and manage assets across the following cloud providers:
See Configure Cloud Provider Access for more information on how to configure these providers.
In addition to the above collector plugins, various tag validation and cleanup plugins are also included for effortless handling of common use cases and tasks.
Interested in contributing to Resoto's components, plugins, or documentation? Check out the contribution guide for guidelines and information.