{"id":13602716,"url":"https://github.com/cloudytool/cloudy","last_synced_at":"2025-10-25T12:51:01.243Z","repository":{"id":39006250,"uuid":"485134512","full_name":"cloudytool/cloudy","owner":"cloudytool","description":"A tool for managing production-grade cloud clusters, infrastructure as code (IaC)","archived":false,"fork":false,"pushed_at":"2023-03-01T22:18:44.000Z","size":1317,"stargazers_count":25,"open_issues_count":15,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-29T12:33:55.093Z","etag":null,"topics":["aws","cloud","gcp","iac","iac-module","ias","infrastructure","infrastructure-as-code","pulumi","terraform"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cloudytool.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2022-04-24T20:37:13.000Z","updated_at":"2023-10-27T09:20:20.000Z","dependencies_parsed_at":"2024-01-13T20:00:55.176Z","dependency_job_id":null,"html_url":"https://github.com/cloudytool/cloudy","commit_stats":{"total_commits":3,"total_committers":2,"mean_commits":1.5,"dds":"0.33333333333333337","last_synced_commit":"80003f7c2e1ac95a8cbd436581e7703d70470921"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudytool%2Fcloudy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudytool%2Fcloudy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudytool%2Fcloudy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudytool%2Fcloudy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cloudytool","download_url":"https://codeload.github.com/cloudytool/cloudy/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249786202,"owners_count":21325562,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","cloud","gcp","iac","iac-module","ias","infrastructure","infrastructure-as-code","pulumi","terraform"],"created_at":"2024-08-01T18:01:35.304Z","updated_at":"2025-10-25T12:51:01.187Z","avatar_url":"https://github.com/cloudytool.png","language":"TypeScript","funding_links":[],"categories":["TypeScript","aws"],"sub_categories":[],"readme":"Cloudy\n=================\n\n# Description\n\n**Cloudy** is an \"infrastructure as code\" tool for managing production-grade cloud clusters. It's based on [Pulumi](https://pulumi.com/) that mostly using [Terraform](https://www.terraform.io/).\n\n_Tired to manage tons of information about the cloud clusters deployment?_\n\n_DevOps is not a primary skill in your company?_\n\n_Your infrastructure is a mess?_\n\n**Cloudy is your solution,**\n**spend minutes instead of weeks**\n\n# Features\n\n* Deploy and manage multiple cloud clusters in parallel: AWS, Azure, Google, and others\n* Networking, DNS, firewall, load balancer, firewall rules, and more\n* Nodes clustering and scaling\n* Cloud database and storage management\n* Automated backups\n* Incremental infrastructure updates\n* Supported platforms:\n  - [AWS](https://github.com/cloudytool/pulumi-aws-cluster)\n  - GCP (next release)\n\n# How it works\n\n**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`.\n\nThis approach provides maximum flexibility and less friction to start the stack fast.\n\nSave state and code to your git repository, deploy again in minutes.\n\n# Requirements\n\nInstall before using:\n\n* [Git](https://git-scm.com/downloads)\n* [Yarn](https://classic.yarnpkg.com/lang/en/docs/install)\n* [Pulumi](https://www.pulumi.com/docs/get-started/install)\n\n# Usage\n\u003c!-- usage --\u003e\n```sh-session\n$ npm install -g @cloudytool/cloudy\n$ cloudy COMMAND\nrunning command...\n$ cloudy (--version)\n@cloudytool/cloudy/0.0.3 darwin-x64 node-v16.0.0\n$ cloudy --help [COMMAND]\nUSAGE\n  $ cloudy COMMAND\n...\n```\n\u003c!-- usagestop --\u003e\n\n# Quick start\n\n```sh-session\n$ cloudy init aws-dev-cluster\n```\n\n![Cloudy init example](cloudy-init-example.gif)\n\nTo deploy:\n\n```sh-session\n$ cloudy up aws-dev-cluster\n```\n\nTo destroy after:\n\n```sh-session\n$ cloudy destroy aws-dev-cluster\n```\n\n# Commands\n\u003c!-- commands --\u003e\n- [Cloudy](#cloudy)\n- [Description](#description)\n- [Features](#features)\n- [How it works](#how-it-works)\n- [Requirements](#requirements)\n- [Usage](#usage)\n- [Quick start](#quick-start)\n- [Commands](#commands)\n  - [`cloudy destroy PROJECTNAME`](#cloudy-destroy-projectname)\n  - [`cloudy doctor`](#cloudy-doctor)\n  - [`cloudy export PROJECTNAME`](#cloudy-export-projectname)\n  - [`cloudy help [COMMAND]`](#cloudy-help-command)\n  - [`cloudy import PROJECTNAME`](#cloudy-import-projectname)\n  - [`cloudy init PROJECTNAME`](#cloudy-init-projectname)\n  - [`cloudy preview PROJECTNAME`](#cloudy-preview-projectname)\n  - [`cloudy up PROJECTNAME`](#cloudy-up-projectname)\n\n## `cloudy destroy PROJECTNAME`\n\nDestroy Pulumi project deployment\n\n```\nUSAGE\n  $ cloudy destroy [PROJECTNAME] [-r \u003cvalue\u003e]\n\nFLAGS\n  -r, --root=\u003cvalue\u003e  Root path to the project\n\nDESCRIPTION\n  Destroy Pulumi project deployment\n\nEXAMPLES\n  $ cloudy destroy aws-cluster\n```\n\n_See code: [dist/commands/destroy.ts](https://github.com/cloudytool/cloudy/blob/v0.0.3/dist/commands/destroy.ts)_\n\n## `cloudy doctor`\n\nCheck CLI issues\n\n```\nUSAGE\n  $ cloudy doctor\n\nDESCRIPTION\n  Check CLI issues\n\nEXAMPLES\n  $ cloudy doctor\n```\n\n_See code: [dist/commands/doctor.ts](https://github.com/cloudytool/cloudy/blob/v0.0.3/dist/commands/doctor.ts)_\n\n## `cloudy export PROJECTNAME`\n\nExport Pulumi project state\n\n```\nUSAGE\n  $ cloudy export [PROJECTNAME] [-r \u003cvalue\u003e]\n\nFLAGS\n  -r, --root=\u003cvalue\u003e  Root path to the project\n\nDESCRIPTION\n  Export Pulumi project state\n\nEXAMPLES\n  $ cloudy export aws-cluster\n```\n\n_See code: [dist/commands/export.ts](https://github.com/cloudytool/cloudy/blob/v0.0.3/dist/commands/export.ts)_\n\n## `cloudy help [COMMAND]`\n\nDisplay help for cloudy.\n\n```\nUSAGE\n  $ cloudy help [COMMAND] [-n]\n\nARGUMENTS\n  COMMAND  Command to show help for.\n\nFLAGS\n  -n, --nested-commands  Include all nested commands in the output.\n\nDESCRIPTION\n  Display help for cloudy.\n```\n\n_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v5.1.12/src/commands/help.ts)_\n\n## `cloudy import PROJECTNAME`\n\nImport Pulumi project state\n\n```\nUSAGE\n  $ cloudy import [PROJECTNAME] [-r \u003cvalue\u003e]\n\nFLAGS\n  -r, --root=\u003cvalue\u003e  Root path to the project\n\nDESCRIPTION\n  Import Pulumi project state\n\nEXAMPLES\n  $ cloudy import aws-cluster\n```\n\n_See code: [dist/commands/import.ts](https://github.com/cloudytool/cloudy/blob/v0.0.3/dist/commands/import.ts)_\n\n## `cloudy init PROJECTNAME`\n\nInitialize a new project\n\n```\nUSAGE\n  $ cloudy init [PROJECTNAME] [-r \u003cvalue\u003e]\n\nFLAGS\n  -r, --root=\u003cvalue\u003e  Root path to the project\n\nDESCRIPTION\n  Initialize a new project\n\nEXAMPLES\n  $ cloudy init aws-cluster\n```\n\n_See code: [dist/commands/init.ts](https://github.com/cloudytool/cloudy/blob/v0.0.3/dist/commands/init.ts)_\n\n## `cloudy preview PROJECTNAME`\n\nPreview Pulumi project deployment update\n\n```\nUSAGE\n  $ cloudy preview [PROJECTNAME] [-r \u003cvalue\u003e]\n\nFLAGS\n  -r, --root=\u003cvalue\u003e  Root path to the project\n\nDESCRIPTION\n  Preview Pulumi project deployment update\n\nEXAMPLES\n  $ cloudy preview aws-cluster\n```\n\n_See code: [dist/commands/preview.ts](https://github.com/cloudytool/cloudy/blob/v0.0.3/dist/commands/preview.ts)_\n\n## `cloudy up PROJECTNAME`\n\nRun Pulumi project deployment update\n\n```\nUSAGE\n  $ cloudy up [PROJECTNAME] [-r \u003cvalue\u003e]\n\nFLAGS\n  -r, --root=\u003cvalue\u003e  Root path to the project\n\nDESCRIPTION\n  Run Pulumi project deployment update\n\nEXAMPLES\n  $ cloudy up aws-cluster\n```\n\n_See code: [dist/commands/up.ts](https://github.com/cloudytool/cloudy/blob/v0.0.3/dist/commands/up.ts)_\n\u003c!-- commandsstop --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudytool%2Fcloudy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcloudytool%2Fcloudy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudytool%2Fcloudy/lists"}