Cloud infrastructure

freckles can be used to orchestrate cloud infrastructure. While not (yet) as good a fit like more mature tools like Terraform and similar, it provides a quick and easy way to script orchestration tasks.

AWS

Create EC2 instance

This will create a new EC2 instance (using the defaults: type: t2.micro, image-id: ami-08d658f84a6d84a80 -- you can of course configure this) on AWS.

# run with: freckles --community <this_file>
- ec2-instance-exists:
    aws_access_key: AXXXXXXXXXXXXXXXXX
    aws_secret_key: XXXXXXXXXXXXXXXXXX
    instance_name: freckles_example
    key_name: my_ssh_key_name
    region: eu-west-1
frecklecute --community ec2-instance-exists \
    --aws-access-key AXXXXXXXXXXXXXXXXX \
    --aws-secret-key ::ask:: \
    --instance-name freckles_example \
    --key-name my_ssh_key_name \
    --region eu-west-1

Hetzner/Hcloud

Create Hcloud server

Similar to the 'ec2' example above, this will create a virtual server (using defaults: type: 'cx11', image: 'ubuntu-18.04'), only on the Hetzner hcloud instead of AWS.

# run with: freckles --community <this_file>
- hcloud-server-exists:
    api_token: XXXXXXXXXXXXXXXXXXXX
    server_name: freckserv
frecklecute --community hcloud-server-exists \
     --api-token ::ask::
     --server-name freckserv