Skip to content

marc-leblanc/terraform-gke-consul

Repository files navigation

pre-commit

Consul on GKE Module

This opinionated module deploys HashiCorp's Consul service mesh on GKE. It will likely work on AKS/EKS and possibly OpenShift as well, but it has been tested for GKE. Also bundled are optional capabilities to deploy Prometheus and Grafana complete with a pre-configured Prometheus Datasource and Consul Dashboard for Grafana.

Consul on GKE with Prometheus and Grafana

Requirements

Name Version
helm 2.9.0
kubectl 1.14.0
kubernetes 2.18.1

Providers

Name Version
helm 2.9.0
kubectl 1.14.0
kubernetes 2.18.1

Modules

No modules.

Resources

Name Type
helm_release.consul resource
helm_release.grafana resource
helm_release.prometheus resource
kubectl_manifest.proxy_defaults resource
kubernetes_config_map.consul-dashboard resource
kubernetes_namespace.grafana resource
kubernetes_service.consul_ui data source

Inputs

Name Description Type Default Required
apigateway_toggle Toggle Consul Inject API Gateway on/off bool n/a yes
consul_dashboard_uid Custom UID for the Grafana Dashboard to force a slug string "consul" no
consul_dc_name Consul Datacenter Name string "dc-gke" no
consul_manage_acls Enable/disable system ACLS string "false" no
consul_ns Namespace for Consul installation string "consul" no
consul_prometheus_agent_enable Enable Prometheus Agent metrics. This should be used for Demo/Non-Prod only bool false no
consul_prometheus_enable Enable Prometheus. This should be used for Demo/Non-Prod only bool false no
consul_server_replicas Consul server replica count. This will also be used for the Bootstrap exepect value. string 3 no
federation_toggle Toggle Consul Mesh federation on/off bool false no
grafana_enable Install Grafana bool false no
grafana_ns Namespace for Grafana installation string "grafana" no
grafana_svc_type Type of kubernetes service used for grafana string "ClusterIP" no
ingressgateway_svc Default Ingress Gateway service type string "LoadBalancer" no
ingressgateway_toggle Turn Ingress Gatways On/Off [DEPRECATED - use API Gateway instead] bool false no
meshgateway_toggle Toggle Consul Mesh gateway on/off bool false no
prometheus_ns Namespace for Prometheus installation string "prometheus" no
prometheus_svc_type Type of kubernetes service used for prometheus string "ClusterIP" no

Outputs

Name Description
consul_ui_url n/a
pre-commit

Consul on GKE Module

This opinionated module deploys HashiCorp's Consul service mesh on GKE. It will likely work on AKS/EKS and possibly OpenShift as well, but it has been tested for GKE. Also bundled are optional capabilities to deploy Prometheus and Grafana complete with a pre-configured Prometheus Datasource and Consul Dashboard for Grafana.

Consul on GKE with Prometheus and Grafana

Requirements

Name Version
helm 2.9.0
kubectl 1.14.0
kubernetes 2.18.1

Providers

Name Version
helm 2.9.0
kubectl 1.14.0
kubernetes 2.18.1

Modules

No modules.

Resources

Name Type
helm_release.consul resource
helm_release.grafana resource
helm_release.prometheus resource
kubectl_manifest.proxy_defaults resource
kubernetes_config_map.consul-dashboard resource
kubernetes_namespace.grafana resource
kubernetes_service.consul_ui data source

Inputs

Name Description Type Default Required
consul_dashboard_uid Custom UID for the Grafana Dashboard to force a slug string "consul" no
consul_dc_name Consul Datacenter Name string "dc-gke" no
consul_manage_acls Enable/disable system ACLS string "false" no
consul_ns Namespace for Consul installation string "consul" no
consul_prometheus_agent_enable Enable Prometheus Agent metrics. This should be used for Demo/Non-Prod only bool false no
consul_prometheus_enable Enable Prometheus. This should be used for Demo/Non-Prod only bool false no
consul_server_replicas Consul server replica count. This will also be used for the Bootstrap exepect value. string 3 no
federation_toggle Toggle Consul Mesh federation on/off bool false no
grafana_enable Install Grafana bool false no
grafana_ns Namespace for Grafana installation string "grafana" no
grafana_svc_type Type of kubernetes service used for grafana string "ClusterIP" no
meshgateway_toggle Toggle Consul Mesh gateway on/off bool false no
prometheus_ns Namespace for Prometheus installation string "prometheus" no
prometheus_svc_type Type of kubernetes service used for prometheus string "ClusterIP" no

Outputs

Name Description
consul_ui_url n/a

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published