seira 0.4.5 → 0.4.7

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