Skip to content

Commit

Permalink
re-add
Browse files Browse the repository at this point in the history
  • Loading branch information
morga471 committed Feb 7, 2025
1 parent e05d51b commit 4a7abfb
Show file tree
Hide file tree
Showing 10 changed files with 236 additions and 41 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
include "root" {
path = find_in_parent_folders("root.hcl")
merge_strategy = "deep"
expose = true
}

terraform {
source = "git@github.e.it.census.gov:SCT-Engineering/tfmod-grafana.git?ref=${include.root.inputs.release_version}"
extra_arguments "retry_lock" {
commands = get_terraform_commands_that_need_locking()
arguments = ["-lock-timeout=20m"]
}
}

dependency "eks" {
config_path = "../eks"
mock_outputs = {
cluster_name = "a-cluster-name"
}
}

dependency "eks-loki" {
config_path = "../eks-loki"
mock_outputs = {
rwo_storage_class = "gp3-encrypted"
}
}

dependencies {
paths = ["../eks", "../eks-loki", "../eks-config", "../eks-karpenter"]
}

inputs = {
profile = include.root.inputs.aws_profile
region = include.root.inputs.aws_region
cluster_name = dependency.eks.outputs.cluster_name
cluster_domain = dependency.eks.inputs.vpc_domain_name
public_hostname = include.root.inputs.grafana_hostname
rwo_storage_class = dependency.eks-loki.outputs.rwo_storage_class
grafana_chart_version = include.root.inputs.grafana_chart_version
grafana_tag = include.root.inputs.grafana_tag
download_dashboards_image_tag = include.root.inputs.download_dashboards_image_tag
init_chown_data_image_tag = include.root.inputs.init_chown_data_image_tag
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ terraform {

dependency "eks" {
config_path = "${get_original_terragrunt_dir()}/../eks"
mock_outputs_allowed_terraform_commands = ["plan", "validate"]
mock_outputs = {
cluster_name = "a-cluster-name"
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
include "root" {
path = find_in_parent_folders("root.hcl")
merge_strategy = "deep"
expose = true
}

terraform {
source = "git@github.e.it.census.gov:SCT-Engineering/tfmod-k8s-dashboard.git?ref=${include.root.inputs.release_version}"
extra_arguments "retry_lock" {
commands = get_terraform_commands_that_need_locking()
arguments = ["-lock-timeout=20m"]
}
}

dependency "eks" {
config_path = "../eks"
mock_outputs = {
cluster_name = "a-cluster-name"
vpc_domain_name = "example.com"
}
}

dependencies {
paths = ["../eks", "../eks-loki", "../eks-config", "../eks-karpenter"]
}

inputs = {
profile = include.root.inputs.aws_profile
region = include.root.inputs.aws_region
cluster_name = dependency.eks.outputs.cluster_name
cluster_domain = dependency.eks.inputs.vpc_domain_name
public_hostname = include.root.inputs.dashboard_hostname
k8s_dashboard_version = include.root.inputs.k8s_dashboard_version
# datasources = dependency.eks-loki.outputs.gateway_internal_endpoint
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ terraform {

dependency "eks" {
config_path = "../eks"
mock_outputs_allowed_terraform_commands = ["plan", "validate"]
mock_outputs = {
cluster_endpoint = "https://0000000000000000AAAAAAAAAAAAAAAA.sk1.us-gov-east-1.eks.amazonaws.com"
cluster_name = "a-cluster-name"
Expand All @@ -24,6 +23,10 @@ dependency "eks" {
}
}

dependencies {
paths = ["../eks"]
}

inputs = {
cluster_endpoint = dependency.eks.outputs.cluster_endpoint
cluster_name = dependency.eks.outputs.cluster_name
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,14 @@ dependency "eks" {
cluster_name = "a-cluster-name"
}
}

dependency "eks-cert-manager" {
config_path = "../eks-cert-manager"
mock_outputs = {
cluster_issuer_name = "acmpca-clusterissuer"
}
}

dependency "eks-prometheus" {
config_path = "../eks-prometheus"
mock_outputs = {
Expand All @@ -34,6 +36,7 @@ dependency "eks-prometheus" {
url = "http://prometheus-server.prometheus.svc.cluster.local:9090/"
}
}

}
dependency "eks-grafana" {
config_path = "../eks-grafana"
Expand All @@ -53,23 +56,6 @@ dependency "eks-grafana" {
}
}

locals {
helm = read_terragrunt_config(find_in_parent_folders("./_envcommon/helm-provider.hcl"))
kube = read_terragrunt_config(find_in_parent_folders("./_envcommon/kube-provider.hcl"))
}

generate "helm" {
path = local.helm.generate.helm_provider.path
if_exists = local.helm.generate.helm_provider.if_exists
contents = local.helm.generate.helm_provider.contents
}

generate "kube" {
path = local.kube.generate.kube_provider.path
if_exists = local.kube.generate.kube_provider.if_exists
contents = local.kube.generate.kube_provider.contents
}

inputs = {
kiali_operator_version = include.root.inputs.kiali_operator_version
kiali_application_version = include.root.inputs.kiali_application_version
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
include "root" {
path = find_in_parent_folders("root.hcl")
merge_strategy = "deep"
expose = true
}

terraform {
source = "git@github.e.it.census.gov:SCT-Engineering/tfmod-loki.git?ref=${include.root.inputs.release_version}"
extra_arguments "retry_lock" {
commands = get_terraform_commands_that_need_locking()
arguments = ["-lock-timeout=20m"]
}
}

dependency "eks" {
config_path = "../eks"
mock_outputs = {
cluster_name = "a-cluster-name"
oidc_provider_arn = "arn:aws-us-gov:iam::111111111111:oidc-provider/oidc.eks.us-gov-east-1.amazonaws.com/id/0000000000000000AAAAAAAAAAAAAAAA"
}
}

dependencies {
paths = ["../eks", "../eks-prometheus", "../eks-config", "../eks-karpenter", "../eks-istio"]
}

inputs = {
profile = include.root.inputs.aws_profile
region = include.root.inputs.aws_region
cluster_name = dependency.eks.outputs.cluster_name
oidc_provider_arn = dependency.eks.outputs.oidc_provider_arn
loki_chart_version = include.root.inputs.loki_chart_version
loki_tag = include.root.inputs.loki_tag
canary_tag = include.root.inputs.canary_tag
enterprise_logs_provisioner_tag = include.root.inputs.enterprise_logs_provisioner_tag
gateway_tag = include.root.inputs.gateway_tag
memcached_tag = include.root.inputs.memcached_tag
exporter_tag = include.root.inputs.exporter_tag
sidecar_tag = include.root.inputs.sidecar_tag
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@ dependency "eks" {
}
}

dependencies {
paths = ["../eks", "../eks-config", "../eks-karpenter"]
}

inputs = {
profile = include.root.inputs.aws_profile
cluster_name = dependency.eks.outputs.cluster_name
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
include "root" {
path = find_in_parent_folders("root.hcl")
merge_strategy = "deep"
expose = true
}

terraform {
source = "git@github.e.it.census.gov:SCT-Engineering/tfmod-prometheus.git?ref=${include.root.inputs.release_version}"
extra_arguments "retry_lock" {
commands = get_terraform_commands_that_need_locking()
arguments = ["-lock-timeout=20m"]
}
}

dependency "eks" {
config_path = "../eks"
mock_outputs = {
cluster_name = "a-cluster-name"
}
}

dependencies {
paths = ["../eks", "../eks-config", "../eks-karpenter", "../eks-istio", "../eks-dns"]
}

inputs = {
profile = dependency.eks.inputs.aws_profile
region = dependency.eks.inputs.aws_region
cluster_name = dependency.eks.outputs.cluster_name
prometheus_chart_version = dependency.eks.inputs.prometheus_chart_version
prometheus_server_tag = dependency.eks.inputs.prometheus_server_tag
prometheus_config_reloader_tag = dependency.eks.inputs.prometheus_config_reloader_tag
alertmanager_tag = dependency.eks.inputs.alertmanager_tag
kube_state_metrics_tag = dependency.eks.inputs.kube_state_metrics_tag
node_exporter_tag = dependency.eks.inputs.node_exporter_tag
pushgateway_tag = dependency.eks.inputs.pushgateway_tag
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
include "root" {
path = find_in_parent_folders("root.hcl")
merge_strategy = "deep"
expose = true
}

terraform {
source = "git@github.e.it.census.gov:SCT-Engineering/tfmod-tempo.git?ref=${include.root.inputs.release_version}"
extra_arguments "retry_lock" {
commands = get_terraform_commands_that_need_locking()
arguments = ["-lock-timeout=20m"]
}
}

dependency "eks" {
config_path = "../eks"
mock_outputs = {
cluster_name = "a-cluster-name"
oidc_provider_arn = "arn:aws-us-gov:iam::111111111111:oidc-provider/oidc.eks.us-gov-east-1.amazonaws.com/id/0000000000000000AAAAAAAAAAAAAAAA"
}
}

dependency "eks-prometheus" {
config_path = "../eks-prometheus"
mock_outputs = {
prometheus_namespace = "prometheus"
prometheus_server_internal_endpoint = {
hostname = "prometheus-server.prometheus.svc.cluster.local"
port_number = 9090
url = "http://prometheus-server.prometheus.svc.cluster.local:9090/"
}
}

}

dependencies {
paths = ["../eks", "../eks-prometheus", "../eks-config", "../eks-karpenter"]
}

inputs = {
account_id = dependency.eks.inputs.account_id
cluster_name = dependency.eks.outputs.cluster_name
oidc_provider_arn = dependency.eks.outputs.oidc_provider_arn
profile = dependency.eks.inputs.aws_profile
prometheus_namespace = dependency.eks-prometheus.outputs.prometheus_namespace
prometheus_port = dependency.eks-prometheus.outputs.prometheus_server_internal_endpoint.port_number
region = dependency.eks.inputs.aws_region
tempo_chart_version = dependency.eks.inputs.tempo_chart_version
tempo_tag = dependency.eks.inputs.tempo_tag
}
41 changes: 19 additions & 22 deletions lab/root.hcl
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@ locals {
state_table_name = local.common_vars.locals.state_table_name
terraform = local.cluster_vars.locals.terraform
terragrunt = local.cluster_vars.locals.terragrunt
module_name = trimprefix(replace(run_cmd("realpath", get_original_terragrunt_dir()), dirname(get_repo_root()), ""), "/")
}

# Configure Terragrunt to automatically store tfstate files in an S3 bucket
Expand Down Expand Up @@ -71,29 +70,27 @@ generate "aws-provider" {
path = "aws-provider.tf"
if_exists = "overwrite"
contents = <<-EOF
provider "aws" {
region = "${local.aws_region}"
profile = "${local.aws_profile}"
default_tags {
tags = {
cluster_name = "${local.cluster_name}"
module_name = "${local.module_name}"
created_by = "${local.creator}"
created_for = "${local.creator}"
created_reason = "${local.created_reason}"
environment = "${local.environment_abbr}"
finops_project_name = "${local.project_name}"
finops_project_number = "${local.project_number}"
finops_project_role = "${local.project_role}"
organization = "${local.organization}"
project_identifier = "${local.project_number}:${local.project_name}"
terraform = "${local.terraform}"
terragrunt = "${local.terragrunt}"
provider "aws" {
region = "${local.aws_region}"
profile = "${local.aws_profile}"
default_tags {
tags = {
created_by = "${local.creator}"
created_for = "${local.creator}"
created_reason = "${local.created_reason}"
environment = "${local.environment_abbr}"
finops_project_name = "${local.project_name}"
finops_project_number = "${local.project_number}"
finops_project_role = "${local.project_role}"
organization = "${local.organization}"
project_identifier = "${local.project_number}:${local.project_name}"
terraform = "${local.terraform}"
terragrunt = "${local.terragrunt}"
}
}
# Only these AWS Account IDs may be operated on by this template
allowed_account_ids = ["${local.account_id}"]
}
# Only these AWS Account IDs may be operated on by this template
allowed_account_ids = ["${local.account_id}"]
}
EOF
}

Expand Down

0 comments on commit 4a7abfb

Please sign in to comment.