$install_dir = "/opt" $zookeeper_home = "${install_dir}/zookeeper" $solr_home = "${install_dir}/solr" $user = "htrc" $group = "solr" $zookeeper_master = '10.11.0.51' $solr_1 = '10.11.0.53' $solr_2 = '10.11.0.54' $solr_3 = '10.11.0.55' include zookeeper include solr file { "/home/${user}": ensure => "directory", owner => "${user}", group => "${group}", mode => 700, require => [ User["${user}"], Group["${group}"] ], } group { "${group}": ensure => "present", } user { "${user}": ensure => "present", home => "/home/${user}", name => "${user}", shell => "/bin/bash", managehome => true, gid => $group } #sudo add-apt-repository ppa:webupd8team/java #sudo apt-get update #sudo apt-get install oracle-java8-installer #echo debconf shared/accepted-oracle-license-v1-1 select true | \ # sudo debconf-set-selections #echo debconf shared/accepted-oracle-license-v1-1 seen true | \ # sudo debconf-set-selections exec { 'add-apt-repository': command => '/usr/bin/add-apt-repository ppa:webupd8team/java -y && \ echo debconf shared/accepted-oracle-license-v1-1 select true | /usr/bin/debconf-set-selections && \ echo debconf shared/accepted-oracle-license-v1-1 seen true | /usr/bin/debconf-set-selections' } exec { 'apt-get update': command => '/usr/bin/apt-get update', require => [ Exec['add-apt-repository'], File["/home/${user}"] ] } package { "oracle-java8-installer" : ensure => present, require => [ Exec['apt-get update'], File["/home/${user}"] ] } #package { "subversion" : # ensure => present, # require => [ Exec['apt-get update'], File["/home/${user}"] ] #} #package { "maven" : # ensure => present, # require => [ Exec['apt-get update'], File["/home/${user}"] ] #} file { "/home/${user}/.ssh": ensure => "directory", owner => "${user}", group => "${group}", mode => 750, require => [ Exec['apt-get update'], File["/home/${user}"] ] } file { "/home/${user}/.ssh/id_rsa": source => "puppet:///modules/zookeeper/id_rsa", ensure => present, mode => 600, owner => $user, group => $group, require => File["/home/${user}/.ssh"] } file { "/home/${user}/.ssh/id_rsa.pub": source => "puppet:///modules/zookeeper/id_rsa.pub", ensure => present, mode => 644, owner => $user, group => $group, require => File["/home/${user}/.ssh"] } ssh_authorized_key { "ssh_key": ensure => "present", key => "AAAAB3NzaC1yc2EAAAADAQABAAABAQCeHdBPVGuSPVOO+n94j/Y5f8VKGIAzjaDe30hu9BPetA+CGFpszw4nDkhyRtW5J9zhGKuzmcCqITTuM6BGpHax9ZKP7lRRjG8Lh380sCGA/691EjSVmR8krLvGZIQxeyHKpDBLEmcpJBB5yoSyuFpK+4RhmJLf7ImZA7mtxhgdPGhe6crUYRbLukNgv61utB/hbre9tgNX2giEurBsj9CI5yhPPNgq6iP8ZBOyCXgUNf37bAe7AjQUMV5G6JMZ1clEeNPN+Uy5Yrfojrx3wHfG40NuxuMrFIQo5qCYa3q9/SVOxsJILWt+hZ2bbxdGcQOd9AXYFNNowPayY0BdAkSr", type => "ssh-rsa", user => "${user}", require => File["/home/${user}/.ssh/id_rsa.pub"] } file{ "/home/${user}/.ssh/config": owner => "${user}", group => "${group}", mode => 755, content => "StrictHostKeyChecking no", require => File["/home/${user}/.ssh/id_rsa.pub"] } file { "/home/${user}/.bashrc": source => "puppet:///modules/zookeeper/bashrc", ensure => present, mode => 644, owner => $user, group => $group, require => File["/home/${user}"] } file { "/home/${user}/.bash_profile": source => "puppet:///modules/zookeeper/bash_profile", ensure => present, mode => 644, owner => $user, group => $group, require => File["/home/${user}"] } host { 'solr1': ip => "${solr_1}", } host { 'solr2': ip => "${solr_2}", } host { 'solr3': ip => "${solr_3}", } host { 'zookeeper': ip => "${zookeeper_master}", }