Skip to main content
⏳ Estimated read time: 4 min read

Install on GCP

Before proceeding with Cloud to Code CLI, you’ll need to meet the requirements listed below.

Windows OS

Click to view
tip

If you want to use the cli using an executable file follow this guide.

  1. Install Docker Desktop and Docker CLI on your Windows system.
    Recommended system requirements: 4 vCPU and 8 GB RAM.

  2. Pull the container image from the public repository using the command:

    docker pull ghcr.io/stackgenhq/cloud2code
  3. Now run the container using the following command:

    docker run --platform linux/arm64 --rm `
    -e = "***************" ` //
    -e GOOGLE_APPLICATION_CREDENTIALS = "***************" ` // Json Credentials File Path
    -v C:\Users\abc\output:/output `
    ghcr.io/stackgenhq/cloud2code import gcp --region us-east1 --include google_storage_bucket --output-dir /output

Usage

OptionDescription
--platformEnsures that the ghcr.io/stackgenhq/cloud2code container
runs using the ARM64 architecture, regardless of your host machine's architecture.
-eSets the environment variables.
-vUsed for volume mounting. C:\Users\username\output is the directory path on your local Windows machine, while /output is the directory path inside the Docker container.

Once you install the Docker CLI ensure that you install the rest of the dependencies mentioned in the document.

Install Terraform

Check if you’ve installed Terraform by running the following command:

terraform version

To install Terraform, run the following command:

Run the following command to install Terraform using Homebrew:

brew install terraform

If you do not have Homebrew installed, run the following command:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Authenticate Your GCP CLI

Run the following command to authenticate your GCP CLI:

gcloud auth login

Enter your Application Credentials Json Path and Output Format.

  • Follow the on-screen instructions to finish authenticating. Refer to the GCP documentation to learn more about CLI authentication.
  • If you do not have GCP CLI installed, refer to the GCP documentation.

Read Access to Regions

Ensure you have the necessary permissions to access your cloud regions and resources. If unsure, check with your cloud administrator or run the following command to verify your account details:

gcloud asset search-all-iam-policies \
--scope=projects/PROJECT_ID \
--query="policy:email@example.com" \
--format="table(resource, policy.bindings.role)"

Replace PROJECT_ID and Email with your relevant details.

Install Cloud to Code CLI

To install the latest version of the Cloud to Code CLI tool using Homebrew, run the following:

brew install stackgenhq/homebrew-stackgen/cloud2code

Cloud to Code CLI lets you download a tfstate from the cloud. However, to provision the same using StackGen CLI, you would need to install it separately. To do so, run the following command if you haven’t done so already:

brew install stackgenhq/stackgen/stackgen

Upgrade Cloud to Code CLI

To check the version of your Cloud to Code CLI installed, run the command:

cloud2code version

To upgrade to the latest version of the Cloud to Code CLI tool, run the following:

brew upgrade stackgenhq/homebrew-stackgen/cloud2code

Create a Terraform State File

Follow these steps to create and import a tfstate file:

  1. Use the command line to create a local Terraform folder and switch your directory to the local folder.
  2. Run the following command to create a terraform state file for Storage buckets and Compute instances from a specified region. You will find your tfstate file in the directory specified in Step 1.

Usage

cloud2code import gcp --region <region> --project-id <project-id> --credentials <credentials-file-path> --include <resource_types> --exclude <resource_types> --output-dir
FlagDescriptionRequired
--regionThe GCP region from which resources will be imported.Yes
--project-idThe GCP Project ID from which resource types to import.Yes
--credentialsThe local GCP credentials json file path.Yes

Example:

cloud2code import gcp --region us-east1 --include google_storage_bucket --include google_compute_instance --output-dir “/Users/abc/Downloads/terraform”

The command above imports Storage buckets and Compute instances from the us-east1 region into Terraform configuration files (.tf).