Skip to content

Conversation

@SHUBHAM-TAYDE
Copy link

@SHUBHAM-TAYDE SHUBHAM-TAYDE commented May 10, 2025

Summary by CodeRabbit

  • Chores
    • Updated maintainer information in the Dockerfile.
    • Updated pipeline configuration with new repository URLs, branch names, agent specification, and notification emails.
    • Enhanced Kubernetes manifests with actual secret values and extended configuration for authentication and database connectivity.
    • Updated domain configuration for ingress TLS and routing.
    • Updated container image references in deployment manifests.
    • Configured certificate issuer with updated email for ACME registration.

@vercel
Copy link

vercel bot commented May 10, 2025

Someone is attempting to deploy a commit to the Amitabh soni's projects Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai
Copy link

coderabbitai bot commented May 10, 2025

Warning

Rate limit exceeded

@AWS-DevOps-shubh has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 5 minutes and 52 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between 0a4d7d9 and 79eea28.

📒 Files selected for processing (3)
  • Jenkinsfile (1 hunks)
  • kubernetes/configmap.yml (1 hunks)
  • kubernetes/secrets.yml (1 hunks)

"""

Walkthrough

The Dockerfile was updated to modify the maintainer metadata label in both the build and production stages. The maintainer's name and email were changed, while all other instructions and configurations in the Dockerfile remain unaltered. The Jenkins pipeline was updated to use a generic agent, change Git repository URLs, branches, directory names, Docker image references, and email notification recipients. The Kubernetes secrets manifest was updated by replacing placeholder secret values with actual base64-encoded strings for several keys and removed the GOOGLE_ID field. The Kubernetes ConfigMap was updated to replace a placeholder URL with a concrete URL and added new keys for Google OAuth client ID, MongoDB URI, and MongoDB root username. The ingress resource was updated to change the TLS and HTTP host domain names. The Kubernetes deployment manifest was updated to change the container image reference. The ClusterIssuer email was updated from a placeholder to a specific email address. No changes were made to pipeline logic or control flow.

Changes

File Change Summary
Dockerfile Updated the maintainer label to a new name and email in all stages.
GitOps/Jenkinsfile Changed agent specification to any; updated Git repo URL, branch, and directory name; modified Docker image reference; updated email notification recipients.
kubernetes/secrets.yml Removed GOOGLE_ID field; replaced placeholder secret values with actual base64-encoded strings for GOOGLE_SECRET, NEXTAUTH_SECRET, NEXT_PUBLIC_API_KEY; added MONGO_INITDB_ROOT_PASSWORD key.
kubernetes/configmap.yml Replaced placeholder NEXTAUTH_URL with a concrete URL; added GOOGLE_ID, MONGODB_URI, and MONGO_INITDB_ROOT_USERNAME keys with respective values.
kubernetes/gemini-ingress.yml Changed TLS and HTTP rule hosts from "geminiamitabh.letsdeployit.com" to "geminishubh.34.251.105.234.nip.io".
kubernetes/gemini-deployment.yml Updated container image from amitabhdevops/geminiprod:v1 to devshubh2204/geminiclonenip:20.
kubernetes/cert-issuer.yml Updated ACME registration email from placeholder to "[email protected]".

Poem

🐇
A Dockerfile tweak, a label anew,
Shubham now waves as the maintainer in view.
Jenkins shifts gears with a generic run,
New repos, new branches, the pipeline’s begun.
Secrets unveiled in base64 light,
ConfigMaps bloom with values bright.
Domains updated, hopping forward just right!

"""


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.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (2)
Dockerfile (2)

7-9: Updated maintainer metadata label
The maintainer label in the build stage has been updated correctly. Consider adopting the OCI Image Specification labels—such as org.opencontainers.image.authors—for broader compatibility with image tooling and registries.


30-32: Consistent metadata update in production stage
The production stage’s maintainer label now mirrors the build stage change, maintaining consistency. You may standardize on OCI labels here as well to future-proof your metadata.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between df7627f and 0d30e71.

📒 Files selected for processing (1)
  • Dockerfile (3 hunks)
🔇 Additional comments (1)
Dockerfile (1)

50-50: Verify CMD change annotation
The AI summary notes that the final CMD ["npm", "start"] instruction remains unchanged, yet it’s marked as modified. Please confirm whether this line was intentionally updated or if the summary should be corrected.

Likely an incorrect or invalid review comment.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (3)
GitOps/Jenkinsfile (3)

32-32: Use a more precise regex for manifest updates
The .* in the sed pattern is greedy and could replace unintended parts of the file. Refine to target just the tag portion (e.g., :[^'"]*) or consider using kubectl set image for safer in-place updates.


51-51: Prefer remote alias over hardcoded URL for git push
Pushing by full URL can bypass credential helpers and remote configuration. Use the remote alias (origin):

- git push https://github.com/AWS-DevOps-shubh/dev-gemini-clone.git dev-shubh
+ git push origin dev-shubh

109-109: Avoid hardcoding notification recipient addresses
Hardcoding "[email protected]" in two places complicates future changes and exposes PII in pipeline code. Consider parameterizing the recipient list or using credentials/global settings.

Also applies to: 161-161

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0d30e71 and 58bae8b.

📒 Files selected for processing (1)
  • GitOps/Jenkinsfile (7 hunks)
🔇 Additional comments (2)
GitOps/Jenkinsfile (2)

4-4: Verify environment compatibility with agent any
Using agent any allows the pipeline to run on any available executor, which may lack required tools (Docker, kubectl, git, etc.). Ensure the chosen nodes have the necessary environment or consider pinning to a labeled agent.


19-19: Specify branch and credentials for code checkout
The clone helper currently pulls the default branch and may fail for private repos. Explicitly specify the dev-shubh branch and wrap the clone in credentials (or use checkout scm) to ensure access.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (1)
kubernetes/secrets.yml (1)

13-13: Placeholder MongoDB URI remains.
The MONGODB_URI field still uses <enter-your-mongodb-uri>. Either replace this with a valid base64-encoded URI (if you manage it here) or remove the entry and supply it via your secret management process to avoid deployment failures.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 58bae8b and 193d208.

📒 Files selected for processing (1)
  • kubernetes/secrets.yml (1 hunks)
🧰 Additional context used
🪛 Gitleaks (8.21.2)
kubernetes/secrets.yml

10-10: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.

(generic-api-key)


11-11: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.

(generic-api-key)


12-12: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.

(generic-api-key)

🪛 YAMLlint (1.35.1)
kubernetes/secrets.yml

[error] 10-10: syntax error: could not find expected ':'

(syntax)

Comment on lines 10 to 12
GOOGLE_SECRET: R09DU1BYLU9GZ3ZxaWo3X1JXbWZYOTRYOS13UUJnUnZ4bTk= # Enter your Google secret here in base64 encoded format
NEXTAUTH_SECRET: Qb8YA4ruozWvRotNqdC3thIjkjNkAkPuGGtAWy1etLQ= # Enter your NextAuth secret here in base64 encoded format
NEXT_PUBLIC_API_KEY: QUl6YVN5QldaYUEwUEtqZ1o3cF9FOC1aX1NwMld6WF9ldi1LeGM0 # Enter your API key here in base64 encoded format
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Hardcoded secrets detected.
The manifest contains concrete base64-encoded values for GOOGLE_SECRET, NEXTAUTH_SECRET, and NEXT_PUBLIC_API_KEY. Storing secrets in Git is a critical security risk and may violate compliance. Please use an external secret management solution (e.g., SealedSecrets, SOPS, Vault, or Kubernetes External Secrets) or inject these at deployment time instead of committing them.

Would you like guidance on integrating a secure secret management workflow?

🧰 Tools
🪛 Gitleaks (8.21.2)

10-10: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.

(generic-api-key)


11-11: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.

(generic-api-key)


12-12: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.

(generic-api-key)

🪛 YAMLlint (1.35.1)

[error] 10-10: syntax error: could not find expected ':'

(syntax)

Comment on lines 8 to 9
GOOGLE_ID: MTAzMzg0MzU1OTMwLWhpZnBta2VhMGo2Z2Z1dm5lZmtwdnJhcTFqdW5vYXVmLmFwcHMuZ29vZ2xl
dXNlcmNvbnRlbnQuY29t # Enter your Google ID here in base64 encoded format
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

❓ Verification inconclusive

YAML syntax error due to broken multiline value.
The GOOGLE_ID base64 string has been split across two lines, causing a parser error (could not find expected ':'). Combine the value into a single line or use a YAML folded/block literal if you need readability.

Suggested diff to fix:

-  GOOGLE_ID: MTAzMzg0MzU1OTMwLWhpZnBta2VhMGo2Z2Z1dm5lZmtwdnJhcTFqdW5vYXVmLmFwcHMuZ29nbGV
-dXNlcmNvbnRlbnQuY29t # Enter your Google ID here in base64 encoded format
+  GOOGLE_ID: "MTAzMzg0MzU1OTMwLWhpZnBta2VhMGo2Z2Z1dm5lZmtwdnJhcTFqdW5vYXVmLmFwcHMuZ29nbGV1c2VyY29udGVudC5jb20=" 

Fix broken multiline base64 in kubernetes/secrets.yml

The value for GOOGLE_ID is unintentionally split across two lines, which will cause a YAML parsing error (could not find expected ':'). Combine the entire Base64 string into a single line (or use a YAML folded/block literal) and wrap it in quotes.

• File: kubernetes/secrets.yml
• Lines: 8–9

Suggested fix:

-  GOOGLE_ID: MTAzMzg0MzU1OTMwLWhpZnBta2VhMGo2Z2Z1dm5lZmtwdnJhcTFqdW5vYXVmLmFwcHMuZ29nbGV
-dXNlcmNvbnRlbnQuY29t # Enter your Google ID here in base64 encoded format
+  GOOGLE_ID: "MTAzMzg0MzU1OTMwLWhpZnBta2VhMGo2Z2Z1dm5lZmtwdnJhcTFqdW5vYXVmLmFwcHMuZ29nbGV1c2VyY29udGVudC5jb20=" # Enter your Google ID here in base64-encoded format

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (1)
kubernetes/gemini-ingress.yml (1)

34-34: Remove trailing whitespace
Trailing spaces on this line may trigger YAML lint errors. Please trim the extra spaces after 80.

-              number: 80     
+              number: 80
🧰 Tools
🪛 YAMLlint (1.35.1)

[error] 34-34: trailing spaces

(trailing-spaces)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 065f1d1 and 7af1074.

📒 Files selected for processing (1)
  • kubernetes/gemini-ingress.yml (2 hunks)
🧰 Additional context used
🪛 YAMLlint (1.35.1)
kubernetes/gemini-ingress.yml

[error] 34-34: trailing spaces

(trailing-spaces)

🔇 Additional comments (2)
kubernetes/gemini-ingress.yml (2)

18-18: Align HTTP rule host with TLS host
The HTTP rule host now matches the TLS host (geminishubh.34.251.105.234.nip.io), ensuring consistent routing and SNI handling.


14-14:

Details

❓ Verification inconclusive

Update TLS host to new nip.io domain
The TLS host has been updated to geminishubh.34.251.105.234.nip.io. Ensure that the gemini-tls-secret contains a certificate valid for this domain.

To verify there are no leftover references to the old domain, run:


🏁 Script executed:

#!/bin/bash
# Verify no stale occurrences of the previous domain remain
rg -n 'geminiamitabh.letsdeployit.com'

Length of output: 38


Update TLS host & verify old domain removal
The TLS host has been updated to geminishubh.34.251.105.234.nip.io. Ensure that gemini-tls-secret contains a certificate valid for this domain. I ran rg -n 'geminiamitabh.letsdeployit.com', and it returned no matches—please manually confirm that no references to the old domain remain before approving these changes.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (1)
kubernetes/gemini-ingress.yml (1)

34-34: Remove trailing spaces
Line 34 has trailing spaces which can trigger YAML lint errors. Please remove the extra spaces after 80.

-              number: 80     
+              number: 80
🧰 Tools
🪛 YAMLlint (1.35.1)

[error] 34-34: trailing spaces

(trailing-spaces)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 7af1074 and 59f940b.

📒 Files selected for processing (1)
  • kubernetes/gemini-ingress.yml (2 hunks)
🧰 Additional context used
🪛 YAMLlint (1.35.1)
kubernetes/gemini-ingress.yml

[error] 34-34: trailing spaces

(trailing-spaces)

🔇 Additional comments (2)
kubernetes/gemini-ingress.yml (2)

14-14: Updated TLS host entry
The TLS hosts entry has been updated to geminishubh.34.251.105.234.nip.io. Ensure this hostname is properly configured in DNS and that cert-manager will successfully issue a certificate for it.


18-18: Updated Ingress rule host
The HTTP rules host now matches the TLS host. Confirm your Ingress controller is receiving traffic for geminishubh.34.251.105.234.nip.io and routing it to the correct services.

Copy link

@coderabbitai coderabbitai bot left a 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)
kubernetes/gemini-deployment.yml (1)

18-29: Harden Pod Security Settings
No securityContext is defined, so the container runs with default privileges (often as root). To satisfy best practices and address Checkov warnings (CKV_K8S_20, CKV_K8S_23), consider adding a securityContext to the pod or container:

    spec:
      containers:
      - name: gemini
        securityContext:
          runAsNonRoot: true
          allowPrivilegeEscalation: false

This will minimize the risk of privilege escalation and ensure the container does not run as root.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 59f940b and cca367a.

📒 Files selected for processing (1)
  • kubernetes/gemini-deployment.yml (2 hunks)
🧰 Additional context used
🪛 Checkov (3.2.334)
kubernetes/gemini-deployment.yml

[MEDIUM] 1-60: Containers should not run with allowPrivilegeEscalation

(CKV_K8S_20)


[MEDIUM] 1-60: Minimize the admission of root containers

(CKV_K8S_23)

🔇 Additional comments (1)
kubernetes/gemini-deployment.yml (1)

59-60: Verify New Environment Variable
You’ve added the NEXT_PUBLIC_API_KEY env var sourced from gemini-secret. Ensure that the gemini-secret Kubernetes Secret contains the NEXT_PUBLIC_API_KEY key and that its value is intended to be exposed to the application.

🧰 Tools
🪛 Checkov (3.2.334)

[MEDIUM] 1-60: Containers should not run with allowPrivilegeEscalation

(CKV_K8S_20)


[MEDIUM] 1-60: Minimize the admission of root containers

(CKV_K8S_23)

containers:
- name: gemini
image: amitabhdevops/geminiprod:v1
image: devshubh2204/geminiclonenip:latest
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Align and Pin Container Image Reference
The image reference was updated to devshubh2204/geminiclonenip:latest, but using the latest tag can lead to unpredictable deployments and cache invalidation issues. Also, ensure that this repository name matches the one configured in your Jenkins pipeline (the PR summary mentions devshubh2204/geminishubham).

Please:

  • Confirm the correct image repository name and that it’s consistent across all CI/CD manifests.
  • Replace :latest with an explicit, immutable tag (e.g., :v2.0.0) to guarantee reproducible deployments.

I’ll check for all occurrences of the devshubh2204 image reference across your manifests and any CI/CD definitions to confirm consistency. Hold tight while I gather that.


🏁 Script executed:

#!/bin/bash
set -e

echo "1. Looking for Jenkins pipeline or Groovy definitions…"
find . -type f \( -iname Jenkinsfile -o -iname '*.groovy' -o -iname '*pipeline*' \) -maxdepth 2 || echo "  → None found"

echo
echo "2. Scanning for all `devshubh2204` references…"
rg -n "devshubh2204" .

echo
echo "3. Scanning Kubernetes manifests for image lines…"
rg -n "image:" -g "kubernetes/*.yml"

Length of output: 1196


Align Image Repository Name & Pin Image Tag
There’s a mismatch between the image in kubernetes/gemini-deployment.yml and your Jenkins pipeline, and using :latest will lead to non-reproducible deployments.

Please choose one of the following fixes:

  • If the intended repo name is geminishubham (as your Jenkinsfile’s sed expects):

    1. Update kubernetes/gemini-deployment.yml at line 20:
      - image: devshubh2204/geminiclonenip:latest
      + image: devshubh2204/geminishubham:${params.GEMINI_DOCKER_TAG}
    2. Remove any other :latest tags (e.g. in kubernetes/nginx-deployment.yml) and replace with immutable version tags.
  • If you want to keep geminiclonenip as the repo:

    1. Change the sed in GitOps/Jenkinsfile (line 32) to target geminiclonenip instead of geminishubham.
    2. Pin the tag in the manifest similarly:
      - image: devshubh2204/geminiclonenip:latest
      + image: devshubh2204/geminiclonenip:${params.GEMINI_DOCKER_TAG}

Either way, avoid :latest so deployments remain deterministic.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
image: devshubh2204/geminiclonenip:latest
image: devshubh2204/geminishubham:${params.GEMINI_DOCKER_TAG}

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (2)
kubernetes/cert-issuer.yml (2)

11-11: Cleanup outdated placeholder comment

The inline comment # Replace with your email address is no longer necessary now that the email is specified. Removing it will improve readability and prevent confusion.

-    email: [email protected] # Replace with your email address
+    email: [email protected]

21-21: Remove trailing whitespace

YAMLlint flagged trailing spaces on this blank line. Removing them will clean up the file and eliminate lint warnings.

-  
+
🧰 Tools
🪛 YAMLlint (1.35.1)

[error] 21-21: trailing spaces

(trailing-spaces)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 748c8f8 and 0a4d7d9.

📒 Files selected for processing (1)
  • kubernetes/cert-issuer.yml (2 hunks)
🧰 Additional context used
🪛 YAMLlint (1.35.1)
kubernetes/cert-issuer.yml

[error] 21-21: trailing spaces

(trailing-spaces)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant