This Terraform module creates various resources for managing multi-cloud prerequisites, such as Route53 zones, IAM credentials, and S3 buckets.
The module also deploys a tenant
repository with the necessary configuration files and instructions for deploying the GlueOps Platform on Kubernetes.
Some dependencies for this module must be creates prior to its use, including:
- Tenant Account, generally created via Terraform in the same reposity where this module is deployed, at
/organization/tf/main.tf
. - GitHub OAuth APP
- GitHub App
- Parent Route53 Zone per Tenant: Creates a parent Route53 zone for each tenant.
- Route53 Zones per Cluster: Creates a Route53 zone for each cluster.
- IAM Credentials for Cert-Manager: Generates IAM credentials that allow cert-manager to access a specific cluster's Route53 zone.
- IAM Credentials for External-DNS: Generates IAM credentials that allow external-dns to access a specific cluster's Route53 zone.
- S3 Bucket for Backups: Creates a single S3 bucket for storing backups.
- IAM Credentials for Vault Backups: Generates IAM credentials that allow Vault to back up data to the S3 backup bucket.
- S3 Buckets for Loki Log Retention: Creates one or more S3 buckets dedicated to Loki for log retention.
- IAM Credentials per Bucket for Loki: Generates IAM credentials for each Loki S3 bucket.
- OpsGenie API Key: Creates an OpsGenie API key.
- API Key per Cluster: Generates an API key for each cluster.
- Tenant GitHub Repository: Creates tenant repository for managing a GlueOps Platform Kubernetes Cluster.
No requirements.
Name | Version |
---|---|
aws.clientaccount | n/a |
aws.management-tenant-dns | n/a |
aws.primaryregion | n/a |
random | n/a |
Name | Source | Version |
---|---|---|
argocd_helm_values | git::https://github.com/GlueOps/docs-argocd.git | v0.14.1 |
captain_repository | ./modules/github-captain-repository/0.1.0 | n/a |
captain_repository_files | ./modules/github-captain-repository-files/0.1.0 | n/a |
common_s3 | ./modules/multy-s3-bucket/0.1.0 | n/a |
dnssec_key | git::https://github.com/GlueOps/terraform-module-cloud-aws-dnssec-kms-key.git | v0.3.0 |
glueops_platform_helm_values | git::https://github.com/GlueOps/platform-helm-chart-platform.git | v0.47.2 |
loki_s3 | ./modules/multy-s3-bucket/0.1.0 | n/a |
opsgenie_teams | ./modules/opsgenie/0.1.0 | n/a |
tenant_readmes | ./modules/tenant-readme/0.1.0 | n/a |
Name | Description | Type | Default | Required |
---|---|---|---|---|
backup_region | The secondary S3 region to create S3 bucket in used for backups. This should be different than the primary region and will have the data from the primary region replicated to it. | string |
n/a | yes |
cluster_environments | The cluster environments and their respective github app ids | list(object({ |
[ |
no |
github_owner | The GitHub Owner where the tenant repo will be deployed. | string |
n/a | yes |
management_tenant_dns_aws_account_id | The company AWS account id for the management-tenant-dns account | string |
n/a | yes |
management_tenant_dns_zoneid | The Route53 ZoneID that all the delegation is coming from. | string |
n/a | yes |
opsgenie_emails | List of user email addresses | list(string) |
n/a | yes |
primary_region | The primary S3 region to create S3 bucket in used for backups. This should be the same region as the one where the cluster is being deployed. | string |
n/a | yes |
tenant_account_id | The tenant AWS account id | string |
n/a | yes |
tenant_key | The tenant key | string |
n/a | yes |
this_is_development | The development cluster environment and data/resources can be destroyed! | string |
false |
no |
No outputs.