Giter VIP home page Giter VIP logo

cloud-platform-terraform-monitoring's Introduction

cloud-platform-terraform-monitoring

Terraform module that deploy cloud-platform monitoring solution. It has support for components like: proxy, thanos, cloudwatch datasource for grafana, side-car, etc

Usage

module "monitoring" {
  source = "github.com/ministryofjustice/cloud-platform-terraform-monitoring?ref=0.1.3"

  alertmanager_slack_receivers               = var.alertmanager_slack_receivers
  iam_role_nodes                             = data.aws_iam_role.nodes.arn
  pagerduty_config                           = var.pagerduty_config
  enable_ecr_exporter                        = terraform.workspace == local.live_workspace ? true : false
  enable_cloudwatch_exporter                 = terraform.workspace == local.live_workspace ? true : false
  enable_thanos_helm_chart                   = terraform.workspace == local.live_workspace ? true : false
  enable_prometheus_affinity_and_tolerations = terraform.workspace == local.live_workspace ? true : false
  
  cluster_domain_name           = data.terraform_remote_state.cluster.outputs.cluster_domain_name
  oidc_components_client_id     = data.terraform_remote_state.cluster.outputs.oidc_components_client_id
  oidc_components_client_secret = data.terraform_remote_state.cluster.outputs.oidc_components_client_secret
  oidc_issuer_url               = data.terraform_remote_state.cluster.outputs.oidc_issuer_url

  dependence_opa    = module.opa.helm_opa_status
}

Requirements

Name Version
terraform >= 0.13

Providers

Name Version
aws n/a
helm n/a
kubernetes n/a
random n/a
template n/a

Modules

Name Source Version
iam_assumable_role_cloudwatch_exporter terraform-aws-modules/iam/aws//modules/iam-assumable-role-with-oidc 3.13.0
iam_assumable_role_ecr_exporter terraform-aws-modules/iam/aws//modules/iam-assumable-role-with-oidc 3.13.0
iam_assumable_role_monitoring terraform-aws-modules/iam/aws//modules/iam-assumable-role-with-oidc 3.13.0

Resources

Name
aws_iam_policy
aws_iam_policy_document
aws_iam_role
aws_iam_role_policy
helm_release
kubernetes_limit_range
kubernetes_namespace
kubernetes_network_policy
kubernetes_resource_quota
kubernetes_secret
random_id
template_file

Inputs

Name Description Type Default Required
alertmanager_slack_receivers A list of configuration values for Slack receivers list n/a yes
cluster_domain_name The cluster domain - used by externalDNS and certmanager to create URLs any n/a yes
dockerhub_password DockerHub password - required to avoid hitting Dockerhub API limits in EKS clusters string "" no
dockerhub_username DockerHub username - required to avoid hitting Dockerhub API limits in EKS clusters string "" no
eks Where are you applying this modules in kOps cluster or in EKS (KIAM or KUBE2IAM?) bool false no
eks_cluster_oidc_issuer_url If EKS variable is set to true this is going to be used when we create the IAM OIDC role string "" no
enable_cloudwatch_exporter Enable or not Cloudwatch exporter bool false no
enable_ecr_exporter Enable or not ECR exporter bool false no
enable_kibana_audit_proxy Enable or not Kibana-audit proxy for authentication bool false no
enable_kibana_proxy Enable or not Kibana proxy for authentication bool false no
enable_large_nodesgroup Due to Prometheus resource consumption, enabling this will set k8s Prometheus resources to higher values bool false no
enable_prometheus_affinity_and_tolerations Enable or not Prometheus node affinity (check helm values for the expressions) bool false no
enable_thanos_compact Enable or not Thanos Compact - not semantically concurrency safe and must be deployed as a singleton against a bucket bool false no
enable_thanos_helm_chart Enable or not Thanos Helm Chart - (do NOT confuse this with thanos sidecar within prometheus-operator) bool false no
enable_thanos_sidecar Enable or not Thanos sidecar. Basically defines if we want to send cluster metrics to thanos's S3 bucket bool false no
iam_role_nodes Nodes IAM role ARN in order to create the KIAM/Kube2IAM string n/a yes
oidc_components_client_id OIDC ClientID used to authenticate to Grafana, AlertManager and Prometheus (oauth2-proxy) any n/a yes
oidc_components_client_secret OIDC ClientSecret used to authenticate to Grafana, AlertManager and Prometheus (oauth2-proxy) any n/a yes
oidc_issuer_url Issuer URL used to authenticate to Grafana, AlertManager and Prometheus (oauth2-proxy) any n/a yes
pagerduty_config Add PagerDuty key to allow integration with a PD service. any n/a yes

Outputs

Name Description
helm_prometheus_operator_status n/a

cloud-platform-terraform-monitoring's People

Contributors

jasonbirchall avatar mattops avatar mogaal avatar mtrbls avatar poornima-krishnasamy avatar pwyborn avatar razvan-moj avatar sablumiah avatar vijay-veeranki avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.