|
| 1 | +--- |
| 2 | +title:"Release Notes: November 2023" |
| 3 | +description:"Release Notes for Codefresh Pipelines and GitOps" |
| 4 | +--- |
| 5 | + |
| 6 | +##Features & enhancements |
| 7 | +Our November release offers two ground-breaking features in the world of GitOps: Environments and Products |
| 8 | + |
| 9 | +###GitOps: Environments |
| 10 | +Welcome to the first ever GitOps dashboard for Environments! If you are familiar with our wide range of dashboards for Argo CD applications in Codefresh, you are also aware of the unique insights these dashbpards offer into Argo CD applications and their deployments. These dashboards don't inherently reveal the relationships between different but interconnected Argo CD Applications. |
| 11 | + |
| 12 | +Enter the GitOps Environments dashboard! A game-changer adding a new dimension to your GitOps experience with Argo CD applications. |
| 13 | + |
| 14 | +SCREENSHOT |
| 15 | + |
| 16 | +* Contextual visbility: Argo CD applications are within the context of their Environments, providing a comprehensive view of their journey through the software development and deployment lifecycle. |
| 17 | +* Version identification: Unified visibility across Environments allows you to track deployed versions effortlessly, ensuring users always access the latest or most appropriate version. You can also discern which services were rolled out in specific versions and view detailed commit information. |
| 18 | +* Enhanced insights: Beyond contextual visibility, you can delve into the deployment history of individual applications and take actions such as synchronization and refresh, among others. |
| 19 | + |
| 20 | + |
| 21 | +**How to start?** |
| 22 | +You start by creating Environments. An Environment is a custom resource in Codefresh comprising one or more pairs of clusters and namespaces. |
| 23 | + |
| 24 | +Our user-friendly UI simplifies Environment creation, allowing you to define Environments by criteria meaningful to your organization and applications – from development cycles to deployment regions. |
| 25 | +Once clusters are defined for an Environment, Codefresh automatically populates them with the applications deployed to those clusters and namespaces, showcasing them in the Environments dashboard. |
| 26 | + |
| 27 | +**Working with Environments** |
| 28 | +Interacting with Environments is straightforward and intuitive: |
| 29 | +* Reorder Environments effortlessly through drag-and-drop |
| 30 | +* Edit settings or delete Environments as needed |
| 31 | + |
| 32 | +**Working with Argo CD Applications in Environments** |
| 33 | +Managing Argo CD applications within Environments is just as simple: |
| 34 | +* View modes that allow you to decide the extent of information to see |
| 35 | +* All the options in the GitOps Apps dashboard to manage individual applications are available here as well through the app's context menu. |
| 36 | +* Clicking an application takes you to the deployment timeline tracing all releases for the application, identifying any issues or failures that require attention. From there a link takes you to the full Timeline view in the GitOps Apps dashboard. |
| 37 | + |
| 38 | + |
| 39 | +For details, see ??? |
| 40 | + |
| 41 | +###GitOps: Products |
| 42 | + |
| 43 | +GitOps Products is yet another gorund-breaking concept in GitOps from Codefresh! It adds another dimeios to Environments which makes application promotiona nd deployment transparent! |
| 44 | +A Product is a set of applications conisdered as and treated as as a cohesive unit. You can define exactly which applications are part of a Product. |
| 45 | + |
| 46 | +Codefresh automtaically identifies and organizes them by Environments. |
| 47 | + |
| 48 | +It helps answer the dailys questions: |
| 49 | +What's int eh release, where are the artifats deployed, which release is impacting production, and which services are being rolled out? |
| 50 | + |
| 51 | +So yu have Git, Jira |
| 52 | + |
| 53 | +**How to start?** |
| 54 | +As with Environments, you start by creating Products. A Product is also a custom resource in Codefresh that connects one or more Argo CD applications. |
| 55 | + |
| 56 | +Again, our intuitive UI makes it simple to create a Product. You can retain or use the default annotation that Codefresh provides for the Product, or add your custom annotations if you are already using them. |
| 57 | +Codefresh allows you to also create Products and assign applications later from the Products dashboard. |
| 58 | + |
| 59 | +Once you create Products, Codefresh collates the applications, organizes them by their Environments and showcases them in the Products dashboard. |
| 60 | + |
| 61 | +**Working with Products** |
| 62 | +After creating Products, you can edit settings, and remove Products. |
| 63 | +You can also assign unassigned applications |
| 64 | + |
| 65 | +**Working with Argo CD applications in Products** |
| 66 | +It's also easy to work with Argo CD applications in Environments. |
| 67 | +Filters |
| 68 | +You can access all options avilable in the GitOPs Apps dashboard to manage individual applications here as well. |
| 69 | +You can see the Timeline of all the releases for an application and identify failures |
| 70 | + |
| 71 | +###GitOps: Share logs for Helm Runtimes |
| 72 | + |
| 73 | +??? |
| 74 | + |
| 75 | +###Pipelines: New`timeout` functionality for pipeline steps |
| 76 | + |
| 77 | +We are happy to announce a new field for pipeline steps, the`timeout` flag, which enhances control over your pipelines! |
| 78 | +The`timeout` flag, when assigned to a step prevents that step from running beyond a specific duration if so required. |
| 79 | + |
| 80 | +Add the`timeout` flag with the <duration> and <units> to any of these step types:`git-clone`,`freestyle`,`build`,`push`,`composition`,`pending-approval`. |
| 81 | + |
| 82 | +**How it works** |
| 83 | +* Steps that exceed the timeout limit are automatically terminated. If the steps are completed before the timeout limits are exceeded, the timeout values are ignored. |
| 84 | +* Steps terminated through timeouts have the same behavior as failed steps. If you notice any inconsistencies, kindly report them as bugs. |
| 85 | +* In parallel steps, by default, the timeout defined for the parent is inherited by child steps. |
| 86 | + |
| 87 | +**Example** |
| 88 | + |
| 89 | +```yaml |
| 90 | +version:'1.0' |
| 91 | +steps: |
| 92 | +parallel: |
| 93 | +type:parallel |
| 94 | +timeout:1m |
| 95 | +steps: |
| 96 | +first: |
| 97 | +image:alpine |
| 98 | +second: |
| 99 | +image:alpine |
| 100 | +timeout:2m |
| 101 | +third: |
| 102 | +image:alpine |
| 103 | +timeout:null |
| 104 | +``` |
| 105 | +For details, see ?? |
| 106 | +
|
| 107 | +### Pipelines: Custom audiences for OIDC |
| 108 | +You’ll be happy with our latest enhancement for OIDC in Codefresh pipelines. Now, our OIDC integration supports multiple audiences. This flexibility is crucial for working with audiences that require distinct names instead of defaulting to the platform’s hostname, such as the Codefresh platform URL. |
| 109 | +
|
| 110 | +**Customize your audience** |
| 111 | +In the`obtain-oidc-id-token` step, tailor your audience by defining custom values — either a single value or multiple values separated by commas. |
| 112 | + |
| 113 | +Here’s an example of a single custom audience: |
| 114 | + |
| 115 | +```yaml |
| 116 | +obtain_id_token: |
| 117 | + title: Obtain ID Token |
| 118 | + type: obtain-oidc-id-token |
| 119 | + arguments: |
| 120 | + AUDIENCE: "cosign" |
| 121 | +``` |
| 122 | + |
| 123 | +For details, see ??? |
| 124 | + |
| 125 | + |
| 126 | + |
| 127 | +## Bug fixes |
| 128 | + |
| 129 | +**General** |
| 130 | +* (On-premises only) Removing users removing users from Codefresh UI, or via API or Terraform results in 504 error. (CR-21192 - Vadim) |
| 131 | +* Events missing from Audit log. |
| 132 | + |
| 133 | +<br> |
| 134 | + |
| 135 | +**Pipelines** |
| 136 | +* Branch information for Gerrit as Git provider not loaded in Codefresh. (CR-21414 - Alina) |
| 137 | +* Branches not loaded for GitLab repos within sub-groups. (CR-21413) |
| 138 | +* CR-21202 Zhenya to ask if valid |
| 139 | +* Incorrect step-level metrics for build step when buildx is set to tru and docker-container driver. (CR-21193 - Zhenya) |
| 140 | +* For Azure DevOps Pull Request (PR) (push commit, push reviewers changed, votes score changed, status changed) events, the build status in Azure DevOps is not identical to the build status in Codefresh.(CR-21171 Olek) |
| 141 | +* Incorrect volume sort in Volume Provisioner. (CR-21168 - Noam) |
| 142 | +* stepTemlate ignores WORKING_DIR environment variable and runs in default volume path. (CR-21167 - Zhenya) |
| 143 | +* Webhook for Bitbucket triggers three builds for a single event. (CR-21159 - Olek) |
| 144 | +* Helm step does not support latest Helm versions. (CR-21055 - Vadim) |
| 145 | +* CR-21024 Mikhail |
| 146 | +* Incorrect error message for Glob expressions. (CR-20956 - Vadim) |
| 147 | +* Incorrect results for CLI command `codefresh get pip --label`. (CR-20734 - Yosi) |
| 148 | +* Actions for Bitbucket Codefresh slow to load (CR-18913 - Andrii) |
| 149 | +<br> |
| 150 | + |
| 151 | + |
| 152 | +**GitOps** |
| 153 | +* GitOps Runtimes missing from List view and Personal Access Token lists. (CR-21197 - Oleg) |
| 154 | +* Unable to add managed clusters to GitOps Runtimes. (CR-21030 - Mikhail) |
| 155 | +* CR-20998 Mikhail |
| 156 | +* Incomplete list of Pull Requests and Jira issues in Timeline tab of GitOps Apps dashboard when Kubernetes and deployments and Rollouts are both used in the same application. (CR-20848 - Olek) |
| 157 | +* Incorrect behavior with ServerSideApply for Hybrid GitOps Runtimes. (CR-20837 - Pasha) |
| 158 | +* Not found screen for analysis run (CR-20808 - Victor - verify if customer issue) |
| 159 | +* (On-premises?)Clicking Truncated Labels on clicking More filters in GitOps Apps dashboard. (CR-20792 Alina) |