Girish Ramakrishnan e117ee2bef Cleanup app error codes
1. The error classes (like AppsError) now take a 3rd argument details.
We can attach anything in this 3rd argument and this gets sent in the
REST response as well.

2. The HttpError class is now HttpError(statusCode, errorOrMessage). If
it's an error object, it will take the message and other things which
were attached above from it and send them across. Previously, we used to
mark this case an internal error all the time.

3. AppsError only has generic codes now. The UI code then simply checks
for additional information that we attached to show errors. For example,
BAD_FIELD will have a field: 'xx' indicating which field is at fault.
ALREADY_EXISTS has information on which domain or port caused a problem.
The advantage here is we can drop all these error codes that are
specific to each model code.

4. Maybe some day, we can remove all these error classes and have only
one generic class. AppsError right now is pretty generic already. We can
use that error code everywhere... No need to translate errors also
everywhere.

5. Finally, in the router code, I have this function toHttpError (in
apps.js) which is also so much cleaner than what we have now. We keep
writing the same stuff over and over.
2019-09-03 10:39:02 -07:00
2019-08-30 14:49:45 -07:00
2019-09-03 10:39:02 -07:00
2019-03-09 22:00:09 -08:00
2018-10-27 11:13:36 -07:00
2019-07-26 15:02:03 -07:00
2019-08-30 15:51:50 -07:00
2019-02-26 15:03:14 -08:00
2016-08-15 22:29:55 -07:00
2019-05-16 08:49:08 -07:00
2018-10-27 11:13:36 -07:00

Cloudron

Cloudron is the best way to run apps on your server.

Web applications like email, contacts, blog, chat are the backbone of the modern internet. Yet, we live in a world where hosting these essential applications is a complex task.

We are building the ultimate platform for self-hosting web apps. The Cloudron allows anyone to effortlessly host web applications on their server on their own terms.

Features

  • Single click install for apps. Check out the App Store.

  • Per-app encrypted backups and restores.

  • App updates delivered via the App Store.

  • Secure - Cloudron manages the firewall. All apps are secured with HTTPS. Certificates are installed and renewed automatically.

  • Centralized User & Group management. Control who can access which app.

  • Single Sign On. Use same credentials across all apps.

  • Automatic updates for the Cloudron platform.

  • Trivially migrate to another server keeping your apps and data (for example, switch your infrastructure provider or move to a bigger server).

  • Comprehensive REST API.

  • CLI to configure apps.

  • Alerts, audit logs, graphs, dns management ... and much more

Demo

Try our demo at https://my.demo.cloudron.io (username: cloudron password: cloudron).

Installing

Install script - Pricing

Note: This repo is a small part of what gets installed on your server - there is the dashboard, database addons, graph container, base image etc. Cloudron also relies on external services such as the App Store for apps to be installed. As such, don't clone this repo and npm install and expect something to work.

Documentation

The base image repo is the parent image of all the containers in the Cloudron.

Community

S
Description
Cloudron Box
Readme 47 MiB
Languages
JavaScript 72.6%
Vue 22.3%
Shell 3.1%
HTML 1.1%
EJS 0.7%
Other 0.2%