graphprotocol / mission-control-indexer

Technical indexer documentation and infrastructure templates for the Mission Control testnet
21 stars 4 forks source link

Terraform: Allow to configure several parameters #112

Closed linki closed 4 years ago

linki commented 4 years ago

This allows to configure several Terraform parameters. Contains the same changes as done on the Indexer repository: https://github.com/graphprotocol/indexer/pull/35

All parameters default to the current hard-coded values.

Release channel: This adds a variable to specify the release channel of the Kubernetes cluster.

Release channels keep the cluster updated automatically based on a configurable frequency, such as rapid, regular and stable: https://cloud.google.com/kubernetes-engine/docs/concepts/release-channels

The previous config didn't use release channels and that's also the default in this PR. This currently maps to 1.15.

However, 1.15 matches the version in the "STABLE" release channel and we could think about making it the default. The update is in-place and doesn't require any node replacements.

Preemptible

Allows spinning up preemptible nodes on GKE.

Disk size

Allows to reduce or increase worker nodes' boot disk size.

Secure boot is turned off by default but there's really no harm in using it: https://cloud.google.com/kubernetes-engine/docs/how-to/shielded-gke-nodes#secure_boot

It defauts to false so that people have to opt-in since it replaces all nodes.

Image Type: This allows to switch the VM image for worker nodes away from the default ContainerOS.

We use it to switch to "COS_CONTAINERD" which is COS using containerd instead of docker.

Other people might want to use Ubuntu workers.

All options can be seen here: https://cloud.google.com/kubernetes-engine/docs/concepts/node-images#available_node_images

Defaults to the current value.