What’s new in Codefresh?

We launched the Codefresh platform in February this year. Built on Argo, the world’s most popular and fastest-growing open source software delivery, Codefresh unlocks the full enterprise potential of Argo Workflows, Argo CD, Argo Events, and Argo Rollouts, providing a control-plane for managing them at scale. Since the launch, we have continued to work on and grow Codefresh.

Features and enhancements

Kubernetes version runtime support

We now support the latest Kubernetes server versions, 1.22 and 1.23.

Ingress controllers

We are continually working on supporting additional Ingress controllers, and this release adds support for:

  • Ambassador
  • NGINX Enterprise
  • Istio
  • Traefik

All ingress controllers must be configured to report their status. For details, see Ingress controller requirements.

Argo CD managed cluster support

Argo CD can manage clusters without Argo CD installed on them. Now you have the same functionality in Codefresh, to add, view, and manage remote clusters.
Admins can add an external cluster to a Codefresh runtime, and register it automatically as a managed cluster. From that point on, you have complete visibility into health and sync status, and options to manage them, including installing Argo Rollouts.

With managed clusters in Codefresh, you get:

  • Streamlined management: All cluster- and cluster-component level operations are managed through the runtime, in a centralized location. You can install new components, uninstall existing components, and remove the cluster from the runtime’s managed list. A single click installs Argo Rollouts on the managed cluster.

Install Argo Rollouts for managed cluster in topology view

Install Argo Rollouts for managed cluster in topology view
  • Seamless upgrades: Upgrades to runtimes or to runtime components in the local cluster automatically upgrades those in managed clusters as well.
  • Integration with dashboards: Applications dashboards reflect deployment information for applications in all managed clusters. When Argo Rollouts are installed, application rollouts are also reported to the dashboard.

For details, see Managed clusters.

Topology views for runtimes

Get a visual representation of the runtimes in your deployments, managed clusters, and cluster components with the Topology view for runtimes. Quickly identify key information such as health and sync status, and version. Add new clusters to or remove existing clusters from runtime management.

Runtime topology view

Runtime topology view

For details, see Topology view for runtimes.

Analytics dashboard

In addition to Delivery Pipelines, the Analytics dashboard shows Runtimes, Managed Clusters, Deployments, and Applications, to give you the complete CI/CD picture with key facts and insights.

Usability enhancements

  • Global filters are now located at the top of the dashboard.
  • Resource-specific filters are available for that resource.
  • A convenient View button takes you to the dedicated resource view for additional analysis.

Analytics dashboard

Analytics dashboard

Applications dashboard

The Applications dashboard displays the individual deployments across your enterprise. Here are the main enhancements:

Application inventory and status filters

The health status snapshot in the Applications dashboard also works as a quick filter. Selecting a status filters applications by that status.
Filter criteria that match child applications automatically expands the parent application to show the child applications.

Applications dashboard: Filter by status

Applications dashboard: Filter by status

Rollouts

Intuitive visualization with the option to open the Images view in a new browser window.

Applications dashboard: Link to Image view

Applications dashboard: Link to Image view

Git committers
Hovering over an avatar shows all commits made by that committer.

Current state of cluster resources
Hierarchical representation of the resources deployed by this application in the cluster.

Applications dashboard: Current State

Applications dashboard: Current State

Workflow Templates

Codefresh provides full-fledged management for the Workflow Template resource, from optimizing existing Workflow Templates, to creating new ones, and testing Workflow Templates before commit.

Workflow Templates

Workflow Templates

Create, test, and optimize Workflow Templates
Create Workflow Templates in three steps. Start by selecting one from the Codefresh Hub for Argo, or start with a blank template form. Customize the Workflow Template, and either run the template to test it or commit to submit it.

Add Workflow Template panel

Add Workflow Template panel

For both new and existing Workflow Templates, the Run option enables you to test a new template, or changes to an existing template, without needing to first commit the changes. If the Workflow Template has previous iterations, you can view the arguments and values used in those iterations.

Run option for Workflow Templates

Run option for Workflow Templates

Run Workflow Template: Arguments list

Run Workflow Template: Arguments list

The Workflows and Delivery Pipelines tabs associated with the selected Workflow Template are displayed in the respective tabs, giving you all the information in the same location.

Rename Workflow Template
After creating a Workflow Template, you can rename it by selecting the template and clicking Rename.
The new name must be unique within the cluster.

Rename Workflow Template

Rename Workflow Template

Application creation wizard

Create applications that are fully GitOps-compliant from the Codefresh UI. The application manifest is generated, committed to Git, and synced to your cluster. When creating the application, you can use the UI forms, or edit the manifest directly.

Application settings in application creation wizard

Application settings in application creation wizard

Delivery Pipeline flows

The Delivery Pipeline flow features several usability and functionality enhancements.

Seamless integration of Argo Event information with Argo Workflows

Once a workflow is submitted for a Delivery Pipeline, the Workflows tab visualizes the connections between the steps in the workflow.
With Argo Event information for the workflow also incorporated into the visualization, you have a unified view of Argo Events and Argo Workflows in one and the same location, the events that triggered the workflow combined with the workflow itself.

The Event Source manifest, the event payload, and the Sensor manifest are displayed as pull-out panels, allowing you to easily copy paths for attributes from event payloads, view logs, and download artifacts.

This example shows the event payload from Argo Events for the workflow.

Panel with Event Payload in Workflows tab

Panel with Event Payload in Workflows tab

This example shows the sensor manifest from Argo Events for the workflow.

Panel with Sensor manifest in Workflows tab

Panel with Sensor manifest in Workflows tab

Rename trigger resource

Similar to Workflow Templates, you can now change the trigger name of a Delivery Pipeline. The sensor name cannot be changed.

Rename trigger option for Delivery Pipeline

Rename trigger option for Delivery Pipelines

Git repo selection for commits

A dropdown list allows you to select one or more Git repos in the Trigger Conditions tab. Start typing, and use autocomplete to view and select from the available Git repos.

Git repo selection for Delivery Pipelines

Git repo selection for Delivery Pipelines

Errors/warning in manifests synced with the line number in manifest

Clicking the line number next to an error or a warning changes focus to the line in the manifest file with the error or warning.

Workflows dashboard enhancements

Link from workflows to their pipelines

Workflow names in the dashboard are clickable links. Clicking a workflow name takes you directly to the pipeline associated with that workflow.

New status for active workflows without events

Identify workflows that are active but do not have any execution data with the new status filter in the Workflows dashboard. Filtering by Status ‘Unknown’ shows workflows without events for the last hour.

Unknown status filter for workflows

Unknown status filter for workflows

Image reporting with Docker config.json

You can now also authenticate to a Docker registry using docker./config.json to report image information. Note that config.json is not currently supported for GCR, ECR, and ACR.
For more information on the required fields, see Report image info.

OpenShift 4.8 support

CSDP supports Red Hat OpenShift 4.8. For detailed information, read their blog.

Bug fixes

Applications dashboard

  • Inaccurate results when filtering by Application type.
  • Cluster shows the address of the Argo CD cluster instead of the target cluster.
  • Broken Commit link in Application Preview.
  • Filter by favorites does not show ApplicationSets.
  • Releases not ordered correctly.
  • Missing tags for Application/AppllicationSet.
  • Loop created on changing date in the Applications dashboard.
  • Rollouts in Deployment chart not aligned with the actual order of rollouts.
  • Missing current release label.
  • Missing commit message
  • JIRA annotations not displayed for Images in Docker.io.
  • Avatars show up intermittently.
  • Incorrect Committers in Applications dashboard.
  • Performance issues.

Images

  • Duplicate applications in Images repositories with different tags.
  • Unmarked deployed images.

Pipelines

  • Empty event-sources.
  • Missing created/updated/deleted status for resources.
  • Event mapping issues.
  • Creating a new pipeline with an existing Template shows empty Template tab.

Upgrade

  • Agent upgrade overrides configuration in previous release.

Uninstall

  • Artifacts in database after uninstalling with --force flag.
  • Uninstallation issues with newer K8s versions.