-
Notifications
You must be signed in to change notification settings - Fork 555
doc: Created Deployment Window Draft #4800
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 1 commit
Commits
Show all changes
11 commits
Select commit
Hold shift + click to select a range
a1cd743
Created Deployment Window Draft
ashoknayak777 c9efa15
Snapshots Added + PM Feedback Incorporated
ashoknayak777 f63bcd1
Final fixes
ashoknayak777 b1b69d7
Added PM suggestions
ashoknayak777 32e987c
Added Configuration Part
ashoknayak777 d26ed40
Separated Single Apply and Bulk Apply
ashoknayak777 4af4a69
Figure Caption Correction
ashoknayak777 ffe9acf
CO Feedback Incorporated
ashoknayak777 c0a1b9d
Removed Unwanted CLI YAML
ashoknayak777 a68287a
Merge branch 'main' into deployment-win-doc
ashoknayak777 d8e492d
Merge branch 'main' into deployment-win-doc
ashoknayak777 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
117 changes: 117 additions & 0 deletions
117
docs/user-guide/global-configurations/deployment-window.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,117 @@ | ||
| # Deployment Window | ||
|
|
||
| ## Introduction [](https://devtron.ai/pricing) | ||
|
|
||
| Unplanned or unwanted deployments of applications can affect the services of an organization. Consequently, its business impact will be severe if such disruptions occur during peak hours or critical periods (say festive season). | ||
|
|
||
| Therefore, Devtron comes with a feature called 'Deployment Window' that allows you to define specific timeframes during which application deployments are either blocked or allowed in specific environments. | ||
ashoknayak777 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| ### Types of Deployment Window | ||
|
|
||
| | Name | Blackout Window | Maintenance Window | | ||
| | --------------------- | ---------------------------------------------------|--------------------| | ||
| | **Definition** | Time period during which deployments are not allowed | Only time period during deployments are allowed | | ||
| | **Use** | To block deployments when systems are already stable and running a critical business in peak hours | To allow deployments preferably during non-business hours so as to minimize any negative impact on end-users | | ||
| | **In case of overlap?** | Blackout window gets a higher priority over maintenance window | Maintenance window has a lower priority | | ||
|
|
||
|
|
||
| ### Difference between a Blackout Window and Maintenance Window | ||
|
|
||
| Technically, both of them are different methods of restricting deployments to an environment. For example, specifying either a blackout window of [8:00 AM to 10:00 PM] or a maintenance window of [10:00 PM to 8:00 AM] essentially does the same job. You can define either of them depending on your use case. | ||
|
|
||
| --- | ||
|
|
||
| ## Configuring Deployment Window | ||
|
|
||
| (This is configured by super-admins. Details yet to be added.) | ||
|
|
||
| --- | ||
|
|
||
| ## Checking Deployment Window | ||
|
|
||
| {% hint style="warning" %} | ||
| ### Who Can Perform This Action? | ||
| Users need to have view-only permission or above (along with access to the environment and application) to check deployment windows. | ||
ashoknayak777 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| {% endhint %} | ||
|
|
||
| ### Overview Page | ||
|
|
||
| The **Deployment window** section shows the deployment windows configured for each [environment](../../reference/glossary.md#environment). | ||
ashoknayak777 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
|  | ||
|
|
||
| However, if a deployment window doesn't exist for an environment, the message `No deployment windows are configured` would be displayed next to it. | ||
|
|
||
| You may click the dropdown icon to view the details which include: | ||
| * Type of deployment window (Blackout/Maintenance) | ||
| * Name and description | ||
| * Frequency of window (once, weekly, monthly, yearly) | ||
| * Start date and time | ||
ashoknayak777 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| * End date and time | ||
|
|
||
| ### App Details Page | ||
|
|
||
| Unlike the **Overview** page which shows deployment windows for all environments, the **App Details** page shows the deployment windows for one environment at a time. | ||
ashoknayak777 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
|  | ||
|
|
||
| If configured, the ongoing and upcoming deployment windows would be visible in the form of cards (in the same row that has `Application Status`, `Deployment Status`, etc.) | ||
ashoknayak777 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| For example, if the super-admin has configured 4 deployment windows (say 2 Blackout and 2 Maintenance), you will see 4 cards stacked upon each other. However, no cards will be shown if deployment windows aren't configured. | ||
|
|
||
| You may click on any of them to view the details of the deployment windows. | ||
ashoknayak777 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| --- | ||
|
|
||
| ## Result | ||
|
|
||
| The below functions are blocked during an ongoing blackout window or outside maintenance window. | ||
|
|
||
| * [Hibernation](#hibernation) | ||
| * [Restart Workloads](#restart-workloads) | ||
| * [Deployment](#deployment) | ||
ashoknayak777 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| * [Deletion of CD Pipeline](#deletion-of-cd-pipeline) | ||
ashoknayak777 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| {% hint style="info" %} | ||
| However, the exempted users specified in deployment window configuration can bypass the restrictions and perform the above actions. | ||
ashoknayak777 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| {% endhint %} | ||
|
|
||
|
|
||
| ### Hibernation | ||
ashoknayak777 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| As you know, every Devtron application comes with an option to hibernate. It is generally used when you do not want your application(s) to consume resources and incur costs. | ||
|
|
||
| The hibernation process sets the replica count to 0; therefore, your application will become non-functional. To avoid this, hibernation of application is blocked. | ||
|
|
||
| ### Restart Workloads | ||
|
|
||
| Restarting workloads is a common practice for deploying updates, fixing bugs, or recovering from errors. Old pods are terminated and new pods are launched. | ||
|
|
||
| Although Kubernetes handles the process smoothly, there is a possibility of interruptions or downtime. To avoid this, restarting workloads of an application is blocked when deployment is restricted. | ||
|
|
||
| ### Deployment | ||
|
|
||
| Go to the `Build & Deploy` tab. The CD pipelines with restricted deployment will carry a **`DO NOT DEPLOY`** label. | ||
|
|
||
| Still, if a user selects an eligible image and proceeds to deploy, it will show `Deployment is blocked` along with a list of exempted users who are allowed to deploy. | ||
|
|
||
| {% hint style="warning" %} | ||
| Not just manual trigger, deployments remain blocked even if the trigger mode is automatic. In such cases, if a new container image comes into picture, the user has to manually deploy it when allowed. | ||
ashoknayak777 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| {% endhint %} | ||
|
|
||
| The `Deployment History` tab will also log whether a given deployment was initiated inside or outside the deployment window. | ||
ashoknayak777 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| ### Deletion of CD Pipeline | ||
|
|
||
| Go to **App Configuration** → **Workflow**. | ||
|
|
||
| While deleting a CD pipeline doesn't necessarily affect the current state of the deployed application, it might impact future deployments and you will also lose information about past deployments, i.e., Deployment History. | ||
ashoknayak777 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| If you attempt to delete any CD pipeline with restricted deployment, it will show `Pipeline deletion is blocked`. | ||
|
|
||
| {% hint style="info" %} | ||
| The behavior of deployment window is same for **Application** as well as **Application Groups**, since both have almost similar screens. | ||
ashoknayak777 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| {% endhint %} | ||
|
|
||
|
|
||
|
|
||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.