vagrant-em-demos 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. checksums.yaml +7 -0
  2. data/code/environments/plugin/hiera.yaml +17 -0
  3. data/code/environments/plugin/hieradata/deployment_zones/vagrant.yaml +1 -0
  4. data/code/environments/plugin/hieradata/nodes/puppetserver.yaml +2 -0
  5. data/code/environments/plugin/manifests/site.pp +14 -0
  6. data/code/environments/plugin/modules/profile/manifests/base/config.pp +11 -0
  7. data/code/environments/plugin/modules/profile/manifests/base/hosts.pp +13 -0
  8. data/code/environments/plugin/modules/profile/manifests/base/packages.pp +13 -0
  9. data/code/environments/plugin/modules/profile/manifests/base/vagrant.pp +39 -0
  10. data/code/environments/plugin/modules/profile/manifests/base.pp +8 -0
  11. data/code/environments/plugin/modules/profile/manifests/puppetserver.pp +20 -0
  12. data/code/environments/plugin/modules/role/manifests/puppet_enterprise.pp +1 -0
  13. data/code/environments/plugin/modules/role/manifests/puppetserver.pp +7 -0
  14. data/lib/vagrant/em/demos/Vagrantfile.rb +42 -0
  15. data/lib/vagrant/em/demos/adress_manager.rb +44 -0
  16. data/lib/vagrant/em/demos/command/cleanup.rb +29 -0
  17. data/lib/vagrant/em/demos/command/prepare.rb +35 -0
  18. data/lib/vagrant/em/demos/config.rb +20 -0
  19. data/lib/vagrant/em/demos/config_reader.rb +118 -0
  20. data/lib/vagrant/em/demos/defaults.yaml +54 -0
  21. data/lib/vagrant/em/demos/errors.rb +15 -0
  22. data/lib/vagrant/em/demos/models.rb +97 -0
  23. data/lib/vagrant/em/demos/plugin.rb +40 -0
  24. data/lib/vagrant/em/demos/types/agent.rb +26 -0
  25. data/lib/vagrant/em/demos/types/base.rb +333 -0
  26. data/lib/vagrant/em/demos/types/masterless.rb +37 -0
  27. data/lib/vagrant/em/demos/types/pe_agent.rb +33 -0
  28. data/lib/vagrant/em/demos/types/pe_master.rb +13 -0
  29. data/lib/vagrant/em/demos/types/ps_server.rb +16 -0
  30. data/lib/vagrant/em/demos/version.rb +9 -0
  31. data/lib/vagrant/em/demos.rb +12 -0
  32. data/vm-scripts/install_modules.ps1 +9 -0
  33. data/vm-scripts/install_puppet.ps1 +22 -0
  34. data/vm-scripts/install_puppet.sh +21 -0
  35. data/vm-scripts/install_puppet_agent.sh +17 -0
  36. data/vm-scripts/install_puppet_enterprise.sh +42 -0
  37. data/vm-scripts/install_puppet_server.sh +37 -0
  38. data/vm-scripts/run_puppet.ps1 +2 -0
  39. data/vm-scripts/setup_puppet.ps1 +37 -0
  40. data/vm-scripts/setup_puppet.sh +77 -0
  41. data/vm-scripts/setup_puppet_raw.ps1 +1 -0
  42. metadata +114 -0
@@ -0,0 +1,37 @@
1
+ if ([System.IO.File]::Exists("$Env:LOCALAPPDATA\setup_puppet.done")) {
2
+ Write-Output "Puppet already setup"
3
+ } else {
4
+ #
5
+ # Install R10K. We need this to download the correct set of puppet modules
6
+ #
7
+ Write-Output 'Installing required gems...'
8
+ Invoke-Expression "& 'c:\Program Files\Puppet Labs\Puppet\puppet\bin\gem.bat' install r10k"
9
+ Write-Output 'Installing required gems finished'
10
+
11
+
12
+ Write-Output 'Installing required puppet modules...'
13
+ [System.Environment]::SetEnvironmentVariable('SSL_CERT_DIR','C:\Program Files\Puppet Labs\Puppet\puppet\ssl\certs')
14
+ [System.Environment]::SetEnvironmentVariable('SSL_CERT_FILE','C:\Program Files\Puppet Labs\Puppet\puppet\ssl\cert.pem')
15
+ Set-Location 'c:\vagrant'
16
+ $env:PATH += ';C:\Program Files\Git\bin'
17
+ Invoke-Expression "& 'c:\Program Files\Puppet Labs\Puppet\puppet\bin\r10k.bat' puppetfile install"
18
+ Write-Output 'Installing required puppet modules finished.'
19
+
20
+ #
21
+ # Setup hiera search and backend. We need this to config our systems
22
+ #
23
+ Write-Output 'Setting up hiera directories'
24
+ New-Item -Path "C:\ProgramData\PuppetLabs\code\environments\production\hieradata" -ItemType SymbolicLink -Value "c:\Vagrant\hieradata" -Force
25
+ New-Item -Path "C:\ProgramData\PuppetLabs\code\environments\production\hiera.yaml" -ItemType SymbolicLink -Value "c:\Vagrant\hiera.yaml" -Force
26
+
27
+ #
28
+ # Configure the puppet path's
29
+ #
30
+ Write-Output 'Setting up Puppet module directories'
31
+ New-Item -Path "C:\ProgramData\PuppetLabs\code\environments\production\modules" -ItemType SymbolicLink -Value "c:\Vagrant\modules" -Force
32
+
33
+ Write-Output 'Setting up Puppet manifest directories'
34
+ New-Item -Path "C:\ProgramData\PuppetLabs\code\environments\production\manifests" -ItemType SymbolicLink -Value "c:\Vagrant\manifests" -Force
35
+ Write-Output 'Puppet setup completed.'
36
+ New-Item -ItemType file $Env:LOCALAPPDATA\setup_puppet.done
37
+ }
@@ -0,0 +1,77 @@
1
+ if [ -f /var/log/setup_puppet.done ]
2
+ then
3
+ echo "Puppet already setup"
4
+ else
5
+ #
6
+ # Install R10K. We need this to download the correct set of puppet modules
7
+ #
8
+ echo 'Installing required gems'
9
+ /opt/puppetlabs/puppet/bin/gem install r10k --no-document > /dev/null # 2>&1
10
+
11
+ echo 'Installing required puppet modules'
12
+ cd /vagrant
13
+ #
14
+ # Copy netrc file if it exists
15
+ #
16
+ if [ -e /vagrant/.netrc ]
17
+ then
18
+ cp /vagrant/.netrc ~
19
+ fi
20
+ #
21
+ # Check which Puppetfile to use. If a file use_latest exists, use the
22
+ # Puppetfile_latest which by default fetches files from latest master branch
23
+ #
24
+ if [ -e /vagrant/use_latest_modules ]
25
+ then
26
+ echo "Using latest versions of modules..."
27
+ PUPPETFILE="Puppetfile_latest"
28
+ else
29
+ echo "Using released versions of modules..."
30
+ PUPPETFILE="Puppetfile"
31
+ fi
32
+ #
33
+ # Check if the Puppetfile exists before installing
34
+ #
35
+ if [ -f ${PUPPETFILE} ]; then
36
+ /opt/puppetlabs/puppet/bin/r10k puppetfile install --puppetfile ${PUPPETFILE} --force > /dev/null # 2>&1
37
+ else
38
+ echo "Warning: ${PUPPETFILE} not found. Proceeding without module installation."
39
+ fi
40
+
41
+ #
42
+ # Setup hiera search and backend. We need this to config our systems
43
+ #
44
+ echo 'Setting up hiera directories'
45
+ dirname=/etc/puppetlabs/code/environments/production/hieradata
46
+ if [ -d $dirname ]; then
47
+ rm -rf $dirname
48
+ else
49
+ rm -f $dirname
50
+ fi
51
+ ln -sf /vagrant/hieradata /etc/puppetlabs/code/environments/production
52
+ rm -f /etc/puppetlabs/code/environments/production/hiera.yaml
53
+ ln -sf /vagrant/hiera.yaml /etc/puppetlabs/code/environments/production
54
+
55
+ #
56
+ # Configure the puppet path's
57
+ #
58
+ echo 'Setting up Puppet module directories'
59
+ dirname=/etc/puppetlabs/code/environments/production/modules
60
+ if [ -d $dirname ]; then
61
+ rm -rf $dirname
62
+ else
63
+ rm -f $dirname
64
+ fi
65
+ ln -sf /vagrant/modules /etc/puppetlabs/code/environments/production
66
+
67
+ echo 'Setting up Puppet manifest directories'
68
+ dirname=/etc/puppetlabs/code/environments/production/manifests
69
+ if [ -d $dirname ]; then
70
+ rm -rf $dirname
71
+ else
72
+ rm -f $dirname
73
+ fi
74
+ ln -sf /vagrant/manifests /etc/puppetlabs/code/environments/production
75
+
76
+ touch /var/log/setup_puppet.done
77
+ fi
@@ -0,0 +1 @@
1
+ # To be implemented
metadata ADDED
@@ -0,0 +1,114 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: vagrant-em-demos
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Enterprise Modules
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2025-02-18 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: vagrant
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '2.2'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '2.2'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ description: This plugin provides custom provisioning capabilities for the Enterprise
42
+ Mopdules demo's
43
+ email:
44
+ - info@enterprisemodules.com
45
+ executables: []
46
+ extensions: []
47
+ extra_rdoc_files: []
48
+ files:
49
+ - code/environments/plugin/hiera.yaml
50
+ - code/environments/plugin/hieradata/deployment_zones/vagrant.yaml
51
+ - code/environments/plugin/hieradata/nodes/puppetserver.yaml
52
+ - code/environments/plugin/manifests/site.pp
53
+ - code/environments/plugin/modules/profile/manifests/base.pp
54
+ - code/environments/plugin/modules/profile/manifests/base/config.pp
55
+ - code/environments/plugin/modules/profile/manifests/base/hosts.pp
56
+ - code/environments/plugin/modules/profile/manifests/base/packages.pp
57
+ - code/environments/plugin/modules/profile/manifests/base/vagrant.pp
58
+ - code/environments/plugin/modules/profile/manifests/puppetserver.pp
59
+ - code/environments/plugin/modules/role/manifests/puppet_enterprise.pp
60
+ - code/environments/plugin/modules/role/manifests/puppetserver.pp
61
+ - lib/vagrant/em/demos.rb
62
+ - lib/vagrant/em/demos/Vagrantfile.rb
63
+ - lib/vagrant/em/demos/adress_manager.rb
64
+ - lib/vagrant/em/demos/command/cleanup.rb
65
+ - lib/vagrant/em/demos/command/prepare.rb
66
+ - lib/vagrant/em/demos/config.rb
67
+ - lib/vagrant/em/demos/config_reader.rb
68
+ - lib/vagrant/em/demos/defaults.yaml
69
+ - lib/vagrant/em/demos/errors.rb
70
+ - lib/vagrant/em/demos/models.rb
71
+ - lib/vagrant/em/demos/plugin.rb
72
+ - lib/vagrant/em/demos/types/agent.rb
73
+ - lib/vagrant/em/demos/types/base.rb
74
+ - lib/vagrant/em/demos/types/masterless.rb
75
+ - lib/vagrant/em/demos/types/pe_agent.rb
76
+ - lib/vagrant/em/demos/types/pe_master.rb
77
+ - lib/vagrant/em/demos/types/ps_server.rb
78
+ - lib/vagrant/em/demos/version.rb
79
+ - vm-scripts/install_modules.ps1
80
+ - vm-scripts/install_puppet.ps1
81
+ - vm-scripts/install_puppet.sh
82
+ - vm-scripts/install_puppet_agent.sh
83
+ - vm-scripts/install_puppet_enterprise.sh
84
+ - vm-scripts/install_puppet_server.sh
85
+ - vm-scripts/run_puppet.ps1
86
+ - vm-scripts/setup_puppet.ps1
87
+ - vm-scripts/setup_puppet.sh
88
+ - vm-scripts/setup_puppet_raw.ps1
89
+ homepage: https://github.com/enterprisemodules/vagrant-em-demos
90
+ licenses:
91
+ - MIT
92
+ metadata: {}
93
+ post_install_message:
94
+ rdoc_options: []
95
+ require_paths:
96
+ - lib
97
+ - vm-scripts
98
+ - code
99
+ required_ruby_version: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ required_rubygems_version: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - ">="
107
+ - !ruby/object:Gem::Version
108
+ version: '0'
109
+ requirements: []
110
+ rubygems_version: 3.5.23
111
+ signing_key:
112
+ specification_version: 4
113
+ summary: Custom provisioning Enterprise Modules demo's
114
+ test_files: []