class Admiral::Layers::AdmiralSvnPuppetManifest
Public Class Methods
new(config, ipaddress)
click to toggle source
Calls superclass method
Admiral::LayerBase::new
# File lib/admiral/layers/admiral.svn.puppet.manifest.rb, line 9 def initialize(config, ipaddress) description = "Retrieving manifest from SVN" super(description, config, ipaddress) add_parameter('svn_manifest_base_url', 'Root URL where are located the manifests in SVN (ex: https://domain.com/puppet-manifests)') add_parameter('manifest_source', 'Path after the root URL (ex: production)') add_parameter('svn_user', 'Username for SVN') add_parameter('svn_password', 'Password for SVN') end
Public Instance Methods
do_action()
click to toggle source
# File lib/admiral/layers/admiral.svn.puppet.manifest.rb, line 19 def do_action manifest_source = @config['manifest_source'] manifests_dir = '/var/lib/puppet/manifests' svn_manifest_base_url = @config['svn_manifest_base_url'] svn_user = @config['svn_user'] svn_password = @config['svn_password'] cmd = "svn co --non-interactive --no-auth-cache #{svn_manifest_base_url}/#{manifest_source} #{manifests_dir} --username=#{svn_user} --password=#{svn_password}" rc = run_ssh_command(cmd) return (rc == 0) end