Enhancements:
- Update dependencies for Ruby 4.0 support
Changes:
- Numerous dependency gems updated
Testing:
- Added development container
- CI changes
Backwards incompatible changes:
- Drop support for Ruby versions older than 2.7
- Update
Gemfile.lockto use Bundler 2.4.22 - When ENV
HOMEis not set, the working directory is used for configs rather than/.brightboxto fix issues with containers showcommands require at least one argument to prevent an issue where the wrong, summary API was used resulting in missing data in tablesimagesarchitecture is now its ownarchcolumn and no longer combined with the name field.
Enhancements:
- Added support for ACME certificates
brightbox lbs createandupdateaccepts--acme-domainswith CSV domains to request them to be setup on the load balancerbrightbox lbs showoutputs 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-policyis now an alias forfirewall-policies
Changes:
brightbox imageswill now report an deprecated and private image as "private" rather than "deprecated"- Update
fog-brightboxtov1.12.0 - Numerous dependency gems updated
- Expanded debugging output
Brightbox::Api#attributesattempts 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
#attributesand#to_rowmethods to use the above with more involved testing
Bug fixes:
brightbox lbs createno longer requires at least one node to balance which was outdated client side validation long removed from the APIbrightbox lbs createshould now recognise the--buffer-sizeoptionbrightbox lbs updateconvertsbuffer-sizeto integer before sendingbrightbox cloudips unmapincorrectly 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.lockis used by CI tests - CI setting completes all builds rather than cancelling on one fail
- CI testing includes
DEBUGENV settings - Tests updated to not "fail" when
DEBUGoutput 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_consoleconfirm support for local time and time zones.
Changes:
- Increase supported Server
user-datalimit to match 64KiB now supported by API.
Changes:
- Expose
image_usernametoservers showoutput
Changes:
- Remove
accounts ftp_reset_passwordsubcommand. The FTP service has been retired so the command would receive an error from the API. - Remove
--sourceoption fromimages register. This was tied to the FTP based registration which is no longer supported. Usingurlon a HTTP source is now the preferred option for custom uploads. - Update
mime-types-datagem to3.2023.0218.1
Bug fixes:
- Correct locale references to
sql instances resetandresizehelp text.
Changes:
- Corrected previous CHANGELOG entry related to the update to
fog-brightboxto showv1.9.1notv1.7.0
Enhancements:
- Added
sql instances resetsubcommand for restarting DBMS on a database server. - Added
sql instances resizesubcommand for increasing database server resources.
Enhancements:
- Added
configmapssubcommand for managing config map resources.
Bug fixes:
- Declared top level help for
volumessubcommand. - Fix
volumes update --delete-with-serverswitch. - Fix
lbs update --sslv3switch. - Fix
servers update --compatibility-modeswitch.
Changes:
- Added a
ignore_defaultoption to GLI DSL, by monkey patching, to prevent unexpected switches from interfering with API calls. In some cases it was impossible to determine if--featureor--no-featurehad been used in the command OR added as a default in GLI. This meantupdatecommands would always sendfeature: falsein API requests even when updating names and other fields. This could clear setting unexpectedly due to the behaviour. - Test
servers create --compatibility-modeswitch. - Test
cloudips update --delete-reverse-dnsswitch. - Test
sql instances --remove-snapshots-scheduleswitch.
Bug fixes:
- Fix
helpoutput crashing when encountering Array in locale file.
Enhancements:
- Adds
volumessubcommand for Volume management.
Changes:
- Update
fog-brightboxtov1.9.1
Bug fixes:
- Bumped version of
highlinegem to fix issue when prompting for password duringbrightbox logincommand on Ruby 3.0+. - Fixed help output for
brightbox loginby correcting DSL declaration.
Enhancements:
- Adds three new, mutually exclusive options to
images createto specify different sources:urlcan specify source as a URL for a HTTP or HTTPS download rather than an existing FTP upload.servercan specify a server ID to create a snapshot image from.volumecan specify a volume ID to create a snapshot image from.
Enhancements:
- Adds
volume-sizetoservers createto allow passing of arbitrary sizes for network based storage types.
Backwards incompatible changes:
- Drop support for Ruby versions older than 2.5
- Update
Gemfile.lockto use Bundler 2.1.4 - Remove hypenated versions of sub commands. For example
brightbox-serverswrappingbrightbox servers.
Changes:
- Improved Two Factor Authentication (2FA) support resulting in it working
automatically without configuration prompting when required. The
two_factorconfiguration setting is now ignored - The
brightbox logincommand will now work when 2FA is enabled for a user - Adds Ruby 3.1 and 3.2 (preview) to testing matrix
- Update
fog-brightboxtov1.7.0 - Removed references to
Fixnumfrom code and dependencies to allow testing of Ruby 3.2 support - Updates
webmockfrom 1.21.0 to 3.14.0 - Removes
rubyforgereference from gemspec to remove deprecation warning - Remove post install message from gemspec
- Update
glito latest version v2.21.0 to clear some deprecations seen under later Ruby versions - Update development gems to ensure up to date
- Change
client_idlogging 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-inflectorto v0.2.0 to prevent issues with Ruby =< 2.5 - Add support for
min-ramtobrightbox imagescommands - 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 loginno 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
.devTLD used in testing to.localhostto avoid problems when the original was commercialised such as local DNS blocked by browsers.
Changes:
- Update
fog-brightboxto v1.4.0` (allowing Ruby 3.0 support) - Added support for getting 2FA from helper
- Added missing
sql snapshotfields - Infrastructure changes to test on more versions of Ruby
- Added GitHub actions support for CI testing.
- Removed Travis CI support.
Bug fixes:
- Updates
crackgem to switch fromsafe_yamltorexml - 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-encryptedoption 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-brightboxto v1.2.0 - Add
lbsoption for--min-ssl-verto specify the minimum TLS/SSL protocol that should be acceptable for use with the load balancer
Bug fixes:
- Fix
cloudips update --nameto correctly set blank names
Backwards incompatible changes:
- Dropped support for Ruby 1.9
Changes:
- Update
fog-brightboxto v1.1.0 - Update
raketo v12.3.3 to resolve CVE-2020-8130 - Update
rspecto 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 createto always attempt to reauthenticate and display a token.
Bug fixes:
- Update
exconto v0.71.0 to fix security issue.
Bug fixes:
- Constrain version of
dry-inflectorto 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_consoleURL generated from new API output to remove invalid trailing slash.
Bug fixes:
- Pins
fog-brightboxto v0.16.1 to include a fix to avoid deprecation warnings although only present when using fog-core > 2.0 - Pins
fog-coredependency to < 2.0 to restore Ruby 1.9 support and avoid upstream breaking changes. - Fixes an errant space in the
brightbox tokencurl format output.
Bug fixes:
- Pins
fog-coredependency to < 2.1.1 where some deprecation checks have broken everything.
Enhancements:
- Adds
brightbox tokencommand to read currently cached OAuth2 bearer tokens
Bug fixes:
- Fix image list filter when using
--account/-loptions caused by hash key type change somewhere in the stack.
Changes:
- Update
fog-brightboxto v0.15.0 - Limit
fog-brightboxdependency 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-brightboxto v0.14.0
Bug fixes:
- Remove debugging line left over in
server create
Enhancements:
- Add
cloud-ipargument toserver createcommand to pre-allocate and map a cloud IP to a server upon build completion.
Changes:
- Update
fog-brightboxto v0.13.0 - Various changes to Travis settings
Enhancements:
- Add
maintenance-weekdayandmaintenance-hourtosql instancecommands. 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-scheduleandremove-snapshots-scheduletosql instancecommand 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-brightboxto 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-brightboxto 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-typesto 2.x series. Ruby 1.9.3 support is dropped in v3.0 (fixes GH#80)
Bug fixes:
- Fixed issue where
brightbox servers showwould not display a server's zone.
Bug fixes:
- Fix issue when
logincommand prompt twice for password (or prompt once even when already supplied) due to reusing cached but expired refresh token.
Bug fixes:
- Fix issue when
logincommand 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 logincommand 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=truewhilst configuration is not selected triggering aNoMethodError - Use
pry-remotefor debugging.pryruns 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_URLENV 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
$configis nil
Changes:
- Update to use
fog-brightbox v0.9.0 - Remove 1.8.7 testing references.
- Declare
net-sshdependency 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-brightboxdependency 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_dnsentry from CIP show output - Removed extra
fog-coredependency. Should be determined byfog-brightbox
Backwards incompatible changes:
- Dropped support for Ruby 1.8.7
Changes:
- Removed
mime-typesdependency 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::VERSIONreference withFog::Core::VERSIONwhich was broken in a minor update offog-core - Dependency of
fog-corenow v1.25 minimum.
Bug fixes:
- Lock
fog-coreto be1.23.0since1.24+broke things for modules and no apparently fix yet.
Enhancements:
- Add
--buffer-sizeargument tolba createto 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
--sslv3when updating.
Enhancements:
- Add
server rebootcommand to send soft (OS level) restarts to server. - Add
server resetcommand to send hard (Hypervisor level) restart to server. - Add
lockandunlockcommands 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-brightboxto v0.3.0 - Update
rspectov2.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-brightboxgem to cut down on unnecessary dependencies included using fullfoggem. - Can view more details related to SSL certificates on load balancers.
- Rely on API output to check which resources can have Cloud IPs mapped.
jsongem is no longer a hard dependency. If faster versions are available they should be detected automatically.
Bug Fixes:
brightbox images showandbrightbox lbs showno longer error when identifiers are not passed but display all resources like other commands.- Help instructions for option arguments are correct following GLI update.