Skip to main content

2.3.1

ยท 6 min read

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โ€‹

  • 8dba845 plugins/k8s Add deferred edges to digitalocean (#921)
  • 396205a k8s Migrate from v1 config (#933)
  • c28fb7f resotometrics Turn metrics type into enum (#912)
  • 5a8d960 k8s Order status conditions by time. (#926)
  • 9f32c24 k8s Add edge from node to pod (#924)
  • 829f363 resotocore Improve nested path handling (#922)
  • 8fea151 resotocore Send event when usage metrics are turned off (#918)
  • bf3b286 k8s Implement tag update, tag delete and resource delete (#920)
  • 7171c99 k8s Configure access directly or via file (#911)
  • 68bab3c resotoworker Outer edge support - part 4/4 (#916)
  • 5f0e440 k8s Define successors (#917)
  • ba317bf resotocore Uml model shows dependant complex types (#913)
  • ea63d67 resotocore Make EdgeType typed (#909)
  • 33a4649 k8s Add collector test (#908)
  • 9097d08 resotocore Outer Edges collection support - Part 3/4: (#902)
  • e1694a0 k8s Implement kuberenetes plugin (#903)
  • c873cc9 resotolib Extend update check to distinguish between stable and pre-releases (#898)
  • 9f97b56 resoto Remove trailing slash (#905)
  • 941eaca resoto Outer edge collection support - Part 2/4 (#892)
  • 25cb049 resotolib Use 120 lines length for formatting (#896)
  • ad42bd4 resoto Add a package to install all resoto components at once (#890)
  • fb7c25b resotolib Update check (#895)
  • 552feeb resoto Initial DNS support (#894)
  • 973a9be resotocore format --json prettifies json (#893)
  • 99c09e7 resotoeventlog Genesis of resotoeventlog (#883)
  • 503b736 resotocore Add typed ConfigId (#886)
  • 3909d5b resoto fix: resotolib/requirements.txt to reduce vulnerabilities (#888)
  • 2d9bf57 resotocore Typed WorkerId (#885)
  • 9ad54b0 resotocore Typed Ids: TaskId (#882)
  • b009c2c resotocore Typed Ids: SubscriberId (#881)
  • c5a4b2b resotocore Sort config based on model order (#875)
  • 6bb14fd resotocore Rename config option analytics_opt_out -> usage_metrics (#874)
  • 9bc4086 resotocore Outer edge collection support - Part 1/4 (#877)
  • d53b757 resotocore Add sort properties to list output (#870)

Fixesโ€‹

  • 7537283 docker Only build amd images (#947)
  • 81f5966 resotoshell Use correct url (#931)
  • 5723e1b resotoworker Wrap collector plugins in try/except block (#929)
  • e62206e resotometrics Fix metrics type (#928)
  • 43d1588 k8s Handle optional properties correctly (#930)
  • b2faf77 resotoeventlog Update PyPI secret name (#927)
  • b0374ee plugins/digitalocean Type validation (#900)
  • df85e18 k8s Fix api client handling (#925)
  • 418c488 resotoworker Retry sending of graph data (#923)
  • c7eedf8 resotolib Units are computed correctly (#915)
  • a726bdd resotocore Search and coerce for arrays and backticks (#914)
  • 7e389ab resoto Update git repo check in setup_venv script (#910)
  • 3afe204 resotocore Typed NodeId (#897)
  • c31cfe5 resotocore search navigation after tail (#891)
  • 6650606 resotocore Allow complex config override values (#887)
  • a0a511d resotocore Make helm test more reliable (#884)
  • 80cc046 resotocore package need to be marked as module (#880)
  • 0fdbfc7 resotocore Content disposition header for ca certificate (#879)
  • 55dfbf8 ci Properly handle commits without associated PRs in release notes generator (#878)
  • b79b14a docker Increase file limits for ArangoDB (#845)
  • dc08974 docker Use TLS setup for prometheus (#873)
  • 5b326a5 resotocore Make query parser more strict (#869)
  • d9a2617 plugins/digitalocean Rename do -> digitalocean (#871)
  • 0db53ce resotocore Export model in correct format (#868)
  • 1b538d5 plugins/aws Add extra logging during EKS collection (#866)
  • c47a422 resoto Build and push to PyPI on tag push (#865)

Choresโ€‹

Docker Imagesโ€‹

  • somecr.io/someengineering/resotocore:2.3.1
  • somecr.io/someengineering/resotoworker:2.3.1
  • somecr.io/someengineering/resotoshell:2.3.1
  • somecr.io/someengineering/resotometrics:2.3.1