It seems a lot of people have trouble with MongoDB. My particular issue right now is that I can’t get the container to stay up so that my NodeJS app can connect to it. I have tried specifying the ports as in the posts below, and I get “extraneous key not permitted.” Even without them, I get Build was cancelled
. I have not tried removing the MONGO_INITDB_ environment variables because, well, that’s how my solution is set up, and I feel like any tool that supports MongoDB should support basic Mongo configuration.
There are zero mongo examples in the documentation. Which leads me to my question; is it really supported? It seems like I either have to change my solution’s security model to accommodate very limited functionality, or pick a new database. I’m fine with the second one; not so enthusiastic about the first. Can I bring my own MongoDB container (mongo:4.2.5-bionic) without running into these restrictions? Does Postgres work out of the box? Maybe I’ll head that direction.
Relevant Database Topics:
(“New users can only put two links in a post.” Yuck. There’s a whole list of them, just do a search.)
Here is my config:
version: 2.1
jobs:
nodejs:
docker:
- image: 'circleci/node:latest'
- image: 'circleci/mongo:latest'
# extraneous key [port] is not permitted
# port: 27017:27017
# extraneous key [ports] is not permitted
# ports:
# - "27017:27017"
environment:
MONGO_INITDB_ROOT_USERNAME: mongoadmin
MONGO_INITDB_ROOT_PASSWORD: p@ssw0rdToYourMom
steps:
- checkout
- run:
command: |
cd node
ssh-keygen -t rsa -b 4096 -C "fake@email.org" -f ./verbal_rsa -q -N ""
npm install
npm build
npm run start_ci
Every time I start the app, it can’t connect to the mongo container.