sentry-docs icon indicating copy to clipboard operation
sentry-docs copied to clipboard

Kubernetes Resource Definitions For Terraform To Get Relay Setup

Open sentryadam0000345 opened this issue 3 years ago • 3 comments

Core or SDK?

Core Sentry product

Which part? Which one?

Relay, https://docs.sentry.io/product/relay/

Description

Right now we do not have docs or samples on how to setup Sentry Relay with Terraform. Please find the below Terraform Kubernetes resources file. They use the manifests that are mentioned here: https://github.com/getsentry/sentry-docs/issues/4975.

Suggested Solution

resource "kubernetes_namespace_v1" "relay_namespace" {
  metadata {
    name = var.sentry_relay_namespace
  }
}

resource "kubernetes_manifest" "relay_config_map" {
  depends_on = [
    kubernetes_namespace_v1.relay_namespace
  ]

  manifest = yamldecode(file("${path.module}/manifests/sentry/00_config_map.yml"))

}

resource "kubernetes_secret_v1" "relay_secret" {
  depends_on = [
    kubernetes_namespace_v1.relay_namespace
  ]

  type = "Opaque"
  metadata {
    name      = "sentry-relay"
    namespace = var.sentry_relay_namespace
  }

  data = {
    "credentials.json" = var.sentry_relay_credentials
  }
}

resource "kubernetes_manifest" "relay_deployment" {
  depends_on = [
    kubernetes_manifest.relay_config_map,
    kubernetes_secret_v1.relay_secret,
    kubernetes_namespace_v1.relay_namespace
  ]

  manifest = yamldecode(file("${path.module}/manifests/sentry/02_deployment.yml"))
}

resource "kubernetes_manifest" "relay_service" {
  depends_on = [
    kubernetes_namespace_v1.relay_namespace
  ]

  manifest = yamldecode(file("${path.module}/manifests/sentry/03_service.yml"))
}

resource "kubernetes_manifest" "relay_ingress" {
  depends_on = [
    kubernetes_namespace_v1.relay_namespace
  ]

  manifest = yamldecode(templatefile("${path.module}/manifests/sentry/04_ingress.yml.tftpl", local.sentry_config))
}

resource "kubernetes_manifest" "relay_pdb" {
  depends_on = [
    kubernetes_namespace_v1.relay_namespace
  ]

  manifest = yamldecode(file("${path.module}/manifests/sentry/05_pdb.yml"))
}

sentryadam0000345 avatar Apr 26 '22 02:04 sentryadam0000345

@sentryadam0000345 is this a pretty common use case? How often does this come up?

imatwawana avatar Apr 26 '22 14:04 imatwawana

This issue has gone three weeks without activity. In another week, I will close it.

But! If you comment or otherwise update it, I will reset the clock, and if you label it Status: Backlog or Status: In Progress, I will leave it alone ... forever!


"A weed is but an unloved flower." ― Ella Wheeler Wilcox 🥀

github-actions[bot] avatar May 18 '22 00:05 github-actions[bot]

@sentryadam0000345 - nudge. See my question above.

imatwawana avatar May 25 '22 14:05 imatwawana