> ## Documentation Index
> Fetch the complete documentation index at: https://www.qovery.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Infrastructure as Code

> Manage infrastructure through popular IaC frameworks

## Purpose

Qovery enables infrastructure management through popular IaC frameworks, allowing users to define and manage external resources that integrate seamlessly with Kubernetes-deployed applications.

<img src="https://mintcdn.com/qovery/vh0AA6lRdjJvuZKE/images/integration/iac.png?fit=max&auto=format&n=vh0AA6lRdjJvuZKE&q=85&s=3d4f8b8d25cec587d897148742103dc3" alt="IAC Deployment Flow" width="1140" height="659" data-path="images/integration/iac.png" />

## How It Works

The IaC deployment flow consists of five key steps:

1. **Configuration**: Users specify the git repository, folder location, and necessary inputs (credentials, manifest parameters).

2. **Containerization**: Manifests and inputs are packaged into a containerized application using a Qovery-provided Dockerfile that defines framework CLI versions and execution commands.

3. **Event Triggering**: When environment or job events occur (deploy, stop, destroy), the job is scheduled for execution.

4. **Resource Management**: The job executes on the cluster to create or destroy resources based on triggered events.

5. **Output Integration**: Created resources output values are injected as environment variables, making them accessible to other services in the same environment.

## Supported Frameworks

* **Terraform**
* **CloudFormation**
* **Other** frameworks

## Key Feature

When a resource is created, your manifest/template output is retrieved and injected as environment variables for other services within the same environment, enabling resource sharing and access across applications.
