mirror of
https://github.com/storytold/terraform-aws-observability-accelerator.git
synced 2026-10-09 00:09:43 +00:00
Deploy Java module
This commit is contained in:
@@ -24,6 +24,19 @@ provider "helm" {
|
||||
}
|
||||
}
|
||||
|
||||
# provider "grafana" {
|
||||
# url = var.grafana_endpoint
|
||||
# auth = var.grafana_api_key
|
||||
# }
|
||||
|
||||
terraform {
|
||||
required_providers {
|
||||
grafana = {
|
||||
source = "grafana/grafana"
|
||||
version = "1.24.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
locals {
|
||||
name = basename(path.cwd)
|
||||
|
||||
@@ -33,3 +33,15 @@ variable "managed_grafana_workspace_id" {
|
||||
default = ""
|
||||
}
|
||||
|
||||
variable "grafana_endpoint" {
|
||||
description = "Grafana endpoint"
|
||||
type = string
|
||||
default = null
|
||||
}
|
||||
|
||||
variable "grafana_api_key" {
|
||||
description = "API key for authorizing the Grafana provider to make changes to Amazon Managed Grafana"
|
||||
type = string
|
||||
default = ""
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
@@ -10,10 +10,10 @@ module "eks_observability_accelerator" {
|
||||
# TODO: create also a cluster, VPC -- check if enough VPCs
|
||||
|
||||
# deploys AWS Distro for OpenTelemetry operator into the cluster
|
||||
enable_amazon_eks_adot = false
|
||||
enable_amazon_eks_adot = true
|
||||
|
||||
# reusing existing certificate manager? defaults to true
|
||||
enable_cert_manager = false
|
||||
enable_cert_manager = true
|
||||
|
||||
# # -- or enable opentelemetry operator
|
||||
enable_opentelemetry_operator = false #-- true doesn't work for me, needs fix
|
||||
@@ -29,9 +29,10 @@ module "eks_observability_accelerator" {
|
||||
# sets up the AMP alert manager at the workspace level
|
||||
enable_alertmanager = true
|
||||
|
||||
# create a new Grafana workspace
|
||||
enable_managed_grafana = true
|
||||
#managed_grafana_workspace_id = "g-9790a4306b"
|
||||
# create a new Grafana workspace - TODO review design
|
||||
enable_managed_grafana = false
|
||||
managed_grafana_workspace_id = var.managed_grafana_workspace_id
|
||||
grafana_api_key = var.grafana_api_key
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -31,7 +31,6 @@ data "aws_grafana_workspace" "this" {
|
||||
# }
|
||||
|
||||
|
||||
|
||||
locals {
|
||||
eks_oidc_issuer_url = replace(data.aws_eks_cluster.eks_cluster.identity[0].oidc[0].issuer, "https://", "")
|
||||
eks_cluster_endpoint = data.aws_eks_cluster.eks_cluster.endpoint
|
||||
@@ -47,7 +46,7 @@ locals {
|
||||
|
||||
# if grafana_workspace_id is supplied, we infer the endpoint from
|
||||
# computed region, else we create a new workspace
|
||||
amg_ws_endpoint = var.enable_managed_grafana ? "https://${module.managed_grafana[0].workspace_endpoint}" : "https://${var.managed_grafana_workspace_id}.grafana-workspace.${local.amg_ws_region}.amazonaws.com"
|
||||
amg_ws_endpoint = var.managed_grafana_workspace_id == "" ? "https://${module.managed_grafana[0].workspace_endpoint}" : "https://${var.managed_grafana_workspace_id}.grafana-workspace.${local.amg_ws_region}.amazonaws.com"
|
||||
|
||||
# TODO when tf resource for AMG api keys are supported
|
||||
# create a short-lived api key on the fly if api_key is not provided
|
||||
|
||||
@@ -47,25 +47,23 @@ module "managed_grafana" {
|
||||
tags = var.tags
|
||||
}
|
||||
|
||||
# provider "grafana" {
|
||||
# #url = try(var.grafana_endpoint, "https://${module.managed_grafana.workspace_endpoint}")
|
||||
# url = local.grafana_endpoint
|
||||
# auth = local.grafana_api_key
|
||||
# }
|
||||
provider "grafana" {
|
||||
url = local.amg_ws_endpoint
|
||||
auth = var.grafana_api_key
|
||||
}
|
||||
|
||||
|
||||
# resource "grafana_data_source" "amp" {
|
||||
# type = "prometheus"
|
||||
# name = local.name
|
||||
# is_default = true
|
||||
# url = local.amp_ws_endpoint
|
||||
# json_data {
|
||||
# http_method = "GET"
|
||||
# sigv4_auth = true
|
||||
# sigv4_auth_type = "workspace-iam-role"
|
||||
# sigv4_region = local.amp_ws_region
|
||||
# }
|
||||
# }
|
||||
resource "grafana_data_source" "amp" {
|
||||
type = "prometheus"
|
||||
name = local.name
|
||||
is_default = true
|
||||
url = local.amp_ws_endpoint
|
||||
json_data {
|
||||
http_method = "GET"
|
||||
sigv4_auth = true
|
||||
sigv4_auth_type = "workspace-iam-role"
|
||||
sigv4_region = local.amp_ws_region
|
||||
}
|
||||
}
|
||||
|
||||
module "java" {
|
||||
count = var.enable_java ? 1 : 0
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -4,8 +4,16 @@ locals {
|
||||
namespace = try(var.helm_config.namespace, local.name)
|
||||
}
|
||||
|
||||
data "aws_partition" "current" {}
|
||||
terraform {
|
||||
required_providers {
|
||||
grafana = {
|
||||
source = "grafana/grafana"
|
||||
version = "1.24.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
data "aws_partition" "current" {}
|
||||
|
||||
# deploys collector
|
||||
module "helm_addon" {
|
||||
@@ -90,13 +98,12 @@ groups:
|
||||
EOF
|
||||
}
|
||||
|
||||
# dashboard
|
||||
# dashboards
|
||||
resource "grafana_folder" "this" {
|
||||
title = "Observability Accelerator Dashboards"
|
||||
}
|
||||
|
||||
# resource "grafana_folder" "this" {
|
||||
# title = "Observability Accelerator - Java"
|
||||
# }
|
||||
|
||||
# resource "grafana_dashboard" "this" {
|
||||
# folder = grafana_folder.this.id
|
||||
# config_json = file("${path.module}/dashboards/default.json")
|
||||
# }
|
||||
resource "grafana_dashboard" "this" {
|
||||
folder = grafana_folder.this.id
|
||||
config_json = file("${path.module}/dashboards/default.json")
|
||||
}
|
||||
|
||||
@@ -9,5 +9,9 @@ terraform {
|
||||
source = "hashicorp/awscc"
|
||||
version = ">= 0.24.0"
|
||||
}
|
||||
grafana = {
|
||||
source = "grafana/grafana"
|
||||
version = "1.24.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user