seira 0.4.5 → 0.4.7

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
  SHA1:
3
- metadata.gz: a9c0af9106ea2d52d4e3a2a493d557fd04489313
4
- data.tar.gz: 459505313598f1c5f5d0a1dabfd6816932cc4034
3
+ metadata.gz: 5a2029452605046f3d8f1b42deffd44ae3b85be3
4
+ data.tar.gz: 26e1918e974a42602e031364b024ada72e4de81a
5
5
  SHA512:
6
- metadata.gz: 608eadae0937483aa564aaef66d03f95c42d183d727b80747abdf98e7aaec5f464eb1a625c9c5398bf3da0ac17801cd156cfd5acb28e0c4c6b82e8197d23c6a8
7
- data.tar.gz: 3cf1f5ce2f6d60113ab9e082c61040ae675aa8d149d0abf41d6054dd47d57c80fbde7aa990cd3cb8a2099cc7cfce12b5c7ef7bc6b9fd9ecb42cdbe93354755c9
6
+ metadata.gz: ba5fc12eadc708b175e89d56fd835c8b4b13d0ac48415d38c5bedf524bf36ac34cc2114d6d637c1caa9a2819000cb498b742bcdb6680415ede52d7839ea67956
7
+ data.tar.gz: ebf13e6d47383f17589af55a17ffb1e096352cfa232b0e9c2486887ca1a3b46750cb65b744ad3407f5db24b9e3d2e8eb1c022d3f334a922a1d11cbe4a7b65c07
data/README.md CHANGED
@@ -53,6 +53,7 @@ seira:
53
53
  internal:
54
54
  project: org-internal
55
55
  cluster: gke_org-internal_us-central1-a_internal
56
+ zone: us-central1-b
56
57
  aliases:
57
58
  - "i"
58
59
  staging:
data/lib/seira/jobs.rb CHANGED
@@ -6,6 +6,26 @@ module Seira
6
6
 
7
7
  VALID_ACTIONS = %w[help list delete run].freeze
8
8
  SUMMARY = "Manage your application's jobs.".freeze
9
+ RESOURCE_SIZES = {
10
+ '1' => {
11
+ 'CPU_REQUEST' => '200m',
12
+ 'CPU_LIMIT' => '500m',
13
+ 'MEMORY_REQUEST' => '500Mi',
14
+ 'MEMORY_LIMIT' => '1Gi',
15
+ },
16
+ '2' => {
17
+ 'CPU_REQUEST' => '1',
18
+ 'CPU_LIMIT' => '2',
19
+ 'MEMORY_REQUEST' => '2Gi',
20
+ 'MEMORY_LIMIT' => '4Gi',
21
+ },
22
+ '3' => {
23
+ 'CPU_REQUEST' => '4',
24
+ 'CPU_LIMIT' => '6',
25
+ 'MEMORY_REQUEST' => '10Gi',
26
+ 'MEMORY_LIMIT' => '15Gi',
27
+ }
28
+ }.freeze
9
29
 
10
30
  attr_reader :app, :action, :args, :job_name, :context
11
31
 
@@ -54,6 +74,7 @@ module Seira
54
74
  # Set defaults
55
75
  async = false # Wait for job to finish before continuing.
56
76
  no_delete = false # Delete at end
77
+ resource_hash = RESOURCE_SIZES['1']
57
78
 
58
79
  # Loop through args and process any that aren't just the command to run
59
80
  loop do
@@ -70,6 +91,9 @@ module Seira
70
91
  no_delete = true
71
92
  elsif arg == '--no-delete'
72
93
  no_delete = true
94
+ elsif arg.start_with?('--size=')
95
+ size = arg.split('=')[1]
96
+ resource_hash = RESOURCE_SIZES[size]
73
97
  else
74
98
  puts "Warning: Unrecognized argument #{arg}"
75
99
  end
@@ -77,19 +101,14 @@ module Seira
77
101
  args.shift
78
102
  end
79
103
 
80
- # TODO: Configurable CPU and memory by args such as large, small, xlarge.
81
104
  command = args.join(' ')
82
105
  unique_name = "#{app}-run-#{Random.unique_name}"
83
106
  revision = gcp_app.ask_cluster_for_current_revision # TODO: Make more reliable, especially with no web tier
84
107
  replacement_hash = {
85
108
  'UNIQUE_NAME' => unique_name,
86
109
  'REVISION' => revision,
87
- 'COMMAND' => %("sh", "-c", "#{command}"),
88
- 'CPU_REQUEST' => '200m',
89
- 'CPU_LIMIT' => '500m',
90
- 'MEMORY_REQUEST' => '500Mi',
91
- 'MEMORY_LIMIT' => '1Gi',
92
- }
110
+ 'COMMAND' => %("sh", "-c", "#{command}")
111
+ }.merge(resource_hash)
93
112
 
94
113
  source = "kubernetes/#{context[:cluster]}/#{app}" # TODO: Move to method in app.rb
95
114
  Dir.mktmpdir do |destination|
data/lib/seira/setup.rb CHANGED
@@ -77,7 +77,7 @@ module Seira
77
77
  end
78
78
 
79
79
  system("gcloud config set project #{cluster_metadata['project']}")
80
- system("gcloud config set compute/zone #{settings.default_zone}")
80
+ system("gcloud config set compute/zone #{cluster_metadata['zone'] || settings.default_zone}")
81
81
  puts "Your new gcloud setup for #{cluster_name}:"
82
82
  system("gcloud config configurations describe #{cluster_name}")
83
83
 
data/lib/seira/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Seira
2
- VERSION = "0.4.5".freeze
2
+ VERSION = "0.4.7".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: seira
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.5
4
+ version: 0.4.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Ringwelski
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-05-07 00:00:00.000000000 Z
11
+ date: 2018-05-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: highline