Skip to content

Commit 6551e11

Browse files
fix: Mask sensitive values in log
1 parent a3d184b commit 6551e11

2 files changed

Lines changed: 37 additions & 2 deletions

File tree

controllers/weightsandbiases_controller.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,12 +148,12 @@ func (r *WeightsAndBiasesReconciler) Reconcile(ctx context.Context, req ctrl.Req
148148
desiredSpec.Merge(deployerSpec)
149149
desiredSpec.Merge(operator.Defaults(wandb, r.Scheme))
150150

151-
log.Info("Desired spec", "spec", desiredSpec)
151+
log.Info("Desired spec", "spec", desiredSpec.SensitiveValuesMasked())
152152

153153
hasNotBeenFlaggedForDeletion := wandb.ObjectMeta.DeletionTimestamp.IsZero()
154154
if hasNotBeenFlaggedForDeletion {
155155
if currentActiveSpec != nil {
156-
log.Info("Active spec found", "spec", currentActiveSpec)
156+
log.Info("Active spec found", "spec", currentActiveSpec.SensitiveValuesMasked())
157157
if currentActiveSpec.IsEqual(desiredSpec) {
158158
log.Info("No changes found")
159159
statusManager.Set(status.Completed)

pkg/wandb/spec/spec.go

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,3 +117,38 @@ func (s *Spec) Merge(spec *Spec) {
117117
s.mergeConfig(spec.Values)
118118
}
119119
}
120+
121+
func (s *Spec) SensitiveValuesMasked() *Spec {
122+
if s.Values != nil {
123+
return &Spec{
124+
Metadata: s.Metadata,
125+
Chart: s.Chart,
126+
Values: maskValues(s.Values),
127+
}
128+
}
129+
return s
130+
}
131+
132+
var sensitiveKeys = map[string]bool{
133+
"secret": true,
134+
"accessKey": true,
135+
}
136+
137+
func maskValues(values map[string]interface{}) map[string]interface{} {
138+
newValues := make(map[string]interface{})
139+
for key, value := range values {
140+
switch v := value.(type) {
141+
case map[string]interface{}:
142+
newValues[key] = maskValues(v)
143+
case string:
144+
if sensitiveKeys[key] {
145+
newValues[key] = "***"
146+
} else {
147+
newValues[key] = value
148+
}
149+
default:
150+
newValues[key] = value
151+
}
152+
}
153+
return newValues
154+
}

0 commit comments

Comments
 (0)