This repo contains Terraform modules for building and maintaining cloud infrastructure.
These modules are opinionated based on what we consider good defaults.
- cloud sql dashboard: GCP Cloudsql Dashboard
- gke: GKE module for Google Compute Platform
- vpc: GCP VPC
- velero: GCP IAM Service Account and backups GCP Storage bucket for Velero
The following map is required by the gke_nodepools map used in the cloudkite's gke module:
Name | Description | Type | Required |
---|---|---|---|
auto_repair | Whether the nodes will be automatically repaired. | bool | yes |
auto_upgrade | Whether the nodes will be automatically upgraded. | bool | yes |
min_node_count | Minimum number of nodes in the NodePool. Must be >=0 and <= max_node_count. | number | yes |
max_node_count | Maximum number of nodes in the NodePool. Must be >= min_node_count. | number | yes |
machine_type | The VM instance type. | string | yes |
disk_size | Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. Defaults to 100GB. | string | yes |
preemptible | A boolean that represents whether or not the underlying node VMs are preemptible. See the official documentation for more information. Defaults to false. | bool | yes |
version | The Kubernetes version on the nodes. Must either be unset or set to the same value as min_master_version on create. Defaults to the default version set by GKE which is not necessarily the latest version. This only affects nodes in the default node pool. While a fuzzy version can be specified, it's recommended that you specify explicit versions as Terraform will see spurious diffs when fuzzy versions are used. See the google_container_engine_versions data source's version_prefix field to approximate fuzzy versions in a Terraform-compatible way. To update nodes in other node pools, use the version attribute on the node pool. | string | yes |
Please see LICENSE for how the code in this repo is licensed.
Copyright © 2019 Cloudkite.io