erezrokah / terraform-azure-cloudquery

Deploy CloudQuery on GCP

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CloudQuery Azure Module

This folder contains a Terraform module to deploy a CloudQuery cluster in Azure on top of AKS.

Usage

Examples are included in the example folder, but simple usage is as follows:

module "cloudquery" {
  source  = "cloudquery/cloudquery/azure"
  version = "~> 0.1"

  name = "cloudquery"


  # path to your cloudquery config
  config_file = "config.yml"

}

Existing VPC

TDB

Run Helm Separately

TDB

Examples

Requirements

Name Version
terraform >= 0.15
azurerm >= 2.4.6
helm >= 2.5
kubernetes ~> 2.11
random ~> 3.3

Providers

Name Version
azurerm >= 2.4.6
helm >= 2.5
random ~> 3.3

Modules

Name Source Version
aks github.com/Azure/terraform-azurerm-aks 6.2.0
naming Azure/naming/azurerm ~> 0.2.0
network Azure/network/azurerm ~> 3.5.0
postgresql github.com/Azure/terraform-azurerm-postgresql 0f607dbc9d08528bb16a48fc9dc8831aa4a92f5c

Resources

Name Type
azurerm_key_vault.vault resource
azurerm_key_vault_secret.pg_dsn resource
azurerm_key_vault_secret.pg_password resource
azurerm_private_endpoint.psql_private_endpoint resource
azurerm_resource_group.rg resource
helm_release.cloudquery resource
random_password.postgresql resource
azurerm_client_config.current data source

Inputs

Name Description Type Default Required
chart_values Variables to pass to the helm chart string "" no
chart_version The version of CloudQuery helm chart string "1.0.32" no
config_file Path to the CloudQuery config.hcl string "" no
install_helm_chart Enable/Disable helm chart installation bool true no
kubernetes_enable_host_encryption Enable Host Encryption for default node pool. Encryption at host feature must be enabled on the subscription: https://docs.microsoft.com/azure/virtual-machines/linux/disks-enable-host-based-encryption-cli bool false no
kubernetes_node_disk_size_gb Node disk size in gb. number 30 no
kubernetes_orchestrator_version Specify which Kubernetes release to use for the orchestration layer. The default used is the latest Kubernetes version available in the region string "1.23.5" no
kubernetes_private_cluster_enabled If true cluster API server will be exposed only on internal IP address and available only in cluster vnet. bool false no
kubernetes_sku_tier The SKU Tier that should be used for this Kubernetes Cluster. Possible values are Free and Paid string "Free" no
kubernetes_version Specify which Kubernetes release to use. The default used is the latest Kubernetes version available in the region string "1.23.5" no
location The location to host resources string n/a yes
name Name to use on all resources created string "cloudquery" no
postgres_backup_retention_days Retention days for backup number 7 no
postgres_firewall_rules If Postgres is publicly accessible you will need to specified a firewall rule to allow connections
list(object({
name = string
start_ip = string
end_ip = string
}))
[] no
postgres_publicly_accessible Make Postgres publicly accessible (might be needed if you want to connect to it from Grafana or other tools). bool false no
postgres_server_version Version of Azure Postgres engine to use string "11" no
postgres_sku_name Postgresql sku name string "GP_Gen5_2" no
tags A map of tags to use on all resources map(string) {} no

Outputs

Name Description
aks_host AKS host
network_id ID of the network that was created
postgres_fqdn Fqdn of the Postgres server
postgres_server_administrator_password Administrator password for cloudquery database

Troubleshooting

If helm installtion is stuck in some hanging state you can run the following commands:

# check if helm is installed in cloudquery namespace
helm ls -n cloudquery
# If yes uninstall with the your release name
helm uninstall YOUR_RELEASE_NAME -n cloudquery

Authors

Module is maintained by CloudQuery Team.

License

Apache 2 Licensed. See LICENSE for full details.

About

Deploy CloudQuery on GCP

License:Apache License 2.0


Languages

Language:HCL 99.5%Language:Makefile 0.5%