The Pastures Proof of Concept (PoC) utility is used to bootstrap greenfield, production-ready landing zones for use case experimentation on Google Cloud.
1. Setup Prerequisites
Google Cloud
- Create your Google Cloud Organization
- Turn on your Google Cloud Billing Account
- Create a free Cloud Identity user e.g.
myadmin@example.com
within that Google Cloud organization who has the Organization Policy Administrator IAM role.
- Create a Cloud Identity Group e.g.
pastures-group
where your user e.g. myadmin@example.com
is a member of that group.
Command Line
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/bin
2. Install Pastures CLI
Install 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.4/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"
3. Execute Data Cloud Quickstart
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-group
will 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 small
4. Cleanup
Destruction 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 small
Known Issues
See Known Issues.
State
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 example1
Afterwards, you can continue running pasture
as your normally would.
Pasture Templates
Name |
Description |
Docs |
Est. Price Calculator |
data-cloud |
Landing zone for data, analytics and generative AI |
cmd |
Small Big |
foundation |
Generic landing zone from Fabric FAST foundation stage 0 and stage 1 |
cmd |
N/A |
Blueprints
Learn More