Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jedi4ever/hetzner-cli

CLI to do more complicated Hetnzer tasks like re-installing a server and putting the keys on it
https://github.com/jedi4ever/hetzner-cli

Last synced: about 1 month ago
JSON representation

CLI to do more complicated Hetnzer tasks like re-installing a server and putting the keys on it

Awesome Lists containing this project

README

        

# Hetnzer CLI
## Purpose
[Hetzner](http://www.hetzner.de) is a hoster that allows you to get 'real' physical machines instead of all the 'virtualized' cloud stuff.
This is especially handy for testing virtualization stuff.

They provide a 'REST' like api that you can use to call separate tasks , like reset a server, install linux etc..
For most of the simple tasks,one could get away with using 'curl', but some tasks (like re-installing a server) require more coordination

1. purpose #1 : of this is to automate these 'combined' hetnzer tasks via CLI instead of using their webinterface.
2. purpose #2 : me to learn better their api and potentially put this into [fog](http://fog.io)
3. purpose #3 : extend [mccloud](http://github.com/jedi4ever/mccloud) to allow for Hetnzer support

## Tasks implemented

### Distributions

Usage:
hetzner-cli distributions IP --password=PASSWORD --user=USER

Options:
--user=USER # Hetzner Admin Username
--password=PASSWORD # Hetzner Admin Password
[--robot-url=ROBOT_URL] # URL to connect to hetzner robo service
# Default: https://robot-ws.your-server.de/

List availble distributions for IP

### Kickstart
The tasks of re-installing a server from scratch and putting an initial ssh key on it

Usage:
hetzner-cli kickstart IP --dist=DIST --password=PASSWORD --user=USER

Options:
[--lang=LANG] # Architecture to use
# Default: en
[--arch=ARCH] # Architecture to use (32|64)
# Default: 64
--user=USER # Hetzner Admin Username
--password=PASSWORD # Hetzner Admin Password
[--robot-url=ROBOT_URL] # URL to connect to hetzner robo service
# Default: https://robot-ws.your-server.de/
[--key-file=KEY_FILE] # SSH key to install as root user
# Default: /Users/patrick/.ssh/id_dsa.pub
--dist=DIST # Distribution to use

Re-install server with IP

## Todo

- obviously make it catch errors more and write tests
- potentially integrate the functionality into fog with a hetzner provider
- look into using the hetzner-api plugin to leverage all the API calls