GitOps Release Notes: May 2022

Changelog and Release Notes for GitOps

Features & enhancements

Runtime disaster recovery

Runtimes are integral to all CI/CD actions and operations in Codefresh. In this release, we added the capability to restore runtimes in case of cluster failures, either partial or complete. All you need is the existing Git repo where you installed the runtime containing the runtime resources. The restore process reinstalls the runtime, leveraging the resources in the existing repo. You can choose to restore the runtime to the failed cluster or to a different cluster.
For details, see Restore runtimes.

AWS ALB ingress controller

AWS Application Load Balancer (ALB) is now part of our list of supported ingress controllers. For details, see AWS ALB ingress configuration.

Labels for runtime namespace

When installing runtimes, the --namespace-label flag lets you add labels to the runtime namespace. The labels identify and grant access to the installation network, required with service mesh ingress controllers such as Istio.
For both CLI-based and silent installations, add the flag followed by one or more labels in key=value format. Note that these labels must be identical to those defined in the ‘namespace’ resource spec.
For details, see Runtime flags.

Internal and external ingress hosts

Codefresh runtimes support defining two ingress hosts, an internal and an external ingress host, for private and public networks. Previously, runtimes supported a single ingress host for both the app-proxy and webhook ingress resources. Internal and external ingress separation allows you to expose the Codefresh app-proxy service only within your private network, while keeping the webhook ingress unchanged.

  • New runtime installations: The --internal-ingress-host flag lets you can define an ingress host for communication with the app-proxy. For details, see Ingress controller flags.
  • Existing runtimes: To add an internal ingress host, you need to commit changes to the installation repository by modifying app-proxy ingress and <runtime-name>.yaml. For details, see Internal ingress host configuration (optional) in Post-installation configuration.

For further customizations, add annotations for internal and external ingress hosts through the --internal-ingress-annotation and --external-ingress-annotation flags.

oktapreview domain support

You can set up Okta SSO to log into your Okta preview environment.

Git Source enhancements

A common scenario when using Git repositories for CI/CD is to include or exclude specific files or directories in the target repository from the destination repo or cluster. When creating or editing Git Sources in Codefresh, you can now include or exclude folders and files in the target Git repo, using Glob patterns for the same.

Include/exclude options in Git Source

Include/exclude options in Git Source

You can also delete Git Sources if needed. Selecting additional actions for a Git Source, displays the Git Source details with the Delete option.

Delete Git Source

Delete Git Source

For details, see Add and manage Git Sources.

Bug fixes

Runtimes

  • With Istio ingress, app proxy communication with Argo CD fails with Unexpected token u in JSON error.
  • Adding a managed cluster always commits manifests to the main branch and not to the defined default branch.
  • Add managed cluster command fails when ingress host includes / suffix.
  • Application groups not supported in Current State for older runtime versions.
  • Retrieving a list of Git Sources for a runtime via CLI, causes the CLI to crash.
  • Uninstalling a runtime does not remove runtime-related secrets from the cluster.

Applications

  • Applications deleted from the Argo UI not removed from the Applications dashboard in Codefresh.
  • Back button in Applications > Timeline tab does not work.
  • Hierarchy for AppSet application created in Argo CD not rendered correctly in Codefresh.
  • Most Active Applications list in the GitOps Overview dashboard is incorrectly sorted.
  • Link to CI build on Service in Applications Dashboard is hard-coded to Workflows.
  • Add Application wizard creates invalid manifest.
  • Removing a resource from an application does not remove it from the application’s Current State list.
  • Deleting an application deletes it from the cluster and the Git repo, but not from the database.
  • Creating an application without path results in an error.
  • On page reload, deployment chart in Application > Timeline tab does not reflect set filters.
  • Resources with changed file names are not reported in Argo CD.
  • Unknown state for application sets with targets on external clusters.

Others

  • Clicking the Settings icon shows a console error.
  • Workflow Templates reported without Git manifests and desired state.
  • Get list of workflows for a pipeline via CLI returns 400 bad request.
  • GitHub user without a public email address causes autopilot to crash in app-proxy.
  • Within a staging app, regular deployment transition is empty and shows only replicas count.