Backwards incompatible changes:
- Drop support for Ruby versions older than 2.7
- Update
Gemfile.lock
to use Bundler 2.4.22 - When ENV
HOME
is not set, the working directory is used for configs rather than/.brightbox
to fix issues with containers show
commands require at least one argument to prevent an issue where the wrong, summary API was used resulting in missing data in tablesimages
architecture is now its ownarch
column and no longer combined with the name field.
Enhancements:
- Added support for ACME certificates
brightbox lbs create
andupdate
accepts--acme-domains
with CSV domains to request them to be setup on the load balancerbrightbox lbs show
outputs ACME related fieldsacme_domains
- domains requested to be presentacme_cert_expires
- when the ACME certificate in no longer validacme_cert_fingerprint
- the fingerprint of the ACME certificateacme_cert_issued_at
- when the ACME certificate was issuedacme_cert_subjects
- domain present on ACME certificate
brightbox firewall-policy
is now an alias forfirewall-policies
Changes:
brightbox images
will now report an deprecated and private image as "private" rather than "deprecated"- Update
fog-brightbox
tov1.12.0
- Numerous dependency gems updated
- Expanded debugging output
Brightbox::Api#attributes
attempts to transform and make attributes indifferent to String or Symbol keys as that has introduced numerous issues over the years. Fog only converts the top level of keys from Strings to Symbols resulting in mismatched keys throughout- Refactored all models
#attributes
and#to_row
methods to use the above with more involved testing
Bug fixes:
brightbox lbs create
no longer requires at least one node to balance which was outdated client side validation long removed from the APIbrightbox lbs create
should now recognise the--buffer-size
optionbrightbox lbs update
convertsbuffer-size
to integer before sendingbrightbox cloudips unmap
incorrectly used the "map" description in the help output. This is now fixed
Testing:
- Update CI testing matrix from Ruby 2.7 up to 3.3
- Ensure bundler version declared in
Gemfile.lock
is used by CI tests - CI setting completes all builds rather than cancelling on one fail
- CI testing includes
DEBUG
ENV settings - Tests updated to not "fail" when
DEBUG
output is included upsetting matches to expected output in numerous cases - Simplecov has been introduced and configured to prevent a drop in test coverage.
- Temporary testing config directories are removed explicitly to prevent config bleeding in some test scenarios
- Tests for
server activate_console
confirm support for local time and time zones.
Changes:
- Increase supported Server
user-data
limit to match 64KiB now supported by API.
Changes:
- Expose
image_username
toservers show
output
Changes:
- Remove
accounts ftp_reset_password
subcommand. The FTP service has been retired so the command would receive an error from the API. - Remove
--source
option fromimages register
. This was tied to the FTP based registration which is no longer supported. Usingurl
on a HTTP source is now the preferred option for custom uploads. - Update
mime-types-data
gem to3.2023.0218.1
Bug fixes:
- Correct locale references to
sql instances reset
andresize
help text.
Changes:
- Corrected previous CHANGELOG entry related to the update to
fog-brightbox
to showv1.9.1
notv1.7.0
Enhancements:
- Added
sql instances reset
subcommand for restarting DBMS on a database server. - Added
sql instances resize
subcommand for increasing database server resources.
Enhancements:
- Added
configmaps
subcommand for managing config map resources.
Bug fixes:
- Declared top level help for
volumes
subcommand. - Fix
volumes update --delete-with-server
switch. - Fix
lbs update --sslv3
switch. - Fix
servers update --compatibility-mode
switch.
Changes:
- Added a
ignore_default
option to GLI DSL, by monkey patching, to prevent unexpected switches from interfering with API calls. In some cases it was impossible to determine if--feature
or--no-feature
had been used in the command OR added as a default in GLI. This meantupdate
commands would always sendfeature: false
in API requests even when updating names and other fields. This could clear setting unexpectedly due to the behaviour. - Test
servers create --compatibility-mode
switch. - Test
cloudips update --delete-reverse-dns
switch. - Test
sql instances --remove-snapshots-schedule
switch.
Bug fixes:
- Fix
help
output crashing when encountering Array in locale file.
Enhancements:
- Adds
volumes
subcommand for Volume management.
Changes:
- Update
fog-brightbox
tov1.9.1
Bug fixes:
- Bumped version of
highline
gem to fix issue when prompting for password duringbrightbox login
command on Ruby 3.0+. - Fixed help output for
brightbox login
by correcting DSL declaration.
Enhancements:
- Adds three new, mutually exclusive options to
images create
to specify different sources:url
can specify source as a URL for a HTTP or HTTPS download rather than an existing FTP upload.server
can specify a server ID to create a snapshot image from.volume
can specify a volume ID to create a snapshot image from.
Enhancements:
- Adds
volume-size
toservers create
to allow passing of arbitrary sizes for network based storage types.
Backwards incompatible changes:
- Drop support for Ruby versions older than 2.5
- Update
Gemfile.lock
to use Bundler 2.1.4 - Remove hypenated versions of sub commands. For example
brightbox-servers
wrappingbrightbox servers
.
Changes:
- Improved Two Factor Authentication (2FA) support resulting in it working
automatically without configuration prompting when required. The
two_factor
configuration setting is now ignored - The
brightbox login
command will now work when 2FA is enabled for a user - Adds Ruby 3.1 and 3.2 (preview) to testing matrix
- Update
fog-brightbox
tov1.7.0
- Removed references to
Fixnum
from code and dependencies to allow testing of Ruby 3.2 support - Updates
webmock
from 1.21.0 to 3.14.0 - Removes
rubyforge
reference from gemspec to remove deprecation warning - Remove post install message from gemspec
- Update
gli
to latest version v2.21.0 to clear some deprecations seen under later Ruby versions - Update development gems to ensure up to date
- Change
client_id
logging level from info to debug - Setup Rubocop to help improve code quality/consistency
- Updated code based on Rubocop reports resulting in many changes
- Pin
dry-inflector
to v0.2.0 to prevent issues with Ruby =< 2.5 - Add support for
min-ram
tobrightbox images
commands - Update authors (and emails) in gemspec
Bug fixes:
- Implement
Brightbox::Api#respond_to_missing?
to avoid issues when delegating made#respond_to?
raise an error brightbox login
no longer attempts (and fails) to download accounts when authentication has failed
Testing:
- Updated testing/development gems
- Update VCR to latest release v2.9.3
- Remove VCR identifier sanitisation as temp dev instance are used and squashing IDs cause bug when chain/multiple requests combined
- RSpec is configured to allow re-runs
- Timeout testing is dropped to 10s
- Updated
.dev
TLD used in testing to.localhost
to avoid problems when the original was commercialised such as local DNS blocked by browsers.
Changes:
- Update
fog-brightbox
to v1.4.0` (allowing Ruby 3.0 support) - Added support for getting 2FA from helper
- Added missing
sql snapshot
fields - Infrastructure changes to test on more versions of Ruby
- Added GitHub actions support for CI testing.
- Removed Travis CI support.
Bug fixes:
- Updates
crack
gem to switch fromsafe_yaml
torexml
- Bump addressable from 2.3.8 to 2.8.0. (fixing ReDoS vulnerability)
- Bump rexml from 3.2.4 to 3.2.5 (fixing round-trip vulnerability bugs)
Changes:
- Add
--disk-encrypted
option to server creation to allow enabling encryption at rest during a build. - Setup GitHub Actions for Ruby 2.4+ builds to reduce the delays of testing using Travis.
- Reduce number of Travis builds due to incredibly slow start up times. We are approaching an hour to get a build taking less than a minute starting.
Changes:
- Update
fog-brightbox
to v1.2.0 - Add
lbs
option for--min-ssl-ver
to specify the minimum TLS/SSL protocol that should be acceptable for use with the load balancer
Bug fixes:
- Fix
cloudips update --name
to correctly set blank names
Backwards incompatible changes:
- Dropped support for Ruby 1.9
Changes:
- Update
fog-brightbox
to v1.1.0 - Update
rake
to v12.3.3 to resolve CVE-2020-8130 - Update
rspec
to v3.9 to avoid issue when updatingrake
Bug fixes:
- Creating an SQL instance from an existing snapshot has been fixed following
the update for
fog-brightbox v1.1.0
Enhancements:
- Adds
token create
to always attempt to reauthenticate and display a token.
Bug fixes:
- Update
excon
to v0.71.0 to fix security issue.
Bug fixes:
- Constrain version of
dry-inflector
to ensure gem can work with older versions of Ruby.
Enhancements:
- Prompts for 2FA token if set up on a user account being used to authenticate.
Enhancements:
- Support for using an external password manager by setting in configuration
Bug fixes:
- Fixes
servers activate_console
URL generated from new API output to remove invalid trailing slash.
Bug fixes:
- Pins
fog-brightbox
to v0.16.1 to include a fix to avoid deprecation warnings although only present when using fog-core > 2.0 - Pins
fog-core
dependency to < 2.0 to restore Ruby 1.9 support and avoid upstream breaking changes. - Fixes an errant space in the
brightbox token
curl format output.
Bug fixes:
- Pins
fog-core
dependency to < 2.1.1 where some deprecation checks have broken everything.
Enhancements:
- Adds
brightbox token
command to read currently cached OAuth2 bearer tokens
Bug fixes:
- Fix image list filter when using
--account/-l
options caused by hash key type change somewhere in the stack.
Changes:
- Update
fog-brightbox
to v0.15.0 - Limit
fog-brightbox
dependency to < 1.0 to avoid issue following major update - Add Jenkinsfile for internal CI
Changes:
- Remove unused net-ssh dependency (gregkare)
Enhancements:
- Adds IPv6 details to the Server and Cloud IP detailed views.
Changes:
- Update
fog-brightbox
to v0.14.0
Bug fixes:
- Remove debugging line left over in
server create
Enhancements:
- Add
cloud-ip
argument toserver create
command to pre-allocate and map a cloud IP to a server upon build completion.
Changes:
- Update
fog-brightbox
to v0.13.0 - Various changes to Travis settings
Enhancements:
- Add
maintenance-weekday
andmaintenance-hour
tosql instance
commands. This allows setting of a custom maintenance window if the default of Sunday between 06:00-06:59 UTC does not suit for your application. The maintenance window is used to automatically apply security updates to the instance. - Add args
snapshots-schedule
andremove-snapshots-schedule
tosql instance
command to enable setting up schedules for automatic snapshots of data. The argument to set takes a crontab format string (e.g. "0 5 * * 0") to specify when it should occur. Schedules must be at hourly or more.
Bug fixes:
- Fix handling of creation time to not error if excluded from JSON.
- Fix handling of SQL instance's cloud IP is excluded from JSON.
Changes:
- Update
fog-brightbox
to v0.11.0 - Corrected naming of a number of VCR recordings.
Released in error with only version bump.
Enhancements:
- Optimise API call used when listing images
Changes:
- Update
fog-brightbox
to v0.10.1 - Default behaviour of fog-brightbox v0.10.0 is to use collapsed API response
to account listing resulting in faster calls in
brightbox accounts list
- Various changes to Travis settings
Bug fixes:
- Lock
mime-types
to 2.x series. Ruby 1.9.3 support is dropped in v3.0 (fixes GH#80)
Bug fixes:
- Fixed issue where
brightbox servers show
would not display a server's zone.
Bug fixes:
- Fix issue when
login
command prompt twice for password (or prompt once even when already supplied) due to reusing cached but expired refresh token.
Bug fixes:
- Fix issue when
login
command would reset custom URLs to the defaults.
Enhancements:
-
Adds embedded client that is used when a user has not setup their own application.
-
Adds
brightbox login
command which allows a simplified login for users with just their email address and password (prompted).brightbox login user@example.com
This uses the embedded application to save extra steps setting up.
Bug fixes:
- Guard against errors when using
DEBUG=true
whilst configuration is not selected triggering aNoMethodError
- Use
pry-remote
for debugging.pry
runs in process and the IO is trapped when testing and in some error cases making it unusable. - Fix configuration code so it can initialise without network side effects when reading client_name and other values.
Enhancements:
- Add
BRIGHTBOX_API_URL
ENV for running against alternative endpoints.
Bug fixes:
- Specify some expected errors to avoid specs passing when new errors introduced.
- Fix image list sorting using "status" field.
- Handle error when
$config
is nil
Changes:
- Update to use
fog-brightbox v0.9.0
- Remove 1.8.7 testing references.
- Declare
net-ssh
dependency as < 3.0 for Ruby 1.9.3 compatibility.
Bug fixes:
- Return non 0 exit codes when CLI has an error
Bug fixes:
- Update
fog-brightbox
dependency to 0.8.0 to ensure fqdn attribute is there.
Enhancements:
- Cloud IP's fully qualified domain name (e.g. cip-12345.gb1.brightbox.com) is available within the output from the "show" command.
Bug fixes:
- Removed duplicate
reverse_dns
entry from CIP show output - Removed extra
fog-core
dependency. Should be determined byfog-brightbox
Backwards incompatible changes:
- Dropped support for Ruby 1.8.7
Changes:
- Removed
mime-types
dependency constraint (added just for 1.8.7 compatibility)
Enhancements:
- Updated list of autocompleted server handles to include all current versions including SSD versions.
Changes:
- Default server type has changed to
1gb.ssd
. This can be changed with the--type (-t)
argument to specify alternatives as before.
Enhancements:
- Add support for GPG stored user passwords.
Bug fixes:
- Display error messages when DEBUG mode is enabled rather than suppressing.
Bug fixes:
- Replace removed
Fog::VERSION
reference withFog::Core::VERSION
which was broken in a minor update offog-core
- Dependency of
fog-core
now v1.25 minimum.
Bug fixes:
- Lock
fog-core
to be1.23.0
since1.24+
broke things for modules and no apparently fix yet.
Enhancements:
- Add
--buffer-size
argument tolba create
to set the load balancers buffer size used. - Add switch to enable/disable SSLv3 on the load balancer. Disabled by default
on new load balancers it can be enabled with
--sslv3
when updating.
Enhancements:
- Add
server reboot
command to send soft (OS level) restarts to server. - Add
server reset
command to send hard (Hypervisor level) restart to server. - Add
lock
andunlock
commands to resources to prevent accidental deletion:- Servers
- Images
- Load balancers
- SQL instances
- SQL snapshots
- Can see lock status in a resource's details.
Bug fixes:
- Fix config
#persistent?
method if option was being sent.
Changes:
- Update
fog-brightbox
to v0.3.0 - Update
rspec
tov2.99.1
- Update specs
- Code style improvements
Bug Fixes:
- Corrected Base64 encoding when updating a server's
user-data
. Behaviour had been inverted.
Bug Fixes:
- Fixed the require to allow Ruby 1.8.7 to pick up Fog::JSON again [GH-57] #57
Enhancements:
- Adds support for Cloud SQL instances to the CLI.
- Uses modular
fog-brightbox
gem to cut down on unnecessary dependencies included using fullfog
gem. - Can view more details related to SSL certificates on load balancers.
- Rely on API output to check which resources can have Cloud IPs mapped.
json
gem is no longer a hard dependency. If faster versions are available they should be detected automatically.
Bug Fixes:
brightbox images show
andbrightbox lbs show
no longer error when identifiers are not passed but display all resources like other commands.- Help instructions for option arguments are correct following GLI update.