Sha256: 8f4d6733dc680f2254c6073bf9e7ca80d8cce2871d9ad186eb42b147c293bfed

Contents?: true

Size: 603 Bytes

Versions: 13

Compression:

Stored size: 603 Bytes

Contents

require 'digest'

module Kubes::Compiler::Decorator::Resources
  class Secret < Base
    include Kubes::Compiler::Util::YamlDump

    def perform
      # even though name is required, will allow logic to get the kubectl apply and kubectl to surface the required name error
      name = @data.dig('metadata','name')
      return @data unless name

      md5 = md5(@data)
      @data['metadata']['name'] = "#{name}-#{md5}"
      Kubes::Compiler::Decorator.store(name, md5)
      @data
    end

    def md5(data)
      content = yaml_dump(data)
      Digest::MD5.hexdigest(content)[0..9]
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
kubes-0.3.5 lib/kubes/compiler/decorator/resources/secret.rb
kubes-0.3.4 lib/kubes/compiler/decorator/resources/secret.rb
kubes-0.3.3 lib/kubes/compiler/decorator/resources/secret.rb
kubes-0.3.2 lib/kubes/compiler/decorator/resources/secret.rb
kubes-0.3.1 lib/kubes/compiler/decorator/resources/secret.rb
kubes-0.3.0 lib/kubes/compiler/decorator/resources/secret.rb
kubes-0.2.6 lib/kubes/compiler/decorator/resources/secret.rb
kubes-0.2.5 lib/kubes/compiler/decorator/resources/secret.rb
kubes-0.2.4 lib/kubes/compiler/decorator/resources/secret.rb
kubes-0.2.3 lib/kubes/compiler/decorator/resources/secret.rb
kubes-0.2.2 lib/kubes/compiler/decorator/resources/secret.rb
kubes-0.2.1 lib/kubes/compiler/decorator/resources/secret.rb
kubes-0.2.0 lib/kubes/compiler/decorator/resources/secret.rb