Skip to content
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

POC: Adds Kustomize support with azd and AKS #3048

Closed
wants to merge 58 commits into from

Commits on Dec 2, 2023

  1. Bump @adobe/css-tools in /templates/todo/web/react-fluent (Azure#3043)

    Bumps [@adobe/css-tools](https://github.com/adobe/css-tools) from 4.0.1 to 4.3.2.
    - [Changelog](https://github.com/adobe/css-tools/blob/main/History.md)
    - [Commits](https://github.com/adobe/css-tools/commits)
    
    ---
    updated-dependencies:
    - dependency-name: "@adobe/css-tools"
      dependency-type: indirect
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] committed Dec 2, 2023
    Configuration menu
    Copy the full SHA
    84b2ecc View commit details
    Browse the repository at this point in the history
  2. Makes default dashboard optional when name parameter is specified (Az…

    …ure#3009)
    
    * Make dashboard optional via name
    
    * Formatting
    
    * Formatting
    
    * With insert final new line
    pamelafox committed Dec 2, 2023
    Configuration menu
    Copy the full SHA
    4f93828 View commit details
    Browse the repository at this point in the history

Commits on Dec 4, 2023

  1. adding target for docker build (Azure#3052)

    * adding target for docker build
    
    ---------
    
    Co-authored-by: Victor Vazquez <vhvb1989@gmail.com>
    Petermarcu and vhvb1989 committed Dec 4, 2023
    Configuration menu
    Copy the full SHA
    a16a69e View commit details
    Browse the repository at this point in the history
  2. Fix init to not consider parent directories. (Azure#3038)

    This restores the init behavior prior to 1.4.0 regression. `azd init` simply considers the current working directory when initializing, without attempting to resolve a parent directory project which is counterintuitive.
    
    Fixes Azure#2946
    weikanglim committed Dec 4, 2023
    Configuration menu
    Copy the full SHA
    a524be8 View commit details
    Browse the repository at this point in the history

Commits on Dec 5, 2023

  1. console: handle interrupt to unhide cursor (Azure#3045)

    Handle interrupt to unhide terminal cursor from a potentially active spinner
    
    Azure#2194
    weikanglim committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    ad20160 View commit details
    Browse the repository at this point in the history
  2. aspire: Enable Admin User on Container Registry (Azure#3069)

    Our intention is to use Azure RBAC to secure access to the container
    registry, and the exchange our AAD token for a time limited access
    token that we use to log into the registry. That has worked for some
    users, but others have run into issues like what we see in Azure#2980
    
    While we're still trying to root cause the actual issue, we have
    discovered that if the admin account is enabled, the end to end
    seems to work.
    
    This change enables the admin account to allow `azd` to fall back to
    that when the token exchange doesn't work.
    
    Contributes To: Azure#2980
    ellismg committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    885ce46 View commit details
    Browse the repository at this point in the history
  3. aspire: Publish projects as framework dependent (Azure#3047)

    When publishing an .NET Application, you have two choices as to how to
    reference the .NET Runtime.  You can either publish as a framework
    dependent project, where your app will use a pre-deployed copy the
    .NET Runtime, or self contained, where your app will care the .NET
    Framework for your target platform with it.
    
    Framework dependent projects are the default, because they are smaller
    (you don't need to bring along an entire .NET runtime with your
    application).
    
    In Aspire, we were publishing as self contained because we needed the
    latest and greatest version of the .NET Runtime, since there were some
    breaking changes that impacted Aspire and it depended on, and the 
    public base container images on MCR had `rc2` bits.
    
    Now that .NET 8 has shipped, this is no longer a problem, and we can
    publish as a framework dependent project once again. This results in
    smaller container images, because they can leverage the shared
    framework from the base container image instead of including yet
    another copy of the runtime in the application layer.
    ellismg committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    67cfc5a View commit details
    Browse the repository at this point in the history

Commits on Dec 6, 2023

  1. Configuration menu
    Copy the full SHA
    be33f81 View commit details
    Browse the repository at this point in the history

Commits on Dec 7, 2023

  1. Setting RG env var for CI when it is set on env (Azure#3056)

    * adding rg as variable for pipeline config
    
    * azdo
    vhvb1989 committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    4434c90 View commit details
    Browse the repository at this point in the history
  2. aspire: Better error msg for missing containerPort in binding (Azure#…

    …3071)
    
    Avoid a panic and provide a better error message when containerPort is missing in binding. This is a runtime check for what should normally be handled at compile-time.
    
    Related to: Azure#3070
    weikanglim committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    b14e180 View commit details
    Browse the repository at this point in the history

Commits on Dec 8, 2023

  1. Configuration menu
    Copy the full SHA
    8e7b6c2 View commit details
    Browse the repository at this point in the history
  2. aspire: Add support for dockerfile.v0 (Azure#3075)

    As part of Preview 2, Aspire is adding support for a new resource,
    `dockerfile.v0`. This represents an image that should be built (from a
    Dockerfile) and deployed.
    
    Consider the following AppHost:
    
    ```csharp
    var builder = DistributedApplication.CreateBuilder(args);
    
    builder.AddNodeApp("nodeapp", "../NodeApp/index.js")
        .WithServiceBinding(3000, scheme: "http", env: "PORT")
        .AsDockerfileInManifest();
    
    builder.Build().Run();
    ```
    
    The resulting manifest looks like this:
    
    ```json
    {
      "resources": {
        "nodeapp": {
          "type": "dockerfile.v0",
          "path": "../NodeApp/Dockerfile",
          "context": "../NodeApp",
          "env": {
            "NODE_ENV": "development",
            "PORT": "{nodeapp.bindings.http.port}"
          },
          "bindings": {
            "http": {
              "scheme": "http",
              "protocol": "tcp",
              "transport": "http",
              "containerPort": 3000
            }
          }
        }
      }
    }
    ```
    
    From a high level, these are very similar to `project.v0`
    resources. The image needs to be built and pushed (either via `dotnet
    publish` or `docker build` + `docker push`) and then we need to create
    an Azure Container Apps App from it.
    
    When doing `azd infra synth` we write the manifests for these types of
    services in a `manifests` folder that is SxS with the
    `Dockerfile`. This mimics the strategy for projects in spirit (where
    we use the `.csproj` file as the "project" file)
    ellismg committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    dde6bc3 View commit details
    Browse the repository at this point in the history

Commits on Dec 11, 2023

  1. Configuration menu
    Copy the full SHA
    eedc471 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    90a0f04 View commit details
    Browse the repository at this point in the history

Commits on Dec 12, 2023

  1. Ensure azd env name is synchronized to .env file (Azure#3041)

    Fixes an issue where if AZURE_ENV_NAME does not exist within the .env file then downstream operations will fail when looking up resource group or service names.
    wbreza committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    a029661 View commit details
    Browse the repository at this point in the history
  2. aspire: Improve binding expression evaluator (Azure#3095)

    When we started the Aspire work, we thought we might only support
    simple binding expressions with a single reference, e.g.:
    `"{api.bindings.http.url}"`. Over time, this allow grew to allow
    literals (e.g.: `"true"`). In Preview 2, the manifests now supports
    multiple replacements in a single expression, to support things like
    connection strings where you need multiple parts:
    `"Host={api.bindings.tcp.host},Port={api.bindings.tcp.port}"`
    
    To prepare for this, I've split the string evaluation logic from the
    value resolution logic and then enhanced the string evaluation logic
    to support more complex strings, while adding some tests to ensure
    things behave as expected.
    ellismg committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    cb86a7d View commit details
    Browse the repository at this point in the history

Commits on Dec 13, 2023

  1. buildpacks: Update dotnet base image to bullseye (Azure#3112)

    Upgrade dotnet base images to be based on bullseye.
    
    Also, bump to 20131107.2 which is the current stable version and supports .NET 8.
    
    Fixes Azure#3108
    weikanglim committed Dec 13, 2023
    Configuration menu
    Copy the full SHA
    f385e0b View commit details
    Browse the repository at this point in the history
  2. Update .NET samples to .NET 8 and Minimal API (Azure#3017)

    - Update all .NET samples and tests from .NET 6 to .NET 8 (latest LTS)
    isaacrlevin committed Dec 13, 2023
    Configuration menu
    Copy the full SHA
    8959d03 View commit details
    Browse the repository at this point in the history
  3. changelog for 1.5.1 (Azure#3113)

    * changelog
    
    * version file
    
    * notes
    
    ---------
    
    Co-authored-by: Victor Vazquez <vhvb1989@gmail.com>
    hemarina and vhvb1989 committed Dec 13, 2023
    Configuration menu
    Copy the full SHA
    7f10b1f View commit details
    Browse the repository at this point in the history
  4. Update azure.yaml.json so support target (Azure#3057)

    Updating azure.yaml schema to support docker build target
    Petermarcu committed Dec 13, 2023
    Configuration menu
    Copy the full SHA
    0a1faee View commit details
    Browse the repository at this point in the history
  5. fix schema (Azure#3114)

    vhvb1989 committed Dec 13, 2023
    Configuration menu
    Copy the full SHA
    f1e1c9c View commit details
    Browse the repository at this point in the history

Commits on Dec 14, 2023

  1. ephemeral spinner for loading locations (Azure#3118)

    Make "Retrieving locations..." ephemeral once again
    weikanglim committed Dec 14, 2023
    Configuration menu
    Copy the full SHA
    762b884 View commit details
    Browse the repository at this point in the history
  2. Do not require docker login for Aspire apps (Azure#3014)

    Do not require `docker login` for Aspire apps
    
    The `dotnet` toolchain is able to build and push container images for
    Asprire apps via, `dotnet publish`. However, we still needed `docker`
    around so we could run `docker login` to log into the private ACR
    registry we intended to push the image to.
    
    To remove the dependency on `docker login` we can use the
    `SDK_CONTAINER_REGISTRY_UNAME` and `SDK_CONTAINER_REGISTRY_PWORD`
    environment variables as described in:
    
    https://github.com/dotnet/sdk-container-builds/blob/main/docs/RegistryAuthentication.md#authenticating-to-container-registries
    
    The caveats here do not apply to us. If they did, we could consider
    either editing the `~/.docker/config.json` directly, to add our auth
    information or setting `DOCKER_CONFIG` when running `dotnet publish`
    to a version that we write (just in time, in a temp dir) and clean up
    after.
    
    Note that the credentials fetched via the AAD flow are shortlived
    (~3hr of validity) and so caching them in `~/.docker/config.json` long
    term is less than ideal (our documentation for commands like `az acr
    login` mention that you should do this before each operation).
    
    ---------
    
    Co-authored-by: Wei Lim <weilim@microsoft.com>
    ellismg and weikanglim committed Dec 14, 2023
    Configuration menu
    Copy the full SHA
    c449eeb View commit details
    Browse the repository at this point in the history
  3. aspire: Do not error when other projects present (Azure#3117)

    This change relaxes the project detection logic during `azd init` to warn for projects unreferenced by the app host.
    
    With this change, for dotnet app detection, we also exclude wasm based projects such as BlazorAssembly as hostable. These projects can be referenced by a Blazor server and act as a library.
    
    Fixes Azure#3024
    weikanglim committed Dec 14, 2023
    Configuration menu
    Copy the full SHA
    b4ea8bd View commit details
    Browse the repository at this point in the history

Commits on Dec 15, 2023

  1. Configuration menu
    Copy the full SHA
    db36700 View commit details
    Browse the repository at this point in the history
  2. Enable more tests for recording (Azure#3122)

    Enable more tests for recording. This should speed up PR builds by ~10 minutes.
    weikanglim committed Dec 15, 2023
    Configuration menu
    Copy the full SHA
    475ef58 View commit details
    Browse the repository at this point in the history

Commits on Dec 17, 2023

  1. Fixing gitignore for .NET ecosystem (Azure#3029)

    Co-authored-by: Victor Vazquez <vhvb1989@gmail.com>
    timheuer and vhvb1989 committed Dec 17, 2023
    Configuration menu
    Copy the full SHA
    6e8d2ef View commit details
    Browse the repository at this point in the history

Commits on Dec 18, 2023

  1. bicep core: Serialize updates for config-appsettings and config-logs(A…

    …zure#3125)
    
    Reintroduce a `dependsOn` ordering that is required to avoid race conditions with updating `Microsoft.Web/sites/config` within the same deployment.
    weikanglim committed Dec 18, 2023
    Configuration menu
    Copy the full SHA
    57830d7 View commit details
    Browse the repository at this point in the history

Commits on Dec 19, 2023

  1. Fix container-template calling template-functions with yaml marshalli…

    …ng instead of json (Azure#3130)
    
    * use yaml marshall
    vhvb1989 committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    7ab9a99 View commit details
    Browse the repository at this point in the history
  2. aspire: Support inputs and improve container.v0 support (Azure#3131)

    This change adds supports for `inputs` which is a new (optional)
    property on resources in the Aspire manifest. These inputs represent
    values that deployment tools like `azd` need to provide "somehow".
    
    For our initial support, we support string inputs which contain
    metadata on how to generate a default value, based on a minumum random
    length. Aspire uses this today to model passwords for cases like
    `AddMySqlContainer()` where a deployment tool needs to provide a
    password for the root user.
    
    Consider the following AppHost manifest:
    
    ```json
    {
      "resources": {
        "demoapp": {
          "type": "project.v0",
          "path": "../AspireContainers.DemoApp/AspireContainers.DemoApp.csproj",
          "env": {
            "ConnectionStrings__MySql": "{mysqlabstract.connectionString}"
          },
          "bindings": {
            "http": {
              "scheme": "http",
              "protocol": "tcp",
              "transport": "http",
            }
          }
        },
        "mysqlabstract": {
          "type": "container.v0",
          "image": "mysql:latest",
          "env": {
            "MYSQL_ROOT_PASSWORD": "{mysqlabstract.inputs.password}"
          },
          "bindings": {
            "tcp": {
              "scheme": "tcp",
              "protocol": "tcp",
              "transport": "tcp",
              "containerPort": 3306
            }
          },
          "connectionString": "Server={mysqlabstract.bindings.tcp.host};Port={mysqlabstract.bindings.tcp.port};User ID=root;Password={mysqlabstract.inputs.password}",
          "inputs": {
            "password": {
              "type": "string",
              "secret": true,
              "default": {
                "generate": {
                  "minLength": 10
                }
              }
            }
          }
        }
      }
    }
    ```
    
    In this example, we spin up a MySql Container (with a randomly
    generated password at least 10 characters long). The container
    resource now has an expression with binding references in for its
    `connectionString` property, and other resources (like `demoapp`) can
    refer to this property to create connections to it.
    
    To support this, we need to teach `azd` how to handle these inputs and
    where to store them as well as decide how to the flow into both the
    infrastructure and service deployments.
    
    The strategy here for now is to model a new `Inputs` object, which
    holds all the values for the given inputs. The object contains a top
    level key for every resource with an input and the value is an object
    that maps inputs from that resource to their values, eg:
    
    ```json
    {
      "mysqlabstract": {
         "password": "<value-from-deployment-tool>"
      }
    }
    ```
    
    For bicep deployments, you can mark an object or secure object
    parameter with `@metdata(azd: { type: 'inputs' } )` the value will be
    passed as this object.
    
    For container app deployments, the new `Inputs` field is present on
    the root context object and you can read values from this map.
    
    These are stored in the environment config (so they can vary per
    environment) under the "inputs" section.
    
    Values which are marked as `secure` today are not encrypted at rest,
    but this is something we will improve before GA, by storing these
    values in KeyVault and then reference from there.
    
    We do, however, mark the parameter that gets the value in the bicep
    deployment as an `@secure()` parameter, so the values like passwords
    are not retained in the deployment log.
    
    As part of this change, some small improvements where made to the
    binding expression evaulatior, to allow using `.host` in references to
    container apps (we know the value will be the same as the container
    app name, due to how networking works in ACA).
    ellismg committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    bd8aefb View commit details
    Browse the repository at this point in the history
  3. daily (Azure#3133)

    vhvb1989 committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    fbbcfbe View commit details
    Browse the repository at this point in the history

Commits on Dec 20, 2023

  1. Fix incorrect log analytics dependency (Azure#3145)

    Fix the generation logic: emit a log analytics workspace when a container apps environment is required.
    
    Remove the dependency of container registry on log analytics workspace since that is actually extraneous based on the bicep template/
    
    Fixes Azure#3141
    weikanglim committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    a73df39 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8237202 View commit details
    Browse the repository at this point in the history
  3. increase resiliency of install script (Azure#3146)

    Increase resiliency of devcontainer install scripts for function tools:
    
    - Install under `/opt/microsoft/azure-function-core-tools`
    - Symbolic link just `func` instead of installing binaries into `/usr/bin`
    weikanglim committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    ad35a54 View commit details
    Browse the repository at this point in the history
  4. py-func: upgrade packages and function-host runtime (Azure#3148)

    * update runtime version
    
    * update incompatible packages
    weikanglim committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    7e15fef View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    3856d1e View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    5475227 View commit details
    Browse the repository at this point in the history

Commits on Dec 22, 2023

  1. mem ali (Azure#3152)

    vhvb1989 committed Dec 22, 2023
    Configuration menu
    Copy the full SHA
    5f3afc0 View commit details
    Browse the repository at this point in the history
  2. Bump golang.org/x/crypto from 0.14.0 to 0.17.0 (Azure#3132)

    Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.14.0 to 0.17.0.
    - [Commits](golang/crypto@v0.14.0...v0.17.0)
    
    ---
    updated-dependencies:
    - dependency-name: golang.org/x/crypto
      dependency-type: indirect
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] committed Dec 22, 2023
    Configuration menu
    Copy the full SHA
    f0d9864 View commit details
    Browse the repository at this point in the history

Commits on Dec 26, 2023

  1. Update azd auth login for --no-prompt --use-device-code combo to …

    …skip auto-browser opening. (Azure#3096)
    vhvb1989 committed Dec 26, 2023
    Configuration menu
    Copy the full SHA
    df69a8c View commit details
    Browse the repository at this point in the history

Commits on Jan 3, 2024

  1. Configuration menu
    Copy the full SHA
    a0bf60d View commit details
    Browse the repository at this point in the history

Commits on Jan 4, 2024

  1. net aspire support cosmos (Azure#3164)

    * association for .bicept as go-template and extension for syntax
    
    * net aspire - support cosmos db
    
    * remove new line
    vhvb1989 committed Jan 4, 2024
    Configuration menu
    Copy the full SHA
    278a252 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    509f75a View commit details
    Browse the repository at this point in the history

Commits on Jan 9, 2024

  1. Enable admin user for registry in ACA sample (Azure#3178)

    This enables the admin user on the provisioned container registry so
    that `azd` can connect to it to push even if RBAC is not working
    because the user is not an owner of the resource.  We've seen cases
    where users who's accounts where created a long while back are set as
    [classic administrators](https://learn.microsoft.com/en-us/azure/role-based-access-control/classic-administrators)
    and not Owners on their accounts and there is presently a service issue
    that prevents these users from exchanging their AAD creds for an
    access token.
    
    Fixes Azure#3157
    ellismg committed Jan 9, 2024
    Configuration menu
    Copy the full SHA
    ffacf72 View commit details
    Browse the repository at this point in the history
  2. feat: add gha schema lint (Azure#3172)

    * feat: add gha schema lint
    
    * checkout v4 and remove pull-requests permission
    john0isaac committed Jan 9, 2024
    Configuration menu
    Copy the full SHA
    9e05ef2 View commit details
    Browse the repository at this point in the history

Commits on Jan 10, 2024

  1. Bump follow-redirects in /templates/todo/web/react-fluent (Azure#3186)

    Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.2 to 1.15.4.
    - [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
    - [Commits](follow-redirects/follow-redirects@v1.15.2...v1.15.4)
    
    ---
    updated-dependencies:
    - dependency-name: follow-redirects
      dependency-type: indirect
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] committed Jan 10, 2024
    Configuration menu
    Copy the full SHA
    56cc9b8 View commit details
    Browse the repository at this point in the history

Commits on Jan 11, 2024

  1. Configuration menu
    Copy the full SHA
    e086a36 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    15c8220 View commit details
    Browse the repository at this point in the history

Commits on Jan 12, 2024

  1. WIP

    wbreza committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    6277a4c View commit details
    Browse the repository at this point in the history
  2. install helm repo/release

    wbreza committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    073d20d View commit details
    Browse the repository at this point in the history
  3. Fixes lint issues

    wbreza committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    4f62938 View commit details
    Browse the repository at this point in the history
  4. Minor refactoring

    wbreza committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    0f41ac5 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    b39f1a7 View commit details
    Browse the repository at this point in the history
  6. WIP: customize

    wbreza committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    e835933 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    853efd2 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    c4088fb View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    191c35e View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    c543a56 View commit details
    Browse the repository at this point in the history