kong-gateway
dwp/kong-gateway/aws
terraform-aws-kong-gateway Terraform module for provisioning Kong Gateway in AWS on either ECS or EC2. The module will also, optionally, create an RDS database cluster, subnets, and security groups. The cloud-init script (Amazon Linux and Ubunutu) will install either Kong community or enterprise edition (depending on ee_creds_ssm_param variable value) The module can deploy Kong Gateway in several ways: - Embedded - Hybrid Control Plane - Hybrid Data Plane :warning: The module is currently only tested for Hybrid control planes and data planes. Use of embedded has not been tested. Status Maturing - Some scenarios tested, but not all. Module in use, but only for a limited number of configurations. Looking for more consumers to raise issues they find with additional scenarios. Examples Example
| Name | Type | Description | Default |
|---|---|---|---|
| vpc_cidr_block | string | The CIDR block in use by the kong vpc | required |
| deployment_type | string | Define the deployment type of either `ec2` or `ecs` | required |
| region | string | The aws region to access the SSM config items | required |
| kong_database_config | object({ name = string | (Optional) Configuration for the kong database | {
"name": "kong",
"password": null,
|
| root_block_size | number | (Optional) The size of the root block device to attach to each instance | 20 |
| rules_with_source_security_groups | map(object({ type | (Optional) Security rules for the Kong instance that have another security group | {} |
| health_check_grace_period | number | (Optional) Time (in seconds) after instance comes into service before checking h | 300 |
| kong_ssl_uris | object({ protocol | (Optional) Object containing the ssl uris for kong, e.g. load balancer dns names | {
"admin_api_uri": "http://localhost:8 |
| min_healthy_percentage | number | (Optional) The minimum percentage of healthy instances in Auto Scaling Group dur | 30 |
| associate_public_ip_address | bool | (Optional) Should our instances be given public IP addresses | false |
| kong_clear_database | bool | (Optional) If set to true then the database contents will be replaced when contr | false |
| ssl_cert | string | (Optional) Secrets Manager or Parameter Store ARN of the Certificate used to sec | null |
| clustering_endpoint | string | (Optional) Address of the control plane node from which configuration updates wi | null |
| security_group_ids | list(string) | (Optional) A list of security group ID's to associate with the instances | [] |
| tags_asg | map(string) | (Optional) Tags to apply to Auto Scaling Group resources | {} |
| access_log_format | string | (Optional) Log location and format to be defined for the access logs | "logs/access.log" |
| kong_major_version | number | (Optional) Used to define which Kong major version to use | 2 |
| lua_ssl_cert | string | (Optional) Secrets Manager or Parameter Store ARN of the Certificate used for Lu | null |
| kong_admin_gui_url | string | (Optional) The Admin GUI URL of the Kong Manager. | "" |
| ami_operating_system | string | (Optional) Operating system present on supplied `ami_id` AMI. Supported values a | "ubuntu" |
| tags | map(string) | (Optional) Tags to apply to AWS resources, except Auto Scaling Group | {} |
| min_capacity | number | (Optional) Minimum Capacity for the Gateway ECS Task Definition | 1 |
| log_group | string | (Optional) The Log Group for ECS to report out to | null |
| … and 10 more inputs | |||
security_groups — List of Security Groups used by Kong.ecs_task_definition_outputs — Full resource details for the ECS Task definitiondb_outputs — The DNS address and database name of the RDS instance, and security group ID from the database modullaunch_template_outputs — Full `aws_launch_template` resource details for the launch configuration created for Kong.private_subnet_azs — List of availability zones used for the private subnets, either supplied in the optional `supplied iprivate_subnet_ids — List of private subnet IDs. These are either supplied in the optional `private_subnets` input variabkong_iam_role — IAM Role used by the ECS Task for the Gatewayecs_service_outputs — Full resource details for the ECS Serviceasg_outputs — Full `aws_autoscaling_group` resource details for the autoscaling group created for Kong.A batteries included cloud-init config to quickly and easily deploy a single Doc
Terraform module to create VPC resource on AWS.
Terraform module to create default S3 bucket with logging and encryption type sp
This terraform module is used to create ECR on AWS.