jesusgollonet / rde

A cloud clone of my local development environment

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

rde (remote development environment)

A cloud clone of my local development environment

What is this?

This is a blueprint and toolchain to spin up a cloud instance that matches my local development environment.

Why?

The main driving factor is enabling doing work from my iPad, which adds resiliency when working outdoors or far from a power outlet. It has a couple of nice side effects:

  • It enables me to be productive very quickly on any machine as long as it has a terminal and a connection
  • It forces me to consolidate a recipe for setting up my machine, which speeds up the process when getting a new one.
  • My personal machine becomes cattle, not a pet.

General architecture

There are 2 main parts to this:

  • Create an image: build an AMI with all the dependencies and configuration baked in.
  • Spin up an instance: use terraform to turn the computer on and off.

The current iteration is based on AWS but the implementation is portable to other cloud vendors.

Directory structure

  • bin: top level scripts
  • images: packer and shell scripts to bake the AMI
  • instances: terraform script to spin up instance
  • keys: ssh keys. keys are ignored but keeping a directory to have a predictable location.

How to run?

Build Image:

./bin/build-image

Spin up instance (TODO)

./bin/spin-up

Destroy instance (TODO)

./bin/spin-down

Dependencies

  • Packer >=1.7.10
  • Terraform >=1.1.7
  • aws-cli >=2.4.7
  • jq >=1.6

Status

WIP

About

A cloud clone of my local development environment


Languages

Language:HCL 63.5%Language:Shell 36.5%