Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

README.md

VPC Endpoint Provider Module

Requirements

Name Version
terraform >= 1.10
aws >= 6.10
external >= 2.0
kubernetes >= 2.23

Providers

Name Version
aws >= 6.10
external >= 2.0
kubernetes >= 2.23

Modules

No modules.

Resources

Name Type
aws_vpc_endpoint_service.mpc_nlb_service resource
kubernetes_namespace.mpc_namespace resource
kubernetes_service.mpc_nlb resource
aws_availability_zones.all data source
aws_lb.kubernetes_nlb data source
aws_region.current data source
external_external.nlb_availability_zones data source
external_external.wait_nlb data source
kubernetes_config_map_v1.mpc_party_config data source

Inputs

Name Description Type Default Required
acceptance_required Whether or not VPC endpoint connection requests to the service must be accepted by the service owner bool false no
allowed_principals List of AWS principal ARNs allowed to discover and connect to the endpoint service. Use ['*'] to allow all principals list(string) [] no
create_namespace Whether to create the namespace if it doesn't exist bool true no
default_mpc_ports Default port configurations for MPC services. These can be overridden per service in mpc_services configuration.
object({
grpc = object({
name = string
port = number
target_port = any
protocol = string
})
peer = object({
name = string
port = number
target_port = any
protocol = string
})
metrics = object({
name = string
port = number
target_port = any
protocol = string
})
})
{
"grpc": {
"name": "grpc",
"port": 50100,
"protocol": "TCP",
"target_port": 50100
},
"metrics": {
"name": "metrics",
"port": 9646,
"protocol": "TCP",
"target_port": 9646
},
"peer": {
"name": "peer",
"port": 50001,
"protocol": "TCP",
"target_port": 50001
}
}
no
enable_grpc_port Whether to enable and expose the gRPC port in the load balancer service bool false no
enable_region_validation Whether to enable region validation bool true no
kubernetes_nlb_extra_labels Extra labels to add to the Kubernetes NLB map(string) {} no
lb_additional_labels_selector Additional labels to add to the Kubernetes service load balancer map(string) null no
mainnet_supported_regions AWS regions supported by the VPC endpoint service for mainnet list(string)
[
"eu-central-1"
]
no
namespace Kubernetes namespace where MPC services will be deployed string "kms-decentralized" no
network_environment MPC network environment that determines region constraints string "testnet" no
partner_name Partner name for the MPC service string n/a yes
party_id Party ID for the MPC service string n/a yes
service_create_timeout Timeout for creating Kubernetes services string "10m" no
supported_regions List of AWS regions supported by the VPC endpoint service list(string) [] no
sync_public_bucket Sync public bucket between partners
object({
enabled = optional(bool, true)
configmap_name = optional(string, "mpc-party")
})
{
"configmap_name": "mpc-party",
"enabled": true
}
no
tags A map of tags to assign to the VPC endpoint services map(string) {} no
testnet_supported_regions AWS regions supported by the VPC endpoint service for testnet list(string)
[
"eu-west-1"
]
no

Outputs

Name Description
configuration_for_consumer Configuration for the consumer to use the VPC endpoint service
nlb_details Detailed information about the looked up NLBs
service_details Detailed information about the created VPC endpoint services
vpc_endpoint_service_arn ARNs of the created VPC endpoint services
vpc_endpoint_service_id IDs of the created VPC endpoint services
vpc_endpoint_service_name Service names of the created VPC endpoint services (what consumers use to connect)