We are pleased to announce general availability of the Blockbridge Command Line Tools. This set of tools communicates directly with the Blockbridge REST API. They’re written in Ruby to operate seamlessly on a variety of platforms — even Windows! We’ve gone to great lengths to build a toolkit that’s optimized for orchestration and that delivers a service oriented approach to storage. With these tools, everyone’s a storage Jedi.

Blockbridge Command Line Tool

# bb
Usage:
    bb [OPTIONS] SUBCOMMAND [ARG] ...

Parameters:
    SUBCOMMAND                    subcommand
    [ARG] ...                     subcommand arguments

Subcommands:
    account                       manage accounts
    auth                          authentication (login, logout, status)
    authorization                 manage persistent authorizations
    batch                         perform batch object operations
    ca                            manage the embedded certificate authority
    catalog                       manage and query the catalog
    datastore                     manage datastores
    dev                           manage storage devices
    disk                          manage virtual disks
    disk-set                      manage a set of disks
    host                          collection of host integration tools
    net                           manage network interfaces
    node                          manage nodes
    profile                       manage initiator profiles
    rule                          manage disk rules
    site                          manage sites
    snapshot                      manage snapshots
    target                        manage targets
    user                          manage users
    vss                           manage virtual storage services
    xmd                           manage external metadata
    config                        get and set configuration options
    diags                         diagnostic tools
    version                       show software version(s)

Global options (16 hidden):
    --verbose                     enable detailed output
    -h, --help                    print help (use --verbose to show hidden options)
    -R, --raw                     enable raw json output
    -H, --api-host HOST           specify api host (default: $BLOCKBRIDGE_API_HOST)

#

We’ve paid close attention to security throughout our stack. Rest assured that our tools communicate securely with our APIs using strong authentication and transport encryption. We’ve taken the time to build workflows that promote security best-practices through automation and refined interfaces. For example, we’ve integrated certificate trust management so that users are not encouraged to disable TLS certificate verification.

We’ve also integrated best-of-breed authentication primitives. Long gone are the times when it was acceptable to distribute superuser passwords along with orchestration scripts. As a secure alternative, we provide comprehensive support for role-restricted persistent authorizations. Additionally, we support hardware and software OTP multi-factor authentication for your manual workflows (another great use for YubiKey). You can also leverage third-party identity providers implemented by Blockbridge, like those implemented for OpenStack.

Last, and definitely not least, we’ve abstracted host configuration in order to deliver simplicity and improved security. We’ve taken all of the complexity out of provisioning, configuring and accessing storage: say hello to truly service-oriented storage! As an example, here’s how easy it is to provision and configure access to storage from the host — with full encryption (network & storage), unique programmatically generated data fabrics & authentication credentials, access auditing, access policy restrictions and quality of service guarantees.

Provision and Attach Storage with Encryption, Policy & QoS

# bb vss provision --label easy --with-disk -c 16GiB --iops 50000 +ssd -production
== Created vss: easy (VSS1862A94C406264F0)
label                 easy                  
serial                VSS1862A94C406264F0      
created               2015-12-16 17:30:36 -0500
status                online                   
current time          2015-12-16T17:30-05:00   

# bb host attach --ipsec --restrict-ip

================================================================================
easy/disk-1 attached with IPsec (read-write) to bbstack4.localnet as /dev/sdb
================================================================================

# bb host info
== Localhost: bbstack4.localnet
Hostname              bbstack4.localnet                  
Initiator Name        iqn.1994-05.com.redhat:f05a95773f3c

== Disks attached to bbstack4.localnet
disk [1]                      capacity  size     paths  transport  mode        device  
----------------------------  --------  -------  -----  ---------  ----------  --------
disk-1 (DSK1962594C406264F0)  16.0GiB   1.13MiB  1      TCP/IPsec  read-write  /dev/sdb

# 

The table below provides instructions for installing the tools on supported platforms and for verifying the authenticity of the software.

Add the Blockbridge YUM Repository and Install

# cat > /etc/yum.repos.d/blockbridge-software.repo <<-EOF
[blockbridge-software]
name=Blockbridge Software Repository
baseurl=https://s3.amazonaws.com/blockbridge-repo/software/\$releasever
enabled=1
gpgcheck=1
gpgkey=https://s3.amazonaws.com/blockbridge-repo/RPM-GPG-KEY-Blockbridge
EOF

# yum install blockbridge-cli

Software Signing Key Verification (Automatic)

Retrieving key from https://s3.amazonaws.com/blockbridge-repo/RPM-GPG-KEY-Blockbridge
Importing GPG key 0x2F17D405:
 Userid     : "Blockbridge Networks (Blockbridge Signing Key) "
 Fingerprint: 7677 fd35 fff2 c654 1b6e a328 c088 b4bf 2f17 d405
 From       : https://s3.amazonaws.com/blockbridge-repo/RPM-GPG-KEY-Blockbridge
Is this ok [y/N]: y

Add the Blockbridge YUM Repository and Install

# cat > /etc/yum.repos.d/blockbridge-software.repo <<-EOF
[blockbridge-software]
name=Blockbridge Software Repository
baseurl=https://s3.amazonaws.com/blockbridge-repo/software/\$releasever
enabled=1
gpgcheck=1
gpgkey=https://s3.amazonaws.com/blockbridge-repo/RPM-GPG-KEY-Blockbridge
EOF

# yum install blockbridge-cli

Software Signing Key Verification (Automatic)

Retrieving key from https://s3.amazonaws.com/blockbridge-repo/RPM-GPG-KEY-Blockbridge
Importing GPG key 0x2F17D405:
 Userid     : "Blockbridge Networks (Blockbridge Signing Key) "
 Fingerprint: 7677 fd35 fff2 c654 1b6e a328 c088 b4bf 2f17 d405
 From       : https://s3.amazonaws.com/blockbridge-repo/RPM-GPG-KEY-Blockbridge
Is this ok [y/N]: y

Configure Secure Transports and Add the Software Signing Key

# apt-get update
# apt-get install apt-transport-https wget
# wget -qO /tmp/blockbridge-key.gpg \
  https://s3.amazonaws.com/blockbridge-repo/RPM-GPG-KEY-Blockbridge
# gpg --with-fingerprint /tmp/blockbridge-key.gpg
pub  2048R/2F17D405 2014-12-29 Blockbridge Networks (Blockbridge Signing Key) 
      Key fingerprint = 7677 FD35 FFF2 C654 1B6E  A328 C088 B4BF 2F17 D405
sub  2048R/F5C9E948 2014-12-29
# apt-key add /tmp/blockbridge-key.gpg
OK
    

Configure Repository and Install Software

# cat > /etc/apt/sources.list.d/blockbridge-software.list <<-EOF
deb https://s3.amazonaws.com/blockbridge-repo/software/deb ubuntu-trusty main
EOF
# apt-get update
# apt-get install blockbridge-cli
    

1. Download and Install Ruby 2.1.7 – Be sure to enable “Add Ruby to PATH”

2. Download the Blockbridge Command Line Tools for Windows

3. [Optional] Verify the Blockbridge Tools Package Checksum

4. Unzip Blockbridge Tools