pastures-poc-toolkit

command module
v1.1.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 22, 2024 License: Apache-2.0 Imports: 1 Imported by: 0

README

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 Policy 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.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.

  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
Big
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

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
cmd
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL