class HelmWrapper::Tasks::Push
Public Class Methods
new(binary:, chart:) { |self| ... }
click to toggle source
# File lib/helm-wrapper/tasks/push.rb, line 24 def initialize(binary:, chart:) @binary = binary @chart = chart yield self if block_given? push_task end
Public Instance Methods
push_task()
click to toggle source
# File lib/helm-wrapper/tasks/push.rb, line 35 def push_task desc "Pushes a Helm chart to an OCI Helm repository." task :push, [:tag, :clean] => :binary do |t, args| tag = (args[:tag].kind_of?(String) and (not args[:tag].strip.empty?)) ? args[:tag].strip : "latest" clean = args[:clean].kind_of?(String) ? args[:clean].downcase == "true" : true runner = HelmWrapper::Shared::Runner.new(binary: @binary, chart: @chart) logger.info("Running Helm push for path: #{@chart.path}...") begin runner.init_repos runner.save(tag: tag) runner.push(tag: tag) ensure runner.clean(repos: clean) end end end