Code Monkey home page Code Monkey logo

mollypi / rad-lab Goto Github PK

View Code? Open in Web Editor NEW

This project forked from googlecloudplatform/rad-lab

0.0 0.0 0.0 1.44 MB

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.

License: Apache License 2.0

HCL 47.43% Python 44.99% Shell 6.26% Smarty 0.91% Dockerfile 0.40%

rad-lab's Introduction

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 & would be able to view the organization via roles/iam.organizationRoleViewer IAM roles 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.

rad-lab's People

Contributors

guptamukul-google avatar debakkerb avatar hradhakrishnan avatar hnawar avatar agussman avatar floosey avatar proppy avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.