About Products

Create Products to group and deploy applications

Explore the power of Products for Argo CD applications and deployments in Codefresh GitOps.

Managing complex applications across multiple environments is a common challenge faced by developers and platform engineers. The diverse nature of applications and the variety of environments they deploy to can lead to fragmented management and deployment processes.

In Codefresh GitOps, Products serve as a strategic layer that bridges this gap. Products group different yet interconnected applications based on their similarities and dependencies.
By grouping applications, Products enhance Environments, allowing complete visibility for efficient deployment across them.

GitOps Products dashboard (expanded view)

GitOps Products dashboard (expanded view)

Explore the Product dashboard.
Read more on the first dashboard for GitOps Environments and Products in this blog.

What is a Product in Codefresh GitOps?

In Codefresh GitOps, a Product is a custom entity that allows you to group interconnected Argo CD applications, providing a cohesive view of the applications as they progress through the development and deployment lifecycle.

Consider a practical scenario of numerous applications connected to billing or payment. Instead of monitoring and promoting each application separately, creating a Product for this enables you to track and manage them collectively.

The diagram illustrates how Argo CD applications connected to a Product are grouped by that product and organized by environments. It also shows applications not assigned to any Product.

Argo CD applications grouped by Products and organized by Environments

Argo CD applications grouped by Products and organized by Environments

Benefits of Products

  • Unified application management
    Managing complex Argo CD applications across multiple environments can be challenging.
    By grouping similar Argo CD applications into a unit, Products allow you to also efficiently manage them cohesively.

  • Bridging applications and environments
    Products act as a bridge between applications and their respective environments. By linking applications to Products, you can easily track their deployment across different environments, providing clarity and control over your deployment pipelines.

  • Deployment visibility Deploying a Product generates a release that provides a comprehensive view of the entire deployment process. This includes visualization of Promotion Workflows across all environments, and detailed insights into issue tracking, Git activity, and other actions that led to the deployment, giving developers and stakeholders a clear understanding of the process.

  • Effortless creation
    As with Environments, creating a Product is equally straightforward. You can create Products from the UI, or declaratively through annotations in your application manifests.

  • Real-time insights with integrated views
    The Product Dashboard offers three distinct views-Pods, Git, and Features. These views provide real-time insights into the changes in the application repo, deployment details, code changes, and feature tracking. Whether you’re a developer tracking the latest commits or a project manager monitoring feature releases, these integrated views offer valuable insights tailored to your role.

Work with Products & applications

We have made it simple to work with Products and applications in environments.

Create

Begin by Creating a Product.

View

Once you create a product, you can see it in the Products page.
Select the Product to drill down into the Product Dashboard. The Product Dashboard offers a clear view of its applications in their respective environments, with additional information on the application.

Argo CD applications grouped by products and organized in environments

Argo CD applications grouped by products and organized in environments
Configure

Once you create a product, everything else you need to define for the product, including its applications and promotion definitions are available in the Product Settings tab.

  • Assign applications to the Product
    Bring your applications into the picture by linking them to the product.

  • Configure promotion settings
    Fine-tune the promotion process by configuring the version source and specifying the attributes that should be promoted within applications in the product. This ensures that the correct versions and components are consistently promoted through each stage of deployment.

  • Configure promotion flows and triggers
    Select specific Promotion Flows that match the Product, and customize the conditions that trigger each of these flows, automating and controlling when and how applications in the product are promoted.

Product Settings tab to connect applications and configure promotion settings

Product Settings tab to connect applications and configure promotion settings
Monitor

Monitor and track the product’s ongoing and historical deployments in the Releases tab.

Product Release tab to monitor promotions

Product Release tab to monitor promotions

For how-to instructions, see Configure product settings.