Commit Graph

508 Commits

Author SHA1 Message Date
Girish Ramakrishnan
78ec8e5c0c Add field to skip backup for an app
This skips the app from a backup when doing a full box backup and
simply reuses the previous backup.

The app can still be explicitly backed up using 'cloudron backup'
and explicitly restored using 'cloudron restore --backup'.

When restoring the box, it all depends on the app's last backup.

Fixes #311
2017-08-16 16:36:50 -07:00
Girish Ramakrishnan
0bd0857189 Update many modules
npm WARN deprecated ejs-cli@1.2.0: This has breaking change. (in ejs package) use <= 2.0.0.
npm WARN deprecated node-uuid@1.4.8: Use uuid module instead
npm WARN deprecated minimatch@0.3.0: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated minimatch@0.2.14: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated graceful-fs@1.2.3: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
2017-08-13 17:57:48 -07:00
Girish Ramakrishnan
bd52068695 Return error object instead of false 2017-07-31 11:57:23 -07:00
Girish Ramakrishnan
4f9a9906c9 Do not automatically update apps with a major version change
(future) pre-1.0 packages can be considered 'experimental'

Fixes #342
2017-07-27 13:49:08 -07:00
Girish Ramakrishnan
eb99f8b844 escape and quote the robotsTxt when templating
for now, we restrict the string length to 4096 since that is what
nginx allows
2017-07-23 19:56:28 -07:00
Girish Ramakrishnan
acd00222e5 Allow per-app configuration of robots.txt
https://developers.google.com/search/reference/robots_txt has
the specification

Part of #344
2017-07-14 15:25:05 -05:00
Girish Ramakrishnan
68a1efe3d3 Download short format logs from web ui
Fixes #304
2017-04-18 21:04:45 -07:00
Girish Ramakrishnan
894d7a6e72 Handle AppstoreError correctly 2017-04-13 01:11:20 -07:00
Girish Ramakrishnan
0488aada9f refactor appstore logic to separate file 2017-04-13 00:42:44 -07:00
Girish Ramakrishnan
54f7cf5f64 Fix copy/paste errors 2017-04-13 00:19:11 -07:00
Girish Ramakrishnan
a01dea3932 Allow installing from a backup 2017-04-11 13:06:39 -07:00
Girish Ramakrishnan
5c203dc759 Handle case where restore config is not found 2017-04-07 15:29:42 -07:00
Girish Ramakrishnan
785ae765a4 better error text 2017-04-03 16:54:06 -07:00
Girish Ramakrishnan
b421866bf5 Remove simpleauth
Simple Auth used to provide auth over HTTP. The original motivation
behind this was this was a simple way to add Cloudron Auth integration.
Back in the day, Cloudron Auth was a requirement for apps but this is
not the case anymore.

This is currently not used by any app and having this might encourage
people to make Cloudron specific un-upstreamable changes.
2017-03-19 01:31:38 -07:00
Johannes Zellner
979b903bf2 Add cnameTarget for apps using an external domain
We have 4 properties related to the domain:
1) location, is the subdomain location without information how to craft
a fqdn on the client
2) fqdn, the intended domain to reach the app
3) altDomain, just the value for the external domain, merely a db record
value
4) cnameTarget, mostly for display purpose on the client, which
otherwise has no way to build the original cloudron local fqdn
2017-03-09 15:11:27 +01:00
Girish Ramakrishnan
639744e9cb async.every usage has changed 2017-02-16 20:20:46 -08:00
Girish Ramakrishnan
595bf583c7 delete mailbox as part of transaction 2017-02-13 15:19:17 -08:00
Girish Ramakrishnan
3386b99a29 fromEmail -> mailboxName 2017-02-13 15:15:07 -08:00
Girish Ramakrishnan
9692aa3c08 Better error handling of unpurchase errors 2017-02-08 18:55:41 -08:00
Johannes Zellner
7155856b08 Allocate the mailbox db record for apps in a transaction with appdb.add() 2017-02-08 23:52:14 +01:00
Girish Ramakrishnan
53d56ef3a0 console.error -> debug 2017-02-07 10:48:51 -08:00
Girish Ramakrishnan
2d3bdda1c8 Make tests pass 2017-01-29 13:01:09 -08:00
Girish Ramakrishnan
fd40940ef5 Reserve ports <= 1023
Just being conservative here

Fixes #202
2017-01-29 12:43:24 -08:00
Girish Ramakrishnan
6d58f65a1a Reserve ssh ports 2017-01-29 12:38:58 -08:00
Girish Ramakrishnan
cbfad632c2 Handle 401 in app purchase 2017-01-27 07:47:56 -08:00
Girish Ramakrishnan
f142d34f83 Move box data out of appdata volume
This lets us restore the box if the app volume becomes full

Fixes #186
2017-01-24 13:48:09 -08:00
Girish Ramakrishnan
472020f90c APPICONS_DIR -> APP_ICONS_DIR 2017-01-24 10:13:25 -08:00
Girish Ramakrishnan
db6474ef2a Merge readonlyRootfs and development mode into debug mode
The core issue we want to solve is to debug a running app.
Let's make it explicit that it is in debugging mode because
functions like update/backup/restore don't work.

Part of #171
2017-01-20 09:29:32 -08:00
Johannes Zellner
f60d640c8e Set developmentMode default to false 2017-01-20 12:07:25 +01:00
Girish Ramakrishnan
a71323f8b3 Add developmentMode flag to appdb
Part of #171
2017-01-19 15:57:24 -08:00
Girish Ramakrishnan
155995c7f3 Allow memoryLimit to be unrestricted programatically 2017-01-19 15:11:40 -08:00
Girish Ramakrishnan
7ef6bd0d3f Add readonlyRootfs flag to apps table
When turned off, it will put the app in a writable rootfs. This
allows us to debug live/production apps (like change start.sh) and
just get them up and running. Once turned off, this app cannot be
updated anymore (unless the force flag is set). This way we can
then update it using the CLI if we are convinced that the upcoming
update fixes the problem.

Part of #171
2017-01-19 11:55:25 -08:00
Johannes Zellner
4268ba54bf If app purchase failed, show appstore login
Since we don't have cases like failing to charge credit card so far, the
only reason it can fail here is that the appstore token or userId is
incorrect/expired

Fixes #52
2016-12-30 15:50:43 +01:00
Johannes Zellner
288baa7e94 Rename mailbox when location changes
Fixes #118
2016-12-15 16:57:29 +01:00
Johannes Zellner
2bf8584f30 Do not take the addon object, but the boolean 2016-12-12 17:29:42 +01:00
Girish Ramakrishnan
2cf0d6db9d customAuth is obsolete 2016-12-09 18:43:26 -08:00
Johannes
a5eb34d680 Carry over sso on app clone 2016-11-28 12:45:32 +01:00
Johannes
83b5bb394c Specify sso for apps not using of optionalSso 2016-11-23 12:09:08 +01:00
Girish Ramakrishnan
9337f832d3 optionalAuth -> optionalSso 2016-11-19 21:37:39 +05:30
Girish Ramakrishnan
94037e5266 remove oauth proxy backend logic 2016-11-19 17:13:08 +05:30
Girish Ramakrishnan
f5ebb782c0 remove support for singleUser 2016-11-19 17:12:31 +05:30
Girish Ramakrishnan
9c0f2175f7 add sso route parameter to app install
presumably, we don't allow this to be changed post installation
2016-11-19 17:11:46 +05:30
Johannes Zellner
fc3768101d Token exchange route does not need appstoreId 2016-11-15 15:24:28 +01:00
Johannes Zellner
a25b884dbb Fix typo, use .body 2016-11-14 16:29:47 +01:00
Johannes Zellner
567401c337 Fetch appstore credentials on app un-/purchase for caas 2016-11-14 15:40:53 +01:00
Johannes
4fd5b369f8 Reset app update indicator when an update was triggered
Fixes #48
2016-11-07 15:14:08 +01:00
Girish Ramakrishnan
1d8df65fbf Fix mailbox name for naked domains
Fixes #81
2016-10-12 19:54:04 -07:00
Johannes Zellner
629e061743 Use specific error if app backup for restore can't be found 2016-10-10 13:21:45 +02:00
Girish Ramakrishnan
6f0708eff2 Add mailbox with new app id 2016-10-03 16:11:36 -07:00
Girish Ramakrishnan
3adf183569 Fix apps.clone to allocate mailbox 2016-10-03 13:27:27 -07:00