module Bosh::Workspace::ReleaseHelper

Public Instance Methods

project_deployment_releases() click to toggle source
# File lib/bosh/workspace/helpers/release_helper.rb, line 25
def project_deployment_releases
  project_deployment.releases.map do |r|
    Release.new(r, releases_dir, credentials_callback, offline: offline?)
  end
end
release_upload(manifest_file, release_dir) click to toggle source
# File lib/bosh/workspace/helpers/release_helper.rb, line 14
def release_upload(manifest_file, release_dir)
  release_tarball = create_release(manifest_file, release_dir)
  upload_release_cmd.upload(release_tarball)
end
release_upload_from_url(release_url) click to toggle source
# File lib/bosh/workspace/helpers/release_helper.rb, line 10
def release_upload_from_url(release_url)
  upload_release_cmd.upload(release_url)
end
release_uploaded?(name, version) click to toggle source
# File lib/bosh/workspace/helpers/release_helper.rb, line 5
def release_uploaded?(name, version)
  remote_release = director.get_release(name) rescue nil
  remote_release && remote_release["versions"].include?(version.to_s)
end
releases_dir() click to toggle source
# File lib/bosh/workspace/helpers/release_helper.rb, line 19
def releases_dir
  @releases_dir ||= begin
    FileUtils.mkdir_p(File.join(work_dir, ".releases")).first
  end
end

Private Instance Methods

create_release(release_manifest, release_dir) click to toggle source
# File lib/bosh/workspace/helpers/release_helper.rb, line 33
def create_release(release_manifest, release_dir)
  release_tarball = release_manifest.sub('yml', 'tgz')
  return release_tarball if File.exist?(release_tarball)
  err "Final release tarball missing: #{release_tarball}" if offline?
  create_release_cmd(release_dir).create(release_manifest)
  release_tarball
end
create_release_cmd(release_dir) click to toggle source
# File lib/bosh/workspace/helpers/release_helper.rb, line 53
def create_release_cmd(release_dir)
  Bosh::Cli::Command::Release::CreateRelease.new.tap do |r|
    r.add_option(:with_tarball, true)
    r.add_option(:dir, release_dir)
  end
end
credentials_callback() click to toggle source
# File lib/bosh/workspace/helpers/release_helper.rb, line 41
def credentials_callback
  @callback ||= GitCredentialsProvider.new(credentials_file).callback
end
credentials_file() click to toggle source
# File lib/bosh/workspace/helpers/release_helper.rb, line 45
def credentials_file
  File.join(work_dir, '.credentials.yml')
end
upload_release_cmd() click to toggle source
# File lib/bosh/workspace/helpers/release_helper.rb, line 49
def upload_release_cmd
  Bosh::Cli::Command::Release::UploadRelease.new
end