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

[pull] main from Azure:main #11

Open
wants to merge 77 commits into
base: main
Choose a base branch
from
Open

[pull] main from Azure:main #11

wants to merge 77 commits into from

Conversation

pull[bot]
Copy link

@pull pull bot commented Dec 10, 2024

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.1)

Can you help keep this open source service alive? 💖 Please sponsor : )

These tests are failing on macOS in CI due to the docker daemon not
being configured correctly. Disable them against #4612 which tracks
fixing the issue.
@pull pull bot added the ⤵️ pull label Dec 10, 2024
zedy-wj and others added 28 commits December 10, 2024 10:28
…4412)

* remove workflows from the starters

* Removing the definition from all templates to only starters

---------

Co-authored-by: zedy <[email protected]>
Co-authored-by: Victor Vazquez <[email protected]>
When running `azd restore` for a Docker based project, we were
requiring that the docker tool itself was installed instead of
whatever tool would be used by the actual source project. This has two
implications:

1. If you didn't have the tool that was going to be invoked during
`restore` installed (i.e. you didn't have `npm` for a node based
project), we wouldn't detect the fact upfront and provide a nice
error, we'd fail later when we tried to invoke the tool.

2. As of #4567, we now require that the docker daemon be running to
consider docker "installed" (which is reasonable for cases where we
are going to invoke docker commands) and so `azd restore` now fails if
you have a docker based project but are not running the docker deamon
(as is the case in the macOS environment in CI).

To fix both of these issues, I decided to accept the fact that
ensuring the tools needed to do a restore is different from the other
cases, and so the `ProjectManager` now has a `EnsureRestoreTools`
method. As part of this, I also changed the `ProjectManager` such that
`Initialize` no longer calls `EnsureAllTools` (which is logically did
before, it had just inlined the logic) and audited all the callers to
ensure that they were calling `EnsureAllTools` themselves or another
`EnsureXXXTools` variant (doing so also made me realize a lot of the
care we had put into some of the commands controling what sets of
tools they checked for via these special Ensure methods was being
undone by the implict call to `EnsureAllTools` from `Initialize`.

Fixes #4612
As part of our release process, we build and push a container image
that contains `azd` plus a large collection of language runtimes and
other tools.

In practice, the resulting image is giant and anyone who wants to use
`azd` inside of a container is better served by building their own and
including `azd`. We also have not been updating this container over
time (and a while back we removed it from the list of artifacts we
list per PR).

To make our lives simpler, let's just stop building and publishing
this container image. If folks were depedent on it and need updates,
let's move them over to using one of our supported install methods to
get them to add `azd` to their container image as the build it instead
of using ours.
…4624)

When we started `azd` instead of making REST calls against the Azure
using the SDKs, we had an `AzCli` type which shelled out to `az` to
preform work. Over time we refactored this code from using the `exec`
package to run `az` to use the proper go SDKs from azure-sdk-for-go
and as we did this we ended up pulling off related operations into
their own services and packages.

Over time we got close to completely removing the `AzCli` type, but a
few operations still lingered.

To finish the job while minimizing the destruction to the rest of the
codebase, I've taken the `AzCli` type in `pkg/tools/azcli/`, moved all
the code into `pkg/azapi` and then renamed the type from `AzCli` to
`AzureClient` (following the azure-sdk-for-go convention of `Client`
suffixes). While doing so, I removed the intermediate wrapper
interface and now other components just take a `*azapi.AzureClient`
instead of a `azcli.AzCli`.

Fixes #854
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.27.0 to 0.31.0.
- [Commits](golang/crypto@v0.27.0...v0.31.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Migrate to new CDN endpoint

* Updates to DevOps extension version (from CONTRIBUTING.md)

* cSpell issues

* ignore host parts of hostname

* Update cspell

* disable-line did not work in this instance

* missing version updae

* version 0.17.0 -> 0.15.0

---------

Co-authored-by: Victor Vazquez <[email protected]>
* Add more detail to from-package option
This addresses the incorrect behavior of: when deleting a resource group in `azd down`, azd currently fails.

A delete on a resource group that does not exist should result in a no-opt.

Fixes #4628
* changelog

* cspell
Previously, we had of hand written adapters that allowed exposing go
functions over our JSON-RPC boundary.  Changes to the number of
arguments or return values would require changes to the adapter used
(or writing a new adapter by copy/pasting an existing one).

Now, we have a single `NewHandler` which allows exposing arbitrary go
functions over the RPC boundary (as long as the follow some rules,
like taking a `context.Context` as the first paremeter, and returning
a value and `error` or just an `error`.

As part of this change, the `IObserver` type is now called `Observer`
and it is passed by reference instead of value in signatures.
When the `@sealed()` decorator is applied on user defined types, it
causes an `additionalProperties: false` property to be added to the
type defintition in the generated arm deployment. Our unmarshalling
logic did not understand this pattern and so it would cause an error
when trying to unmarshall this, since it expected if
`additionalProperties` was set, it would be to set to an object that
described information about the additional properties.

I've updated the marshalling code to support `false` as a valid value
for the additional properties node when parsing an ARM template. Since
Go doesn't have great support for modeling descrimited unions, the new
`ArmTemplateParameterAdditionalPropertiesValue` type is used to
provide the logcal descrimited union of `false` or a object like
value.

Fixes #4659
* use net8 and net9 with no workload for pipelines

* update snapshots
* Update mac images

* Increase timeout to 10 minutes

* Make Mac11Sh -> Mac13Sh (N-1 testing for the sh script)
When we were bringing up the `azd` support for Terraform, we added two
end to end tests which deployed an application using Terraform.  One
stored the state file localy and the other used the terraform remote
state backend to store the state in blob storage.

When we migrated to the TME environment, this broke, because we need
to use OIDC to authenticate to the storage account, but the remote
state plugin isn't able to do this natively, and the support to use
the `az` CLI fails in in this mode because it is only supported for
user accounts (and the tests run under a service principal).

In practice, `azd` isn't doing anything special here - the test uses
the `az` CLI to create a storage account and then sets some
environment variables to configure the terraform provider to use it
for state management.  So, instead of fighting with the infrastructure
to support this tests, let's just get rid of it.  We already have end
to end coverage of Terraform itself with the local state test, and the
way `azd` interacts with terraform is the same between remote and
local state storage, so we aren't getting any additional coverage from
the test.

Closes #4564
Reshares UI prompting logic between `init` and `add`.

`init` can be thought of as a series of `add` calls, though this is not reflected in practice due to difference in UX design considerations.

This is a pure refactor and does not introduce any functional changes. The UI prompting is covered by existing tests.
…` and `azd auth login --check-status` (#2856)

* show logging in account/service principal on login and check-status

* use ux struct item

* add comments and remove unneeded const

---------

Co-authored-by: Victor Vazquez <[email protected]>
…/js (#4705)

Bumps [mongoose](https://github.com/Automattic/mongoose) from 8.8.3 to 8.9.5.
- [Release notes](https://github.com/Automattic/mongoose/releases)
- [Changelog](https://github.com/Automattic/mongoose/blob/master/CHANGELOG.md)
- [Commits](Automattic/mongoose@8.8.3...8.9.5)

---
updated-dependencies:
- dependency-name: mongoose
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* support Nullable bicep parameters

* recordings
vhvb1989 and others added 30 commits February 4, 2025 14:52
* update schema for using secrets in hooks

* add example and change to map
* support scope in bicep types

* make scope an object

* Fix type checks in manifest parsing and bicep generation

* add bicep.v1 to test

* enhance resource group selection for prompt input

* better prompt

* lint

---------

Co-authored-by: Safia Abdalla <[email protected]>
… from the ones that are simulated for unite test (#4760)
Adds extensions command group
- Extensions can now be referenced directly within azure.yaml under the requiredVersions.extensions configuration element.
- Referenced extensions are automatically installed during azd init command when the extensions alpha feature is enabled.
- Extension dependencies now support semver constraints
- Minor updates on azd extension commands
* akvs integration to pipeline config

* cspell fix

* formalize docs

* spell out akvs
remove extra space from pipeline template

* fix indentation for azdo template

* unit test for vars and secret gen
- Adds new demo extension to showcase the available integration capabilities.
- Fixes a couple minor bugs around subscription and resource selection
Adds support to `rzip.CreateFromDirectory` for symbolic linked directory traversal to perform a deep copy.

An accompanying test suite is also added.

Prior to this, `CreateFromDirectory` were not handling symbolically linked directories and would result in an `os.Stat` error as describe in #4715. Symbolic linked files were, in fact, handled correctly via `os.Stat` following the link.

Fixes #4715, Contributes to #4381
Add support for creating Service Bus and Event Hubs.

Addresses #4742
Adds developer markdown docs for internal extension development.
Fixed bug and existing links to point to correct repo
This is an example extension that is an extension pack. An extension pack by itself does not contain any executable artifacts but includes dependencies for other extensions.
This bug fix fixes a null reference exception when project does not contain any extension requirements.
…son (#4781)

Adds registry generator tool. The tool is used to build, package and update an azd extension registry with the updated extension metadata.
Add environment detection for `@azure` agent to show up in usage.
Fix issue #4799.

This PR removes the link to the 404 error and provides a new guide on how to configure the deployment pipeline using the `azd pipeline config` command.
* Convert infra/core to AVM

* Add the modification of repo.yaml

* Modify parameter description, spaces, etc.

* Standard parameter naming

* modify models.py

modify models.py

modify parameter name

modify parameter name

* fix pr2016 and pr2103

* update apim service toavm module

* Add useAPIM conditional judgment

update formate

* update web site config to avm

* add api tags

* update keyvault sku

* disable purge protection

* disable purge protection

* Add Infra/app files

update function app kind

update function app kind

update SCM_DO_BUILD_DURING_DEPLOYMENT

* modify parameters

* Modify api-avm parameters

* update apimapi to use ptn module

* update db to infra/app

* Update apim parameter, cosmos-sql

* Update cosmos-mongo module name

* delete the redundant parameter connectionStringKey

* add monitor ptn module

* add container pth module

* update cosmos-mongo-db-avm output

* update aks and aca to avm

* Update appservice with App Insights env var

* Update module name

* Update module container-app-upsert version

* update nodeResourceGroupName parameter

* update aks

* Remove redundant parameters
Add support for MySQL databases (using flexible servers).

Contributes to #4671
Fix node creation terminating after the first optional node.

In `find`, if a node was created, we terminated the recursion instead of iterating until `parts` is empty.

This was discovered while prototyping an `application.yaml` binding generation for Java.
* add warn

* update

* update format

* update warning style

* update

* fix

* update message; use WarningMessage

* handle n=1

* fix ci error

---------

Co-authored-by: Wei Lim <[email protected]>
Co-authored-by: Menghua Chen (MSFT) <[email protected]>
Co-authored-by: Menghua Chen (WICRESOFT NORTH AMERICA LTD) <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.