prima-twig 0.46.10 → 0.47.1

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 +107 -107
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c47c1729b384769a2f1626642df8ca2ec7918dce3af036bd8b8b40b2de5a5fd1
4
- data.tar.gz: 6c3d76f1d5cad2ac0fe5bee290adbe4893530042e3675e39ebdee602e8843867
3
+ metadata.gz: 7afacba1326cfaed8ba53958e1b8767510b85383128a968351e9d14be56f73ae
4
+ data.tar.gz: 0171f3e4807a8c4a06cd221d9cc4f612fdafa18cdeb6fc6034676fb13066c116
5
5
  SHA512:
6
- metadata.gz: f12e6e9f6614545eedf5603aebde0663ed3b3403faab75d4dd940b79501ffabd42815c378511f1650de167db8d70258772ae0a80ce76e904e9171e72c6f1d03e
7
- data.tar.gz: 9bf65f67e801790d2de91c175ebdda978e4417e4219b5754f1d1e432e8a910c523ae69c4d286e4a2491e07120e8a6c4d4296fec175b83e056aa2c0e0786a8899
6
+ metadata.gz: 1b084db7890823f9b9089c83548b652f1a234257ab652cbc35f41291c324a58e17c07fb5994b6071fb5e7c8853925a4a3e060e48d7c298d0c4d74da8739008bb
7
+ data.tar.gz: b3bcfcb88e6f1e9b26560fc697d83b8f92ae3af646b86e9ea2f24bb8be2a5201a37c9eef4d9b1b868318257fda25be9cab6f65edbbab26962902621c51adedb6
data/bin/twig-feature CHANGED
@@ -51,7 +51,8 @@ class Release
51
51
  'crash' => {},
52
52
  'activia' => {},
53
53
  'skynet' => {},
54
- 'roger' => {}
54
+ 'roger' => {},
55
+ 'leftorium' => {}
55
56
  }
56
57
  @base_stack_name_alb = 'ecs-alb-http-public-qa-'
57
58
  @base_stack_name_alb_ws = 'ecs-alb-ws-public-qa-'
@@ -853,64 +854,18 @@ class Release
853
854
  key: "qainit",
854
855
  value: @git_branch
855
856
  },
856
- {
857
- key: "prima",
858
- value: @projects["prima"][:name]
859
- },
860
- {
861
- key: "urania",
862
- value: @projects["urania"][:name]
863
- },
864
- {
865
- key: "ermes",
866
- value: @projects["ermes"][:name]
867
- },
868
- {
869
- key: "bburago",
870
- value: @projects["bburago"][:name]
871
- },
872
- {
873
- key: "hal9000",
874
- value: @projects["hal9000"][:name]
875
- },
876
- {
877
- key: "fidaty",
878
- value: @projects["fidaty"][:name]
879
- },
880
857
  {
881
858
  key: "hostname_pattern_priority",
882
859
  value: hostname_pattern_priority
883
- },
884
- {
885
- key: "peano",
886
- value: @projects["peano"][:name]
887
- },
888
- {
889
- key: "rogoreport",
890
- value: @projects["rogoreport"][:name]
891
- },
892
- {
893
- key: "assange",
894
- value: @projects["assange"][:name]
895
- },
896
- {
897
- key: "borat",
898
- value: @projects["borat"][:name]
899
- },
900
- {
901
- key: "activia",
902
- value: @projects["activia"][:name]
903
- },
904
- {
905
- key: "skynet",
906
- value: @projects["skynet"][:name]
907
- },
908
- {
909
- key: "roger",
910
- value: @projects["roger"][:name]
911
860
  }
912
861
  ]
913
- tags << { key: 'crash', value: @projects['crash'][:name] } if deploy_crash?
862
+ @projects.each do |key, value|
863
+ if key.to_s == 'crash'
864
+ tags << { key: 'crash', value: @projects['crash'][:name] } if deploy_crash?
865
+ else
866
+ tags << { key: key, value: value[:name] }
867
+ end
868
+ end
914
869
 
915
870
  cluster_stack_name = "ecs-cluster-qa-#{deploy_id}"
916
871
 
@@ -965,6 +920,7 @@ class Release
965
920
  create_assange_artifact(@projects["assange"][:revision]) unless artifact_exists?('prima-artifacts-encrypted', "microservices/assange/#{@projects["assange"][:revision]}-qa.tar.gz")
966
921
  create_borat_artifact(@projects["borat"][:revision]) unless artifact_exists?('prima-artifacts-encrypted', "microservices/borat/#{@projects["borat"][:revision]}-qa.tar.gz")
967
922
  create_activia_artifact(@projects["activia"][:revision]) unless artifact_exists?('prima-artifacts-encrypted', "microservices/activia/#{@projects["activia"][:revision]}-qa.tar.gz")
923
+ create_leftorium_artifact(@projects["leftorium"][:revision]) unless artifact_exists?('prima-artifacts-encrypted', "microservices/leftorium/#{@projects["leftorium"][:revision]}-qa.tar.gz")
968
924
  create_skynet_artifact(@projects["skynet"][:revision]) unless artifact_exists?('prima-artifacts-encrypted', "microservices/skynet/#{@projects["skynet"][:revision]}-qa.tar.gz")
969
925
 
970
926
  wait_for_db_import(db_task) unless stack_exists?("ecs-route53-qa-#{deploy_id}") # dovrebbe essere istantaneo
@@ -1021,6 +977,10 @@ class Release
1021
977
  parameter_key: "RogerIp",
1022
978
  parameter_value: ec2_ip_address(asg_stack_name)
1023
979
  },
980
+ {
981
+ parameter_key: "LeftoriumIp",
982
+ parameter_value: ec2_ip_address(asg_stack_name)
983
+ },
1024
984
  {
1025
985
  parameter_key: "RedisIp",
1026
986
  parameter_value: ec2_ip_address(asg_stack_name)
@@ -1394,6 +1354,42 @@ class Release
1394
1354
  create_stack(stack_name_assange, stack_body, parameters, tags, @cf_role)
1395
1355
  end
1396
1356
 
1357
+ stack_name_leftorium = "ecs-task-leftorium-qa-#{deploy_id}"
1358
+ git_checkout_version('leftorium', @projects["leftorium"][:revision])
1359
+ stack_body = File.read('projects/leftorium/deploy/task.yml')
1360
+ parameters = [
1361
+ {
1362
+ parameter_key: "Environment",
1363
+ parameter_value: "qa"
1364
+ },
1365
+ {
1366
+ parameter_key: "ReleaseVersion",
1367
+ parameter_value: "#{@projects["leftorium"][:revision]}"
1368
+ },
1369
+ {
1370
+ parameter_key: "ECSClusterName",
1371
+ parameter_value: @ecs_cluster_name
1372
+ },
1373
+ {
1374
+ parameter_key: "TaskDesiredCount",
1375
+ parameter_value: "1"
1376
+ },
1377
+ {
1378
+ parameter_key: "HostnamePattern",
1379
+ parameter_value: "leftorium-#{@dns_record_identifier}.qa.colaster.com"
1380
+ },
1381
+ {
1382
+ parameter_key: "HostnamePatternPriority",
1383
+ parameter_value: hostname_pattern_priority
1384
+ }
1385
+ ]
1386
+ if stack_exists?(stack_name_leftorium)
1387
+ cur_version = get_currently_deployed_version(stack_name_leftorium)
1388
+ update_stack(stack_name_leftorium, stack_body, parameters, tags, @cf_role) unless cur_version.include?(@projects["leftorium"][:revision])
1389
+ else
1390
+ create_stack(stack_name_leftorium, stack_body, parameters, tags, @cf_role)
1391
+ end
1392
+
1397
1393
  stack_name_borat = "ecs-task-borat-qa-#{deploy_id}"
1398
1394
  git_checkout_version('borat', @projects["borat"][:revision])
1399
1395
  stack_body = IO.read('projects/borat/deploy/task.yml')
@@ -1563,6 +1559,7 @@ class Release
1563
1559
  wait_for_stack_ready(stack_name_hal9000) unless stack_ready?(stack_name_hal9000)
1564
1560
  wait_for_stack_ready(stack_name_assange) unless stack_ready?(stack_name_assange)
1565
1561
  wait_for_stack_ready(stack_name_fidaty) unless stack_ready?(stack_name_fidaty)
1562
+ wait_for_stack_ready(stack_name_leftorium) unless stack_ready?(stack_name_leftorium)
1566
1563
 
1567
1564
  stack_name_web = "ecs-task-web-qa-#{deploy_id}"
1568
1565
  git_checkout_version('prima', @projects["prima"][:revision])
@@ -1712,8 +1709,7 @@ class Release
1712
1709
  wait_for_stack_ready(stack_name_rogoreport) unless stack_ready?(stack_name_rogoreport)
1713
1710
  wait_for_stack_ready(stack_name_borat) unless stack_ready?(stack_name_borat)
1714
1711
  wait_for_stack_ready(stack_name_activia) unless stack_ready?(stack_name_activia)
1715
- wait_for_stack_ready(stack_name_crash) unless stack_ready?(stack_name_crash) || !deploy_crash?
1716
- #wait_for_stack_ready(stack_name_roger) unless stack_ready?(stack_name_roger)
1712
+ wait_for_stack_ready(stack_name_crash) unless stack_ready?(stack_name_crash) unless !deploy_crash?
1717
1713
 
1718
1714
  update_service_defaults(stack_name_web)
1719
1715
  update_service_defaults(stack_name_consumer)
@@ -1728,6 +1724,7 @@ class Release
1728
1724
  update_service_defaults(stack_name_borat)
1729
1725
  update_service_defaults(stack_name_activia)
1730
1726
  update_service_defaults(stack_name_skynet)
1727
+ update_service_defaults(stack_name_leftorium)
1731
1728
  update_service_defaults(stack_name_crash) unless !deploy_crash?
1732
1729
 
1733
1730
  activia_hostname = get_route53_hostname(stack_name_activia)
@@ -1742,12 +1739,11 @@ class Release
1742
1739
  skynet_hostname = get_route53_hostname(stack_name_skynet)
1743
1740
  urania_hostname = get_route53_hostname(stack_name_urania)
1744
1741
  roger_hostname = get_route53_hostname(stack_name_roger)
1745
- deploy_crash? && crash_hostname = get_route53_hostname(stack_name_crash)
1742
+ leftorium_hostname = get_route53_hostname(stack_name_leftorium)
1743
+ crash_hostname = get_route53_hostname(stack_name_crash) unless !deploy_crash?
1746
1744
 
1747
1745
  # launch_marley ec2_ip_address(asg_stack_name), prima_hostname, borat_hostname
1748
1746
 
1749
- # > Bolla url: http://#{ec2_ip_address(asg_stack_name)}:10046
1750
-
1751
1747
  projects_text = "
1752
1748
  > Prima url: https://#{prima_hostname}
1753
1749
  > Backoffice (Borat) url: https://#{borat_hostname}
@@ -1760,7 +1756,8 @@ class Release
1760
1756
  > Assange url: https://#{assange_hostname}
1761
1757
  > Activia url: http://#{activia_hostname}:10041
1762
1758
  > Skynet url: http://#{skynet_hostname}:8050
1763
- > Roger url: http://#{roger_hostname}:10051"
1759
+ > Roger url: http://#{roger_hostname}:10051
1760
+ > Leftorium url: http://#{leftorium_hostname}:10061"
1764
1761
  projects_text.concat "
1765
1762
  > Crash url: https://#{crash_hostname}" if deploy_crash?
1766
1763
  projects_text.concat "
@@ -1804,6 +1801,8 @@ class Release
1804
1801
  host = "skynet-#{@dns_record_identifier}.qa.colaster.com"
1805
1802
  when stack_name.include?('roger')
1806
1803
  host = "roger-#{@dns_record_identifier}.qa.colaster.com"
1804
+ when stack_name.include?('leftorium')
1805
+ host = "leftorium-#{@dns_record_identifier}.qa.colaster.com"
1807
1806
  end
1808
1807
  host
1809
1808
  end
@@ -1848,6 +1847,8 @@ class Release
1848
1847
  logical_resource_id = 'EcsApplicationLoadBalancerPublic'
1849
1848
  when stack_name.include?('peano')
1850
1849
  logical_resource_id = 'EcsApplicationLoadBalancerInternal'
1850
+ when stack_name.include?('leftorium')
1851
+ logical_resource_id = 'EcsApplicationLoadBalancerInternal'
1851
1852
  when stack_name.include?('assange')
1852
1853
  logical_resource_id = 'EcsApplicationLoadBalancerPublic'
1853
1854
  when stack_name.include?('borat')
@@ -1897,6 +1898,8 @@ class Release
1897
1898
  logical_resource_id = 'ECSServiceAssange'
1898
1899
  when stack_name.include?('borat')
1899
1900
  logical_resource_id = 'ECSServiceBorat'
1901
+ when stack_name.include?('leftorium')
1902
+ logical_resource_id = 'ECSServiceLeftorium'
1900
1903
  when stack_name.include?('crash')
1901
1904
  logical_resource_id = 'ECSServiceCrash'
1902
1905
  else
@@ -2124,6 +2127,49 @@ class Release
2124
2127
  Dir.chdir '../../'
2125
2128
  end
2126
2129
 
2130
+ def create_leftorium_artifact(revision)
2131
+ output "Preparo l'artifact leftorium .zip\n".yellow
2132
+
2133
+ git_checkout_version('leftorium', revision)
2134
+
2135
+ Dir.chdir 'projects/leftorium'
2136
+
2137
+ decrypt_secrets()
2138
+
2139
+ if @qainit
2140
+ exec_step 'cp docker-compose.yml docker-compose-ci.yml'
2141
+ exec_step 'prepare-docker-compose --directory leftorium && cp docker-compose-qainit.yml docker-compose.yml'
2142
+ [
2143
+ "docker-compose build web",
2144
+ "docker-compose run -w $PWD -u root -e MIX_ENV=qa --entrypoint /bin/sh web \
2145
+ '-c' 'mix local.hex --force && mix hex.info && \
2146
+ mix deps.get && mix compile && mix deps.compile && \
2147
+ rm -rf _build/qa/rel/ && \
2148
+ mix release --env=qa'"
2149
+ ].each do |cmd|
2150
+ execute_command cmd
2151
+ end
2152
+
2153
+ cleanup_containers
2154
+ else
2155
+ [
2156
+ "docker-compose build web",
2157
+ "docker run -v $PWD:/code -w /code -e MIX_ENV=qa --entrypoint /bin/sh leftorium_web \
2158
+ '-c' 'mix local.hex --force && mix hex.info && \
2159
+ mix deps.get && mix compile && mix deps.compile && \
2160
+ rm -rf _build/qa/rel/ && \
2161
+ mix release --env=qa'"
2162
+ ].each do |cmd|
2163
+ execute_command cmd
2164
+ end
2165
+ end
2166
+
2167
+ artifact_path = Dir.glob('_build/qa/rel/leftorium/releases/*/leftorium.tar.gz').first
2168
+ upload_artifact(artifact_path, "microservices/leftorium/#{revision}-qa.tar.gz", "#{@s3_bucket}-encrypted")
2169
+
2170
+ Dir.chdir '../../'
2171
+ end
2172
+
2127
2173
  def create_hal9000_artifact(revision)
2128
2174
  output "Preparo l'artifact hal9000 .zip\n".yellow
2129
2175
 
@@ -2221,8 +2267,6 @@ class Release
2221
2267
 
2222
2268
  Dir.chdir 'projects/peano'
2223
2269
 
2224
- stop_unless is_branch_compatible_with_current_twig_version?("peano"), "Il tuo branch del progetto peano non e' compatibile con questa versione di twig, devi REBASARE DA MASTER!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!".red
2225
-
2226
2270
  decrypt_secrets() unless File.exist?('config/secrets.yml')
2227
2271
 
2228
2272
  if @qainit
@@ -2463,8 +2507,6 @@ class Release
2463
2507
 
2464
2508
  Dir.chdir 'projects/borat'
2465
2509
 
2466
- stop_unless is_branch_compatible_with_current_twig_version?("borat"), "Il tuo branch del progetto borat non e' compatibile con questa versione di twig, devi REBASARE DA MASTER!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!".red
2467
-
2468
2510
  decrypt_secrets()
2469
2511
 
2470
2512
  if @qainit
@@ -2771,35 +2813,6 @@ class Release
2771
2813
  { name: name, revision: revision[0..14], committer: committer_email }
2772
2814
  end
2773
2815
 
2774
- def is_branch_compatible_with_current_twig_version?(project)
2775
- case
2776
- when project == 'prima'
2777
- File.readlines("app/config/config_qa.yml").grep(/replaceme-assange.qa.staging.colaster.com/).size > 0
2778
- when project == 'urania'
2779
- File.readlines("deploy/deploy").grep(/HOSTNAME_PATTERN/).size > 0
2780
- when project == 'backoffice'
2781
- File.readlines("deploy/deploy.sh").grep(/HOSTNAME_PATTERN/).size > 0
2782
- when project == 'bburago'
2783
- File.readlines("deploy/deploy").grep(/HOSTNAME_PATTERN/).size > 0
2784
- when project == 'hal9000'
2785
- File.readlines("deploy/deploy").grep(/HOSTNAME_PATTERN/).size > 0
2786
- when project == 'fidaty'
2787
- File.readlines("deploy/deploy").grep(/HOSTNAME_PATTERN/).size > 0
2788
- when project == 'activia'
2789
- File.readlines("deploy/deploy").grep(/HOSTNAME_PATTERN/).size > 0
2790
- when project == 'peano'
2791
- File.readlines("deploy/deploy").grep(/HOSTNAME_PATTERN/).size > 0
2792
- when project == 'assange'
2793
- File.readlines("deploy/deploy").grep(/HOSTNAME_PATTERN/).size > 0
2794
- when project == 'borat'
2795
- File.readlines("deploy/task.yml").grep(/WsEndpoint/).size > 0
2796
- when project == 'crash'
2797
- File.readlines("deploy/deploy").grep(/HOSTNAME_PATTERN/).size > 0
2798
- when project == 'ermes'
2799
- File.readlines("deploy/deploy").grep(/HOSTNAME_PATTERN/).size > 0
2800
- end
2801
- end
2802
-
2803
2816
  def get_stacks()
2804
2817
  envs = {}
2805
2818
  stack_list = stack_list()
@@ -2907,20 +2920,7 @@ class Release
2907
2920
  def select_branches(project_name = nil)
2908
2921
  output "Deploy feature menu"
2909
2922
  if project_name.nil?
2910
- @projects['prima'] = choose_branch_to_deploy('prima')
2911
- @projects['urania'] = choose_branch_to_deploy('urania')
2912
- @projects['ermes'] = choose_branch_to_deploy('ermes')
2913
- @projects['bburago'] = choose_branch_to_deploy('bburago')
2914
- @projects['hal9000'] = choose_branch_to_deploy('hal9000')
2915
- @projects['fidaty'] = choose_branch_to_deploy('fidaty')
2916
- @projects['peano'] = choose_branch_to_deploy('peano')
2917
- @projects['rogoreport'] = choose_branch_to_deploy('rogoreport')
2918
- @projects['assange'] = choose_branch_to_deploy('assange')
2919
- @projects['borat'] = choose_branch_to_deploy('borat')
2920
- @projects['crash'] = choose_branch_to_deploy('crash')
2921
- @projects['activia'] = choose_branch_to_deploy('activia')
2922
- @projects['skynet'] = choose_branch_to_deploy('skynet')
2923
- @projects['roger'] = choose_branch_to_deploy('roger')
2923
+ @projects.each{ |key, value| @projects[key] = choose_branch_to_deploy(value) }
2924
2924
  else
2925
2925
  stop_unless File.directory?("./projects/#{project_name}"), "progetto #{project_name} inesistente o non supportato"
2926
2926
  @projects[project_name] = choose_branch_to_deploy(project_name)
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.46.10
4
+ version: 0.47.1
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: 2019-05-30 00:00:00.000000000 Z
17
+ date: 2019-06-03 00:00:00.000000000 Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  name: aws-sdk