Skip to content

A tool for managing production-grade cloud clusters, infrastructure as code (IaC)

License

Notifications You must be signed in to change notification settings

cloudytool/cloudy

Repository files navigation

Cloudy

Description

Cloudy is an "infrastructure as code" tool for managing production-grade cloud clusters. It's based on Pulumi that mostly using Terraform.

Tired to manage tons of information about the cloud clusters deployment?

DevOps is not a primary skill in your company?

Your infrastructure is a mess?

Cloudy is your solution, spend minutes instead of weeks

Features

  • Deploy and manage multiple cloud clusters in parallel: AWS, Azure, Google, and others
  • Networking, DNS, firewall, load balancer, firewall rules, and more
  • Nodes clustering and scaling
  • Cloud database and storage management
  • Automated backups
  • Incremental infrastructure updates
  • Supported platforms:
    • AWS
    • GCP (next release)

How it works

Cloudy asks some questions about your cloud cluster and then creates a Pulumi project. The folder contains javascript files and code that define the cloud resources. Thankfully, the tool allows you to change the config file and resource structures: scale, change node types, disk size, etc... By calling cloudy up PROJECTNAME Pulumi deploys the cloud resources to your cloud provider and saving the state. To export the state use cloudy export PROJECTNAME.

This approach provides maximum flexibility and less friction to start the stack fast.

Save state and code to your git repository, deploy again in minutes.

Requirements

Install before using:

Usage

$ npm install -g @cloudytool/cloudy
$ cloudy COMMAND
running command...
$ cloudy (--version)
@cloudytool/cloudy/0.0.3 darwin-x64 node-v16.0.0
$ cloudy --help [COMMAND]
USAGE
  $ cloudy COMMAND
...

Quick start

$ cloudy init aws-dev-cluster

Cloudy init example

To deploy:

$ cloudy up aws-dev-cluster

To destroy after:

$ cloudy destroy aws-dev-cluster

Commands

cloudy destroy PROJECTNAME

Destroy Pulumi project deployment

USAGE
  $ cloudy destroy [PROJECTNAME] [-r <value>]

FLAGS
  -r, --root=<value>  Root path to the project

DESCRIPTION
  Destroy Pulumi project deployment

EXAMPLES
  $ cloudy destroy aws-cluster

See code: dist/commands/destroy.ts

cloudy doctor

Check CLI issues

USAGE
  $ cloudy doctor

DESCRIPTION
  Check CLI issues

EXAMPLES
  $ cloudy doctor

See code: dist/commands/doctor.ts

cloudy export PROJECTNAME

Export Pulumi project state

USAGE
  $ cloudy export [PROJECTNAME] [-r <value>]

FLAGS
  -r, --root=<value>  Root path to the project

DESCRIPTION
  Export Pulumi project state

EXAMPLES
  $ cloudy export aws-cluster

See code: dist/commands/export.ts

cloudy help [COMMAND]

Display help for cloudy.

USAGE
  $ cloudy help [COMMAND] [-n]

ARGUMENTS
  COMMAND  Command to show help for.

FLAGS
  -n, --nested-commands  Include all nested commands in the output.

DESCRIPTION
  Display help for cloudy.

See code: @oclif/plugin-help

cloudy import PROJECTNAME

Import Pulumi project state

USAGE
  $ cloudy import [PROJECTNAME] [-r <value>]

FLAGS
  -r, --root=<value>  Root path to the project

DESCRIPTION
  Import Pulumi project state

EXAMPLES
  $ cloudy import aws-cluster

See code: dist/commands/import.ts

cloudy init PROJECTNAME

Initialize a new project

USAGE
  $ cloudy init [PROJECTNAME] [-r <value>]

FLAGS
  -r, --root=<value>  Root path to the project

DESCRIPTION
  Initialize a new project

EXAMPLES
  $ cloudy init aws-cluster

See code: dist/commands/init.ts

cloudy preview PROJECTNAME

Preview Pulumi project deployment update

USAGE
  $ cloudy preview [PROJECTNAME] [-r <value>]

FLAGS
  -r, --root=<value>  Root path to the project

DESCRIPTION
  Preview Pulumi project deployment update

EXAMPLES
  $ cloudy preview aws-cluster

See code: dist/commands/preview.ts

cloudy up PROJECTNAME

Run Pulumi project deployment update

USAGE
  $ cloudy up [PROJECTNAME] [-r <value>]

FLAGS
  -r, --root=<value>  Root path to the project

DESCRIPTION
  Run Pulumi project deployment update

EXAMPLES
  $ cloudy up aws-cluster

See code: dist/commands/up.ts