Azure / Azure-Verified-Modules

Azure Verified Modules (AVM) is an initiative to consolidate and set the standards for what a good Infrastructure-as-Code module looks like. Modules will then align to these standards, across languages (Bicep, Terraform etc.) and will then be classified as AVMs and available from their respective language specific registries.
https://aka.ms/AVM
MIT License
320 stars 67 forks source link

[Module Proposal]: `avm/ptn/dev-ops/cicd-agents-and-runners` #1293

Open sebassem opened 1 month ago

sebassem commented 1 month ago

Check for previous/existing GitHub issues/module proposals

Check this module doesn't already exist in the module indexes

Bicep or Terraform?

Bicep

Module Classification?

Pattern Module

Module Name

avm/ptn/dev-ops/cicd-agents-and-runners

Module Details

This pattern module will deploy self-hosted Azure DevOps Agents and / or GitHub Runners allowing selection of one of the following compute options:

This will be the Bicep counterpart for this terraform module

Do you want to be the owner of this module?

Yes

Module Owner's GitHub Username (handle)

sebassem

(Optional) Secondary Module Owner's GitHub Username (handle)

No response

matebarabas commented 1 month ago

@sebassem, thank you for proposing this module and thanks for providing a link it to its Terraform counterpart! To triage this module, I'd have a couple of questions:

Thank you!

sebassem commented 1 month ago

@sebassem, thank you for proposing this module and thanks for providing a link it to its Terraform counterpart! To triage this module, I'd have a couple of questions:

  • I can see the Terraform version would provide more options. Are you also planning to cover those, but at a later stage?
  • What is/isnโ€™t part of it? Which resource and/or pattern modules are planned to be leveraged in it? Please provide a list of resources that would be part of the planned module.
  • Where is it coming from/whatโ€™s backing it - e.g., Azure Architecture Center (AAC), community request, customer example. Please provide an architectural diagram and related documentation if possible - or a pointer to these if they are publicly available.
  • As we do have a 2-segment naming convention for Bicep pattern modules, can you please provide an updated naming suggestion? Should it be something like avm/ptn/dev-ops/cicd-agents-and runners?

Thank you!

Hello Mate,

cc: @jtracey93

jtracey93 commented 1 month ago

@matebarabas JFYI, this is needed for some ALZ and AVM new feature work we are creating to accelerate the setup of CI/CD for application teams in new subscriptions. Answering the common question of "what does Microsoft recommend in terms of CI/CD pipelines that we should use to deploy IaC from our repos?"

This is a fine to approve

matebarabas commented 1 month ago

Thanks @sebassem for your answers!

The terraform option currently covers only ACI and ACA at the moment, which other options are you referencing ?

In the TF proposal 4 options are listed:

  1. Azure Container Instance
  2. Azure Container Apps
  3. Azure Kubernetes Service
  4. Azure Virtual Machine Scale Set

I just wanted to understand if you're also planning to cover option 3 and 4 over time. Do you plan these too?

Please share add any Visio diagrams to the description, if there's any available. Thanks!

Thanks @jtracey93 for the added context! This of course will be approved, I just needed to clarify the usual things. ๐Ÿ‘

matebarabas commented 1 month ago

Hi @sebassem,

Thanks for requesting/proposing to be an AVM module owner!

We just want to confirm you agree to the below pages that define what module ownership means:

Any questions or clarifications needed, let us know!

If you agree, please just reply to this issue with the exact sentence below (as this helps with our automation ๐Ÿ‘):

"I CONFIRM I WISH TO OWN THIS AVM MODULE AND UNDERSTAND THE REQUIREMENTS AND DEFINITION OF A MODULE OWNER"

Thanks,

The AVM Core Team

RR

sebassem commented 1 month ago

Thanks @sebassem for your answers!

The terraform option currently covers only ACI and ACA at the moment, which other options are you referencing ?

In the TF proposal 4 options are listed:

  1. Azure Container Instance
  2. Azure Container Apps
  3. Azure Kubernetes Service
  4. Azure Virtual Machine Scale Set

I just wanted to understand if you're also planning to cover option 3 and 4 over time. Do you plan these too?

Please share add any Visio diagrams to the description, if there's any available. Thanks!

Thanks @jtracey93 for the added context! This of course will be approved, I just needed to clarify the usual things. ๐Ÿ‘

They are listed in the proposal but the current module only covers ACI and ACA. I think the rest will come later. So I will start with what we have now and then we move together :)

sebassem commented 1 month ago

"I CONFIRM I WISH TO OWN THIS AVM MODULE AND UNDERSTAND THE REQUIREMENTS AND DEFINITION OF A MODULE OWNER"

"I CONFIRM I WISH TO OWN THIS AVM MODULE AND UNDERSTAND THE REQUIREMENTS AND DEFINITION OF A MODULE OWNER"

matebarabas commented 1 month ago

Hi @sebassem,

Thanks for confirming that you wish to own this AVM module and understand the related requirements and responsibilities!

Before starting development, please ensure ALL the following requirements are met.

Please use the following values explicitly as provided in the module index page:

Check if this module exists in the other IaC language. If so, collaborate with the other owner for consistency. ๐Ÿ‘

You can now start the development of this module! โœ… Happy coding! ๐ŸŽ‰

Please respond to this comment and request a review from the AVM core team once your module is ready to be published! Please include a link pointing to your PR, once available. ๐Ÿ™

Any further questions or clarifications needed, let us know!

Thanks,

The AVM Core Team

sebassem commented 3 weeks ago

Hi @matebarabas , the description for this module is not accurate, it will created self-hosted runners and agents for both Azure DevOps and GitHub and not just Azure DevOps :)

matebarabas commented 3 weeks ago

Hey, @sebassem, ah, you mean in the description field of the module index? I'm going to update this right away! Thanks for clarifying this!

sebassem commented 1 week ago

This pattern module will deploy self-hosted Azure DevOps Agents and / or GitHub Runners allowing selection of one of the following compute options:

  • Azure Container Instance
  • Azure Container Apps

Hello, PR for the module submitted. https://github.com/Azure/bicep-registry-modules/pull/3153