Skip to content

Commit

Permalink
feat: enhance ogmios bootstrap (#80)
Browse files Browse the repository at this point in the history
- add extra_annotations for proxy service
- refactor proxy variables
- fix missing image_pull_secret
- condition monitoring because it can be hosted

Signed-off-by: Ales Verbic <[email protected]>
  • Loading branch information
verbotenj authored Feb 27, 2025
1 parent cbaf051 commit 68a1887
Show file tree
Hide file tree
Showing 4 changed files with 74 additions and 37 deletions.
51 changes: 28 additions & 23 deletions bootstrap/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -27,32 +27,35 @@ module "ogmios_v1_feature" {
}

module "ogmios_v1_proxy" {
depends_on = [kubernetes_namespace.namespace]
source = "./proxy"
namespace = var.namespace
replicas = var.proxy_blue_replicas
proxy_image_tag = var.proxy_blue_image_tag
extension_name = var.extension_name
networks = var.networks
cloud_provider = var.cloud_provider
dns_zone = var.dns_zone
cluster_issuer = var.cluster_issuer
name = "proxy"
depends_on = [kubernetes_namespace.namespace]
source = "./proxy"
cloud_provider = var.cloud_provider
cluster_issuer = var.cluster_issuer
dns_zone = var.dns_zone
environment = var.proxy_blue_environment
extension_name = var.extension_name
extra_annotations = var.proxy_blue_extra_annotations
name = var.proxy_blue_name
namespace = var.namespace
networks = var.networks
proxy_image_tag = var.proxy_blue_image_tag
replicas = var.proxy_blue_replicas
}

module "ogmios_v1_proxy_green" {
depends_on = [kubernetes_namespace.namespace]
source = "./proxy"
namespace = var.namespace
replicas = var.proxy_green_replicas
proxy_image_tag = var.proxy_green_image_tag
extension_name = var.extension_name
networks = ["mainnet", "preprod", "preview", "vector-testnet"]
environment = "green"
cloud_provider = var.cloud_provider
dns_zone = var.dns_zone
cluster_issuer = var.cluster_issuer
name = "proxy-green"
depends_on = [kubernetes_namespace.namespace]
source = "./proxy"
cloud_provider = var.cloud_provider
cluster_issuer = var.cluster_issuer
dns_zone = var.dns_zone
environment = var.proxy_green_environment
extension_name = var.extension_name
extra_annotations = var.proxy_green_extra_annotations
name = var.proxy_green_name
namespace = var.namespace
networks = var.networks
proxy_image_tag = var.proxy_green_image_tag
replicas = var.proxy_green_replicas
}

// mainnet
Expand Down Expand Up @@ -113,5 +116,7 @@ module "ogmios_services" {
module "ogmios_monitoring" {
source = "./monitoring"

for_each = var.o11y_datasource_uid != null ? toset(["enabled"]) : toset([])

o11y_datasource_uid = var.o11y_datasource_uid
}
6 changes: 6 additions & 0 deletions bootstrap/proxy/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,12 @@ variable "environment" {
default = null
}

variable "extra_annotations" {
description = "Extra annotations to add to the proxy services"
type = map(string)
default = {}
}

variable "namespace" {
type = string
}
Expand Down
12 changes: 8 additions & 4 deletions bootstrap/proxy/service.tf
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,16 @@ resource "kubernetes_service_v1" "proxy_service_aws" {
metadata {
name = local.name
namespace = var.namespace
annotations = {
annotations = merge({
"service.beta.kubernetes.io/aws-load-balancer-nlb-target-type" : "instance"
"service.beta.kubernetes.io/aws-load-balancer-scheme" : "internet-facing"
"service.beta.kubernetes.io/aws-load-balancer-type" : "external"
"service.beta.kubernetes.io/aws-load-balancer-healthcheck-protocol" : "HTTPS"
"service.beta.kubernetes.io/aws-load-balancer-healthcheck-path" : "/healthz"
"service.beta.kubernetes.io/aws-load-balancer-healthcheck-port" : var.healthcheck_port != null ? var.healthcheck_port : "traffic-port"
}
},
var.extra_annotations
)
}

spec {
Expand Down Expand Up @@ -41,9 +43,11 @@ resource "kubernetes_service_v1" "proxy_service_gcp" {
metadata {
name = local.name
namespace = var.namespace
annotations = {
annotations = merge({
"cloud.google.com/l4-rbs" : "enabled"
}
},
var.extra_annotations
)
}

spec {
Expand Down
42 changes: 32 additions & 10 deletions bootstrap/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,8 @@ variable "versions" {
}

variable "o11y_datasource_uid" {
type = string
type = string
default = null
}

// operator settings
Expand Down Expand Up @@ -89,16 +90,12 @@ variable "operator_resources" {
}
}
}
// proxy

# variable "proxy_image_tag" {
# type = string
# }

# variable "proxy_replicas" {
# type = number
# default = 1
# }
// proxy green settings
variable "proxy_green_name" {
type = string
default = "proxy-green"
}

variable "proxy_green_image_tag" {
type = string
Expand All @@ -109,6 +106,22 @@ variable "proxy_green_replicas" {
default = 1
}

variable "proxy_green_extra_annotations" {
type = map(string)
default = {}
}

variable "proxy_green_environment" {
type = string
default = "green"
}

// proxy blue settings
variable "proxy_blue_name" {
type = string
default = "proxy"
}

variable "proxy_blue_image_tag" {
type = string
}
Expand All @@ -118,6 +131,15 @@ variable "proxy_blue_replicas" {
default = 1
}

variable "proxy_blue_extra_annotations" {
type = map(string)
default = {}
}

variable "proxy_blue_environment" {
type = string
default = null
}

variable "proxy_resources" {
type = object({
Expand Down

0 comments on commit 68a1887

Please sign in to comment.