Skip to content

Remove unused direct Azure CLI wrapper #12941

Description

@brooke-hamilton

Engineering Improvement

Area for Improvement

Remove the unused pkg/azure/azcli package as a focused sub-task of #12887 instead of adding context and non-interactive controls to an unreferenced wrapper.

Observed behavior

pkg/azure/azcli/azcli.go defines RunCLICommand(args ...string) error, which launches Azure CLI through pkg/process, forwards stdout/stderr, and waits for completion. On Windows it invokes cmd.exe /c az. Repository searches found no imports of this package and no calls to RunCLICommand.

The current docs/architecture/rad-cli.md Windows background automation section nevertheless lists the direct Azure CLI wrapper among Radius-owned child processes. Azure authentication through the Azure Identity SDK is a separate path: AzureCLICredential launches Azure CLI internally and does not use this package.

Desired behavior

Remove the unreferenced wrapper and current documentation that implies it is an active Radius subprocess path. Keep the existing Azure SDK authentication behavior and its documented windowless-execution limitation unchanged.

Acceptance criteria:

  • Confirm that the latest repository state still has no callers or imports of pkg/azure/azcli before deletion.
  • Delete pkg/azure/azcli/azcli.go and remove the resulting empty package.
  • Remove the obsolete direct-wrapper reference from docs/architecture/rad-cli.md; preserve the separate Azure Identity SDK warning and supported authentication guidance.
  • Remove any current build/test command references to the deleted package if discovered. Do not rewrite historical release notes or prior issue/PR descriptions.
  • Keep Azure Identity authentication, shared process policy, Git, Bicep, kubectl, and other unrelated behavior unchanged.
  • Ensure affected builds/tests still work and repository source has no dangling references to the deleted package.

Proposed Fix

Make a small, independently reviewable deletion PR. Do not add a replacement wrapper, timeout controls, new dependencies, SDK migrations, or new Azure login behavior. Reference this sub-issue as the issue the PR closes, and reference #12887 as the parent; do not close the parent issue.

The parent plan will replace its original requirement to harden RunCLICommand with removal of this unused code. The symbol is exported, so the repository search establishes lack of in-repository use, not absence of every possible external consumer.

System information

rad Version

Source inspection at a0654b16470228271daa8875889b189bb8951c21 on main; this is source cleanup, not a runtime-version-specific failure.

Operating system

All supported platforms. The removed helper contains a Windows-specific cmd.exe /c az launch path.

Additional context

Parent: #12887. Related context: #12883 and merged PR #12885. This cleanup does not solve or alter Azure Identity SDK-owned subprocess behavior.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions