# Import existing infrastructure · ICE by Light Cloud

> Point ICE at a real cloud account, an IaC repo, or a docker-compose file. Get a canvas that reflects what is actually running, ready to edit, redeploy, or migrate.

## Sources

- **Google Cloud** (shipped) — 45+ importers covering compute, data, networking, AI, observability. Authenticate with a service account, pick a project, ICE crawls the resource graph.
- **AWS** (in progress) — Scoped to the resources the AWS deployer already understands. Expanding alongside the deployer.
- **Azure** (in progress) — Same shape as AWS, paced by the deployer.
- **Terraform** (planned) — Point ICE at a Terraform state or .tf directory. Map known resource types to ICE concepts. Surface unmappable resources for manual review.
- **Pulumi** (planned) — Same idea as Terraform import, against a Pulumi stack.
- **Docker Compose** (planned) — `docker-compose.yml` to canvas. Services become Scalable Backends. Volumes become Object Storage. `depends_on` becomes edges.

## How the GCP importer works

1. Authenticate with a service account that has read access to the project.
2. ICE crawls compute, data, networking, AI, security, and observability resources in parallel.
3. Each resource maps to an ICE concept. Dependencies become edges. Unmapped resources land as "raw" blocks with the original API payload.
4. You get a canvas you can edit, version, redeploy, or migrate to a different provider.

## Common reasons to import

- Document what is actually running, not what was supposed to be.
- Plan a migration to another cloud or region.
- Move from click-ops to an editable canvas without rewriting in IaC by hand.
- Spot orphan resources you forgot you were paying for.

Walkthrough: https://github.com/light-cloud-com/ice/blob/main/docs/deploying-to-gcp.md
