https://github.com/raystack/terraform-google-cortex
https://github.com/raystack/terraform-google-cortex
Last synced: 18 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/raystack/terraform-google-cortex
- Owner: raystack
- License: apache-2.0
- Created: 2021-03-16T11:25:55.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2022-01-13T06:53:35.000Z (about 4 years ago)
- Last Synced: 2025-01-21T12:47:22.633Z (12 months ago)
- Language: HCL
- Size: 27.3 KB
- Stars: 0
- Watchers: 3
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Terraform google Cortex Module
Terraform module for setting up [cortex](https://cortexmetrics.io) on Kubernetes with block storage configs.
It also sets up minimal consul deployment needed for cortex as KV store for the HA tracker.
This module is using following [cortex-helm-chart](https://github.com/cortexproject/cortex-helm-chart)
## Compatibility
This module is meant for use with Terraform 0.12.
## Dependencies
- helm >= 3.0
## Example Usage
```
module "cortex_app" {
source = "git::https://github.com/odif/terraform-google-cortex.git"
project_name = "gcp-project"
region = "asia-southeast-1"
namespace = "cortex"
network_name = "my-vpc"
aws_zone_id = "XXXX"
ingress_dns = "example.com"
load_balancer_ingress_name = "ingress"
load_balancer_ingress_namespace = "infra"
}
```
## Providers
| Name | Version |
| ----------- | ------- |
| google | ~> 3.0 |
| google-beta | ~> 3.0 |
| helm | >=2.0 |
| kubernetes | n/a |
| aws | n/a |
## Inputs
## Inputs
| Name | Description | Type | Default | Required |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------: |
| app_name | n/a | `string` | `"cortex"` | no |
| aws_zone_id | AWS DNS zone Id for ingress creation | `string` | n/a | yes |
| consul_helm_release_config | Configs mapped to terraform helm_release provider. Ref:https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release | `map` |
{
"chart": "consul",
"repository": "https://odpf.github.io/charts",
"timeout": 150,
"values_override": "",
"version": "0.1.0",
"wait": true
} | no |
| cortex_helm_release_config | Configs mapped to terraform helm_release provider. Ref:https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release | `map` | {
"chart": "cortex",
"repository": "https://cortexproject.github.io/cortex-helm-chart",
"timeout": 600,
"values_override": "",
"version": "0.4.0",
"wait": true
} | no |
| ingress_dns | Domain name for ingress | `string` | n/a | yes |
| ingress_enabled | n/a | `bool` | `true` | no |
| labels | n/a | `map` | `{}` | no |
| load_balancer_ingress_name | Loadbalancer ingress service name for kubernetes_service data resource | `string` | n/a | yes |
| load_balancer_ingress_namespace | Loadbalancer ingress service namespace for kubernetes_service data resource | `any` | n/a | yes |
| namespace | n/a | `string` | `"cortex"` | no |
| network_name | GCP Network name | `string` | n/a | yes |
| project_name | GCP Project name | `string` | n/a | yes |
| region | GCP Network region/location. eg: asia-southeast1 | `string` | n/a | yes |
| memcached_config | Configs for the GCP memorystore memcached cluster | `map` | {
node_count = 1
node_config = {
cpu_count = 1
memory_size_mb = 1024
}
} | no |
## Outputs
| Name | Description |
| ----------- | ------------------------------------ |
| bucket | GCS Bucket details for block storage |
| ingress_dns | DNS zone record details for ingress |
| memcache | GCP memory store details |
## Requirements
### Installed Software
- [Terraform](https://www.terraform.io/downloads.html) ~> 0.12.6
- [Terraform Provider for GCP](https://github.com/terraform-providers/terraform-provider-google) ~> 3.0
- [Terraform Provider for GCP Beta](https://github.com/terraform-providers/terraform-provider-google-beta) ~>
3.0
### Enable API's
In order to operate with it you must activate the following API on the same project:
- Cloud Memorystore for Memcached API - memcache.googleapis.com