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
349 stars 83 forks source link

[Module Proposal]: `avm-res-devcenter-devcenter` (tf) #335

Closed PmeshramPM closed 4 days ago

PmeshramPM commented 11 months ago

Check for previous/existing GitHub issues/module proposals

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

Bicep or Terraform?

Terraform

Module Classification?

Resource Module

Module Name

avm-res-devcenter-devcenter

Module Details

Requested by the AZD team: https://github.com/Azure/Azure-Verified-Modules/issues/261 Needs module owner. CC: @jongio

Do you want to be the owner of this module?

No

Module Owner's GitHub Username (handle)

No response

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

No response

kewalaka commented 8 months ago

hi @mbilalamjad - a query on this - is a dev center project part of this resource or not? It exists in the same resource provider but it is a different namespace, which makes me think it should be separate, but logically it feels like a child of a dev center?

i.e. should we have a separate resource for avm-res-devcenter-project ?

& also for avm-res-devcenter-networkconnection

The scoping rules for AVM are a little hazy for me 😅

mbilalamjad commented 8 months ago

hi @mbilalamjad - a query on this - is a dev center project part of this resource or not? It exists in the same resource provider but it is a different namespace, which makes me think it should be separate, but logically it feels like a child of a dev center?

i.e. should we have a separate resource for avm-res-devcenter-project ?

& also for avm-res-devcenter-networkconnection

The scoping rules for AVM are a little hazy for me 😅

Great question @kewalaka, I believe there should be one for avm-res-devcenter-devcenter, one for avm-res-devcenter-project and one for avm-res-devcenter-networkconnection, then all three together can be used appropriately, let me know if that makes sense.

v-xuto commented 7 months ago

@mbilalamjad - Do you have an ETA for this?

mbilalamjad commented 7 months ago

@mbilalamjad Bilal Amjad FTE - Do you have an ETA for this?

We are currently looking for a module owner to own and develop this module

v-xuto commented 5 months ago

@mbilalamjad Any progress about this issue?

mbilalamjad commented 5 months ago

@mbilalamjad Any progress about this issue?

We are currently looking for a module owner to own and develop this module

cshea-msft commented 4 months ago

@mbilalamjad I can own this project!

mbilalamjad commented 4 months ago

@mbilalamjad I can own this project!

Thanks Charles, Requesting @prjelesi to help here as he owns this triage stage.

prjelesi commented 4 months ago

Hi @cshea-msft

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

cshea-msft commented 4 months ago

Hi @cshea-msft

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

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

prjelesi commented 3 months ago

@cshea-msft

Hi @avm_module_owner,

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

cshea-msft commented 3 months ago

@prjelesi for this module should I include the other dev box resources in the root? or create those as sub modules? In my opinion it should be in the root because you need all those resources to create a full devbox experience but want to confirm.

Image

https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/dev_center

i saw there is a pattern as well https://github.com/orgs/Azure/projects/529/views/1?pane=issue&itemId=57074481

maybe we chose either pattern or resource?

cshea-msft commented 2 months ago

@prjelesi @mbilalamjad any thoughts to my comment above?

matebarabas commented 2 months ago

@cshea-msft, here are my 2 cents:

Image

I'd defer to @prjelesi and the TF side of the team to decide.

cshea-msft commented 2 months ago

thanks @matebarabas

@prjelesi @mbilalamjad @matt-FFFFFF any thoughts on this? You can't create any of these without dev center in the code so in my opinion dev center would be the root module and add all the others as sub modules.

Image

matt-FFFFFF commented 2 months ago

Are they child resources?

matt-FFFFFF commented 2 months ago

Like actual child resources?

If not then we can use a ptn module like we do with VWAN

matebarabas commented 2 months ago

Like actual child resources?

If not then we can use a ptn module like we do with VWAN

@matt-FFFFFF, please see my above comment about their parent-child relationship: https://github.com/Azure/Azure-Verified-Modules/issues/335#issuecomment-2291687184

matt-FFFFFF commented 2 months ago

Child resources = submodules

Others can be grouped into a ptn to make a sensible deployment

cshea-msft commented 2 months ago

Got it thanks! Will create dev center module with the four submodules.

cshea-msft commented 1 month ago

I have completed my initial development of the module and I would like to request a review of my module before publishing it to the terraform registry. The latest code is in a PR titled AVM-Review-PR https://github.com/Azure/terraform-azurerm-avm-res-devcenter-devcenter/pull/5 on the module repo. The example check doesnt pass but I am able to deploy it directly into my environment.

cshea-msft commented 4 weeks ago

Module has been published to Terraform Registry. PR checks all have passed!

https://registry.terraform.io/modules/Azure/avm-res-devcenter-devcenter/azurerm/latest https://github.com/Azure/terraform-azurerm-avm-res-devcenter-devcenter