Reads your TF State or HCL to generate a Graph specific for each Provider, only showing the Resources that are most important/relevant to see.
We support specific implementations of specific Providers that basically allow us to have a better visual representation on those Providers.
If the State or HCL provided is from a Provider we do not support, then the result will be all the resources an how they are connected without making any simplification.
Support:
Provider | State | HCL |
---|---|---|
AWS | Yes | No |
FlexibleEngine | Yes | No |
OpenStack | Yes | No |
You can build and install with the latest sources, you will enjoy the new features and bug fixes. It uses Go Modules
$ git clone https://github.com/cycloidio/inframap
$ cd inframap
Using the inframap --help
you will know the basics.
TODO: Link of aciinema
The important subcommands are:
generate
: Which generates the Graph from Stdin or File.pruen
: Which removes all the not needed information from the State or HCL so it can be shared without any security concern
Visualizing with dot
$> inframap generate --tfstate state.json | dot -Tsvg > graph.svg
or from the shell itself
$> inframap generate --tfstate state.json | graph-easy
For each of those Providers we support specific types of connections, we have an static list of Resources that can be Nodes or Edges. Once we identify the edges we try to create a unique edge from the Resources that they connect.
This is based on the depends_on
on the State and in Interpolation on the HCL to create the base graph in which then
we apply specific Provider logic if supported. If not supported then that basic graph is the one returned
aws_security_group
aws_security_group_rule
flexibleengine_compute_interface_attach_v2
flexibleengine_networking_port_v2
flexibleengine_networking_secgroup_rule_v2
flexibleengine_networking_secgroup_v2
flexibleengine_lb_listener_v2
flexibleengine_lb_pool_v2
flexibleengine_lb_member_v2
openstack_compute_interface_attach_v2
openstack_networking_port_v2
openstack_networking_secgroup_rule_v2
openstack_networking_secgroup_v2
openstack_lb_listener_v2
openstack_lb_pool_v2
openstack_lb_member_v2
TODO
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Cycloid is a European fully-remote company, building a product to simplify, accelerate and optimize your DevOps and Cloud adoption.
We built Cycloid, your DevOps framework to encourage Developers and Ops to work together with the respect of best practices. We want to provide a tool that eliminates the silo effect in a company and allows to share the same level of informations within all professions.
Cycloid supports you to factorize your application in a reproducible way, to deploy a new environment in one click. This is what we call a stack.
A stack is composed of 3 pillars:
Thanks to the flexible pipeline, all the steps and technologies are configurable.
To make it easier to create a stack, we build an Infrastructure designer named StackCraft that allows you to drag & drop Terraform resources and generate your Terraform files for you.
InfraMap is a brick that will help us to visualize running infrastructures.
The product comes also with an Open Source service catalog (all our public stacks are on Github) to deploy applications seamlessly. To manage the whole life cycle of an application, it also integrates the diagram of the infrastructure and the application, a cost management control to centralize Cloud billing, the monitoring, logs and events centralized with Prometheus, Grafana, ELK.