vagrant-rke2 0.1.0 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 44cbff5c2550189bfb8d345b2c511d4ee2e15541db773ba88433c36f883d5f85
4
- data.tar.gz: 8204fe3eb22eedebd4edc1b719db57220fb183eaae5c4eae6891df5cb099b4f2
3
+ metadata.gz: 78c886a21fe07d3859076242fcb5a32e15c9c36ab63ea49fa253d9edabe7d33f
4
+ data.tar.gz: ea435d06bc44c4f1417abce3fa741ed271ee8d808ae1e7e80e477615fb215abe
5
5
  SHA512:
6
- metadata.gz: b8a7d3db19e1ab2effc97216b9469251232f3bbd1b66bc19955e72c17939a3d9974e93cc8f916e9695f835d33231c09671802664b8bd517f18b1c97dc89ee704
7
- data.tar.gz: cf0da81adf5067d9b7358531fee5208c2d62834c014223f3c1efc7760025038bd629cf720c7c3343a9457768abc49a7c4f443735c29790a5766b86b0a5972dbb
6
+ metadata.gz: 48ffee57addebb1a35058aa067b90536713bbf78ecdaefe0c2a025902af7a0c104525d71e626c4e9fc00d1e13f837b255ff8d1d19b9cbb4da69e34925c32b22f
7
+ data.tar.gz: 2cb388f448d50b54551cd09f00a2ab93690bd75170fbf8f8aeb62315372f524275ae6787e06c23eaa34551a992619eb5b5efe23182ab9bbfdb7982487f24b2ef
data/.gitignore CHANGED
@@ -6,4 +6,5 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
- .vagrant/
9
+ .vagrant/
10
+ /*.gem
data/Gemfile CHANGED
@@ -7,4 +7,5 @@ end
7
7
  # Specify your gem's dependencies in vagrant-rke2.gemspec
8
8
  group :plugins do
9
9
  gem "vagrant-rke2", path: "."
10
+ # gem "vagrant-reload", path "."
10
11
  end
data/Gemfile.lock CHANGED
@@ -28,7 +28,7 @@ GIT
28
28
  PATH
29
29
  remote: .
30
30
  specs:
31
- vagrant-rke2 (0.1.0)
31
+ vagrant-rke2 (0.1.2)
32
32
 
33
33
  GEM
34
34
  remote: https://rubygems.org/
@@ -39,8 +39,8 @@ GEM
39
39
  concurrent-ruby (1.1.9)
40
40
  ed25519 (1.2.4)
41
41
  erubi (1.10.0)
42
- excon (0.89.0)
43
- ffi (1.15.4)
42
+ excon (0.90.0)
43
+ ffi (1.15.5)
44
44
  gssapi (1.3.1)
45
45
  ffi (>= 1.0.1)
46
46
  gyoku (1.3.1)
@@ -49,7 +49,7 @@ GEM
49
49
  httpclient (2.8.3)
50
50
  i18n (1.8.11)
51
51
  concurrent-ruby (~> 1.0)
52
- listen (3.7.0)
52
+ listen (3.7.1)
53
53
  rb-fsevent (~> 0.10, >= 0.10.3)
54
54
  rb-inotify (~> 0.9, >= 0.9.10)
55
55
  little-plugger (1.1.4)
data/README.md CHANGED
@@ -1,8 +1,10 @@
1
1
  # Vagrant::RKE2
2
- This plugin was heavily inspired by the [vagrant-k3s](https://github.com/dweomer/vagrant-k3s) plugin. Check that out and give dweomer some stars.
2
+ This plugin is the companion to the [vagrant-k3s](https://github.com/k3s-io/vagrant-k3s) plugin. It makes deploying RKE2 on vagrant boxes much easier.
3
3
 
4
4
  ## Installation
5
5
 
6
+ Vagrant must be >= v2.2.17
7
+
6
8
  ```shell
7
9
  vagrant plugin install vagrant-rke2
8
10
  vagrant up --provider=<your favorite provider>
@@ -10,19 +12,93 @@ vagrant up --provider=<your favorite provider>
10
12
 
11
13
  ## Usage
12
14
 
15
+ See the [Vagrantfile](./test/Vagrantfile) for a working example.
16
+
17
+ ### Linux VMs
13
18
  ```ruby
19
+ Vagrant.require_version ">= 2.2.17"
14
20
  Vagrant.configure("2") do |config|
15
- config.vm.box = ""
21
+ config.vm.box = 'generic/ubuntu2004'
22
+
16
23
  config.vm.provision :rke2, run: "once" do |rke2|
17
-
24
+ # installer_url: can be anything that curl can access from the guest
25
+ # default =>`https://get.rke2.io`
26
+ # type => String
27
+ rke2.installer_url = 'https://get.rke2.io'
28
+
29
+ # env: environment variables to be set before invoking the installer script
30
+ # type => Array<String> || String
31
+ rke2.env = %w[INSTALL_RKE2_CHANNEL=latest INSTALL_RKE2_TYPE=server]
32
+ # or
33
+ rke2.env = <<~ENV
34
+ INSTALL_RKE2_CHANNEL=latest
35
+ INSTALL_RKE2_TYPE=server
36
+ ENV
37
+
38
+ # env_path: where to write the envvars to be sourced prior to invoking the installer script
39
+ # default => `/etc/rancher/rke2/install.env`
40
+ rke2.env_path = '/etc/rancher/rke2/install.env'
41
+ rke2.env_mode = '0600' # default
42
+ rke2.env_owner = 'root:root' #default
43
+
44
+ # config: config file content in yaml
45
+ # type => String
46
+ rke2.config = <<~YAML
47
+ disable:
48
+ - local-storage
49
+ - servicelb
50
+ YAML
51
+ # config_mode: config file permissions
52
+ # type => String
53
+ # default => `0600`
54
+ rke2.config_mode = '0644' # side-step https://github.com/k3s-io/k3s/issues/4321
55
+ rke2.config_owner = 'root:root' #default
56
+
57
+ # install_path: QOL feature, add RKE2 to the PATH and points the KUBECONFIG to rke2.yaml
58
+ # type => Boolean
59
+ # default => true
60
+ rke2.install_path = false
18
61
  end
19
62
  end
63
+ ```
64
+
65
+ ### Windows VMs
66
+ Windows setup is much more restricted. See https://docs.rke2.io/install/install_options/windows_agent_config/ for more info
67
+ ```ruby
68
+ Vagrant.require_version ">= 2.2.17"
69
+ Vagrant.configure("2") do |config|
70
+ config.vm.box = "StefanScherer/windows_2019"
71
+ config.vm.communicator = "winrm"
72
+
73
+ config.vm.provision :rke2, run: "once" do |rke2|
74
+ # installer_url: can be anything that Invoke-WebRequest can access from the guest
75
+ # default =>`https://raw.githubusercontent.com/rancher/rke2/master/install.ps1`
76
+ # type => String
77
+ rke2.installer_url = 'https://raw.githubusercontent.com/rancher/rke2/master/install.ps1'
78
+
79
+ # env: environment variables passed to the install.ps1 script
80
+ # type => Array<String> || String
81
+ rke2.env = %w[Channel=latest Method=Tar]
82
+ # or
83
+ rke2.env = "-Channel latest -Method Tar"
20
84
 
85
+ # config: config file content in yaml
86
+ # type => String
87
+ # NOTE: kube-proxy-arg: "feature-gates=IPv6DualStack=false" is currently a required config for windows
88
+ rke2.config = <<~YAML
89
+ kube-proxy-arg: "feature-gates=IPv6DualStack=false"
90
+ server: https://172.168.1.200:9345
91
+ token: vagrant-rke2
92
+ YAML
93
+ end
94
+ end
21
95
  ```
96
+
22
97
  ## Development
23
98
 
24
99
  See https://www.vagrantup.com/docs/plugins/development-basics
25
-
100
+ - `gem build`
101
+ - `VAGRANT_CWD=./test bundle exec vagrant up`
26
102
  ## Contributing
27
103
 
28
104
  Bug reports and pull requests are welcome on GitHub at https://github.com/dereknola/vagrant-rke2. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](CODE_OF_CONDUCT.md).
@@ -0,0 +1,2 @@
1
+ Write-Host "Install Containers feature"
2
+ Install-WindowsFeature -Name Containers
@@ -0,0 +1,22 @@
1
+ # !!ITEMS!! are placeholders for injecting strings via vagrant plugin
2
+ Write-Host "Downloading RKE2 installer for Windows..."
3
+ Invoke-WebRequest -Uri !!INSTALL_URL!! -Outfile install.ps1
4
+
5
+ Write-Host "Creating RKE2 configuration..."
6
+ New-Item -Type Directory C:/etc/rancher/rke2 -Force
7
+ Set-Content -Path !!CONFIG_PATH!! -Value @"
8
+ !!CONFIG!!
9
+ "@
10
+
11
+ Write-Host "Installing RKE2 as an agent..."
12
+ ./install.ps1 !!ENV!!
13
+
14
+ Write-Host "Creating RKE2 environment variables..."
15
+ $env:PATH+=";C:\var\lib\rancher\rke2\bin;c:\usr\local\bin"
16
+ [Environment]::SetEnvironmentVariable("Path",
17
+ [Environment]::GetEnvironmentVariable("Path", [EnvironmentVariableTarget]::Machine) + ";C:\var\lib\rancher\rke2\bin;c:\usr\local\bin",
18
+ [EnvironmentVariableTarget]::Machine)
19
+
20
+ Write-Host "Open ports for RKE2 and Calico in firewall..."
21
+ netsh advfirewall firewall add rule name= "RKE2-kubelet" dir=in action=allow protocol=TCP localport=10250
22
+ netsh advfirewall firewall add rule name= "RKE2-agent" dir=in action=allow protocol=TCP localport=4789
@@ -2,19 +2,23 @@
2
2
 
3
3
  module VagrantPlugins
4
4
  module Rke2
5
+ DEFAULT_CONFIG_PATH_LINUX = '/etc/rancher/rke2/config.yaml'
6
+ DEFAULT_CONFIG_PATH_WINDOWS = 'C:/etc/rancher/rke2/config.yaml'
7
+ DEFAULT_INSTALLER_URL_LINUX = 'https://get.rke2.io'
8
+ DEFAULT_INSTALLER_URL_WINDOWS = 'https://raw.githubusercontent.com/rancher/rke2/master/install.ps1'
9
+
5
10
  class Config < Vagrant.plugin(2, :config)
6
11
  DEFAULT_FILE_MODE = '0600'
7
12
  DEFAULT_FILE_OWNER = 'root:root'
8
13
  DEFAULT_CONFIG_MODE = DEFAULT_FILE_MODE
9
14
  DEFAULT_CONFIG_OWNER = DEFAULT_FILE_OWNER
10
- DEFAULT_CONFIG_PATH = '/etc/rancher/rke2/config.yaml'
15
+
11
16
  DEFAULT_ENV_MODE = DEFAULT_FILE_MODE
12
17
  DEFAULT_ENV_OWNER = DEFAULT_FILE_OWNER
13
18
  DEFAULT_ENV_PATH = '/etc/rancher/rke2/install.env'
14
- DEFAULT_INSTALLER_URL = 'https://get.rke2.io'
15
19
 
16
- # string (.yaml) or hash
17
- # @return [Hash]
20
+ # string (.yaml)
21
+ # @return [String]
18
22
  attr_accessor :config
19
23
 
20
24
  # Defaults to `0600`
@@ -49,6 +53,15 @@ module VagrantPlugins
49
53
  # @return [String]
50
54
  attr_accessor :installer_url
51
55
 
56
+ # Defaults to true
57
+ # @return [Boolean]
58
+ attr_accessor :install_path
59
+
60
+ # Defaults to false
61
+ # @return [Boolean]
62
+ attr_accessor :skip_start
63
+
64
+
52
65
  def initialize
53
66
  @config = UNSET_VALUE
54
67
  @config_mode = UNSET_VALUE
@@ -59,30 +72,33 @@ module VagrantPlugins
59
72
  @env_owner = UNSET_VALUE
60
73
  @env_path = UNSET_VALUE
61
74
  @installer_url = UNSET_VALUE
75
+ @install_path = UNSET_VALUE
76
+ @skip_start = UNSET_VALUE
62
77
  end
63
78
 
64
79
  def finalize!
65
80
  @config = "" if @config == UNSET_VALUE
66
81
  @config_mode = @config_mode == UNSET_VALUE ? DEFAULT_CONFIG_MODE : @config_mode.to_s
67
82
  @config_owner = @config_owner == UNSET_VALUE ? DEFAULT_CONFIG_OWNER : @config_owner.to_s
68
- @config_path = @config_path == UNSET_VALUE ? DEFAULT_CONFIG_PATH : @config_path.to_s
83
+ @config_path = @config_path == UNSET_VALUE ? DEFAULT_CONFIG_PATH_LINUX : @config_path.to_s
69
84
  @env = [] if @env == UNSET_VALUE
70
85
  @env_mode = DEFAULT_ENV_MODE if @env_mode == UNSET_VALUE
71
86
  @env_owner = DEFAULT_ENV_OWNER if @env_owner == UNSET_VALUE
72
87
  @env_path = DEFAULT_ENV_PATH if @env_path == UNSET_VALUE
73
- @installer_url = DEFAULT_INSTALLER_URL if @installer_url == UNSET_VALUE
74
-
88
+ @installer_url = DEFAULT_INSTALLER_URL_LINUX if @installer_url == UNSET_VALUE
89
+ @install_path = true if @install_path == UNSET_VALUE
90
+ @skip_start = false if @skip_start == UNSET_VALUE
75
91
  end
76
92
 
77
93
  def validate(machine)
78
94
  errors = _detected_errors
79
95
 
80
96
  unless config_valid?
81
- errors << "Rke2 provisioner `config` must be a hash or string (yaml)."
97
+ errors << "Rke2 provisioner `config` must be a string (yaml)."
82
98
  end
83
99
 
84
100
  unless env_valid?
85
- errors << "Rke2 provisioner `env` must be an array, hash, or string."
101
+ errors << "Rke2 provisioner `env` must be an array or string."
86
102
  end
87
103
 
88
104
  { "rke2 provisioner" => errors }
@@ -90,14 +106,12 @@ module VagrantPlugins
90
106
 
91
107
  def config_valid?
92
108
  return true if config.is_a?(String)
93
- return true if config.is_a?(Hash)
94
109
  false
95
110
  end
96
111
 
97
112
  def env_valid?
98
113
  return true unless env
99
114
  return true if env.is_a?(String)
100
- return true if env.is_a?(Hash)
101
115
  if env.is_a?(Array)
102
116
  env.each do |a|
103
117
  return false unless a.kind_of?(String)
@@ -28,24 +28,29 @@ module VagrantPlugins
28
28
  end
29
29
 
30
30
  guest_capability(:alpine, :curl_install) do
31
- require_relative "cap/alpine/curl_install"
31
+ require_relative "cap/curl_install"
32
32
  Cap::Alpine::CurlInstall
33
33
  end
34
34
 
35
35
  guest_capability(:debian, :curl_install) do
36
- require_relative "cap/debian/curl_install"
36
+ require_relative "cap/curl_install"
37
37
  Cap::Debian::CurlInstall
38
38
  end
39
39
 
40
40
  guest_capability(:redhat, :curl_install) do
41
- require_relative "cap/redhat/curl_install"
41
+ require_relative "cap/curl_install"
42
42
  Cap::Redhat::CurlInstall
43
43
  end
44
44
 
45
45
  guest_capability(:suse, :curl_install) do
46
- require_relative "cap/suse/curl_install"
46
+ require_relative "cap/curl_install"
47
47
  Cap::Suse::CurlInstall
48
48
  end
49
+
50
+ guest_capability(:windows, :rke2_installed) do
51
+ require_relative "cap/windows/rke2_installed"
52
+ Cap::Windows::Rke2Installed
53
+ end
49
54
  end
50
55
  end
51
56
  end
@@ -15,6 +15,16 @@ module VagrantPlugins
15
15
  end
16
16
 
17
17
  def provision
18
+ @machine.ui.info "Guest Identity: %s" % @machine.config.vm.guest
19
+ case @machine.config.vm.guest
20
+ when :windows
21
+ provisionWindows
22
+ else
23
+ provisionLinux
24
+ end
25
+ end
26
+
27
+ def provisionLinux
18
28
  unless @machine.guest.capability(:curl_installed)
19
29
  @machine.ui.info 'Installing Curl ...'
20
30
  @machine.guest.capability(:curl_install)
@@ -34,6 +44,9 @@ module VagrantPlugins
34
44
  end
35
45
  file_upload "rke2-install.env", env_file, env_text
36
46
 
47
+ capture = env_text.match(/INSTALL_RKE2_TYPE=([a-z]+)/)
48
+ service = capture ? capture.captures[0] : ""
49
+
37
50
  prv_file = "/vagrant/rke2-provisioner.sh"
38
51
  prv_text = <<~EOF
39
52
  #/usr/bin/env bash
@@ -49,12 +62,8 @@ module VagrantPlugins
49
62
  EOF
50
63
  file_upload("rke2-install.sh", prv_file, prv_text)
51
64
  @machine.ui.info "Invoking: #{prv_file}"
52
-
53
- outputs, handler = build_outputs
54
- begin
55
- @machine.communicate.sudo("chmod +x #{prv_file} && #{prv_file}", error_key: :ssh_bad_exit_status_muted, &handler)
56
- ensure
57
- outputs.values.map(&:close)
65
+ @machine.communicate.sudo("chmod +x #{prv_file} && #{prv_file}", :error_key => :ssh_bad_exit_status_muted) do |type, line|
66
+ @machine.ui.detail line, :color => :yellow
58
67
  end
59
68
 
60
69
  begin
@@ -66,15 +75,93 @@ module VagrantPlugins
66
75
  rescue Vagrant::Errors::VagrantError => e
67
76
  @machine.ui.detail "#{e.extra_data[:stderr].chomp}", :color => :red
68
77
  else
78
+ @machine.communicate.sudo("#{exe} --version", :error_key => :ssh_bad_exit_status_muted) do |type, line|
79
+ @machine.ui.detail line, :color => :yellow
80
+ end
81
+ end
82
+
83
+ @machine.ui.info "Starting RKE2 service..."
84
+ if !service.empty?
85
+ @machine.communicate.sudo("systemctl enable rke2-#{service}.service")
86
+ @machine.communicate.sudo("systemctl start rke2-#{service}.service") do |type, line|
87
+ @machine.ui.detail line, :color => :yellow
88
+ end
89
+ else
90
+ @machine.communicate.sudo("systemctl enable rke2-server.service")
91
+ if !config.skip_start
92
+ @machine.communicate.sudo("systemctl start rke2-server.service") do |type, line|
93
+ @machine.ui.detail line, :color => :yellow
94
+ end
95
+ end
96
+ end
97
+
98
+ if config.install_path
99
+ @machine.ui.info "Adding RKE2 to PATH and KUBECONFIG"
69
100
  outputs, handler = build_outputs
70
101
  begin
71
- @machine.communicate.sudo("#{exe} --version", :error_key => :ssh_bad_exit_status_muted, &handler)
102
+ @machine.communicate.sudo("echo 'export KUBECONFIG=/etc/rancher/rke2/rke2.yaml PATH=$PATH:/var/lib/rancher/rke2/bin' >> /home/vagrant/.bashrc", &handler)
103
+ @machine.communicate.sudo("echo 'export KUBECONFIG=/etc/rancher/rke2/rke2.yaml PATH=$PATH:/var/lib/rancher/rke2/bin' >> /root/.bashrc", &handler)
72
104
  ensure
73
105
  outputs.values.map(&:close)
74
106
  end
75
107
  end
76
108
  end
77
109
 
110
+ def provisionWindows
111
+
112
+ if config.config_path == DEFAULT_CONFIG_PATH_LINUX
113
+ config.config_path = DEFAULT_CONFIG_PATH_WINDOWS
114
+ end
115
+ if config.installer_url == DEFAULT_INSTALLER_URL_LINUX
116
+ config.installer_url = DEFAULT_INSTALLER_URL_WINDOWS
117
+ end
118
+
119
+ config.installer_url
120
+
121
+ scriptDir = File.expand_path('./cap/windows/scripts', File.dirname(__FILE__)) + "/"
122
+
123
+ env_text = ""
124
+ if config.env.is_a?(String)
125
+ env_text = config.env
126
+ end
127
+ if config.env.is_a?(Array)
128
+ config.env.each {|line| env_text << "-#{line.gsub("=", " ")} "}
129
+ end
130
+
131
+ containerScript = "install-containers-feature.ps1"
132
+ @machine.ui.info "Invoking: #{containerScript}"
133
+
134
+ command = File.read(scriptDir + containerScript)
135
+ @machine.communicate.execute(command, {shell: :powershell, elevated: true})
136
+ @machine.guest.capability(:reboot)
137
+ @machine.guest.capability(:wait_for_reboot)
138
+
139
+ setupRke2 = "setup-rke2.ps1"
140
+ @machine.ui.info "Invoking: #{setupRke2}"
141
+
142
+ command = File.read(scriptDir + setupRke2)
143
+ command["!!INSTALL_URL!!"] = config.installer_url
144
+ command["!!CONFIG_PATH!!"] = config.config_path
145
+ command["!!CONFIG!!"] = config.config
146
+ command["!!ENV!!"] = env_text
147
+ @machine.communicate.execute(command, {shell: :powershell, elevated: true}) do |type, line|
148
+ @machine.ui.detail line.chomp, :color => :yellow
149
+ end
150
+
151
+ @machine.ui.info "Checking RKE2 version:"
152
+ @machine.communicate.test("Get-Command rke2", {shell: :powershell})
153
+ @machine.communicate.execute("rke2 --version", {shell: :powershell}) do |type, line|
154
+ @machine.ui.detail line, :color => :yellow
155
+ end
156
+
157
+ @machine.ui.info "Starting RKE2 agent:"
158
+ @machine.communicate.execute("rke2.exe agent service --add", {shell: :powershell, elevated: true} )
159
+ if !config.skip_start
160
+ @machine.communicate.execute("Start-Service -Name 'rke2'", {shell: :powershell, elevated: true} )
161
+ end
162
+
163
+ end
164
+
78
165
  def build_outputs
79
166
  outputs = {
80
167
  stdout: Vagrant::Util::LineBuffer.new { |line| handle_comm(:stdout, line) },
@@ -116,9 +203,12 @@ module VagrantPlugins
116
203
  remote_tmp_dir = @machine.guest.capability :create_tmp_path, {:type => :directory}
117
204
  remote_tmp_path = [remote_tmp_dir, File.basename(remote_path)].join('/')
118
205
  @machine.communicate.upload(local_path, remote_tmp_path)
119
- @machine.communicate.sudo("install -v -DTZ #{remote_tmp_path} #{remote_path}") do |type, line|
120
- @machine.ui.info line.chomp, :color => {:stderr => :red, :stdout => :default}[type]
206
+ if @machine.config.vm.guest != "windows"
207
+ @machine.communicate.sudo("install -v -DTZ #{remote_tmp_path} #{remote_path}") do |type, line|
208
+ @machine.ui.info line.chomp, :color => {:stderr => :red, :stdout => :default}[type]
209
+ end
121
210
  end
211
+
122
212
  end
123
213
  @machine.ui.detail content.chomp, :color => :yellow
124
214
  remote_path
@@ -1,5 +1,5 @@
1
1
  module VagrantPlugins
2
2
  module Rke2
3
- VERSION = "0.1.0"
3
+ VERSION = "0.1.3"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-rke2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Derek Nola
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-01-08 00:00:00.000000000 Z
11
+ date: 2022-03-09 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Manage RKE2 installations on Vagrant guests
14
14
  email:
@@ -30,6 +30,8 @@ files:
30
30
  - lib/vagrant-rke2/cap/curl_install.rb
31
31
  - lib/vagrant-rke2/cap/linux/curl_installed.rb
32
32
  - lib/vagrant-rke2/cap/linux/rke2_installed.rb
33
+ - lib/vagrant-rke2/cap/windows/scripts/install-containers-feature.ps1
34
+ - lib/vagrant-rke2/cap/windows/scripts/setup-rke2.ps1
33
35
  - lib/vagrant-rke2/config.rb
34
36
  - lib/vagrant-rke2/plugin.rb
35
37
  - lib/vagrant-rke2/provisioner.rb
@@ -56,7 +58,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
56
58
  - !ruby/object:Gem::Version
57
59
  version: '0'
58
60
  requirements: []
59
- rubygems_version: 3.1.2
61
+ rubygems_version: 3.2.5
60
62
  signing_key:
61
63
  specification_version: 4
62
64
  summary: Manage RKE2 installations on Vagrant guests