Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

551
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!