fly.io-rails 0.1.16-x86-linux → 0.1.18-x86-linux
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 +4 -4
- data/exe/x86-linux/flyctl +0 -0
- data/lib/fly.io-rails/actions.rb +31 -16
- data/lib/fly.io-rails/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '08da2b642dec92633b4746a9bfd15960c5f7f08bf8ff7f357e8817e0e9363d39'
|
4
|
+
data.tar.gz: 2387302a9e1e0282204be060de1de5fb777ebf89b88dbdf1ad1bcec19318cd30
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9ea9aac26971910bc8d8d3ade160a3ca8d324248dcb4e6c961322e79ce8981828d5b5cb710e37dd5907a26a859a7b17f04bd3616e657124e8ba31ad9022736b0
|
7
|
+
data.tar.gz: 884bb6749dc51dc068f51647abbb20b4bd3aa5214cca3fd0a86aa61066a0e350191f03bae89c0036c1e84d391aef2dd1dff6ee90007342562c5082bc77a34d39
|
data/exe/x86-linux/flyctl
CHANGED
Binary file
|
data/lib/fly.io-rails/actions.rb
CHANGED
@@ -197,17 +197,19 @@ module Fly
|
|
197
197
|
end
|
198
198
|
|
199
199
|
def create_volume(app, region, size)
|
200
|
-
|
201
|
-
volumes = JSON.parse(`flyctl volumes list --json`)
|
202
|
-
map {|volume| [volume['Name'], volume['Region']]}
|
200
|
+
name = "#{app.gsub('-', '_')}_volume"
|
201
|
+
volumes = JSON.parse(`flyctl volumes list --json`)
|
203
202
|
|
204
|
-
|
205
|
-
|
203
|
+
volume = volumes.find {|volume| volume['Name'] == name and volume['Region'] == region}
|
204
|
+
unless volume
|
205
|
+
cmd = "flyctl volumes create #{name} --app #{app} --region #{region} --size #{size}"
|
206
206
|
say_status :run, cmd
|
207
207
|
system cmd
|
208
|
+
volumes = JSON.parse(`flyctl volumes list --json`)
|
209
|
+
volume = volumes.find {|volume| volume['Name'] == name and volume['Region'] == region}
|
208
210
|
end
|
209
211
|
|
210
|
-
volume
|
212
|
+
volume && volume['id']
|
211
213
|
end
|
212
214
|
|
213
215
|
def create_postgres(app, org, region, vm_size, volume_size, cluster_size)
|
@@ -235,8 +237,8 @@ module Fly
|
|
235
237
|
output[%r{redis://\S+}]
|
236
238
|
end
|
237
239
|
|
238
|
-
def release(app,
|
239
|
-
start = Fly::Machines.create_and_start_machine(app,
|
240
|
+
def release(app, options)
|
241
|
+
start = Fly::Machines.create_and_start_machine(app, options)
|
240
242
|
machine = start[:id]
|
241
243
|
|
242
244
|
if not machine
|
@@ -320,9 +322,6 @@ module Fly
|
|
320
322
|
|
321
323
|
# default config
|
322
324
|
config = {
|
323
|
-
region: @region,
|
324
|
-
app: app,
|
325
|
-
name: "#{app}-machine",
|
326
325
|
image: image,
|
327
326
|
guest: {
|
328
327
|
cpus: @config.machine.cpus,
|
@@ -351,7 +350,7 @@ module Fly
|
|
351
350
|
|
352
351
|
# perform release
|
353
352
|
say_status :fly, release_config[:env]['SERVER_COMMAND']
|
354
|
-
event, exit_code, machine = release(app, release_config)
|
353
|
+
event, exit_code, machine = release(app, region: @region, config: release_config)
|
355
354
|
|
356
355
|
if exit_code != 0
|
357
356
|
STDERR.puts 'Error performing release'
|
@@ -396,21 +395,37 @@ module Fly
|
|
396
395
|
config[:services] = toml['services'] if toml['services']
|
397
396
|
if toml['mounts']
|
398
397
|
mounts = toml['mounts']
|
399
|
-
|
398
|
+
volume = JSON.parse(`flyctl volumes list --json`).
|
399
|
+
find {|volume| volume['Name'] == mounts['source'] and volume['Region'] == @region}
|
400
|
+
if volume
|
401
|
+
config[:mounts] = [ { volume: volume['id'], path: mounts['destination'] } ]
|
402
|
+
else
|
403
|
+
STDERR.puts "volume #{mounts['source']} not found in region #{@region}"
|
404
|
+
exit 1
|
405
|
+
end
|
400
406
|
end
|
401
407
|
|
402
408
|
# start app
|
403
409
|
machines = {}
|
410
|
+
options = {region: @region, config: config}
|
404
411
|
say_status :fly, "start #{app}"
|
405
412
|
if not toml['processes'] or toml['processes'].empty?
|
406
|
-
|
413
|
+
options[:name] = "#{app}-machine",
|
414
|
+
start = Fly::Machines.create_and_start_machine(app, options)
|
407
415
|
machines['app'] = start[:id]
|
408
416
|
else
|
409
417
|
config[:env] ||= {}
|
410
418
|
config[:env]['NATS_SERVER'] = 'localhost'
|
411
419
|
toml['processes'].each do |name, entrypoint|
|
420
|
+
options[:name] = "#{app}-machine-#{name}"
|
412
421
|
config[:env]['SERVER_COMMAND'] = entrypoint
|
413
|
-
start = Fly::Machines.create_and_start_machine(app,
|
422
|
+
start = Fly::Machines.create_and_start_machine(app, options)
|
423
|
+
|
424
|
+
if start['error']
|
425
|
+
STDERR.puts "ERROR: #{start.error}"
|
426
|
+
exit 1
|
427
|
+
end
|
428
|
+
|
414
429
|
machines[name] = start[:id]
|
415
430
|
|
416
431
|
config.delete :mounts
|
@@ -484,7 +499,7 @@ module Fly
|
|
484
499
|
# perform release, if necessary
|
485
500
|
if (IO.read('lib/tasks/fly.rake') rescue '') =~ /^\s*task[ \t]*+:?release"?[ \t]*\S/
|
486
501
|
say_status :fly, config[:env]['SERVER_COMMAND']
|
487
|
-
event, exit_code, machine = release(app, config)
|
502
|
+
event, exit_code, machine = release(app, region: @region, config: config)
|
488
503
|
else
|
489
504
|
exit_code = 0
|
490
505
|
end
|
data/lib/fly.io-rails/version.rb
CHANGED