Project

hyperb

0.01
Repository is archived
No commit activity in last 3 years
No release in over 3 years
There's a lot of open issues
The Hyper.sh Ruby Gem
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Development

~> 1.8
~> 0.10.4
~> 10.0
~> 3.0
~> 0.9
>= 3.0.1, ~> 3.0

Runtime

~> 2.0
 Project Readme

Unfortunately this project is being archived since hyper.sh shutdown

Hyperb

Hyperb is a Hyper.sh API ruby gem.


This gem is under active development.

Installation

Add this line to your application's Gemfile:

gem 'hyperb'

And then execute:

$ bundle

Or install it yourself as:

$ gem install hyperb

Configuration

Hyper.sh requires you to create credentials on their dashboard, after that you can configure your client as following:

client = Hyperb::Client.new(access_key: 'ak', secret_key: 'sk', region: 'us-west-1')

or

client = Hyperb::Client.new do |client|
  client.secret_key = 'secret_key'
  client.access_key = 'access_key'
  client.region = 'eu-central-1'
end

If region is not set, us-west-1 is set by default.

Usage Examples

After configuring a client, you can run the following examples.

get api version

client.version

fetch all images

client.images

remove an image

client.remove_image id: 'id-or-name'

create an image (pull)

client.create_image from_image: 'busybox'

pull an image from gcr (using service account)

client.create_image from_image: 'gcr.io/project/owner/gcr', x_registry_auth: { username: '_json_key', password: File.new('./path/service-account.json'), email: 'e@e.com', serveraddress: 'https://gcr.io' }

create container (defaults to s1 size)

client.create_container name: 'nginx-container', image: 'nginx'

create container with specific size

client.create_container name: 'nginx-container', image: 'nginx', labels: { sh_hyper_instancetype: 'm1' }

start container

client.start_container name: 'nginx-container'

container logs

logs = client.container_logs id: 'nginx', stdout: true, stderr: true, follow: true

while body = logs.readpartial(1024)
  puts body
end

allocate an floating ip

ips = client.fip_allocate count: 2
puts ips
#['8.8.8.8', '5.5.5.5']

For more usage examples, please see the full documentation.

APIs (v1.23) Covered

API

Images

  • inspect image
  • create image
  • list images
  • remove images

Volumes

  • list volumes
  • inspect volume
  • create volume
  • remove volume

Containers

  • create container (not all arguments supported yet)
  • start container
  • stop container
  • kill container
  • get container logs
  • get container stats
  • remove containers
  • rename container

Network

  • floating ip allocate
  • floating ip release
  • floating ip list
  • floating ip attach
  • floating ip detach
  • floating ip name

Compose

  • compose create
  • compose up
  • compose down
  • compose rm

Snapshot

  • create snapshot

Service

  • create service
  • remove service
  • inspect service
  • list services

Func (beta)

  • create func
  • remove func
  • list funcs
  • func status
  • call func

Misc.

  • version
  • info

Security Groups

wip

Event

wip

Cron (beta)

wip

Contributing

Bug reports and pull requests are welcome at https://github.com/drish/hyperb.

License

The gem is available as open source under the terms of the MIT License.