gke
DeimosCloud/gke/google
Terraform Module for setting up GKE
GKE Cluster Module The GKE Cluster module is used to administer the cluster master for a Google Kubernetes Engine (GKE) Cluster. The Module is adapted from Gruntwork's GKE Module What's in this Repo - Modules The modules directory contains the main modules that should be used in your code - gke-node-pool: Module for creating GKE Node Pools - Examples: Example on how to use this module Doc generation Code formatting and documentation for variables and outputs is generated using pre-commit-terraform hooks which uses terraform-docs. And install terraform-docs with ``bash go get github.com/segmentio/terraform-docs ` or `bash brew install terraform-docs. ` Contributing Report issues/questions/feature requests on in the issues section. Full contributing guidelines are covered here. What is a GKE
| Name | Type | Description | Default |
|---|---|---|---|
| release_channel | string | (Optional) The release channel to get upgrades of your GKE clusters from | required |
| subnetwork | string | A reference (self link) to the subnetwork to host the cluster in | required |
| cluster_secondary_range_name | string | The name of the secondary range within the subnetwork for the cluster to use | required |
| name | string | The name of the cluster | required |
| alternative_default_service_account | string | Alternative Service Account to be used by the Node VMs. If not specified, the de | required |
| network | string | A reference (self link) to the VPC network to host the cluster in | required |
| services_secondary_range_name | string | The name of the secondary range within the subnetwork for the services to use | required |
| location | string | The location (region or zone) to host the cluster in | required |
| secrets_encryption_kms_key | string | The Cloud KMS key to use for the encryption of secrets in etcd, e.g: projects/my | required |
| pubsub_topic | string | Pub sub topic to publish GKE notifications | required |
| project | string | The project ID to host the cluster in | required |
| gsuite_domain_name | string | The domain name for use with Google security groups in Kubernetes RBAC. If a val | required |
| identity_namespace | string | Workload Identity Namespace. Default sets project based namespace [project_id].s | required |
| enable_pubsub_notification | bool | Option to enable GKE pub sub notification | required |
| http_load_balancing | bool | Whether to enable the http (L7) load balancing addon | true |
| ip_masq_link_local | bool | Whether to masquerade traffic to the link-local prefix (169.254.0.0/16). | false |
| resource_labels | map(any) | The GCE resource labels (a map of key/value pairs) to be applied to the cluster. | {} |
| basic_auth_username | string | The username used for basic auth; set both this and `basic_auth_password` to "" | "" |
| enable_private_nodes | bool | Control whether nodes have internal IP addresses only. If enabled, all nodes are | false |
| enable_workload_identity | bool | Enable Workload Identity on the cluster | false |
| logging_service | string | The logging service that the cluster should write logs to. Available options inc | "logging.googleapis.com/kubernetes" |
| kubernetes_version | string | The Kubernetes version of the masters. If set to 'latest' it will pull latest av | "latest" |
| master_authorized_networks_config | list(any) | The desired configuration options for master authorized networks. Omit the nes | [] |
| maintenance_start_time | string | Time window specified for daily maintenance operations in RFC3339 format | "05:00" |
| stub_domains | map(string) | Map of stub domains and their resolvers to forward DNS queries for a certain dom | {} |
| disable_public_endpoint | bool | Control whether the master's internal IP address is used as the cluster endpoint | false |
| ip_masq_resync_interval | string | The interval at which the agent attempts to sync its ConfigMap file from the dis | "60s" |
| enable_vertical_pod_autoscaling | string | Whether to enable Vertical Pod Autoscaling | false |
| monitoring_service | string | The monitoring service that the cluster should write metrics to. Automatically s | "monitoring.googleapis.com/kubernetes" |
| master_ipv4_cidr_block | string | The IP range in CIDR notation to use for the hosted master network. This range w | "" |
| basic_auth_password | string | The password used for basic auth; set both this and `basic_auth_username` to "" | "" |
| enable_client_certificate_authentication | bool | Whether to enable authentication by x509 certificates. With ABAC disabled, these | false |
| non_masquerade_cidrs | list(string) | List of strings in CIDR notation that specify the IP address ranges that do not | [
"10.0.0.0/8",
"172.16.0.0/12",
" |
| description | string | The description of the cluster | "" |
public_endpoint — The Public IP address of the cluster master.client_certificate — Public certificate used by clients to authenticate to the cluster endpoint.client_key — Private key used by clients to authenticate to the cluster endpoint.cluster_ca_certificate — The public certificate that is the root of trust for the cluster.name — The name of the cluster master. This output is used for interpolation with node pools, other modulesmaster_version — The Kubernetes master version.endpoint — The IP address of the cluster master. This is private is disable_public_access it trueprivate_endpoint — The Private IP address of the cluster master.Azure landing zones Terraform module
Terraform supermodule for the Terraform platform engineering for Azure
Terraform module to deploy landing zone subscriptions (and much more) in Azure
Terraform Module to define a consistent naming convention by (namespace, stage,