Azure Developer CLI (azd) – February 2024 Release

Grace Kulin

We’re pleased to announce that the February 2024 release (version 1.6.0) of the Azure Developer CLI (azd) is now available. As always, you can learn about how to get started with the Azure Developer CLI by visiting our documentation.

Here’s what’s new in azd:

Support for Helm and Kustomize for AKS service target

We’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’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. Learn more about helm.

Helm support in azd currently includes:

  • the ability to define a list of Helm Charts to be installed for each azd service
  • azd service doesn’t require any code or Docker files

To enable Helm support:

  • Ensure you have the Helm CLI installed
  • Run azd config set alpha.aks.helm on to enable azd‘s Helm feature flag

Here’s an example azure.yaml configuration using Helm support:

name: todo-nodejs-mongo-aks
metadata:
  template: todo-nodejs-mongo-aks@0.0.1-beta
services:
  argocd:
    host: aks
    k8s:
      namespace: argo
      service:
        name: argocd-server
      helm:
        repositories:
          - name: argo
            url: https://argoproj.github.io/argo-helm
        releases:
          - name: argocd
            chart: argo/argo-cd
            verson: 5.51.4
  jupyterhub:
    host: aks
    k8s:
      namespace: jupyterhub
      service:
        name: proxy-public
      helm:
        repositories:
          - name: jupyterhub
            url: https://hub.jupyter.org/helm-chart/
        releases:
          - name: jupyterhub
            chart: jupyterhub/jupyterhub
            version: 3.1.0s

We also added support for Kustomize this month. Kustomize aids in customizing Kubernetes resource configuration. Learn more about Kustomize.

Kustomize support in azd currently includes:

  • Support for base and variant configurations
  • edits can be run before deployments
  • configMapGenerator with azd environments

Here’s an example azure.yaml configuration using Kustomize support:

name: todo-nodejs-mongo-aks
metadata:
  template: todo-nodejs-mongo-aks@0.0.1-beta
services:
  api:
    project: ./src/api
    language: js
    host: aks
    k8s:
      kustomize:
        dir: ./kustomize/base

This example performs a kubectl apply -k <dir> command that points to your manifests folder that contains a kustomization.yaml.

.NET Aspire enhancements

We’re continuing azd‘s close partnership with .NET Aspire and made several notable changes since our last release including support for:

  • Azure Cosmos DB
  • Azure App Config
  • Azure SQL Database

With the latest additions, you can use azd to deploy the .NET eShop to Azure.

Customizable azd up workflow

This feature introduces a basic workflow concept within azd and uses the workflow to allow for customizing the azd up command.

You can compose the order in which a set of azd 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 azd hooks, they’re still executed for all referenced commands. Global command flags are still available in sub commands.

The azd up command was updated to run a workflow called up if it exists. Otherwise, it runs a default workflow that mirrors the azd up command prior to this feature being added.

Default azd up workflow:

up:
     - azd: package --all
     - azd: provision
     - azd: deploy --all

Modified azd up configuration example azure.yaml:

name: todo-nodejs-mongo-aca
metadata:
  template: todo-nodejs-mongo-aca@0.0.1-beta
workflows:
  up:
    - azd: provision
    - azd: package --all
    - azd: deploy --all
services:
  web:
    project: ./src/web
    language: js
    host: containerapp
  api:
    project: ./src/api
    language: js
    host: containerapp

Other changes and enhancements

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:

  • Other features for azd core:
  • Other features for azd VS Code extension:
  • Bug fixes for azd core:
    • Fix azd pipeline config fails when gh.exe in path including a space (azure-dev#3199)
    • Table and queue support for .NET Aspire (azure-dev#2998)
    • .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)

Community contributions

We’d also like to extend a special thanks to the community contributors of this release:

  • john0isaac:
    • Display MySQL flexible server during provision ([azure-dev#3170])(https://github.com/Azure/azure-dev/pull/3170)
    • Add GHA to check that azure.yaml schema is valid ([azure-dev#3172])(https://github.com/Azure/azure-dev/pull/3172)
  • pamelafox:
    • Update search-services.bicep to support free tier ([azure-dev#3215])(https://github.com/Azure/azure-dev/pull/3215)

You can use the Azure Developer CLI from:

0 comments

Leave a comment

Feedback usabilla icon