class KubeSecretsEncode::Command
Public Class Methods
usage_name()
click to toggle source
# File lib/kube_secrets_encode.rb, line 41 def self.usage_name "kube_secrets" end
Public Instance Methods
call()
click to toggle source
kube_secrets enables you to encode and decode the base64 encoding of secrets in place within your config files making it easier to modify them.
# File lib/kube_secrets_encode.rb, line 46 def call() documents = [] if file && File.exists?(file) YAML.load_stream(File.open(file)) do |document| if document["kind"] == "Secret" if document["data"] document["data"].each do |k,v| if decode? document["data"][k] = Base64.strict_decode64(v) else document["data"][k] = Base64.strict_encode64(v) end end end end documents << document end yaml = documents.map{|d| d.to_yaml}.join puts yaml if yes? File.open(file, 'w') { |file| file.write(yaml) } end else cli.show_help end exit end
decode=(bool)
click to toggle source
switch from default encode to decode mode
# File lib/kube_secrets_encode.rb, line 27 def decode=(bool) @decode = bool end
decode?()
click to toggle source
# File lib/kube_secrets_encode.rb, line 30 def decode? @decode end
file()
click to toggle source
# File lib/kube_secrets_encode.rb, line 15 def file @file end
file=(filename)
click to toggle source
filename of file being encoded or decoded
# File lib/kube_secrets_encode.rb, line 12 def file=(filename) @file = filename end
help?()
click to toggle source
Show this message.
# File lib/kube_secrets_encode.rb, line 35 def help? cli.show_help exit end
Also aliased as: h?
yes=(bool)
click to toggle source
enables write after decode or encode
# File lib/kube_secrets_encode.rb, line 20 def yes=(bool) @yes = bool end
yes?()
click to toggle source
# File lib/kube_secrets_encode.rb, line 23 def yes? @yes end