prima-twig 1.0.26 → 1.0.31

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: 6e674591fdd58afb60ab42cf657d714fd38aa4f2fedb35af9faa39a2f590ca9d
4
- data.tar.gz: a09edeec0d1b54cd56db5fa2c1c7ba06a0566c4b77ed388268f8d870b7feb152
3
+ metadata.gz: 418ab657cf2ab47b3f07d5453122338be256e794f73217c7ac333a430005c741
4
+ data.tar.gz: 7ceb82f1947e646cc524357867616d2adca1e62ab1e5ac618935ee1ccca6d03a
5
5
  SHA512:
6
- metadata.gz: 8c1e16c56cd0e83335552a22c8ad77e8e59e6c58569c76aade3f5057c6b6a64ab2e7f4e6a62f4c97149eee35464c5970e0929951b1034b9658f04dcc3a938f51
7
- data.tar.gz: 84e4203d1cd4bc30ae446a28b4a1950f8f09e5b61c3746bd2916d9a304eb4b1fb5f6c20885e1e28595b9d6616de7da25da0bf69a943827de385e7fcb975fa810
6
+ metadata.gz: 5dcdc7759dde6d217b44308a9863a141c04cf0c16f3eee02fcf5a8100e46b5d140e2a000efeb32b15a37821c5829d8c36614800b68c7b6bcee5f082155423288
7
+ data.tar.gz: 51fca59dc55ebe66dc45a1971521a7ea29dd593f538e53ff8f309806515542a175242a3b6e47cf72609bdad058de7266311fb053f61035194c4f7606b3828edc
@@ -34,7 +34,6 @@ class Build
34
34
  'hal9000' => {},
35
35
  'fidaty' => {},
36
36
  'peano' => {},
37
- # 'rogoreport' => {},
38
37
  'assange' => {},
39
38
  'borat' => {},
40
39
  'crash' => {},
@@ -46,7 +45,11 @@ class Build
46
45
  'pyxis-npm' => {},
47
46
  'starsky' => {},
48
47
  'hutch' => {},
49
- 'maia' => {}
48
+ 'maia' => {},
49
+ 'legion' => {},
50
+ 'vianello' => {},
51
+ 'domus' => {}
52
+ # 'toretto' => {}
50
53
  }
51
54
  @base_stack_name_alb = 'ecs-alb-http-public-qa-'
52
55
  @base_stack_name_alb_ws = 'ecs-alb-ws-public-qa-'
@@ -200,7 +203,7 @@ class Build
200
203
  @tags = [
201
204
  {
202
205
  key: "qainit",
203
- value: @git_branch
206
+ value: @git_branch.gsub(/[^a-zA-Z0-9\-]/,"-")
204
207
  },
205
208
  {
206
209
  key: "hostname_pattern_priority",
@@ -332,6 +335,10 @@ class Build
332
335
  parameter_key: "RedisIp",
333
336
  parameter_value: get_ec2_ip_address
334
337
  },
338
+ {
339
+ parameter_key: "LegionIp",
340
+ parameter_value: get_ec2_ip_address
341
+ },
335
342
  {
336
343
  parameter_key: "AssangeElbHostname",
337
344
  parameter_value: get_alb_host(stack_name_alb)
@@ -355,6 +362,14 @@ class Build
355
362
  {
356
363
  parameter_key: 'MaiaElbHostname',
357
364
  parameter_value: get_alb_host(stack_name_alb)
365
+ },
366
+ {
367
+ parameter_key: 'VianelloElbHostname',
368
+ parameter_value: get_alb_host(stack_name_alb)
369
+ },
370
+ {
371
+ parameter_key: 'DomusElbHostname',
372
+ parameter_value: get_alb_host(stack_name_alb)
358
373
  }
359
374
  ]
360
375
 
@@ -419,6 +434,45 @@ class Build
419
434
  end
420
435
  end
421
436
 
437
+ def create_legion_stack()
438
+ wait_for_artifact('prima-artifacts-encrypted', "microservices/legion/#{@projects["legion"]['revision']}-qa.tar.gz")
439
+ stack_name_legion = get_stack_name("legion")
440
+ git_checkout_version('legion', @projects["legion"]['revision'])
441
+ stack_body = File.read('projects/legion/deploy/task.yml')
442
+ parameters = [
443
+ {
444
+ parameter_key: "Environment",
445
+ parameter_value: "qa"
446
+ },
447
+ {
448
+ parameter_key: "ReleaseVersion",
449
+ parameter_value: @projects["legion"]['revision']
450
+ },
451
+ {
452
+ parameter_key: "TaskDesiredCount",
453
+ parameter_value: "1"
454
+ },
455
+ {
456
+ parameter_key: "ECSClusterName",
457
+ parameter_value: get_ecs_cluster_name
458
+ },
459
+ {
460
+ parameter_key: "HostnamePattern",
461
+ parameter_value: "legion-#{get_deploy_id}.qa.colaster.com"
462
+ },
463
+ {
464
+ parameter_key: "HostnamePatternPriority",
465
+ parameter_value: hostname_pattern_priority
466
+ }
467
+ ]
468
+ if stack_exists?(stack_name_legion)
469
+ cur_version = get_currently_deployed_version(stack_name_legion)
470
+ update_stack(stack_name_legion, stack_body, parameters, @tags, @cf_role) unless cur_version.include?(@projects["legion"]['revision'])
471
+ else
472
+ create_stack(stack_name_legion, stack_body, parameters, @tags, @cf_role)
473
+ end
474
+ end
475
+
422
476
  def create_urania_stack()
423
477
  wait_for_artifact('prima-artifacts-encrypted', "microservices/urania/#{@projects["urania"]['revision']}-qa.tar.gz")
424
478
  stack_name_urania = get_stack_name("urania")
@@ -708,38 +762,6 @@ class Build
708
762
  end
709
763
  end
710
764
 
711
- # def create_rogoreport_stack()
712
- # wait_for_artifact('prima-artifacts-encrypted', "microservices/rogoreport/rogoreport-#{@projects["rogoreport"]['revision']}-qa.tar.gz")
713
- #
714
- # stack_name_rogoreport = get_stack_name("rogoreport")
715
- # git_checkout_version('rogoreport', @projects["rogoreport"]['revision'])
716
- # stack_body = IO.read('projects/rogoreport/deploy/task.yml')
717
- # parameters = [
718
- # {
719
- # parameter_key: "Environment",
720
- # parameter_value: "qa"
721
- # },
722
- # {
723
- # parameter_key: "ReleaseVersion",
724
- # parameter_value: "#{@projects["rogoreport"]['revision']}"
725
- # },
726
- # {
727
- # parameter_key: "ReleaseName",
728
- # parameter_value: "rogoreport"
729
- # },
730
- # {
731
- # parameter_key: "ECSClusterName",
732
- # parameter_value: get_ecs_cluster_name
733
- # }
734
- # ]
735
- # if stack_exists?(stack_name_rogoreport)
736
- # cur_version = get_currently_deployed_version(stack_name_rogoreport)
737
- # update_stack(stack_name_rogoreport, stack_body, parameters, @tags, @cf_role) unless cur_version.include?(@projects["rogoreport"]['revision'])
738
- # else
739
- # create_stack(stack_name_rogoreport, stack_body, parameters, @tags, @cf_role)
740
- # end
741
- # end
742
-
743
765
  def create_assange_stack()
744
766
  wait_for_artifact('prima-artifacts-encrypted', "microservices/assange/#{@projects["assange"]['revision']}-qa.tar.gz")
745
767
 
@@ -1415,6 +1437,114 @@ class Build
1415
1437
  end
1416
1438
  end
1417
1439
 
1440
+ def create_vianello_stack()
1441
+ if deploy_vianello_or_domus?
1442
+ wait_for_artifact('prima-artifacts-encrypted', "microservices/vianello/#{@projects["vianello"]['revision']}-qa.tar.gz")
1443
+ stack_name_vianello = "ecs-task-vianello-qa-#{get_deploy_id}"
1444
+ git_checkout_version('vianello', @projects["vianello"]['revision'])
1445
+ stack_body = File.read('projects/vianello/deploy/task.yml')
1446
+ parameters = [
1447
+ {
1448
+ parameter_key: "Environment",
1449
+ parameter_value: "qa"
1450
+ },
1451
+ {
1452
+ parameter_key: "ReleaseVersion",
1453
+ parameter_value: @projects["vianello"]['revision']
1454
+ },
1455
+ {
1456
+ parameter_key: "ECSClusterName",
1457
+ parameter_value: get_ecs_cluster_name
1458
+ },
1459
+ {
1460
+ parameter_key: "TaskDesiredCount",
1461
+ parameter_value: '1'
1462
+ },
1463
+ {
1464
+ parameter_key: "HostnamePattern",
1465
+ parameter_value: "vianello-#{get_deploy_id}.qa.colaster.com"
1466
+ },
1467
+ {
1468
+ parameter_key: "HostnamePatternPriority",
1469
+ parameter_value: (hostname_pattern_priority.to_i + 254).to_s
1470
+ },
1471
+ {
1472
+ parameter_key: "ECSClusterName",
1473
+ parameter_value: get_ecs_cluster_name
1474
+ },
1475
+ {
1476
+ parameter_key: "ALBShortName",
1477
+ parameter_value: "vianello-qa-#{get_deploy_id}"[0..27]
1478
+ },
1479
+ {
1480
+ parameter_key: "EnvHash",
1481
+ parameter_value: get_deploy_id
1482
+ }
1483
+ ]
1484
+ if stack_exists?(stack_name_vianello)
1485
+ cur_version = get_currently_deployed_version(stack_name_vianello)
1486
+ update_stack(stack_name_vianello, stack_body, parameters, @tags, @cf_role) unless cur_version.include?(@projects["vianello"]['revision'])
1487
+ else
1488
+ create_stack(stack_name_vianello, stack_body, parameters, @tags, @cf_role)
1489
+ end
1490
+ else
1491
+ true
1492
+ end
1493
+ end
1494
+
1495
+ def create_domus_stack()
1496
+ if deploy_vianello_or_domus?
1497
+ wait_for_artifact('prima-artifacts-encrypted', "microservices/domus/#{@projects["domus"]['revision']}-#{get_deploy_id[0..7]}-qa.tar.gz")
1498
+ wait_for_stack_ready(get_stack_name("vianello")) unless stack_ready?(get_stack_name("vianello"))
1499
+
1500
+ stack_name_domus = get_stack_name("domus")
1501
+ git_checkout_version('domus', @projects["domus"]['revision'])
1502
+ stack_body = File.read('projects/domus/deploy/task.yml')
1503
+ parameters = [
1504
+ {
1505
+ parameter_key: "Environment",
1506
+ parameter_value: "qa"
1507
+ },
1508
+ {
1509
+ parameter_key: "ReleaseVersion",
1510
+ parameter_value: "#{@projects["domus"]['revision']}-#{get_deploy_id[0..7]}"
1511
+ },
1512
+ {
1513
+ parameter_key: "ALBShortName",
1514
+ parameter_value: "domus-qa-#{get_deploy_id}"[0..27]
1515
+ },
1516
+ {
1517
+ parameter_key: "ECSClusterName",
1518
+ parameter_value: get_ecs_cluster_name
1519
+ },
1520
+ {
1521
+ parameter_key: "EnvHash",
1522
+ parameter_value: get_deploy_id
1523
+ },
1524
+ {
1525
+ parameter_key: "HostnamePattern",
1526
+ parameter_value: "domus-#{get_deploy_id}.qa.colaster.com"
1527
+ },
1528
+ {
1529
+ parameter_key: "HostnamePatternPriority",
1530
+ parameter_value: (hostname_pattern_priority.to_i + 254).to_s
1531
+ },
1532
+ {
1533
+ parameter_key: "ApiUrl",
1534
+ parameter_value: "https://#{get_route53_hostname('vianello')}"
1535
+ }
1536
+ ]
1537
+ if stack_exists?(stack_name_domus)
1538
+ cur_version = get_currently_deployed_version(stack_name_domus)
1539
+ update_stack(stack_name_domus, stack_body, parameters, @tags, @cf_role) unless cur_version.include?(@projects["domus"]['revision'])
1540
+ else
1541
+ create_stack(stack_name_domus, stack_body, parameters, @tags, @cf_role)
1542
+ end
1543
+ else
1544
+ true
1545
+ end
1546
+ end
1547
+
1418
1548
  def create_rogoreport_stack()
1419
1549
  true
1420
1550
  end
@@ -1425,12 +1555,16 @@ class Build
1425
1555
  wait_for_stack_ready(get_stack_name("worker-ermes")) unless stack_ready?(get_stack_name("worker-ermes"))
1426
1556
  wait_for_stack_ready(get_stack_name("ermes")) unless stack_ready?(get_stack_name("ermes"))
1427
1557
  wait_for_stack_ready(get_stack_name("peano")) unless stack_ready?(get_stack_name("peano"))
1428
- # wait_for_stack_ready(get_stack_name("rogoreport")) unless stack_ready?(get_stack_name("rogoreport"))
1558
+ wait_for_stack_ready(get_stack_name("legion")) unless stack_ready?(get_stack_name("legion"))
1429
1559
  wait_for_stack_ready(get_stack_name("borat")) unless stack_ready?(get_stack_name("borat"))
1430
1560
  wait_for_stack_ready(get_stack_name("activia")) unless stack_ready?(get_stack_name("activia"))
1431
1561
  wait_for_stack_ready(get_stack_name("maia")) unless stack_ready?(get_stack_name("maia"))
1432
1562
  wait_for_stack_ready(get_stack_name("crash")) unless stack_ready?(get_stack_name("crash"))
1433
1563
  wait_for_stack_ready(get_stack_name("hutch")) unless stack_ready?(get_stack_name("hutch"))
1564
+ if deploy_vianello_or_domus?
1565
+ wait_for_stack_ready(get_stack_name("vianello")) unless stack_ready?(get_stack_name("vianello"))
1566
+ wait_for_stack_ready(get_stack_name("domus")) unless stack_ready?(get_stack_name("domus"))
1567
+ end
1434
1568
 
1435
1569
  update_service_defaults(get_stack_name("web"))
1436
1570
  update_service_defaults(get_stack_name("consumer-api"))
@@ -1441,7 +1575,7 @@ class Build
1441
1575
  update_service_defaults(get_stack_name("hal9000"))
1442
1576
  update_service_defaults(get_stack_name("fidaty"))
1443
1577
  update_service_defaults(get_stack_name("peano"))
1444
- # update_service_defaults(get_stack_name("rogoreport"))
1578
+ # update_service_defaults(get_stack_name("legion")) TODO UNCOMMENT
1445
1579
  update_service_defaults(get_stack_name("assange"))
1446
1580
  update_service_defaults(get_stack_name("borat"))
1447
1581
  update_service_defaults(get_stack_name("activia"))
@@ -1452,6 +1586,10 @@ class Build
1452
1586
  update_service_defaults(get_stack_name("starsky"))
1453
1587
  update_service_defaults(get_stack_name("hutch"))
1454
1588
  update_service_defaults(get_stack_name("crash"))
1589
+ if deploy_vianello_or_domus?
1590
+ update_service_defaults(get_stack_name("vianello"))
1591
+ update_service_defaults(get_stack_name("domus"))
1592
+ end
1455
1593
 
1456
1594
  activia_hostname = get_route53_hostname("activia")
1457
1595
  assange_hostname = get_route53_hostname("assange")
@@ -1472,8 +1610,11 @@ class Build
1472
1610
  crash_hostname = get_route53_hostname("crash")
1473
1611
  starsky_hostname = get_route53_hostname("starsky")
1474
1612
  hutch_hostname = get_route53_hostname("hutch")
1613
+ legion_hostname = get_route53_hostname("legion")
1614
+ vianello_hostname = get_route53_hostname("vianello")
1615
+ domus_hostname = get_route53_hostname("domus")
1475
1616
 
1476
- launch_mimo(get_deploy_id)
1617
+ #launch_mimo(get_deploy_id)
1477
1618
 
1478
1619
  projects_text = "
1479
1620
  > Prima url: https://#{prima_hostname}
@@ -1492,9 +1633,14 @@ class Build
1492
1633
  > Rachele url: http://#{rachele_hostname}:10040
1493
1634
  > Maia App url: https://#{maia_app_hostname}
1494
1635
  > Maia Intermediari url: https://#{maia_intermediari_hostname}
1636
+ > Legion url: http://#{legion_hostname}:8051
1495
1637
  > Crash url: https://#{crash_hostname}
1496
1638
  > Starsky url: https://#{starsky_hostname}
1497
- > Hutch url: https://#{hutch_hostname}
1639
+ > Hutch url: https://#{hutch_hostname}"
1640
+ projects_text.concat "
1641
+ > Vianello url: https://#{vianello_hostname}
1642
+ > Domus url: https://#{domus_hostname}" if deploy_vianello_or_domus?
1643
+ projects_text.concat "
1498
1644
  > RabbitMQ url: http://#{get_ec2_ip_address}:15672
1499
1645
  > Elasticsearch url: http://#{get_ec2_ip_address}:9200
1500
1646
  > Git branch: #{@git_branch}
@@ -1554,8 +1700,14 @@ class Build
1554
1700
  host = "hutch-#{get_deploy_id}.qa.colaster.com"
1555
1701
  when project.include?('maia-app')
1556
1702
  host = "api-#{get_deploy_id}.qa.colaster.com"
1703
+ when project.include?('legion')
1704
+ host = "legion-#{get_deploy_id}.qa.colaster.com"
1557
1705
  when project.include?('maia-intermediari')
1558
1706
  host = "api-intermediari-#{get_deploy_id}.qa.colaster.com"
1707
+ when project.include?('vianello')
1708
+ host = "vianello-#{get_deploy_id}.qa.colaster.com"
1709
+ when project.include?('domus')
1710
+ host = "domus-#{get_deploy_id}.qa.colaster.com"
1559
1711
  end
1560
1712
  host
1561
1713
  end
@@ -1615,6 +1767,12 @@ class Build
1615
1767
  logical_resource_id = 'EcsApplicationLoadBalancerPublic'
1616
1768
  when stack_name.include?('maia')
1617
1769
  logical_resource_id = 'EcsApplicationLoadBalancerPublic'
1770
+ when stack_name.include?('legion')
1771
+ logical_resource_id = 'EcsApplicationLoadBalancerInternal'
1772
+ when stack_name.include?('vianello')
1773
+ logical_resource_id = 'EcsApplicationLoadBalancerInternal'
1774
+ when stack_name.include?('domus')
1775
+ logical_resource_id = 'EcsApplicationLoadBalancerPublic'
1618
1776
  end
1619
1777
  resp = describe_stack_resource(stack_name, logical_resource_id)
1620
1778
  resp = describe_load_balancers([resp.stack_resource_detail.physical_resource_id])
@@ -1649,8 +1807,6 @@ class Build
1649
1807
  logical_resource_id = 'ECSServiceActiviaQA'
1650
1808
  when stack_name.include?('peano')
1651
1809
  logical_resource_id = 'ECSServicePeanoQA'
1652
- # when stack_name.include?('rogoreport')
1653
- # logical_resource_id = 'ECSServiceRogoreport'
1654
1810
  when stack_name.include?('assange')
1655
1811
  logical_resource_id = 'ECSServiceAssangeQA'
1656
1812
  when stack_name.include?('borat')
@@ -1667,6 +1823,12 @@ class Build
1667
1823
  logical_resource_id = 'ECSServiceHutch'
1668
1824
  when stack_name.include?('maia')
1669
1825
  logical_resource_id = 'ECSServiceMaia'
1826
+ when stack_name.include?('legion')
1827
+ logical_resource_id = 'ECSServiceLegionQA'
1828
+ when stack_name.include?('vianello')
1829
+ logical_resource_id = 'ECSServiceVianelloQA'
1830
+ when stack_name.include?('domus')
1831
+ logical_resource_id = 'ECSServiceDomus'
1670
1832
  else
1671
1833
  raise "Service name non gestito per lo stack #{stack_name}"
1672
1834
  end
@@ -1745,6 +1907,12 @@ class Build
1745
1907
  })
1746
1908
  end
1747
1909
 
1910
+ def deploy_vianello_or_domus?
1911
+ vianello_present = !@projects['vianello'].empty? && @projects['vianello'][:name] != 'master' && !@projects['vianello'][:default_branch]
1912
+ domus_present = !@projects['domus'].empty? && @projects['domus'][:name] != 'master' && !@projects['domus'][:default_branch]
1913
+ vianello_present || domus_present
1914
+ end
1915
+
1748
1916
  def git_checkout_version(project, revision)
1749
1917
  Dir.chdir "projects/#{project}"
1750
1918
  exec_step "git checkout -- . && git checkout #{revision}"
@@ -45,7 +45,8 @@ class Release
45
45
  'pyxis-npm' => {},
46
46
  'starsky' => {},
47
47
  'hutch' => {},
48
- 'maia' => {}
48
+ 'maia' => {},
49
+ 'legion' => {}
49
50
  }
50
51
  @base_stack_name_alb = 'ecs-alb-http-public-qa-'
51
52
  @base_stack_name_alb_ws = 'ecs-alb-ws-public-qa-'
@@ -433,6 +434,8 @@ class Release
433
434
  def qainit_deploy!(quiet = false)
434
435
  `git checkout master && git pull && git submodule update --init --recursive && git remote prune origin`
435
436
 
437
+ `git branch -r | awk '{print $1}' | egrep -v -f /dev/fd/0 <(git branch -vv | grep origin) | awk '{print $1}' | xargs git branch -D`
438
+
436
439
  default_name = get_default_branch_name @projects
437
440
  feature_number = ''
438
441
  unless quiet
@@ -650,6 +653,8 @@ class Release
650
653
  logical_resource_id = 'EcsApplicationLoadBalancerPublic'
651
654
  when stack_name.include?('maia')
652
655
  logical_resource_id = 'EcsApplicationLoadBalancerPublic'
656
+ when stack_name.include?('legion')
657
+ logical_resource_id = 'EcsApplicationLoadBalancerInternal'
653
658
  end
654
659
  resp = describe_stack_resource(stack_name, logical_resource_id)
655
660
  resp = describe_load_balancers([resp.stack_resource_detail.physical_resource_id])
@@ -340,7 +340,7 @@ module PrimaAwsClient
340
340
  def wait_for_artifact(bucket, path)
341
341
  ready = artifact_exists?(bucket, path)
342
342
  sleep_seconds = 13
343
- output "Attendo che lo sia pronto l'artefatto #{path}...\n".yellow
343
+ output "Attendo che sia pronto l'artefatto #{path}...\n".yellow
344
344
  retries = 0
345
345
  while !ready
346
346
  ready = true if artifact_exists?(bucket, path)
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: 1.0.26
4
+ version: 1.0.31
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matteo Giachino
@@ -14,7 +14,7 @@ authors:
14
14
  autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
- date: 2020-05-12 00:00:00.000000000 Z
17
+ date: 2020-06-25 00:00:00.000000000 Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  name: aws-sdk-autoscaling