Skip to content
This repository has been archived by the owner on Aug 25, 2023. It is now read-only.

Latest commit

 

History

History
68 lines (53 loc) · 5.51 KB

File metadata and controls

68 lines (53 loc) · 5.51 KB

Terraform Ambassador Endpoints

Create the necessary CRDs to serve a service via Ambassador using Terraform.

Each "instance" of this module will create a single Host, Mapping, optional TLSContext and an optional TLSContext for Mapping TLS origination. This greatly simplifies the module.

If your service serves multiple hosts, create multiple instances of this module with for_each.

Requirements

Name Version
terraform >= 0.14.8
kubernetes >= 2.6

Providers

Name Version
kubernetes >= 2.6

Modules

No modules.

Resources

Name Type
kubernetes_manifest.host resource
kubernetes_manifest.mapping resource
kubernetes_manifest.tls_origination resource
kubernetes_manifest.tlscontext resource

Inputs

Name Description Type Default Required
acme_provider ACME Provider configuration if TLS is enabled map
{
"authority": "None"
}
no
ambassador_id Ambassador ID to create CRDs for list
[
"default"
]
no
host_annotations Annotations for host map {} no
host_labels Labels for host map
{
"app.kubernetes.io/managed-by": "Terraform"
}
no
host_spec Additional specifications for host map {} no
hostname Hostname for the endpoint any n/a yes
insecure_request_policy Request policy of insecure requests map
{
"action": "Redirect",
"additionalPort": 8080
}
no
mapping_annotations Annotations for mapping map {} no
mapping_labels Labels for mapping map
{
"app.kubernetes.io/managed-by": "Terraform"
}
no
mapping_spec Additional specifications for mapping, like resolver map {} no
name Base name of CRD resources any n/a yes
namespace Namespace to create resources in string "default" no
prefix Path prefix for the mapping string "/" no
service Name of the service to map the host to, using the specified resolver string n/a yes
tls_enabled Enable TLS bool false no
tls_original_secret Name of the secret for TLS origination string "" no
tls_origination_annotations Annotations for TLSContext for TLS origination map {} no
tls_origination_enable Enable TLS Origination for the Mapping bool false no
tls_origination_labels Labels for TLSContext for TLS origination map
{
"app.kubernetes.io/managed-by": "Terraform"
}
no
tls_origination_name Name of the TLSContext created for TLS Origination. Defaults to var.name suffixed with -orig string "" no
tls_origination_spec Additional spec for the TLSContext used in TLS origination map {} no
tls_secret_name TLS Secret name any null no
tlscontext_annotations Annotations for tlscontext map {} no
tlscontext_labels Labels for tlscontext map
{
"app.kubernetes.io/managed-by": "Terraform"
}
no
tlscontext_spec Additional specifications for TLSContext map
{
"alpn_protocols": "h2, http/1.1",
"min_tls_version": "v1.2"
}
no

Outputs

No outputs.