App Service
Function App redeployments now preserve required platform-managed configuration, preventing an otherwise successful infrastructure deployment from leaving an existing app unable to start.
Function Apps and Web Apps no longer overwrite optional HTTPS and client-affinity settings when those properties are omitted. Define them explicitly when Hulk should manage their values.
Dedicated App Service plans can host both Web Apps and Function Apps. Function-only hosting plans continue to reject Web Apps during validation.
Runtime definitions now use explicit, versioned values and Web Apps require an
osvalue so Hulk can validate the selected runtime against the target platform before generating Bicep.App Service Plan capacity, tier, operating-system, and hosting-type combinations are validated earlier and generate stable Bicep across repeated deployments.
Flex Consumption
Flex Consumption is now represented by a clear, first-class
flex_settingsdefinition instead of legacy application settings.Flex definitions support a deployment container, instance memory, maximum instance count, HTTP concurrency, and always-ready instance configuration.
Hulk validates Flex-specific requirements, including Linux hosting, supported runtimes, deployment-container availability, and the absence of unsupported deployment slots.
Generated Flex templates configure identity-based storage access and the documented Function App deployment shape.
Commands
Added
hulk checkfor a fast, local validation pass that resolves environments and modules, validates Hulk references, renders fresh Bicep in isolation, and compiles it when the Bicep CLI is available.Added
hulk planfor Azure-backed preflight validation using the subscription and resource group declared by the selected environment.Added
hulk plan --what-ifto preview expected infrastructure changes without creating a deployment.Added
--require-bicepfor CI workflows that must fail when generated Bicep cannot be compiled.Added human-readable, JSON, and SARIF output formats so the same validation flow works in terminals, automation, and code-scanning tools.
hulk synth,hulk check,hulk plan, andhulk transpilenow share the same project preparation path, reducing differences between local feedback and deployment output.
Transpilation and validation
Generated output is staged and published atomically, so a failed transpilation or Bicep compilation does not replace the last valid
.hulkdirectory.Module paths are confined to the project directory, module cycles and duplicate resource identities are reported clearly, and invalid references fail before deployment.
Environment filtering is applied consistently to root and module resources before references are resolved.
Variable expansion now resolves nested environment placeholders consistently, including values selected from environment-specific variable maps.
Bicep string generation now handles interpolated expressions containing quoted values correctly.
API connection names that contain characters invalid in Bicep symbols are sanitized without changing their deployed resource names.
Parsing, module expansion, resource lookup, and output generation have been streamlined to reduce repeated work and memory use on larger projects.
Environments
Environment definitions now separate the canonical environment
namefrom the resource-nameabbrsubstituted into{env}.Canonical names are used for CLI selection and variable-map keys, while supported abbreviations allow existing resource naming conventions to remain stable.
Environment names, abbreviations, duplicate definitions, and missing variable values now produce earlier, more actionable errors.
Updates and release integrity
Hulk updates now require signed release metadata and verify the selected artifact's platform, size, checksum, and reported version before installation.
Refreshed