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.
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.