Google Cloud Provider ===================== Initial zbuilder setup ---------------------- Make sure you have installed the following on your system: * gcloud (Google Cloud SDK) Main configuration ------------------ Configure the source of your templates:: zbuilder config main templates repo=https://github.com/hasiotis/zbuilder-templates.git zbuilder config main templates path=~/.config/zbuilder/templates zbuilder config update --yes Create google resources needed ------------------------------ First you need to create a gcp project in order to create your service account and auth key:: gcloud projects create zbuilder-demo --name="ZBUILDER demo" Create the service account and the auth key:: gcloud iam service-accounts create zbuilder-account --project zbuilder-demo --display-name ZBuilder gcloud iam service-accounts keys create ~/.config/zbuilder/zbuilder-key.json --iam-account=zbuilder-account@zbuilder-demo.iam.gserviceaccount.com gcloud projects add-iam-policy-binding zbuilder-demo --member serviceAccount:zbuilder-account@zbuilder-demo.iam.gserviceaccount.com --role roles/compute.admin gcloud projects add-iam-policy-binding zbuilder-demo --member serviceAccount:zbuilder-account@zbuilder-demo.iam.gserviceaccount.com --role roles/dns.admin Create a dns zone to be managed by zbuilder:: gcloud dns managed-zones create gcp-hasiotis-dev --project zbuilder-demo --dns-name gcp.hasiotis.dev. --description "ZBuilder managed gcp zone" Provider configuration ---------------------- Define *google* as a provider of type gcp:: zbuilder config provider google type=gcp zbuilder config provider google service-key=zbuilder-key.json Let zbuilder know that google provider will also handle the *gcp.hasiotis.dev* zone:: zbuilder config provider google.dns zones=gcp.hasiotis.dev zbuilder config provider google.dns project=zbuilder-demo zbuilder config view For this to work you need to have your dns zone managed by google cloud DNS. Create your environment ----------------------- Now create and environment from a vagrant template:: mkdir ZBUILDER_GCP_DEMO cd ZBUILDER_GCP_DEMO zbuilder init --template gcp zbuilder build Cleanup the environment ----------------------- To remove all VMs run:: zbuilder destroy