minfra-cli 0.2.1 → 1.0.0

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: 4224f87e9e115273ab68701933de59e1f158defa41dce87eb654e99995194e17
4
- data.tar.gz: 4d3a42708f78a4f735077e384a22cc1c61dfb3bd53212ceac3cd6e8f2c3a58a2
3
+ metadata.gz: 3a6dedf2d900fb64c7e8b58684942c15e67199910499d8a9afc9c20459deda7d
4
+ data.tar.gz: c7f6d2b107c53169ac51830e7962c2b433f5a533d624c0ea18b23eba9eb159e1
5
5
  SHA512:
6
- metadata.gz: aa77c060c478f6af724543a962c4ac95f20a224ef8b60d614de57ce65a4de81e6b3b31b992781008db931bd3be670566e2cff6fbfd83b3a847e74c775c24ad77
7
- data.tar.gz: 176fbdbdcc45afea7143417a7cb66a3796e95a48028ee2a4cb6890e3e5b80cce3322a915afa87938ab53d4a8f64cae57df0409eace476a1161485ed318404709
6
+ metadata.gz: e17628bc18b689e5033226b6cdc262dc0738423663110dcdd8ab5747c17fddcb04f486ae885b767f7b356ec10aa996a2382694ab897eaf4d945e89a4a5d91e31
7
+ data.tar.gz: 60b5b1f9055d47386232d8ce7b980f8818e1a028b51673ff9a820c92970457fc587c9b427fa5d439973cfdd5e8dbc766065eb50cf3e25052eda9fc47ef9fdd54
data/CHANGELOG.md CHANGED
@@ -1,5 +1,8 @@
1
- # 0.2.1
2
- * fixing preload
1
+ # 1.0.0
2
+ * adding hiera as dependecy
3
+ * removing self developped inheritance of data
4
+
5
+ # 0.2.2 Secrets support in charts
3
6
 
4
7
  # 0.1.0 Initial
5
8
  * opensourcing a base state, still WIP!
data/bin/run_tests CHANGED
@@ -61,7 +61,7 @@ volumes << "..:/code" unless ENV["BUILD_ID"]
61
61
 
62
62
  # Run docker pull on cache
63
63
  if @cache_tag
64
- run("docker pull 858049876441.dkr.ecr.eu-west-1.amazonaws.com/#{@project_name}:#{@cache_tag}")
64
+ run("docker pull TBD/#{@project_name}:#{@cache_tag}")
65
65
  end
66
66
 
67
67
  erb = ERB.new(File.open("#{__dir__}/../spec/docker-compose.yml").read, 0, '>')
data/exe/minfra CHANGED
@@ -2,5 +2,7 @@
2
2
 
3
3
  $LOAD_PATH << File.expand_path('../lib', __dir__)
4
4
  require 'minfra/cli'
5
- Minfra::Cli::Main.start(ARGV)
5
+
6
+ Minfra::Cli.init(ARGV)
7
+ Minfra::Cli.run
6
8
 
@@ -87,13 +87,13 @@ module Minfra
87
87
 
88
88
  method = options["install"] ? "install" : "upgrade"
89
89
  File.open(stack.compose_path(blank: true),"w") do |f|
90
- Orchparty.print(cluster_name: cluster,
91
- application_name: stack.name,
92
- force_variable_definition: false,
93
- file_name: stack.stack_rb_path.to_s,
94
- method: method,
95
- options: options,
96
- out_io: f)
90
+ Orchparty::App.new(cluster_name: cluster,
91
+ application_name: stack.name,
92
+ force_variable_definition: false,
93
+ file_name: stack.stack_rb_path.to_s,
94
+ options: options
95
+ ).
96
+ print( method: method, out_io: f)
97
97
  end
98
98
  #run_cmd(generate_cmd, :bash)
99
99
  bash_cmd = ["cd #{stack.release_path}"]
@@ -128,7 +128,13 @@ module Minfra
128
128
 
129
129
  message = "deploying stack #{stack.name}: #{reason_message}."
130
130
  Minfra::Cli::Document.document(@config,"started #{message}")
131
- Orchparty.send(method, cluster_name: cluster, application_name: stack.name, force_variable_definition: false, file_name: stack.stack_rb_path.to_s, options: options)
131
+ orch=Orchparty::App.new(cluster_name: cluster,
132
+ application_name: stack.name,
133
+ force_variable_definition: false,
134
+ file_name: stack.stack_rb_path.to_s,
135
+ options: options
136
+ )
137
+ orch.send(method)
132
138
  Minfra::Cli::Document.document(@config,"finished #{message}")
133
139
  end
134
140
  end
@@ -44,10 +44,12 @@ module Minfra
44
44
  @kube_path=@me_path.join('kube')
45
45
  @kube_config_path=@kube_path.join('config')
46
46
  @kind_config_path=@me_path.join("kind.yaml.erb")
47
- @project_minfrarc_path = @base_path.join("config",'minfrarc.rb')
48
- require @project_minfrarc_path if @project_minfrarc_path.exist?
49
- @me_minfrarc_path = @me_path.join('minfrarc.rb')
50
- require @me_minfrarc_path if @me_minfrarc_path.exist?
47
+
48
+ # @project_minfrarc_path = @base_path.join("config",'minfrarc.rb')
49
+ # require @project_minfrarc_path if @project_minfrarc_path.exist?
50
+ # @me_minfrarc_path = @me_path.join('minfrarc.rb')
51
+ # require @me_minfrarc_path if @me_minfrarc_path.exist?
52
+
51
53
  if config_path.exist?
52
54
  @config = Hashie::Mash.new(JSON.parse(Minfra::Cli::Templater.render(File.read(config_path),{})))
53
55
  else
@@ -61,11 +63,7 @@ module Minfra
61
63
  debug( "loading config env: #{orch_env} #{@orch_env}" )
62
64
  return self if defined?(@orch_env)
63
65
  @orch_env = orch_env
64
- @orch_env_config = @config.environments[@orch_env] || raise(EnvironmentNotFoundError.new("Configuration for orchestration environment '#{@orch_env}' not found. Available orechstration environments: #{@config.environments.keys.inspect}"))
65
- @project= @project.
66
- deep_merge(@project.environments[@orch_env]).
67
- deep_merge(@config).
68
- deep_merge(@orch_env_config)
66
+ @orch_env_config=Hashie::Mash.new
69
67
  @orch_env_config['env']=@orch_env
70
68
  self
71
69
  end
@@ -1,5 +1,5 @@
1
1
  module Minfra
2
2
  module Cli
3
- VERSION = '0.2.1'.freeze
3
+ VERSION = '1.0.0'.freeze
4
4
  end
5
5
  end
data/lib/minfra/cli.rb CHANGED
@@ -3,6 +3,7 @@ require 'open3'
3
3
  require 'json'
4
4
  require 'ostruct'
5
5
  require 'orchparty'
6
+ require 'hiera'
6
7
 
7
8
  require_relative 'cli/logging'
8
9
  require_relative 'cli/config'
@@ -19,17 +20,81 @@ require_relative 'cli/plugins'
19
20
  require 'active_support'
20
21
  require 'active_support/core_ext'
21
22
 
23
+ require "#{ENV['MINFRA_PATH']}/config/preload.rb" if File.exist?("#{ENV['MINFRA_PATH']}/config/preload.rb")
22
24
 
23
25
  module Minfra
24
26
  module Cli
25
27
  extend Minfra::Cli::Logging
26
28
 
29
+
30
+ def self.init(argv)
31
+ @argv = argv
32
+ # we'll set the context very early!
33
+
34
+ if idx=@argv.index("-e")
35
+ @config = Config.load(@argv[idx+1])
36
+ @argv.delete_at(idx)
37
+ @argv.delete_at(idx)
38
+ else
39
+ @config = Config.load('dev')
40
+ end
41
+
42
+ hiera_init
43
+
44
+ Minfra::Cli::Plugins.load
45
+ Minfra::Cli.scan
46
+ require_relative 'cli/main_command'
47
+ Minfra::Cli.resolve
48
+
49
+ project_minfrarc_path = @config.base_path.join("config",'minfrarc.rb')
50
+ require project_minfrarc_path if project_minfrarc_path.exist?
51
+ me_minfrarc_path = @config.me_path.join('minfrarc.rb')
52
+ require @me_minfrarc_path if me_minfrarc_path.exist?
53
+
54
+ end
55
+
56
+ def self.run
57
+ Minfra::Cli::Main.start(@argv)
58
+ end
59
+
27
60
  def self.root_path
28
61
  Pathname.new(File.expand_path(File.join(__FILE__, '../../../')))
29
62
  end
30
63
 
64
+ def self.hiera_init
65
+ @hiera_root = Pathname.new("#{ENV["MINFRA_PATH"]}/hiera")
66
+ hiera = Hiera.new(:config => @hiera_root.join('hiera.yaml').to_s)
67
+ Hiera.logger=:noop
68
+ env= @config.orch_env
69
+ raise("unknown environment #{env}, I expact a file at hiera/hieradata/environments/#{env}.eyaml") unless @hiera_root.join("hieradata/environments/#{env}.eyaml").exist?
70
+
71
+
72
+ scope={ "hieraroot" => @hiera_root.to_s, "env" => env}
73
+ special_lookups=hiera.lookup("lookup_options", {}, scope, nil, :priority)
74
+
75
+ node_scope=hiera.lookup("env", {}, scope, nil, :deeper)
76
+ scope=scope.merge(node_scope)
77
+ cache={}
78
+
79
+ Kernel.define_method(:l) do |value,default=nil|
80
+ return cache[value] if cache.has_key?(value)
81
+
82
+ if special_lookups[value]
83
+ lookup_type={ merge_behavior: special_lookups[value]["merge"].to_sym }
84
+ else
85
+ lookup_type=:native #priority
86
+ end
87
+
88
+ result=hiera.lookup(value, default, scope, nil, lookup_type)
89
+ result=Hashie::Mash.new(result) if result.kind_of?(Hash)
90
+ cache[value] = result
91
+ result
92
+ end
93
+ end
94
+
95
+
31
96
  def self.config
32
- @config ||= Config.new
97
+ @config
33
98
  end
34
99
  def self.scan
35
100
  root_path.join("lib/minfra/cli/commands").each_child do |command_path|
@@ -70,13 +135,3 @@ module Minfra
70
135
  end
71
136
  end
72
137
  end
73
-
74
- Minfra::Cli::Plugins.load
75
- Minfra::Cli.scan
76
- require_relative 'cli/main_command'
77
-
78
- require "#{ENV['MINFRA_PATH']}/config/preload.rb" if File.exist?("#{ENV['MINFRA_PATH']}/config/preload.rb")
79
-
80
- Minfra::Cli.resolve
81
-
82
-
@@ -188,6 +188,7 @@ module Orchparty
188
188
  self
189
189
  end
190
190
 
191
+
191
192
  def wait(&block)
192
193
  name = SecureRandom.hex
193
194
  result = ServiceBuilder.build(name, "wait", block)
@@ -214,7 +215,6 @@ module Orchparty
214
215
  end
215
216
 
216
217
  def service(name, &block)
217
-
218
218
  chart_name = @application.name
219
219
  unless @application.services[chart_name]
220
220
  @application.services[chart_name] = AST.chart(name: chart_name, _type: "chart" )
@@ -332,6 +332,14 @@ module Orchparty
332
332
  def initialize(name, type)
333
333
  super AST.service(name: name, _type: type)
334
334
  end
335
+
336
+ # 1. rememebring the secrets in environment_secrets (so these environments can be created differentyly
337
+ # 2. create Secret sections
338
+ def environment_secrets(&block)
339
+ result = HashBuilder.build(block)
340
+ @node.environment_secrets = result
341
+ self
342
+ end
335
343
  end
336
344
 
337
345
  class ServiceMixinBuilder < CommonBuilder
@@ -356,6 +364,15 @@ module Orchparty
356
364
  @node._services << name
357
365
  self
358
366
  end
367
+
368
+ def secrets(name, &block)
369
+ result = ServiceBuilder.build(name, "chart-secret", block)
370
+ @application.services[name] = result
371
+ @application._service_order << name
372
+ @node._services << name
373
+ self
374
+ end
375
+
359
376
  end
360
377
  end
361
378
  end
@@ -32,6 +32,7 @@ module Orchparty
32
32
  if(file_path.end_with?(".erb"))
33
33
  helm.application = OpenStruct.new(cluster_name: cluster_name, namespace: namespace)
34
34
  template = Erubis::Eruby.new(File.read(file_path))
35
+ template.filename = file_path
35
36
  yaml = template.result(helm.get_binding)
36
37
  file = Tempfile.new("kube-deploy.yaml")
37
38
  file.write(yaml)
@@ -117,14 +118,6 @@ module Orchparty
117
118
  @out_io.puts upgrade_cmd(label)
118
119
  end
119
120
 
120
- def upgrade(label)
121
- @out_io.puts system(upgrade_cmd(label))
122
- end
123
-
124
- def install(label)
125
- @out_io.puts system(install_cmd(label))
126
- end
127
-
128
121
  def upgrade_cmd(label)
129
122
  "kubectl --namespace #{namespace} --context #{cluster_name} label --overwrite #{label[:resource]} #{label[:name]} #{label["value"]}"
130
123
  end
@@ -165,7 +158,7 @@ module Orchparty
165
158
 
166
159
  def build_chart(chart)
167
160
  params = chart._services.map {|s| app_config.services[s.to_sym] }.map{|s| [s.name, s]}.to_h
168
- Dir.mktmpdir do |dir|
161
+ Dir.mktmpdir("#{chart.name}-") do |dir|
169
162
  run(templates_path: File.expand_path(chart.template, self.dir_path), params: params, output_chart_path: dir, chart: chart)
170
163
  yield dir
171
164
  end
@@ -184,7 +177,6 @@ module Orchparty
184
177
  output_chart_path: output_chart_path,
185
178
  chart_name: chart.name,
186
179
  )
187
-
188
180
  params.each do |app_name, subparams|
189
181
  subparams[:chart] = chart
190
182
  generate_documents_from_erbs(
@@ -203,12 +195,13 @@ module Orchparty
203
195
  end
204
196
 
205
197
  kind = params.fetch(:kind)
206
-
207
198
  Dir[File.join(templates_path, kind, '*.erb')].each do |template_path|
199
+ puts "Rendering Template: #{template_path}"
208
200
  template_name = File.basename(template_path, '.erb')
209
201
  output_path = File.join(output_chart_path, 'templates', "#{app_name}-#{template_name}")
210
202
 
211
203
  template = Erubis::Eruby.new(File.read(template_path))
204
+ template.filename = template_path
212
205
  params.app_name = app_name
213
206
  params.templates_path = templates_path
214
207
  begin
@@ -216,7 +209,7 @@ module Orchparty
216
209
  rescue Exception
217
210
  puts "#{template_path} has a problem: #{$!.inspect}"
218
211
  raise
219
- end
212
+ end
220
213
  File.write(output_path, document)
221
214
  end
222
215
  end
@@ -226,6 +219,7 @@ module Orchparty
226
219
  output_path = File.join(output_chart_path, 'Chart.yaml')
227
220
 
228
221
  template = Erubis::Eruby.new(File.read(template_path))
222
+ template.filename = template_path
229
223
  params = Hashie::Mash.new(chart_name: chart_name)
230
224
  document = template.result(CleanBinding.new.get_binding(params))
231
225
  File.write(output_path, document)
@@ -249,6 +243,7 @@ module Orchparty
249
243
 
250
244
  def upgrade(chart)
251
245
  build_chart(chart) do |chart_path|
246
+ system("cp -a #{chart_path} /tmp/latest-chart")
252
247
  @out_io.puts system("helm upgrade --namespace #{namespace} --kube-context #{cluster_name} #{chart.name} #{chart_path}")
253
248
  end
254
249
  end
@@ -299,6 +294,7 @@ class KubernetesApplication
299
294
  services = combine_charts(app_config)
300
295
  services.each do |name|
301
296
  service = app_config[:services][name]
297
+ puts "Service: #{name}(#{service._type}) #{method}"
302
298
  "::Orchparty::Services::#{service._type.classify}".constantize.new(cluster_name: cluster_name, namespace: namespace, file_path: file_path, app_config: app_config, out_io: @out_io).send(method, service)
303
299
  end
304
300
  end
data/lib/orchparty.rb CHANGED
@@ -1,59 +1,85 @@
1
- require "deep_merge"
2
- require "orchparty/version"
3
- require "orchparty/ast"
4
- require "orchparty/context"
5
- require "orchparty/transformations"
6
- require "orchparty/dsl_parser"
7
- require "orchparty/dsl_parser_kubernetes"
8
- require "orchparty/plugin"
9
- require "orchparty/kubernetes_application"
10
- require "hash"
1
+ # frozen_string_literal: true
11
2
 
12
- module Orchparty
3
+ require 'deep_merge'
4
+ require 'orchparty/version'
5
+ require 'orchparty/ast'
6
+ require 'orchparty/context'
7
+ require 'orchparty/transformations'
8
+ require 'orchparty/dsl_parser'
9
+ require 'orchparty/dsl_parser_kubernetes'
10
+ require 'orchparty/plugin'
11
+ require 'orchparty/kubernetes_application'
12
+ require 'hash'
13
13
 
14
- def self.load_all_available_plugins
15
- Gem::Specification.map {|f| f.matches_for_glob("orchparty/plugins/*.rb") }.flatten.map{|file_name| File.basename(file_name, ".*").to_sym }.each do |plugin_name|
16
- plugin(plugin_name)
17
- end
18
- end
14
+ module Orchparty
19
15
 
20
16
  def self.options
21
- @@options || {}
17
+ @@options
22
18
  end
23
- def self.plugins
24
- Orchparty::Plugin.plugins
19
+ def self.options=(opt)
20
+ @@options=opt
25
21
  end
22
+
23
+ class App
24
+ attr_reader :options
26
25
 
27
- def self.plugin(name)
28
- Orchparty::Plugin.load_plugin(name)
29
- end
26
+ def initialize(cluster_name:, application_name:, force_variable_definition:, file_name:, options: {})
27
+ @cluster_name = cluster_name
28
+ @application_name = application_name
29
+ @force_variable_definiton = force_variable_definition
30
+ @file_name = file_name
31
+ @options = options
32
+ Orchparty.options=options
33
+
34
+ load_plugins
35
+ end
30
36
 
31
- def self.ast(filename: , application:, force_variable_definition: nil )
32
- Transformations.transform(Orchparty::DSLParser.new(filename).parse, force_variable_definition: force_variable_definition).applications[application]
33
- end
37
+ def plugins
38
+ Orchparty::Plugin.plugins
39
+ end
34
40
 
35
- def self.generate(plugin_name, options, plugin_options)
36
- plugins[plugin_name].generate(ast(options), plugin_options)
37
- end
41
+ def print(method:, out_io:)
42
+ app(out_io: out_io).print(method)
43
+ end
38
44
 
39
- def self.install(cluster_name: , application_name: , force_variable_definition:, file_name:, options: )
40
- @@options= options
41
- app_config = Transformations.transform_kubernetes(Orchparty::Kubernetes::DSLParser.new(file_name).parse, force_variable_definition: force_variable_definition).applications[application_name]
42
- app = KubernetesApplication.new(app_config: app_config, namespace: application_name, cluster_name: cluster_name, file_name: file_name)
43
- app.install
44
- end
45
+ def install
46
+ app.install
47
+ end
45
48
 
46
- def self.upgrade(cluster_name: , application_name: , force_variable_definition:, file_name:, options: )
47
- @@options = options
48
- app_config = Transformations.transform_kubernetes(Orchparty::Kubernetes::DSLParser.new(file_name).parse, force_variable_definition: force_variable_definition).applications[application_name]
49
- app = KubernetesApplication.new(app_config: app_config, namespace: application_name, cluster_name: cluster_name, file_name: file_name)
50
- app.upgrade
51
- end
49
+ def upgrade
50
+ app.upgrade
51
+ end
52
+
53
+ private
54
+
55
+ def app(out_io: STDOUT)
56
+ parsed = Orchparty::Kubernetes::DSLParser.new(@file_name).parse
57
+ app_config = Transformations.transform_kubernetes(parsed, force_variable_definition: @force_variable_definition).applications[@application_name]
58
+ KubernetesApplication.new(app_config: app_config, namespace: @application_name, cluster_name: @cluster_name, file_name: @file_name, out_io: out_io)
59
+ end
60
+
61
+ def generate(plugin_name, options, plugin_options)
62
+ plugins[plugin_name].generate(ast(options), plugin_options)
63
+ end
52
64
 
53
- def self.print(cluster_name: , application_name: , force_variable_definition:, file_name:, method:, options:, out_io: )
54
- @@options= options
55
- app_config = Transformations.transform_kubernetes(Orchparty::Kubernetes::DSLParser.new(file_name).parse, force_variable_definition: force_variable_definition).applications[application_name]
56
- app = KubernetesApplication.new(app_config: app_config, namespace: application_name, cluster_name: cluster_name, file_name: file_name, out_io: out_io)
57
- app.print(method)
65
+ def ast(filename:, application:, force_variable_definition: nil)
66
+ Transformations.transform(Orchparty::DSLParser.new(filename).parse,
67
+ force_variable_definition: force_variable_definition).applications[application]
68
+ end
69
+
70
+ def load_plugins
71
+ Gem::Specification.map do |f|
72
+ f.matches_for_glob('orchparty/plugins/*.rb')
73
+ end.flatten.map do |file_name|
74
+ File.basename(file_name,
75
+ '.*').to_sym
76
+ end.each do |plugin_name|
77
+ plugin(plugin_name)
78
+ end
79
+ end
80
+
81
+ def plugin(name)
82
+ Orchparty::Plugin.load_plugin(name)
83
+ end
58
84
  end
59
85
  end
data/minfra-cli.gemspec CHANGED
@@ -33,4 +33,7 @@ Gem::Specification.new do |spec|
33
33
  spec.add_runtime_dependency "hashie", "~>3.5"
34
34
  spec.add_runtime_dependency "activesupport", "~> 6.1"
35
35
  spec.add_runtime_dependency "erubis", "~> 2.7"
36
+ spec.add_runtime_dependency "hiera", "3.9.0"
37
+ spec.add_runtime_dependency "hiera-eyaml", "3.3.0"
38
+ spec.add_runtime_dependency "hiera-eyaml-gpg", "0.7.4"
36
39
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: minfra-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Schrammel
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-06-04 00:00:00.000000000 Z
11
+ date: 2022-09-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -100,6 +100,48 @@ dependencies:
100
100
  - - "~>"
101
101
  - !ruby/object:Gem::Version
102
102
  version: '2.7'
103
+ - !ruby/object:Gem::Dependency
104
+ name: hiera
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - '='
108
+ - !ruby/object:Gem::Version
109
+ version: 3.9.0
110
+ type: :runtime
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - '='
115
+ - !ruby/object:Gem::Version
116
+ version: 3.9.0
117
+ - !ruby/object:Gem::Dependency
118
+ name: hiera-eyaml
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - '='
122
+ - !ruby/object:Gem::Version
123
+ version: 3.3.0
124
+ type: :runtime
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - '='
129
+ - !ruby/object:Gem::Version
130
+ version: 3.3.0
131
+ - !ruby/object:Gem::Dependency
132
+ name: hiera-eyaml-gpg
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - '='
136
+ - !ruby/object:Gem::Version
137
+ version: 0.7.4
138
+ type: :runtime
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - '='
143
+ - !ruby/object:Gem::Version
144
+ version: 0.7.4
103
145
  description: A cli framework for k8s based development and deployment.
104
146
  email:
105
147
  - peter.schrammel@gmx.de
@@ -110,11 +152,8 @@ extra_rdoc_files: []
110
152
  files:
111
153
  - ".dockerignore"
112
154
  - ".gitignore"
113
- - ".rspec"
114
155
  - CHANGELOG.md
115
156
  - Dockerfile
116
- - Gemfile
117
- - Gemfile.lock
118
157
  - bin/build
119
158
  - bin/console
120
159
  - bin/container_exec
@@ -191,7 +230,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
191
230
  - !ruby/object:Gem::Version
192
231
  version: '0'
193
232
  requirements: []
194
- rubygems_version: 3.2.5
233
+ rubygems_version: 3.1.6
195
234
  signing_key:
196
235
  specification_version: 4
197
236
  summary: A cli framework for k8s based development and deployment.
data/.rspec DELETED
@@ -1,2 +0,0 @@
1
- --format progress
2
- --color
data/Gemfile DELETED
@@ -1,59 +0,0 @@
1
- # frozen_string_literal: true
2
- source 'https://rubygems.org'
3
-
4
- #gemspec
5
- gem "thor"
6
- gem "table_print", "1.5.6"
7
- gem "rest-client", "~>2.0"
8
- gem "hashie", "~>3.5"
9
- gem "bootsnap"
10
- gem "gli", "~> 2.16.0"
11
- gem "activesupport"
12
- gem "erubis"
13
-
14
- gem 'byebug', require: true # convenience
15
- gem 'graphiti'
16
- gem 'faraday'
17
-
18
-
19
- group :test do
20
- gem 'rspec'
21
- gem 'rubocop'
22
- gem 'timecop'
23
- end
24
-
25
- group :development, :test do
26
- gem 'guard-rspec', require: false
27
- gem 'pry'
28
- gem 'pry-doc'
29
- end
30
-
31
- if false && ENV["MINFRA_WITH_PLUGINS"]=="true" # this is only set when we run the exe (not on bundle install...)
32
- require 'ostruct'
33
- require 'json'
34
- require 'byebug'
35
-
36
- [Pathname.new(ENV["MINFRA_PATH"]).join("config","minfra_plugins.json"),
37
- Pathname.new(ENV["MINFRA_PATH"]).join("me","minfra_plugins.json")].each do |file|
38
-
39
- next unless File.exist?(file)
40
-
41
- plugins=JSON.parse(File.read(file))
42
- plugins["plugins"].each do |spec|
43
- opts=spec["opts"] || {}
44
- opts.merge(require: false)
45
- if opts["path"]
46
- gem spec["name"], spec["version"], opts
47
- else
48
- begin
49
- Gem::Specification.find_by_name(spec["name"]) unless ENV["MINFRA_SETUP"]
50
- gem spec["name"], spec["version"], opts
51
- rescue Gem::MissingSpecError
52
- STDERR.puts("Can't load plugin: #{spec["name"]}, #{spec["version"]}; run 'minfra plugin setup'")
53
- end
54
- end
55
- end
56
- end
57
- end
58
-
59
-
data/Gemfile.lock DELETED
@@ -1,171 +0,0 @@
1
- GEM
2
- remote: https://rubygems.org/
3
- specs:
4
- activesupport (6.1.0)
5
- concurrent-ruby (~> 1.0, >= 1.0.2)
6
- i18n (>= 1.6, < 2)
7
- minitest (>= 5.1)
8
- tzinfo (~> 2.0)
9
- zeitwerk (~> 2.3)
10
- ast (2.4.0)
11
- bootsnap (1.4.6)
12
- msgpack (~> 1.0)
13
- byebug (11.1.3)
14
- coderay (1.1.3)
15
- concurrent-ruby (1.1.7)
16
- diff-lcs (1.3)
17
- domain_name (0.5.20190701)
18
- unf (>= 0.0.5, < 1.0.0)
19
- dry-configurable (0.13.0)
20
- concurrent-ruby (~> 1.0)
21
- dry-core (~> 0.6)
22
- dry-container (0.9.0)
23
- concurrent-ruby (~> 1.0)
24
- dry-configurable (~> 0.13, >= 0.13.0)
25
- dry-core (0.7.1)
26
- concurrent-ruby (~> 1.0)
27
- dry-inflector (0.2.1)
28
- dry-logic (1.2.0)
29
- concurrent-ruby (~> 1.0)
30
- dry-core (~> 0.5, >= 0.5)
31
- dry-types (1.5.1)
32
- concurrent-ruby (~> 1.0)
33
- dry-container (~> 0.3)
34
- dry-core (~> 0.5, >= 0.5)
35
- dry-inflector (~> 0.1, >= 0.1.2)
36
- dry-logic (~> 1.0, >= 1.0.2)
37
- erubis (2.7.0)
38
- faraday (2.0.1)
39
- faraday-net_http (~> 2.0)
40
- ruby2_keywords (>= 0.0.4)
41
- faraday-net_http (2.0.1)
42
- ffi (1.14.2)
43
- formatador (0.2.5)
44
- gli (2.16.1)
45
- graphiti (1.3.5)
46
- activesupport (>= 4.1)
47
- concurrent-ruby (~> 1.0)
48
- dry-types (>= 0.15.0, < 2.0)
49
- graphiti_errors (~> 1.1.0)
50
- jsonapi-renderer (~> 0.2, >= 0.2.2)
51
- jsonapi-serializable (~> 0.3.0)
52
- graphiti_errors (1.1.2)
53
- jsonapi-serializable (~> 0.1)
54
- guard (2.16.2)
55
- formatador (>= 0.2.4)
56
- listen (>= 2.7, < 4.0)
57
- lumberjack (>= 1.0.12, < 2.0)
58
- nenv (~> 0.1)
59
- notiffany (~> 0.0)
60
- pry (>= 0.9.12)
61
- shellany (~> 0.0)
62
- thor (>= 0.18.1)
63
- guard-compat (1.2.1)
64
- guard-rspec (4.7.3)
65
- guard (~> 2.1)
66
- guard-compat (~> 1.1)
67
- rspec (>= 2.99.0, < 4.0)
68
- hashie (3.5.7)
69
- http-accept (1.7.0)
70
- http-cookie (1.0.3)
71
- domain_name (~> 0.5)
72
- i18n (1.8.5)
73
- concurrent-ruby (~> 1.0)
74
- jaro_winkler (1.5.4)
75
- jsonapi-renderer (0.2.2)
76
- jsonapi-serializable (0.3.1)
77
- jsonapi-renderer (~> 0.2.0)
78
- listen (3.3.3)
79
- rb-fsevent (~> 0.10, >= 0.10.3)
80
- rb-inotify (~> 0.9, >= 0.9.10)
81
- lumberjack (1.2.8)
82
- method_source (1.0.0)
83
- mime-types (3.3.1)
84
- mime-types-data (~> 3.2015)
85
- mime-types-data (3.2020.0425)
86
- minitest (5.14.2)
87
- msgpack (1.3.3)
88
- nenv (0.3.0)
89
- netrc (0.11.0)
90
- notiffany (0.1.3)
91
- nenv (~> 0.1)
92
- shellany (~> 0.0)
93
- parallel (1.19.1)
94
- parser (2.7.1.2)
95
- ast (~> 2.4.0)
96
- pry (0.13.1)
97
- coderay (~> 1.1)
98
- method_source (~> 1.0)
99
- pry-doc (1.1.0)
100
- pry (~> 0.11)
101
- yard (~> 0.9.11)
102
- rainbow (3.0.0)
103
- rb-fsevent (0.10.4)
104
- rb-inotify (0.10.1)
105
- ffi (~> 1.0)
106
- rest-client (2.1.0)
107
- http-accept (>= 1.7.0, < 2.0)
108
- http-cookie (>= 1.0.2, < 2.0)
109
- mime-types (>= 1.16, < 4.0)
110
- netrc (~> 0.8)
111
- rexml (3.2.4)
112
- rspec (3.9.0)
113
- rspec-core (~> 3.9.0)
114
- rspec-expectations (~> 3.9.0)
115
- rspec-mocks (~> 3.9.0)
116
- rspec-core (3.9.2)
117
- rspec-support (~> 3.9.3)
118
- rspec-expectations (3.9.2)
119
- diff-lcs (>= 1.2.0, < 2.0)
120
- rspec-support (~> 3.9.0)
121
- rspec-mocks (3.9.1)
122
- diff-lcs (>= 1.2.0, < 2.0)
123
- rspec-support (~> 3.9.0)
124
- rspec-support (3.9.3)
125
- rubocop (0.82.0)
126
- jaro_winkler (~> 1.5.1)
127
- parallel (~> 1.10)
128
- parser (>= 2.7.0.1)
129
- rainbow (>= 2.2.2, < 4.0)
130
- rexml
131
- ruby-progressbar (~> 1.7)
132
- unicode-display_width (>= 1.4.0, < 2.0)
133
- ruby-progressbar (1.10.1)
134
- ruby2_keywords (0.0.5)
135
- shellany (0.0.1)
136
- table_print (1.5.6)
137
- thor (1.0.1)
138
- timecop (0.9.1)
139
- tzinfo (2.0.4)
140
- concurrent-ruby (~> 1.0)
141
- unf (0.1.4)
142
- unf_ext
143
- unf_ext (0.0.7.7)
144
- unicode-display_width (1.7.0)
145
- yard (0.9.25)
146
- zeitwerk (2.4.2)
147
-
148
- PLATFORMS
149
- ruby
150
-
151
- DEPENDENCIES
152
- activesupport
153
- bootsnap
154
- byebug
155
- erubis
156
- faraday
157
- gli (~> 2.16.0)
158
- graphiti
159
- guard-rspec
160
- hashie (~> 3.5)
161
- pry
162
- pry-doc
163
- rest-client (~> 2.0)
164
- rspec
165
- rubocop
166
- table_print (= 1.5.6)
167
- thor
168
- timecop
169
-
170
- BUNDLED WITH
171
- 2.1.4