1
1
package workflow
2
2
3
3
import (
4
+ "encoding/json"
4
5
"log"
5
6
6
7
"github.com/aws/aws-sdk-go/service/dynamodb/dynamodbiface"
@@ -20,7 +21,9 @@ func SecureWorkflow(queryStringParams map[string]string, inputYaml string, svc d
20
21
pinActions , addHardenRunner , addPermissions , addProjectComment , replaceMaintainedActions := true , true , true , true , false
21
22
pinnedActions , addedHardenRunner , addedPermissions , replacedMaintainedActions := false , false , false , false
22
23
ignoreMissingKBs := false
23
- exemptedActions , pinToImmutable , customerMaintainedActions := []string {}, false , map [string ]string {}
24
+ enableLogging := false
25
+ exemptedActions , pinToImmutable , maintainedActionsMap := []string {}, false , map [string ]string {}
26
+
24
27
if len (params ) > 0 {
25
28
if v , ok := params [0 ].([]string ); ok {
26
29
exemptedActions = v
@@ -33,7 +36,7 @@ func SecureWorkflow(queryStringParams map[string]string, inputYaml string, svc d
33
36
}
34
37
if len (params ) > 2 {
35
38
if v , ok := params [2 ].(map [string ]string ); ok {
36
- customerMaintainedActions = v
39
+ maintainedActionsMap = v
37
40
}
38
41
}
39
42
@@ -57,10 +60,23 @@ func SecureWorkflow(queryStringParams map[string]string, inputYaml string, svc d
57
60
addProjectComment = false
58
61
}
59
62
60
- if len (customerMaintainedActions ) > 0 {
63
+ if len (maintainedActionsMap ) > 0 {
61
64
replaceMaintainedActions = true
62
65
}
63
66
67
+ if queryStringParams ["enableLogging" ] == "true" {
68
+ enableLogging = true
69
+ }
70
+
71
+ if enableLogging {
72
+ // Log query parameters
73
+ paramsJSON , _ := json .MarshalIndent (queryStringParams , "" , " " )
74
+ log .Printf ("SecureWorkflow called with query parameters: %s" , paramsJSON )
75
+
76
+ // Log input YAML (complete)
77
+ log .Printf ("Input YAML: %s" , inputYaml )
78
+ }
79
+
64
80
secureWorkflowReponse := & permissions.SecureWorkflowReponse {FinalOutput : inputYaml , OriginalInput : inputYaml }
65
81
var err error
66
82
if addPermissions {
@@ -105,7 +121,7 @@ func SecureWorkflow(queryStringParams map[string]string, inputYaml string, svc d
105
121
}
106
122
107
123
if replaceMaintainedActions {
108
- secureWorkflowReponse .FinalOutput , replacedMaintainedActions , err = maintainedactions .ReplaceActions (secureWorkflowReponse .FinalOutput , customerMaintainedActions )
124
+ secureWorkflowReponse .FinalOutput , replacedMaintainedActions , err = maintainedactions .ReplaceActions (secureWorkflowReponse .FinalOutput , maintainedActionsMap )
109
125
if err != nil {
110
126
secureWorkflowReponse .HasErrors = true
111
127
}
@@ -147,5 +163,14 @@ func SecureWorkflow(queryStringParams map[string]string, inputYaml string, svc d
147
163
secureWorkflowReponse .AddedHardenRunner = addedHardenRunner
148
164
secureWorkflowReponse .AddedPermissions = addedPermissions
149
165
secureWorkflowReponse .AddedMaintainedActions = replacedMaintainedActions
166
+
167
+ if enableLogging {
168
+ log .Printf ("SecureWorkflow complete - PinnedActions: %v, AddedHardenRunner: %v, AddedPermissions: %v, HasErrors: %v" ,
169
+ secureWorkflowReponse .PinnedActions ,
170
+ secureWorkflowReponse .AddedHardenRunner ,
171
+ secureWorkflowReponse .AddedPermissions ,
172
+ secureWorkflowReponse .HasErrors )
173
+ }
174
+
150
175
return secureWorkflowReponse , nil
151
176
}
0 commit comments