minfra-cli 4.3.1 → 4.5.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: f391beecc0c949b1d7c1858dc6ccfdcabe22b975fa8e9cd2c610cdd410debc72
4
- data.tar.gz: 7bf5463712d8846e987f18c2a28a26972278abc60b5b04014573676a5ff4db37
3
+ metadata.gz: 07b87ef33ed2dc996e44d256b5a7261ddc450bdb9ec62ff4cf14ee75100fe54d
4
+ data.tar.gz: affd2f04ae229524d2aca2f27186cc788385071b91d31af715f9852869aafed5
5
5
  SHA512:
6
- metadata.gz: 69e60f521c841f05498f7fb3d63190058826f8f95ffa9c5fbdb8e17607ef2f165491edad8a4e5c0a8459099706872d2299e0664d0f9daa013825aaead7767170
7
- data.tar.gz: 8b84fb6a9c24b756a090f772cf5faa3733b3f3e10109701791e45997cb104f7f43c63799bc6f3a76a816047ae511701a9b606cc09412cc95e99c2114edd4ef45
6
+ metadata.gz: 93eeee98335ef70bab22772027c2c9d760d3fbb8e8bc0c6bfb84da675df0e5d04913db030012469f3c1092558dbc5b4b642042d5830953b976c4d5cc0b27e419
7
+ data.tar.gz: 291c28620311e16e4770a0db2a1d8e18a88529c5cf13e87b52dced59fc5e877533d00008d1561ba64713d2c566754e77d2724a62f7b55e054ff2d587dd2e2457
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ # 4.5.0
2
+ * removing the env.roles dependency so it's env.stacks only
3
+ # 4.4.0
4
+ * adding test option to runner to not run any command
5
+ * adding option tag to project branch create to fully override tag generation logic
6
+ * adding test options to project branch create to not run the final git command
1
7
  # 4.3.1
2
8
  * hashie mash hashes for helm values are now type converted correctl
3
9
  # 4.3.0
data/README.md CHANGED
@@ -14,7 +14,7 @@ Is a KIND (k8s in docker) based development environment.
14
14
  | | MINFRA_ARGV_FILE | | --minfra_argv_file [PATH TO A CSV FILE FILE] | |
15
15
  | | MINFRA_LOGGING_LEVEL | minfra.logging_level | | |
16
16
  | | | minfra.hiera.env_path | | |
17
- | | | default_stacks | | env.stacks or env.roles |
17
+ | | | default_stacks | | env.stacks |
18
18
  | | | | | infra::allow_insecure_k8s_connections |
19
19
  | when set to 'true' all hiera lookups are logged on debug level | MINFRA_DEBUG_HIERA_LOOKUPS | | | |
20
20
  | to override the backends in the hiera file, comma separated | MINFRA_HIERA_BACKENDS | | | |
@@ -22,19 +22,6 @@ Is a KIND (k8s in docker) based development environment.
22
22
  ## Expected hiera data
23
23
 
24
24
  * l("cluster.id"): the k8s name of the cluster
25
-
26
-
27
-
28
-
29
-
30
-
31
-
32
-
33
-
34
-
35
-
36
-
37
-
38
25
 
39
26
  # Orchparty
40
27
 
@@ -7,15 +7,27 @@ module Minfra
7
7
  desc "create 'story desc'", 'create branch'
8
8
  option :prefix, type: :string,
9
9
  desc: "don't use your git email address or project.branch.create.prefix or identity.email"
10
+ option :tag, type: :string, desc: 'overwrite default tag generation'
11
+ option :test, type: :boolean, default: false, desc: "don't create the tag just show the command"
12
+
10
13
  def create(story_desc)
11
- story_desc = story_desc.gsub(/[^0-9a-z-]/i, '_')
12
- prefix = options[:prefix] || Minfra::Cli.config.project.dig('project', 'branch', 'create', 'prefix')
13
- unless prefix
14
- email = Minfra::Cli.config.project.dig('identity', 'email') || `git config user.email`
15
- fullname = email.split('@').first
16
- prefix = fullname[0] + fullname.split('.').last
14
+ if options[:tag]
15
+ tag = options[:tag]
16
+ else
17
+ story_desc = story_desc.gsub(/[^0-9a-z-]/i, '_')
18
+
19
+ prefix = options[:prefix] || Minfra::Cli.config.project.dig('project', 'branch', 'create', 'prefix')
20
+ unless prefix
21
+ email = Minfra::Cli.config.project.dig('identity', 'email') || `git config user.email`
22
+ fullname = email.split('@').first
23
+ prefix = fullname[0] + fullname.split('.').last
24
+ end
25
+
26
+ now = Time.now.utc.strftime('%Y%m%d')
27
+ tag = options[:tag] || "#{prefix}_#{story_desc}_#{now}"
17
28
  end
18
- Runner.run("git checkout -b #{prefix}_#{story_desc}_$(date +%Y%m%d)")
29
+
30
+ Runner.run("git checkout -b #{tag}", test: options[:test])
19
31
  end
20
32
  end
21
33
  end
@@ -33,14 +33,14 @@ module Minfra
33
33
  option :opts
34
34
  option :force, type: :boolean
35
35
  def deploy(stack_name, message = '')
36
- stacks = l('env.roles') || l('env.stacks') || []
36
+ stacks = l('env.stacks') || []
37
37
  default_stacks = minfra_config.project.default_stacks || []
38
- stacks = stacks + default_stacks
38
+ stacks += default_stacks
39
39
  if stacks.include?(stack_name) || options[:force] || options[:test]
40
40
  kube.deploy(stack_name, message)
41
41
  else
42
- exit_error("project:default_stacks or hiera:env.roles or hiera:env.stacks has to include '#{stack_name}' or use --force or --test")
43
- end
42
+ exit_error("project:default_stacks or hiera:env.stacks has to include '#{stack_name}' or use --force or --test")
43
+ end
44
44
  end
45
45
 
46
46
  desc 'rollback <extraargs>', 'rollback a deployment'
@@ -64,16 +64,18 @@ module Minfra
64
64
 
65
65
  attr_reader :exit_on_error, :runner, :cmd, :on_output
66
66
 
67
- def initialize(cmd, exit_on_error: true, runner: :popen, on_output: nil)
67
+ def initialize(cmd, exit_on_error: true, runner: :popen, on_output: nil, test: false)
68
68
  @cmd = cmd
69
69
  @exit_on_error = exit_on_error
70
70
  @runner = runner
71
71
  @on_output = on_output
72
+ @test = test
72
73
  end
73
74
 
74
75
  def run
75
76
  debug("running (#{@runner}): #{@cmd}")
76
77
  res = Result.new(on_output:)
78
+ return res if @test
77
79
  case @runner
78
80
  when :system
79
81
  run_system(res)
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Minfra
4
4
  module Cli
5
- VERSION = '4.3.1'
5
+ VERSION = '4.5.0'
6
6
  end
7
7
  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: 4.3.1
4
+ version: 4.5.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: 2024-05-29 00:00:00.000000000 Z
11
+ date: 2024-06-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor