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.
Engineering Improvement
Area for Improvement
Remove the unused
pkg/azure/azclipackage 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.godefinesRunCLICommand(args ...string) error, which launches Azure CLI throughpkg/process, forwards stdout/stderr, and waits for completion. On Windows it invokescmd.exe /c az. Repository searches found no imports of this package and no calls toRunCLICommand.The current
docs/architecture/rad-cli.mdWindows 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:AzureCLICredentiallaunches 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:
pkg/azure/azclibefore deletion.pkg/azure/azcli/azcli.goand remove the resulting empty package.docs/architecture/rad-cli.md; preserve the separate Azure Identity SDK warning and supported authentication guidance.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
RunCLICommandwith 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
a0654b16470228271daa8875889b189bb8951c21onmain; 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 azlaunch 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.