You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Tait Hoyem 97182beef3
Add contact list endpoint
2 years ago
lunanode_macros Add lunanode_resposne macro, add some DNS queries 2 years ago
src Add contact list endpoint 2 years ago
.gitignore Add target to gitignore 2 years ago
Cargo.toml Implementation improved with macros 2 years ago
LICENSE Add license 2 years ago
README.md Add help reference 2 years ago

README.md

lunanode

This is an API to work with the LunaNode's OpenStack-compatible [citation needed] API.

Installation

cargo install lunanode

API Keys

Add the LUNANODE_API_KEY and LUNANODE_KEY_ID to your environment variables.

Usage

See lunanode help screen.

Available subcommands:

  • billing
  • dns
  • dyn
  • floating (for LunaNode's floating IP system)
  • image
  • network
  • record (DNS)
  • ssh-key
  • vm
  • volume
  • zone

Note that right now, only getting data through the list/ endpoints is supported. See section help for more details, i.e.: lunanode image help

TODO (looking for contributors)

  • Simplify code so there is less boilerplate. In particular, writing out every enum variant is pretty annoying when I need the same info out of them either way.
  • Tests!!! I've written some, but this should be comprehensively tested.
    • Write tests that involve talking with a live server! This will enable breaking changes from LunaNode to be seen before they are messed with.
  • Stricter typing. Certain attributes, even though they are recieved as Strings, should really be some kind of enum. Make every non-String type some kind of enum.

Support This Project

I don't take donations. Please consider supporting my business: Bytetools Technologies Inc. which is how I make money.