Applications dashboard

View, monitor, and analyze deployments across your enterprise in the Applications dashboard. As a one-stop shop for Argo Rollouts and Argo CD in Codefresh, the Applications dashboard delivers on the challenge of keeping track of deployments, whatever the frequency and scale. A wide range of filters, enriched CI and CD information, provide full traceability and visibility to continuous deployments.

Here are some insights you can derive from the Applications dashboard:

  • Visibility into deployments from all the clusters associated with the provisioned runtimes, in-cluster and managed
  • Timeline on current and historical deployments
  • Enriched CI information for deployments, including links to container images, Git hashes correlated with feature requests, Jira issues
  • Microservices deployed by the application
  • Hierarchical view of the resources in the application in the Current State

For information on creating, editing, and deleting applications, see Applications in Codefresh

Applications main view

The main view shows all deployed applications, sorted by the most recent deployments, by default.

Here is an example of the main page in the Applications dashboard.

Applications Dashboard

pplications Dashboard

Application inventory and state

The application state snapshot shows at a glance both the total number of applications that are deployed and their breakdown according to state.

The state snapshot works also as a quick filter. Selecting a state filters the application view by that state.

Filters and favorites

Similar to other dashboards, the Applications dashboard also offers a set of filters designed to bring you the information you need as quickly as possible.
You can also mark applications as favorites to focus on the applications of interest.

Filters

Filters are divided into frequently used and advanced filters.

  • Frequently-used filters: Available at the top of the dashboard. These filters support multi-selection, and results are based on an OR relationship within the same filter with multiple options, and an AND relationship between filters.
  • Advanced filters: Available on selecting More Filters. These filters include application type, health, and labels.

    • Application type
      Applications and ApplicationSet

    • Health filters
      The built-in Argo CD set of health filters.
      For detailed information, see the official documentation on Health sets.

    • Labels
      The K8s labels defined for the applications. The list displays labels of all the applications, even if you have applied filters.

      To see the available labels, select Add, and then select the required label and one or more values.
      To filter by the labels, select Add and then Apply.

      For detailed information, see the official documentation on Labels and selectors.

Advanced filters in Applications Dashboard

Advanced filters in Applications Dashboard

‘Favorite’ applications

Star applications as favorites, and view them with a click.

  • Select the to the left of the application name to mark it as a favorite.
  • To view only favorites, on the filters bar, select .

If you star applications as favorites, you can filter by the same applications in the DORA metrics dashboard.

Deployment type

Applications are displayed according to their deployment type which can be one of the following:

  • Applications

    Standalone applications. For detailed information, see the official documentation on Applications.

Standalone applications in Applications Dashboard

Standalone applications in Applications Dashboard
  • Application set
    Based on the Argo CD’s ApplicationSet CRD, where several applications are always deployed as a set. For detailed information, see the official documentation on Generating Applications with ApplicationSet.

Application Set in Applications Dashboard

Application Set in Applications Dashboard
  • App-of-apps
    In this deployment model, the parent application deploys a set of child applications. For detailed information, see the official documentation on App of Apps.

App of Apps in Applications Dashboard

App of Apps in Applications Dashboard

Application timeline

The Timeline tab displays the history of deployments for the selected application, sorted by the most recent update (default), and enriched with image, Pull Request (PR), Jira issues, and commit information for each deployment. Ongoing deployments display rollout progress and rollout analysis as the deployment unfolds.

Each application displays up to ten of the most recent deployments.

Applications Dashboard: Timeline tab

Applications Dashboard: Timeline tab

Filters

View the subset of deployments of interest to you. Filter by Date range, PRs, issues, committers, and more.

Deployment chart

The deployment chart conveniently located below the filters displays the day-to-day deployments for the selected time period. Get information on historical deployments, as the deployment entries are shown for up to ten of the most recent deployments.

  • To jump to a specific deployment, click the dot on the chart that represents the deployment.
  • To see GitOps details, mouse over the dot that represents the deployment.

Applications Dashboard: Deployment chart

Applications Dashboard: Deployment chart

Deployment details

Deployment entries

Each deployment entry displays the complete history of that deployment, by Git hash, Kubernetes services, and Argo applications:

Applications Dashboard: Deployment entry in Timeline tab

Applications Dashboard: Deployment entry in Timeline tab
  • The CI Builds shows the image(s) created or updated during deployment. Click to see the Images view in a new browser window.
  • The Pull Request (PRs) used for the commit.
  • The Jira Issues the PR aims to resolve or has resolved, with the current status.
  • The Committer who made the changes.
  • The Kubernetes Services updated during the deployment, according to the Argo rollout strategy, and the current rollout status. The example above shows the rollouts according to the canary rollout strategy. The blue line shows the progress of rollout with the current step versus the total number of steps.
    Expanding the live version deployment shows the number of replicas currently deployed, as green circles.
  • The Argo Applications updated during this deployment.

Rollout progress visualization

A live deployment, meaning an Argo CD sync due to a change in the desired state, is visualized through the progress bar, as the rollout.

Rollout progress is displayed only if you have an Argo rollout resource defined for your application.

For detailed information, see Argo Rollouts documentation.

Here is an example of the rollout progress bar for an ongoing canary deployment. The rollout comprising four steps has not started, and traffic has not been routed as yet to the new version of the application.

Application deployment in progress

Application deployment in progress

Here is an example of the rollout progress bar for the same deployment on completion. All traffic has been routed to the new version.

Application deployment completed

Application deployment completed

Rollout steps visualization

Clicking the rollout name displays the visualization of the steps in the rollout.

Argo defines an analysis run as an instantiation of an AnalysisTemplate. The result of an analysis run determines if the rollout is completed, paused, or aborted. For detailed information, see the Analysis section in Argo Rollouts.

Here you can see that two out of four steps have been completed, 25% of the traffic has been routed, and the rollout has been paused for the defined length of time.

Application rollout: Analysis run

Applications rollout: Analysis run

To view run results, expand Analysis metrics in Background Analysis.
The Manifest tab displays the analysis template manifest.

Application rollout: Analysis run results

Applications rollout: Analysis run results

Application services

The Services tab for an application shows the K8s services for each deployment of the application. Each service shows the number of replicas, the endpoint IP, the labels that reference the application, and the health status.

For more information, see the official documentation on Services.

Applications Dashboard: Services tab

Applications Dashboard: Services tab

Application Current State

The Current State tab for an application shows the live state of the application and the application’s resources (Kubernetes objects) in the cluster in Tree and List view formats.

  • Tree view (default): A hierarchical, interactive visualization of the application and its resources. Useful for complex deployments with multiple clusters and large numbers of resources.

  • List View: A representation of application’s resources, sorted by the Last Update.

Filters are shared between both views, and when applied are retained when switching between views.

Current State insights and actions:

  • Health status: Reflects Argo CD’s built-in health checks and status for the Application resource and Kubernetes objects. For more information, see Argo CD Resource Health.
  • Sync state: Desired state in Git versus live state in cluster.
  • Resource details: High-level information on mouse-over, and detailed manifest and log information on selecting the resource.

The icon for a resource node identifies the type of Kubernetes resource it represents. For general information on K8s resources, see Working with Kubernetes objects.

Current State Tree view

Below is an example of an application’s Current State in Tree view, with the root node, the application itself, expanded to display all resources.

The Tree view is designed to impart key information at a glance. Review the sections that follow for pointers to get to what you need in the Tree view.

Current State: Tree view

Current State: Tree view
Health status

The health status of a node is identified by the border around both the node and the resource-type icon. The health statuses tracked are Argo CD’s set of health checks.

The Unknown health status is assigned to resources that do not have a health status and are not tracked in Argo CD. ConfigMaps for example.

Health status Display in Tree view
Healthy
Degraded
Suspended
Missing
Progressing
Unknown
Sync state

The sync state is identified by the icon to the left of the resource name and the color of the resource name. For information on sync options you can configure for applications, see Sync settings.

Sync state Display in Tree view
Synced
Syncing
Out-of-Sync
Unknown
Resource inventory

At the bottom left is the Resource inventory, summarizing the aggregated count for each resource type in the application. Syncing and Out-of-Sync resources are bucketed separately for visibility and quick access.

Click-filters
In the resource inventory, selecting a Syncing or Out-of-Sync resource type, filters the Current State by that resource type and sync state. These filters are automatically reflected in the default filter list for both Tree and List views. Here’s an example of an application with out-of-sync resources, and the result on selecting an out-of-sync resource type.

Current State Tree view: Resource inventory

Current State Tree view: Resource inventory

Current State Tree view: Resource inventory filtered by out-of-sync service

Current State Tree view: Resource inventory filtered by out-of-sync service
Resource info

Mouse over a node to see a tooltip for that resource. For detailed information, select the resource; see Detailed resource information in this article.

Current State Tree view: Resource tooltip

Current State Tree view: Resource tooltip
Search resources

Quickly find a resource by typing the resource name in the search field. Search results have a different border for identification. Press Enter to navigate to the next result.

Current State Tree view: Search resources

Current State: Search resources

Current State List view

Here is an example of the Current State in List view.

Applications Dashboard: List view of Current State

Applications Dashboard: List view of Current State

Detailed resource information

Selecting a resource, in either Tree or List view, shows resource manifests and logs, based on the resource type you selected. Endpoints for example show only manifests, while pods show both manifests and logs.

Summary

Current State Tree view: Resource tooltip

Current State Tree view: Resource tooltip
  • Desired and Live states:
    • Managed resources stored in Git repositories and using Git as the single source of truth, show both the Desired state and the Live state.
      If there are discrepancies between them, the Diff view is displayed, highlighting the differences in both versions for comparison.
    • Resources that are not stored in Git but live in the cluster, show only the Live state.
  • Share resource details: Copy the URL and send to others in your organization to share the resource details for collaborative review and analysis. Pasting the URL in a browser opens to the same resource view.
  • Hide Managed Fields: When selected, hides managed-field information from the manifest. Managed-fields show information on which field manager manages the field, after Kubernetes introduced Server Side Apply. For more information, see Field Management.

Logs

Current State: Logs for resource

Current State: Logs for resource
  • Search: Free-text search for any string in the log, using the next and previous buttons to navigate between the results, or Enter for sequential navigation.
  • Wrap: Enable/disable line wrapping
  • Download: Download the complete log into a text file for offline viewing and analysis.