Skip to main content

Resoto Infrastructure Apps

· 3 min read
Lukas Lösche
Some Engineer

Today, most organizations use tools like CDK, Terraform, or CloudFormation to create their infrastructure following IaC principles.

When it comes to maintaining these cloud resources over time, however, many still resort to an assortment of scripts to fulfill specific maintenance needs. Such scripts introduce inconsistencies across the organization.

Resoto provides quick access to your entire infrastructure inventory and lets you modify or clean up cloud resources. But up until now, you needed to write custom Python plugins to perform actions Resoto doesn't support out of the box.

We introduced a powerful new feature in Resoto 3.5: Infrastructure Apps.

Infrastructure Apps extend Resoto's base functionality, empowering you to perform custom tasks like fixing untagged resources, identifying abandoned load balancers, sending notifications to other systems, or calling webhooks.

What Are Infrastructure Apps?

Infrastructure Apps are low-code Jinja templates that you can install on Resoto to broaden its functionality.

Infrastructure Apps leverage Resoto's asset inventory graph to operate on your cloud resources. Apps use insights into the state of your infrastructure from graph data to generate Resoto commands.

Finding and Installing Infrastructure Apps

Finding and installing an Infrastructure App is a breeze with the apps command, which allows you to search for and install apps.


See How to Install & Run Infrastructure Apps for step-by-step directions.

In Resoto 3.5, we ported all existing Python plugins like the tag validator or abandoned load balancer cleaner to Infrastructure Apps.

Developing Infrastructure Apps

The development process is straightforward, as an Infrastructure App is just a Jinja template that generates one or more Resoto commands.

With resotoappbundler, you can bundle and dry-run your app locally.

resotoappbundler also allows you to bundle multiple Resoto app directories into a single JSON file that can be hosted on any HTTP server and used as an app index URL.


See the someengineering/resoto-apps GitHub repository to review the pre-built Infrastructure Apps shipped with Resoto.

In addition to standard Jinja functions, Infrastructure Apps have access to several supplementary functions and variables, enabling complex app operations.

For example, the search() function can sift through Resoto's asset inventory graph, invaluable in scenarios like adding missing cost-center tags to AWS resources by retrieving data from your user directory or duplicating tags from a parent resource.

Safeguarding Your Infrastructure

Infrastructure Apps are designed with safety in mind.

An app cannot execute Resoto commands directly. Rather, it generates commands for Resoto to execute.


Running an app with the --dry-run flag transparency and security by allowing you to see exactly what commands will be executed.

Final Thoughts

The introduction of Infrastructure Apps in Resoto 3.5 unlocks new potential in managing your cloud resources.

Whether it's pre-built or custom Infrastructure Apps, these low-code apps both simplify and amplify your infrastructure management capabilities.

With such powerful tools at your disposal, managing cloud resources has never been easier. Install Resoto!

Further Reading

Contact Us

Have feedback or need help? Don’t be shy—we’d love to hear from you!




Some Engineering Inc.