Refacto and add modules
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
locals {
|
||||
app_slug = "${var.instance}${var.component == "" ? "" : "-"}${var.component}"
|
||||
mysql_labels = merge(var.labels, {
|
||||
"app.kubernetes.io/component" = "mysql"
|
||||
})
|
||||
app_slug = "${var.instance}${var.component == "" ? "" : "-"}${var.component}"
|
||||
mysql_host = "${local.app_slug}-mysql.${var.namespace}.svc"
|
||||
mysql_username = data.kubernetes_secret_v1.mysql_secret.data["rootUser"]
|
||||
mysql_password = data.kubernetes_secret_v1.mysql_secret.data["rootPassword"]
|
||||
@@ -36,12 +36,12 @@ data "kubernetes_secret_v1" "mysql_secret" {
|
||||
metadata {
|
||||
name = "${local.app_slug}-mysql"
|
||||
namespace = var.namespace
|
||||
labels = local.mysql_labels
|
||||
labels = local.mysql_labels
|
||||
}
|
||||
}
|
||||
|
||||
resource "kubectl_manifest" "mysql" {
|
||||
yaml_body = <<-EOF
|
||||
yaml_body = <<-EOF
|
||||
apiVersion: mysql.oracle.com/v2
|
||||
kind: InnoDBCluster
|
||||
metadata:
|
||||
@@ -66,7 +66,7 @@ resource "kubectl_manifest" "mysql" {
|
||||
}
|
||||
|
||||
resource "time_sleep" "wait_mysql_ready" {
|
||||
depends_on = [kubectl_manifest.mysql]
|
||||
depends_on = [kubectl_manifest.mysql]
|
||||
create_duration = "45s"
|
||||
}
|
||||
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
output "dns_names" {
|
||||
value = [
|
||||
"${local.app_slug}-mysql",
|
||||
"${local.app_slug}-mysql-instances"
|
||||
]
|
||||
output "conn_string" {
|
||||
value = "mysql://${urlencode(data.kubernetes_secret_v1.mysql_secret.data["username"])}:${urlencode(data.kubernetes_secret_v1.mysql_secret.data["password"])}@${local.app_slug}-mysql.${var.namespace}.svc:3306/${var.database}"
|
||||
}
|
||||
output "mysql_host" {
|
||||
value =" ${local.app_slug}-mysql"
|
||||
|
||||
output "service" {
|
||||
value = "${local.app_slug}-mysql.${var.namespace}.svc"
|
||||
}
|
||||
|
||||
output "host" {
|
||||
value = "${local.app_slug}-mysql"
|
||||
}
|
||||
|
||||
output "secret_name" {
|
||||
value = "${local.app_slug}-db"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
terraform {
|
||||
required_providers {
|
||||
kubectl = {
|
||||
source = "gavinbunney/kubectl"
|
||||
version = "~> 1.14.0"
|
||||
source = "gavinbunney/kubectl"
|
||||
version = "~> 1.14.0"
|
||||
}
|
||||
mysql = {
|
||||
source = "TakatoHano/mysql"
|
||||
source = "TakatoHano/mysql"
|
||||
version = "1.2.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user