github.com/darianmavgo · darian@mavgo.com · About
Cloud Shell / gcloud Open Source

EasyGCE — Zero-Friction GCE Provisioning

EasyGCE wraps the gcloud CLI with opinionated, zero-friction scripts for developers who want to launch, configure, and SSH into Compute Engine VMs without memorizing a dozen gcloud flags.

bash spin-up.sh --name dev-box --machine e2-standard-4
bash ssh.sh --name dev-box
bash teardown.sh --name dev-box

Features

Declarative bash and gcloud scripts for spinning up, configuring, and tearing down Google Compute Engine instances in seconds.

🚀

One-Command Launch

spin-up.sh creates a fully-configured VM with your SSH key, firewall rules, and startup script in one shot.

💰

Cost Awareness

Defaults to preemptible/spot instances. Includes tear-down scripts so you never leave an instance running.

🔐

Secure by Default

Configures OS Login, scoped service accounts, and firewall rules without manual IAM wrestling.

🛠️

Composable Scripts

Each script is a standalone bash file — combine them in your own automation pipelines.

Documentation & Architecture

Problem: * Many saas offerings make it pain in the ass to download files or objects via commandline or require paid memberships to access API’s

Goal: * Make it insanely easy to download files from anywhere and to then scp/stps/cli to any server on-premise and in cloud and in the storage services like S3, Google Storage.

Tactic

  • Dockerize a server that enables Remote Desktop. Possible solution
  • Install
    • google cloud sdk
    • aws sdk
    • azure sdk
    • Gnome or XFCE
    • Google Chrome
    • Cyberduck if it exists for Linux
    • Install fast web server with directory browsing enabled for the highest level folder possible “/”
    • Install web service to edit text files on the file system with sudo privs
    • If a web version of SublimeText exists, install that
    • Install a web shell
    • If bash as a web app exists install that. Possible solution
    • Install a fast VNC Server or better server for enabling Remote Desktop
    • Turn off / disable iptables
    • Config files and service scripts necessary
  • Update Google Cloud Firewall rules by script to open up all relevant ports and protocols

Tests

  • Connect to Server with Vnc Viewer
  • Connect to Server with the Remote Desktop baked into MacOS
  • Connect to Server with Chrome Remote Desktop
  • Download a large file from a free Google Drive account without first downloading to desktop system
  • Download a large file from Box.com directly to server
  • Download a large file from a free Dropbox.com account
  • Upload a file to Google Storage bucket
  • Upload a file to Amazon S3 bucket

Stuff that Failed