- Google cloud SDK
- gcloud utility is set to proper account and authorized
- Terraform 1.0.2
To change config use terraform.tfvars.json
from root directory of project
Settings are:
project_id
- name of GCP projectzone
- GCP zoneregion
- GCP regionmachine_type
- GSC image typeboot_disk_images
- OS type of your VM instance. Now one or several of the following allowed:"ubuntu-os-cloud/ubuntu-2010", "debian-cloud/debian-10", "centos-cloud/centos-stream-8"
. Number of instances calculates from length of this list. For example ifboot_disk_images = ["ubuntu-os-cloud/ubuntu-2010", "debian-cloud/debian-10", "centos-cloud/centos-stream-8"]
then 3 VMs with specified OS will be createdpublic_key_path
- path to your public ssh keyprivate_key_path
- path to your private ssh key (is needed for postprovision VMs)remote_user
- remote user name you want to useremote_dir
- directory, where postprovision script will be placed remotelyzsh
- install ZSH and use instead of Bashterraform
- install Terraformterraform_version
- Terraform version to install (for example"1.0.2"
), use it withterraform = true
settingansible
- install Ansiblekubectl
- install Kubectljq
- install jqhelm
- install Helmsops
- install SOPSsops_version
SOPS version to install (for example"3.7.1"
), use it withsops = true
settingk9s
- install K9S
I used quickzsh in my scripts