-
Notifications
You must be signed in to change notification settings - Fork 14
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
enhance(lti): add new LTI service #4159
Conversation
Warning Rate limit exceeded@rschlaefli has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 11 minutes and 34 seconds before requesting another review. How to resolve this issue?After the wait time has elapsed, a review can be triggered using the 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. WalkthroughWalkthroughThis update enhances the Changes
Poem
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
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 as PR comments)
Additionally, you can add CodeRabbit Configuration File (
|
|
GitGuardian id | GitGuardian status | Secret | Commit | Filename | |
---|---|---|---|---|---|
1509424 | Triggered | Generic Password | 9242737 | docker-compose.yml | View secret |
🛠 Guidelines to remediate hardcoded secrets
- Understand the implications of revoking this secret by investigating where it is used in your code.
- Replace and store your secret safely. Learn here the best practices.
- Revoke and rotate this secret.
- If possible, rewrite git history. Rewriting git history is not a trivial act. You might completely break other contributing developers' workflow and you risk accidentally deleting legitimate data.
To avoid such incidents in the future consider
- following these best practices for managing and storing secrets including API keys and other credentials
- install secret detection on pre-commit to catch secret before it leaves your machine and ease remediation.
🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.
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: 7
Outside diff range, codebase verification and nitpick comments (1)
apps/lti/src/index.ts (1)
1-1
: Consider enabling TypeScript checks.The
@ts-nocheck
directive disables TypeScript type checking for the entire file. Consider enabling type checks to catch potential type-related issues and improve code quality.- // @ts-nocheck
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files ignored due to path filters (1)
pnpm-lock.yaml
is excluded by!**/pnpm-lock.yaml
Files selected for processing (19)
- .github/workflows/v3_lti-service-prod.yml (1 hunks)
- .github/workflows/v3_lti-service-qa.yml (1 hunks)
- apps/backend-docker/package.json (1 hunks)
- apps/func-incoming-responses/package.json (1 hunks)
- apps/func-response-processor/package.json (1 hunks)
- apps/lti/.dockerignore (1 hunks)
- apps/lti/.gitignore (1 hunks)
- apps/lti/Dockerfile (1 hunks)
- apps/lti/_ngrok.sh (1 hunks)
- apps/lti/package.json (1 hunks)
- apps/lti/src/index.ts (1 hunks)
- apps/lti/tsup.config.ts (1 hunks)
- deploy/charts/klicker-uzh-v2/templates/cm-lti.yaml (1 hunks)
- deploy/charts/klicker-uzh-v2/templates/deployment-app.yaml (1 hunks)
- deploy/charts/klicker-uzh-v2/templates/secret-lti.yaml (1 hunks)
- deploy/charts/klicker-uzh-v2/values.yaml (1 hunks)
- docker-compose.yml (2 hunks)
- packages/graphql/package.json (1 hunks)
- packages/prisma/package.json (1 hunks)
Files skipped from review due to trivial changes (8)
- apps/func-incoming-responses/package.json
- apps/lti/.dockerignore
- apps/lti/.gitignore
- apps/lti/_ngrok.sh
- apps/lti/package.json
- apps/lti/tsup.config.ts
- packages/graphql/package.json
- packages/prisma/package.json
Additional context used
yamllint
deploy/charts/klicker-uzh-v2/templates/secret-lti.yaml
[error] 4-4: syntax error: expected , but found ''
(syntax)
deploy/charts/klicker-uzh-v2/templates/cm-lti.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
Additional comments not posted (22)
.github/workflows/v3_lti-service-prod.yml (2)
30-35
: Verify Docker login credentials.Ensure that the GitHub token used for Docker login has the necessary permissions to push images to the registry.
3-9
: Ensure correct trigger configuration.The workflow is triggered on tag pushes and changes to specific paths. Verify that these triggers align with your intended deployment strategy.
apps/func-response-processor/package.json (1)
27-27
: Verify compatibility ofdotenv
update.The
dotenv
package has been updated to version16.4.5
. Ensure that this version is compatible with the rest of your application and does not introduce breaking changes.Verification successful
The
dotenv
update to version 16.4.5 is compatible.The changelog from version 16.0.3 to 16.4.5 does not indicate any breaking changes. The updates are primarily additive, introducing new features and options without removing existing functionality. Therefore, this update should be safe for your application.
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify compatibility of the updated `dotenv` package. # Test: Check for breaking changes in the `dotenv` changelog between versions 16.0.3 and 16.4.5. curl -s https://raw.githubusercontent.com/motdotla/dotenv/master/CHANGELOG.md | grep -A 10 '16.0.3'Length of output: 1384
Script:
#!/bin/bash # Description: Check for breaking changes in the `dotenv` changelog from versions 16.1.0 to 16.4.5. curl -s https://raw.githubusercontent.com/motdotla/dotenv/master/CHANGELOG.md | grep -A 10 -E '16.1.0|16.2.0|16.3.0|16.4.0'Length of output: 2846
.github/workflows/v3_lti-service-qa.yml (3)
3-17
: Ensure correct QA trigger configuration.The workflow is triggered on branch pushes and pull requests. Verify that these triggers align with your QA strategy.
38-43
: Verify Docker login credentials for QA.Ensure that the GitHub token used for Docker login in the QA workflow has the necessary permissions.
56-56
: Review conditional Docker image push logic.The Docker image is only pushed if the event is not a pull request. Ensure this logic aligns with your QA deployment strategy.
Verification successful
Conditional Docker Image Push Logic Aligns with QA Strategy
The conditional logic to push Docker images only when the event is not a pull request is consistently used across multiple QA workflows. This indicates that it aligns with the QA deployment strategy to avoid deploying unmerged changes.
.github/workflows/v3_auth-qa.yml
.github/workflows/v3_frontend-control-docker-qa.yml
.github/workflows/v3_frontend-manage-docker-qa.yml
.github/workflows/v3_frontend-pwa-docker-qa.yml
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify conditional logic for Docker image push. # Test: Check if the logic aligns with the QA deployment strategy. echo "Ensure that the logic aligns with the QA deployment strategy."Length of output: 132
Script:
#!/bin/bash # Find all YAML files in the .github/workflows directory to gather context about the deployment strategy. fd --extension yml --search-path .github/workflowsLength of output: 1139
Script:
#!/bin/bash # Extract contents of QA-related YAML files to understand the deployment strategy. cat .github/workflows/v3_auth-qa.yml cat .github/workflows/v3_frontend-control-docker-qa.yml cat .github/workflows/v3_frontend-manage-docker-qa.yml cat .github/workflows/v3_frontend-pwa-docker-qa.yml cat .github/workflows/v3_klickeruzhprod-response-processor(qa).yml cat .github/workflows/v3_klickeruzhprod-responses(qa).yml cat .github/workflows/v3_lti-service-qa.ymlLength of output: 7028
apps/backend-docker/package.json (1)
58-58
: Verify compatibility with the updated dotenv package.The
dotenv
package has been updated from version16.0.3
to16.4.5
. Ensure that there are no breaking changes affecting how environment variables are loaded and used within the application. Testing the application is recommended to confirm compatibility.Verification successful
Verification Successful: No compatibility issues with dotenv update
The usage of
dotenv
with the-r dotenv/config
pattern is consistent and standard across the codebase. There are no indications of compatibility issues with version16.4.5
. The update appears to be compatible with the existing usage patterns.
apps/lti/package.json
: Uses-r dotenv/config
in start scripts.apps/backend-docker/package.json
: Uses-r dotenv/config
in start scripts.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify compatibility with the updated dotenv package. # Test: Check for breaking changes in the dotenv changelog. # Note: This requires internet access, which is not available in the current environment. # Instead, review the changelog at: https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md # Test: Search for dotenv usage in the codebase. Expect: No issues with loading environment variables. rg --type js --type ts --type json 'dotenv'Length of output: 839
Script:
#!/bin/bash # Search for dotenv usage patterns in the codebase to verify compatibility. # Specifically look for the usage of `-r dotenv/config` in start scripts or any other configuration patterns. rg --type js --type ts --type json 'dotenv/config'Length of output: 448
Script:
#!/bin/bash # Check for any comments or documentation in the codebase that might indicate compatibility issues with dotenv. rg --type js --type ts --type json 'dotenv' -A 5Length of output: 3322
apps/lti/src/index.ts (2)
3-3
: Ensure environment variables are defined.The application relies heavily on environment variables. Ensure that all required environment variables are defined and properly loaded to avoid runtime errors.
9-22
: Review the commented-out database connection code.The database connection setup using
ltijs-sequelize
is commented out. Verify if this is intentional for testing purposes or if it needs to be included for the full functionality of the LTI service.docker-compose.yml (1)
125-135
: Verify MongoDB service configuration and integration.A new MongoDB service
lti_db
has been added. Ensure that it is correctly configured and integrated into the application. Check the application code for any MongoDB usage and test the database connection.deploy/charts/klicker-uzh-v2/values.yaml (7)
268-270
: Image configuration looks good.The Docker image repository and pull policy are correctly specified.
272-274
: Service specifications are appropriate.The service type
ClusterIP
and port4000
are suitable for the LTI service.
276-280
: Ingress settings are correctly configured.The ingress annotations for body size and certificate management are appropriate.
282-295
: Resource management and autoscaling configuration are appropriate.The specified resource requests, limits, and autoscaling parameters are reasonable and well-configured.
297-301
: Node affinity and tolerations are ready for future customization.The inclusion of empty
nodeSelector
,tolerations
, andaffinity
fields allows for future customization.
251-259
: Verify sensitive configuration values.Ensure that sensitive configuration values such as
clientId
,redirectURL
,cookieDomain
, andencryptionKey
are securely managed and not exposed in the codebase.Verification successful
Sensitive configuration values are securely managed.
The configuration values for
clientId
,redirectURL
,cookieDomain
, andencryptionKey
are placeholders invalues.yaml
and are not hardcoded. They are designed to be provided at deployment time, ensuring that sensitive data is not exposed in the codebase.
deploy/charts/klicker-uzh-v2/values.yaml
: Contains placeholders for sensitive values.deploy/env-qa-v3/helmfile.yaml
anddeploy/env-prod-v3/helmfile.yaml
: Use environment variables forcookieDomain
.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify that sensitive configuration values are not exposed in the codebase. # Test: Search for occurrences of sensitive keys in the codebase. Expect: No hardcoded sensitive values. rg --type yaml 'clientId|redirectURL|cookieDomain|encryptionKey'Length of output: 1040
261-266
: Ensure secure management of database credentials.Verify that database credentials (
host
,port
,name
,username
,password
) are stored securely, such as in Kubernetes Secrets, and not hardcoded.deploy/charts/klicker-uzh-v2/templates/deployment-app.yaml (5)
392-400
: Metadata and strategy configuration are correct.The metadata, including name and labels, and the strategy configuration are well-defined and flexible.
402-408
: Replicas and selectors configuration are appropriate.The replica count and selectors are correctly configured, aligning with autoscaling settings.
410-414
: Template metadata and annotations are correctly set.The annotations for config and secret checksums ensure proper configuration management.
430-457
: Container specifications are well-defined.The container specifications, including security context, image, ports, and environment variables, are complete and secure.
459-469
: Node affinity and tolerations are ready for future customization.The inclusion of empty
nodeSelector
,tolerations
, andaffinity
fields allows for future customization.
apiVersion: v1 | ||
kind: Secret | ||
metadata: | ||
name: {{ include "chart.fullname" . }}-secret-lti |
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.
Fix syntax error in Secret metadata.
The yamllint
error indicates a syntax issue at line 4. Ensure that the templating syntax is correct and that the include
function is properly used.
- name: {{ include "chart.fullname" . }}-secret-lti
+ name: "{{ include \"chart.fullname\" . }}-secret-lti"
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.
name: {{ include "chart.fullname" . }}-secret-lti | |
name: "{{ include \"chart.fullname\" . }}-secret-lti" |
Tools
yamllint
[error] 4-4: syntax error: expected , but found ''
(syntax)
env: | ||
REGISTRY: ghcr.io | ||
IMAGE_NAME: ${{ github.repository }}/lti-service |
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.
Consider parameterizing the registry and image name.
While the registry and image name are defined as environment variables, consider using repository or organization secrets for better security and flexibility.
env:
REGISTRY: ${{ secrets.REGISTRY || 'ghcr.io' }}
IMAGE_NAME: ${{ secrets.IMAGE_NAME || github.repository }}/lti-service
@@ -0,0 +1,15 @@ | |||
{{- $fullName := include "chart.fullname" . -}} |
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.
Fix syntax error in ConfigMap template.
The yamllint
error indicates a syntax issue at line 1. Ensure that the templating syntax is correct and that the include
function is properly used.
-{{- $fullName := include "chart.fullname" . -}}
+{{ $fullName := include "chart.fullname" . }}
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.
{{- $fullName := include "chart.fullname" . -}} | |
{{ $fullName := include "chart.fullname" . }} |
Tools
yamllint
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
apps/lti/Dockerfile
Outdated
|
||
EXPOSE 4000 | ||
|
||
CMD npm start |
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.
Consider specifying a non-root user for running the application.
Running applications as a non-root user enhances security. Ensure that the npm start
command is executed by the nodejs
user.
- CMD npm start
+ CMD ["npm", "start"]
Committable suggestion was skipped due to low confidence.
WORKDIR /app | ||
|
||
RUN apk add --no-cache libc6-compat | ||
RUN apk update |
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.
Remove redundant apk update
command.
The apk update
command is unnecessary since --no-cache
is used with apk add
. This can be removed to streamline the build process.
- RUN apk update
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.
RUN apk update |
WORKDIR /app | ||
|
||
RUN apk add --no-cache libc6-compat | ||
RUN apk update |
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.
Remove redundant apk update
command.
The apk update
command is unnecessary since --no-cache
is used with apk add
. This can be removed to streamline the build process.
- RUN apk update
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.
RUN apk update |
- name: lti | ||
securityContext: | ||
{{- toYaml .Values.lti.securityContext | nindent 12 }} | ||
image: "{{ .Values.lti.image.repository }}:{{ .Values.lti.image.tag | default .Chart.AppVersion }}" | ||
imagePullPolicy: {{ .Values.lti.image.pullPolicy }} | ||
ports: | ||
- name: http | ||
containerPort: 4000 | ||
protocol: TCP | ||
env: | ||
- name: NODE_ENV | ||
value: production | ||
envFrom: | ||
- configMapRef: | ||
name: {{ include "chart.fullname" . }}-config-lti | ||
- secretRef: | ||
name: {{ include "chart.fullname" . }}-secret-lti | ||
# TODO: add liveness and readiness probes to container | ||
# livenessProbe: | ||
# httpGet: | ||
# path: /healthz | ||
# port: http | ||
# initialDelaySeconds: 600 | ||
# readinessProbe: | ||
# httpGet: | ||
# path: /healthz | ||
# port: http | ||
resources: |
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.
Address the TODO for liveness and readiness probes.
Consider implementing liveness and readiness probes to monitor container health.
Would you like assistance in defining these probes or opening a GitHub issue to track this task?
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: 0
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files ignored due to path filters (1)
pnpm-lock.yaml
is excluded by!**/pnpm-lock.yaml
Files selected for processing (5)
- .github/workflows/v3_lti-prod.yml (1 hunks)
- .github/workflows/v3_lti-qa.yml (1 hunks)
- apps/lti/Dockerfile (1 hunks)
- apps/lti/package.json (1 hunks)
- apps/lti/src/index.ts (1 hunks)
Files skipped from review as they are similar to previous changes (3)
- apps/lti/Dockerfile
- apps/lti/package.json
- apps/lti/src/index.ts
Additional comments not posted (10)
.github/workflows/v3_lti-prod.yml (5)
3-9
: Trigger configuration looks good.The workflow is appropriately triggered on pushes to version tags and relevant paths, aligning with best practices for production builds.
10-13
: Environment variable setup is appropriate.Using environment variables for the registry and image name improves maintainability and clarity.
14-20
: Job configuration is standard and appropriate.The job runs on
ubuntu-latest
with necessary permissions set, which is suitable for Docker build and push operations.
21-29
: Environment setup steps are necessary and well-implemented.Checking out the repository and setting up QEMU and Docker Buildx are crucial for building multi-platform Docker images.
30-50
: Docker steps are well-structured. Verify Dockerfile path.The steps for logging into the registry, extracting metadata, and building and pushing the Docker image are well-structured. Ensure that the Dockerfile path
apps/lti/Dockerfile
is correct.Verification successful
Dockerfile path is correct.
The Dockerfile exists at the specified path
./apps/lti/Dockerfile
, confirming the workflow configuration is correct. No further action is needed.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the existence of the Dockerfile at the specified path. # Test: Check if the Dockerfile exists. Expect: The file should exist. fd -H 'Dockerfile' --exec echo 'Dockerfile found at: {}' || echo 'Dockerfile not found'Length of output: 486
.github/workflows/v3_lti-qa.yml (5)
3-17
: Trigger configuration is suitable for QA.The workflow is triggered on pushes to specific branches and paths, as well as pull requests, which is appropriate for a QA environment.
18-21
: Environment variable setup is consistent and appropriate.Using environment variables for the registry and image name is consistent with the production workflow and aids maintainability.
22-28
: Job configuration is standard and appropriate.The job runs on
ubuntu-latest
with necessary permissions set, mirroring the production workflow.
29-37
: Environment setup steps are necessary and well-implemented.Checking out the repository and setting up QEMU and Docker Buildx are crucial for building multi-platform Docker images, consistent with the production workflow.
38-58
: Docker steps are well-structured. Verify Dockerfile path.The steps for logging into the registry, extracting metadata, and conditionally building and pushing the Docker image are well-structured. The conditional push for pull requests is a good practice. Ensure that the Dockerfile path
apps/lti/Dockerfile
is correct.Verification successful
Dockerfile path is correct.
The Dockerfile path
apps/lti/Dockerfile
specified in the GitHub Actions workflow is correct and exists in the repository. No issues found with the Dockerfile path configuration.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the existence of the Dockerfile at the specified path. # Test: Check if the Dockerfile exists. Expect: The file should exist. fd -H 'Dockerfile' --exec echo 'Dockerfile found at: {}' || echo 'Dockerfile not found'Length of output: 486
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
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (1)
- apps/lti/package.json (1 hunks)
Additional context used
Biome
apps/lti/package.json
[error] 37-37: Expected a property but instead found '}'.
Expected a property here.
(parse)
Additional comments not posted (7)
apps/lti/package.json (7)
1-4
: Package metadata looks good.The package name, version, and license are correctly defined.
5-10
: Ensure the module type and main entry point are correct.The package is defined as a module with the entry point set to
dist/index.js
. Ensure that this aligns with your build output.
11-14
: Dependencies are well-defined.The dependencies include
cross-env
andltijs
, which are appropriate for environment configuration and LTI integration, respectively.
15-22
: DevDependencies are appropriate for development.The devDependencies include TypeScript, nodemon, and other tools that support development and testing.
23-36
: Review the scripts section for completeness and correctness.The scripts cover build, development, testing, and formatting tasks. Ensure all scripts are tested and function as expected.
38-40
: Node engine version is specified.The engines field specifies Node version 20. Ensure your environment supports this version.
41-43
: Volta configuration extends the root package.json.This configuration ensures consistency in tooling versions across the project.
"format": "prettier --write .", | ||
"format:check": "prettier --check .", | ||
"start": "node --env-file=.env dist/index.js", | ||
}, |
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.
Fix the trailing comma in the scripts section.
The static analysis tool flagged an issue with a trailing comma. This should be removed to comply with JSON syntax.
- "start": "node --env-file=.env dist/index.js",
+ "start": "node --env-file=.env dist/index.js"
Committable suggestion was skipped due to low confidence.
Tools
Biome
[error] 37-37: Expected a property but instead found '}'.
Expected a property here.
(parse)
Quality Gate failedFailed conditions See analysis details on SonarCloud Catch issues before they fail your Quality Gate with our IDE extension SonarLint |
Test summaryRun details
This comment has been generated by cypress-bot as a result of this project's GitHub integration settings. You can manage this integration in this project's settings in the Cypress Cloud |
Test summaryRun details
Flakiness
This comment has been generated by cypress-bot as a result of this project's GitHub integration settings. You can manage this integration in this project's settings in the Cypress Cloud |
memory: 500Mi | ||
|
||
autoscaling: | ||
enabled: true |
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.
Is autoscaling enabled on purpose here, and does it react quickly enough to handle a suddenly increased demand in LTI requests? What happens, if the service is not able to react sufficiently quickly during a surge in demand - are requests dropped and the automated login to OLAT fails?
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.
Nice to have LTI available for the automated OLAT login through a separate service! 🤩
Summary by CodeRabbit
New Features
Dockerfile
for thelti-service
application to enhance build efficiency and security.docker-compose.yml
file.@klicker-uzh/lti-service
package.Bug Fixes
dotenv
package across several projects to the latest version, potentially fixing related issues.Chores
Documentation
package.json
files to reflect new dependencies and configurations for various applications.