@@ -17,23 +17,42 @@ This module allows you to easily deploy a MySQL database on Kubernetes using Hel
1717## Usage Example
1818
1919``` hcl
20+ module "aws" {
21+ source = "squareops/mysql/kubernetes//provider/aws"
22+ cluster_name = "prod-eks"
23+ environment = "prod"
24+ name = "mysql"
25+ store_password_to_secret_manager = true
26+ mysqldb_custom_credentials_enabled = true
27+ mysqldb_custom_credentials_config = {
28+ root_user = "root"
29+ root_password = "RJDRIFsYC8ZS1WQuV0ps"
30+ custom_username = "admin"
31+ custom_user_password = "NCPFUKEMd7rrWuvMAa73"
32+ replication_user = "replicator"
33+ replication_password = "nvAHhm1uGQNYWVw6ZyAH"
34+ exporter_user = "mysqld_exporter"
35+ exporter_password = "ZawhvpueAehRdKFlbjaq"
36+ }
37+ custom_user_username = local.mysqldb_custom_credentials_enabled ? "" : local.custom_user_username
38+ }
39+
2040module "mysql" {
21- source = "squareops/mysql/kubernetes"
22- cluster_name = "dev-cluster"
41+ source = "squareops/mysql/kubernetes"
2342 mysqldb_config = {
2443 name = "mysql"
25- values_yaml = ""
44+ values_yaml = file("./helm/values.yaml")
2645 environment = "prod"
2746 architecture = "replication"
2847 storage_class_name = "gp3"
29- custom_user_username = "admin"
48+ custom_user_username = local.mysqldb_custom_credentials_enabled ? "" : local.custom_user_username
3049 primary_db_volume_size = "10Gi"
3150 secondary_db_volume_size = "10Gi"
3251 secondary_db_replica_count = 2
3352 store_password_to_secret_manager = true
3453 }
3554 mysqldb_custom_credentials_enabled = true
36- mysqldb_custom_credentials_config = {
55+ mysqldb_custom_credentials_config = {
3756 root_user = "root"
3857 root_password = "RJDRIFsYC8ZS1WQuV0ps"
3958 custom_username = "admin"
@@ -43,22 +62,28 @@ module "mysql" {
4362 exporter_user = "mysqld_exporter"
4463 exporter_password = "ZawhvpueAehRdKFlbjaq"
4564 }
46- mysqldb_backup_enabled = true
65+ root_password = local.mysqldb_custom_credentials_enabled ? "" : module.aws.root_password
66+ metric_exporter_pasword = local.mysqldb_custom_credentials_enabled ? "" : module.aws.metric_exporter_pasword
67+ mysqldb_replication_user_password = local.mysqldb_custom_credentials_enabled ? "" : module.aws.mysqldb_replication_user_password
68+ custom_user_password = local.mysqldb_custom_credentials_enabled ? "" : module.aws.custom_user_password
69+ bucket_provider_type = "s3"
70+ iam_role_arn_backup = module.aws.iam_role_arn_backup
71+ mysqldb_backup_enabled = true
4772 mysqldb_backup_config = {
48- bucket_uri = ""
73+ bucket_uri = "s3://bucket_name "
4974 s3_bucket_region = ""
50- cron_for_full_backup = "* * * * *"
75+ cron_for_full_backup = "*/5 * * * *"
5176 }
5277 mysqldb_restore_enabled = true
78+ iam_role_arn_restore = module.aws.iam_role_arn_restore
5379 mysqldb_restore_config = {
54- bucket_uri = ""
55- file_name = ""
80+ bucket_uri = "s3://bucket_name/mysqldump_20230710_120501.zip "
81+ file_name = "mysqldump_20230710_120501.zip "
5682 s3_bucket_region = ""
5783 }
5884 mysqldb_exporter_enabled = true
5985}
6086
61-
6287```
6388- Refer [ AWS examples] ( https://github.com/squareops/terraform-kubernetes-mysql/tree/main/examples/complete/aws ) for more details.
6489- Refer [ Azure examples] ( https://github.com/squareops/terraform-kubernetes-mysql/tree/main/examples/complete/azure ) for more details.
0 commit comments