From 70dec0f664fbce373988a27c68c4d14495a4dcd4 Mon Sep 17 00:00:00 2001 From: Matt Richardson Date: Thu, 15 Jan 2026 13:10:12 +1100 Subject: [PATCH] Dont emit -no-color for terraform apply --- .../Behaviours/ApplyBehaviour.cs | 36 ++++++++++++------- 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/source/Calamari.Terraform/Behaviours/ApplyBehaviour.cs b/source/Calamari.Terraform/Behaviours/ApplyBehaviour.cs index 52ebb2e16..1c787f510 100644 --- a/source/Calamari.Terraform/Behaviours/ApplyBehaviour.cs +++ b/source/Calamari.Terraform/Behaviours/ApplyBehaviour.cs @@ -31,23 +31,17 @@ protected override Task Execute(RunningDeployment deployment, Dictionary(); - args.Add("output"); - if (!OctopusFeatureToggles.AnsiColorsInTaskLogFeatureToggle.IsEnabled(deployment.Variables)) - args.Add("-no-color"); - args.Add("-json"); - // Attempt to get the outputs. This will fail if none are defined in versions prior to v0.11.15 // Please note that we really don't want to log the following command output as it can contain sensitive variables etc. hence the IgnoreCommandOutput() if (cli.ExecuteCommand(out var result, false, - args.ToArray()) + outputArg.ToArray()) .ExitCode != 0) return Task.CompletedTask; @@ -73,6 +67,24 @@ protected override Task Execute(RunningDeployment deployment, Dictionary GetOutputArgs(RunningDeployment deployment) + { + yield return "output"; + if (!OctopusFeatureToggles.AnsiColorsInTaskLogFeatureToggle.IsEnabled(deployment.Variables)) + yield return "-no-color"; + yield return "-json"; + } + + static IEnumerable GetApplyArgs(RunningDeployment deployment, TerraformCliExecutor cli) + { + yield return "apply"; + if (!OctopusFeatureToggles.AnsiColorsInTaskLogFeatureToggle.IsEnabled(deployment.Variables)) + yield return "-no-color"; + yield return "-auto-approve"; + yield return cli.TerraformVariableFiles; + yield return cli.ActionParams; + } + IEnumerable<(string, JToken)> OutputVariables(string result) { var jObj = JObject.Parse(result);