Skip to main content

Asset Inventory

Asset Inventory provides one place to easily view, analyze, and understand all your assets across projects and environments.

Resources within the Cycloid Inventory can be provisioned via API calls or automatically through the Cycloid Terraform HTTP backend.

All resources generated by your projects should be present here, complete with comprehensive details. For instance, if a project creates a cloud instance, it should be listed in the resources inventory, showcasing essential information such as IP address, size, and more.

Moreover, utilizing the asset inventory in conjunction with the Cycloid Terraform HTTP backend offers automation and additional features, including InfraView for projects utilizing Terraform.

Inventory

Introduction

As mentioned earlier, the asset inventory feature serves as a centralized repository for resources. To begin utilizing it, the initial step is to add resources to the inventory.

Currently, there are two methods to add resources:

  1. The most common method involves allowing Terraform to populate our inventory through our Terraform HTTP backend.
  2. Alternatively, resources can be manually added using our API, referred to as customer resources.

We recommend following the Terraform HTTP backend method. The following sections outline prerequisites to get started with the asset inventory using the Terraform HTTP backend.

Before continuing with our Cycloid Terraform HTTP backend, you need to understand one key detail: Cycloid will not physically store Terraform tfstate files. Instead, Cycloid will require and utilize object storage solutions such as AWS S3, GCP object store, and others for this purpose.

Prerequisites

To utilize the asset inventory with Cycloid Terraform HTTP backend, you need to configure a global Terraform remote object storage at your organization level.

To configure this remote object storage, you must provide access to an actual remote state storage system. Cycloid supports major cloud provider object storage systems such as AWS, GCP, Azure, as well as S3-compatible APIs such as Minio and a few others third-party storages.

For each cloud provider, the required elements include creating object storage and access keys, then adding those access keys into the Cycloid console.

  • AWS S3 buckets.
  • Amazon access key:
    • Require read and write permissions on the previous S3 bucket

Save the generated access keys. During the quickstart section, we will use them in Cycloid.

Quickstart

After completing the prerequisites, the first step before using asset inventory with Cycloid Terraform HTTP backend is to configure a remote backend at your organization level.

Cycloid global Terraform HTTP backend

The configuration of a global Terraform HTTP backend in Cycloid must be done at the Organization level. Once added to the organization, all new projects created will use this global backend by default.

The global Terraform HTTP backend relies on third-party tfstate file storage such as cloud object storage. It requires you to have previously created an object storage and access keys before proceeding.

1. If the access keys are not already present, the first step is to add the previously created access keys to Cycloid credentials. Click on Credentials under Security in the left menu.

Then, add your credential using the appropriate type. For example, use "AWS" for an AWS S3 bucket:

Cycloid AWS credentials

2. The last step is to configure the Cycloid Terraform HTTP backend at the organization level. To do this, click on your current organization name at the top right, then select Organization settings. In the Settings tab, locate the Terraform section and click configure.

You will be prompted to choose the type of supported tfstate backend you wish to configure. Depending on the type selected, Cycloid will request global information such as the object storage name and the credentials to use for access.

terraform-backend

From this point forward, all new projects or environments created in Cycloid will benefit from the default Cycloid global Terraform HTTP backend. Resources created using Terraform will be automatically added to the Cycloid inventory.

Refer to the next sections, How to use Cycloid HTTP backend in Cycloid pipelines, if you are writing your own stack and want to learn how to integrate it with the Cycloid inventory.

Asset inventory

To access the asset inventory dashboard, navigate to Resources > Inventory in the left menu. This will display an overview of all resources associated with your current organization.

inventory-overview