Skip to content

Commit

Permalink
started rabbitmq intergration
Browse files Browse the repository at this point in the history
fix merge versions.tfvars.json issue

update

infrastructure/quick-deploy/localhost/all-in-one/variables.tf : update

update

infrastructure/quick-deploy/localhost/all-in-one/rabbitmq.tf : update

debug

rabbit update

versions.tfvars.json : update rabbit helm repo

infrastructure/quick-deploy/localhost/all-in-one/variables.tf : update rabbit service type

infrastructure/quick-deploy/localhost/all-in-one : update rabbitmq outputs

infrastructure/quick-deploy/localhost/all-in-one/variables.tf : variable rabbitmq update

terraform fmt --recursive
  • Loading branch information
egermaneau-aneo committed Feb 14, 2024
1 parent 5321be3 commit 44d65eb
Show file tree
Hide file tree
Showing 4 changed files with 72 additions and 3 deletions.
10 changes: 10 additions & 0 deletions infrastructure/quick-deploy/localhost/all-in-one/outputs.tf
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,13 @@ output "armonik" {
admin_0_8_url = module.armonik.endpoint_urls.admin_0_8_url
}
}

output "rabbitmq" {
description = "RabbitMQ endpoint URL"
value = {
epmd = "http://${data.external.get_rabbitmq_ip.result.ip}:${data.external.get_rabbitmq_epmd_port.result.port}"
amqp = "http://${data.external.get_rabbitmq_ip.result.ip}:${data.external.get_rabbitmq_amqp_port.result.port}"
dist = "http://${data.external.get_rabbitmq_ip.result.ip}:${data.external.get_rabbitmq_dist_port.result.port}"
stats = "http://${data.external.get_rabbitmq_ip.result.ip}:${data.external.get_rabbitmq_stats_port.result.port}"
}
}
40 changes: 40 additions & 0 deletions infrastructure/quick-deploy/localhost/all-in-one/rabbitmq.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Chaos Mesh
module "rabbitmq" {
count = var.rabbitmq.enable ? 1 : 0
source = "./generated/infra-modules/storage/onpremise/rabbitmq"
namespace = var.rabbitmq.namespace
docker_image = {
rabbitmq = {
image = var.rabbitmq.rabbitmq_image_name
tag = try(coalesce(var.rabbitmq.rabbitmq_image_tag), local.default_tags[var.rabbitmq.rabbitmq_image_name])
}
}
helm_chart_repository = try(coalesce(var.rabbitmq.helm_chart_repository), var.helm_charts.rabbitmq.repository)
helm_chart_version = try(coalesce(var.rabbitmq.helm_chart_verison), var.helm_charts.rabbitmq.version)
service_type = var.rabbitmq.service_type
}

data "external" "get_rabbitmq_epmd_port" {
program = ["sh", "-c", "kubectl get svc rabbitmq -n rabbitmq -o jsonpath='{\"{\"}\"port\": \"{.spec.ports[0].port}\"}'"]
depends_on = [module.rabbitmq]
}

data "external" "get_rabbitmq_amqp_port" {
program = ["sh", "-c", "kubectl get svc rabbitmq -n rabbitmq -o jsonpath='{\"{\"}\"port\": \"{.spec.ports[1].port}\"}'"]
depends_on = [module.rabbitmq]
}

data "external" "get_rabbitmq_dist_port" {
program = ["sh", "-c", "kubectl get svc rabbitmq -n rabbitmq -o jsonpath='{\"{\"}\"port\": \"{.spec.ports[1].port}\"}'"]
depends_on = [module.rabbitmq]
}

data "external" "get_rabbitmq_stats_port" {
program = ["sh", "-c", "kubectl get svc rabbitmq -n rabbitmq -o jsonpath='{\"{\"}\"port\": \"{.spec.ports[2].port}\"}'"]
depends_on = [module.rabbitmq]
}

data "external" "get_rabbitmq_ip" {
program = ["sh", "-c", "kubectl get svc rabbitmq -n rabbitmq -o jsonpath='{\"{\"}\"ip\": \"{.spec.clusterIP}\"}'"]
depends_on = [module.rabbitmq]
}
17 changes: 17 additions & 0 deletions infrastructure/quick-deploy/localhost/all-in-one/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,23 @@ variable "activemq" {
default = {}
}

# Parameters for RabbitMQ
variable "rabbitmq" {
description = "Parameters of RabbitMQ"
type = object({
enable = optional(bool, true)
namespace = optional(string, "rabbitmq")
rabbitmq_image_name = optional(string, "rabbitmq")
rabbitmq_image_tag = optional(string)
node_selector = optional(any, {})
image_pull_secrets = optional(string, "")
helm_chart_repository = optional(string)
helm_chart_version = optional(string)
service_type = optional(string, "ClusterIP") # seems can be ClusterIP or NodePort only
})
default = {}
}

# Parameters for MongoDB
variable "mongodb" {
description = "Parameters of MongoDB"
Expand Down
8 changes: 5 additions & 3 deletions versions.tfvars.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"armonik_versions": {
"armonik": "2.18.2",
"infra": "main",
"infra": "EGE/rabbitmq",
"core": "0.20.5",
"api": "3.15.1",
"gui": "0.11.4",
Expand Down Expand Up @@ -61,13 +61,15 @@
"fluent/fluent-bit": "2.1.7",
"rtsp/mongosh": "1.10.1",
"nginxinc/nginx-unprivileged": "1.25.1-alpine-slim",
"datalust/seqcli": "2023.2"
"datalust/seqcli": "2023.2",
"rabbitmq": "management-alpine"
},
"helm_charts" : {
"keda" : { "repository" : "https://kedacore.github.io/charts" , "version" : "2.9.4"},
"metrics_server" : { "repository" : "https://kubernetes-sigs.github.io/metrics-server/" , "version" :"3.8.3"},
"cluster_autoscaler" : {"repository" : "https://kubernetes.github.io/autoscaler" , "version" : "9.24.0"},
"termination_handler" : {"repository" : "https://aws.github.io/eks-charts" , "version" : "0.21.0" },
"efs_csi_driver" : { "repository" :"https://kubernetes-sigs.github.io/aws-efs-csi-driver/" , "version": "2.3.0" }
"efs_csi_driver" : { "repository" :"https://kubernetes-sigs.github.io/aws-efs-csi-driver/" , "version": "2.3.0" },
"rabbitmq" : { "repository" : "https://charts.helm.sh/stable" , "version" : "6.18.2"}
}
}

0 comments on commit 44d65eb

Please sign in to comment.