diff --git a/internal/shop/config.go b/internal/shop/config.go index 353f2b93..6d350932 100644 --- a/internal/shop/config.go +++ b/internal/shop/config.go @@ -330,6 +330,15 @@ type ConfigDeployment struct { Id string `yaml:"id" jsonschema:"required"` Script string `yaml:"script" jsonschema:"required"` } `yaml:"one-time-tasks"` + + // Staging mode configuration for the deployment + Staging *ConfigDeploymentStaging `yaml:"staging,omitempty"` +} + +// ConfigDeploymentStaging defines staging mode configuration. +type ConfigDeploymentStaging struct { + // When enabled, staging setup commands will be executed during installation and upgrade + Enabled bool `yaml:"enabled,omitempty"` } type ConfigDeploymentOverrides map[string]struct { diff --git a/shopware-project-schema.json b/shopware-project-schema.json index 38fff6bd..7f46809a 100644 --- a/shopware-project-schema.json +++ b/shopware-project-schema.json @@ -140,7 +140,7 @@ }, "asset_caching": { "type": "boolean", - "description": "When enabled, built assets are cached locally and restored on subsequent builds when sources haven't changed" + "description": "When enabled, built assets are cached and restored on subsequent builds when sources haven't changed" }, "hooks": { "$ref": "#/$defs/ConfigBuildHooks", @@ -331,6 +331,10 @@ ] }, "type": "array" + }, + "staging": { + "$ref": "#/$defs/ConfigDeploymentStaging", + "description": "Staging mode configuration for the deployment" } }, "additionalProperties": false, @@ -360,6 +364,17 @@ "type": "object", "title": "Extension overrides" }, + "ConfigDeploymentStaging": { + "properties": { + "enabled": { + "type": "boolean", + "description": "When enabled, staging setup commands will be executed during installation and upgrade" + } + }, + "additionalProperties": false, + "type": "object", + "description": "ConfigDeploymentStaging defines staging mode configuration." + }, "ConfigDump": { "properties": { "rewrite": {