Files
hunfabric/modules/cloud-config-container/envoy-traffic-director
Ludovico Magnocavallo 789328ff5a Bump provider versions to v5.0.0 (#1724)
* bump provider versions to 5.0.0

* fix cloud run, logging and vpc-sc

* Fix secret manager

* fix gke nodepool

* fix gke multitenant stage and blueprint

* Moving alloydb module to experimental.

* Add project to bare resources in examples

* tfdoc

* fix svpc blueprint test

* Revert "fix svpc blueprint test"

This reverts commit 14f02659098070136e64ead600580dd52c23c339.

* Fix GKE peering project

* Disable tests in alloydb module

* Bring back secret ids in secret manager tests

* Remove duplicate key

* last push

---------

Co-authored-by: Julio Castillo <jccb@google.com>
2023-10-03 12:15:36 +00:00
..
2022-08-24 10:44:05 +02:00
2022-01-01 15:52:31 +01:00
2022-12-10 15:40:15 +01:00

Containerized Envoy Proxy with Traffic Director on Container Optimized OS

This module manages a cloud-config configuration that starts a containerized Envoy Proxy on Container Optimized OS connected to Traffic Director. The default configuration creates a reverse proxy exposed on the node's port 80. Traffic routing policies and management should be managed by other means via Traffic Director.

The generated cloud config is rendered in the cloud_config output, and is meant to be used in instances or instance templates via the user-data metadata.

This module depends on the cos-generic-metadata module being in the parent folder. If you change its location be sure to adjust the source attribute in main.tf.

Examples

Default configuration

module "cos-envoy-td" {
  source = "./fabric/modules/cloud-config-container/envoy-traffic-director"
}

module "vm" {
  source     = "./fabric/modules/compute-vm"
  project_id = "my-project"
  zone       = "europe-west8-b"
  name       = "cos-envoy-td"
  network_interfaces = [{
    network    = "default"
    subnetwork = "gce"
  }]
  metadata = {
    user-data              = module.cos-envoy-td.cloud_config
    google-logging-enabled = true
  }
  boot_disk = {
    image = "projects/cos-cloud/global/images/family/cos-stable"
    type  = "pd-ssd"
    size  = 10
  }
  tags = ["http-server", "ssh"]
}
# tftest modules=1 resources=1

Variables

name description type required default
envoy_image Envoy Proxy container image to use. string "envoyproxy/envoy:v1.15.5"

Outputs

name description sensitive
cloud_config Rendered cloud-config file to be passed as user-data instance metadata.