Skip to content

Latest commit

 

History

History
51 lines (29 loc) · 3.46 KB

README.md

File metadata and controls

51 lines (29 loc) · 3.46 KB

RAD Lab

RAD Lab enables users to deploy infrastructure on Google Cloud Platform (GCP) to support specific use cases. Infrastructure is created and managed through Terraform in conjunction with support scripts written in Python. The templates, code, and documentation for each use case are bundled into modules.

Each module comes with an initial sample configuration that can be deployed via the RAD Lab Launcher. Teams with experience in Terraform can use the Terraform modules in the /modules-directory directly, to integrate the codebase with their existing CI/CD infrastructure.

For any issues, please create an issue in the Issue tracker of the repository, following the provided templates.

Disclaimer

This is not an officially supported Google product

Quick Start

To create a module in an existing GCP environment, please click on the “Open In Cloud Shell” button. This will clone the entire repository to Cloud Shell and automatically select the main-branch.

Open in Cloud Shell

Prerequisites

Users can run installer_prereq.py included in the radlab-launcher directory to validate these prerequisites and install any missing dependencies.

RAD Lab Launcher

An installation script is included to enable users without prior cloud or Terraform experience to explore the advantages of GCP. The deployment wizard will create the necessary infrastructure for each module. More instructions on the launcher can be found here.

Modules

The modules directory contains Terraform modules that can be integrated in existing CI/CD pipelines. We recommend creating a fork from this repository and use that as part of your overall workflow to create infrastructure. While we will make an effort to provide backwards compatibility, we cannot guarantee it with every release.

Permissions

Each module will list the minimum IAM permissions users require to successfully create the infrastructure.

Additional permissions are required when creating a new Project as part of the deployment. The user will need access to a billing account via the roles/billing.user IAM role and permission to create the Project under the parent Organization or Folder.

Repository Structure

The repository has the following structure:

  • /docs: General documentation about the repository and how to use it.
  • /modules: Customisable, reusable Terraform modules to create GCP infrastructure & supporting scripts.
  • /radlab-launcher: RAD Lab Launcher and associated scripts to support the modules.
  • /tools: Automation tools to generate the necessary documentation and license checks.

Contributing

We welcome all contributions! Please read CONTRIBUTING.md for more information on how to publish your contributions.