Skip to content
This repository has been archived by the owner on Feb 12, 2024. It is now read-only.

Commit

Permalink
added sentry-upload module (#40)
Browse files Browse the repository at this point in the history
  • Loading branch information
svarthaj authored Feb 16, 2022
1 parent 342a808 commit aef9ac8
Show file tree
Hide file tree
Showing 4 changed files with 109 additions and 0 deletions.
41 changes: 41 additions & 0 deletions sentry-upload/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
## Requirements

| Name | Version |
|------|---------|
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | ~> 1.0 |
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | ~> 3.0 |

## Providers

| Name | Version |
|------|---------|
| <a name="provider_aws"></a> [aws](#provider\_aws) | ~> 3.0 |
| <a name="provider_null"></a> [null](#provider\_null) | n/a |

## Modules

No modules.

## Resources

| Name | Type |
|------|------|
| [null_resource.sentry_upload_sourcemaps](https://registry.terraform.io/providers/hashicorp/null/latest/docs/resources/resource) | resource |
| [aws_ssm_parameter.sentry_auth_token](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/ssm_parameter) | data source |
| [aws_ssm_parameter.sentry_org](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/ssm_parameter) | data source |
| [aws_ssm_parameter.sentry_project](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/ssm_parameter) | data source |
| [aws_ssm_parameter.sentry_url](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/ssm_parameter) | data source |

## Inputs

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| <a name="input_enable"></a> [enable](#input\_enable) | Enable module | `bool` | `false` | no |
| <a name="input_lambda_file_name"></a> [lambda\_file\_name](#input\_lambda\_file\_name) | AWS Lambda zip file name during terraforming | `string` | n/a | yes |
| <a name="input_lambda_name"></a> [lambda\_name](#input\_lambda\_name) | AWS Lambda name | `string` | n/a | yes |
| <a name="input_lambda_source_code_hash"></a> [lambda\_source\_code\_hash](#input\_lambda\_source\_code\_hash) | AWS Lambda source code hash | `string` | n/a | yes |
| <a name="input_release"></a> [release](#input\_release) | Docker Tag to release | `string` | n/a | yes |

## Outputs

No outputs.
34 changes: 34 additions & 0 deletions sentry-upload/main.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
data "aws_ssm_parameter" "sentry_auth_token" {
name = "/infrastructure/sentry/sentry_auth_token"
}

data "aws_ssm_parameter" "sentry_url" {
name = "/infrastructure/sentry/sentry_url"
}

data "aws_ssm_parameter" "sentry_org" {
name = "/infrastructure/sentry/sentry_org"
}

data "aws_ssm_parameter" "sentry_project" {
name = "/infrastructure/sentry/sentry_project"
}

resource "null_resource" "sentry_upload_sourcemaps" {
count = var.enable == true ? 1 : 0

triggers = {
lambda_source_code_hash = var.lambda_source_code_hash
}

provisioner "local-exec" {
command = "unzip -o -qq ${var.lambda_file_name} -d $(dirname ${var.lambda_file_name}) && sentry-cli releases files ${var.release} upload-sourcemaps $(dirname ${var.lambda_file_name}) --url-prefix ${var.lambda_name}/"

environment = {
SENTRY_URL = data.aws_ssm_parameter.sentry_url.value
SENTRY_AUTH_TOKEN = data.aws_ssm_parameter.sentry_auth_token.value
SENTRY_ORG = data.aws_ssm_parameter.sentry_org.value
SENTRY_PROJECT = data.aws_ssm_parameter.sentry_project.value
}
}
}
24 changes: 24 additions & 0 deletions sentry-upload/variables.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
variable "lambda_file_name" {
type = string
description = "AWS Lambda zip file name during terraforming"
}
variable "lambda_name" {
type = string
description = "AWS Lambda name"
}

variable "lambda_source_code_hash" {
type = string
description = "AWS Lambda source code hash"
}

variable "release" {
type = string
description = "Docker Tag to release"
}

variable "enable" {
default = false
type = bool
description = "Enable module"
}
10 changes: 10 additions & 0 deletions sentry-upload/versions.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@

terraform {
required_version = "~> 1.0"
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 3.0"
}
}
}

0 comments on commit aef9ac8

Please sign in to comment.