class Bosh::Deployer::MicroboshJobInstance
Attributes
blobstore_options[R]
logger[R]
spec[R]
Public Class Methods
new(blobstore_ip, mbus, logger)
click to toggle source
# File lib/bosh/deployer/microbosh_job_instance.rb, line 9 def initialize(blobstore_ip, mbus, logger) @logger = logger uri = URI.parse(mbus) user, password = uri.userinfo.split(':', 2) uri.userinfo = '' uri.host = blobstore_ip uri.path = '/blobs' @blobstore_options = { 'endpoint' => uri.to_s, 'user' => user, 'password' => password, 'ssl_no_verify' => true, } end
Public Instance Methods
render_templates(spec)
click to toggle source
# File lib/bosh/deployer/microbosh_job_instance.rb, line 25 def render_templates(spec) blobstore = Bosh::Blobstore::DavBlobstoreClient.new(blobstore_options) templates = spec['job']['templates'].map do |template| JobTemplate.new(template, blobstore) end job_template_loader = Bosh::Director::Core::Templates::JobTemplateLoader.new(logger) job_instance_renderer = Bosh::Director::Core::Templates::JobInstanceRenderer.new(templates, job_template_loader) rendered_job_instance = job_instance_renderer.render(spec) rendered_templates_archive = rendered_job_instance.persist(blobstore) spec.merge( 'rendered_templates_archive' => rendered_templates_archive.spec, 'configuration_hash' => rendered_job_instance.configuration_hash, ) rescue JobTemplate::FetchError logger.debug('skipping rendering since the agent appears to be ruby') spec end