fly.io-rails 0.0.19 → 0.0.20

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
  SHA256:
3
- metadata.gz: c8d60c6db390b5838284d1b7d84c04ba0a5a88efaa5a985e3e7971af5972ca55
4
- data.tar.gz: a0b302849a8f70507bed5e4b48754a4571975f8e692b1fd5df387c06823c13b0
3
+ metadata.gz: 76e2a638b08c3d778fbdac62956b4730c9436bd133c3cbaedc758f9fd79f7c08
4
+ data.tar.gz: d1b6bf847c64e993f4b23d1e35fdfc47c94e91d40d3a50aab723c912efda9475
5
5
  SHA512:
6
- metadata.gz: 3c6d1a988cf366241ec6967a924fed34fb6131c1750a975117efe619074b45a52ea5e5e93ab80eb45fc7b5e4301888ced6ba975faf1cfbd4e85006e4a271ba01
7
- data.tar.gz: 4c8bdbf5f08518d0d5e6f97496cdd81170691db7218684245041d71554b288b94815f44c8c8a6e474319e2516b144425d61f9e2cba36957186dcf19e53e82a86
6
+ metadata.gz: 564d0bc23fa62c2d382ef078395e94bb4c2fb3771913265478d3e3492dfbca9f25cb0fce5b38dd5dcb9d973691fcea2cfc7341fcfc25e036e9abec930e54618f
7
+ data.tar.gz: 5ddd57513b37cdaaa80ce946b67c4af3614541b71c4b3f9b71554b390fb52d7c8de412a69151d7a514d67bb89a33cf86e613c44f946d10cf2249d83e661ffdcf
@@ -28,11 +28,8 @@ module Fly
28
28
  end
29
29
  end
30
30
 
31
- # determine fly api hostname. Starts proxy if necessary
32
- def self.fly_api_hostname!
33
- hostname = fly_api_hostname
34
- return hostname if hostname
35
-
31
+ # determine application's organization
32
+ def self.org
36
33
  org = 'personal'
37
34
 
38
35
  if File.exist? 'fly.toml'
@@ -46,6 +43,14 @@ module Fly
46
43
  end
47
44
  end
48
45
 
46
+ org
47
+ end
48
+
49
+ # determine fly api hostname. Starts proxy if necessary
50
+ def self.fly_api_hostname!
51
+ hostname = fly_api_hostname
52
+ return hostname if hostname
53
+
49
54
  pid = fork { exec "flyctl machines api-proxy --org #{org}" }
50
55
  at_exit { Process.kill "INT", pid }
51
56
 
@@ -62,7 +67,7 @@ module Fly
62
67
  end
63
68
  end
64
69
 
65
- @@fy_api_hostname
70
+ @@fly_api_hostname
66
71
  end
67
72
 
68
73
  # create_fly_application app_name: 'user-functions', org_slug: 'personal'
@@ -1,3 +1,3 @@
1
1
  module Fly_io
2
- VERSION = '0.0.19'
2
+ VERSION = '0.0.20'
3
3
  end
@@ -2,11 +2,19 @@ terraform {
2
2
  required_providers {
3
3
  fly = {
4
4
  source = "fly-apps/fly"
5
- version = "0.0.10"
5
+ version = "0.0.18"
6
6
  }
7
7
  }
8
8
  }
9
9
 
10
+ /* uncomment if you want an internal tunnel
11
+ provider "fly" {
12
+ useinternaltunnel = true
13
+ internaltunnelorg = <%= (@org || "personal").inspect %>
14
+ internaltunnelregion = <%= (@regions.first || 'iad').inspect %>
15
+ }
16
+ */
17
+
10
18
  # Allocate an IPv4 address
11
19
  resource "fly_ip" "<%= @appName %>Ipv4" {
12
20
  app = <%= @app.inspect %>
@@ -1,4 +1,5 @@
1
1
  require 'open3'
2
+ require 'fly.io-rails/machines'
2
3
 
3
4
  class TerraformGenerator < Rails::Generators::Base
4
5
  include FlyIoRails::Utils
@@ -35,6 +36,7 @@ class TerraformGenerator < Rails::Generators::Base
35
36
  @yarn = File.exist? 'yarn.lock'
36
37
  @node_version = @node ? `node --version`.chomp.sub(/^v/, '') : '16.17.0'
37
38
  @appName = @app.gsub('-', '_').camelcase(:lower)
39
+ @org = Fly::Machines.org
38
40
 
39
41
  template 'Dockerfile.erb', 'Dockerfile'
40
42
  template 'dockerignore.erb', '.dockerignore'
data/lib/tasks/fly.rake CHANGED
@@ -46,6 +46,9 @@ namespace :fly do
46
46
  config[:env] ||= {}
47
47
  config[:env]['SERVER_COMMAND'] = 'bin/rails fly:release'
48
48
 
49
+ # start proxy, if necessary
50
+ endpoint = Fly::Machines::fly_api_hostname!
51
+
49
52
  # start release machine
50
53
  STDERR.puts "--> #{config[:env]['SERVER_COMMAND']}"
51
54
  start = Fly::Machines.create_start_machine(app, config: config)
@@ -75,6 +78,7 @@ namespace :fly do
75
78
 
76
79
  # use terraform apply to deploy
77
80
  ENV['FLY_API_TOKEN'] = `flyctl auth token`.chomp
81
+ ENV['FLY_HTTP_ENDPOINT'] = endpoint if endpoint
78
82
  system 'terraform apply -auto-approve'
79
83
  else
80
84
  STDERR.puts 'Error performing release'
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.0.19
4
+ version: 0.0.20
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sam Ruby
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-09-20 00:00:00.000000000 Z
11
+ date: 2022-09-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fly-ruby
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: toml
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  description:
28
42
  email: rubys@intertwingly.net
29
43
  executables: