cloud-foundation-fabric/data-solutions/data-platform-foundations/infra/tf-phase1
Yoram Ben-Yaacov c53b755684 Adding data-platform-foundations code 2021-05-18 19:30:21 +03:00
..
00_generic_variables.tf Adding data-platform-foundations code 2021-05-18 19:30:21 +03:00
01_services_project.tf Adding data-platform-foundations code 2021-05-18 19:30:21 +03:00
01_services_variables.tf Adding data-platform-foundations code 2021-05-18 19:30:21 +03:00
02_landing_project.tf Adding data-platform-foundations code 2021-05-18 19:30:21 +03:00
02_landing_variables.tf Adding data-platform-foundations code 2021-05-18 19:30:21 +03:00
03_transformation_project.tf Adding data-platform-foundations code 2021-05-18 19:30:21 +03:00
03_transformation_variables.tf Adding data-platform-foundations code 2021-05-18 19:30:21 +03:00
04_dwh_project.tf Adding data-platform-foundations code 2021-05-18 19:30:21 +03:00
04_dwh_variables.tf Adding data-platform-foundations code 2021-05-18 19:30:21 +03:00
05_datamart_project.tf Adding data-platform-foundations code 2021-05-18 19:30:21 +03:00
05_datamart_variables.tf Adding data-platform-foundations code 2021-05-18 19:30:21 +03:00
README.md Adding data-platform-foundations code 2021-05-18 19:30:21 +03:00
main.tf Adding data-platform-foundations code 2021-05-18 19:30:21 +03:00
outputs.tf Adding data-platform-foundations code 2021-05-18 19:30:21 +03:00
versions.tf Adding data-platform-foundations code 2021-05-18 19:30:21 +03:00

README.md

Data Platform Foundations - Phase 1

General

This is the first part deploying the Data Platform foundations. In this part we will create the infrastructure needed for the foundational build. This includes projects and service accounts.

Since this example is intended for the data infra engineers we do expect that an initial organization / folder and service account with owner privileges will be pre-created and provided as variables.

This example assume the next items were already created and provided:

  • Organization / folder
  • Terraform runner Service account with owner permissions on the above organization / folder

This example will create the next projects:

  • Common services
  • Landing
  • Orchestration & Transformation
  • DWH
  • Datamart

A master service account named projects-editor-sa will be created under common services project and will be granted editor permissions on all the projects in scope.

Data Foundation -  Phase 1

Running the example

To create the infrastructure:

  • Specify your variables in a terraform.tvars
billing_account = "BILLING ACCOUNT ID."
parent          = "Parent folder or organization in 'folders/folder_id' or 'organizations/org_id' format."
  • Place the service account key in the terraform folder
  • Go through the following steps to create resources:
terraform init
terraform apply

Once done testing, you can clean up resources by running:

terraform destroy

Requirements

Name Version
terraform >= 0.13

Providers

Name Version
random n/a

Inputs

Name Description Type Default Required
billing_account Billing account id. string n/a
data_service_account_name Name for the projects editor service account. string "projects-editor-sa"
datamart_project_name Project name string "datamart"
dwh_project_name Project name string "dwh"
landing_project_name Project name string "landing"
parent Parent folder or organization in 'folders/folder_id' or 'organizations/org_id' format. string n/a
projects_suffix Project suffix to make resources unique. If no suffix is provided a random suffix will be created string null
services_project_name Project name string "services"
transformation_project_name Project name string "transformation"

Outputs

Name Description
datamart-project Datamart project created.
dwh-project DWH project created.
landing-project Landing project created.
services-project Services project created.
transformation-project Transformation project created.