Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

552
Vistas
¿Cómo obtengo el uri completo, incluido el nombre de usuario y la contraseña con el proveedor de mongodbatlas en terraform?

Cuando intento generar el uri de mongodb con Terraform y el proveedor de atlas de mongodb, no puedo obtener el uri completo con el nombre de usuario y la contraseña. Por ejemplo, cuando hago algo como:

 terraform { required_version = "~> 0.14.7" required_providers { mongodbatlas = { source = "mongodb/mongodbatlas" version = "0.8.2" } } } provider "mongodbatlas" { public_key = var.mongodbatlas_public_key private_key = var.mongodbatlas_private_key } data "mongodbatlas_cluster" "db" { project_id = var.mongodbatlas_project_id name = format("some-db-name-%s", var.env) } output "db_url" { value = data.mongodbatlas_cluster.db.connection_strings[0].address_srv }

Siempre obtengo un uri de la forma: mongodb+srv://some-db-name-staging.xjcol.mongodb.net Agregar eso como una variable de entorno a mi aplicación web para conectarme a db no funciona como es necesario para autenticarse con un nombre de usuario y una contraseña. Agregar manualmente el nombre de usuario y la contraseña a esa cadena como en mongodb+srv://[username]:[password]@some-db-name-staging.xjcol.mongodb.net funciona y la aplicación puede conectarse bien a la base de datos.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Si bien entiendo lo que estás tratando de lograr, sospecho que estás mezclando cosas aquí. Dejame explicar:

  • MongoDB le permite crear usuarios de base de datos que pueden autenticarse mediante contraseña. Esos se pueden crear usando el recurso mongodbatlas_database_user .
  • Puede crear su clúster (o información de clúster de origen) utilizando tanto el recurso como la fuente de datos de la forma en que intenta lograrlo.

Sin embargo, la creación del clúster es independiente de la creación de la base de datos y del usuario de la base de datos, lo que significa que lo que obtiene de Terraform es solo una cadena de conexión genérica de Mongo donde ni siquiera Mongo sabe a qué usuario/base de datos desea conectarse.

Le sugiero que componga su propia cadena de conexión y la pase a su aplicación usando una secuencia de comandos posterior al aprovisionamiento, ya sea usando las salidas de Terraform del clúster y el usuario de la base de datos, o simplemente componiéndola usted mismo si ya conoce la información por adelantado.

En caso de que utilice AWS, MongoDB Atlas admite cadenas de conexión mediante usuarios de IAM y roles de IAM. Este es un enfoque mucho mejor y más seguro que lidiar con contraseñas y toda la carga adicional que implica administrar contraseñas. Si esto suena como algo que te gustaría explorar, házmelo saber.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda