From 34a087493e1ecc99c400137107e80934cdfe3592 Mon Sep 17 00:00:00 2001 From: roleyfoley Date: Thu, 8 Dec 2022 11:35:00 +1100 Subject: [PATCH 1/3] fix: add stack output generation back - Not sure how but the stackoutput generation entrance seems to have been partially removed. - Adds the output process back in to generate stack output files in the engine --- .../deploymentframeworks/default/output.ftl | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/providers/shared/deploymentframeworks/default/output.ftl b/providers/shared/deploymentframeworks/default/output.ftl index 277843471..86bb5a734 100644 --- a/providers/shared/deploymentframeworks/default/output.ftl +++ b/providers/shared/deploymentframeworks/default/output.ftl @@ -16,6 +16,7 @@ [#assign CONTRACT_DEFAULT_OUTPUT_TYPE = "contract"] [#assign INFO_DEFAULT_OUTPUT_TYPE = "info" ] [#assign STATE_OUTPUT_TYPE = "state" ] +[#assign STACK_OUTPUT_TYPE = "stack"] [#-- SCRIPT_DEFAULT_OUTPUT_TYPE --] @@ -665,6 +666,64 @@ /] [/#macro] +[#-- Stack Output --] +[#function default_output_stack level="" include=""] + [@setOutputProperties + properties={ "type:file" : { "format" : "json" }} + /] + [@initialiseJsonOutput name="stack_outputs" /] + + [@processFlows + level=level + framework=DEFAULT_DEPLOYMENT_FRAMEWORK + flows=getCLOFlows() + /] + + [#if getOutputContent("stack_outputs")?has_content ] + + [@mergeWithJsonOutput + name="stack_outputs" + content={ + "Account" : getActiveLayer(ACCOUNT_LAYER_TYPE).ProviderId, + "Region": getRegion(), + "DeploymentUnit": getCLODeploymentUnit() + } + /] + + [#local stackOutputs = []] + [#list getOutputContent("stack_outputs") as k,v] + [#local stackOutputs += [ {"OutputKey": k, "OutputValue": v}]] + [/#list] + + [#return + { + "Metadata" : { + "Id" : "state", + "Prepared" : .now?iso_utc, + "RunId" : getCLORunId(), + "RequestReference" : getCLORequestReference(), + "ConfigurationReference" : getCLOConfigurationReference() + }, + "Stacks" : [ + { + "Outputs": stackOutputs + } + ] + } + ] + [/#if] + [#return {}] +[/#function] + + +[#macro stackOutput key value ] + [@mergeWithJsonOutput + name="stack_outputs" + content={ + key : value + } + /] +[/#macro] [#-- Add Output Step mappings for each output --] [@addGenerationContractStepOutputMapping @@ -795,6 +854,14 @@ outputSuffix="state.json" /] +[@addGenerationContractStepOutputMapping + provider=SHARED_PROVIDER + subset="stack" + outputType=STACK_OUTPUT_TYPE + outputFormat="" + outputSuffix="stack.json" +/] + [#------------------------------------------------------------ -- internal support functions for default output processing -- From 0c1b80ee06940c624817a9d6816d844ff4ce1524 Mon Sep 17 00:00:00 2001 From: roleyfoley Date: Thu, 8 Dec 2022 11:36:01 +1100 Subject: [PATCH 2/3] feat(runbook): provide resolved inputs in context - Adds the resolved inputs for runbooks into the context of steps --- providers/shared/components/runbook/setup.ftl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/providers/shared/components/runbook/setup.ftl b/providers/shared/components/runbook/setup.ftl index 68bd71d44..dfc493143 100644 --- a/providers/shared/components/runbook/setup.ftl +++ b/providers/shared/components/runbook/setup.ftl @@ -59,7 +59,8 @@ "Environment" : {}, "Links" : contextLinks, "TaskParameters" : solution.Task.Parameters, - "Conditions" : solution.Conditions + "Conditions" : solution.Conditions, + "Inputs": runBookInputs } ] [#local _context = invokeExtensions(subOccurrence, _context, {}, [], false, "runbook")] From 0dc73a7562501027f15a23fe3146dfa7b97a35ed Mon Sep 17 00:00:00 2001 From: roleyfoley Date: Thu, 8 Dec 2022 11:36:54 +1100 Subject: [PATCH 3/3] fix: runbook image lookup process - Fixes how a components image is looked up when pushing images via runbook --- .../runbook_image_reference_output/extension.ftl | 13 +++++++------ .../runbook_registry_object_filename/extension.ftl | 7 ++++--- .../runbook_registry_type_condition/extension.ftl | 7 ++++--- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/providers/shared/extensions/runbook_image_reference_output/extension.ftl b/providers/shared/extensions/runbook_image_reference_output/extension.ftl index a7081c47d..0c6cdc8ca 100644 --- a/providers/shared/extensions/runbook_image_reference_output/extension.ftl +++ b/providers/shared/extensions/runbook_image_reference_output/extension.ftl @@ -15,10 +15,11 @@ [#macro shared_extension_runbook_image_reference_output_runbook_setup occurrence ] - [#local image = (_context.Links["image"])!{}] - [#if ! image?has_content] + [#local imageLink = (_context.Links["image"])!{}] + [#if ! imageLink?has_content ] [#return] [/#if] + [#local image = imageLink.State.Images[_context.Inputs["input:ImageId"]] ] [#assign _context = mergeObjects( _context, @@ -26,12 +27,12 @@ "TaskParameters" : { "StackOutputContent" : getJSON( { - image.State.Resources.image.Id: "__input:Reference__", - formatId(image.State.Resources.image.Id, NAME_ATTRIBUTE_TYPE): "__input:Tag__" + image.Id: "__input:Reference__", + formatId(image.Id, NAME_ATTRIBUTE_TYPE): "__input:Tag__" } ), - "DeploymentUnit" : getOccurrenceDeploymentUnit(image), - "DeploymentGroup" : getOccurrenceDeploymentGroup(image) + "DeploymentUnit" : getOccurrenceDeploymentUnit(imageLink), + "DeploymentGroup" : getOccurrenceDeploymentGroup(imageLink) } } )] diff --git a/providers/shared/extensions/runbook_registry_object_filename/extension.ftl b/providers/shared/extensions/runbook_registry_object_filename/extension.ftl index 6ae52ae50..a6f9838ef 100644 --- a/providers/shared/extensions/runbook_registry_object_filename/extension.ftl +++ b/providers/shared/extensions/runbook_registry_object_filename/extension.ftl @@ -15,17 +15,18 @@ [#macro shared_extension_runbook_registry_object_filename_runbook_setup occurrence ] - [#local image = (_context.Links["image"])!{}] - [#if ! image?has_content] + [#local imageLink = (_context.Links["image"])!{}] + [#if ! imageLink?has_content ] [#return] [/#if] + [#local image = imageLink.State.Images[_context.Inputs["input:ImageId"]] ] [#assign _context = mergeObjects( _context, { "TaskParameters" : { "DestinationPath" : { - "Value" : "__output:zip_stage_path:path__/" + (image.State.Resources["image"].ImageFileName)!"" + "Value" : "__output:zip_stage_path:path__/" + (image.ImageFileName)!"" } } } diff --git a/providers/shared/extensions/runbook_registry_type_condition/extension.ftl b/providers/shared/extensions/runbook_registry_type_condition/extension.ftl index 30e2e5642..a26dc43ae 100644 --- a/providers/shared/extensions/runbook_registry_type_condition/extension.ftl +++ b/providers/shared/extensions/runbook_registry_type_condition/extension.ftl @@ -15,17 +15,18 @@ [#macro shared_extension_runbook_registry_type_condition_runbook_setup occurrence ] - [#local image = (_context.Links["image"])!{}] - [#if ! image?has_content] + [#local imageLink = (_context.Links["image"])!{}] + [#if ! imageLink?has_content ] [#return] [/#if] + [#local image = imageLink.State.Images[_context.Inputs["input:ImageId"]] ] [#assign _context = mergeObjects( _context, { "Conditions" : { "registry_type" : { - "Test" : (image.State.Resources["image"].RegistryType)!"" + "Test" : image.RegistryType } } }