Skip to content
Chris Panagiotidis edited this page Jun 12, 2026 · 1 revision

FAQ

Is this production-ready?

It is a production-aligned lab, not a production landing zone by itself. It demonstrates important platform patterns, but production use still requires organization-specific identity, policy, compliance, threat modeling, operations, backup, disaster recovery, and change management.

Which profile should I deploy first?

Deploy cheap-lab first. See Deployment Profiles.

Why is public RDP blocked?

Because public RDP is a high-risk management exposure. The repo now requires a deliberate override before allowing 0.0.0.0/0. See Security Model.

Why is AZURE_CREDENTIALS not used?

The pipeline uses GitHub OIDC federation to avoid storing long-lived Azure client secrets. See CI/CD Pipeline.

Can I still use a public jumpbox?

Yes, but it should be temporary and restricted to trusted CIDRs with allowed_jumpbox_source_ips. Prefer private access through VPN or equivalent.

Why are Application Gateway and Firewall disabled in cheap-lab?

They are useful architecture components but can create meaningful recurring cost. Enable them only when you need to test those paths. See Cost Management.

How do I know what Terraform deployed?

Use:

Where are policy rules?

Azure Policy module:

OPA/Rego CI policies:

Where are tests?

Tests live in tests. See Testing and Validation.

Why are some resources optional?

The lab is designed to support multiple learning and cost profiles. Optional toggles let you model production-like capabilities without forcing every expensive resource into every deployment.

Can I add another environment?

Yes. Add a new tfvars file under environments, update the GitHub Actions environment choices, and document the profile. See Operations Runbooks.

What should I review before enabling prod?

Review:

Clone this wiki locally