vagrant-em-demos 0.1.2 → 0.1.3
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.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f4a5fd66288ee40ae7d33f431cddf6fb61c3774a245819b2283787da1fe41703
|
4
|
+
data.tar.gz: ea221549e9633223c828483fd03bb47d1122de446c6c2065f7a8343f5fb22413
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ebd25994d52628f7e8ba12888575f0f50028a9223b5e691deeceb20deb52737f535286b803a611c8ca9bf24018867f7316f8e6eecb7dc9b09340a0f2d352ab8f
|
7
|
+
data.tar.gz: e3307eb2d5d9038c2fa97055f48d2659f3566d1a1fd853806750b15692693eab3bc4fa4f5c2cb0204a81e01d970417f4ea5561539ff4097166c0ffe7075024c0
|
@@ -23,10 +23,11 @@ module Vagrant
|
|
23
23
|
configure_networking(@config, @vm, @model)
|
24
24
|
if @model.protocol == "ssh"
|
25
25
|
add_inline_shell_provisioner(hosts_file(@models, "linux"),"hosts_file")
|
26
|
+
add_inline_shell_provisioner(facter_overrides(@model.custom_facts, "linux"), 'facter_overrides') if @model.custom_facts
|
26
27
|
else
|
27
28
|
add_inline_shell_provisioner(hosts_file(@models, "windows"),"hosts_file")
|
29
|
+
facter_overrides(@model.custom_facts, "windows") if @model.custom_facts
|
28
30
|
end
|
29
|
-
add_inline_shell_provisioner(facter_overrides(@model.custom_facts, "linux"), 'facter_overrides') if @model.custom_facts
|
30
31
|
end
|
31
32
|
|
32
33
|
# Return a shell command that ensures that all vagrant hosts are in /etc/hosts
|
@@ -51,26 +52,54 @@ module Vagrant
|
|
51
52
|
end
|
52
53
|
commands << "echo 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 >> /etc/hosts"
|
53
54
|
else
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
55
|
+
# Create a PowerShell script with all commands
|
56
|
+
script_content = <<-EOT
|
57
|
+
# Remove existing 127.0.*.1 entries
|
58
|
+
$content = Get-Content 'C:\\Windows\\System32\\drivers\\etc\\hosts'
|
59
|
+
$newContent = $content | Where-Object { $_ -notmatch '127\\.0\\..*\\.1.*' }
|
60
|
+
$newContent | Set-Content 'C:\\Windows\\System32\\drivers\\etc\\hosts'
|
61
|
+
EOT
|
62
|
+
|
63
|
+
# Add each VM host entry
|
64
|
+
vms.each do |vm|
|
65
|
+
hostname = vm.hostname
|
66
|
+
domain = vm.domain_name
|
67
|
+
fqdn = "#{hostname}.#{domain}"
|
68
|
+
if vm.ipaddress
|
69
|
+
script_content += <<-EOT
|
70
|
+
# Add entry for #{fqdn}
|
71
|
+
if (-not (Select-String -Path 'C:\\Windows\\System32\\drivers\\etc\\hosts' -Pattern '#{fqdn}' -Quiet)) {
|
72
|
+
Add-Content -Path 'C:\\Windows\\System32\\drivers\\etc\\hosts' -Value '#{vm.ipaddress} #{fqdn} #{hostname}'
|
73
|
+
}
|
74
|
+
EOT
|
75
|
+
end
|
76
|
+
|
77
|
+
# Add additional hosts
|
78
|
+
vm.additional_hosts&.each do |host|
|
79
|
+
fqdn = "#{host.name}.#{host.domain_name}"
|
80
|
+
script_content += <<-EOT
|
81
|
+
# Add entry for #{fqdn}
|
82
|
+
if (-not (Select-String -Path 'C:\\Windows\\System32\\drivers\\etc\\hosts' -Pattern '#{fqdn}' -Quiet)) {
|
83
|
+
Add-Content -Path 'C:\\Windows\\System32\\drivers\\etc\\hosts' -Value '#{host.ip} #{fqdn} #{host.name}'
|
84
|
+
}
|
85
|
+
EOT
|
65
86
|
end
|
66
|
-
|
67
|
-
|
87
|
+
end
|
88
|
+
# Add localhost entry at the end
|
89
|
+
script_content += <<-EOT
|
90
|
+
# Add localhost entry
|
91
|
+
Add-Content -Path 'C:\\Windows\\System32\\drivers\\etc\\hosts' -Value '127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4'
|
92
|
+
EOT
|
93
|
+
|
94
|
+
# Set the commands to just run this script
|
95
|
+
commands = script_content
|
68
96
|
end
|
69
97
|
commands
|
70
98
|
end
|
71
99
|
|
72
100
|
def add_inline_shell_provisioner(command, name=nil, env = nil)
|
73
101
|
provisioner = {shell: {inline: command}}
|
102
|
+
provisioner[:shell][:privileged] = true
|
74
103
|
provisioner[:shell][:env] = env if env
|
75
104
|
provisioner[:shell][:name] = name if name
|
76
105
|
@provisioners << provisioner
|
@@ -99,8 +128,9 @@ module Vagrant
|
|
99
128
|
facter_overrides = facts.map { |key, value| "export FACTER_#{key}=\\\"#{value}\\\"" }.join('\n')
|
100
129
|
'echo -e "' + facter_overrides + '" > /etc/profile.d/facter_overrides.sh'
|
101
130
|
else
|
102
|
-
|
103
|
-
|
131
|
+
facts.each do |key, value|
|
132
|
+
add_inline_shell_provisioner("[Environment]::SetEnvironmentVariable(\"FACTER_#{key}\", \"#{value}\", \"Machine\")")
|
133
|
+
end
|
104
134
|
end
|
105
135
|
end
|
106
136
|
|
@@ -20,14 +20,11 @@ module Vagrant
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def setup_windows
|
23
|
-
|
24
|
-
|
25
|
-
add_shell_script_provisioner(
|
26
|
-
|
27
|
-
|
28
|
-
cd c:\\vagrant\\vm-scripts
|
29
|
-
.\\setup_puppet.ps1
|
30
|
-
iex "& 'C:\\Program Files\\Puppet Labs\\Puppet\\bin\\puppet' resource service puppet ensure=stopped"))
|
23
|
+
configure_synced_folders(@config, @vm, @model, @model.mount_uid, @model.mount_gid)
|
24
|
+
facter_overrides(@model.custom_facts, "windows") if @model.custom_facts
|
25
|
+
add_shell_script_provisioner("install_puppet.ps1", [], environment_variables)
|
26
|
+
add_shell_script_provisioner("setup_puppet.ps1", [], environment_variables)
|
27
|
+
add_shell_script_provisioner("stop_puppet_service.ps1", [], environment_variables)
|
31
28
|
add_puppet_provisioner(["vm", "c:\\vagrant\\manifests"], "site.pp", "--test")
|
32
29
|
end
|
33
30
|
|
@@ -0,0 +1 @@
|
|
1
|
+
iex "& 'C:\\Program Files\\Puppet Labs\\Puppet\\bin\\puppet' resource service puppet ensure=stopped"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-em-demos
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Enterprise Modules
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-02-
|
11
|
+
date: 2025-02-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: vagrant
|
@@ -85,7 +85,7 @@ files:
|
|
85
85
|
- vm-scripts/run_puppet.ps1
|
86
86
|
- vm-scripts/setup_puppet.ps1
|
87
87
|
- vm-scripts/setup_puppet.sh
|
88
|
-
- vm-scripts/
|
88
|
+
- vm-scripts/stop_puppet_service.ps1
|
89
89
|
homepage: https://github.com/enterprisemodules/vagrant-em-demos
|
90
90
|
licenses:
|
91
91
|
- MIT
|
@@ -107,7 +107,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
107
107
|
- !ruby/object:Gem::Version
|
108
108
|
version: '0'
|
109
109
|
requirements: []
|
110
|
-
rubygems_version: 3.5.
|
110
|
+
rubygems_version: 3.5.16
|
111
111
|
signing_key:
|
112
112
|
specification_version: 4
|
113
113
|
summary: Custom provisioning Enterprise Modules demo's
|
@@ -1 +0,0 @@
|
|
1
|
-
# To be implemented
|