Mon Mar 06 2023

0.3.26

Schema

  • All resources now have an optional tags property. Some tags are handled directly by the framework, a warning should be issued if the user attempts to override of of them. See the list here

  • Users are now forced to provide a subscription key alongside the rg and name keys inside their environment definitions:


{

    ...

    "envs": [

    {

            "name": "staging",

            "rg": "argvengerstools-staging-rg",

            ----> "subscription": "2020-dev" <----

        }

    ]

}
  • Variables are now supported as an experimental feature. Variables are scoped at the file level meaning you cannot import or share your variables across files. This decision was made to keep the definition atomic, from previous experiences it is extremely difficult to keep track of the produced values inside large projects that use string concats and replaces. Variables must be defined for all configured environments. The goal of this feature was not to provide programming-like variable function, it is to allow some edge cases where templates need to have different values based on the environment: e.g domain name change between stages: 2020-platform.net vs 2020-platform.com.

{

   "$schema":"../../../module.json",

   "variables":{

      "dns_zone":{

         "dev":"2020-platform.net",

         "prod":"2020-platform.com"

      }

   },

   "resources":[

      {

         "dns_zone":{

            "name":"2020-platform.net",

            "external":true

         }

      },

      {

         "dns_zone":{

            "name":"2020-platform.com",

            "external":true

         }

      },

      {

         "app_service_plan":{

            "name":"plan-consump-{env}",

            "os":"windows",

            "kind":"EP1",

            "type":"function_app"

         }

      },

      {

         "function_app":{

            "name":"func-poc-{env}",

            "plan_name":"plan-consump-{env}",

            "application_insights_name":"appi-poc-{env}",

            "log_analytics_workspace_name":"log-poc-{env}",

            "storage_account_name":"stppocservices{env}",

            "runtime":"custom",

            "deploy_slot":true,

            "custom_domains":[

               {

                  "custom_domain":"api.{dns_zone}",

                  "dns_zone_name":"{dns_zone}",

                  "dns_zone_resource_group":"automated-infra"

               }

            ]

         }

      }

   ]

}

CDN

  • Frontdoor is now available with the following features:

    • Rulesets

    • Endpoints

    • Routes

    • origin groups -> origins

Storage

  • Storage accounts will always use TLS version 1.2

    • Containers

      • Added access tier parameter
  • Fixed an issue where Storage accounts with containers defined would create multiple BlobServices instances instead of one

Key Vault

  • Deployment slots on app services are not also part of the Key Vault policies

Commands

  • func build

    • The --minify flag should now work properly

Docs

  • New look for the documentation website

  • Changelog of the release notes are now available here