The Pastures Proof of Concept (PoC) utility is used to bootstrap greenfield, production-ready landing zones for use case experimentation on Google Cloud.
- Create your Google Cloud Organization
- Turn on your Google Cloud Billing Account
- Create a free Cloud Identity user e.g.
myadmin@example.comwithin that Google Cloud organization who has the Organization Administrator IAM role. - Create a Cloud Identity Group e.g.
pastures-groupwhere your user e.g.myadmin@example.comis a member of that group.
Pastures requires the following command line utilities:
Important
1 Cloud Shell installs terraform and gcloud binaries by default, but the terraform binary defaults to an older version that won't work with Pastures. You may quickly override the default terraform binary by copying and pasting these shell commands in your Cloud Shell:
Run the following in your terminal to fix Cloud Shell.
cd ~
curl -O https://releases.hashicorp.com/terraform/1.9.4/terraform_1.9.4_linux_amd64.zip
unzip -o terraform_1.9.4_linux_amd64.zip
sudo mv ./terraform /usr/binInstall the binary to your $PATH of choice. amd64 is currently the only supported build architecture. That means that you can run Pastures on Cloud Shell, Linux, and the Windows Subsystem for Linux. macOS universal binary support is available in the Makefile.
Run the following in your terminal to install Pastures.
BASE_URL=https://github.com/GoogleCloudPlatform/pastures-poc-toolkit
RELEASE_URL=releases/download/v1.1.3/pastures_amd64.tar.gz
sudo wget -q $BASE_URL/$RELEASE_URL -O - | sudo tar -zxf - -C /usr/local/bin
sudo chmod +x /usr/local/bin/pasture
echo -e "\n\033[32mYou are now ready to use Pastures..."
echo -e "`pasture version`\n\033[0m\n"We recommend running this quickstart from a Cloud Shell environment.
Important
Ensure that the user running the CLI e.g. myadmin@example.com is a member of your Cloud Identity group e.g. pasture-group.
- Configure your local Pastures environment by:
- Defining a prefix for resource naming
- Specifying which Cloud Identity group e.g.
pasture-groupwill own the PoC - Specifying your GCP Organization domain
- Specifying your GCP Billing Account
pasture configure \
--prefix example1 \
--group-owner pasture-group \
--domain example.com \
--billing-account ABCDEF-GHIJKL-MNOPQ- Create a pasture by indicating which seed template you'd like to deploy (could take ~15 mins to complete):
pasture create data-cloud \
--region us-central1 \
--pasture-size smallDestruction of a pasture is scoped to the seed template. All resources deployed by pasture or out of band will be deleted. Currently, pasture destroy requires the same paramters inputs that were used with the corresponding pasture create:
pasture destroy data-cloud \
--region us-central1 \
--pasture-size smallSee Known Issues.
Pastures will make every effort to persist environmental state and variable values to a GCS bucket. This supports the ability to run pasture from multiple locations, but demands a rehydration step in order to position the dependencies. Rehydration simply requires authorization with Google and the prefix originally chosen:
pasture configure \
--rehydrate \
--prefix example1Afterwards, you can continue running pasture as your normally would.
| Name | Description | Docs | Est. Price Calculator |
|---|---|---|---|
data-cloud |
Landing zone for data, analytics and generative AI | cmd | Small Large |
foundation |
Generic landing zone from Fabric FAST foundation stage 0 and stage 1 | cmd | N/A |
| Name | Seed | Docs |
|---|---|---|
| Data Platform | data-cloud |
Docs |
