prima-twig 0.32.1 → 0.33.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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/bin/twig-feature +48 -0
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c8efcc450b8cdbee0e8ff232657eddabe5bde139
4
- data.tar.gz: 972c68fa0b058fc63d97dc0a6aafd29bed449461
3
+ metadata.gz: 043d90550297bbd6474f7083330199622ae5322c
4
+ data.tar.gz: 3dc8e2685e0e06e4e8753e7fcd9f0b54e3cb8626
5
5
  SHA512:
6
- metadata.gz: 79c4b4433998537a07fd8b72941b813132df0908bb9b030dc51ab4d170833f960994f07f2fc876924517d301439a79f56522c1736e5391a47b401a2afbc9bb9f
7
- data.tar.gz: '04644298f3d055e0bb74d84fc9cca7cb9432003fb4e78fd99cab9debcf7a20c2f3caa080448ae5a3d9926c771533d83b6fee6371f0c2e061dd8bd765a1064293'
6
+ metadata.gz: b863828556a1ebd5bd157ff95b95f17418ddec6f4b72fc2cfa0572e466f659ee9133d2f5b70ac1a2c48aed6dc8d21361933304e66589bf6acddfe09f457a7d66
7
+ data.tar.gz: 7640d8cd2afa9dbe5eb88157978b15e55aa701306fd924fec438c6565d440a6e6a772e9d861c41c904ccb523071d546c25ab6ffe89cc0ee09a29c8d04c7b4ce3
@@ -60,6 +60,8 @@ class Release
60
60
  deploy_shutdown!
61
61
  elsif 'update' == args[1]
62
62
  deploy_update!
63
+ elsif 'lock' == args[1]
64
+ deploy_lock!
63
65
  else
64
66
  if args[1]
65
67
  select_branches(args[1])
@@ -313,6 +315,46 @@ class Release
313
315
  output "Finito!".green
314
316
  end
315
317
 
318
+ def deploy_lock!
319
+ output "Deploy update menu"
320
+ `git pull && git submodule init && git submodule update`
321
+
322
+ @deploy_update = true
323
+
324
+ output "Recupero le informazioni sui QA attivi..."
325
+ stack_list, envs = get_stacks()
326
+
327
+ env_hash = nil
328
+ unless envs.empty?
329
+ env_hash = choose do |menu|
330
+ menu.prompt = "Scegli il QA che vuoi proteggere dallo spegnimento automatico: ".cyan
331
+ menu.shell = true
332
+ envs.each do |key, env|
333
+ title = ""
334
+ env.each do |e|
335
+ title << "\n#{e.key.upcase}: #{e.value}"
336
+ end
337
+ msg = "#{@prima.reduce_size(title, 1000)}".light_blue
338
+ menu.choice(msg) { key }
339
+ end
340
+ end
341
+ else
342
+ output "Nessun QA trovato".red
343
+ exit
344
+ end
345
+
346
+ cluster_stack_name = "ecs-cluster-#{env_hash}"
347
+ if stack_exists?(cluster_stack_name)
348
+ tags = get_stack_tags(cluster_stack_name)
349
+ tag_keep_data = Aws::CloudFormation::Types::Tag.new({key:'AUTOMATIC_DELETION_PROTECTION', value:'true'})
350
+ tags.push tag_keep_data
351
+ end
352
+
353
+ update_cluster_stack(cluster_stack_name, tags)
354
+
355
+ output "Finito!".green
356
+ end
357
+
316
358
  def deploy_update!
317
359
  output "Deploy update menu"
318
360
  `git pull && git submodule init && git submodule update`
@@ -1709,6 +1751,11 @@ class Release
1709
1751
  create_stack(stack_name, stack_body, [], tags)
1710
1752
  end
1711
1753
 
1754
+ def update_cluster_stack(stack_name, tags = [])
1755
+ stack_body = IO.read('cloudformation/stacks/ecs-cluster.yml')
1756
+ update_stack(stack_name, stack_body, [], tags)
1757
+ end
1758
+
1712
1759
  def create_alb_stack(stack_name, role)
1713
1760
  stack_body = IO.read('cloudformation/stacks/alb/ecs-alb-public.yml')
1714
1761
  parameters = [
@@ -1983,6 +2030,7 @@ Description
1983
2030
  deploy deploys the feature branch to a temporary AWS Elastic Beanstalk env
1984
2031
  deploy stop destroys the AWS Elastic Beanstalk env
1985
2032
  deploy update updates a feature branch with current branches
2033
+ deploy lock protects a qa environment from automatic deletion
1986
2034
  aggregator enable/disable directs comparator's staging environments to a qa/staging
1987
2035
 
1988
2036
  Subcommand for Twig: <http://rondevera.github.io/twig/>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prima-twig
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.32.1
4
+ version: 0.33.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matteo Giachino
@@ -13,7 +13,7 @@ authors:
13
13
  autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
- date: 2018-03-26 00:00:00.000000000 Z
16
+ date: 2018-03-27 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: aws-sdk