GithubHelp home page GithubHelp logo

lokeshyadavv / terraform-google-composer Goto Github PK

View Code? Open in Web Editor NEW

This project forked from terraform-google-modules/terraform-google-composer

0.0 0.0 0.0 82 KB

Terraform Module for managing Cloud Composer

License: Apache License 2.0

Ruby 13.86% Makefile 4.50% HCL 81.64%

terraform-google-composer's Introduction

terraform-google-composer

This module makes it easy to create a Cloud Composer Environment. As the module develops, this README should be updated.

The resources/services/activations/deletions that this module will create/trigger are:

  • Create a GCP Composer Environment

Usage

Cloud Composer currently has two versions: V2 has greater flexibility in the Airflow core services (scheduler, webserver, worker) and has a more practical and scalable infrastructure. Therefore, we recommend prioritizing the use of V2 for new environments.

You can find an overview of the product here and the list of major differences.

Simple usage is as follows:

module "composer" {
  source  = "terraform-google-modules/composer/google"
  version = "~> 2.0"

  project_id        = "<PROJECT ID>"
  region            = "us-central1"
  composer_env_name = "composer-env-test"
  network           = "test-network"
  subnetwork        = "composer-subnet"
  enable_private_endpoint = false
}

Functional examples are included in the examples directory.

Inputs

Name Description Type Default Required
composer_env_name Name of Cloud Composer Environment string n/a yes
enable_private_endpoint Configure public access to the cluster endpoint. bool false no
network Network where Cloud Composer is created. string n/a yes
project_id Project ID where Cloud Composer Environment is created. string n/a yes
region Region where the Cloud Composer Environment is created. string n/a yes
subnetwork Subetwork where Cloud Composer is created. string n/a yes
zone Zone where the Cloud Composer Environment is created. string n/a yes

Outputs

Name Description
airflow_uri URI of the Apache Airflow Web UI hosted within the Cloud Composer Environment.
composer_env_id ID of Cloud Composer Environment.
composer_env_name The name of the Cloud Composer Environment.
gcs_bucket Google Cloud Storage bucket which hosts DAGs for the Cloud Composer Environment.
gke_cluster Google Kubernetes Engine cluster used to run the Cloud Composer Environment.

Requirements

These sections describe requirements for using this module.

Software

The following dependencies must be available:

Service Account

A service account with the following roles must be used to provision the resources of this module:

  • Project Editor: roles/editor
  • Network Admin: roles/compute.networkAdmin
  • Instance Admin: roles/compute.instanceAdmin.v1
  • Service Account User: roles/iam.serviceAccountUser
  • Composer Worker: roles/composer.worker

The Project Factory module and the IAM module may be used in combination to provision a service account with the necessary roles applied.

APIs

A project with the following APIs enabled must be used to host the resources of this module:

  • Cloud Composer API: composer.googleapis.com

The Project Factory module can be used to provision a project with the necessary APIs enabled.

Contributing

Refer to the contribution guidelines for information on contributing to this module.

terraform-google-composer's People

Contributors

release-please[bot] avatar cloud-foundation-bot avatar jond3k avatar morgante avatar diegolnasc avatar aabhassharma avatar averbuks avatar g-awmalik avatar bharathkkb avatar kunalkg11 avatar rokity avatar surajb08 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.