summaryrefslogtreecommitdiff
path: root/puppet/modules/leap/manifests/cli/install.pp
blob: 858bd7daf9e0a6071c27f47f2aeb3ddb2e5c661e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# installs leap_cli on node
class leap::cli::install ( $source = false ) {
  if $source {
    # needed for building leap_cli from source
    include ::git
    include ::site_config::ruby::dev

    vcsrepo { '/srv/leap/cli':
      ensure   => present,
      force    => true,
      revision => 'develop',
      provider => 'git',
      source   => 'https://leap.se/git/leap_cli.git',
      owner    => 'root',
      group    => 'root',
      notify   => Exec['install_leap_cli'],
      require  => Package['git']
    }

    exec { 'install_leap_cli':
      command     => '/usr/bin/rake build && /usr/bin/rake install',
      cwd         => '/srv/leap/cli',
      refreshonly => true,
      require     => [ Package['ruby-dev'], File['/etc/gemrc'], Package['rake'] ]
    }
  }
  else {
    package { 'leap_cli':
      ensure   => installed,
      provider => gem
    }
  }
}