- the AWS account Qovery manages, and an EKS cluster in it
- a project with a
stagingand aproductionenvironment - a Postgres database and an application built from your git repository, in each environment
- the deployment of both environments
tofu wherever this guide runs terraform.
Before you start
- A Qovery organization. Create one for free at console.qovery.com.
- An API token, exported as
QOVERY_API_TOKEN. See Authentication. - An IAM role in your AWS account that Qovery can assume. The AWS installation guide creates it with a CloudFormation stack and gives you its ARN.
- A git repository with a
Dockerfile, and its application listening on port 8080. To deploy a public image instead, useqovery_container.
1. Declare the provider
main.tf
2. Connect the cloud account and create the cluster
main.tf
3. Create the project and its environments
main.tf
qovery_cluster and point the production environment at it.
4. Add the database and the application
main.tf
5. Deploy
main.tf
DATABASE_URL holds postgresql://<login>:<password>@<host>:<port>/<database>.
Then run:
Next steps
- Keep secrets out of the Terraform state: Keeping secrets out of the state.
- See how the provider plans changes made in the Console: Managing changes.
- Run Helm charts next to your apps: qovery_helm. The Airbyte deployment example (source) deploys a full Helm-based stack with a database and deployment stages.
- Provision managed cloud resources, such as RDS, ElastiCache or S3, from the service catalog: qovery_blueprint.
- Already set up in the Console? Export it as Terraform.