Sha256: f88163a3d8cf2d4970e3c0e2ddcce51dca9e87f4c7cccf88eaccb8ba423207d9

Contents?: true

Size: 667 Bytes

Versions: 6

Compression:

Stored size: 667 Bytes

Contents

module Kontena::Cli::Vault
  class ExportCommand < Kontena::Command
    include Kontena::Cli::Common
    include Kontena::Cli::GridOptions

    banner "Exports secrets from Vault to STDOUT as YAML or JSON."

    requires_current_master

    option '--json', :flag, "Output JSON"

    def execute
      require 'shellwords'
      require 'json'
      require "safe_yaml"
      SafeYAML::OPTIONS[:default_mode] = :safe
      meth = json? ? :to_json : :to_yaml
      puts(
        Kontena.run!(['vault', 'ls', '--return']).sort.map do |secret|
          [secret, Kontena.run!(['vault', 'read', '--return', secret])]
        end.to_h.send(meth)
      )
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
kontena-cli-1.3.0 lib/kontena/cli/vault/export_command.rb
kontena-cli-1.3.0.rc4 lib/kontena/cli/vault/export_command.rb
kontena-cli-1.3.0.rc3 lib/kontena/cli/vault/export_command.rb
kontena-cli-1.3.0.rc2 lib/kontena/cli/vault/export_command.rb
kontena-cli-1.3.0.rc1 lib/kontena/cli/vault/export_command.rb
kontena-cli-1.3.0.pre2 lib/kontena/cli/vault/export_command.rb