Skip to content

Latest commit

 

History

History
106 lines (74 loc) · 6.84 KB

README.md

File metadata and controls

106 lines (74 loc) · 6.84 KB

Google Cloud Platform - Networking

GitHub Actions:

Dependabot

Infracost:

infracost

💵 Monthly estimates based on Infracost baseline costs.

📄 Repository Description

This repository manages networking resources like VPC, subnet, DNS, and NAT that can be shared across an organization. It aligns with our Google Cloud landing zone platform design. A landing zone should be a prerequisite to deploying enterprise workloads in a cloud environment.

🏭 Platform Information

Development

Our focus is on the core fundamental practice of platform engineering, Infrastructure as Code.

Open Source Infrastructure (as Code) is a development model for infrastructure that focuses on open collaboration and applying relative lessons learned from software development practices that organizations can use internally at scale. - Open Source Infrastructure (as Code)

To avoid slowing down stream-aligned teams, we want to open up the possibility for contributions. The Open Source Infrastructure (as Code) model allows team members external to the platform team to contribute with only a slight increase in cognitive load. This section is for developers who want to contribute to this repository, describing the tools used, the skills, and the knowledge required, along with Terraform documentation.

See the documentation for setting up a development environment here.

🛠️ Tools

📋 Skills and Knowledge

Links to documentation and other resources required to develop and iterate in this repository successfully.

📓 Terraform Documentation

Providers

Name Version
google 6.14.1

Modules

Name Source Version
datadog github.com/osinfra-io/terraform-datadog-google-integration v0.3.0
helpers github.com/osinfra-io/terraform-core-helpers//root v0.1.2
private_dns github.com/osinfra-io/terraform-google-network//dns v0.2.1
project github.com/osinfra-io/terraform-google-project v0.4.5
public_dns github.com/osinfra-io/terraform-google-network//dns v0.2.1
vpc github.com/osinfra-io/terraform-google-network v0.2.1

Resources

Name Type
google_compute_global_address.service_network_peering_range resource
google_compute_shared_vpc_service_project.this resource
google_dns_record_set.private resource
google_dns_record_set.public resource
google_project_iam_member.container_engine_firewall_management resource
google_project_iam_member.container_engine_service_agent_user resource
google_project_iam_member.dns_records_admins resource
google_service_networking_connection.this resource

Inputs

Name Description Type Default Required
datadog_api_key Datadog API key string n/a yes
datadog_app_key Datadog APP key string n/a yes
datadog_enable Enable Datadog integration bool false no
dns_records_admins The set of service accounts that can administer DNS records in this project set(string) [] no
private_record_sets Private DNS record sets list(object({ name = string rrdatas = list(string) type = string ttl = number })) [] no
project_billing_account The alphanumeric ID of the billing account this project belongs to string "01C550-A2C86B-B8F16B" no
project_cis_2_2_logging_sink_project_id The CIS 2.2 logging sink benchmark project ID string n/a yes
project_folder_id The numeric ID of the folder this project should be created under. Only one of org_id or folder_id may be specified string n/a yes
public_record_sets Private DNS record sets list(object({ name = string rrdatas = list(string) type = string ttl = number })) [] no
vpc_service_projects The map of Kubernetes service project IDs and numbers (The number should only be added if the project is a Kubernetes service project) map(object({ number = optional(number) })) {} no

Outputs

Name Description
project_id The project ID
vpc_name The VPC name

📓 Terraform Regional Documentation