Skip to main content
Glama

Berghain Events MCP Server

by alejofig
main.tf3.45 kB
provider "aws" { region = "us-east-1" # Ej: "us-east-1" } # --- Variables (Considera usar variables.tf y terraform.tfvars para producción) --- variable "ecr_image_uri" { description = "El URI completo de la imagen Docker en ECR (ej: 123456789012.dkr.ecr.us-east-1.amazonaws.com/your-app-name:latest)" type = string } # --- IAM Role para la Instancia de App Runner --- data "aws_iam_policy_document" "apprunner_instance_assume_role_policy" { statement { actions = ["sts:AssumeRole"] principals { type = "Service" identifiers = ["tasks.apprunner.amazonaws.com"] } } } resource "aws_iam_role" "apprunner_instance_role" { name = "AppRunnerInstanceRole-BerghainAPI" assume_role_policy = data.aws_iam_policy_document.apprunner_instance_assume_role_policy.json inline_policy { name = "AppRunnerInstancePermissions" policy = jsonencode({ Version = "2012-10-17" Statement = [ { Effect = "Allow", Action = "dynamodb:*", Resource = "*" } ] }) } } # --- IAM Role para el Acceso a ECR (App Runner lo usa para obtener la imagen) --- data "aws_iam_policy_document" "apprunner_ecr_assume_role_policy" { statement { actions = ["sts:AssumeRole"] principals { type = "Service" identifiers = ["build.apprunner.amazonaws.com"] } } } resource "aws_iam_role" "apprunner_ecr_access_role" { name = "AppRunnerECRAccessRole-BerghainAPI" assume_role_policy = data.aws_iam_policy_document.apprunner_ecr_assume_role_policy.json # managed_policy_arns DEPRECATED - Eliminado de aquí } # Adjuntar la política gestionada al rol de acceso ECR (Forma moderna) resource "aws_iam_role_policy_attachment" "apprunner_ecr_access_policy_attach" { role = aws_iam_role.apprunner_ecr_access_role.name policy_arn = "arn:aws:iam::aws:policy/service-role/AWSAppRunnerServicePolicyForECRAccess" } # --- Datos útiles (Región y Cuenta Actual) --- data "aws_region" "current" {} data "aws_caller_identity" "current" {} # --- Servicio AWS App Runner --- resource "aws_apprunner_service" "berghain_api_service" { service_name = "berghain-api-service" source_configuration { image_repository { image_identifier = var.ecr_image_uri image_repository_type = "ECR" image_configuration { port = "8080" runtime_environment_variables = { PORT = "8080" } } } authentication_configuration { access_role_arn = aws_iam_role.apprunner_ecr_access_role.arn } auto_deployments_enabled = false } instance_configuration { cpu = "1024" memory = "2048" instance_role_arn = aws_iam_role.apprunner_instance_role.arn } health_check_configuration { protocol = "HTTP" path = "/sse" interval = 10 timeout = 5 healthy_threshold = 1 unhealthy_threshold = 2 } network_configuration { egress_configuration { egress_type = "DEFAULT" # Permite salida a internet (necesario para llamar a Bedrock/Gemini) } } tags = { Project = "BerghainAPI" Terraform = "true" } } # --- Salida: URL del Servicio App Runner --- output "apprunner_service_url" { description = "La URL pública del servicio App Runner" value = aws_apprunner_service.berghain_api_service.service_url }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/alejofig/mcp-berghain'

If you have feedback or need assistance with the MCP directory API, please join our Discord server