From 912e6746308150275ea9a1b96155e9e1e960e004 Mon Sep 17 00:00:00 2001 From: angelalvaigle Date: Fri, 20 Dec 2024 08:56:32 +0100 Subject: [PATCH] secure mongo --- .env | 1 - .github/workflows/release.yml | 4 +++- .gitignore | 3 ++- docker-compose.yml | 12 +++++++----- questionservice/question-service.js | 12 +++++++++--- statservice/stat-service.js | 11 +++++++++-- users/authservice/auth-service.js | 18 ++++++++++++------ users/userservice/user-service.js | 11 +++++++++-- 8 files changed, 51 insertions(+), 21 deletions(-) delete mode 100644 .env diff --git a/.env b/.env deleted file mode 100644 index cc721dd..0000000 --- a/.env +++ /dev/null @@ -1 +0,0 @@ -teamname="wiq_7" \ No newline at end of file diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 02ee41c..4189846 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -203,8 +203,10 @@ jobs: key: ${{ secrets.DEPLOY_KEY }} command: | docker system prune --all --volumes --force + echo "teamname='wiq_7'" > .env + echo "MONGO_INITDB_ROOT_USERNAME=${{ secrets.MONGO_INITDB_ROOT_USERNAME }}" >> .env + echo "MONGO_INITDB_ROOT_PASSWORD=${{ secrets.MONGO_INITDB_ROOT_PASSWORD }}" >> .env wget https://raw.githubusercontent.com/arquisoft/wiq_7/master/docker-compose.yml -O docker-compose.yml - wget https://raw.githubusercontent.com/arquisoft/wiq_7/master/.env -O .env mkdir -p errors wget https://raw.githubusercontent.com/arquisoft/wiq_7/master/errors/customErrors.js -O errors/customErrors.js mkdir -p middleware diff --git a/.gitignore b/.gitignore index 8bbe72a..d1a9d54 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ node_modules coverage -docs/build \ No newline at end of file +docs/build +.env \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index e575220..5b302f1 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,4 +1,3 @@ -version: '3' services: mongodb: container_name: mongodb-${teamname:-defaultASW} @@ -10,6 +9,9 @@ services: - '27017:27017' networks: - mynetwork + environment: + MONGO_INITDB_ROOT_USERNAME: ${MONGO_INITDB_ROOT_USERNAME} + MONGO_INITDB_ROOT_PASSWORD: ${MONGO_INITDB_ROOT_PASSWORD} authservice: container_name: authservice-${teamname:-defaultASW} @@ -27,7 +29,7 @@ services: networks: - mynetwork environment: - MONGODB_USER: mongodb://mongodb:27017/userdb + MONGODB_USER: mongodb://${MONGO_INITDB_ROOT_USERNAME}:${MONGO_INITDB_ROOT_PASSWORD}@mongodb:27017/userdb?authSource=admin userservice: container_name: userservice-${teamname:-defaultASW} @@ -45,7 +47,7 @@ services: networks: - mynetwork environment: - MONGODB_USER: mongodb://mongodb:27017/userdb + MONGODB_USER: mongodb://${MONGO_INITDB_ROOT_USERNAME}:${MONGO_INITDB_ROOT_PASSWORD}@mongodb:27017/userdb?authSource=admin questionservice: container_name: questionservice-${teamname:-defaultASW} @@ -63,7 +65,7 @@ services: networks: - mynetwork environment: - MONGODB_QUESTION: mongodb://mongodb:27017/questiondb + MONGODB_QUESTION: mongodb://${MONGO_INITDB_ROOT_USERNAME}:${MONGO_INITDB_ROOT_PASSWORD}@mongodb:27017/questiondb?authSource=admin statservice: container_name: statservice-${teamname:-defaultASW} @@ -81,7 +83,7 @@ services: networks: - mynetwork environment: - MONGODB_STAT: mongodb://mongodb:27017/statdb + MONGODB_STAT: mongodb://${MONGO_INITDB_ROOT_USERNAME}:${MONGO_INITDB_ROOT_PASSWORD}@mongodb:27017/statdb?authSource=admin gatewayservice: container_name: gatewayservice-${teamname:-defaultASW} diff --git a/questionservice/question-service.js b/questionservice/question-service.js index c96e1fe..1d94e6f 100644 --- a/questionservice/question-service.js +++ b/questionservice/question-service.js @@ -10,9 +10,15 @@ const port = 8003; app.use(express.json()); // Connect to MongoDB -const mongoUri = - process.env.MONGODB_QUESTION || 'mongodb://localhost:27017/questiondb'; -mongoose.connect(mongoUri); +const mongoUri = process.env.MONGODB_QUESTION; +mongoose + .connect(mongoUri) + .then(() => { + console.log('Conexión exitosa a questionDB'); + }) + .catch((err) => { + console.error('Error de conexión a questionDB:', err); + }); app.use('/', questionRouter); diff --git a/statservice/stat-service.js b/statservice/stat-service.js index f588b4a..1aeafa9 100644 --- a/statservice/stat-service.js +++ b/statservice/stat-service.js @@ -9,8 +9,15 @@ const port = 8004; app.use(express.json()); // Connect to MongoDB -const mongoUri = process.env.MONGODB_STAT || 'mongodb://localhost:27017/statdb'; -mongoose.connect(mongoUri); +const mongoUri = process.env.MONGODB_STAT; +mongoose + .connect(mongoUri) + .then(() => { + console.log('Conexión exitosa a statDB'); + }) + .catch((err) => { + console.error('Error de conexión a statDB:', err); + }); app.use('/', statRouter); diff --git a/users/authservice/auth-service.js b/users/authservice/auth-service.js index fd2bb03..83d316f 100644 --- a/users/authservice/auth-service.js +++ b/users/authservice/auth-service.js @@ -9,12 +9,18 @@ const port = 8002; app.use(express.json()); // Connect to MongoDB -const mongoUri = process.env.MONGODB_USER || 'mongodb://localhost:27017/userdb'; - -console.log('auth service'); -console.log(mongoUri); - -mongoose.connect(mongoUri); +const mongoUri = process.env.MONGODB_USER; +mongoose + .connect(mongoUri, { + useNewUrlParser: true, + useUnifiedTopology: true, + }) + .then(() => { + console.log('Conexión exitosa a userDB'); + }) + .catch((err) => { + console.error('Error de conexión a userDB:', err); + }); // Route for user login app.use('/', authRouter); diff --git a/users/userservice/user-service.js b/users/userservice/user-service.js index b6cfa9f..fb4b895 100644 --- a/users/userservice/user-service.js +++ b/users/userservice/user-service.js @@ -10,8 +10,15 @@ const port = 8001; app.use(express.json()); // Connect to MongoDB -const mongoUri = process.env.MONGODB_USER || 'mongodb://localhost:27017/userdb'; -mongoose.connect(mongoUri); +const mongoUri = process.env.MONGODB_USER; +mongoose + .connect(mongoUri) + .then(() => { + console.log('Conexión exitosa a userDB'); + }) + .catch((err) => { + console.error('Error de conexión a userDB:', err); + }); // userRouter app.use('/', userRouter);