Skip to content
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

feat: New Pattern Module avm/ptn/maintenance/azure-update-manager #3771

Open
wants to merge 33 commits into
base: main
Choose a base branch
from

Conversation

akhilthomas011
Copy link

@akhilthomas011 akhilthomas011 commented Nov 12, 2024

Description

This PR adds the pattern module for Azure Update Manager.

The pattern creates multiple maintenance configurations and assigns them to ARC Servers/Azure VMs based on tags. The pattern also creates and assigns Azure Policies in the subscription to mandate maintenance configuration related Tags on Virtual machines on creation and do necessary config changes to be compatible with Azure Update Manager.

Closes #1144

Pipeline Reference

Pipeline
avm.ptn.maintenance.azure-update-manager

Type of Change

  • Update to CI Environment or utilities (Non-module affecting changes)
  • Azure Verified Module updates:
    • Bugfix containing backwards-compatible bug fixes, and I have NOT bumped the MAJOR or MINOR version in version.json:
      • Someone has opened a bug report issue, and I have included "Closes #{bug_report_issue_number}" in the PR description.
      • The bug was found by the module author, and no one has opened an issue to report it yet.
    • Feature update backwards compatible feature updates, and I have bumped the MINOR version in version.json.
    • Breaking changes and I have bumped the MAJOR version in version.json.
    • Update to documentation

Checklist

  • I'm sure there are no other open Pull Requests for the same update/change
  • I have run Set-AVMModule locally to generate the supporting module files.
  • My corresponding pipelines / checks run clean and green without any errors or warnings

@akhilthomas011 akhilthomas011 requested review from a team as code owners November 12, 2024 11:15
@avm-team-linter avm-team-linter bot added the Needs: Core Team 🧞 This item needs the AVM Core Team to review it label Nov 12, 2024
@microsoft-github-policy-service microsoft-github-policy-service bot added Needs: Triage 🔍 Maintainers need to triage still Type: AVM 🅰️ ✌️ Ⓜ️ This is an AVM related issue labels Nov 12, 2024
@akhilthomas011 akhilthomas011 changed the title Feat: Pattern Module for Azure Update Manager feat: Pattern Module for Azure Update Manager Nov 12, 2024
@akhilthomas011
Copy link
Author

@jtracey93 - I have pulled-in the new changes to my PR. It passed the validations.

Comment on lines +4 to +5
metadata version = '0.1.0'
metadata category = 'Compute'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's about this metadata?

//User Defined Types
@description('Defines the structure of a maintenance configuration.')
type maintenanceConfigurationType = {
@description('The name of the maintenance configuration.')
Copy link
Contributor

@AlexanderSehr AlexanderSehr Nov 24, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing metadata like the prefix category Mandatory / Optional / Conditional for all properties

}
}
@description('The lock settings for the maintenance configuration.')
lock: object
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For this you could import the lock type from the published avm-common-types module and use it here: lock: lockType?

@description('The tags to apply to the maintenance configuration.')
tags: object?
@description('The role assignments for the maintenance configuration.')
roleAssignments: array?
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For this you could import the role assignments type from the published avm-common-types module and use it here: roleAssignments: roleAssignmentType[]?


@description('Optional. The name of the resource group to deploy for testing purposes.')
@maxLength(90)
// e.g., for a module 'network/private-endpoint' you could use 'dep-dev-network.privateendpoints-${serviceShort}-rg'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remove all example comments in this and other test files

Comment on lines +25 to +31
// ============ //
// Dependencies //
// ============ //

// General resources
// =================

Copy link
Contributor

@AlexanderSehr AlexanderSehr Nov 24, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
// ============ //
// Dependencies //
// ============ //
// General resources
// =================

@eriqua eriqua added Class: Pattern Module 📦 This is a pattern module and removed Needs: Triage 🔍 Maintainers need to triage still labels Jan 25, 2025
@eriqua eriqua changed the title feat: Pattern Module for Azure Update Manager feat: New Pattern Module avm/ptn/maintenance/azure-update-manager Jan 25, 2025
@eriqua eriqua disabled auto-merge January 25, 2025 17:37
@eriqua eriqua enabled auto-merge (squash) January 25, 2025 17:37
@eriqua eriqua added the Needs: Author Feedback 👂 Awaiting feedback from the issue/PR author label Jan 25, 2025
@microsoft-github-policy-service microsoft-github-policy-service bot added the Status: No Recent Activity 💤 When an issue/PR has not been modified for X amount of days label Jan 29, 2025

Important

@akhilthomas011, this issue has been automatically marked as stale because it has been marked as requiring author feedback but has not had any activity for 4 days. It will be closed if no further activity occurs within 3 days of this comment.

Tip

To prevent further actions to take effect, one of the following conditions must be met:

  • The author must respond in a comment within 3 days of this comment.
  • The "Status: No Recent Activity 💤" label must be removed.
  • If applicable, the "Status: Long Term ⏳" or the "Needs: Module Owner 📣" label must be added.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Class: Pattern Module 📦 This is a pattern module Needs: Author Feedback 👂 Awaiting feedback from the issue/PR author Needs: Core Team 🧞 This item needs the AVM Core Team to review it Status: No Recent Activity 💤 When an issue/PR has not been modified for X amount of days Type: AVM 🅰️ ✌️ Ⓜ️ This is an AVM related issue
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Module Proposal]: avm/ptn/maintenance/azure-update-manager
4 participants