Skip to main content

What's Changed​

Fixes​

Highlights​

Support for Kubernetes​

Kubernetes is the de-facto standard for orchestrating containerized applications. It is the go-to solution no matter where your infrastructure is running. This release adds support for Kubernetes resources. All standard Kubernetes resources are supported and fully covered.

Kubernetes

Further Reading​

UI to Configure Resoto​

We now ship a user interface (UI) in Resoto Core, from which it is possible to configure Resoto.

If you are running Resoto locally via Docker, the UI is accessible via https://localhost:8900/ui:

Config UI

Complex Model Handling​

Resoto had limited support to handle complex models. This release adds the ability to handle any deeply structured type while also introspecting them.

Resoto Shell now provides better, type-aware suggestions:

Complex Kind

Resoto Shell is also able to suggest deeply nested properties, since it knows the complete model structure:

Complex Kind

The kinds command can be used to lookup the model behind a nested property path:

Complex Kind

And last but not least, the UML model endpoint can generate diagrams with complex models.

Support for Graph Edges Between Clouds​

Resoto uses collectors to retrieve data from a specific cloud provider. Those collectors are not only able to collect the resource data, but also define the relationships between the resources. Some relationships cannot be resolved inside the collector, since the relationship points to resources that are not part of this cloud.

Examples
  • A Kubernetes node is running on an AWS EC2 instance. The Kubernetes collector is unable to resolve the reference, since it points to a resource provided by AWS.
  • A load balancer in AWS that points to compute resources in Google Cloud. The AWS collector does not know anything about GCP.

Resoto now has support for creating edges that cannot be resolved during the phase of collecting the data but are resolved once all collectors have delivered their current snapshot. Going forward, we will continue extend our collectors to provide insights into relationships across cloud providers.

What's Changed​

Features​

Fixes​

  • edc3ae4 resoto Build and push to PyPI on tag push (#865)
  • 080441d resotocore format also supports yaml which was not listed (#863)
  • 3eab4e2 plugins Use Gb instead of Mb for DO instances (#861)
  • 69749ef resoto Escape inputs to mute snyk (#859)
  • 449d79b resotoworker Better logging of cleanup (#858)
  • 21b60af resotolib Send action reply via object ref not local (#856)
  • 190d2fb resotolib Handle failure to save config after load gracefully (#854)
  • 5116ab1 resotolib Change severity of auto-recovering info and error messages (#848)
  • 923aaaf resotoshell handle wrong PSK (#846)
  • 0f7284b resotocore Handle connection errors more gracefully (#844)
  • a09e53d resotolib Use debug instead of error log severity (#842)
  • 44a5a54 resotoshell Graceful exception handling (#843)
  • 9ffb7b2 resotocore CLI info for all commands (#841)
  • a4440ba resoto Remove type ignores for pypy 3.8 (#836)
  • 60c92ce resotocore Revert bumping arangodb driver (#840)
  • c7a7165 resotoshell shutdown the client thread (#839)
  • 95fd4d2 resotoshell Bump resotoclient (#838)
  • ee17313 resotoshell Fix sort suggestion and improve option information (#829)
  • d59e0c7 plugins Remove _ from plugin package names (#830)
  • 22cba64 resotolib close fds more targeted during restart (#827)

Chores​

What's Changed​

Features​

  • 0aad50b resotoshell Add aggregate completer (#825)
  • 2d0aa6a resoto Use json as logging output format (#824)
  • f6aea4a resotoshell Use resotoclient in resotoshell (#822)
  • 121709d resotoshell Check resotocore returned filename for invalid path element (#821)
  • 2952fe9 resotoshell Better startup error messages (#820)
  • 140b06b resotoshell Improve search completion (#816)
  • bdb1585 resotoshell Add debug output containing the http error code on resh error (#819)
  • 1206f52 resotolib Send regular pings over websocket (#818)
  • 8fc5688 resotoshell Add autocomplete in interactive shell session (#811)
  • c968f88 resotocore Export available command line arguments (#813)
  • 9f9c03d helm Simplify helm chart deployment (#805)
  • 7c808a7 resotocore Improve analytics data (#800)
  • 90c6905 resoto add more script documentation (#773)
  • 7cd260d docker Add someengineering/resh container (#789)

Fixes​

  • 9cb6277 resotocore Validate tarfile content (#823)
  • f13e8cc resoto Add .dccache to .gitignore (#817)
  • 860ec68 plugins Fix aws excluded accounts default and update gcp severity (#815)
  • c494d90 resotoshell Compare config checksum instead of ctime/mtime (#814)
  • a143f57 resoto Define the UI by default in helm chart (#812)
  • cce1444 resotocore Use resotoclient in tests (#809)
  • dee2cd9 docker Add cache version to cache key for easy invalidation (#810)
  • e471bbb docker copy ArangoDB dump/restore client binaries (#806)
  • 1bcf470 docker Add vi and nano to Docker images (#804)
  • 35467b7 resotolib Update TLS certificate files on disk after a certain time has passed (#803)
  • 32e3923 plugins Rename protect_snowflakes -> protector and make plugins restart on enable (#794)
  • dff92da docker Allow docker-compose run resotoshell (#798)
  • 89f509a resotocore write ca bundle periodically to tmp (#797)
  • c04aec0 resotocore No analytics in CI (#799)
  • 4248c8a resotocore Not should affect only the next simple term (#793)
  • 6d51d8b docs Update all plugin READMEs (#790)
  • 3ddd92a docker Use released 2.0.0 version in docker-compose (#787)

Documentation​

  • 8a87218 resoto fix typo in render_dot readme (#807)
  • e048ae3 resoto Update rendering script docs (#796)
  • f82e3ea resoto Add the instruction for the graph rendering script (#795)

Chores​

What's Changed​

Features​

Fixes​

  • fb209b6 resotoshell Fix rich dependency
  • 6ffc7f4 docker Add cache version to cache key for easy invalidation (#810)
  • 3692fcf resotocore Fix rich dependency
  • 82e64d0 docker copy ArangoDB dump/restore client binaries (#806)
  • 81fc02d docker Add vi and nano to Docker images (#804)
  • b087485 resotolib Update TLS certificate files on disk after a certain time has passed (#803)
  • 5bbea70 plugins Rename protect_snowflakes -> protector and make plugins restart on enable (#794)
  • f70079a docker Allow docker-compose run resotoshell (#798)
  • 2e2e92f resotocore write ca bundle periodically to tmp (#797)
  • 7875cc5 resotocore No analytics in CI (#799)

Documentation​

  • 0282425 resoto Update rendering script docs (#796)
  • cdd3f5a resoto Add the instruction for the graph rendering script (#795)

Chores​

  • e4aa797 resoto Bump 2.0.2
  • 2f1c040 resoto use version 2.0 as docker version in compose
  • 1763105 resoto Add documentation as release note section (#792)

We are proud to announce the general availability of Resoto 2.0.0.

Resoto provides a single data source and search engine to explore infrastructure in a cloud-agnostic way. Resoto aggregates and exports user-defined infrastructure metrics, and automates recurring tasks. That ensures a sound infrastructure and leaves developers and SREs more time and headspace to do productive work.

Resoto currently supports the following cloud providers:

Highlights​

  • Flexible distributed system setup, which allows for small installations as well as a big enterprise scale infrastructure.
  • Graph-based data storage, that maintains all infrastructure resources, as well as all relationships between them.
  • Powerful search of your entire cloud metadata, no matter which service, account, or region.
  • Report infrastructure changes over time with out-of-the-box metrics, and aggregation of any data points for custom metrics.
  • Automate tedious tasks. Define rules for your infrastructure that are checked against existing resources, no matter how they were created. Rules are applied automatically whenever infrastructure changes.
  • Command line interface to interact with Resoto.
  • Ability to clean up your infrastructure in a user defined and reliable way.
  • Allow for manipulating tags.
  • API to interact with Resoto from your own code.

Please check out the Getting Started section of our documentation to give it a spin.

Installation Options​

There are currently two installation options for Resoto: Docker and Kubernetes.