sefe / sefe/dorc

Maintenance Window for each Environment

Open
#787 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C#
Stars
5
Forks
3
Avg merge
1d 22h
Merged PRs (30d)
14

Description

Problem

To plan deployments effectively, users need to know whether an environment has a maintenance window and when deployments are expected to take place.

When a maintenance window is configured and a user attempts to start a deployment outside that window, DORC should display a warning before the deployment is started.

Requirements

Maintenance windows must be configurable independently for each environment and support:

  • A weekly schedule based on day of the week and local start/end times in a specified time zone.
    • Example: every Friday between 15:00 and 16:00 Europe/London time.
  • A monthly schedule based on the occurrence within the month, day of the week, and local start/end times in a specified time zone.
    • Example: the third Wednesday of every month between 15:00 and 16:00 Europe/London time.
  • An exclusion range based on inclusive days of the month, during which an otherwise matching maintenance window does not apply.
    • Example: every Friday between 15:00 and 16:00 Europe/London time, except from the 1st through the 5th day of each month.

Acceptance criteria

  • A maintenance window can be added, viewed, edited, and removed for each environment.
  • Weekly maintenance windows support a day of the week, start time, end time, and IANA time zone.
  • Monthly maintenance windows support an occurrence within the month, day of the week, start time, end time, and IANA time zone.
  • An optional inclusive day-of-month exclusion range can be configured.
  • Time-zone and daylight-saving changes are handled according to the configured locale/time zone.
  • Starting a deployment outside a configured maintenance window prompts the user with a warning before continuing.
  • Starting a deployment within a configured maintenance window does not display the warning.
  • Environments without a configured maintenance window retain the current deployment behaviour.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are named. Start by locating environment configuration and the deployment-start flow, then trace how deployment warnings are presented. Done means environments support the specified weekly and monthly schedules, exclusions, time zones, and warning behavior without changing deployments for environments with no window.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
devops
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.