question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Container Apps: vnet configuration, custom domains and removing obsolete arm properties

See original GitHub issue

Hey Farmers,

loving this lib, thank you so much for building a project like this! ❤️

We’d like to use it with container apps (i.a.) and noticed vnet configuration and custom domains (via Ingress) to be missing. (ref #993)

I’d like to add support for these, but also noticed the ManagedEnvironment.JsonModel method is emitting some ARM that might be in conflict since the API has been replaced. Specifically internalLoadBalancerEnabled, which seems to have been copied from the old Microsoft.Web/kubeEnvironments. I’m also a little confused about the type field, according to the MS docs there used to be one called environmentType, I guess it was renamed at some point?

So I was wondering how I should implement this. Would it be ok to update the resource version and remove/replace the outdated API with the new one? I don’t think we can migrate the old field to the new API, since it requires a vnet and subnets to be set in vnetConfiguration.

What about default values and required fields? The MS docs are not exactly clear on many things (or I didn’t find it). For the subnets I guess I’d split them like the ContainerGroups Builder into vnet/subnets.

Ingress for the Domains seems to be very minimal at the moment and would need to be extended. This is currently implemented in Common, which is probably fine for the smaller settings, but with Ingress becoming larger and nested, should it be moved to Builders? The app’s custom domain setting would need to reference a new resource type, Microsoft.App managedEnvironments/certificates, so that would need to be reachable by the Ingress type.

Issue Analytics

  • State:open
  • Created 7 months ago
  • Comments:7 (1 by maintainers)

github_iconTop GitHub Comments

1reaction
stroborobocommented, Mar 8, 2023

Hey, I’ll have to delay this a little longer, sorry. I’m still determined to do this and Im going to keep your words in mind, but I need an emergency vacation right now, I hope you understand.

0reactions
ninjarobotcommented, Mar 3, 2023

The API version and the underlying resource are updated independently. When you specify the apiVersion, you are telling ARM what format your requests will be in so it knows how to route it to the correct internal resource provider endpoint and so the RP itself knows how to deserialize requests and serialize responses.

Redeploying existing resources using a new API version is intended to be no different than redeploying with the existing API. The resource provider deserializes the payload and checks for changes with the existing resource, then applies only what is changed. The API version would only affect how it goes about deserializing and validating the payload.

I expect this is even the case with a total change of resource type as was done with container apps, although I don’t personally have one created with the original resource type and API to be able to verify this. That team had to go through a whole migration project that would repopulate the ARM resources so they would appear under the new type, but the actual underlying Kubernetes environment would remain the same.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Networking environment in Azure Container Apps
Learn how to configure virtual networks in Azure Container Apps. ... Use the Custom VNet configuration to provide your own VNet if you...
Read more >
Failed to create Container Apps Environment with custom ...
In West Europe region I have failed to create Container Apps Environment with virtual network. I followed documentation provided here.
Read more >
Azure Container Apps Workshop
Azure Container Apps makes it easy to manage your containerized applications ... Use the Azure CLI extension or ARM templates to manage your...
Read more >
Deep dive into Azure Container Apps - Overview and ...
Azure Container Apps is a serverless offering you can use to host ... Custom DNS; Communication between Container Apps; VNET integration.
Read more >
Using Azure Container Apps at scale instead of your building ...
Hopefully afterwards you agree that Azure Container Apps is a lot more interesting than before: smaller subnets, network lockdown, customised RBAC, ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found