Comments (1)
Setup
Current setup for remote deployment
Deployment Server
Currently running a remote setup of the deployment-server on https://deployment.sanctum-dev.com
- Dashboard is available under the described URL
- There is currently one mock device in the database
Nginx Setup
Using a reverse-proxy with Nginx to manage the connection to the deployment-server API and the dashboard
Requires a small addition to the default nginx-reverse-proxy-configuration to support the WebSockets
The connection is routed over Cloudflare (without an enabled Origin-Certificate), which is why there is only a port 80 configuration but the connection is encrypted.
Nginx Config:
server {
listen 80;
listen [::]:80;
server_name domain.tld;
access_log /var/log/nginx/reverse-access.log;
error_log /var/log/nginx/reverse-error.log;
location / {
proxy_pass http://127.0.0.1:3001;
proxy_http_version 1.1;
proxy_cache_bypass $http_upgrade;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-Port $server_port;
# Websocket Support
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
Device Connector
The Device Connector was run remotely from another machine for testing purposes. Thanks to @theZasa for the help.
A general connector is currently not running remotely as we do not have access to a public machine we can attach hardware to.
- Change the following lines in the .env file (device-connector folder or .docker folder depending on how it's executed):
- DEPLOY_IP='deployment.sanctum-dev.com'
- DEPLOY_PORT=443
- DEPLOY_SECURE=true
Theia
Current workaround until settings exist:
- Change the lines in
cdtcloud/src/node/config-service.ts
to the correct domain- host: deployment.sanctum-dev.com
- port: 443
- secure: true
Arduino-Cli
Run as per usual
Tests
Deployment Server
- The Deployment Server is running flawlessly
- The API shows no issues and is working fine
Admin Dashboard
- The main Dashboard works fine
- The Deployments page shows correct data
- The Deployments artifact download links are broken due to a violation of the content security policy - This is caused by the artifactUrl being stored as insecure URL (http) with the server running a secure connection in our test case
Refused to connect to 'http://deployment.sanctum-dev.com/api/deployment-artifacts/77ccff26-6f71-4894-922e-e4658ca06d82.bin' because it violates the document's Content Security Policy.
0717616 - #105
- The Device Types page shows correct data
- The Device Types images are broken due to a 'wrong origin'
GET https://raw.githubusercontent.com/fritzing/fritzing-parts/main/svg/core/breadboard/arduino_uno(rev3)-icsp_breadboard.svg net::ERR_BLOCKED_BY_RESPONSE.NotSameOriginAfterDefaultedToSameOriginByCoep 200
3401b85 - Websockets issue when using proxies with TLS only on one side remotely 1925259
Device Connector
- Starts and connects fine to the cli and the deployment server
- Currently running into issues during deployment. Failing at board reset
INFO[0034] Performing 1200-bps touch reset on serial port COM3 phase="board reset" 0717616aa285986cfe63ad4faaddc8a76c1ccf31 | ERROR: rpc error: code = Internal desc = Failed uploading: uploading error: exit status 3221225620
Theia
- Starting and connecting to the deployment server and arduino-cli without issues
- Compiling code works
- Deployment request sent fine
- Failing deployment due to the board reset error in the device connector - could therefore not be tested completely yet 0717616
from cdtcloud-deploymentserver.
Related Issues (20)
- fix ignored lint errors in deployment-server-ui + cdtcloud
- Review Feedback HOT 1
- check compatibility of GPU licenses used in Arduino with EPL HOT 2
- fix deployment-server-ui Devices (White screen)
- [Bug]: deployment-server-ui Devices shows a white screen HOT 1
- [Bug]: WebSockets lose connection after a while
- [Feature]: Modularity for different device types/core support
- [Documentation]: Refine readme
- POC: Allow observing hardware via Webcam [13]
- Update FrontEnd Configuration [5]
- Fix Monitoring Output/ Terminal Streams [8] HOT 1
- Animations/ Transitions in Frontend [3]
- Use Correct Color Schemes [3]
- RpcClient Overhaul [3]
- Add CI (via Github actions) HOT 1
- Add basic test coverage [5]
- Add documentations (readme) [2] HOT 1
- Add issue templates to repo [1]
- [Bug]: CI Test Failing (Device-Connector)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cdtcloud-deploymentserver.