Skip to content

HelgeGehring/rad-lab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 bunded into modules.

Each module comes with an initial sample configuration that can be deployed via the installation script. 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-installer scripts directory to validate these prerequisites and install any missing dependencies. If running via Cloud Shell, the above prerequisites will all be pre-installed.

Installer

An installation script is included to enable users without prior cloud or Terraform experience to explore the advantages of GCP. The installation wizard will create the necessary infrastructure for each module. More instructions on the installer 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.
  • /scripts: RAD Lab Installer and additional 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.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 55.6%
  • HCL 37.0%
  • Shell 6.1%
  • Smarty 1.3%