Terraform module which deploys MySQL service on AWS.
- Support standalone and replication(for high availability).
module "mysql" {
source = "..."
infrastructure = {
vpc_id = "..."
domain_suffix = "..."
}
architecture = "replication"
engine_version = "8.0" # https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Concepts.VersionMgmt.html
}
Please read our contributing guide if you're interested in contributing to Walrus template.
Name | Version |
---|---|
terraform | >= 1.0 |
aws | >= 5.24.0 |
random | >= 3.5.1 |
Name | Version |
---|---|
aws | >= 5.24.0 |
random | >= 3.5.1 |
No modules.
Name | Type |
---|---|
aws_db_instance.primary | resource |
aws_db_instance.secondary | resource |
aws_db_parameter_group.target | resource |
aws_db_subnet_group.target | resource |
aws_security_group.target | resource |
aws_security_group_rule.target | resource |
aws_service_discovery_instance.primay | resource |
aws_service_discovery_instance.secondary | resource |
aws_service_discovery_service.primary | resource |
aws_service_discovery_service.secondary | resource |
random_password.password | resource |
random_string.name_suffix | resource |
aws_kms_key.selected | data source |
aws_service_discovery_dns_namespace.selected | data source |
aws_subnets.selected | data source |
aws_vpc.selected | data source |
Name | Description | Type | Default | Required |
---|---|---|---|---|
context | Receive contextual information. When Walrus deploys, Walrus will inject specific contextual information into this field. Examples: context: |
map(any) |
{} |
no |
infrastructure | Specify the infrastructure information for deploying. Examples: infrastructure: |
object({ |
n/a | yes |
architecture | Specify the deployment architecture, select from standalone or replication. | string |
"standalone" |
no |
engine_version | Specify the deployment engine version, select from https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Concepts.VersionMgmt.html. | string |
"8.0" |
no |
engine_parameters | Specify the deployment engine parameters, select for https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MySQL.Parameters.html. | list(object({ |
null |
no |
database | Specify the database name. | string |
"mydb" |
no |
username | Specify the account username, ref to https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.KnownIssuesAndLimitations.html#MySQL.Concepts.KnownIssuesAndLimitations.KillProcedures. | string |
"rdsuser" |
no |
password | Specify the account password, ref to https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints. | string |
null |
no |
resources | Specify the computing resources. Examples: resources: |
object({ |
{ |
no |
storage | Specify the storage resources. Examples: storage: |
object({ |
{ |
no |
Name | Description |
---|---|
context | The input context, a map, which is used for orchestration. |
selector | The selector, a map, which is used for dependencies or collaborations. |
endpoint_internal | The internal endpoints, a string list, which are used for internal access. |
endpoint_internal_readonly | The internal readonly endpoints, a string list, which are used for internal readonly access. |
database | The name of database to access. |
username | The username of the account to access the database. |
password | The password of the account to access the database. |
Copyright (c) 2023 Seal, Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at LICENSE file for details.
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.