aptible-cli 0.21.0 → 0.22.0
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/.github/workflows/test.yml +50 -0
- data/Gemfile +0 -4
- data/Gemfile.lock +17 -22
- data/README.md +3 -0
- data/aptible-cli.gemspec +12 -9
- data/lib/aptible/cli/subcommands/endpoints.rb +30 -0
- data/lib/aptible/cli/subcommands/services.rb +23 -0
- data/lib/aptible/cli/version.rb +1 -1
- data/spec/aptible/cli/subcommands/endpoints_spec.rb +38 -0
- data/spec/aptible/cli/subcommands/services_spec.rb +61 -28
- metadata +84 -42
- data/.travis.yml +0 -20
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 97db514e9f8cadd2d35e757350cf16038dc6e319a1bc259b5a9cf28101467f39
|
|
4
|
+
data.tar.gz: e2058f731955e95d3bd024d1535a96bfe7e2bb9d9dc61a96192b56346e1c992a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: bcbc491db4584b58ec9d8cc59ab382302a86cfa83422f29900e57e5e30feb2240ec5f9621b39129852bc03f4d36c0d34383e5efabeeb26cd943c79183e321297
|
|
7
|
+
data.tar.gz: 1f2a33631bc7ef8d248bafe247cec5fbf856307e0483fedf03bbe5ff077f38b85b7488c41d6b58016a34a4874ec03d2ce7209dcadd69bfca71af2f91f700034c
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
on:
|
|
2
|
+
pull_request:
|
|
3
|
+
branches:
|
|
4
|
+
- main
|
|
5
|
+
- master
|
|
6
|
+
push:
|
|
7
|
+
branches:
|
|
8
|
+
- main
|
|
9
|
+
- master
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
test:
|
|
13
|
+
name: Build and Publish
|
|
14
|
+
runs-on: ubuntu-20.04
|
|
15
|
+
strategy:
|
|
16
|
+
fail-fast: false
|
|
17
|
+
matrix:
|
|
18
|
+
ruby-version: [2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7]
|
|
19
|
+
steps:
|
|
20
|
+
- name: Check out code
|
|
21
|
+
uses: actions/checkout@v4
|
|
22
|
+
|
|
23
|
+
- name: Setup ruby
|
|
24
|
+
uses: ruby/setup-ruby@v1
|
|
25
|
+
with:
|
|
26
|
+
ruby-version: ${{ matrix.ruby-version }}
|
|
27
|
+
bundler: 1.17.3
|
|
28
|
+
bundler-cache: true
|
|
29
|
+
|
|
30
|
+
- name: Test
|
|
31
|
+
run: bundle exec rake
|
|
32
|
+
|
|
33
|
+
- name: Sync README
|
|
34
|
+
run: |
|
|
35
|
+
bundle exec script/sync-readme-usage
|
|
36
|
+
git diff --exit-code
|
|
37
|
+
|
|
38
|
+
results:
|
|
39
|
+
if: ${{ always() }}
|
|
40
|
+
runs-on: ubuntu-latest
|
|
41
|
+
name: Final Results
|
|
42
|
+
needs: [test]
|
|
43
|
+
steps:
|
|
44
|
+
- run: exit 1
|
|
45
|
+
# see https://stackoverflow.com/a/67532120/4907315
|
|
46
|
+
if: >-
|
|
47
|
+
${{
|
|
48
|
+
contains(needs.*.result, 'failure')
|
|
49
|
+
|| contains(needs.*.result, 'cancelled')
|
|
50
|
+
}}
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,28 +1,21 @@
|
|
|
1
|
-
GIT
|
|
2
|
-
remote: https://github.com/fancyremarker/pry.git
|
|
3
|
-
revision: be3823aa4ffc51260f2f3ce84f0984da3dc6dd10
|
|
4
|
-
branch: aptible
|
|
5
|
-
specs:
|
|
6
|
-
pry (0.10.0)
|
|
7
|
-
coderay (~> 1.1.0)
|
|
8
|
-
method_source (~> 0.8.1)
|
|
9
|
-
slop (~> 3.4)
|
|
10
|
-
|
|
11
1
|
PATH
|
|
12
2
|
remote: .
|
|
13
3
|
specs:
|
|
14
|
-
aptible-cli (0.
|
|
4
|
+
aptible-cli (0.22.0)
|
|
15
5
|
activesupport (>= 4.0, < 6.0)
|
|
16
|
-
aptible-api (~> 1.5
|
|
17
|
-
aptible-auth (~> 1.2.
|
|
6
|
+
aptible-api (~> 1.6.5)
|
|
7
|
+
aptible-auth (~> 1.2.5)
|
|
18
8
|
aptible-billing (~> 1.0)
|
|
19
9
|
aptible-resource (~> 1.1)
|
|
20
10
|
aws-sdk (~> 2.0)
|
|
21
11
|
bigdecimal (~> 1.3.5)
|
|
22
12
|
cbor
|
|
23
13
|
chronic_duration (~> 0.10.6)
|
|
14
|
+
concurrent-ruby (< 1.1.10)
|
|
24
15
|
git (< 1.10)
|
|
25
|
-
|
|
16
|
+
jwt (~> 2.3.0)
|
|
17
|
+
rack (~> 1.0)
|
|
18
|
+
term-ansicolor (~> 1.8.0)
|
|
26
19
|
thor (~> 0.20.0)
|
|
27
20
|
|
|
28
21
|
GEM
|
|
@@ -35,9 +28,9 @@ GEM
|
|
|
35
28
|
tzinfo (~> 1.1)
|
|
36
29
|
addressable (2.8.0)
|
|
37
30
|
public_suffix (>= 2.0.2, < 5.0)
|
|
38
|
-
aptible-api (1.5
|
|
39
|
-
aptible-auth
|
|
40
|
-
aptible-resource
|
|
31
|
+
aptible-api (1.6.5)
|
|
32
|
+
aptible-auth
|
|
33
|
+
aptible-resource
|
|
41
34
|
gem_config
|
|
42
35
|
multipart-post (< 2.2.0)
|
|
43
36
|
aptible-auth (1.2.5)
|
|
@@ -92,14 +85,14 @@ GEM
|
|
|
92
85
|
gem_config (0.3.2)
|
|
93
86
|
git (1.7.0)
|
|
94
87
|
rchardet (~> 1.8)
|
|
95
|
-
hashdiff (1.1.
|
|
88
|
+
hashdiff (1.1.1)
|
|
96
89
|
httpclient (2.8.3)
|
|
97
90
|
i18n (0.9.5)
|
|
98
91
|
concurrent-ruby (~> 1.0)
|
|
99
92
|
jmespath (1.6.2)
|
|
100
93
|
json (2.5.1)
|
|
101
94
|
jwt (2.3.0)
|
|
102
|
-
method_source (
|
|
95
|
+
method_source (1.1.0)
|
|
103
96
|
minitest (5.12.0)
|
|
104
97
|
multi_json (1.15.0)
|
|
105
98
|
multi_xml (0.6.0)
|
|
@@ -116,6 +109,9 @@ GEM
|
|
|
116
109
|
parser (2.7.2.0)
|
|
117
110
|
ast (~> 2.4.1)
|
|
118
111
|
powerpack (0.1.3)
|
|
112
|
+
pry (0.14.2)
|
|
113
|
+
coderay (~> 1.1)
|
|
114
|
+
method_source (~> 1.0)
|
|
119
115
|
public_suffix (3.1.1)
|
|
120
116
|
rack (1.6.13)
|
|
121
117
|
rainbow (2.2.2)
|
|
@@ -129,7 +125,7 @@ GEM
|
|
|
129
125
|
rspec-mocks (~> 3.13.0)
|
|
130
126
|
rspec-core (3.13.0)
|
|
131
127
|
rspec-support (~> 3.13.0)
|
|
132
|
-
rspec-expectations (3.13.
|
|
128
|
+
rspec-expectations (3.13.1)
|
|
133
129
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
134
130
|
rspec-support (~> 3.13.0)
|
|
135
131
|
rspec-mocks (3.13.1)
|
|
@@ -143,7 +139,6 @@ GEM
|
|
|
143
139
|
ruby-progressbar (~> 1.7)
|
|
144
140
|
unicode-display_width (~> 1.0, >= 1.0.1)
|
|
145
141
|
ruby-progressbar (1.13.0)
|
|
146
|
-
slop (3.6.0)
|
|
147
142
|
stripe (4.24.0)
|
|
148
143
|
faraday (~> 0.13)
|
|
149
144
|
net-http-persistent (~> 3.0)
|
|
@@ -174,7 +169,7 @@ DEPENDENCIES
|
|
|
174
169
|
bundler (~> 1.3)
|
|
175
170
|
climate_control (= 0.0.3)
|
|
176
171
|
fabrication (~> 2.15.2)
|
|
177
|
-
pry
|
|
172
|
+
pry
|
|
178
173
|
rack (~> 1.0)
|
|
179
174
|
rake
|
|
180
175
|
rspec (~> 3.2)
|
data/README.md
CHANGED
|
@@ -62,6 +62,8 @@ Commands:
|
|
|
62
62
|
aptible endpoints:database:create DATABASE # Create a Database Endpoint
|
|
63
63
|
aptible endpoints:database:modify --database DATABASE ENDPOINT_HOSTNAME # Modify a Database Endpoint
|
|
64
64
|
aptible endpoints:deprovision [--app APP | --database DATABASE] ENDPOINT_HOSTNAME # Deprovision an App or Database Endpoint
|
|
65
|
+
aptible endpoints:grpc:create [--app APP] SERVICE # Create an App gRPC Endpoint
|
|
66
|
+
aptible endpoints:grpc:modify [--app APP] ENDPOINT_HOSTNAME # Modify an App gRPC Endpoint
|
|
65
67
|
aptible endpoints:https:create [--app APP] SERVICE # Create an App HTTPS Endpoint
|
|
66
68
|
aptible endpoints:https:modify [--app APP] ENDPOINT_HOSTNAME # Modify an App HTTPS Endpoint
|
|
67
69
|
aptible endpoints:list [--app APP | --database DATABASE] # List Endpoints for an App or Database
|
|
@@ -100,6 +102,7 @@ Commands:
|
|
|
100
102
|
aptible rebuild # Rebuild an app, and restart its services
|
|
101
103
|
aptible restart # Restart all services associated with an app
|
|
102
104
|
aptible services # List Services for an App
|
|
105
|
+
aptible services:settings SERVICE [--force-zero-downtime|--no-force-zero-downtime] [--simple-health-check|--no-simple-health-check] # Modifies the zero-downtime deploy setting for a service
|
|
103
106
|
aptible ssh [COMMAND] # Run a command against an app
|
|
104
107
|
aptible version # Print Aptible CLI version
|
|
105
108
|
```
|
data/aptible-cli.gemspec
CHANGED
|
@@ -20,23 +20,26 @@ Gem::Specification.new do |spec|
|
|
|
20
20
|
spec.test_files = spec.files.grep(%r{spec/})
|
|
21
21
|
spec.require_paths = ['lib']
|
|
22
22
|
|
|
23
|
-
spec.add_dependency '
|
|
24
|
-
spec.add_dependency 'aptible-api', '~> 1.5
|
|
25
|
-
spec.add_dependency 'aptible-auth', '~> 1.2.
|
|
23
|
+
spec.add_dependency 'activesupport', '>= 4.0', '< 6.0'
|
|
24
|
+
spec.add_dependency 'aptible-api', '~> 1.6.5'
|
|
25
|
+
spec.add_dependency 'aptible-auth', '~> 1.2.5'
|
|
26
26
|
spec.add_dependency 'aptible-billing', '~> 1.0'
|
|
27
|
-
spec.add_dependency '
|
|
28
|
-
spec.add_dependency 'git', '< 1.10'
|
|
29
|
-
spec.add_dependency 'term-ansicolor'
|
|
30
|
-
spec.add_dependency 'chronic_duration', '~> 0.10.6'
|
|
31
|
-
spec.add_dependency 'cbor'
|
|
27
|
+
spec.add_dependency 'aptible-resource', '~> 1.1'
|
|
32
28
|
spec.add_dependency 'aws-sdk', '~> 2.0'
|
|
33
29
|
spec.add_dependency 'bigdecimal', '~> 1.3.5' # https://github.com/ruby/bigdecimal#which-version-should-you-select
|
|
30
|
+
spec.add_dependency 'cbor'
|
|
31
|
+
spec.add_dependency 'chronic_duration', '~> 0.10.6'
|
|
32
|
+
spec.add_dependency 'concurrent-ruby', '< 1.1.10'
|
|
33
|
+
spec.add_dependency 'jwt', '~> 2.3.0'
|
|
34
|
+
spec.add_dependency 'git', '< 1.10'
|
|
35
|
+
spec.add_dependency 'rack', '~> 1.0'
|
|
36
|
+
spec.add_dependency 'term-ansicolor', '~> 1.8.0'
|
|
37
|
+
spec.add_dependency 'thor', '~> 0.20.0'
|
|
34
38
|
|
|
35
39
|
# Temporarily pin ffi until https://github.com/ffi/ffi/issues/868 is fixed
|
|
36
40
|
spec.add_dependency 'ffi', '<= 1.14.1' if Gem.win_platform?
|
|
37
41
|
spec.add_dependency 'win32-process' if Gem.win_platform?
|
|
38
42
|
|
|
39
|
-
spec.add_dependency 'activesupport', '>= 4.0', '< 6.0'
|
|
40
43
|
spec.add_development_dependency 'bundler', '~> 1.3'
|
|
41
44
|
spec.add_development_dependency 'aptible-tasks', '~> 0.5.8'
|
|
42
45
|
spec.add_development_dependency 'rake'
|
|
@@ -107,6 +107,36 @@ module Aptible
|
|
|
107
107
|
modify_app_vhost(tls_modify_flags, options, hostname)
|
|
108
108
|
end
|
|
109
109
|
|
|
110
|
+
grpc_create_flags = Helpers::Vhost::OptionSetBuilder.new do
|
|
111
|
+
app!
|
|
112
|
+
create!
|
|
113
|
+
port!
|
|
114
|
+
tls!
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
desc 'endpoints:grpc:create [--app APP] SERVICE',
|
|
118
|
+
'Create an App gRPC Endpoint'
|
|
119
|
+
grpc_create_flags.declare_options(self)
|
|
120
|
+
define_method 'endpoints:grpc:create' do |type|
|
|
121
|
+
create_app_vhost(
|
|
122
|
+
grpc_create_flags, options, type,
|
|
123
|
+
type: 'grpc', platform: 'elb'
|
|
124
|
+
)
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
grpc_modify_flags = Helpers::Vhost::OptionSetBuilder.new do
|
|
128
|
+
app!
|
|
129
|
+
port!
|
|
130
|
+
tls!
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
desc 'endpoints:grpc:modify [--app APP] ENDPOINT_HOSTNAME',
|
|
134
|
+
'Modify an App gRPC Endpoint'
|
|
135
|
+
grpc_modify_flags.declare_options(self)
|
|
136
|
+
define_method 'endpoints:grpc:modify' do |hostname|
|
|
137
|
+
modify_app_vhost(grpc_modify_flags, options, hostname)
|
|
138
|
+
end
|
|
139
|
+
|
|
110
140
|
https_create_flags = Helpers::Vhost::OptionSetBuilder.new do
|
|
111
141
|
app!
|
|
112
142
|
create!
|
|
@@ -21,6 +21,29 @@ module Aptible
|
|
|
21
21
|
end
|
|
22
22
|
end
|
|
23
23
|
end
|
|
24
|
+
|
|
25
|
+
desc 'services:settings SERVICE'\
|
|
26
|
+
' [--force-zero-downtime|--no-force-zero-downtime]'\
|
|
27
|
+
' [--simple-health-check|--no-simple-health-check]',
|
|
28
|
+
'Modifies the zero-downtime deploy setting for a service'
|
|
29
|
+
app_options
|
|
30
|
+
option :force_zero_downtime,
|
|
31
|
+
type: :boolean, default: false,
|
|
32
|
+
desc: 'Force zero downtime deployments.'\
|
|
33
|
+
' Has no effect if service has an associated Endpoint'
|
|
34
|
+
option :simple_health_check,
|
|
35
|
+
type: :boolean, default: false,
|
|
36
|
+
desc: 'Use a simple uptime healthcheck during deployments'
|
|
37
|
+
define_method 'services:settings' do |service|
|
|
38
|
+
service = ensure_service(options, service)
|
|
39
|
+
updates = {}
|
|
40
|
+
updates[:force_zero_downtime] =
|
|
41
|
+
options[:force_zero_downtime] if options[:force_zero_downtime]
|
|
42
|
+
updates[:naive_health_check] =
|
|
43
|
+
options[:simple_health_check] if options[:simple_health_check]
|
|
44
|
+
|
|
45
|
+
service.update!(**updates) if updates.any?
|
|
46
|
+
end
|
|
24
47
|
end
|
|
25
48
|
end
|
|
26
49
|
end
|
data/lib/aptible/cli/version.rb
CHANGED
|
@@ -452,6 +452,30 @@ describe Aptible::CLI::Agent do
|
|
|
452
452
|
end
|
|
453
453
|
end
|
|
454
454
|
|
|
455
|
+
describe 'endpoints:grpc:create' do
|
|
456
|
+
m = 'endpoints:grpc:create'
|
|
457
|
+
include_examples 'shared create app vhost examples', m
|
|
458
|
+
include_examples 'shared create tls vhost examples', m
|
|
459
|
+
|
|
460
|
+
it 'creates a gRPC Endpoint' do
|
|
461
|
+
expect_create_vhost(
|
|
462
|
+
service,
|
|
463
|
+
type: 'grpc',
|
|
464
|
+
platform: 'elb',
|
|
465
|
+
internal: false,
|
|
466
|
+
default: false,
|
|
467
|
+
ip_whitelist: []
|
|
468
|
+
)
|
|
469
|
+
subject.send(m, 'web')
|
|
470
|
+
end
|
|
471
|
+
|
|
472
|
+
it 'creates an Endpoint with a container Port' do
|
|
473
|
+
expect_create_vhost(service, container_port: 10)
|
|
474
|
+
stub_options(port: 10)
|
|
475
|
+
subject.send(m, 'web')
|
|
476
|
+
end
|
|
477
|
+
end
|
|
478
|
+
|
|
455
479
|
shared_examples 'shared modify app vhost examples' do |m|
|
|
456
480
|
it 'does not change anything if no options are passed' do
|
|
457
481
|
v = Fabricate(:vhost, service: service)
|
|
@@ -579,6 +603,20 @@ describe Aptible::CLI::Agent do
|
|
|
579
603
|
end
|
|
580
604
|
end
|
|
581
605
|
|
|
606
|
+
describe 'endpoints:grpc:modify' do
|
|
607
|
+
m = 'endpoints:grpc:modify'
|
|
608
|
+
include_examples 'shared modify app vhost examples', m
|
|
609
|
+
include_examples 'shared modify tls vhost examples', m
|
|
610
|
+
|
|
611
|
+
it 'allows updating the Container Port' do
|
|
612
|
+
v = Fabricate(:vhost, service: service)
|
|
613
|
+
expect_modify_vhost(v, container_port: 10)
|
|
614
|
+
|
|
615
|
+
stub_options(port: 10)
|
|
616
|
+
subject.send(m, v.external_host)
|
|
617
|
+
end
|
|
618
|
+
end
|
|
619
|
+
|
|
582
620
|
describe 'endpoints:list' do
|
|
583
621
|
it 'lists Endpoints across services' do
|
|
584
622
|
s1 = Fabricate(:service, app: app)
|
|
@@ -8,45 +8,78 @@ describe Aptible::CLI::Agent do
|
|
|
8
8
|
allow(subject).to receive(:fetch_token) { token }
|
|
9
9
|
allow(Aptible::Api::App).to receive(:all).with(token: token)
|
|
10
10
|
.and_return([app])
|
|
11
|
-
allow(subject).to receive(:options).and_return(app: app.handle)
|
|
12
11
|
end
|
|
13
12
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
describe '#services' do
|
|
14
|
+
before do
|
|
15
|
+
allow(subject).to receive(:options).and_return(app: app.handle)
|
|
16
|
+
end
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
it 'lists a CMD service' do
|
|
19
|
+
Fabricate(:service, app: app, process_type: 'cmd', command: nil)
|
|
20
|
+
subject.send('services')
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
expect(captured_output_text.split("\n")).to include('Service: cmd')
|
|
23
|
+
expect(captured_output_text.split("\n")).to include('Command: CMD')
|
|
24
|
+
end
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
it 'lists a service with command' do
|
|
27
|
+
Fabricate(:service, app: app, process_type: 'cmd', command: 'foobar')
|
|
28
|
+
subject.send('services')
|
|
29
29
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
expect(captured_output_text.split("\n")).to include('Service: cmd')
|
|
31
|
+
expect(captured_output_text.split("\n")).to include('Command: foobar')
|
|
32
|
+
end
|
|
33
33
|
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
it 'lists container size' do
|
|
35
|
+
Fabricate(:service, app: app, container_memory_limit_mb: 1024)
|
|
36
|
+
subject.send('services')
|
|
37
|
+
|
|
38
|
+
expect(captured_output_text.split("\n"))
|
|
39
|
+
.to include('Container Size: 1024')
|
|
40
|
+
end
|
|
36
41
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
42
|
+
it 'lists container count' do
|
|
43
|
+
Fabricate(:service, app: app, container_count: 3)
|
|
44
|
+
subject.send('services')
|
|
40
45
|
|
|
41
|
-
|
|
46
|
+
expect(captured_output_text.split("\n")).to include('Container Count: 3')
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
it 'lists multiple services' do
|
|
50
|
+
Fabricate(:service, app: app, process_type: 'foo')
|
|
51
|
+
Fabricate(:service, app: app, process_type: 'bar')
|
|
52
|
+
subject.send('services')
|
|
53
|
+
|
|
54
|
+
expect(captured_output_text.split("\n")).to include('Service: foo')
|
|
55
|
+
expect(captured_output_text.split("\n")).to include('Service: bar')
|
|
56
|
+
end
|
|
42
57
|
end
|
|
43
58
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
59
|
+
describe '#services:settings' do
|
|
60
|
+
let(:base_options) { { app: app.handle } }
|
|
61
|
+
|
|
62
|
+
it 'allows changing zero_downtime_deployment settings' do
|
|
63
|
+
stub_options(force_zero_downtime: true, simple_health_check: true)
|
|
64
|
+
service = Fabricate(:service, app: app, process_type: 'foo')
|
|
65
|
+
|
|
66
|
+
expect(service).to receive(:update!)
|
|
67
|
+
.with(force_zero_downtime: true, naive_health_check: true)
|
|
68
|
+
|
|
69
|
+
subject.send('services:settings', 'foo')
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
it 'allows changing only one of the options' do
|
|
73
|
+
stub_options(simple_health_check: true)
|
|
74
|
+
service = Fabricate(:service, app: app, process_type: 'foo')
|
|
75
|
+
|
|
76
|
+
expect(service).to receive(:update!).with(naive_health_check: true)
|
|
77
|
+
|
|
78
|
+
subject.send('services:settings', 'foo')
|
|
79
|
+
end
|
|
80
|
+
end
|
|
48
81
|
|
|
49
|
-
|
|
50
|
-
|
|
82
|
+
def stub_options(**opts)
|
|
83
|
+
allow(subject).to receive(:options).and_return(base_options.merge(opts))
|
|
51
84
|
end
|
|
52
85
|
end
|
metadata
CHANGED
|
@@ -1,57 +1,63 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: aptible-cli
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.22.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Frank Macreery
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2024-
|
|
11
|
+
date: 2024-10-10 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
|
-
name:
|
|
14
|
+
name: activesupport
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
|
-
- - "
|
|
17
|
+
- - ">="
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '
|
|
19
|
+
version: '4.0'
|
|
20
|
+
- - "<"
|
|
21
|
+
- !ruby/object:Gem::Version
|
|
22
|
+
version: '6.0'
|
|
20
23
|
type: :runtime
|
|
21
24
|
prerelease: false
|
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
26
|
requirements:
|
|
24
|
-
- - "
|
|
27
|
+
- - ">="
|
|
25
28
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: '
|
|
29
|
+
version: '4.0'
|
|
30
|
+
- - "<"
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: '6.0'
|
|
27
33
|
- !ruby/object:Gem::Dependency
|
|
28
34
|
name: aptible-api
|
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
|
30
36
|
requirements:
|
|
31
37
|
- - "~>"
|
|
32
38
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: 1.5
|
|
39
|
+
version: 1.6.5
|
|
34
40
|
type: :runtime
|
|
35
41
|
prerelease: false
|
|
36
42
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
43
|
requirements:
|
|
38
44
|
- - "~>"
|
|
39
45
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: 1.5
|
|
46
|
+
version: 1.6.5
|
|
41
47
|
- !ruby/object:Gem::Dependency
|
|
42
48
|
name: aptible-auth
|
|
43
49
|
requirement: !ruby/object:Gem::Requirement
|
|
44
50
|
requirements:
|
|
45
51
|
- - "~>"
|
|
46
52
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: 1.2.
|
|
53
|
+
version: 1.2.5
|
|
48
54
|
type: :runtime
|
|
49
55
|
prerelease: false
|
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
57
|
requirements:
|
|
52
58
|
- - "~>"
|
|
53
59
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: 1.2.
|
|
60
|
+
version: 1.2.5
|
|
55
61
|
- !ruby/object:Gem::Dependency
|
|
56
62
|
name: aptible-billing
|
|
57
63
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -67,35 +73,49 @@ dependencies:
|
|
|
67
73
|
- !ruby/object:Gem::Version
|
|
68
74
|
version: '1.0'
|
|
69
75
|
- !ruby/object:Gem::Dependency
|
|
70
|
-
name:
|
|
76
|
+
name: aptible-resource
|
|
71
77
|
requirement: !ruby/object:Gem::Requirement
|
|
72
78
|
requirements:
|
|
73
79
|
- - "~>"
|
|
74
80
|
- !ruby/object:Gem::Version
|
|
75
|
-
version:
|
|
81
|
+
version: '1.1'
|
|
76
82
|
type: :runtime
|
|
77
83
|
prerelease: false
|
|
78
84
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
85
|
requirements:
|
|
80
86
|
- - "~>"
|
|
81
87
|
- !ruby/object:Gem::Version
|
|
82
|
-
version:
|
|
88
|
+
version: '1.1'
|
|
83
89
|
- !ruby/object:Gem::Dependency
|
|
84
|
-
name:
|
|
90
|
+
name: aws-sdk
|
|
85
91
|
requirement: !ruby/object:Gem::Requirement
|
|
86
92
|
requirements:
|
|
87
|
-
- - "
|
|
93
|
+
- - "~>"
|
|
88
94
|
- !ruby/object:Gem::Version
|
|
89
|
-
version: '
|
|
95
|
+
version: '2.0'
|
|
90
96
|
type: :runtime
|
|
91
97
|
prerelease: false
|
|
92
98
|
version_requirements: !ruby/object:Gem::Requirement
|
|
93
99
|
requirements:
|
|
94
|
-
- - "
|
|
100
|
+
- - "~>"
|
|
95
101
|
- !ruby/object:Gem::Version
|
|
96
|
-
version: '
|
|
102
|
+
version: '2.0'
|
|
97
103
|
- !ruby/object:Gem::Dependency
|
|
98
|
-
name:
|
|
104
|
+
name: bigdecimal
|
|
105
|
+
requirement: !ruby/object:Gem::Requirement
|
|
106
|
+
requirements:
|
|
107
|
+
- - "~>"
|
|
108
|
+
- !ruby/object:Gem::Version
|
|
109
|
+
version: 1.3.5
|
|
110
|
+
type: :runtime
|
|
111
|
+
prerelease: false
|
|
112
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
113
|
+
requirements:
|
|
114
|
+
- - "~>"
|
|
115
|
+
- !ruby/object:Gem::Version
|
|
116
|
+
version: 1.3.5
|
|
117
|
+
- !ruby/object:Gem::Dependency
|
|
118
|
+
name: cbor
|
|
99
119
|
requirement: !ruby/object:Gem::Requirement
|
|
100
120
|
requirements:
|
|
101
121
|
- - ">="
|
|
@@ -123,67 +143,89 @@ dependencies:
|
|
|
123
143
|
- !ruby/object:Gem::Version
|
|
124
144
|
version: 0.10.6
|
|
125
145
|
- !ruby/object:Gem::Dependency
|
|
126
|
-
name:
|
|
146
|
+
name: concurrent-ruby
|
|
127
147
|
requirement: !ruby/object:Gem::Requirement
|
|
128
148
|
requirements:
|
|
129
|
-
- - "
|
|
149
|
+
- - "<"
|
|
130
150
|
- !ruby/object:Gem::Version
|
|
131
|
-
version:
|
|
151
|
+
version: 1.1.10
|
|
132
152
|
type: :runtime
|
|
133
153
|
prerelease: false
|
|
134
154
|
version_requirements: !ruby/object:Gem::Requirement
|
|
135
155
|
requirements:
|
|
136
|
-
- - "
|
|
156
|
+
- - "<"
|
|
137
157
|
- !ruby/object:Gem::Version
|
|
138
|
-
version:
|
|
158
|
+
version: 1.1.10
|
|
139
159
|
- !ruby/object:Gem::Dependency
|
|
140
|
-
name:
|
|
160
|
+
name: jwt
|
|
141
161
|
requirement: !ruby/object:Gem::Requirement
|
|
142
162
|
requirements:
|
|
143
163
|
- - "~>"
|
|
144
164
|
- !ruby/object:Gem::Version
|
|
145
|
-
version:
|
|
165
|
+
version: 2.3.0
|
|
146
166
|
type: :runtime
|
|
147
167
|
prerelease: false
|
|
148
168
|
version_requirements: !ruby/object:Gem::Requirement
|
|
149
169
|
requirements:
|
|
150
170
|
- - "~>"
|
|
151
171
|
- !ruby/object:Gem::Version
|
|
152
|
-
version:
|
|
172
|
+
version: 2.3.0
|
|
153
173
|
- !ruby/object:Gem::Dependency
|
|
154
|
-
name:
|
|
174
|
+
name: git
|
|
175
|
+
requirement: !ruby/object:Gem::Requirement
|
|
176
|
+
requirements:
|
|
177
|
+
- - "<"
|
|
178
|
+
- !ruby/object:Gem::Version
|
|
179
|
+
version: '1.10'
|
|
180
|
+
type: :runtime
|
|
181
|
+
prerelease: false
|
|
182
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
183
|
+
requirements:
|
|
184
|
+
- - "<"
|
|
185
|
+
- !ruby/object:Gem::Version
|
|
186
|
+
version: '1.10'
|
|
187
|
+
- !ruby/object:Gem::Dependency
|
|
188
|
+
name: rack
|
|
155
189
|
requirement: !ruby/object:Gem::Requirement
|
|
156
190
|
requirements:
|
|
157
191
|
- - "~>"
|
|
158
192
|
- !ruby/object:Gem::Version
|
|
159
|
-
version: 1.
|
|
193
|
+
version: '1.0'
|
|
160
194
|
type: :runtime
|
|
161
195
|
prerelease: false
|
|
162
196
|
version_requirements: !ruby/object:Gem::Requirement
|
|
163
197
|
requirements:
|
|
164
198
|
- - "~>"
|
|
165
199
|
- !ruby/object:Gem::Version
|
|
166
|
-
version: 1.
|
|
200
|
+
version: '1.0'
|
|
167
201
|
- !ruby/object:Gem::Dependency
|
|
168
|
-
name:
|
|
202
|
+
name: term-ansicolor
|
|
169
203
|
requirement: !ruby/object:Gem::Requirement
|
|
170
204
|
requirements:
|
|
171
|
-
- - "
|
|
172
|
-
- !ruby/object:Gem::Version
|
|
173
|
-
version: '4.0'
|
|
174
|
-
- - "<"
|
|
205
|
+
- - "~>"
|
|
175
206
|
- !ruby/object:Gem::Version
|
|
176
|
-
version:
|
|
207
|
+
version: 1.8.0
|
|
177
208
|
type: :runtime
|
|
178
209
|
prerelease: false
|
|
179
210
|
version_requirements: !ruby/object:Gem::Requirement
|
|
180
211
|
requirements:
|
|
181
|
-
- - "
|
|
212
|
+
- - "~>"
|
|
182
213
|
- !ruby/object:Gem::Version
|
|
183
|
-
version:
|
|
184
|
-
|
|
214
|
+
version: 1.8.0
|
|
215
|
+
- !ruby/object:Gem::Dependency
|
|
216
|
+
name: thor
|
|
217
|
+
requirement: !ruby/object:Gem::Requirement
|
|
218
|
+
requirements:
|
|
219
|
+
- - "~>"
|
|
185
220
|
- !ruby/object:Gem::Version
|
|
186
|
-
version:
|
|
221
|
+
version: 0.20.0
|
|
222
|
+
type: :runtime
|
|
223
|
+
prerelease: false
|
|
224
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
225
|
+
requirements:
|
|
226
|
+
- - "~>"
|
|
227
|
+
- !ruby/object:Gem::Version
|
|
228
|
+
version: 0.20.0
|
|
187
229
|
- !ruby/object:Gem::Dependency
|
|
188
230
|
name: bundler
|
|
189
231
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -292,9 +334,9 @@ extra_rdoc_files: []
|
|
|
292
334
|
files:
|
|
293
335
|
- ".dockerignore"
|
|
294
336
|
- ".github/CODEOWNERS"
|
|
337
|
+
- ".github/workflows/test.yml"
|
|
295
338
|
- ".gitignore"
|
|
296
339
|
- ".rspec"
|
|
297
|
-
- ".travis.yml"
|
|
298
340
|
- Dockerfile
|
|
299
341
|
- Gemfile
|
|
300
342
|
- Gemfile.lock
|
data/.travis.yml
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
dist: xenial
|
|
2
|
-
sudo: false
|
|
3
|
-
|
|
4
|
-
rvm:
|
|
5
|
-
- "2.1"
|
|
6
|
-
- "2.2"
|
|
7
|
-
- "2.3"
|
|
8
|
-
- "2.4"
|
|
9
|
-
- "2.5"
|
|
10
|
-
- "2.6"
|
|
11
|
-
- "2.7"
|
|
12
|
-
|
|
13
|
-
before_install:
|
|
14
|
-
- gem install bundler -v '< 2'
|
|
15
|
-
script:
|
|
16
|
-
- bundle exec rake
|
|
17
|
-
- bundle exec script/sync-readme-usage
|
|
18
|
-
- git diff --exit-code
|
|
19
|
-
env:
|
|
20
|
-
- BUNDLER_VERSION=1.17.3
|