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
 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.