brightbox-cli 5.0.0 → 5.1.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/.devcontainer/Dockerfile +50 -0
- data/.devcontainer/devcontainer.json +37 -0
- data/.github/workflows/ruby.yml +1 -1
- data/CHANGELOG.md +17 -0
- data/Gemfile.lock +10 -2
- data/Jenkinsfile +11 -13
- data/brightbox-cli.gemspec +4 -0
- data/lib/brightbox-cli/version.rb +1 -1
- data/spec/spec_helper.rb +0 -1
- data/spec/support/vcr.rb +14 -0
- metadata +64 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 762c685461579ff25f8897f1e1dc628d8b54624aef6524d681fedfc820422593
|
|
4
|
+
data.tar.gz: 131247b684d91cbdc8642f5a9c01de913fd415fc98b3b5fd6c32d5f4fe90d444
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e150f42838b2597cfbf35778514fbc8c9dbd42fd571be5a09709bd8b4a2dde6d1957d265646f88b06213be664a1414a1f1e77f6d949899721297072055a4abb4
|
|
7
|
+
data.tar.gz: 7ceab3597a0ecd83bb829b8833309c20b245d2f0fb49022c52dec8c68be7b0646a17c39a65763b60e210819b35478950b2155adc465c4c65ad12b4ac309931ee
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
FROM mcr.microsoft.com/devcontainers/ruby:2-3.4-trixie
|
|
2
|
+
|
|
3
|
+
# Install additional OS packages
|
|
4
|
+
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
|
|
5
|
+
&& apt-get -y install --no-install-recommends \
|
|
6
|
+
libssl-dev \
|
|
7
|
+
libreadline-dev \
|
|
8
|
+
zlib1g-dev \
|
|
9
|
+
libncurses-dev \
|
|
10
|
+
libyaml-dev \
|
|
11
|
+
libffi-dev \
|
|
12
|
+
libgdbm-dev \
|
|
13
|
+
&& apt-get clean -y && rm -rf /var/lib/apt/lists/*
|
|
14
|
+
|
|
15
|
+
# Switch to vscode user
|
|
16
|
+
USER vscode
|
|
17
|
+
|
|
18
|
+
# Install OpenSSL 1.1.1w locally
|
|
19
|
+
RUN mkdir -p /home/vscode/.openssl_src \
|
|
20
|
+
&& cd /home/vscode/.openssl_src \
|
|
21
|
+
&& wget -q https://www.openssl.org/source/openssl-1.1.1w.tar.gz \
|
|
22
|
+
&& tar -zxf openssl-1.1.1w.tar.gz \
|
|
23
|
+
&& cd openssl-1.1.1w \
|
|
24
|
+
&& ./config --prefix=/home/vscode/.openssl/1.1.1w --openssldir=/home/vscode/.openssl/1.1.1w \
|
|
25
|
+
&& make \
|
|
26
|
+
&& make install \
|
|
27
|
+
&& cd .. \
|
|
28
|
+
&& rm -rf /home/vscode/.openssl_src
|
|
29
|
+
|
|
30
|
+
# Link system certificates
|
|
31
|
+
RUN rmdir /home/vscode/.openssl/1.1.1w/certs \
|
|
32
|
+
&& ln -s /etc/ssl/certs /home/vscode/.openssl/1.1.1w/certs \
|
|
33
|
+
&& ln -s /etc/ssl/certs/ca-certificates.crt /home/vscode/.openssl/1.1.1w/cert.pem
|
|
34
|
+
|
|
35
|
+
# Update RVM
|
|
36
|
+
USER root
|
|
37
|
+
SHELL ["/bin/bash", "-lc"]
|
|
38
|
+
RUN curl -sSL https://rvm.io/mpapis.asc | gpg --import - \
|
|
39
|
+
&& curl -sSL https://rvm.io/pkuczynski.asc | gpg --import - \
|
|
40
|
+
&& rvm get master
|
|
41
|
+
|
|
42
|
+
# Install Rubies
|
|
43
|
+
USER vscode
|
|
44
|
+
RUN git config --global --add safe.directory /usr/local/rvm/repos/ruby
|
|
45
|
+
ENV RUBY_CFLAGS="-Wno-error=implicit-function-declaration"
|
|
46
|
+
RUN rvm install 2.7 --disable-binary --with-openssl-dir=/home/vscode/.openssl/1.1.1w
|
|
47
|
+
RUN rvm install 3.0 --disable-binary --with-openssl-dir=/home/vscode/.openssl/1.1.1w
|
|
48
|
+
RUN rvm install 3.1.6 --disable-binary
|
|
49
|
+
RUN rvm install 3.2.4 --disable-binary
|
|
50
|
+
RUN rvm install 3.3.1 --disable-binary
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
|
|
2
|
+
// README at: https://github.com/devcontainers/templates/tree/main/src/ruby
|
|
3
|
+
{
|
|
4
|
+
"name": "Ruby",
|
|
5
|
+
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
|
|
6
|
+
"build": {
|
|
7
|
+
"dockerfile": "Dockerfile"
|
|
8
|
+
},
|
|
9
|
+
|
|
10
|
+
// Features to add to the dev container. More info: https://containers.dev/features.
|
|
11
|
+
"features": {
|
|
12
|
+
"ghcr.io/devcontainers-extra/features/fish-apt-get:1": {},
|
|
13
|
+
"ghcr.io/devcontainers-extra/features/neovim-apt-get:1": {},
|
|
14
|
+
"ghcr.io/devcontainers-extra/features/ripgrep:1": {},
|
|
15
|
+
"ghcr.io/schlich/devcontainer-features/jujutsu:0": {},
|
|
16
|
+
"ghcr.io/stuartleeks/dev-container-features/shell-history:0": {}
|
|
17
|
+
},
|
|
18
|
+
"customizations": {
|
|
19
|
+
"vscode": {
|
|
20
|
+
"extensions": [
|
|
21
|
+
"visualjj.visualjj"
|
|
22
|
+
]
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// Use 'forwardPorts' to make a list of ports inside the container available locally.
|
|
27
|
+
// "forwardPorts": [],
|
|
28
|
+
|
|
29
|
+
// Use 'postCreateCommand' to run commands after the container is created.
|
|
30
|
+
// "postCreateCommand": "ruby --version",
|
|
31
|
+
|
|
32
|
+
// Configure tool-specific properties.
|
|
33
|
+
// "customizations": {},
|
|
34
|
+
|
|
35
|
+
// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
|
|
36
|
+
// "remoteUser": "root"
|
|
37
|
+
}
|
data/.github/workflows/ruby.yml
CHANGED
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
### v5.1.0 / 2025-12-18
|
|
2
|
+
|
|
3
|
+
[Full Changelog](https://github.com/brightbox/brightbox-cli/compare/v5.0.0...v5.1.0)
|
|
4
|
+
|
|
5
|
+
Enhancements:
|
|
6
|
+
|
|
7
|
+
* Update dependencies for Ruby 4.0 support
|
|
8
|
+
|
|
9
|
+
Changes:
|
|
10
|
+
|
|
11
|
+
* Numerous dependency gems updated
|
|
12
|
+
|
|
13
|
+
Testing:
|
|
14
|
+
|
|
15
|
+
* Added development container
|
|
16
|
+
* CI changes
|
|
17
|
+
|
|
1
18
|
### v5.0.0 / 2025-01-20
|
|
2
19
|
|
|
3
20
|
[Full Changelog](https://github.com/brightbox/brightbox-cli/compare/v4.8.0...v5.0.0)
|
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
brightbox-cli (5.
|
|
4
|
+
brightbox-cli (5.1.0)
|
|
5
|
+
abbrev
|
|
6
|
+
base64
|
|
7
|
+
bigdecimal
|
|
5
8
|
fog-brightbox (>= 1.12.0)
|
|
6
9
|
fog-core (< 2.0)
|
|
7
10
|
gli (~> 2.21)
|
|
@@ -10,13 +13,17 @@ PATH
|
|
|
10
13
|
i18n (>= 0.6, < 1.11)
|
|
11
14
|
mime-types (~> 3.0)
|
|
12
15
|
multi_json (~> 1.11)
|
|
16
|
+
ostruct
|
|
13
17
|
|
|
14
18
|
GEM
|
|
15
19
|
remote: https://rubygems.org/
|
|
16
20
|
specs:
|
|
21
|
+
abbrev (0.1.2)
|
|
17
22
|
addressable (2.8.0)
|
|
18
23
|
public_suffix (>= 2.0.2, < 5.0)
|
|
19
24
|
ast (2.4.2)
|
|
25
|
+
base64 (0.3.0)
|
|
26
|
+
bigdecimal (3.3.1)
|
|
20
27
|
builder (3.3.0)
|
|
21
28
|
coderay (1.1.3)
|
|
22
29
|
concurrent-ruby (1.3.4)
|
|
@@ -52,6 +59,7 @@ GEM
|
|
|
52
59
|
mime-types-data (3.2024.1203)
|
|
53
60
|
mocha (1.14.0)
|
|
54
61
|
multi_json (1.15.0)
|
|
62
|
+
ostruct (0.6.3)
|
|
55
63
|
parallel (1.22.1)
|
|
56
64
|
parser (3.1.2.0)
|
|
57
65
|
ast (~> 2.4.1)
|
|
@@ -65,7 +73,7 @@ GEM
|
|
|
65
73
|
rainbow (3.1.1)
|
|
66
74
|
rake (13.0.6)
|
|
67
75
|
regexp_parser (2.5.0)
|
|
68
|
-
rexml (3.
|
|
76
|
+
rexml (3.4.2)
|
|
69
77
|
rspec (3.11.0)
|
|
70
78
|
rspec-core (~> 3.11.0)
|
|
71
79
|
rspec-expectations (~> 3.11.0)
|
data/Jenkinsfile
CHANGED
|
@@ -4,39 +4,37 @@ pipeline {
|
|
|
4
4
|
ansiColor('xterm')
|
|
5
5
|
}
|
|
6
6
|
triggers {
|
|
7
|
-
cron('@
|
|
7
|
+
cron('@weekly')
|
|
8
8
|
}
|
|
9
9
|
stages {
|
|
10
10
|
stage("Run tests") {
|
|
11
11
|
parallel {
|
|
12
|
-
stage("Ruby 2.
|
|
12
|
+
stage("Ruby 2.7") {
|
|
13
13
|
agent {
|
|
14
14
|
docker {
|
|
15
|
-
image 'ruby:2.
|
|
15
|
+
image 'ruby:2.7'
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
steps {
|
|
19
|
-
sh 'gem install bundler:2.1.4'
|
|
20
19
|
sh 'bundle install --deployment'
|
|
21
20
|
sh 'bundle exec rake spec'
|
|
22
21
|
}
|
|
23
22
|
}
|
|
24
|
-
stage("Ruby
|
|
23
|
+
stage("Ruby 3.0") {
|
|
25
24
|
agent {
|
|
26
25
|
docker {
|
|
27
|
-
image 'ruby:
|
|
26
|
+
image 'ruby:3.0'
|
|
28
27
|
}
|
|
29
28
|
}
|
|
30
29
|
steps {
|
|
31
|
-
sh 'gem install bundler:2.1.4'
|
|
32
30
|
sh 'bundle install --deployment'
|
|
33
31
|
sh 'bundle exec rake spec'
|
|
34
32
|
}
|
|
35
33
|
}
|
|
36
|
-
stage("Ruby
|
|
34
|
+
stage("Ruby 3.1") {
|
|
37
35
|
agent {
|
|
38
36
|
docker {
|
|
39
|
-
image 'ruby:
|
|
37
|
+
image 'ruby:3.1'
|
|
40
38
|
}
|
|
41
39
|
}
|
|
42
40
|
steps {
|
|
@@ -44,10 +42,10 @@ pipeline {
|
|
|
44
42
|
sh 'bundle exec rake spec'
|
|
45
43
|
}
|
|
46
44
|
}
|
|
47
|
-
stage("Ruby 3.
|
|
45
|
+
stage("Ruby 3.2") {
|
|
48
46
|
agent {
|
|
49
47
|
docker {
|
|
50
|
-
image 'ruby:3.
|
|
48
|
+
image 'ruby:3.2'
|
|
51
49
|
}
|
|
52
50
|
}
|
|
53
51
|
steps {
|
|
@@ -55,10 +53,10 @@ pipeline {
|
|
|
55
53
|
sh 'bundle exec rake spec'
|
|
56
54
|
}
|
|
57
55
|
}
|
|
58
|
-
stage("Ruby 3.
|
|
56
|
+
stage("Ruby 3.3") {
|
|
59
57
|
agent {
|
|
60
58
|
docker {
|
|
61
|
-
image 'ruby:3.
|
|
59
|
+
image 'ruby:3.3'
|
|
62
60
|
}
|
|
63
61
|
}
|
|
64
62
|
steps {
|
data/brightbox-cli.gemspec
CHANGED
|
@@ -21,6 +21,9 @@ Gem::Specification.new do |s|
|
|
|
21
21
|
s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
|
|
22
22
|
s.require_paths = ["lib"]
|
|
23
23
|
|
|
24
|
+
s.add_dependency "abbrev"
|
|
25
|
+
s.add_dependency "base64"
|
|
26
|
+
s.add_dependency "bigdecimal"
|
|
24
27
|
s.add_dependency "fog-brightbox", ">= 1.12.0"
|
|
25
28
|
s.add_dependency "fog-core", "< 2.0"
|
|
26
29
|
s.add_dependency "gli", "~> 2.21"
|
|
@@ -29,6 +32,7 @@ Gem::Specification.new do |s|
|
|
|
29
32
|
s.add_dependency "i18n", ">= 0.6", "< 1.11"
|
|
30
33
|
s.add_dependency "mime-types", "~> 3.0"
|
|
31
34
|
s.add_dependency "multi_json", "~> 1.11"
|
|
35
|
+
s.add_dependency "ostruct"
|
|
32
36
|
|
|
33
37
|
s.add_development_dependency "mocha"
|
|
34
38
|
s.add_development_dependency "pry-remote"
|
data/spec/spec_helper.rb
CHANGED
data/spec/support/vcr.rb
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
# Polyfill for newer Ruby versions that remove
|
|
2
|
+
require "cgi"
|
|
3
|
+
|
|
4
|
+
unless CGI.respond_to?(:parse)
|
|
5
|
+
require "uri"
|
|
6
|
+
def CGI.parse(query)
|
|
7
|
+
params = Hash.new { |h, k| h[k] = [] }
|
|
8
|
+
URI.decode_www_form(query).each do |key, value|
|
|
9
|
+
params[key] << value
|
|
10
|
+
end
|
|
11
|
+
params
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
|
|
1
15
|
require "vcr"
|
|
2
16
|
|
|
3
17
|
VCR.configure do |vcr|
|
metadata
CHANGED
|
@@ -1,15 +1,58 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: brightbox-cli
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 5.
|
|
4
|
+
version: 5.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- John Leach
|
|
8
8
|
- Paul Thornthwaite
|
|
9
|
+
autorequire:
|
|
9
10
|
bindir: bin
|
|
10
11
|
cert_chain: []
|
|
11
|
-
date: 2025-
|
|
12
|
+
date: 2025-12-18 00:00:00.000000000 Z
|
|
12
13
|
dependencies:
|
|
14
|
+
- !ruby/object:Gem::Dependency
|
|
15
|
+
name: abbrev
|
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
|
17
|
+
requirements:
|
|
18
|
+
- - ">="
|
|
19
|
+
- !ruby/object:Gem::Version
|
|
20
|
+
version: '0'
|
|
21
|
+
type: :runtime
|
|
22
|
+
prerelease: false
|
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
24
|
+
requirements:
|
|
25
|
+
- - ">="
|
|
26
|
+
- !ruby/object:Gem::Version
|
|
27
|
+
version: '0'
|
|
28
|
+
- !ruby/object:Gem::Dependency
|
|
29
|
+
name: base64
|
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
|
31
|
+
requirements:
|
|
32
|
+
- - ">="
|
|
33
|
+
- !ruby/object:Gem::Version
|
|
34
|
+
version: '0'
|
|
35
|
+
type: :runtime
|
|
36
|
+
prerelease: false
|
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
38
|
+
requirements:
|
|
39
|
+
- - ">="
|
|
40
|
+
- !ruby/object:Gem::Version
|
|
41
|
+
version: '0'
|
|
42
|
+
- !ruby/object:Gem::Dependency
|
|
43
|
+
name: bigdecimal
|
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
|
45
|
+
requirements:
|
|
46
|
+
- - ">="
|
|
47
|
+
- !ruby/object:Gem::Version
|
|
48
|
+
version: '0'
|
|
49
|
+
type: :runtime
|
|
50
|
+
prerelease: false
|
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
52
|
+
requirements:
|
|
53
|
+
- - ">="
|
|
54
|
+
- !ruby/object:Gem::Version
|
|
55
|
+
version: '0'
|
|
13
56
|
- !ruby/object:Gem::Dependency
|
|
14
57
|
name: fog-brightbox
|
|
15
58
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -128,6 +171,20 @@ dependencies:
|
|
|
128
171
|
- - "~>"
|
|
129
172
|
- !ruby/object:Gem::Version
|
|
130
173
|
version: '1.11'
|
|
174
|
+
- !ruby/object:Gem::Dependency
|
|
175
|
+
name: ostruct
|
|
176
|
+
requirement: !ruby/object:Gem::Requirement
|
|
177
|
+
requirements:
|
|
178
|
+
- - ">="
|
|
179
|
+
- !ruby/object:Gem::Version
|
|
180
|
+
version: '0'
|
|
181
|
+
type: :runtime
|
|
182
|
+
prerelease: false
|
|
183
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
184
|
+
requirements:
|
|
185
|
+
- - ">="
|
|
186
|
+
- !ruby/object:Gem::Version
|
|
187
|
+
version: '0'
|
|
131
188
|
- !ruby/object:Gem::Dependency
|
|
132
189
|
name: mocha
|
|
133
190
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -278,6 +335,8 @@ executables:
|
|
|
278
335
|
extensions: []
|
|
279
336
|
extra_rdoc_files: []
|
|
280
337
|
files:
|
|
338
|
+
- ".devcontainer/Dockerfile"
|
|
339
|
+
- ".devcontainer/devcontainer.json"
|
|
281
340
|
- ".gitattributes"
|
|
282
341
|
- ".github/workflows/ruby.yml"
|
|
283
342
|
- ".gitignore"
|
|
@@ -826,6 +885,7 @@ licenses:
|
|
|
826
885
|
- MIT
|
|
827
886
|
metadata:
|
|
828
887
|
rubygems_mfa_required: 'true'
|
|
888
|
+
post_install_message:
|
|
829
889
|
rdoc_options: []
|
|
830
890
|
require_paths:
|
|
831
891
|
- lib
|
|
@@ -840,7 +900,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
840
900
|
- !ruby/object:Gem::Version
|
|
841
901
|
version: '0'
|
|
842
902
|
requirements: []
|
|
843
|
-
rubygems_version: 3.
|
|
903
|
+
rubygems_version: 3.5.16
|
|
904
|
+
signing_key:
|
|
844
905
|
specification_version: 4
|
|
845
906
|
summary: The Brightbox cloud management system
|
|
846
907
|
test_files:
|