use @connect-lastmile

This commit is contained in:
Girish Ramakrishnan
2025-07-10 11:00:31 +02:00
parent 6ac0cd421a
commit bba48f455e
45 changed files with 84 additions and 83 deletions

13
package-lock.json generated
View File

@@ -11,6 +11,7 @@
"@aws-sdk/client-route-53": "^3.825.0",
"@aws-sdk/client-s3": "^3.825.0",
"@aws-sdk/lib-storage": "^3.825.0",
"@cloudron/connect-lastmile": "^2.2.1",
"@cloudron/superagent": "^1.0.0",
"@google-cloud/dns": "^5.2.0",
"@google-cloud/storage": "^7.16.0",
@@ -20,7 +21,6 @@
"async": "^3.2.6",
"cloudron-manifestformat": "^5.27.0",
"connect": "^3.7.0",
"connect-lastmile": "^2.2.0",
"connect-timeout": "^1.9.0",
"cookie-parser": "^1.4.7",
"cookie-session": "^2.1.0",
@@ -1083,6 +1083,12 @@
"version": "1.0.2",
"license": "Apache-2.0"
},
"node_modules/@cloudron/connect-lastmile": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/@cloudron/connect-lastmile/-/connect-lastmile-2.2.1.tgz",
"integrity": "sha512-hi5AcFHQNu0HrJM32vCq3kyEv4qJfAUgU6XSCCOYQ/E+CLQzz9VTH6gqx0kmQpsVtwV5ji6nVGONHTj7MHu1Og==",
"license": "MIT"
},
"node_modules/@cloudron/superagent": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/@cloudron/superagent/-/superagent-1.0.0.tgz",
@@ -3450,11 +3456,6 @@
"node": ">= 0.10.0"
}
},
"node_modules/connect-lastmile": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/connect-lastmile/-/connect-lastmile-2.2.0.tgz",
"integrity": "sha512-n7QTT2QTM02g0ZlAP3RjETikmltWdW9CD3xrVhvsC15wIFHBZgC1aMtUkRzxI/2d7l4TKXQ98LnOIMuhXhkHFw=="
},
"node_modules/connect-timeout": {
"version": "1.9.0",
"license": "MIT",

View File

@@ -15,6 +15,7 @@
"@aws-sdk/client-route-53": "^3.825.0",
"@aws-sdk/client-s3": "^3.825.0",
"@aws-sdk/lib-storage": "^3.825.0",
"@cloudron/connect-lastmile": "^2.2.1",
"@cloudron/superagent": "^1.0.0",
"@google-cloud/dns": "^5.2.0",
"@google-cloud/storage": "^7.16.0",
@@ -24,7 +25,6 @@
"async": "^3.2.6",
"cloudron-manifestformat": "^5.27.0",
"connect": "^3.7.0",
"connect-lastmile": "^2.2.0",
"connect-timeout": "^1.9.0",
"cookie-parser": "^1.4.7",
"cookie-session": "^2.1.0",

View File

@@ -17,7 +17,7 @@ ExecStart=/home/yellowtent/box/box.js
ExecReload=/bin/kill -HUP $MAINPID
; we run commands like df which will parse properly only with correct locale
; add "oidc-provider:*" to DEBUG for OpenID debugging
Environment="HOME=/home/yellowtent" "USER=yellowtent" "DEBUG=box:*,connect-lastmile,-box:ldap" "BOX_ENV=cloudron" "NODE_ENV=production" "LC_ALL=C"
Environment="HOME=/home/yellowtent" "USER=yellowtent" "DEBUG=box:*,@cloudron/connect-lastmile,-box:ldap" "BOX_ENV=cloudron" "NODE_ENV=production" "LC_ALL=C"
; this sends the main process SIGTERM and then if anything lingers to the control-group . this is also the case if the main process crashes.
; the box code handles SIGTERM and cleanups the tasks
KillMode=mixed

View File

@@ -3,7 +3,7 @@
'use strict';
const assert = require('assert'),
HttpError = require('connect-lastmile').HttpError,
HttpError = require('@cloudron/connect-lastmile').HttpError,
util = require('util');
exports = module.exports = BoxError;

View File

@@ -11,7 +11,7 @@ const apps = require('./apps.js'),
express = require('express'),
debug = require('debug')('box:dockerproxy'),
http = require('http'),
HttpError = require('connect-lastmile').HttpError,
HttpError = require('@cloudron/connect-lastmile').HttpError,
middleware = require('./middleware'),
net = require('net'),
path = require('path'),

View File

@@ -4,7 +4,7 @@ exports = module.exports = {
cookieParser: require('cookie-parser'),
cors: require('./cors.js'),
json: require('./json.js'),
lastMile: require('connect-lastmile'),
lastMile: require('@cloudron/connect-lastmile'),
multipart: require('./multipart.js'),
timeout: require('connect-timeout')
};

View File

@@ -29,7 +29,7 @@ const assert = require('assert'),
path = require('path'),
paths = require('./paths.js'),
http = require('http'),
HttpError = require('connect-lastmile').HttpError,
HttpError = require('@cloudron/connect-lastmile').HttpError,
jose = require('jose'),
safe = require('safetydance'),
settings = require('./settings.js'),

View File

@@ -16,8 +16,8 @@ const apps = require('./apps.js'),
express = require('express'),
hat = require('./hat.js'),
http = require('http'),
HttpError = require('connect-lastmile').HttpError,
HttpSuccess = require('connect-lastmile').HttpSuccess,
HttpError = require('@cloudron/connect-lastmile').HttpError,
HttpSuccess = require('@cloudron/connect-lastmile').HttpSuccess,
jwt = require('jsonwebtoken'),
middleware = require('./middleware'),
oidcServer = require('./oidcserver.js'),

View File

@@ -12,7 +12,7 @@ const apps = require('../apps.js'),
tokens = require('../tokens.js'),
assert = require('assert'),
BoxError = require('../boxerror.js'),
HttpError = require('connect-lastmile').HttpError,
HttpError = require('@cloudron/connect-lastmile').HttpError,
safe = require('safetydance'),
users = require('../users.js');

View File

@@ -15,8 +15,8 @@ const assert = require('assert'),
applinks = require('../applinks.js'),
BoxError = require('../boxerror.js'),
safe = require('safetydance'),
HttpError = require('connect-lastmile').HttpError,
HttpSuccess = require('connect-lastmile').HttpSuccess;
HttpError = require('@cloudron/connect-lastmile').HttpError,
HttpSuccess = require('@cloudron/connect-lastmile').HttpSuccess;
async function load(req, res, next) {
assert.strictEqual(typeof req.params.id, 'string');

View File

@@ -10,8 +10,8 @@ exports = module.exports = {
const appPasswords = require('../apppasswords.js'),
assert = require('assert'),
BoxError = require('../boxerror.js'),
HttpError = require('connect-lastmile').HttpError,
HttpSuccess = require('connect-lastmile').HttpSuccess,
HttpError = require('@cloudron/connect-lastmile').HttpError,
HttpSuccess = require('@cloudron/connect-lastmile').HttpSuccess,
safe = require('safetydance');
async function get(req, res, next) {

View File

@@ -78,8 +78,8 @@ const apps = require('../apps.js'),
BoxError = require('../boxerror.js'),
constants = require('../constants.js'),
debug = require('debug')('box:routes/apps'),
HttpError = require('connect-lastmile').HttpError,
HttpSuccess = require('connect-lastmile').HttpSuccess,
HttpError = require('@cloudron/connect-lastmile').HttpError,
HttpSuccess = require('@cloudron/connect-lastmile').HttpSuccess,
metrics = require('../metrics.js'),
safe = require('safetydance'),
updater = require('../updater.js'),

View File

@@ -14,7 +14,7 @@ const appstore = require('../appstore.js'),
BoxError = require('../boxerror.js'),
constants = require('../constants.js'),
dashboard = require('../dashboard.js'),
HttpSuccess = require('connect-lastmile').HttpSuccess,
HttpSuccess = require('@cloudron/connect-lastmile').HttpSuccess,
safe = require('safetydance'),
users = require('../users.js'),
_ = require('../underscore.js');

View File

@@ -15,8 +15,8 @@ const apps = require('../apps.js'),
archives = require('../archives.js'),
AuditSource = require('../auditsource.js'),
BoxError = require('../boxerror.js'),
HttpError = require('connect-lastmile').HttpError,
HttpSuccess = require('connect-lastmile').HttpSuccess,
HttpError = require('@cloudron/connect-lastmile').HttpError,
HttpSuccess = require('@cloudron/connect-lastmile').HttpSuccess,
safe = require('safetydance');
async function load(req, res, next) {

View File

@@ -17,8 +17,8 @@ const assert = require('assert'),
constants = require('../constants.js'),
debug = require('debug')('box:routes/cloudron'),
eventlog = require('../eventlog.js'),
HttpError = require('connect-lastmile').HttpError,
HttpSuccess = require('connect-lastmile').HttpSuccess,
HttpError = require('@cloudron/connect-lastmile').HttpError,
HttpSuccess = require('@cloudron/connect-lastmile').HttpSuccess,
oidcClients = require('../oidcclients.js'),
safe = require('safetydance'),
speakeasy = require('speakeasy'),

View File

@@ -20,8 +20,8 @@ const assert = require('assert'),
AuditSource = require('../auditsource.js'),
backups = require('../backups.js'),
BoxError = require('../boxerror.js'),
HttpError = require('connect-lastmile').HttpError,
HttpSuccess = require('connect-lastmile').HttpSuccess,
HttpError = require('@cloudron/connect-lastmile').HttpError,
HttpSuccess = require('@cloudron/connect-lastmile').HttpSuccess,
safe = require('safetydance');
async function list(req, res, next) {

View File

@@ -16,8 +16,8 @@ const assert = require('assert'),
AuditSource = require('../auditsource.js'),
BoxError = require('../boxerror.js'),
branding = require('../branding.js'),
HttpError = require('connect-lastmile').HttpError,
HttpSuccess = require('connect-lastmile').HttpSuccess,
HttpError = require('@cloudron/connect-lastmile').HttpError,
HttpSuccess = require('@cloudron/connect-lastmile').HttpSuccess,
safe = require('safetydance');
async function getFooter(req, res, next) {

View File

@@ -14,8 +14,8 @@ exports = module.exports = {
const assert = require('assert'),
BoxError = require('../boxerror.js'),
cloudron = require('../cloudron.js'),
HttpError = require('connect-lastmile').HttpError,
HttpSuccess = require('connect-lastmile').HttpSuccess,
HttpError = require('@cloudron/connect-lastmile').HttpError,
HttpSuccess = require('@cloudron/connect-lastmile').HttpSuccess,
safe = require('safetydance'),
translations = require('../translations.js');

View File

@@ -11,8 +11,8 @@ const AuditSource = require('../auditsource.js'),
BoxError = require('../boxerror.js'),
constants = require('../constants.js'),
dashboard = require('../dashboard.js'),
HttpError = require('connect-lastmile').HttpError,
HttpSuccess = require('connect-lastmile').HttpSuccess,
HttpError = require('@cloudron/connect-lastmile').HttpError,
HttpSuccess = require('@cloudron/connect-lastmile').HttpSuccess,
safe = require('safetydance');
async function getConfig(req, res, next) {

View File

@@ -9,8 +9,8 @@ const assert = require('assert'),
AuditSource = require('../auditsource.js'),
BoxError = require('../boxerror.js'),
directoryServer = require('../directoryserver.js'),
HttpError = require('connect-lastmile').HttpError,
HttpSuccess = require('connect-lastmile').HttpSuccess,
HttpError = require('@cloudron/connect-lastmile').HttpError,
HttpSuccess = require('@cloudron/connect-lastmile').HttpSuccess,
safe = require('safetydance');
async function getConfig(req, res, next) {

View File

@@ -13,8 +13,8 @@ const assert = require('assert'),
AuditSource = require('../auditsource.js'),
BoxError = require('../boxerror.js'),
dockerRegistries = require('../dockerregistries.js'),
HttpError = require('connect-lastmile').HttpError,
HttpSuccess = require('connect-lastmile').HttpSuccess,
HttpError = require('@cloudron/connect-lastmile').HttpError,
HttpSuccess = require('@cloudron/connect-lastmile').HttpSuccess,
safe = require('safetydance');
async function load(req, res, next) {

View File

@@ -17,8 +17,8 @@ const assert = require('assert'),
BoxError = require('../boxerror.js'),
dns = require('../dns.js'),
domains = require('../domains.js'),
HttpError = require('connect-lastmile').HttpError,
HttpSuccess = require('connect-lastmile').HttpSuccess,
HttpError = require('@cloudron/connect-lastmile').HttpError,
HttpSuccess = require('@cloudron/connect-lastmile').HttpSuccess,
safe = require('safetydance');
async function add(req, res, next) {

View File

@@ -7,8 +7,8 @@ exports = module.exports = {
const BoxError = require('../boxerror.js'),
eventlog = require('../eventlog.js'),
HttpError = require('connect-lastmile').HttpError,
HttpSuccess = require('connect-lastmile').HttpSuccess,
HttpError = require('@cloudron/connect-lastmile').HttpError,
HttpSuccess = require('@cloudron/connect-lastmile').HttpSuccess,
safe = require('safetydance');
async function get(req, res, next) {

View File

@@ -10,8 +10,8 @@ const assert = require('assert'),
AuditSource = require('../auditsource.js'),
BoxError = require('../boxerror.js'),
externalLdap = require('../externalldap.js'),
HttpError = require('connect-lastmile').HttpError,
HttpSuccess = require('connect-lastmile').HttpSuccess,
HttpError = require('@cloudron/connect-lastmile').HttpError,
HttpSuccess = require('@cloudron/connect-lastmile').HttpSuccess,
safe = require('safetydance');
async function sync(req, res, next) {

View File

@@ -7,7 +7,7 @@ exports = module.exports = {
const assert = require('assert'),
BoxError = require('../boxerror.js'),
http = require('http'),
HttpError = require('connect-lastmile').HttpError,
HttpError = require('@cloudron/connect-lastmile').HttpError,
safe = require('safetydance'),
services = require('../services.js');

View File

@@ -16,8 +16,8 @@ const assert = require('assert'),
AuditSource = require('../auditsource.js'),
BoxError = require('../boxerror.js'),
groups = require('../groups.js'),
HttpError = require('connect-lastmile').HttpError,
HttpSuccess = require('connect-lastmile').HttpSuccess,
HttpError = require('@cloudron/connect-lastmile').HttpError,
HttpSuccess = require('@cloudron/connect-lastmile').HttpSuccess,
safe = require('safetydance');
async function load(req, res, next) {

View File

@@ -35,8 +35,8 @@ const assert = require('assert'),
AuditSource = require('../auditsource.js'),
BoxError = require('../boxerror.js'),
mail = require('../mail.js'),
HttpError = require('connect-lastmile').HttpError,
HttpSuccess = require('connect-lastmile').HttpSuccess,
HttpError = require('@cloudron/connect-lastmile').HttpError,
HttpSuccess = require('@cloudron/connect-lastmile').HttpSuccess,
safe = require('safetydance');
async function getDomain(req, res, next) {

View File

@@ -14,8 +14,8 @@ const assert = require('assert'),
BoxError = require('../boxerror.js'),
debug = require('debug')('box:routes/mailserver'),
http = require('http'),
HttpError = require('connect-lastmile').HttpError,
HttpSuccess = require('connect-lastmile').HttpSuccess,
HttpError = require('@cloudron/connect-lastmile').HttpError,
HttpSuccess = require('@cloudron/connect-lastmile').HttpSuccess,
mailServer = require('../mailserver.js'),
safe = require('safetydance'),
services = require('../services.js');

View File

@@ -20,8 +20,8 @@ exports = module.exports = {
const assert = require('assert'),
AuditSource = require('../auditsource.js'),
BoxError = require('../boxerror.js'),
HttpError = require('connect-lastmile').HttpError,
HttpSuccess = require('connect-lastmile').HttpSuccess,
HttpError = require('@cloudron/connect-lastmile').HttpError,
HttpSuccess = require('@cloudron/connect-lastmile').HttpSuccess,
network = require('../network.js'),
safe = require('safetydance');

View File

@@ -9,8 +9,8 @@ exports = module.exports = {
const assert = require('assert'),
BoxError = require('../boxerror.js'),
HttpError = require('connect-lastmile').HttpError,
HttpSuccess = require('connect-lastmile').HttpSuccess,
HttpError = require('@cloudron/connect-lastmile').HttpError,
HttpSuccess = require('@cloudron/connect-lastmile').HttpSuccess,
notifications = require('../notifications.js'),
safe = require('safetydance');

View File

@@ -12,8 +12,8 @@ exports = module.exports = {
const assert = require('assert'),
BoxError = require('../boxerror.js'),
oidcClients = require('../oidcclients.js'),
HttpError = require('connect-lastmile').HttpError,
HttpSuccess = require('connect-lastmile').HttpSuccess,
HttpError = require('@cloudron/connect-lastmile').HttpError,
HttpSuccess = require('@cloudron/connect-lastmile').HttpSuccess,
safe = require('safetydance');
async function add(req, res, next) {

View File

@@ -23,8 +23,8 @@ exports = module.exports = {
const assert = require('assert'),
AuditSource = require('../auditsource.js'),
BoxError = require('../boxerror.js'),
HttpError = require('connect-lastmile').HttpError,
HttpSuccess = require('connect-lastmile').HttpSuccess,
HttpError = require('@cloudron/connect-lastmile').HttpError,
HttpSuccess = require('@cloudron/connect-lastmile').HttpSuccess,
oidcServer = require('../oidcserver.js'),
safe = require('safetydance'),
tokens = require('../tokens.js'),

View File

@@ -14,8 +14,8 @@ exports = module.exports = {
const assert = require('assert'),
AuditSource = require('../auditsource.js'),
BoxError = require('../boxerror.js'),
HttpError = require('connect-lastmile').HttpError,
HttpSuccess = require('connect-lastmile').HttpSuccess,
HttpError = require('@cloudron/connect-lastmile').HttpError,
HttpSuccess = require('@cloudron/connect-lastmile').HttpSuccess,
network = require('../network.js'),
provision = require('../provision.js'),
safe = require('safetydance'),

View File

@@ -10,8 +10,8 @@ exports = module.exports = {
const assert = require('assert'),
AuditSource = require('../auditsource.js'),
BoxError = require('../boxerror.js'),
HttpError = require('connect-lastmile').HttpError,
HttpSuccess = require('connect-lastmile').HttpSuccess,
HttpError = require('@cloudron/connect-lastmile').HttpError,
HttpSuccess = require('@cloudron/connect-lastmile').HttpSuccess,
reverseProxy = require('../reverseproxy.js'),
safe = require('safetydance');

View File

@@ -15,8 +15,8 @@ exports = module.exports = {
const assert = require('assert'),
AuditSource = require('../auditsource.js'),
BoxError = require('../boxerror.js'),
HttpError = require('connect-lastmile').HttpError,
HttpSuccess = require('connect-lastmile').HttpSuccess,
HttpError = require('@cloudron/connect-lastmile').HttpError,
HttpSuccess = require('@cloudron/connect-lastmile').HttpSuccess,
metrics = require('../metrics.js'),
platform = require('../platform.js'),
safe = require('safetydance'),

View File

@@ -7,8 +7,8 @@ exports = module.exports = {
const assert = require('assert'),
AuditSource = require('../auditsource.js'),
HttpError = require('connect-lastmile').HttpError,
HttpSuccess = require('connect-lastmile').HttpSuccess,
HttpError = require('@cloudron/connect-lastmile').HttpError,
HttpSuccess = require('@cloudron/connect-lastmile').HttpSuccess,
safe = require('safetydance'),
support = require('../support.js');

View File

@@ -16,8 +16,8 @@ exports = module.exports = {
const assert = require('assert'),
BoxError = require('../boxerror.js'),
HttpError = require('connect-lastmile').HttpError,
HttpSuccess = require('connect-lastmile').HttpSuccess,
HttpError = require('@cloudron/connect-lastmile').HttpError,
HttpSuccess = require('@cloudron/connect-lastmile').HttpSuccess,
metrics = require('../metrics.js'),
safe = require('safetydance'),
system = require('../system.js');

View File

@@ -13,8 +13,8 @@ exports = module.exports = {
const assert = require('assert'),
BoxError = require('../boxerror.js'),
HttpError = require('connect-lastmile').HttpError,
HttpSuccess = require('connect-lastmile').HttpSuccess,
HttpError = require('@cloudron/connect-lastmile').HttpError,
HttpSuccess = require('@cloudron/connect-lastmile').HttpSuccess,
safe = require('safetydance'),
tasks = require('../tasks.js');

View File

@@ -10,8 +10,8 @@ exports = module.exports = {
const assert = require('assert'),
BoxError = require('../boxerror.js'),
HttpError = require('connect-lastmile').HttpError,
HttpSuccess = require('connect-lastmile').HttpSuccess,
HttpError = require('@cloudron/connect-lastmile').HttpError,
HttpSuccess = require('@cloudron/connect-lastmile').HttpSuccess,
oidcClients = require('../oidcclients.js'),
safe = require('safetydance'),
tokens = require('../tokens.js');

View File

@@ -13,8 +13,8 @@ exports = module.exports = {
const assert = require('assert'),
AuditSource = require('../auditsource.js'),
BoxError = require('../boxerror.js'),
HttpError = require('connect-lastmile').HttpError,
HttpSuccess = require('connect-lastmile').HttpSuccess,
HttpError = require('@cloudron/connect-lastmile').HttpError,
HttpSuccess = require('@cloudron/connect-lastmile').HttpSuccess,
safe = require('safetydance'),
updater = require('../updater.js');

View File

@@ -8,8 +8,8 @@ exports = module.exports = {
const assert = require('assert'),
AuditSource = require('../auditsource.js'),
BoxError = require('../boxerror.js'),
HttpError = require('connect-lastmile').HttpError,
HttpSuccess = require('connect-lastmile').HttpSuccess,
HttpError = require('@cloudron/connect-lastmile').HttpError,
HttpSuccess = require('@cloudron/connect-lastmile').HttpSuccess,
safe = require('safetydance'),
userDirectory = require('../user-directory.js');

View File

@@ -32,8 +32,8 @@ const assert = require('assert'),
AuditSource = require('../auditsource.js'),
BoxError = require('../boxerror.js'),
groups = require('../groups.js'),
HttpError = require('connect-lastmile').HttpError,
HttpSuccess = require('connect-lastmile').HttpSuccess,
HttpError = require('@cloudron/connect-lastmile').HttpError,
HttpSuccess = require('@cloudron/connect-lastmile').HttpSuccess,
safe = require('safetydance'),
users = require('../users.js'),
_ = require('../underscore.js');

View File

@@ -15,8 +15,8 @@ const assert = require('assert'),
AuditSource = require('../auditsource.js'),
BoxError = require('../boxerror.js'),
volumes = require('../volumes.js'),
HttpError = require('connect-lastmile').HttpError,
HttpSuccess = require('connect-lastmile').HttpSuccess,
HttpError = require('@cloudron/connect-lastmile').HttpError,
HttpSuccess = require('@cloudron/connect-lastmile').HttpSuccess,
safe = require('safetydance');
async function load(req, res, next) {

View File

@@ -4,7 +4,7 @@ exports = module.exports = {
get
};
const HttpError = require('connect-lastmile').HttpError,
const HttpError = require('@cloudron/connect-lastmile').HttpError,
safe = require('safetydance'),
wellknown = require('../wellknown.js');

View File

@@ -12,7 +12,7 @@ const assert = require('assert'),
eventlog = require('./eventlog.js'),
express = require('express'),
http = require('http'),
HttpError = require('connect-lastmile').HttpError,
HttpError = require('@cloudron/connect-lastmile').HttpError,
middleware = require('./middleware'),
platform = require('./platform.js'),
routes = require('./routes/index.js'),