/lobster

Hourly billing panel for virtual machines

Primary LanguageGoOtherNOASSERTION

Lobster

Introduction

Lobster is a simple hourly billing panel for virtual machine services. Lobster does not manage virtual machines directly -- instead, it relies on backends that it communicates with through VM interfaces; several backends are supported.

See https://github.com/LunaNode/lobster/wiki/GettingStarted to get started.

Regions

Lobster allows multiple regions to be defined. Each region has a separate virtual machine interface, although the interface type may be the same. Plans are shared across regions, but images are not.

Billing

Lobster currently only supports a prepaid hourly billing model. Users pay via some payment interface, and once payment is recorded as completed, credit is added to their account. If a user is running out of credit, Lobster will send low credit notifications; once credit reaches zero, services are suspended, and eventually the account is terminated.

There are three services billed by Lobster:

  • Virtual machines: have an hourly price defined in the plan
  • Image storage: billed based on a configurable price per gigabyte-hour
  • Bandwidth: users are given a bandwidth pool allocation in each region based on the sum of the plan bandwidth of their virtual machines. If a user uses more traffic across their VMs in some region than this allocation, they will be charged at a configurable price per gigabyte. Bandwidth is billed on a per-calendar-month basis, so usage and allocations are reset each month. Note that if a user only provisions a VM for one hour, then they will receive only a proportional allocation (the bandwidth specified in the plan is the monthly allocation).

Backends

Different backends have different features, but Lobster tries to support as much as possible. Currently these backends are supported:

  • OpenStack
  • SolusVM
  • CloudStack (experimental)

These provider-specific APIs are also supported:

  • Luna Node
  • Digital Ocean
  • Linode
  • Vultr

Lobster also supports using Cloug [1] providers as VM backends. Cloug is a cloud API library that provides a common interface to access multiple APIs, just as Lobster provides a common panel. Cloug is still under development, but the aim is to eventually move all VM interface code on Lobster to Cloug.

[1] https://github.com/LunaNode/cloug

Payment gateways

Payment is generally accepted via a pay-callback system, where we direct the user to a payment gateway and then wait for a secure callback notification from the gateway that confirms payment.

Supported payment gateways:

  • Paypal
  • Coinbase

Contributing

The Lobster project uses Github for coordination.

URL: https://github.com/LunaNode/lobster

Note that per the Apache license, any contribution you submit for inclusion in Lobster shall be under the terms of the Apache license. See Section 5 of the Apache License Version 2.0 for details.