diff --git a/_docs/deployment/applications-dashboard.md b/_docs/deployment/applications-dashboard.md index 22033e28..f1f73e3a 100644 --- a/_docs/deployment/applications-dashboard.md +++ b/_docs/deployment/applications-dashboard.md @@ -33,6 +33,20 @@ caption="pplications Dashboard" max-width="30%" %} +#### Error notifications +Errors in applications are flagged through the **Error Detected** button on the top right of the Applications dashboard. Clicking the button shows the list of applications with the errors and the possible reasons for those errors. + +{% include +image.html +lightbox="true" +file="/images/applications/app-dashboard-errors.png" +url="/images/applications/app-dashboard-errors.png" +alt="Error notifications in Applications Dashboard" +caption="Error notifications in Applications Dashboard" +max-width="50%" +%} + + #### 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. @@ -41,7 +55,7 @@ The application state snapshot shows at a glance both the total number of applic #### 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. +You can also mark applications as favorites to focus on applications of interest. **Filters** @@ -65,7 +79,7 @@ Filters are divided into frequently used and advanced filters. For detailed information, see the official documentation on [Labels and selectors](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/){:target="\_blank"}. - {% include +{% include image.html lightbox="true" file="/images/applications/app-dashboard-adv-filters.png" @@ -129,145 +143,17 @@ caption="App of Apps in Applications Dashboard" max-width="30%" %} - -### 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. - -{% include -image.html -lightbox="true" -file="/images/applications/dashboard-timeline-main.png" -url="/images/applications/dashboard-timeline-main.png" -alt="Applications Dashboard: Timeline tab" -caption="Applications Dashboard: Timeline tab" -max-width="30%" -%} - -#### 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. - -{% include -image.html -lightbox="true" -file="/images/applications/apps-historical-deployment.png" -url="/images/applications/apps-historical-deployment.png" -alt="Applications Dashboard: Deployment chart" -caption="Applications Dashboard: Deployment chart" -max-width="30%" -%} - -#### Deployment details - -**Deployment entries** - -Each deployment entry displays the complete history of that deployment, by Git hash, Kubernetes services, and Argo applications: - - -{% include -image.html -lightbox="true" -file="/images/applications/app-dashboard-time-expanded-card.png" -url="/images/applications/app-dashboard-time-expanded-card.png" -alt="Applications Dashboard: Deployment entry in Timeline tab" -caption="Applications Dashboard: Deployment entry in Timeline tab" -max-width="70%" -%} - -* 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](https://argoproj.github.io/argo-rollouts/){:target="\_blank"}. - -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. - -{% include -image.html -lightbox="true" -file="/images/applications/apps-dashboard-rollout-in-progress.png" -url="/images/applications/apps-dashboard-rollout-in-progress.png" -alt="Application deployment in progress" -caption="Application deployment in progress" -max-width="50%" -%} - -Here is an example of the rollout progress bar for the same deployment on completion. All traffic has been routed to the new version. - -{% include -image.html -lightbox="true" -file="/images/applications/apps-dashboard-rollout-complete.png" -url="/images/applications/apps-dashboard-rollout-complete.png" -alt="Application deployment completed" -caption="Application deployment completed" -max-width="50%" -%} - -#### 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](https://argoproj.github.io/argo-rollouts/features/analysis/){:target="\_blank"}. - -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. - -{% include -image.html -lightbox="true" -file="/images/applications/apps-dashboard-rollout-analysis.png" -url="/images/applications/apps-dashboard-rollout-analysis.png" -alt="Application rollout: Analysis run" -caption="Applications rollout: Analysis run" -max-width="30%" -%} - -To view run results, expand **Analysis metrics** in Background Analysis. -The Manifest tab displays the analysis template manifest. - -{% include -image.html -lightbox="true" -file="/images/applications/apps-dashboard-run-results.png" -url="/images/applications/apps-dashboard-run-results.png" -alt="Application rollout: Analysis run results" -caption="Applications rollout: Analysis run results" -max-width="30%" -%} - - -### 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](https://kubernetes.io/docs/concepts/services-networking/service/){:target="\_blank"}. - -{% include -image.html -lightbox="true" -file="/images/applications/apps-dashboard-services.png" -url="/images/applications/apps-dashboard-services.png" -alt="Applications Dashboard: Services tab" -caption="Applications Dashboard: Services tab" -max-width="50%" -%} + ### 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. @@ -399,7 +285,7 @@ max-width="50%" %} #### 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. +Selecting a resource, in either Tree or List view, shows resource manifests, logs, and events if any, based on the resource type you selected. Endpoints for example show only manifests, while pods show manifests, logs, and events. **Summary** @@ -438,4 +324,161 @@ max-width="50%" * Wrap: Enable/disable line wrapping * Download: Download the complete log into a text file for offline viewing and analysis. +**Events** + +{% include +image.html +lightbox="true" +file="/images/applications/current-state-events-tab.png" +url="/images/applications/current-state-events-tab.png" +alt="Current State: Events for resource" +caption="Current State: Events for resource" +max-width="50%" +%} + +View events for application resources in the Events tab. If your rutime is lower than the version required to view events, you are notified to upgrade your runtime. +The Events tab displays both successful and failed events from Argo CD, starting with the most recent event. +Argo CD displays events as they occur for an application resource, and retains event information for a duration of 30 minutes. Historical events older than this duration are removed, and the Events tab can be empty if there are no ongoing events. + +### 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. + +{% include +image.html +lightbox="true" +file="/images/applications/dashboard-timeline-main.png" +url="/images/applications/dashboard-timeline-main.png" +alt="Applications Dashboard: Timeline tab" +caption="Applications Dashboard: Timeline tab" +max-width="30%" +%} + +#### 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. + +{% include +image.html +lightbox="true" +file="/images/applications/apps-historical-deployment.png" +url="/images/applications/apps-historical-deployment.png" +alt="Applications Dashboard: Deployment chart" +caption="Applications Dashboard: Deployment chart" +max-width="30%" +%} + +#### Deployment details + +**Deployment entries** + +Each deployment entry displays the complete history of that deployment, by Git hash, Kubernetes services, and Argo applications: + + +{% include +image.html +lightbox="true" +file="/images/applications/app-dashboard-time-expanded-card.png" +url="/images/applications/app-dashboard-time-expanded-card.png" +alt="Applications Dashboard: Deployment entry in Timeline tab" +caption="Applications Dashboard: Deployment entry in Timeline tab" +max-width="70%" +%} + +* 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](https://argoproj.github.io/argo-rollouts/){:target="\_blank"}. + +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. + +{% include +image.html +lightbox="true" +file="/images/applications/apps-dashboard-rollout-in-progress.png" +url="/images/applications/apps-dashboard-rollout-in-progress.png" +alt="Application deployment in progress" +caption="Application deployment in progress" +max-width="50%" +%} + +Here is an example of the rollout progress bar for the same deployment on completion. All traffic has been routed to the new version. + +{% include +image.html +lightbox="true" +file="/images/applications/apps-dashboard-rollout-complete.png" +url="/images/applications/apps-dashboard-rollout-complete.png" +alt="Application deployment completed" +caption="Application deployment completed" +max-width="50%" +%} + +#### 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](https://argoproj.github.io/argo-rollouts/features/analysis/){:target="\_blank"}. + +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. + +{% include +image.html +lightbox="true" +file="/images/applications/apps-dashboard-rollout-analysis.png" +url="/images/applications/apps-dashboard-rollout-analysis.png" +alt="Application rollout: Analysis run" +caption="Applications rollout: Analysis run" +max-width="30%" +%} + +To view run results, expand **Analysis metrics** in Background Analysis. +The Manifest tab displays the analysis template manifest. + +{% include +image.html +lightbox="true" +file="/images/applications/apps-dashboard-run-results.png" +url="/images/applications/apps-dashboard-run-results.png" +alt="Application rollout: Analysis run results" +caption="Applications rollout: Analysis run results" +max-width="30%" +%} + + +### 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](https://kubernetes.io/docs/concepts/services-networking/service/){:target="\_blank"}. + +{% include +image.html +lightbox="true" +file="/images/applications/apps-dashboard-services.png" +url="/images/applications/apps-dashboard-services.png" +alt="Applications Dashboard: Services tab" +caption="Applications Dashboard: Services tab" +max-width="50%" +%} + + + diff --git a/images/applications/app-dashboard-errors.png b/images/applications/app-dashboard-errors.png new file mode 100644 index 00000000..728a7092 Binary files /dev/null and b/images/applications/app-dashboard-errors.png differ diff --git a/images/applications/app-dashboard-time-expanded-card.png b/images/applications/app-dashboard-time-expanded-card.png index e318602c..b541e40d 100644 Binary files a/images/applications/app-dashboard-time-expanded-card.png and b/images/applications/app-dashboard-time-expanded-card.png differ diff --git a/images/applications/apps-current-state.png b/images/applications/apps-current-state.png index b8f06dec..b40eef4c 100644 Binary files a/images/applications/apps-current-state.png and b/images/applications/apps-current-state.png differ diff --git a/images/applications/apps-dashboard-rollout-complete.png b/images/applications/apps-dashboard-rollout-complete.png index 8d1fc22b..709a8919 100644 Binary files a/images/applications/apps-dashboard-rollout-complete.png and b/images/applications/apps-dashboard-rollout-complete.png differ diff --git a/images/applications/apps-dashboard-rollout-in-progress.png b/images/applications/apps-dashboard-rollout-in-progress.png index ab28f00c..4d728d09 100644 Binary files a/images/applications/apps-dashboard-rollout-in-progress.png and b/images/applications/apps-dashboard-rollout-in-progress.png differ diff --git a/images/applications/apps-dashboard-services.png b/images/applications/apps-dashboard-services.png index ae59dc89..3a813717 100644 Binary files a/images/applications/apps-dashboard-services.png and b/images/applications/apps-dashboard-services.png differ diff --git a/images/applications/apps-historical-deployment.png b/images/applications/apps-historical-deployment.png index c01fe1d0..167a039a 100644 Binary files a/images/applications/apps-historical-deployment.png and b/images/applications/apps-historical-deployment.png differ diff --git a/images/applications/current-state-events-tab.png b/images/applications/current-state-events-tab.png new file mode 100644 index 00000000..ede641d2 Binary files /dev/null and b/images/applications/current-state-events-tab.png differ diff --git a/images/applications/current-state-logs.png b/images/applications/current-state-logs.png index 9446928d..7891de3f 100644 Binary files a/images/applications/current-state-logs.png and b/images/applications/current-state-logs.png differ diff --git a/images/applications/current-state-resource-summary.png b/images/applications/current-state-resource-summary.png index d9e33cd4..a98cbdfc 100644 Binary files a/images/applications/current-state-resource-summary.png and b/images/applications/current-state-resource-summary.png differ diff --git a/images/applications/current-state-tree-app-in-progress.png b/images/applications/current-state-tree-app-in-progress.png index 80198b01..26fe1eff 100644 Binary files a/images/applications/current-state-tree-app-in-progress.png and b/images/applications/current-state-tree-app-in-progress.png differ diff --git a/images/applications/current-state-tree-resource-filtered.png b/images/applications/current-state-tree-resource-filtered.png index 133a2969..15463fe3 100644 Binary files a/images/applications/current-state-tree-resource-filtered.png and b/images/applications/current-state-tree-resource-filtered.png differ diff --git a/images/applications/current-state-tree-resource-list.png b/images/applications/current-state-tree-resource-list.png index 4aa2473e..b5e4f23c 100644 Binary files a/images/applications/current-state-tree-resource-list.png and b/images/applications/current-state-tree-resource-list.png differ diff --git a/images/applications/current-state-tree-search.png b/images/applications/current-state-tree-search.png index 057d072b..322cf363 100644 Binary files a/images/applications/current-state-tree-search.png and b/images/applications/current-state-tree-search.png differ diff --git a/images/applications/dashboard-timeline-main.png b/images/applications/dashboard-timeline-main.png index f6bcc94a..c4cdd298 100644 Binary files a/images/applications/dashboard-timeline-main.png and b/images/applications/dashboard-timeline-main.png differ