Enhancements:
- Add
DatabaseServer#reset
and#resize
methods - Added requests to support database server resets and resizing
Bug fixes:
- Remove duplicated request references
- Fix test method declaration causing parsing error in Ruby 2.0
Changes:
- Added
rubocop
gem configured to Ruby 2.0 - Cleaning up of codebase to fix various style and layout problems
Enhancements:
- Add
ConfigMap#save
and#destroy
methods to allow model updates
Bug fixes:
- Allow
encrypted
parameter inVolume#save
to allow it to propagate from the model to the API request
Enhancements:
- Expose read-only
Volume.zone
attribute on model to report which zone the volume was allocated to - Add
boot
argument toVolume#attach
to allow changing the boot volume of inactive servers via the model API by passing through to the API request
Changes:
- Fix Github actions
setup-ruby
version to pick up bug fixes in running tests caused by the older templates mismatching Ruby/Bundler versions - Correct CHANGELOG for mixed references of "enhancements" and minor "changes"
Bug fixes:
- Fix issue in storage directory
#save
that prevented creating and updating permissions/ACL on Orbit containers correctly
Bug fixes:
- Remove outdated check for required arguments in
Image.create
model which prevented using newer arguments in the latest API version
Enhancements:
- Allow custom
volume_size
in server creation where supported
Bug fixes:
- Fix to deduplicate forward slashes in
Storage::File#public_url
when object keys are prefixed with "/"
Bug fixes:
- Fix in
Storage.escape
regexp which failed to handle dashes correctly and broke generated URLs.
Bug fixes:
- Implement
Storage::Directory#public_url
to allow generation ofFile
public URLs correctly.
Enhancements:
- Adds support for
ConfigMaps
which are simple key/value stores for configuring other resources. - Updated the API models to include the latest set of attributes defined in the Brightbox API enabling them to be referenced.
Enhancements:
- Added support to opt-in to support Brightbox 2FA within clients.
Two Factor Authentication (2FA) support:
Passing brightbox_support_two_factor
into a configuration will raise a new
error when user authentication has failed BUT the presence of the
X-Brightbox-OTP: required
HTTP header is found.
This new error Fog::Brightbox::OAuth2::TwoFactorMissingError
can be handled
differently by the client and the second factor can be prompted for or
recovered from a secure keychain.
Without opting in, the previous error Excon::Errors::Unauthorized
is raised.
To send the OTP, the brightbox_one_time_password
can be passed into a
configuration object or one_time_password can be passed to a credentials
object.
Enhancements:
- Added support for
Volume
resources. These are dynamic, network attached volumes. Servers withnbs
(Network Block Storage) types can be created from volumes. Additional volumes can be attached to a server. The volumes can be quickly copied and resized.
Bug fixes:
Fog::Brightbox::Compute::ImageSelector#latest_ubuntu
was fixed to resolve two bugs that prevented the latest version being found since Xenial:- The filtering for
i686
was missing later release which are only available asx86_64
images following support being dropped upstream. The filter is now swapped to only match 64bit releases. - The reverse name sorting failed when the Ubuntu codenames returned to the
start of the alphabet so
xenial
(16.04) would appear abovebionic
(18.04) orjammy
(22.04). The names are now split and the version used instead for the sorting.
- The filtering for
Bug fixes:
- Fix passing
snapshots_schedule
to database servers as the value was being omitted in the model layer. This was preventing creating without a schedule causing the default behaviour.
Enhancements:
- Relax dependencies to allow Ruby 3.0 to be used.
Enhancements:
- Add
Server#disk_encrypted
attribute to support creation of servers with LUKS based encryption at rest.
Enhancements:
- Add
LoadBalancer#ssl_minimum_version
attribute to configure the TLS/SSL version supported by the load balancer.
Changes:
- Add Ruby 2.6 and 2.7 to Travis CI testing matrix.
- Remove bundler installation step from Travis CI.
- Use
example.test
for testing domains rather thanexample.com
to avoid leaking routable traffic. - Add
FOG_TEST_COLLABORATOR_EMAIL
to enable ENV based setting of email address when using the tests for integation tests.`
Bug fixes:
- Add
status
check toImageSelector
so that unavailable images were not selected for use automatically and causing failures in tests. - Fix creating database servers from snapshots by adding the
snapshot_id
attribute ensuring the value is not filtered when using the model.
Major Changes:
- Gem version has been changed 1.0 to reflect breaking changes.
- Ruby versions 1.9 is longer supported as per fog-core v2.
- Ruby versions 2.0 and 2.1 are no longer supported by Brightbox although a
hard value has not been used in the gemspec to avoid issues with
fog
- Remove deprecated versions of
#(get|update)_account
and#get_user
which did not require identifiers and were treated as the authenticated user. - Remove deprecated
Compute#request
multiple argument version. - Remove deprecated
#destroy_(resource)
requests. - Fix
#destroy_(resource)
references in models.
Bug fixes:
- Fix ordering issue between declaration of fog services and
autoload
modules. Changes infog-core
would reference modules before available in autoload so caused a name error.
Changes:
- Replaced abandoned
inflecto
dependency withdry-inflector
gem.
Bug fixes:
- Remove pessimistic dependency versions.
Bug fixes:
- Attempting to generate a temporary URL for a storage object would fail with
unclear message. Now a
Fog::Brightbox::Storage::ManagementUrlUnknown
is raised instead. It must be either configured OR an authentication request made before so the management URL is received from the server. :brightbox_storage_management_url
is now whitelisted to be passed in to the configuration to avoid the authentication previously required.
Enhancements:
- Added
public_ipv6
andpublic_ipv4
attributes toCloudIp
model to access both types of exposed IP addresses. The deprecatedpublic_ip
attribute remains.
Enhancements:
- Added
cloud_ip
argument to server creation to request an immediate mapping when a server build has completed. Either to a known cloud IP using its identifier or by usingtrue
to allocate a new IP for the operation.
Enhancements:
- Exposed
domains
field on load balancers to support Let's Encrypt via models
Bug fixes:
- Ruby 1.9 Gemfile was locked down against
webmock
andpublic_suffix
dropping support for Ruby 2.0
Enhancements:
- Exposed fields on database servers related to automatic scheduled snapshots.
Bug fixes:
- Removed an error spec broken by Excon v0.50 undergoing a change of error namespace breaking loading of the specs at present.
Changes:
- Stop testing Ruby 1.8.7 due to bitrot, the dependencies are creating more issues than needed.
Bug fixes:
- Do not add
nested
option as body content, only query if present.
Changes:
- Updated auto-generated documentation for requests
- Added
options
to all requests. Select options are passed through to the API to alter behaviour for all requests. - Allow requests to use
nested=false
option to collapse nested (or children) resources from the JSON which is faster to render and less content. - Make
list_accounts
default tonested=false
because it is very slow for large accounts and the nested resources are rarely used.
Changes:
- Updated the OAuth model to better reflect the final OAuth 2.0 spec. This is
not a breaking change since the server side component remain backwards
compatible so usage of the
fog
API should not have changed. - Updated
travis.yml
to use faster container architecture. - Moved
shindo
tests into repo from mainfog
gem. These act as acceptance tests against real environments. - Moved OAuth module specs from Shindo to Minispec.
Bug fixes:
- Use
Authorization: Bearer
scheme rather than draft value of "Token" - Use
client_credentials
grant type rather than draft value of "none" - Remove duplicate scheme keys causing warnings in Shindo tests
Changes:
- Add
CloudIp#fqdn
attribute - Use relative paths and reduce requires
Bug fixes:
- Error if management URL is not
URI
to prevent errors when aString
given. Server#bits
returns "64" as a placeholder rather than "0".- Fixed requires in specs so can they can all run independently.
Changes:
- Fixed some indentation problems.
Bug fixes:
- Fixed implementation of
Storage#create_temp_url
(except on Ruby 1.8.7)
Enhancements:
- Can read
Link
headers returned from snapshot actions - Optionally allow return or
Snapshot
objects from snapshot actions.
Bug fixes:
- Ignore select directories from version control.
- Removed duplicate spec_helper
- Addition of style rules using
rubocop
- Automated clean up of style rules
- Be pessimistic about
inflecto
gem. Next release of Inflecto gem will introduce 1.9 constraint so we need to be pessimistic about the version to depend on for now.
Bug fixes:
- Fixes reading from
Server#ssl3?
Enhancements:
- Allow setting of Load Balancer SSL v3 parameter when creating or updating.
Bug fixes:
- Fix a possible authentication loop when bad credentials or expired tokens would trigger repeated attempts to authenticate with no changes to the bad credentials.
Enhancements:
- Allow setting of Load Balancer buffer sizes during create and update calls.
Bug fixes:
- Default updated to final hostname of
orbit.brightbox.com
.
Enhancements:
- Add Add support for Brightbox Orbit cloud storage service. This adds a
storage
service to the Brightbox provider using the standardfog
interfaces.
Enhancements:
- Use improved reset and reboot requests for the
Server#reboot
method allowing requests without having to fake restarts with a start/stop. This keeps the VNC console active.
Enhancements:
- Add resource locks to prevent accidental deleting of the following resources:
- Database servers
- Database snapshots
- Images
- Load balancers
- Servers
Bug fixes:
- Fix
list_events
options to have workable defaults
Enhancements:
- Add
pry
as a development dependency so available under Bundler - Add
spec_helper
to DRY out requires on start of tests - Add
Fog::Brightbox::Model
layer to add shared functionality between models - Add
#resource_name
and#collection_name
inflection methods to models - Add basic specs for models
Changes:
- Update generated documentation for requests
Bug fixes:
- Fix
rake:spec
task to add "spec" to LOAD_PATH
This PRERELEASE version may contain functionality that may be removed before the next release so all APIs should be considered unstable and you should lock to the exact version if used!
Bug fixes:
- Reference fog-core-v1.22 rather than "master" branch now it is released.
Enhancements:
- Add support for events feed
Bug fixes:
- Add CHANGELOG.md to
fog-brightbox
module. - Add MiniTest::Specs to project. Use
rake test
to check the code. - Add Gemfile, Rakefile, README and LICENCE to start documenting project.
- Remove redundant calls to
Fog.credentials
. The code flow was such that the credentials were being passed in toFog::Compute::Brightbox
anyway. - Isolate testing from contents of
~.fog
file which is leaking in throug theFog.credentials
global.
Enhancements:
- Initial release of extracted
fog-brightbox
module. This is pretty much the pilot for fog modules so bear with us as we iron out the bugs.