Only redact the non-sensitive bits of build args and env vars.
* `-e [REDACTED]` → `-e SOME_SECRET=[REDACTED]` * Replaces `Utils.redact` with `Utils.sensitive` to clarify that we're indicating redactability, not actually performing redaction. * Redacts from YAML output, including `mrsk config` (fixes #96)
This commit is contained in:
19
lib/mrsk/utils/sensitive.rb
Normal file
19
lib/mrsk/utils/sensitive.rb
Normal file
@@ -0,0 +1,19 @@
|
||||
require "active_support/core_ext/module/delegation"
|
||||
|
||||
class Mrsk::Utils::Sensitive
|
||||
# So SSHKit knows to redact these values.
|
||||
include SSHKit::Redaction
|
||||
|
||||
attr_reader :unredacted, :redaction
|
||||
delegate :to_s, to: :unredacted
|
||||
delegate :inspect, to: :redaction
|
||||
|
||||
def initialize(value, redaction: "[REDACTED]")
|
||||
@unredacted, @redaction = value, redaction
|
||||
end
|
||||
|
||||
# Sensitive values won't leak into YAML output.
|
||||
def encode_with(coder)
|
||||
coder.represent_scalar nil, redaction
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user