terraform {
required_providers {
qovery = {
source = "qovery/qovery"
version = "~> 0.48.2"
}
}
}
provider "qovery" {
token = var.qovery_api_token
}
# Look up existing resources
data "qovery_organization" "my_org" {
name = "My Organization"
}
data "qovery_project" "my_project" {
organization_id = data.qovery_organization.my_org.id
name = "My Project"
}
data "qovery_cluster" "my_cluster" {
organization_id = data.qovery_organization.my_org.id
name = "production"
}
# Create an environment
resource "qovery_environment" "production" {
project_id = data.qovery_project.my_project.id
cluster_id = data.qovery_cluster.my_cluster.id
name = "production"
mode = "PRODUCTION"
}
# Deploy an application
resource "qovery_application" "api" {
environment_id = qovery_environment.production.id
name = "api"
git_repository = {
url = "https://github.com/your-org/your-app"
branch = "main"
}
build_mode = "DOCKER"
dockerfile_path = "Dockerfile"
cpu = 500
memory = 512
ports = [{
internal_port = 8080
external_port = 443
protocol = "HTTP"
publicly_accessible = true
}]
auto_deploy = true
}