vagrant-k3s 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +5 -0
  3. data/CODE_OF_CONDUCT.md +84 -0
  4. data/Gemfile +11 -0
  5. data/Gemfile.lock +127 -0
  6. data/LICENSE +177 -0
  7. data/README.md +79 -0
  8. data/Rakefile +24 -0
  9. data/bin/console +15 -0
  10. data/bin/setup +8 -0
  11. data/lib/vagrant-k3s/cap/alpine/curl_install.rb +15 -0
  12. data/lib/vagrant-k3s/cap/debian/curl_install.rb +16 -0
  13. data/lib/vagrant-k3s/cap/linux/curl_installed.rb +17 -0
  14. data/lib/vagrant-k3s/cap/linux/k3s_installed.rb +20 -0
  15. data/lib/vagrant-k3s/cap/redhat/curl_install.rb +22 -0
  16. data/lib/vagrant-k3s/cap/suse/curl_install.rb +18 -0
  17. data/lib/vagrant-k3s/command/kubectl.rb +12 -0
  18. data/lib/vagrant-k3s/command.rb +20 -0
  19. data/lib/vagrant-k3s/config.rb +148 -0
  20. data/lib/vagrant-k3s/plugin.rb +57 -0
  21. data/lib/vagrant-k3s/provisioner.rb +144 -0
  22. data/lib/vagrant-k3s/version.rb +7 -0
  23. data/lib/vagrant-k3s.rb +10 -0
  24. data/vagrant-k3s.gemspec +37 -0
  25. data/vendor/cache/bcrypt_pbkdf-1.1.0.gem +0 -0
  26. data/vendor/cache/builder-3.2.4.gem +0 -0
  27. data/vendor/cache/childprocess-4.1.0.gem +0 -0
  28. data/vendor/cache/concurrent-ruby-1.1.9.gem +0 -0
  29. data/vendor/cache/diff-lcs-1.4.4.gem +0 -0
  30. data/vendor/cache/ed25519-1.2.4.gem +0 -0
  31. data/vendor/cache/erubi-1.10.0.gem +0 -0
  32. data/vendor/cache/excon-0.86.0.gem +0 -0
  33. data/vendor/cache/ffi-1.15.4.gem +0 -0
  34. data/vendor/cache/gssapi-1.3.1.gem +0 -0
  35. data/vendor/cache/gyoku-1.3.1.gem +0 -0
  36. data/vendor/cache/hashicorp-checkpoint-0.1.5.gem +0 -0
  37. data/vendor/cache/httpclient-2.8.3.gem +0 -0
  38. data/vendor/cache/i18n-1.8.10.gem +0 -0
  39. data/vendor/cache/listen-3.7.0.gem +0 -0
  40. data/vendor/cache/little-plugger-1.1.4.gem +0 -0
  41. data/vendor/cache/log4r-1.1.10.gem +0 -0
  42. data/vendor/cache/logging-2.3.0.gem +0 -0
  43. data/vendor/cache/mime-types-3.3.1.gem +0 -0
  44. data/vendor/cache/mime-types-data-3.2021.0901.gem +0 -0
  45. data/vendor/cache/multi_json-1.15.0.gem +0 -0
  46. data/vendor/cache/net-scp-3.0.0.gem +0 -0
  47. data/vendor/cache/net-sftp-3.0.0.gem +0 -0
  48. data/vendor/cache/net-ssh-6.1.0.gem +0 -0
  49. data/vendor/cache/nori-2.6.0.gem +0 -0
  50. data/vendor/cache/rake-13.0.6.gem +0 -0
  51. data/vendor/cache/rb-fsevent-0.11.0.gem +0 -0
  52. data/vendor/cache/rb-inotify-0.10.1.gem +0 -0
  53. data/vendor/cache/rb-kqueue-0.2.7.gem +0 -0
  54. data/vendor/cache/rexml-3.2.5.gem +0 -0
  55. data/vendor/cache/rspec-3.10.0.gem +0 -0
  56. data/vendor/cache/rspec-core-3.10.1.gem +0 -0
  57. data/vendor/cache/rspec-expectations-3.10.1.gem +0 -0
  58. data/vendor/cache/rspec-mocks-3.10.2.gem +0 -0
  59. data/vendor/cache/rspec-support-3.10.2.gem +0 -0
  60. data/vendor/cache/rubyntlm-0.6.3.gem +0 -0
  61. data/vendor/cache/rubyzip-2.3.2.gem +0 -0
  62. data/vendor/cache/vagrant_cloud-3.0.5.gem +0 -0
  63. data/vendor/cache/wdm-0.1.1.gem +0 -0
  64. data/vendor/cache/winrm-2.3.6.gem +0 -0
  65. data/vendor/cache/winrm-elevated-1.2.3.gem +0 -0
  66. data/vendor/cache/winrm-fs-1.3.5.gem +0 -0
  67. metadata +141 -0
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'vagrant'
4
+
5
+ module VagrantPlugins
6
+ module K3s
7
+ class Command < Vagrant.plugin('2', :command)
8
+ require_relative 'command/kubectl'
9
+
10
+ def self.synopsis
11
+ 'Lightweight Kubernetes'
12
+ end
13
+
14
+ def execute
15
+ @logger.debug("ITS K3S!")
16
+ 0
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,148 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VagrantPlugins
4
+ module K3s
5
+ class Config < Vagrant.plugin(2, :config)
6
+ DEFAULT_CONFIG_PATH = "/etc/rancher/k3s/conf.yaml".freeze
7
+ DEFAULT_ENV_PATH = "/etc/rancher/k3s/install.env".freeze
8
+ DEFAULT_INSTALLER_URL = "https://get.k3s.io".freeze
9
+
10
+ # string or array
11
+ # @return [Array<String]
12
+ attr_accessor :args
13
+
14
+ # string (.yaml) or hash
15
+ # @return [Hash]
16
+ attr_accessor :config
17
+
18
+ # Defaults to `/etc/rancher/k3s/conf.yaml`
19
+ # @return [String]
20
+ attr_accessor :config_path
21
+
22
+ # string (.env), array, or hash
23
+ # @return [Array<String>]
24
+ attr_accessor :env
25
+
26
+ # Defaults to `/etc/rancher/k3s/install.env`
27
+ # @return [String]
28
+ attr_accessor :env_path
29
+
30
+ # Defaults to `https://get.k3s.io`
31
+ # @return [String]
32
+ attr_accessor :installer_url
33
+
34
+ # # INSTALL_K3S_BIN_DIR
35
+ # # @return [String]
36
+ # attr_accessor :install_bin_dir
37
+ #
38
+ # # INSTALL_K3S_BIN_DIR_READ_ONLY
39
+ # # @return [Boolean]
40
+ # attr_accessor :install_bin_dir_ro
41
+ #
42
+ # # INSTALL_K3S_CHANNEL
43
+ # # @return [String]
44
+ # attr_accessor :install_channel
45
+ #
46
+ # # INSTALL_K3S_CHANNEL_URL
47
+ # # @return [String]
48
+ # attr_accessor :install_channel_url
49
+ #
50
+ # # INSTALL_K3S_COMMIT
51
+ # # @return [String]
52
+ # attr_accessor :install_commit
53
+ #
54
+ # # INSTALL_K3S_EXEC
55
+ # # @return [String]
56
+ # attr_accessor :install_exec
57
+ #
58
+ # # INSTALL_K3S_NAME
59
+ # # @return [String]
60
+ # attr_accessor :install_name
61
+ #
62
+ # # INSTALL_K3S_SYSTEMD_DIR
63
+ # # @return [String]
64
+ # attr_accessor :install_systemd_dir
65
+ #
66
+ # # INSTALL_K3S_TYPE
67
+ # # @return [String]
68
+ # attr_accessor :install_systemd_type
69
+ #
70
+ # # INSTALL_K3S_VERSION
71
+ # # @return [String]
72
+ # attr_accessor :install_version
73
+
74
+ def initialize
75
+ @args = UNSET_VALUE
76
+ @config = UNSET_VALUE
77
+ @config_path = UNSET_VALUE
78
+ @env = UNSET_VALUE
79
+ @env_path = UNSET_VALUE
80
+ @installer_url = UNSET_VALUE
81
+ end
82
+
83
+ def finalize!
84
+ @args = [] if @args == UNSET_VALUE
85
+ @config = "" if @config == UNSET_VALUE
86
+ @config_path = DEFAULT_CONFIG_PATH if @config_path == UNSET_VALUE
87
+ @env = [] if @env == UNSET_VALUE
88
+ @env_path = DEFAULT_ENV_PATH if @env_path == UNSET_VALUE
89
+ @installer_url = DEFAULT_INSTALLER_URL if @installer_url == UNSET_VALUE
90
+
91
+ if @args && args_valid?
92
+ @args = @args.is_a?(Array) ? @args.map { |a| a.to_s } : @args.to_s
93
+ end
94
+ end
95
+
96
+ def validate(machine)
97
+ errors = _detected_errors
98
+
99
+ unless args_valid?
100
+ errors << "K3s provisioner `args` must be an array or string."
101
+ end
102
+
103
+ unless config_valid?
104
+ errors << "K3s provisioner `config` must be a hash or string (yaml)."
105
+ end
106
+
107
+ unless env_valid?
108
+ errors << "K3s provisioner `env` must be an array, hash, or string."
109
+ end
110
+
111
+ { "k3s provisioner" => errors }
112
+ end
113
+
114
+ def args_valid?
115
+ return true unless args
116
+ return true if args.is_a?(String)
117
+ return true if args.is_a?(Integer)
118
+ if args.is_a?(Array)
119
+ args.each do |a|
120
+ return false if !a.kind_of?(String) && !a.kind_of?(Integer)
121
+ end
122
+ return true
123
+ end
124
+ false
125
+ end
126
+
127
+ def config_valid?
128
+ return true unless args
129
+ return true if config.is_a?(String)
130
+ return true if config.is_a?(Hash)
131
+ false
132
+ end
133
+
134
+ def env_valid?
135
+ return true unless env
136
+ return true if env.is_a?(String)
137
+ return true if env.is_a?(Hash)
138
+ if env.is_a?(Array)
139
+ env.each do |a|
140
+ return false unless a.kind_of?(String)
141
+ end
142
+ return true
143
+ end
144
+ false
145
+ end
146
+ end
147
+ end
148
+ end
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'version'
4
+
5
+ module VagrantPlugins
6
+ module K3s
7
+ class Plugin < Vagrant.plugin(2)
8
+ name 'k3s'
9
+ description 'Lightweight Kubernetes'
10
+
11
+ config(:k3s, :provisioner) do
12
+ require_relative 'config'
13
+ Config
14
+ end
15
+
16
+ provisioner(:k3s) do
17
+ require_relative 'provisioner'
18
+ Provisioner
19
+ end
20
+
21
+ command(:k3s, primary: true) do
22
+ require_relative 'command'
23
+ Command
24
+ end
25
+
26
+ guest_capability(:linux, :k3s_installed) do
27
+ require_relative "cap/linux/k3s_installed"
28
+ Cap::Linux::K3sInstalled
29
+ end
30
+
31
+ guest_capability(:linux, :curl_installed) do
32
+ require_relative "cap/linux/curl_installed"
33
+ Cap::Linux::CurlInstalled
34
+ end
35
+
36
+ guest_capability(:alpine, :curl_install) do
37
+ require_relative "cap/alpine/curl_install"
38
+ Cap::Alpine::CurlInstall
39
+ end
40
+
41
+ guest_capability(:debian, :curl_install) do
42
+ require_relative "cap/debian/curl_install"
43
+ Cap::Debian::CurlInstall
44
+ end
45
+
46
+ guest_capability(:redhat, :curl_install) do
47
+ require_relative "cap/redhat/curl_install"
48
+ Cap::Redhat::CurlInstall
49
+ end
50
+
51
+ guest_capability(:suse, :curl_install) do
52
+ require_relative "cap/suse/curl_install"
53
+ Cap::Suse::CurlInstall
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,144 @@
1
+ # frozen_string_literal: false
2
+
3
+ require 'multi_json/convertible_hash_keys'
4
+ require 'vagrant'
5
+ require 'vagrant/errors'
6
+ require 'yaml'
7
+
8
+ module VagrantPlugins
9
+ module K3s
10
+ class Provisioner < Vagrant.plugin('2', :provisioner)
11
+ include MultiJson::ConvertibleHashKeys
12
+ def initialize(machine,config)
13
+ super(machine,config)
14
+ @logger = Log4r::Logger.new("vagrant::provisioners::k3s")
15
+ end
16
+
17
+ def configure(root_config)
18
+ end
19
+
20
+ def cleanup
21
+ end
22
+
23
+ def provision
24
+ args = ""
25
+ if config.args.is_a?(String)
26
+ args = " #{config.args.to_s}"
27
+ elsif config.args.is_a?(Array)
28
+ args = config.args.map { |a| quote_and_escape(a) }
29
+ args = " #{args.join(" ")}"
30
+ end
31
+
32
+ @machine.ui.info 'Ensuring cURL ...'
33
+ unless @machine.guest.capability(:curl_installed)
34
+ @machine.guest.capability(:curl_install)
35
+ end
36
+
37
+ @machine.ui.info 'Installing K3s ...'
38
+ config_file = config.config_path.to_s
39
+ config_yaml = config.config.is_a?(String) ? config.config : stringify_keys(config.config).to_yaml
40
+ with_file_upload "k3s-config.yaml".freeze, config_file, config_yaml
41
+
42
+ install_env_file = config.env_path.to_s
43
+ install_env_text = ""
44
+ if config.env.is_a?(String)
45
+ install_env_text = config.env.to_s
46
+ end
47
+ if config.env.is_a?(Array)
48
+ config.env.each {|line| install_env_text << "#{line.to_s}\n"}
49
+ end
50
+ if config.env.is_a?(Hash)
51
+ config.env.each {|key,value| install_env_text << "#{key.to_s}=#{quote_and_escape(value.to_s)}\n"}
52
+ end
53
+ with_file_upload "k3s-install.env".freeze, install_env_file, install_env_text
54
+
55
+ install_sh = "/tmp/vagrant-k3s-provisioner-install.sh".freeze
56
+ with_file_upload "k3s-install.sh", install_sh, <<~EOF
57
+ #/usr/bin/env bash
58
+ set -eu -o pipefail
59
+ mkdir -p $(dirname #{config.config_path}) $(dirname #{config.env_path})
60
+ chown root:root #{config.config_path} #{config.env_path}
61
+ set -o allexport
62
+ source #{config.env_path}
63
+ set +o allexport
64
+ curl -fsL #{config.installer_url} | sh -s - #{args}
65
+ EOF
66
+ outputs, handler = build_outputs
67
+ begin
68
+ @machine.communicate.sudo("sh #{install_sh}", error_key: :ssh_bad_exit_status_muted, &handler)
69
+ ensure
70
+ outputs.values.map(&:close)
71
+ end
72
+
73
+ @machine.guest.capability(:k3s_installed)
74
+
75
+ begin
76
+ exe = "k3s"
77
+ @machine.ui.info 'Checking the K3s version ...'
78
+ @machine.communicate.execute("/usr/bin/which k3s", :error_key => :ssh_bad_exit_status_muted) do |type, data|
79
+ exe = data.chomp if type == :stdout
80
+ end
81
+ rescue Vagrant::Errors::VagrantError => e
82
+ @machine.ui.detail "#{e.extra_data[:stderr].chomp}", :color => :red
83
+ else
84
+ outputs, handler = build_outputs
85
+ begin
86
+ @machine.communicate.execute("#{exe} --version", :error_key => :ssh_bad_exit_status_muted, &handler)
87
+ ensure
88
+ outputs.values.map(&:close)
89
+ end
90
+ end
91
+ end
92
+
93
+ def build_outputs
94
+ outputs = {
95
+ stdout: Vagrant::Util::LineBuffer.new { |line| handle_comm(:stdout, line) },
96
+ stderr: Vagrant::Util::LineBuffer.new { |line| handle_comm(:stderr, line) },
97
+ }
98
+ block = proc { |type, data|
99
+ outputs[type] << data if outputs[type]
100
+ }
101
+ [outputs, block]
102
+ end
103
+
104
+ # This handles outputting the communication line back to the UI
105
+ def handle_comm(type, data)
106
+ if [:stderr, :stdout].include?(type)
107
+ # Output the line with the proper color based on the stream.
108
+ options = {}
109
+ options[:color] = type == :stdout ? :green : :red
110
+
111
+ @machine.ui.detail(data.chomp, **options)
112
+ end
113
+ end
114
+
115
+ def with_file(name='vagrant-k3s-provisioner', content)
116
+ file = Tempfile.new([name])
117
+ file.binmode
118
+ begin
119
+ file.write(content)
120
+ file.fsync
121
+ file.close
122
+ yield file.path
123
+ ensure
124
+ file.close
125
+ file.unlink
126
+ end
127
+ end
128
+
129
+ def with_file_upload(name='vagrant-k3s-provisioner', to, content)
130
+ with_file(name, content) do |from|
131
+ tmpdir = @machine.guest.capability :create_tmp_path, {:type => :directory}
132
+ tmpfile = [tmpdir, File.basename(to)].join('/')
133
+ @machine.communicate.upload(from, tmpfile)
134
+ @machine.communicate.sudo("mv -f #{tmpfile} #{to}")
135
+ end
136
+ to
137
+ end
138
+
139
+ def quote_and_escape(text, quote = '"')
140
+ "#{quote}#{text.to_s.gsub(/#{quote}/) { |m| "#{m}\\#{m}#{m}" }}#{quote}"
141
+ end
142
+ end
143
+ end
144
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VagrantPlugins
4
+ module K3s
5
+ VERSION = '0.1.0'
6
+ end
7
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ begin
4
+ require 'vagrant'
5
+ rescue LoadError
6
+ raise 'The Vagrant K3s plugin must be run within Vagrant.'
7
+ end
8
+
9
+ require_relative 'vagrant-k3s/plugin'
10
+ require_relative 'vagrant-k3s/version'
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+ $:.unshift File.expand_path("../lib", __FILE__)
3
+ require 'vagrant-k3s/version'
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = 'vagrant-k3s'
7
+ spec.version = VagrantPlugins::K3s::VERSION
8
+ spec.platform = Gem::Platform::RUBY
9
+ spec.authors = ['Jacob Blain Christen']
10
+ spec.email = ['dweomer5@gmail.com']
11
+
12
+ spec.license = 'Apache 2.0'
13
+
14
+ spec.summary = 'Manage k3s installations on Vagrant guests.'
15
+ spec.description = spec.summary
16
+ spec.homepage = 'https://github.com/dweomer/vagrant-k3s'
17
+
18
+ spec.metadata['homepage_uri'] = spec.homepage
19
+ spec.metadata['source_code_uri'] = spec.homepage
20
+
21
+ spec.required_ruby_version = ">= 2.5", "< 3.1"
22
+ spec.required_rubygems_version = ">= 1.3.6"
23
+
24
+ spec.add_development_dependency "rake", "~> 13.0"
25
+ spec.add_development_dependency "rspec", "~> 3.10.0"
26
+
27
+ # Specify which files should be added to the gem when it is released.
28
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
29
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
30
+ `git ls-files -z`.split("\x0").reject do |f|
31
+ (f == __FILE__) || f.match(%r{\A(?:(?:test|spec|features)/|\.(?:git|travis|circleci)|appveyor)})
32
+ end
33
+ end
34
+ spec.bindir = 'exe'
35
+ spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
36
+ spec.require_paths = ['lib']
37
+ end
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
metadata ADDED
@@ -0,0 +1,141 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: vagrant-k3s
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Jacob Blain Christen
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2021-10-04 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rake
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '13.0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '13.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rspec
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 3.10.0
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 3.10.0
41
+ description: Manage k3s installations on Vagrant guests.
42
+ email:
43
+ - dweomer5@gmail.com
44
+ executables: []
45
+ extensions: []
46
+ extra_rdoc_files: []
47
+ files:
48
+ - CHANGELOG.md
49
+ - CODE_OF_CONDUCT.md
50
+ - Gemfile
51
+ - Gemfile.lock
52
+ - LICENSE
53
+ - README.md
54
+ - Rakefile
55
+ - bin/console
56
+ - bin/setup
57
+ - lib/vagrant-k3s.rb
58
+ - lib/vagrant-k3s/cap/alpine/curl_install.rb
59
+ - lib/vagrant-k3s/cap/debian/curl_install.rb
60
+ - lib/vagrant-k3s/cap/linux/curl_installed.rb
61
+ - lib/vagrant-k3s/cap/linux/k3s_installed.rb
62
+ - lib/vagrant-k3s/cap/redhat/curl_install.rb
63
+ - lib/vagrant-k3s/cap/suse/curl_install.rb
64
+ - lib/vagrant-k3s/command.rb
65
+ - lib/vagrant-k3s/command/kubectl.rb
66
+ - lib/vagrant-k3s/config.rb
67
+ - lib/vagrant-k3s/plugin.rb
68
+ - lib/vagrant-k3s/provisioner.rb
69
+ - lib/vagrant-k3s/version.rb
70
+ - vagrant-k3s.gemspec
71
+ - vendor/cache/bcrypt_pbkdf-1.1.0.gem
72
+ - vendor/cache/builder-3.2.4.gem
73
+ - vendor/cache/childprocess-4.1.0.gem
74
+ - vendor/cache/concurrent-ruby-1.1.9.gem
75
+ - vendor/cache/diff-lcs-1.4.4.gem
76
+ - vendor/cache/ed25519-1.2.4.gem
77
+ - vendor/cache/erubi-1.10.0.gem
78
+ - vendor/cache/excon-0.86.0.gem
79
+ - vendor/cache/ffi-1.15.4.gem
80
+ - vendor/cache/gssapi-1.3.1.gem
81
+ - vendor/cache/gyoku-1.3.1.gem
82
+ - vendor/cache/hashicorp-checkpoint-0.1.5.gem
83
+ - vendor/cache/httpclient-2.8.3.gem
84
+ - vendor/cache/i18n-1.8.10.gem
85
+ - vendor/cache/listen-3.7.0.gem
86
+ - vendor/cache/little-plugger-1.1.4.gem
87
+ - vendor/cache/log4r-1.1.10.gem
88
+ - vendor/cache/logging-2.3.0.gem
89
+ - vendor/cache/mime-types-3.3.1.gem
90
+ - vendor/cache/mime-types-data-3.2021.0901.gem
91
+ - vendor/cache/multi_json-1.15.0.gem
92
+ - vendor/cache/net-scp-3.0.0.gem
93
+ - vendor/cache/net-sftp-3.0.0.gem
94
+ - vendor/cache/net-ssh-6.1.0.gem
95
+ - vendor/cache/nori-2.6.0.gem
96
+ - vendor/cache/rake-13.0.6.gem
97
+ - vendor/cache/rb-fsevent-0.11.0.gem
98
+ - vendor/cache/rb-inotify-0.10.1.gem
99
+ - vendor/cache/rb-kqueue-0.2.7.gem
100
+ - vendor/cache/rexml-3.2.5.gem
101
+ - vendor/cache/rspec-3.10.0.gem
102
+ - vendor/cache/rspec-core-3.10.1.gem
103
+ - vendor/cache/rspec-expectations-3.10.1.gem
104
+ - vendor/cache/rspec-mocks-3.10.2.gem
105
+ - vendor/cache/rspec-support-3.10.2.gem
106
+ - vendor/cache/rubyntlm-0.6.3.gem
107
+ - vendor/cache/rubyzip-2.3.2.gem
108
+ - vendor/cache/vagrant_cloud-3.0.5.gem
109
+ - vendor/cache/wdm-0.1.1.gem
110
+ - vendor/cache/winrm-2.3.6.gem
111
+ - vendor/cache/winrm-elevated-1.2.3.gem
112
+ - vendor/cache/winrm-fs-1.3.5.gem
113
+ homepage: https://github.com/dweomer/vagrant-k3s
114
+ licenses:
115
+ - Apache 2.0
116
+ metadata:
117
+ homepage_uri: https://github.com/dweomer/vagrant-k3s
118
+ source_code_uri: https://github.com/dweomer/vagrant-k3s
119
+ post_install_message:
120
+ rdoc_options: []
121
+ require_paths:
122
+ - lib
123
+ required_ruby_version: !ruby/object:Gem::Requirement
124
+ requirements:
125
+ - - ">="
126
+ - !ruby/object:Gem::Version
127
+ version: '2.5'
128
+ - - "<"
129
+ - !ruby/object:Gem::Version
130
+ version: '3.1'
131
+ required_rubygems_version: !ruby/object:Gem::Requirement
132
+ requirements:
133
+ - - ">="
134
+ - !ruby/object:Gem::Version
135
+ version: 1.3.6
136
+ requirements: []
137
+ rubygems_version: 3.1.6
138
+ signing_key:
139
+ specification_version: 4
140
+ summary: Manage k3s installations on Vagrant guests.
141
+ test_files: []