cloud-foundation-fabric/modules/cloud-config-container/nginx-tls
Ludovico Magnocavallo 6941313c7d
Factories refactor (#1843)
* factories refactor doc

* Adds file schema and filesystem organization

* Update 20231106-factories.md

* move factories out of blueprints and create new factories  README

* align factory in billing-account module

* align factory in dataplex-datascan module

* align factory in billing-account module

* align factory in net-firewall-policy module

* align factory in dns-response-policy module

* align factory in net-vpc-firewall module

* align factory in net-vpc module

* align factory variable names in FAST

* remove decentralized firewall blueprint

* bump terraform version

* bump module versions

* update top-level READMEs

* move project factory to modules

* fix variable names and tests

* tfdoc

* remove changelog link

* add project factory to top-level README

* fix cludrun eventarc diff

* fix README

* fix cludrun eventarc diff

---------

Co-authored-by: Simone Ruffilli <sruffilli@google.com>
2024-02-26 10:16:52 +00:00
..
assets versions.tf maintenance + copyright notice bump (#1782) 2023-10-20 18:17:47 +02:00
README.md Fixes related to boot_disk in compute-vm module 2023-03-16 15:58:39 +01:00
outputs.tf Assorted module fixes (#1045) 2022-12-10 15:40:15 +01:00
variables.tf Assorted module fixes (#1045) 2022-12-10 15:40:15 +01:00
versions.tf Factories refactor (#1843) 2024-02-26 10:16:52 +00:00

README.md

Containerized Nginx with self-signed TLS on Container Optimized OS

This module manages a cloud-config configuration that starts a containerized Nginx with a self-signed TLS cert on Container Optimized OS. This can be useful if you need quickly a VM or instance group answering HTTPS for prototyping.

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.

Example

module "cos-nginx-tls" {
  source = "./fabric/modules/cloud-config-container/nginx-tls"
}

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

Variables

name description type required default
files Map of extra files to create on the instance, path as key. Owner and permissions will use defaults if null. map(object({…})) {}
hello Behave like the nginx hello image by returning plain text informative responses. bool true
image Nginx container image to use. string "nginx:1.23.1"

Outputs

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