This page contains Windows bias

About This Page

This page is part of the Azure documentation. It contains code examples and configuration instructions for working with Azure services.

Bias Analysis

Bias Types:
⚠️ windows_first
⚠️ windows_tools
⚠️ missing_linux_example
Summary:
The documentation for Azure Cloud Services (extended support) WebRole schema is heavily oriented towards Windows environments. It references Windows-specific technologies (IIS 7, ASP.NET, .NET Framework), uses Windows-centric terms (certificate stores like 'CurrentUser', 'LocalMachine', and store names such as 'My', 'Root'), and describes file paths and environment variables in Windows format (e.g., %ROLEROOT%\Approot). There are no examples or mentions of Linux-based web roles, nor any guidance for Linux users. Startup tasks are described in terms of CMD/batch scripts, with no mention of shell scripts or Linux-compatible approaches.
Recommendations:
  • Add explicit mention of Linux support (or lack thereof) for Cloud Services (extended support) web roles, and clarify if the schema is Windows-only.
  • If Linux is supported, provide parallel examples and guidance for Linux-based web roles, including startup tasks using shell scripts (.sh), Linux file paths, and environment variable conventions.
  • Reference Linux web server equivalents (such as Apache or Nginx) if applicable, or clarify that IIS and .NET are Windows-specific.
  • Document how certificates and local storage are handled on Linux VMs, including differences in certificate stores and file system paths.
  • Ensure that all examples and attribute descriptions are platform-neutral where possible, or provide both Windows and Linux variants.
GitHub Create pull request

Scan History

Date Scan ID Status Bias Status
2025-07-12 23:44 #41 in_progress ❌ Biased
2025-07-12 00:58 #8 cancelled ✅ Clean
2025-07-10 05:06 #7 processing ✅ Clean

Flagged Code Snippets

<ServiceDefinition …> <WebRole name="<web-role-name>" vmsize="<web-role-size>" enableNativeCodeExecution="[true|false]"> <Certificates> <Certificate name="<certificate-name>" storeLocation="<certificate-store>" storeName="<store-name>" /> </Certificates> <ConfigurationSettings> <Setting name="<setting-name>" /> </ConfigurationSettings> <Imports> <Import moduleName="<import-module>"/> </Imports> <Endpoints> <InputEndpoint certificate="<certificate-name>" ignoreRoleInstanceStatus="[true|false]" name="<input-endpoint-name>" protocol="[http|https|tcp|udp]" localPort="<port-number>" port="<port-number>" loadBalancerProbe="<load-balancer-probe-name>" /> <InternalEndpoint name="<internal-endpoint-name>" protocol="[http|tcp|udp|any]" port="<port-number>"> <FixedPort port="<port-number>"/> <FixedPortRange min="<minimum-port-number>" max="<maximum-port-number>"/> </InternalEndpoint> <InstanceInputEndpoint name="<instance-input-endpoint-name>" localPort="<port-number>" protocol="[udp|tcp]"> <AllocatePublicPortFrom> <FixedPortRange min="<minimum-port-number>" max="<maximum-port-number>"/> </AllocatePublicPortFrom> </InstanceInputEndpoint> </Endpoints> <LocalResources> <LocalStorage name="<local-store-name>" cleanOnRoleRecycle="[true|false]" sizeInMB="<size-in-megabytes>" /> </LocalResources> <LocalStorage name="<local-store-name>" cleanOnRoleRecycle="[true|false]" sizeInMB="<size-in-megabytes>" /> <Runtime executionContext="[limited|elevated]"> <Environment> <Variable name="<variable-name>" value="<variable-value>"> <RoleInstanceValue xpath="<xpath-to-role-environment-settings>"/> </Variable> </Environment> <EntryPoint> <NetFxEntryPoint assemblyName="<name-of-assembly-containing-entrypoint>" targetFrameworkVersion="<.net-framework-version>"/> </EntryPoint> </Runtime> <Sites> <Site name="<web-site-name>"> <VirtualApplication name="<application-name>" physicalDirectory="<directory-path>"/> <VirtualDirectory name="<directory-path>" physicalDirectory="<directory-path>"/> <Bindings> <Binding name="<binding-name>" endpointName="<endpoint-name-bound-to>" hostHeader="<url-of-the-site>"/> </Bindings> </Site> </Sites> <Startup priority="<for-internal-use-only>"> <Task commandLine="<command-to=execute>" executionContext="[limited|elevated]" taskType="[simple|foreground|background]"> <Environment> <Variable name="<variable-name>" value="<variable-value>"> <RoleInstanceValue xpath="<xpath-to-role-environment-settings>"/> </Variable> </Environment> </Task> </Startup> <Contents> <Content destination="<destination-folder-name>" > <SourceDirectory path="<local-source-directory>" /> </Content> </Contents> </WebRole> </ServiceDefinition>