-
Notifications
You must be signed in to change notification settings - Fork 425
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
fix: avm/res/web/static-site
fixes for pdns & Identity Var
#4693
base: main
Are you sure you want to change the base?
Conversation
avm/res/web/static-site
Private DNS Zone Group Fix avm/res/web/static-site
fixes for pdns & Identity Var
@@ -257,6 +267,14 @@ resource staticSite_roleAssignments 'Microsoft.Authorization/roleAssignments@202 | |||
} | |||
] | |||
|
|||
module staticSite_privateDnsZone 'br/public:avm/res/network/private-dns-zone:0.7.0' = if (!empty(privateEndpoints) && createPrivateDnsZone == 'Enabled') { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Considering the amount of properties one is able to configure in the module I wonder if we may need to introduce a parameterObject for them - like done e.g. for the nicConfigurations
parameter in the VM module.
Just thinking out loud here. If you cannot configure it to you needs you're essentially required to idempotently redeploy the DNS Zone after the deployment with another deployment. Maybe that's ok and intended - but wanted to raise the thought :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So on this thought, for a VM the NIC is required, I guess here we do follow a smiliar pattern except the PDNS Zone is only needed for private endpoints to work. Typically the DNS Zone should sit with the rest of the DNS Zone and be configured with a vnet link.
In this current implemntation the app will still not be routable as the DNS Zone has not been linked to a Virtual Network, I need to update this so it accepts some properties. My view is this should be the bare minimal requirements to ensure PE connectivity is established and routable but any extensive configuration should be done in a dedicated module for the staticSite zone. il make an update to this today
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Additional param added for virtualNetworkResourceId
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder if that's something we should chat about some time - just to ensure we're all on the same page. The next maintainer call would come to mind 💪
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can we let this go in the meantime?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Define "Let go"? Should we not find together the best solution instead of potentially introducing multiple breaking changes? Hence the suggestion with the Maintainer call where these design questions would usually be brought up. Like the one last Thursday.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
#4345 has been open since Jan 29th, here we are talking about a new resource call which is being updated. I would rather us push this change to resolve the current and very limited issue then look at refinements on a wider basis following this. I am unsure what we have to discuss around this, it should be a simply implementation unless the user brings there own DNS Zone?
…NS Zone configuration
…teDnsZoneResourceId parameters to clarify requirements
@@ -301,7 +327,15 @@ module staticSite_privateEndpoints 'br/public:avm/res/network/private-endpoint:0 | |||
'Full' | |||
).location | |||
lock: privateEndpoint.?lock ?? lock | |||
privateDnsZoneGroup: privateEndpoint.?privateDnsZoneGroup | |||
privateDnsZoneGroup: { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please note. the Interface still allows the user to define a custom privateDnsZoneGroup
even though the module would ignore it.
Either this module should implement its on PE interface and essentially not allow the user to set the privateDnsZoneGroup
- or - this could be changed to something like
privateDnsZoneGroup: privateEndpoint.?privateDnsZoneGroup ?? {
To, in theory still allow the user to bring a private DNS Zone. Otherwise it would appear quite confusing that the parameter is there, but its value would be thrown away if you catch my drift 😄
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Come to think of it, it would probably be a good call to call this also out in the description of the privateEndpoints
parameter
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is the intended behaviour, in most cases DNS Zones are stored centrally so the user will want to BYODnsZone ...
However I have updated the PE Description now
Co-authored-by: Alexander Sehr <[email protected]>
Description
Closes #4345
Closes #4701
Configured DNS Record in test:

New DNS Zone:

Pipeline Reference
Type of Change
version.json
:version.json
.version.json
.Checklist
Set-AVMModule
locally to generate the supporting module files.