Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions .gitignore

This file was deleted.

23 changes: 23 additions & 0 deletions README.markdown
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
Puppet Module for the Electric Flow 6.0 installation

NOTE:

This module is now supporting

1) Windows for Server installation
2) Windows, SLES and Ubuntu for Agent installation


The module is installing the Electric Flow Server, the web server and the Repository is three different servers

The Electric Flow version installed it depends on the .exe file included in the files folder

For installation set the variable $ef_install.

$ef_install = true the module install Electric Flow
$ef_install = false the module uninstall Electric Flow


The Module works best with the Roles/Profiles pattern

The module uses Hiera for getting some of the Parameters values
14 changes: 0 additions & 14 deletions README.md

This file was deleted.

2 changes: 2 additions & 0 deletions Rakefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
require 'rubygems'
require 'puppetlabs_spec_helper/rake_tasks'
99 changes: 99 additions & 0 deletions manifests/agent/install.pp
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
# Class: electricflow::agent::install
#
# This fiel manage the installation of the agent only
#
# Parameters:
#
# Actions:
#
# Requires: see Modulefile
#
# Sample Usage:
#
class electricflow::agent::install (

$ef_package_name = $electricflow::params::ef_package_name,
$ef_exe_path = $electricflow::params::ef_exe_path,
$ef_install_provider = $electricflow::params::provider,
$ef_install_agent_list_options = $electricflow::params::ef_install_agent_list_options,
$ef_operatingsystem = $electricflow::params::ef_operatingsystem,
$ef_creates_file = $electricflow::params::ef_creates_file,
$ef_user_name = $electricflow::params::ef_user_name

) inherits ::electricflow::params {

include electricflow::base


notify { 'Start Electric Flow agent installation!!!':}

case $ef_operatingsystem {
'windows': {
#Package name must match name in Control Panel --> Programs and Features
#https://docs.puppetlabs.com/puppet/3.6/reference/resources_package_windows.html#package-name-must-be-the-displayname
package { $ef_package_name:
ensure => present,
provider => $ef_install_provider,
source => $ef_exe_path,
install_options => $ef_install_agent_list_options,
require => File[$ef_exe_path],
}
}
'Ubuntu': {

$ef_exec_command = "${ef_exe_path}${ef_install_agent_list_options}"
$ef_install_exec_name = 'install electric flow'
$ef_release = $::operatingsystemmajrelease
$ef_hardware = $::hardwaremodel

user { $ef_user_name:
ensure => 'present',
require => File[$ef_exe_path],
}

package { 'lib32bz2-1.0':
ensure => 'installed',
require => User[$ef_user_name],
}

package { 'libuuid1:i386':
ensure => 'installed',
require => Package['lib32bz2-1.0'],
}


exec { $ef_install_exec_name:
command => "sudo ${ef_exec_command}",
creates => $ef_creates_file,
path => $::path,
require => Package['libuuid1:i386'],
}


}
'SLES': {

$ef_exec_command = "${ef_exe_path}${ef_install_agent_list_options}"
$ef_install_exec_name = 'install electric flow'
$ef_release = $::operatingsystemmajrelease
$ef_hardware = $::hardwaremodel

user { $ef_user_name:
ensure => 'present',
require => File[$ef_exe_path],
}

exec { $ef_install_exec_name:
command => "sudo ${ef_exec_command}",
creates => $ef_creates_file,
path => $::path,
require => User[$ef_user_name],
}
}
default: {
# code
}
}


}
34 changes: 34 additions & 0 deletions manifests/agent/setup.pp
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Class: electricflow::agent::setup
#
# This file manage the setup of the agent only
#
# Parameters:
#
# Actions:
#
# Requires: see Modulefile
#
# Sample Usage:
#

class electricflow::agent::setup (

$ef_install = $electricflow::params::ef_install,


) inherits ::electricflow::params {


if $ef_install {

include ::electricflow::agent::install

}

else {

include ::electricflow::uninstall

}

}
66 changes: 66 additions & 0 deletions manifests/artifactrepo/install.pp
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# Class: electricflow::artifactrepo::install
#
# This file manage the installation of the artifact repository and agent only
#
# Parameters:
#
# Actions:
#
# Requires: see Modulefile
#
# Sample Usage:
#

class electricflow::artifactrepo::install (

$ef_package_name = $electricflow::params::ef_package_name,
$ef_exe_path = $electricflow::params::ef_exe_path,
$ef_user_name = $electricflow::params::ef_user_name,
$ef_user_passwd = $electricflow::params::ef_user_passwd,
$ef_remote_server = $electricflow::params::ef_remote_server,
$ef_domain = $electricflow::params::ef_domain,
$ef_admin_user_name = $electricflow::params::ef_admin_user_name,
$ef_admin_user_passwd = $electricflow::params::ef_admin_user_passwd

) inherits ::electricflow::params {

include electricflow::base

notify { 'Start Electric Flow artifact repository installation!!!':}

#Package name must match name in Control Panel --> Programs and Features
#https://docs.puppetlabs.com/puppet/3.6/reference/resources_package_windows.html#package-name-must-be-the-displayname
package { $ef_package_name:
ensure => present,
provider => windows,
source => $ef_exe_path,
install_options => [
'--mode',
'silent',
'--installRepository',
'--installAgent',
'--windowsAgentUser',
$ef_user_name,
'--windowsAgentDomain',
$ef_domain,
'--windowsAgentPassword',
$ef_user_passwd,
'--windowsServerUser',
$ef_user_name,
'--windowsServerDomain',
$ef_domain,
'--windowsServerPassword',
$ef_user_passwd,
'--remoteServerDiscoverPlugins',
'--remoteServer',
$ef_remote_server,
'--remoteServerUser',
$ef_admin_user_name,
'--remoteServerPassword',
$ef_admin_user_passwd,
'--trustedAgent'
],
require => File[$ef_exe_path],
}

}
34 changes: 34 additions & 0 deletions manifests/artifactrepo/setup.pp
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Class: electricflow::artifactrepo::setup
#
# This file manage the setup of the artifact repository and agent only
#
# Parameters:
#
# Actions:
#
# Requires: see Modulefile
#
# Sample Usage:
#

class electricflow::artifactrepo::setup (

$ef_install = $electricflow::params::ef_install,


) inherits ::electricflow::params {


if $ef_install {

include ::electricflow::artifactrepo::install

}

else {

include ::electricflow::uninstall

}

}
39 changes: 39 additions & 0 deletions manifests/base.pp
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Class: electricflow::base
#
# This module manages base setup for electric flow
#
# Parameters:
#
# Actions:
#
# Requires: see Modulefile
#
# Sample Usage:
#


class electricflow::base (

$temp_path = $electricflow::params::temp_path,
$ef_exe_path = $electricflow::params::ef_exe_path,
$ef_file_replace = $electricflow::params::ef_file_replace,
$ef_source_path = $electricflow::params::ef_source_path

) inherits ::electricflow::params{

notify { 'Create Installation Folder!!!': }

#copy installer
file { $temp_path:
ensure => directory
}

file { $ef_exe_path:
ensure => present,
replace => $ef_file_replace ,
source => $ef_source_path,
mode => '0777',
require => File[$temp_path],
}

}
19 changes: 19 additions & 0 deletions manifests/init.pp
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Class: electricflow
#
# This module manages electricflow
#
# Parameters: none
#
# Actions:
#
# Requires: see Modulefile
#
# Sample Usage:
#


class electricflow

{

}
Loading