GitOps Environments dashboard
Track and manage Argo CD applications within and across Environments
NOTE
This feature is currently in Beta.
Codefresh offers a range of dashboards, each offering unique insights into Argo CD applications and their deployments. The GitOps Overview dashboard offers a high-level view, showcasing essential Key Performance Indicators (KPIs). The GitOps Apps dashboard centralizes the monitoring and management of individual application deployments, resources, and configurations.
While these dashboards provide extensive data on applications, they don’t inherently reveal the relationships between different but interconnected Argo CD Applications. This is where the GitOps Environments dashboard comes in.
The GitOps Environments dashboard introduces a new dimension to your GitOps experience with Argo CD applications.
- It places Argo CD applications within the context of their environments, providing a comprehensive view of their journey through the software development lifecycle.
- Beyond visibility, it allows you to delve into the deployment history of individual applications and take actions such as synchronization and refresh, among others.
Read this blog on the world’s first dashboard for GitOps Environments.
What is an Environment in Codefresh GitOps?
An Environment is a custom entity in Codefresh defined by one or more pairs of K8s clusters and namespaces. It consolidates information for all Argo CD applications deployed to those clusters and namespaces, allowing you to easily track what’s deployed where at any given moment.
Codefresh allows you to define Environments that can exist without any applications deployed to them.
What can you view in a GitOps Environment?
- Argo CD applications: Environments are populated by the Argo CD applications in the clusters and namespaces mapped to them.
- Deployment lifecycle phase: The current phase of each application’s deployment.
- Commit information: Trace the commit/pull request (PR) history, such as the developer who initiated the promotion to each Environment.
Benefits of GitOps Environments
- Account-level visibility: GitOps Environments in Codefresh are managed at the account level, providing a holistic view of all Argo CD applications across GitOps Runtimes in clusters mapped to the Environments.
- Application traceability: Gain insights into application promotions across diverse Environments, enriched with commit and PR histories, and developers responsible for each change.
- Micro-service visibility: Get a clear understanding of what is running in an Environment, including dependencies and services/components to enhance your control and management capabilities.
The diagram illustrates how Codefresh organizes different Argo CD applications in their deployment contexts in the GitOps Environments dashboard.
Create Environments by defining key settings (see Create GitOps Environments), and see how Codefresh pulls in all the information into an intuitive dashboard (see GitOps Environments dashboard). Learn how to work with GitOps Environments and work with Argo CD applications within Environments.
Remember you can further refine application views in Environments through Products. Read about in GitOps Products.
GitOps Environments dashboard
Here’s an example of the GitOps Environments dashboard.
The table describes the information displayed in the GitOps Environments dashboard.
Item | Description |
---|---|
Filters | Predefined filters that allow you to customize the Environment dashboard view by Product or Application. Each Environment allows filtering the applications within it by health status which correspond to Argo CD’s official list of health status. |
Star a card with a product and application as a favorite and view only the starred products. Select the to star as a favorite. To filter by favorites, on the filters bar, select . |
|
Detailed/Compact views | View details on the application in an Environment, including the version deployed in each environment.
|
Environments | Environments are organized into columns, color-coded to differentiate between non-production Environments (in gray) and production Environments (in blue). The column title is the name of the Environment. Mouse over displays the edit, delete, and move icons to manage Environments. See Working with GitOps Environments. Each Environment is populated with the applications in the cluster-namespace pairs mapped to it. An empty Environment indicates that there are no applications in the cluster-namespaces mapped to it. Each Environment allows filtering its applications based on their Health status. |
Applications | Applications in different Environments are displayed as a list of cards. Every card has the following information:
|
Create GitOps Environments
Create one or more GitOps Environments corresponding to any stage in your development and deployment lifecycle.
Define the configuration of the Environment through a unique name, it’s intended usage, and one or more cluster-namespace pairs that define the Argo CD applications populated for that Environment.
- In the Codefresh UI, from the Ops in the sidebar, select Environments, and then click Add Environment.
- Define the following:
- Name: A unique name for your GitOps Environment, which is meaningful in the context of your development and deployment cycle.
- Kind: The purpose of this GitOps Environment, and can be either Production where the live versions of the applications are deployed, or Non-production where development, testing, staging versions are deployed.
- Tags: Any metadata providing additional context and information about the GitOps Environment, used for filtering and organization purposes.
- Clusters and Namespaces: Single or multiple cluster-namespace pairs to map to the GitOps Environment. Adding a cluster with one or more namespaces populates the Environment with all the applications deployed in the namespaces.
- Click Add. The environment is displayed in the GitOps Environments dashboard.
Working with GitOps Environments
Once you create an Environment, it is displayed in the GitOps Environments dashboard. The Environments dashboard consolidates in one location the environments defined for the account along with the applications that belong to each Environment, and the Products they are assigned to if you have created Products.
Edit Environments
Update the Environment’s configuration settings when required. You can change all settings for an Environment, including it’s name.
- In the Codefresh UI, from the Ops in the sidebar, select Environments.
- Mouse over the column with the Environment to edit, and click .
- Edit the settings as required.
Reorder Environments with drag and drop
Change the order of the Environments displayed in the Environments dashboard to suit your requirements by simple drag and drop. By default, the Environments are displayed in the same order in which they were created.
For example, if you have two non-production and one production Environment for your e-commerce application, you can order them to display first the non-production and then the production Environments to reflect the corresponding stages.
- In the Codefresh UI, from the Ops in the sidebar, select Environments.
- Mouse over the column with the Environment to move.
- Click and drag the column to the required location.
Delete Environments
Delete unused or legacy Environments to avoid clutter. Deleting an Environment removes it from the GitOps Environments dashboards. The underlying resources or configuration, including the products and applications remain intact.
- In the Codefresh UI, from the Ops in the sidebar, select Environments.
- Mouse over the column with the Environment to delete.
- Click , type the name of the environment to confirm Delete.
Working with applications in GitOps Environments
In the Environments dashboard, you get both visibility into applications running in different Environments, detailed information on each application, and the ability to sync, refresh, and perform other actions for the application.
Filter applications in Environments by health status
Quickly filter applications within an environment by health status. For health status descriptions, see Health status for application resources.
- In the Codefresh UI, from the Ops in the sidebar, select Environments.
- From any Environment, click the Health status or statuses by which to filter.
The Environment displays those applications that match the selected status.
Trace applications across Environments
Trace the same application as it moves across different Environments in its development, testing, and deployment cycle. See the version of the application running in each Environment, the most recent commit indicating the change, and the user who made the commit.
Alternatively, track a set of applications deployed to multiple Environments of the same kind and at the same level. For example, track the billing application deployed to multiple production Environments based on regions. Here too, see which applications are running on each Environment, the most recent commit to the application, and the user who made the commit.
- In the Codefresh UI, from the Ops in the sidebar, select Environments.
- Switch to Detailed view.
You can then view the deployment history for a specific version of the application.
Identify application versions in different Environments
Identify the version of the application deployed in different Environments to track the progress of the applications, understand the changes made, and ensure that customers are using the latest or most appropriate release.
How to
- In the Codefresh UI, from the Ops in the sidebar, select Environments.
- Click the version number of the application.
- Switch been Table and YAML views to see the dependencies and their versions.
Compare dependency versions and diffs across Environments
Compare the versions of dependencies in the same application across different Environments. View detailed or summarized diffs for Helm charts, values, and Kubernetes resource definitions between an application in two or more Environments.
- The tabular view displays a complete list of all dependencies and their versions across more than two Environments.
- The YAML view displays a diff between two Environments.
- In the Codefresh UI, from the Ops in the sidebar, select Environments.
- Click the version number of the application.
- To compare the versions of dependencies for the selected application across different Environments, enable Compare.
- Select the Environments to compare to.
- To compare the versions of the dependencies for the applications in the selected Environments, switch to Table view.
- To see the actual diffs between the applications, switch to YAML view, and then toggle between Full/Compact views.
View deployment (Timeline) history for applications
Review the deployments for an application. Clicking the application name takes you to the familiar Timeline tab in the GitOps Apps dashboard displaying the deployment history for the application. See Monitor deployments for selected Argo CD application.
- In the Codefresh UI, from the Ops in the sidebar, select Environments.
- In the Environment column with the application, click the application name to view deployment history.
- To view all the application’s tabs, including the Current State, Configuration, and others, click the link to Full View at the top of the deployment view.
Manage applications from within Environments
Manage applications from within Environments through the application’s context menu, including manual sync, refresh, and other options.
- In the Codefresh UI, from the Ops in the sidebar, select Environments, and then click Add Environment.
- Go to the Environment with the application for which to take action.
- Click the context menu to the right of the application, and select the option:
- Quick View: View deployment, definition, and event information for the selected application in the same location.
- Synchronize: Manually synchronize the application to expedite Git-to-cluster sync.
- Edit: Update General or Advanced configuration settings for the application.
- Refresh/Hard Refresh: As an alternative to manually syncing an application, either sync the application with the desired state in Git (refresh), or sync the application with the desired state Git while removing the cache (hard refresh).
- Delete: Delete the application from Codefresh.
Related information
GitOps Products dashboard
Monitoring Argo CD applications
Home dashboard
DORA metrics
Creating Argo CD applications