Skip to content

GoogleCloudPlatform/pastures-poc-toolkit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Pastures PoC Toolkit

release license

The Pastures Proof of Concept (PoC) utility is used to bootstrap greenfield, production-ready landing zones for use case experimentation on Google Cloud.

demo-gif

Open in Cloud Shell

1. Setup Prerequisites

Google Cloud

  1. Create your Google Cloud Organization
  2. Turn on your Google Cloud Billing Account
  3. Create a free Cloud Identity user e.g. myadmin@example.com within that Google Cloud organization who has the Organization Administrator IAM role.
  4. 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.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"

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.

  1. 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
  1. 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
Large
foundation Generic landing zone from Fabric FAST foundation stage 0 and stage 1 cmd N/A

Blueprints

Name Seed Docs
Data Platform data-cloud Docs

Learn More

About

Google Cloud utility for rapid prototype delivery on production-ready foundations

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors