{"id":2976,"date":"2024-02-13T10:59:23","date_gmt":"2024-02-13T18:59:23","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/azure-sdk\/?p=2976"},"modified":"2024-02-13T10:59:23","modified_gmt":"2024-02-13T18:59:23","slug":"azure-developer-cli-azd-february-2024-release","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/azure-sdk\/azure-developer-cli-azd-february-2024-release\/","title":{"rendered":"Azure Developer CLI (azd) &#8211; February 2024 Release"},"content":{"rendered":"<p>We&#8217;re pleased to announce that the February 2024 release (version 1.6.0) of the Azure Developer CLI (<code>azd<\/code>) is now available. As always, you can learn about how to get started with the Azure Developer CLI by visiting our <a href=\"https:\/\/aka.ms\/azd\">documentation<\/a>.<\/p>\n<p>Here&#8217;s what&#8217;s new in <code>azd<\/code>:<\/p>\n<ul>\n<li>Support for Helm and Kustomize for AKS service target <a href=\"https:\/\/github.com\/Azure\/azure-dev\/pull\/3196\">(azure-dev#3196)<\/a><\/li>\n<li>Customizable <code>azd up<\/code> workflow <a href=\"https:\/\/github.com\/Azure\/azure-dev\/pull\/3173\">(azure-dev#3173)<\/a><\/li>\n<li>Various enhancements for .NET Aspire<\/li>\n<\/ul>\n<h2>Support for Helm and Kustomize for AKS service target<\/h2>\n<p>We&#8217;re excited to announce support for Helm and Kustomize support for AKS service targets as an alpha feature in the Azure Developer CLI. If you&#8217;re not familiar, Helm is a package manager for Kubernetes. It helps you manage Kubernetes applications by defining, installing, and upgrading packages comprised of all the resources required for your application to run. <a href=\"https:\/\/helm.sh\/\">Learn more about helm<\/a>.<\/p>\n<p>Helm support in <code>azd<\/code> currently includes:<\/p>\n<ul>\n<li>the ability to define a list of Helm Charts to be installed for each <code>azd<\/code> service<\/li>\n<li><code>azd<\/code> service doesn&#8217;t require any code or Docker files<\/li>\n<\/ul>\n<p>To enable Helm support:<\/p>\n<ul>\n<li>Ensure you have the <a href=\"https:\/\/helm.sh\/docs\/intro\/install\/\">Helm CLI installed<\/a><\/li>\n<li>Run <code>azd config set alpha.aks.helm on<\/code> to enable <code>azd<\/code>&#8216;s Helm feature flag<\/li>\n<\/ul>\n<p>Here&#8217;s an example <code>azure.yaml<\/code> configuration using Helm support:<\/p>\n<pre><code class=\"language-yaml\">name: todo-nodejs-mongo-aks\r\nmetadata:\r\n  template: todo-nodejs-mongo-aks@0.0.1-beta\r\nservices:\r\n  argocd:\r\n    host: aks\r\n    k8s:\r\n      namespace: argo\r\n      service:\r\n        name: argocd-server\r\n      helm:\r\n        repositories:\r\n          - name: argo\r\n            url: https:\/\/argoproj.github.io\/argo-helm\r\n        releases:\r\n          - name: argocd\r\n            chart: argo\/argo-cd\r\n            verson: 5.51.4\r\n  jupyterhub:\r\n    host: aks\r\n    k8s:\r\n      namespace: jupyterhub\r\n      service:\r\n        name: proxy-public\r\n      helm:\r\n        repositories:\r\n          - name: jupyterhub\r\n            url: https:\/\/hub.jupyter.org\/helm-chart\/\r\n        releases:\r\n          - name: jupyterhub\r\n            chart: jupyterhub\/jupyterhub\r\n            version: 3.1.0s<\/code><\/pre>\n<p>We also added support for Kustomize this month. Kustomize aids in customizing Kubernetes resource configuration. <a href=\"https:\/\/kustomize.io\/\">Learn more about Kustomize<\/a>.<\/p>\n<p>Kustomize support in <code>azd<\/code> currently includes:<\/p>\n<ul>\n<li>Support for <code>base<\/code> and <code>variant<\/code> configurations<\/li>\n<li><code>edits<\/code> can be run before deployments<\/li>\n<li><code>configMapGenerator<\/code> with <code>azd<\/code> environments<\/li>\n<\/ul>\n<p>Here&#8217;s an example <code>azure.yaml<\/code> configuration using Kustomize support:<\/p>\n<pre><code class=\"language-yaml\">name: todo-nodejs-mongo-aks\r\nmetadata:\r\n  template: todo-nodejs-mongo-aks@0.0.1-beta\r\nservices:\r\n  api:\r\n    project: .\/src\/api\r\n    language: js\r\n    host: aks\r\n    k8s:\r\n      kustomize:\r\n        dir: .\/kustomize\/base<\/code><\/pre>\n<p>This example performs a <code>kubectl apply -k &lt;dir&gt;<\/code> command that points to your manifests folder that contains a <code>kustomization.yaml<\/code>.<\/p>\n<h2>.NET Aspire enhancements<\/h2>\n<p>We&#8217;re continuing <code>azd<\/code>&#8216;s close partnership with <a href=\"https:\/\/aka.ms\/dotnet-aspire\">.NET Aspire<\/a> and made several notable changes since our last release including support for:<\/p>\n<ul>\n<li>Azure Cosmos DB<\/li>\n<li>Azure App Config<\/li>\n<li>Azure SQL Database<\/li>\n<\/ul>\n<p>With the latest additions, you can use <code>azd<\/code> to deploy the <a href=\"https:\/\/github.com\/dotnet\/eShop\">.NET eShop<\/a> to Azure.<\/p>\n<h2>Customizable <code>azd up<\/code> workflow<\/h2>\n<p>This feature introduces a basic workflow concept within <code>azd<\/code> and uses the workflow to allow for customizing the <code>azd up<\/code> command.<\/p>\n<p>You can compose the order in which a set of <code>azd<\/code> commands are run. Each command is run in the context of the originating workflow, not shelled out via a subprocess. These commands can be run with any already supported command arguments. If you have existing <code>azd<\/code> hooks, they&#8217;re still executed for all referenced commands. Global command flags are still available in sub commands.<\/p>\n<p>The <code>azd up<\/code> command was updated to run a workflow called <code>up<\/code> if it exists. Otherwise, it runs a default workflow that mirrors the <code>azd up<\/code> command prior to this feature being added.<\/p>\n<p>Default <code>azd up<\/code> workflow:<\/p>\n<pre><code class=\"language-yaml\">up:\r\n     - azd: package --all\r\n     - azd: provision\r\n     - azd: deploy --all<\/code><\/pre>\n<p>Modified <code>azd up<\/code> configuration example <code>azure.yaml<\/code>:<\/p>\n<pre><code class=\"language-yaml\">name: todo-nodejs-mongo-aca\r\nmetadata:\r\n  template: todo-nodejs-mongo-aca@0.0.1-beta\r\nworkflows:\r\n  up:\r\n    - azd: provision\r\n    - azd: package --all\r\n    - azd: deploy --all\r\nservices:\r\n  web:\r\n    project: .\/src\/web\r\n    language: js\r\n    host: containerapp\r\n  api:\r\n    project: .\/src\/api\r\n    language: js\r\n    host: containerapp<\/code><\/pre>\n<h2>Other changes and enhancements<\/h2>\n<p>We also added smaller enhancements and fixed issues requested by users that should improve your experience working with the Azure Developer CLI. Some notable changes include:<\/p>\n<ul>\n<li>Other features for <code>azd<\/code> core:\n<ul>\n<li>Support for Azure RBAC when local user accounts are disabled <a href=\"https:\/\/github.com\/Azure\/azure-dev\/pull\/3211\">(azure-dev#3211)<\/a><\/li>\n<\/ul>\n<\/li>\n<li>Other features for <code>azd<\/code> VS Code extension:\n<ul>\n<li>Leverage credentials from Azure Tools extension pack <a href=\"https:\/\/github.com\/Azure\/azure-dev\/pull\/2541\">(azure-dev#2541)<\/a><\/li>\n<\/ul>\n<\/li>\n<li>Bug fixes for <code>azd<\/code> core:\n<ul>\n<li>Fix azd pipeline config fails when gh.exe in path including a space (<a href=\"https:\/\/github.com\/Azure\/azure-dev\/issues\/3199\">azure-dev#3199<\/a>)<\/li>\n<li>Table and queue support for .NET Aspire <a href=\"https:\/\/github.com\/Azure\/azure-dev\/pull\/2998\">(azure-dev#2998)<\/a><\/li>\n<li>.NET Aspire: Handle secret inputs same as connection strings by storing as container secrets ([azure-dev#3265])(https:\/\/github.com\/Azure\/azure-dev\/issues\/3265)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2>Community contributions<\/h2>\n<p>We\u2019d also like to extend a special thanks to the community contributors of this release:<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/john0isaac\">john0isaac<\/a>:\n<ul>\n<li>Display <code>MySQL<\/code> flexible server during provision ([azure-dev#3170])(https:\/\/github.com\/Azure\/azure-dev\/pull\/3170)<\/li>\n<li>Add GHA to check that <code>azure.yaml<\/code> schema is valid ([azure-dev#3172])(https:\/\/github.com\/Azure\/azure-dev\/pull\/3172)<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/github.com\/pamelafox\">pamelafox<\/a>:\n<ul>\n<li>Update <code>search-services.bicep<\/code> to support free tier ([azure-dev#3215])(https:\/\/github.com\/Azure\/azure-dev\/pull\/3215)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>You can use the Azure Developer CLI from:<\/p>\n<ul>\n<li>Your terminal of choice on Windows, Linux, or macOS.<\/li>\n<li>Visual Studio Code or GitHub Codespaces by <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-azuretools.azure-dev\">downloading the extension<\/a> from the Marketplace, or installing it directly from the extension view (<code>Ctrl<\/code> + <code>Shift<\/code> + <code>X<\/code>, or <code>Cmd<\/code> + <code>Shift<\/code> + <code>X<\/code> for macOS) in Visual Studio Code.<\/li>\n<li>Visual Studio by <a href=\"https:\/\/devblogs.microsoft.com\/azure-sdk\/introducing-the-azure-developer-cli-a-faster-way-to-build-apps-for-the-cloud\/#visual-studio\">enabling the preview feature flag<\/a>.\nYou can learn more about the Azure Developer CLI from our <a href=\"https:\/\/aka.ms\/azd\">official documentation<\/a>. If you run into any problems or have suggestions, file an issue or start a discussion in the <a href=\"https:\/\/github.com\/Azure\/azure-dev\">Azure Developer CLI repository<\/a>.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>This post announces the February release of the Azure Developer CLI (`azd`), which includes support for Helm and Kustomize, a customizable `azd up` workflow, .NET Aspire enhancements, and more.<\/p>\n","protected":false},"author":145931,"featured_media":2111,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[701,864,878,160,159,861,162,733,895],"class_list":["post-2976","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-azure-sdk","tag-net","tag-azure-developer-cli","tag-codespaces","tag-java","tag-javascript","tag-kubernetes","tag-python","tag-typescript","tag-vscode"],"acf":[],"blog_post_summary":"<p>This post announces the February release of the Azure Developer CLI (`azd`), which includes support for Helm and Kustomize, a customizable `azd up` workflow, .NET Aspire enhancements, and more.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/posts\/2976","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/users\/145931"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/comments?post=2976"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/posts\/2976\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/media\/2111"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/media?parent=2976"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/categories?post=2976"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/tags?post=2976"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}