Documentation menu

guide

Environments

Definition

Environments are defined inside the envs array of the main.json file like this:

{
	"$schema": "https://hulk.cyncly-platform.com/schemas/main.json",
	"team": "your team identifier",
	"project": "Your project name",
	"envs": [
		{
			"name": "staging",
			"abbr": "stg",
			"rg": "my-project-stg-rg",
			"subscription": "My non-production subscription"
		}
	],
	"resources": []
}

Requirements

  • name must be unique and one of prod, nonprod, dev, sandbox, staging, shared, preprod, test, canary, demo, qat, or uat.
  • abbr is required. It selects the value Hulk substitutes for {env}; use the canonical name to preserve full environment names, or a supported shorter form such as stg, prd, or sbox.
  • rg is the existing or target Azure resource group for this environment.
  • subscription is the Azure subscription name used by the deployment workflow.

How it works

The {env} keyword is a reserved variable inside the schema that will be statically replaced when parsing your hulk files. This value is the abbr field of the environment that matches the -e/--env flag. The canonical environment name remains stable for variable maps and CLI selection even when the deployed resource-name abbreviation is shorter. For example, use "name": "staging" and "abbr": "stg"; variable maps use the staging key.

This value can be used anywhere in your files where you need the value of the current environment (e.g App Settings, resource names, custom domains, etc).