Sha256: 977a10504984f3630e02fc0c3163960c67208a7aa85bac237aeb525466c6f4cf

Contents?: true

Size: 620 Bytes

Versions: 1

Compression:

Stored size: 620 Bytes

Contents

# frozen_string_literal: true

class Kraaken::Config
  def credentials
    @credentials ||= Kraaken::Credentials::OnePassword.new
  end

  def cloud
    @cloud ||= Kraaken::Cloud::Hetzner.new(config: self)
  end

  def ssh
    @ssh ||= Kraaken::Ssh.new(config: self)
  end

  def ingress
    @ingress ||= Kraaken::Cloudflare.new(config: self)
  end

  def logger
    @logger ||= Kraaken::Logger.new
  end

  def load_template(name, **locals)
    locals[:config] = self
    name = File.expand_path("../config/#{name}", __dir__) unless name.start_with?("/")
    ERB.new(File.read(name)).result_with_hash(locals)
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
kraaken-0.0.1 lib/kraaken/config.rb