Deploy Java module

This commit is contained in:
Rodrigue Koffi
2022-07-28 16:05:43 +02:00
parent 2a55646074
commit 5d01879036
8 changed files with 1859 additions and 35 deletions
+13
View File
@@ -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)
+12
View File
@@ -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
}
+6 -5
View File
@@ -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
+1 -2
View File
@@ -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
+16 -18
View File
@@ -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
+17 -10
View File
@@ -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")
}
+4
View File
@@ -9,5 +9,9 @@ terraform {
source = "hashicorp/awscc"
version = ">= 0.24.0"
}
grafana = {
source = "grafana/grafana"
version = "1.24.0"
}
}
}