minfra-cli 4.3.1 → 4.5.0

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: 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