Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/noteed/hicks
Hicks happily spawns machines.
https://github.com/noteed/hicks
Last synced: about 2 months ago
JSON representation
Hicks happily spawns machines.
- Host: GitHub
- URL: https://github.com/noteed/hicks
- Owner: noteed
- License: other
- Created: 2014-12-03T19:51:03.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2017-04-08T21:21:59.000Z (almost 8 years ago)
- Last Synced: 2023-04-13T10:31:56.186Z (over 1 year ago)
- Language: Haskell
- Homepage:
- Size: 20.5 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Hicks
Hicks happily spawns machines.
Hicks is a simple tool to spawn and provision machines. Currently only
[UpCloud](http://upcloud.com/) is supported but in the future, other services
should be added (e.g. [DigitalOcean](https://www.digitalocean.com/),
[Linode](https://www.linode.com/), [Vagrant](https://www.vagrantup.com/), or
already existing hosts (e.g. physical servers rented by the month)).## Getting started
Hicks is in development and not yet released on Hackage. To install, clone this
repository and run `cabal install`:> git clone https://github.com/noteed/hicks.git
> cd hicks
> cabal installMake sure you have `~/.cabal/bin` in your `PATH` and you can run `hicks --help`
to see the available commands.You need an account on UpCloud. You also need to generate API credentials for
your account that you paste in `secret/upcloud-key.txt`.> cat secret/upcloud-key.txt
api_username/api_passwordAt this point you should be able to run:
> hicks account
username: noteed
credits: 4625.72This command reports your username and available credits (in cents).
## Next steps
Have a look at the `test-against-upcloud.sh` script. It shows the basic
operations you can perform to create a machine on UpCloud, wait for it until it
is up and running, and do some basic provisioning.When you create a machine, you use
> hicks create
Provisioning consists of simply uploading a file hierarchy locally stored in
the `provision/` director. In particular, it should contain a
script located at `root/bin/provision` that will be run after upload.## Configure
When you ran `cabal install` above, Cabal created an executable `hicks`.
Actually, the source of that executable is `bin/config.hs`. This means you can
either fork this repository and configure Hicks to your liking by modifying
`bin/config.hs`, or create a new program depending on the `hicks` package.## Notes
UpCloud doesn't allow to set a public SSH key automatically when a machine is
created. Instead Hicks will store the root password return by UpCloud in
`~/.hicks` until the `hicks authorize` command is run. That command will upload
a public SSH key you choose. Further disabling the root password should be done
in the provisioning script.## Limitations
- Only UpCloud is supported.
- Some configuration values are hard-coded (e.g. uk-lon1 or Ubuntu 12.04).