-
Notifications
You must be signed in to change notification settings - Fork 1
Update environment configuration for MN Service credentials in n8n #108
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Added new environment variables for Sembly and Google Service Account credentials in . - Updated to include new MN Service environment variables for seamless integration. - Modified to install the package and updated the external modules allowlist. These changes improve the n8n service by providing required credentials for MN Service integration and enhancing security with the addition of the package.
WalkthroughEnvironment variables for MN Service credentials are added across configuration files, introducing Sembly service authentication and Google Service Account configuration for the n8n service across development and production setups. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes
Possibly related PRs
Suggested reviewers
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
🔍 Vulnerabilities of
|
| digest | sha256:157ff5a35e134ed4faad215e8f852a009b696a1c7e62b9e273c95f20842f5c89 |
| vulnerabilities | |
| platform | linux/amd64 |
| size | 335 MB |
| packages | 1844 |
📦 Base Image node:22-alpine
Description
Description
Description
Description | ||||||||||||||||||||||||||||||||
Description
Description
| ||||||||||||||||||||||||||||||||
Description
| ||||||||||||||||||||||||||||||||
Description
| ||||||||||||||||||||||||||||||||
Description
| ||||||||||||||||||||||||||||||||
Description
| ||||||||||||||||||||||||||||||||
Description
| ||||||||||||||||||||||||||||||||
Description
| ||||||||||||||||||||||||||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Nitpick comments (1)
.env.example (1)
81-97: Reorder environment variables alphabetically.Static analysis flagged 10 key ordering violations. The MN Service credentials block should follow alphabetical ordering conventions to maintain consistency with project standards (as indicated by dotenv-linter).
Apply this diff to sort the variables alphabetically:
# MN Service credentials ## Sembly credentials -SEMBLY_USER=sembly_user SEMBLY_PASS=sembly_pass +SEMBLY_USER=sembly_user ## MN Service — Google Service Account (SA) -MN_SERVICE_SA_GOOGLE_TYPE=service_account -MN_SERVICE_SA_GOOGLE_PROJECT_ID=mock-project-id -MN_SERVICE_SA_GOOGLE_PRIVATE_KEY_ID=mock-private-key-id MN_SERVICE_SA_GOOGLE_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\nMOCK_PRIVATE_KEY_CONTENT\n-----END PRIVATE KEY-----\n" +MN_SERVICE_SA_GOOGLE_TYPE=service_account +MN_SERVICE_SA_GOOGLE_PROJECT_ID=mock-project-id +MN_SERVICE_SA_GOOGLE_PRIVATE_KEY_ID=mock-private-key-id -MN_SERVICE_SA_GOOGLE_CLIENT_EMAIL=mock-service-account@mock-project-id.iam.gserviceaccount.com -MN_SERVICE_SA_GOOGLE_CLIENT_ID=000000000000000000000 -MN_SERVICE_SA_GOOGLE_AUTH_URI=https://accounts.google.com/o/oauth2/auth -MN_SERVICE_SA_GOOGLE_TOKEN_URI=https://oauth2.googleapis.com/token +MN_SERVICE_SA_GOOGLE_AUTH_PROVIDER_X509_CERT_URL=https://www.googleapis.com/oauth2/v1/certs MN_SERVICE_SA_GOOGLE_AUTH_PROVIDER_X509_CERT_URL=https://www.googleapis.com/oauth2/v1/certs +MN_SERVICE_SA_GOOGLE_AUTH_URI=https://accounts.google.com/o/oauth2/auth +MN_SERVICE_SA_GOOGLE_CLIENT_EMAIL=mock-service-account@mock-project-id.iam.gserviceaccount.com +MN_SERVICE_SA_GOOGLE_CLIENT_ID=000000000000000000000 MN_SERVICE_SA_GOOGLE_CLIENT_X509_CERT_URL=https://www.googleapis.com/robot/v1/metadata/x509/mock-service-account%40mock-project-id.iam.gserviceaccount.com +MN_SERVICE_SA_GOOGLE_TOKEN_URI=https://oauth2.googleapis.com/token MN_SERVICE_SA_GOOGLE_UNIVERSE_DOMAIN=googleapis.com
📜 Review details
Configuration used: Path: .coderabbit.yml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
.env.example(1 hunks)Dockerfile.n8n(2 hunks)docker-compose.yml(1 hunks)
🧰 Additional context used
📓 Path-based instructions (4)
Dockerfile.{n8n,temporal}
📄 CodeRabbit inference engine (.cursor/rules/docker-configuration.mdc)
Custom Docker images must be defined using Dockerfile.n8n and Dockerfile.temporal, each extending their respective official base images with custom configurations
Files:
Dockerfile.n8n
Dockerfile.n8n
📄 CodeRabbit inference engine (.cursor/rules/project-structure.mdc)
Use Dockerfile.n8n for custom n8n image configuration.
Files:
Dockerfile.n8n
.env*
📄 CodeRabbit inference engine (.cursor/rules/service-configuration.mdc)
Create .env file from .env.example for environment configuration
Files:
.env.example
docker-compose.yml
📄 CodeRabbit inference engine (.cursor/rules/docker-configuration.mdc)
docker-compose.yml: All service configurations, including service dependencies, volume mounts, network configuration, environment variables, and port mappings, must be defined in docker-compose.yml
Services must communicate over an internal Docker network with only the specified ports exposed: n8n (5678), Temporal (7233), Temporal UI (8080), PostgreSQL (5432), and OpenSearch (9200)The repository must include a docker-compose.yml file as the main service orchestration configuration.
Use docker compose up -d to start all services
Files:
docker-compose.yml
🪛 dotenv-linter (4.0.0)
.env.example
[warning] 84-84: [UnorderedKey] The SEMBLY_PASS key should go before the SEMBLY_USER key
(UnorderedKey)
[warning] 88-88: [UnorderedKey] The MN_SERVICE_SA_GOOGLE_PROJECT_ID key should go before the MN_SERVICE_SA_GOOGLE_TYPE key
(UnorderedKey)
[warning] 89-89: [UnorderedKey] The MN_SERVICE_SA_GOOGLE_PRIVATE_KEY_ID key should go before the MN_SERVICE_SA_GOOGLE_PROJECT_ID key
(UnorderedKey)
[warning] 90-90: [UnorderedKey] The MN_SERVICE_SA_GOOGLE_PRIVATE_KEY key should go before the MN_SERVICE_SA_GOOGLE_PRIVATE_KEY_ID key
(UnorderedKey)
[warning] 91-91: [UnorderedKey] The MN_SERVICE_SA_GOOGLE_CLIENT_EMAIL key should go before the MN_SERVICE_SA_GOOGLE_PRIVATE_KEY key
(UnorderedKey)
[warning] 92-92: [UnorderedKey] The MN_SERVICE_SA_GOOGLE_CLIENT_ID key should go before the MN_SERVICE_SA_GOOGLE_PRIVATE_KEY key
(UnorderedKey)
[warning] 93-93: [UnorderedKey] The MN_SERVICE_SA_GOOGLE_AUTH_URI key should go before the MN_SERVICE_SA_GOOGLE_CLIENT_EMAIL key
(UnorderedKey)
[warning] 94-94: [UnorderedKey] The MN_SERVICE_SA_GOOGLE_TOKEN_URI key should go before the MN_SERVICE_SA_GOOGLE_TYPE key
(UnorderedKey)
[warning] 95-95: [UnorderedKey] The MN_SERVICE_SA_GOOGLE_AUTH_PROVIDER_X509_CERT_URL key should go before the MN_SERVICE_SA_GOOGLE_AUTH_URI key
(UnorderedKey)
[warning] 96-96: [UnorderedKey] The MN_SERVICE_SA_GOOGLE_CLIENT_X509_CERT_URL key should go before the MN_SERVICE_SA_GOOGLE_PRIVATE_KEY key
(UnorderedKey)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
- GitHub Check: Docker Security Scanning (n8n, Dockerfile.n8n, n8n-test:latest)
- GitHub Check: Docker Security Scanning (temporal, Dockerfile.temporal, temporal-test:latest)
- GitHub Check: Service Availability Check
🔇 Additional comments (1)
Dockerfile.n8n (1)
8-8: Crypto-js integration looks solid.The addition of crypto-js follows the established patterns in the Dockerfile:
- Version argument with caret constraint allows security patches
- Proper npm installation alongside other external packages in a single layer
- NODE_FUNCTION_ALLOW_EXTERNAL correctly updated to enable usage in Code/Function nodes
Also applies to: 18-19, 23-23
|
Add validation for required environment variables in production. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Please review all PR comments.
Validation for the required environment variables still hasn’t been added (see docker-compose.prod.yml): https://github.com/speedandfunction/automatization/blob/main/docker-compose.prod.yml
- Introduced new environment variables for Google Service Account credentials in docker-compose.prod.yml. - Ensured required variables are set for seamless integration with Google services. These changes enhance the n8n service by providing necessary credentials for Google integration.
anatolyshipitz
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Security issue regarding credentials exposure has been added and the crypto-js package mentioned in the description is not actually installed
anatolyshipitz
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
reviewed
anatolyshipitz
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@killev could you please confirm that we’re aligned on this PR?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Requested changes status has been cleared.
|



These changes improve the n8n service by providing required credentials for MN Service integration.
Additional descriptions:
I created this PR to enable Domain-Wide Delegation (DWD) in Google Workspace, allowing n8n to update event descriptions across all users in the company calendar.
This setup is required to automatically insert the Meeting Resources section into event descriptions for every scheduled call.
Changes made:
Task: #65518 MN Service. Investigate Google Calendar Event Update for Meeting Resources (All Attendees)
Summary by CodeRabbit