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
321 stars 68 forks source link

[Module Proposal]: `avm-ptn-function-app-storage-private-endpoints` #770

Open kewalaka opened 5 months ago

kewalaka commented 5 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?

Pattern Module

Module Name

avm-ptn-function-app-storage-private-endpoints

Module Details

This is a pattern module proposal for a function app using secured storage & private endpoints.

i.e. it is an implementation of this quickstart template:

https://learn.microsoft.com/en-us/samples/azure/azure-quickstart-templates/function-app-storage-private-endpoints/

I have a start of this implemented here: https://github.com/kewalaka/terraform-azurerm-avm-ptn-function-app-storage-private-endpoints

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)

kewalaka

kewalaka commented 5 months ago

@donovm4 I'm using the AVM function app module that you're the owner of to build this one out.

Are you interested in being the owner of this too?

donovm4 commented 5 months ago

@kewalaka - this looks interesting. i am cool with owning this.

just to ask, is there a specific time table for this pattern?

kewalaka commented 5 months ago

hi @donovm4 - i'm currently working on this pattern for a customer, so I expect to have something functional for my use case this week (there's a good start on the feat/initial_version branch)

I'm happy to drive the work within the scope of my use case - which will be equivalent to the quick start capability, which I think makes a good v0.1.0 - after that it depends what interest there is to add improvements

donovm4 commented 5 months ago

@kewalaka - gotcha! I am/will be available to assist however you need for v0.1.0

I do have some breaking changes to make for the avm-res-web-site module (currently on web_app_development branch) allowing for deployment of both function apps and web apps, and then will also make push the managed_identites fixes. I haven't pushed/published them yet, but we can communicate before I do, that way I don't harm your progress so far.

prjelesi commented 5 months ago

HI to both, based on above conversation:

@donovm4

Thanks for proposing to be an AVM module owner!

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

Team Definitions & RACI Shared Specification (Bicep & Terraform) Module Support 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

donovm4 commented 5 months ago

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

prjelesi commented 5 months ago

@donovm4 @kewalaka lets pls confirm module name.

avm-ptn-function-app-secured-storage or avm-ptn-function-app-storage-private-endpoints

i would go for second one to align with template name.

?

donovm4 commented 5 months ago

@prjelesi - let's continue with the second one. that is fine, as I trust your judgement

kewalaka commented 5 months ago

i would go for second one to align with template name.

?

Agreed that's why I renamed the repo, .. thought it was good to align to the quickstart template name

prjelesi commented 5 months ago

Good!

@donovm4 ,

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:

For your module: ModuleName - for naming your module TelemetryIdPrefix - for your module's telemetry For your module's repository: Repo name and folder path are defined in RepoURL Create GitHub teams for module owners and contributors and grant them permissions as outlined here. Grant permissions for the AVM core team and PG teams on your GitHub repo as described here. 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!

@donovm4 , @kewalaka βœ… 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

donovm4 commented 5 months ago

@kewalaka - ended up getting a review and pushing some v0.2 changes for the function / web app module.

Since you have that feat/initial branch, would you like me to start that branch and migration on the Azure repo?

kewalaka commented 5 months ago

@donovm4 i can merge that branch in to a dev branch if you like? Is the Azure org repo publicly available?

it would be nice to be credited with the initial work in the commit history, helps when i'm selling the AVM concept :-)

it might be easier to ping me on email (on my profile) then I can contact you back via Teams or similar :-)

donovm4 commented 5 months ago

@kewalaka - no problem at all! will reach out soon.

it is currently still going through review so it private at the moment

diberry commented 1 month ago

@donovm4 Can you update this issue? I'm look for an Azure Functions app module with no passwords or connection strings.

donovm4 commented 1 month ago

hi @diberry :

the module is not yet published, but the repo is located here.

I had to shift focus to adding features to the app service resource module (here), and will be continuing development of this pattern soon.

Feel free to reach out through Teams / email / pattern repo with any feedback or questions πŸ‘

donovm4 commented 2 days 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 on the module repo and all checks on that PR are passing. Kinda