Girish Ramakrishnan
13c628b58b
backups (tgz): work with a layout
...
this will allow us to place the localstorage directory in an arbitrary
location
2019-01-16 12:52:04 -08:00
Johannes Zellner
13fac3072d
Support username search in user listing api
2019-01-15 17:21:40 +01:00
Johannes Zellner
3470252768
Add user pagination to rest api
2019-01-14 16:39:20 +01:00
Girish Ramakrishnan
810f5e7409
Fix line param parsing
...
lines is a positive integer or -1 to disable line limiting. The
default value is 10 if no argument is given.
Fixes #604
2019-01-08 13:23:29 -08:00
Johannes Zellner
07e052b865
Fix notifications route to return all notifications if nothing specified
2019-01-08 13:46:18 +01:00
Johannes Zellner
841b4aa814
Can't pass booleans over query
2019-01-07 17:30:28 +01:00
Girish Ramakrishnan
635557ca45
Fix failing tests
2019-01-04 10:56:56 -08:00
Johannes Zellner
b9daa62ece
Add notification tests for business logic
2019-01-04 17:13:52 +01:00
Girish Ramakrishnan
1bb2552384
move feedback test
2018-12-19 14:32:54 -08:00
Girish Ramakrishnan
4a34703cd3
rework code to enable/disable remote support
...
we had a generic ssh key management api. this was causing issues because
the ssh format is more complicated than what we had implemented. currently,
the only use case we have is to add our ssh key.
Fixes #600
2018-12-19 13:35:20 -08:00
Girish Ramakrishnan
52bbf3be21
move support to separate file
2018-12-19 10:54:33 -08:00
Johannes Zellner
57d435ccf4
Add basic notification rest api
2018-12-17 16:37:19 +01:00
Girish Ramakrishnan
a961407379
Fix setup and restore to have a task style API
2018-12-16 11:02:49 -08:00
Girish Ramakrishnan
bdf9671280
Split dashboard dns setup and db operations
...
The dns setup is now a task that we can wait on. Once that task
is done, we can do db operations to switch the domain in a separate
route
2018-12-14 09:57:28 -08:00
Girish Ramakrishnan
e71a8fce47
add test list tasks
2018-12-13 13:12:45 -08:00
Girish Ramakrishnan
ff550e897a
caas: remove box plan change routes
2018-12-13 09:41:52 -08:00
Johannes Zellner
10034fcbba
Function is called tasks.removePrivateFields
2018-12-13 13:50:53 +01:00
Girish Ramakrishnan
935a8258a6
task API: remove arg from response
...
it can contain sensitive information
2018-12-11 16:22:53 -08:00
Girish Ramakrishnan
fa483e5806
rename to listByTypePaged
2018-12-11 16:14:07 -08:00
Girish Ramakrishnan
e0c9658cb9
setup -> provision
2018-12-11 15:29:47 -08:00
Girish Ramakrishnan
0266a46b32
Ensure that location and domain are provided together
...
in our db, {location,domain} is unique. If we replace them one
by one in the database, it will cause conflicts.
2018-12-11 12:10:22 -08:00
Girish Ramakrishnan
0fa353c2e2
return taskId for renewCerts
2018-12-11 10:16:38 -08:00
Girish Ramakrishnan
c7da090882
tasks: remove auditSource from start/stop
2018-12-11 09:22:13 -08:00
Johannes Zellner
94f5adba04
Renew certs is a POST route so lets use the body
2018-12-11 11:55:59 +01:00
Girish Ramakrishnan
f9add21899
Add task route tests
2018-12-10 21:42:03 -08:00
Girish Ramakrishnan
d2f4b68c9f
Make certificate renewal a task
2018-12-10 20:48:10 -08:00
Girish Ramakrishnan
d43106b0af
Add taskworker that runs funcs out of process
2018-12-09 10:06:22 -08:00
Girish Ramakrishnan
3688371ce8
Make tasks log to their own log file
2018-12-08 21:59:20 -08:00
Girish Ramakrishnan
6d66eb7759
Various fixes
2018-12-08 21:12:49 -08:00
Girish Ramakrishnan
8502bf4bfa
tasks: add route to list tasks
2018-12-08 20:18:20 -08:00
Girish Ramakrishnan
d8225ad653
Make tasks indexed by id instead of type
...
The caas migrate logic is broken at this point until it uses new
task framework
2018-12-08 19:41:53 -08:00
Girish Ramakrishnan
cfb68a0511
setAdmin -> setDashboardDomain
2018-12-08 18:19:49 -08:00
Girish Ramakrishnan
76677e0aea
Fix response
2018-12-07 16:39:22 -08:00
Girish Ramakrishnan
515ee891d3
refactor code to allow admin domain to be set
2018-12-07 16:15:21 -08:00
Girish Ramakrishnan
8d944f9a4a
Allow setup to be run again as long as not-activated
...
this is useful if the activation fails somewhere mid-way and we don't
need to re-setup the cloudron all over
2018-12-07 15:11:25 -08:00
Girish Ramakrishnan
3bad9e523c
Add option to toggle app automatic updates
2018-12-07 10:02:11 -08:00
Girish Ramakrishnan
dfa61f1b2d
rework how app mailboxes are allocated
...
Our current setup had a mailbox allocated for an app during app
install (into the mailboxes table). This has many issues:
* When set to a custom mailbox location, there was no way to access
this mailbox even via IMAP. Even when using app credentials, we
cannot use IMAP since the ldap logic was testing on the addon type
(most of our apps only use sendmail addon and thus cannot recvmail).
* The mailboxes table was being used to add hidden 'app' type entries.
This made it very hard for the user to understand why a mailbox conflicts.
For example, if you set an app to use custom mailbox 'blog', this is
hidden from all views.
The solution is to let an app send email as whatever mailbox name is
allocated to it (which we now track in the apps table. the default is in the
db already so that REST response contains it). When not using
Cloudron email, it will just send mail as that mailbox and the auth
checks the "app password" in the addons table. Any replies to that
mailbox will end up in the domain's mail server (not our problem).
When using cloudron email, the app can send mail like above. Any responses
will not end anywhere and bounce since there is no 'mailbox'. This is the
expected behavior. If user wants to access this mailbox name, he can
create a concrete mailbox and set himself as owner OR set this as
an alias.
For apps using the recvmail addon, the workflow is to actually create
a mailbox at some point. Currently, we have no UI for this 'flow'.
It's fine because we have only meemo using it.
Intuitive much!
2018-12-06 22:13:32 -08:00
Girish Ramakrishnan
41b0c3242e
Make function name clearer
2018-12-06 12:47:50 -08:00
Girish Ramakrishnan
48ed051edf
Use list verb
2018-12-06 10:23:10 -08:00
Girish Ramakrishnan
a5b8418845
Remove spurious success return
2018-12-04 09:34:00 -08:00
Johannes Zellner
54c96d98d1
Remove all individual test timeouts and ignore timeouts toplevel
2018-12-03 12:24:04 +01:00
Girish Ramakrishnan
2f55abfc60
Fixup logs routes as well
2018-12-02 19:07:12 -08:00
Girish Ramakrishnan
f93044ac3b
move routes to services.js
2018-12-02 18:46:34 -08:00
Girish Ramakrishnan
7ed422a3c1
Split out service related functions
2018-12-02 18:45:39 -08:00
Girish Ramakrishnan
823b3b8aa8
Rename addon route to service
...
service are the containers and other things like unbound, nginx.
addons are app development hooks.
2018-12-02 17:56:11 -08:00
Girish Ramakrishnan
c72ea91743
make task args an object and put it in eventlog
2018-11-30 14:57:24 -08:00
Girish Ramakrishnan
f39ce20580
better name for task functions
2018-11-30 14:41:11 -08:00
Girish Ramakrishnan
30aea047e3
startTask now takes args
2018-11-29 23:28:26 -08:00
Girish Ramakrishnan
9f4226093b
Handle bad state if task is already stopped
2018-11-29 23:10:15 -08:00
Girish Ramakrishnan
fca0e897b2
Add tasks.startTask
2018-11-29 16:21:04 -08:00