mirror of
https://github.com/storytold/terraform-aws-observability-accelerator.git
synced 2026-10-17 00:23:17 +00:00
Chore
This commit is contained in:
@@ -59,7 +59,6 @@ If you don't specify anything a new workspace will be created for you.
|
||||
|
||||
|
||||
5. Grafana API Key
|
||||
<!-- TODO: Remove section when CP Grafana API keys is supported by Terraform -->
|
||||
|
||||
- Give admin access to the SSO user you set up when creating the Amazon Managed Grafana Workspace:
|
||||
- In the AWS Console, navigate to Amazon Grafana. In the left navigation bar, click **All workspaces**, then click on the workspace name you are using for this example.
|
||||
@@ -131,11 +130,11 @@ add this `managed_prometheus_region=xxx` and `managed_prometheus_workspace_id=ws
|
||||
| <a name="input_aws_region"></a> [aws\_region](#input\_aws\_region) | AWS Region | `string` | n/a | yes |
|
||||
| <a name="input_eks_cluster_id"></a> [eks\_cluster\_id](#input\_eks\_cluster\_id) | EKS Cluster Id | `string` | n/a | yes |
|
||||
| <a name="input_grafana_api_key"></a> [grafana\_api\_key](#input\_grafana\_api\_key) | API key for authorizing the Grafana provider to make changes to Amazon Managed Grafana | `string` | `""` | no |
|
||||
| <a name="input_grafana_endpoint"></a> [grafana\_endpoint](#input\_grafana\_endpoint) | Grafana endpoint | `string` | `null` | no |
|
||||
| <a name="input_managed_grafana_workspace_id"></a> [managed\_grafana\_workspace\_id](#input\_managed\_grafana\_workspace\_id) | n/a | `string` | `""` | no |
|
||||
| <a name="input_managed_prometheus_endpoint"></a> [managed\_prometheus\_endpoint](#input\_managed\_prometheus\_endpoint) | n/a | `string` | `""` | no |
|
||||
| <a name="input_managed_prometheus_region"></a> [managed\_prometheus\_region](#input\_managed\_prometheus\_region) | n/a | `string` | `""` | no |
|
||||
| <a name="input_managed_prometheus_workspace_id"></a> [managed\_prometheus\_workspace\_id](#input\_managed\_prometheus\_workspace\_id) | n/a | `string` | `""` | no |
|
||||
| <a name="input_grafana_endpoint"></a> [grafana\_endpoint](#input\_grafana\_endpoint) | AMG endpoint | `string` | `null` | no |
|
||||
| <a name="input_managed_grafana_workspace_id"></a> [managed\_grafana\_workspace\_id](#input\_managed\_grafana\_workspace\_id) | Amazon Managed Grafana (AMG) workspace ID | `string` | `""` | no |
|
||||
| <a name="input_managed_prometheus_endpoint"></a> [managed\_prometheus\_endpoint](#input\_managed\_prometheus\_endpoint) | AMP workspace ID | `string` | `""` | no |
|
||||
| <a name="input_managed_prometheus_region"></a> [managed\_prometheus\_region](#input\_managed\_prometheus\_region) | Region where AMP is deployed | `string` | `""` | no |
|
||||
| <a name="input_managed_prometheus_workspace_id"></a> [managed\_prometheus\_workspace\_id](#input\_managed\_prometheus\_workspace\_id) | Amazon Managed Service for Prometheus (AMP) workspace ID | `string` | `""` | no |
|
||||
|
||||
## Outputs
|
||||
|
||||
|
||||
@@ -81,11 +81,9 @@ module "eks_observability_accelerator" {
|
||||
# https://www.terraform.io/language/modules/develop/providers
|
||||
# A module intended to be called by one or more other modules must not contain
|
||||
# any provider blocks.
|
||||
# This allows forcing depedency between base and workloads module
|
||||
# This allows forcing dependency between base and workloads module
|
||||
provider "grafana" {
|
||||
url = module.eks_observability_accelerator.managed_grafana_workspace_endpoint
|
||||
|
||||
# TODO: manage with Secrets manager
|
||||
url = module.eks_observability_accelerator.managed_grafana_workspace_endpoint
|
||||
auth = var.grafana_api_key
|
||||
}
|
||||
|
||||
@@ -98,13 +96,10 @@ module "workloads_infra" {
|
||||
dashboards_folder_id = module.eks_observability_accelerator.grafana_dashboards_folder_id
|
||||
managed_prometheus_workspace_id = module.eks_observability_accelerator.managed_prometheus_workspace_id
|
||||
|
||||
# TODO remove when Kevin's PR is live
|
||||
managed_prometheus_workspace_endpoint = module.eks_observability_accelerator.managed_prometheus_workspace_endpoint
|
||||
managed_prometheus_workspace_region = module.eks_observability_accelerator.managed_prometheus_workspace_region
|
||||
|
||||
enable_alerting_rules = false
|
||||
# module custom configuration, check module documentation
|
||||
# config = {}
|
||||
|
||||
tags = local.tags
|
||||
|
||||
|
||||
@@ -7,23 +7,27 @@ variable "aws_region" {
|
||||
type = string
|
||||
}
|
||||
variable "managed_prometheus_workspace_id" {
|
||||
type = string
|
||||
default = ""
|
||||
description = "Amazon Managed Service for Prometheus (AMP) workspace ID"
|
||||
type = string
|
||||
default = ""
|
||||
}
|
||||
variable "managed_prometheus_endpoint" {
|
||||
type = string
|
||||
default = ""
|
||||
description = "AMP workspace ID"
|
||||
type = string
|
||||
default = ""
|
||||
}
|
||||
variable "managed_prometheus_region" {
|
||||
type = string
|
||||
default = ""
|
||||
description = "Region where AMP is deployed"
|
||||
type = string
|
||||
default = ""
|
||||
}
|
||||
variable "managed_grafana_workspace_id" {
|
||||
type = string
|
||||
default = ""
|
||||
description = "Amazon Managed Grafana (AMG) workspace ID"
|
||||
type = string
|
||||
default = ""
|
||||
}
|
||||
variable "grafana_endpoint" {
|
||||
description = "Grafana endpoint"
|
||||
description = "AMG endpoint"
|
||||
type = string
|
||||
default = null
|
||||
}
|
||||
|
||||
@@ -1,110 +0,0 @@
|
||||
provider "aws" {
|
||||
region = local.region
|
||||
}
|
||||
|
||||
provider "kubernetes" {
|
||||
host = module.eks_blueprints.eks_cluster_endpoint
|
||||
cluster_ca_certificate = base64decode(module.eks_blueprints.eks_cluster_certificate_authority_data)
|
||||
token = data.aws_eks_cluster_auth.this.token
|
||||
}
|
||||
|
||||
provider "helm" {
|
||||
kubernetes {
|
||||
host = module.eks_blueprints.eks_cluster_endpoint
|
||||
cluster_ca_certificate = base64decode(module.eks_blueprints.eks_cluster_certificate_authority_data)
|
||||
token = data.aws_eks_cluster_auth.this.token
|
||||
}
|
||||
}
|
||||
|
||||
module "vpc" {
|
||||
source = "terraform-aws-modules/vpc/aws"
|
||||
version = "~> 3.0"
|
||||
|
||||
name = local.name
|
||||
cidr = local.vpc_cidr
|
||||
|
||||
azs = local.azs
|
||||
public_subnets = [for k, v in local.azs : cidrsubnet(local.vpc_cidr, 8, k)]
|
||||
private_subnets = [for k, v in local.azs : cidrsubnet(local.vpc_cidr, 8, k + 10)]
|
||||
|
||||
enable_nat_gateway = true
|
||||
single_nat_gateway = true
|
||||
enable_dns_hostnames = true
|
||||
|
||||
# Manage so we can name
|
||||
manage_default_network_acl = true
|
||||
default_network_acl_tags = { Name = "${local.name}-default" }
|
||||
manage_default_route_table = true
|
||||
default_route_table_tags = { Name = "${local.name}-default" }
|
||||
manage_default_security_group = true
|
||||
default_security_group_tags = { Name = "${local.name}-default" }
|
||||
|
||||
public_subnet_tags = {
|
||||
"kubernetes.io/cluster/${local.name}" = "shared"
|
||||
"kubernetes.io/role/elb" = 1
|
||||
}
|
||||
|
||||
private_subnet_tags = {
|
||||
"kubernetes.io/cluster/${local.name}" = "shared"
|
||||
"kubernetes.io/role/internal-elb" = 1
|
||||
}
|
||||
|
||||
tags = local.tags
|
||||
}
|
||||
|
||||
module "eks_blueprints" {
|
||||
source = "github.com/aws-ia/terraform-aws-eks-blueprints"
|
||||
|
||||
cluster_name = local.name
|
||||
cluster_version = "1.22"
|
||||
|
||||
vpc_id = module.vpc.vpc_id
|
||||
private_subnet_ids = module.vpc.private_subnets
|
||||
|
||||
managed_node_groups = {
|
||||
t3_l = {
|
||||
node_group_name = "managed-ondemand"
|
||||
instance_types = ["t3.large"]
|
||||
min_size = 2
|
||||
subnet_ids = module.vpc.private_subnets
|
||||
}
|
||||
}
|
||||
|
||||
tags = local.tags
|
||||
}
|
||||
|
||||
|
||||
module "observability_accelerator" {
|
||||
source = "../../"
|
||||
|
||||
aws_region = local.region
|
||||
eks_cluster_id = module.eks_blueprints.eks_cluster_id
|
||||
|
||||
enable_alertmanager = true
|
||||
enable_managed_grafana = false
|
||||
|
||||
managed_grafana_workspace_id = var.managed_grafana_workspace_id
|
||||
managed_grafana_region = var.managed_grafana_region
|
||||
|
||||
grafana_api_key = var.grafana_api_key
|
||||
|
||||
tags = {
|
||||
Source = "aws-observability-accelerator"
|
||||
}
|
||||
}
|
||||
|
||||
module "infra" {
|
||||
source = "../../modules/workloads/infra"
|
||||
|
||||
dashboards_folder_id = module.observability_accelerator.dashboards_folder_id
|
||||
eks_cluster_id = module.eks_blueprints.eks_cluster_id
|
||||
enable_alerting_rules = false
|
||||
|
||||
managed_prometheus_workspace_id = module.observability_accelerator.managed_prometheus_workspace_id
|
||||
managed_prometheus_workspace_region = module.observability_accelerator.managed_prometheus_workspace_region
|
||||
|
||||
tags = {
|
||||
Source = "aws-observability-accelerator"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user