osinfra-io / google-cloud-kubernetes

Infrastructure as Code (IaC) example for Google Cloud Platform Kubernetes resources.
https://www.osinfra.io
GNU General Public License v2.0
1 stars 0 forks source link
google-cloud-kubernetes-platform google-cloud-platform infrastructure-as-code kubernetes osinfra platform-team terraform

Google Cloud Platform - Kubernetes

GitHub Actions:

Dependabot

Infracost:

infracost

πŸ“„ Repository Description

This repository manages Kubernetes resources.

🏭 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

Requirements

No requirements.

Providers

No providers.

Modules

Name Source Version
datadog github.com/osinfra-io/terraform-datadog-google-integration v0.3.0
kubernetes_engine github.com/osinfra-io/terraform-google-kubernetes-engine main
kubernetes_istio github.com/osinfra-io/terraform-kubernetes-istio main
project github.com/osinfra-io/terraform-google-project v0.4.0

Resources

No resources.

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
environment The environment for example: sandbox, non-production, production string "sandbox" no
kubernetes_engine_namespaces A map of namespaces with the Google service account used for the namespace administrator and whether Istio injection is enabled or disabled
map(object({
google_service_account = string
istio_injection = optional(string, "disabled")
}))
{} no
kubernetes_istio_gateway_dns Map of attributes for the Istio gateway domain names, it is also used to create the managed certificate resource
map(object({
managed_zone = string
project = string
}))
{} 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
project_monthly_budget_amount The monthly budget amount in USD to set for the project number 5 no

Outputs

Name Description
kubernetes_engine_container_deployer_service_accounts The service accounts for the container deployer
kubernetes_engine_workload_identity_service_account_emails The email addresses of the service accounts for the Kubernetes namespace workload identity
kubernetes_istio_gateway_mci_global_address The IP address for the Istio Gateway multi-cluster ingress
kubernetes_istio_gateway_mci_ssl_certificate_name The name of the SSL certificate for the Istio Gateway multi-cluster ingress
project_id The project ID
project_number The project number

πŸ““ Terraform Regional Documentation