fly.io-rails 0.1.17-x86-linux → 0.1.19-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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 690a6d50aca782e3c8d9a070abdc0c985424285251d624e0b9061e58499acac4
4
- data.tar.gz: 205e6925ba94d799a1b9cff5ac3a4d3816a741279c7ad46b76e96b401a494709
3
+ metadata.gz: d56497d97c6640bc7cdbc410ebd1ec3173a1e0a76d748eae927d2967b90a4756
4
+ data.tar.gz: 19588353e1daab1113e57b87fd1316bd90f7346bd76a65eff952f4a5e3881265
5
5
  SHA512:
6
- metadata.gz: 47dfe7f59f3b2b4842233e20676d930f34af919cd53dbcada9cf5a0fcc133d803ed72640284ce85652481c95b3f2fa308e1d213e12b95ac5af6d2682cbc555a1
7
- data.tar.gz: 5defc631cd018276994ac69ceaccc5cd37c6d0c099ae011e10e71f307d0c40925d597ea42c790ac4ff08afbf13937be29d0e4e15699199476bbce8926c6282f5
6
+ metadata.gz: bed48756018de9020b89d8328d851d2083aaa39675afe1be1f5739fc176befbda7e4060c1006fa93206d3cad4894b9d1d14c46d80f94ac0449fa3f7179f4c0c8
7
+ data.tar.gz: e8e01cb750655558081d133d400fc74fe463d632d9b40eb0b57d22ff5c17cca0ce7db44a00500093b11e3062ed3defaadf18da0ac6f9a124f0fbfbe9fd379ad5
data/exe/x86-linux/flyctl CHANGED
Binary file
@@ -237,8 +237,8 @@ module Fly
237
237
  output[%r{redis://\S+}]
238
238
  end
239
239
 
240
- def release(app, config)
241
- start = Fly::Machines.create_and_start_machine(app, config: config)
240
+ def release(app, options)
241
+ start = Fly::Machines.create_and_start_machine(app, options)
242
242
  machine = start[:id]
243
243
 
244
244
  if not machine
@@ -322,9 +322,6 @@ module Fly
322
322
 
323
323
  # default config
324
324
  config = {
325
- region: @region,
326
- app: app,
327
- name: "#{app}-machine",
328
325
  image: image,
329
326
  guest: {
330
327
  cpus: @config.machine.cpus,
@@ -353,7 +350,7 @@ module Fly
353
350
 
354
351
  # perform release
355
352
  say_status :fly, release_config[:env]['SERVER_COMMAND']
356
- event, exit_code, machine = release(app, release_config)
353
+ event, exit_code, machine = release(app, region: @region, config: release_config)
357
354
 
358
355
  if exit_code != 0
359
356
  STDERR.puts 'Error performing release'
@@ -368,13 +365,15 @@ module Fly
368
365
 
369
366
  # stop previous instances - list will fail on first run
370
367
  stdout, stderr, status = Open3.capture3('fly machines list --json')
368
+ existing_machines = []
371
369
  unless stdout.empty?
372
- JSON.parse(stdout).each do |list|
373
- next if list['id'] == machine or list['state'] == 'destroyed'
374
- cmd = "fly machines remove --force #{list['id']}"
375
- say_status :run, cmd
376
- system cmd
377
- end
370
+ JSON.parse(stdout).each do |list|
371
+ existing_machines << list['name']
372
+ next if list['id'] == machine or list['state'] == 'destroyed'
373
+ cmd = "fly machines remove --force #{list['id']}"
374
+ say_status :run, cmd
375
+ system cmd
376
+ end
378
377
  end
379
378
 
380
379
  # configure sqlite3 (can be overridden by fly.toml)
@@ -410,19 +409,28 @@ module Fly
410
409
 
411
410
  # start app
412
411
  machines = {}
412
+ options = {region: @region, config: config}
413
413
  say_status :fly, "start #{app}"
414
414
  if not toml['processes'] or toml['processes'].empty?
415
- start = Fly::Machines.create_and_start_machine(app, config: config)
415
+ options[:name] = "#{app}-machine"
416
+ taken = existing_machines.find {|name| name.start_with? options[:name]}
417
+ options[:name] = taken == options[:name] ? "#{taken}-2" : taken.next if taken
418
+
419
+ start = Fly::Machines.create_and_start_machine(app, options)
416
420
  machines['app'] = start[:id]
417
421
  else
418
422
  config[:env] ||= {}
419
423
  config[:env]['NATS_SERVER'] = 'localhost'
420
424
  toml['processes'].each do |name, entrypoint|
425
+ options[:name] = "#{app}-machine-#{name}"
426
+ taken = existing_machines.find {|name| name.start_with? options[:name]}
427
+ options[:name] = taken == options[:name] ? "#{taken}-2" : taken.next if taken
428
+
421
429
  config[:env]['SERVER_COMMAND'] = entrypoint
422
- start = Fly::Machines.create_and_start_machine(app, config: config)
430
+ start = Fly::Machines.create_and_start_machine(app, options)
423
431
 
424
432
  if start['error']
425
- STDERR.puts start.inspect
433
+ STDERR.puts "ERROR: #{start['error']}"
426
434
  exit 1
427
435
  end
428
436
 
@@ -499,7 +507,7 @@ module Fly
499
507
  # perform release, if necessary
500
508
  if (IO.read('lib/tasks/fly.rake') rescue '') =~ /^\s*task[ \t]*+:?release"?[ \t]*\S/
501
509
  say_status :fly, config[:env]['SERVER_COMMAND']
502
- event, exit_code, machine = release(app, config)
510
+ event, exit_code, machine = release(app, region: @region, config: config)
503
511
  else
504
512
  exit_code = 0
505
513
  end
@@ -1,3 +1,3 @@
1
1
  module Fly_io
2
- VERSION = '0.1.17'
2
+ VERSION = '0.1.19'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fly.io-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.17
4
+ version: 0.1.19
5
5
  platform: x86-linux
6
6
  authors:
7
7
  - Sam Ruby
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-10-24 00:00:00.000000000 Z
11
+ date: 2022-10-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fly-ruby