Infrastructure Mapper
Map the complete infrastructure topology from IaC definitions, container configs, and orchestration manifests to produce a deployment architecture view.
Guiding Principle
"Infrastructure that exists only in someone's head is infrastructure you'll lose when they leave."
Procedure
Step 1 — Container Analysis
- Parse all Dockerfiles: base images, build stages, exposed ports, health checks.
- Analyze
docker-compose.yml for service definitions, networks, and volumes.
- Identify multi-stage builds and their optimization level.
- Check for security best practices: non-root user, minimal base images, no secrets in layers.
- Map container dependencies and startup order
[HECHO].
Step 2 — Orchestration Mapping
- Scan for Kubernetes manifests: Deployments, Services, Ingress, ConfigMaps, Secrets.
- Identify Helm charts and their value overrides per environment.
- Map service mesh configuration (Istio, Linkerd) if present.
- Document resource requests/limits, replica counts, and autoscaling rules.
- Catalog namespaces and their purpose
[HECHO].
Step 3 — IaC Analysis
- Locate Terraform, Pulumi, CloudFormation, or CDK definitions.
- Map cloud resources: compute, storage, networking, databases, queues.
- Identify environment separation: shared infra vs. per-environment resources.
- Check for state management: remote state, locking, encryption.
- Assess module organization and reusability
[HECHO].
Step 4 — Topology Diagram
- Produce a deployment architecture diagram showing all infrastructure components.
- Map network topology: VPCs, subnets, security groups, load balancers.
- Identify single points of failure and redundancy gaps.
- Document the deployment flow from code to production.
Quality Criteria
- Every infrastructure component traced to a config file
[HECHO]
- Topology diagram reflects actual configs, not assumed architecture
- Security practices assessed for containers and IaC
- Environment differences documented (dev vs. staging vs. prod)
Anti-Patterns
- Reading only Docker configs while ignoring Kubernetes manifests
- Assuming all environments are identical without checking overrides
- Ignoring network policies and security groups in the analysis
- Treating IaC modules as black boxes without reading their contents