Girish Ramakrishnan
ed17bdc7c3
typo
2019-11-17 21:16:36 -08:00
Girish Ramakrishnan
ac05399cda
Add changes
2019-11-17 12:29:53 -08:00
Girish Ramakrishnan
1af5c6a418
Fix registry detection
...
ECR registry does not have a username component
2019-11-17 11:50:58 -08:00
Girish Ramakrishnan
e2bb668fe4
add note on appStoreId
2019-11-16 10:31:38 -08:00
Girish Ramakrishnan
d255466417
manifest.id is optional for custom apps
2019-11-15 17:28:54 -08:00
Girish Ramakrishnan
5509406395
add mailboxDomain field to apps table
2019-11-15 09:40:35 -08:00
Girish Ramakrishnan
97333474c4
Remove delay introduced by mistake in 5c920fd20
2019-11-14 17:40:21 -08:00
Johannes Zellner
38928d63d6
node's http server has a default timeout of 2min which is too short for build bot
2019-11-14 13:15:18 +01:00
Girish Ramakrishnan
05c64dcbf2
move unbound config to separate file
2019-11-13 14:48:56 -08:00
Girish Ramakrishnan
e39b081567
Change restart policy to unless-stopped
2019-11-13 10:29:54 -08:00
Girish Ramakrishnan
62174658cf
4.3.2 changes
2019-11-12 16:43:27 -08:00
Girish Ramakrishnan
3d26e8a666
Revert "Update cloudron-manifestformat and other modules"
...
This reverts commit 3d337640ef .
Only update cloudron-manifestformat
2019-11-12 14:54:16 -08:00
Girish Ramakrishnan
3d337640ef
Update cloudron-manifestformat and other modules
2019-11-12 14:26:13 -08:00
Girish Ramakrishnan
985eaf8ca9
Better progress message
2019-11-11 17:09:46 -08:00
Girish Ramakrishnan
e0bee13812
validate sysinfo in setup as well
2019-11-11 16:32:29 -08:00
Girish Ramakrishnan
7c6922d228
validate sysinfo configuration
2019-11-11 16:05:53 -08:00
Girish Ramakrishnan
bf68c2d321
default has changed
2019-11-11 11:19:42 -08:00
Girish Ramakrishnan
fd51320fb7
sysinfoConfig is now non-optional
2019-11-11 11:05:34 -08:00
Girish Ramakrishnan
815392ba38
restore: add sysinfoConfig
2019-11-11 09:49:18 -08:00
Girish Ramakrishnan
f8c110f75c
4.3.1 changes
2019-11-11 09:43:19 -08:00
Girish Ramakrishnan
70f9ceb1b8
better not found message
2019-11-11 09:13:45 -08:00
Girish Ramakrishnan
2353a8b5fa
list unstable apps by default
2019-11-11 08:42:00 -08:00
Girish Ramakrishnan
cf1c2dc1ee
Fix crash when listing mailboxes
2019-11-10 12:44:39 -08:00
Johannes Zellner
467283d5e0
Destroy all session by a user if wanted
2019-11-08 21:32:55 +01:00
Girish Ramakrishnan
a887e19d46
Update mail container
2019-11-07 15:16:51 -08:00
Girish Ramakrishnan
2ab941660e
Fix haraka crash
...
https://github.com/haraka/Haraka/issues/2732
2019-11-07 15:10:34 -08:00
Girish Ramakrishnan
a75769071c
remove obsolete test
2019-11-07 14:23:57 -08:00
Girish Ramakrishnan
7f2af067cf
Add enums for cid
2019-11-07 13:38:33 -08:00
Girish Ramakrishnan
88454e7d6c
remove unused function
2019-11-07 13:35:37 -08:00
Girish Ramakrishnan
5c920fd200
never skip password verification
2019-11-07 13:10:12 -08:00
Girish Ramakrishnan
ab650c7a95
more changes
2019-11-07 11:13:52 -08:00
Girish Ramakrishnan
1e776bbbe0
Add route to get public IP
2019-11-07 10:41:15 -08:00
Girish Ramakrishnan
cd0294129f
Add changes
2019-11-07 09:25:04 -08:00
Johannes Zellner
d1c6e786c2
Remove unused CLOUDRON_ADMIN_EMAIL
2019-11-07 16:38:30 +01:00
Girish Ramakrishnan
58d66b5293
mail: resolve list members
2019-11-06 21:45:54 -08:00
Girish Ramakrishnan
1942a7ecf4
redis: start app redis addons on image update
2019-11-06 09:38:20 -08:00
Girish Ramakrishnan
22c2add55e
Update redis
2019-11-05 21:59:35 -08:00
Girish Ramakrishnan
60c5cccfc2
Add MAIL_ERROR
2019-11-05 20:55:21 -08:00
Girish Ramakrishnan
b4874ec1f4
refactor getting mail auth
2019-11-05 19:54:53 -08:00
Girish Ramakrishnan
d7b326bf2b
clone: appdb.add must also put the reverse proxy config
2019-11-05 13:58:02 -08:00
Girish Ramakrishnan
b9d8b5f973
clone: copy reverseProxyConfig
2019-11-05 12:50:30 -08:00
Girish Ramakrishnan
64fd6e0dac
Allow redis with no password
2019-11-05 10:48:36 -08:00
Girish Ramakrishnan
868103e7e4
Add changes
2019-11-05 09:21:23 -08:00
Johannes Zellner
3354cb8ebe
Add network interface check
2019-11-05 15:03:36 +01:00
Johannes Zellner
4fc012dea0
Fix typo in sysinfo route handler
2019-11-05 13:45:06 +01:00
Girish Ramakrishnan
947cb786d6
ldapsync: add progress callback
2019-11-04 12:05:35 -08:00
Girish Ramakrishnan
689f2791ba
validate fields in testConfig
2019-10-31 11:46:00 -07:00
Girish Ramakrishnan
a5ec5b0ed9
externalLdap: search and then bind
2019-10-30 15:32:49 -07:00
Girish Ramakrishnan
8e5916b785
oauth2: catch any errors in handlers
2019-10-30 15:15:36 -07:00
Girish Ramakrishnan
563f846eba
style fixes
2019-10-30 14:27:58 -07:00
Girish Ramakrishnan
7781ea3205
remove this check, let if get marked as conflicting
2019-10-30 11:05:26 -07:00
Girish Ramakrishnan
2f5ece8f1d
make displayName also a const
2019-10-30 11:04:19 -07:00
Girish Ramakrishnan
ec46dab754
camel case
2019-10-30 11:02:21 -07:00
Girish Ramakrishnan
d5d27d512c
make email a constant
2019-10-30 10:59:48 -07:00
Girish Ramakrishnan
0a695190c4
Remove bindDn validation
...
in some AD setups, this is a email
2019-10-30 09:35:33 -07:00
Girish Ramakrishnan
59deca76a1
add changes
2019-10-30 09:16:55 -07:00
Girish Ramakrishnan
a829ab44f1
sysinfo: remove the ec2 and scaleway providers
...
we can just use the generic one for those as well
2019-10-30 09:13:01 -07:00
Girish Ramakrishnan
82a7befb92
Fix crashes
2019-10-29 20:33:32 -07:00
Girish Ramakrishnan
331d0ee717
declare the variable
2019-10-29 20:20:35 -07:00
Girish Ramakrishnan
addafa529f
sysinfoConfig can be passed when provisioning
2019-10-29 20:12:37 -07:00
Girish Ramakrishnan
8232d471a3
Add route to set/get sysinfo
2019-10-29 20:08:45 -07:00
Girish Ramakrishnan
813454ca82
sysinfo: Add static and network intf providers
2019-10-29 16:12:58 -07:00
Girish Ramakrishnan
7d987d7c79
make sysinfo provider a setting
2019-10-29 15:56:50 -07:00
Girish Ramakrishnan
7a25187bee
Disable invite & password reset route for external users
2019-10-29 11:03:28 -07:00
Girish Ramakrishnan
f97cbb5fd5
Use private registry auth
2019-10-27 13:07:07 -07:00
Girish Ramakrishnan
12d233c5f9
provide suggestion as part of the error
2019-10-27 12:01:30 -07:00
Girish Ramakrishnan
09fce1978e
Add to changes
2019-10-25 17:06:16 -07:00
Girish Ramakrishnan
8ed2f98d1d
print username field as well
2019-10-25 17:00:59 -07:00
Girish Ramakrishnan
13262d014b
call unbind
2019-10-25 16:58:15 -07:00
Girish Ramakrishnan
ade1187fc8
ldap: more logs
2019-10-25 16:46:55 -07:00
Girish Ramakrishnan
2404e79928
ldap: do the secret key dance
2019-10-25 16:46:49 -07:00
Girish Ramakrishnan
d68ed91b17
ldap: add usernameField
...
we need this for okta where uid is the email
2019-10-25 15:50:26 -07:00
Girish Ramakrishnan
1a21423401
ldap: add provider field
2019-10-25 15:40:22 -07:00
Girish Ramakrishnan
a478134759
mail: put the type and hostname in notification
2019-10-25 10:16:17 -07:00
Girish Ramakrishnan
c639746211
Update changes
2019-10-24 21:43:09 -07:00
Girish Ramakrishnan
7a96e4858a
Not found messages at the db level
2019-10-24 20:48:38 -07:00
Girish Ramakrishnan
02339d503c
do not re-generate DATABASE_ERROR
2019-10-24 20:31:45 -07:00
Girish Ramakrishnan
c3a5360a88
Add not implemented error code
2019-10-24 18:40:37 -07:00
Girish Ramakrishnan
ad9097d212
Remove various uses of INTERNAL_ERROR
...
INTERNAL_ERROR now means there really was some internal error
2019-10-24 18:32:36 -07:00
Girish Ramakrishnan
6e57f8cc03
Refactor toHttpError code into BoxError
2019-10-24 18:09:55 -07:00
Girish Ramakrishnan
d6365ff27f
Move AppstoreError to BoxError
2019-10-24 17:47:16 -07:00
Girish Ramakrishnan
4793eb9ef5
Finish UsersError removal
2019-10-24 15:19:07 -07:00
Girish Ramakrishnan
03175aa8de
IN_USE -> CONFLICT
...
also, remove databaseerror
2019-10-24 15:07:37 -07:00
Girish Ramakrishnan
bc3169deb3
Move UsersError to BoxError
2019-10-24 15:06:41 -07:00
Girish Ramakrishnan
9b4d43075e
Fix some typos
2019-10-24 14:34:10 -07:00
Girish Ramakrishnan
d2c12297dc
Move ExternalLdapError to BoxError
2019-10-24 14:32:27 -07:00
Girish Ramakrishnan
1a8496d61e
Move MailError to BoxError
2019-10-24 14:10:23 -07:00
Girish Ramakrishnan
a017af41c5
Start moving db code to use BoxError as well
2019-10-24 14:09:53 -07:00
Girish Ramakrishnan
ec216d9828
Add PLAN_LIMIT for now
...
Should remove this and make it something else
2019-10-24 11:05:36 -07:00
Girish Ramakrishnan
bce1efb77c
Move AppsError to BoxError
2019-10-24 10:39:47 -07:00
Girish Ramakrishnan
b078d37f37
Remove REVERSEPROXY_ERROR
2019-10-24 10:31:56 -07:00
Girish Ramakrishnan
8d944f74c0
Make reverseProxy return BoxError consistently
2019-10-24 10:28:38 -07:00
Girish Ramakrishnan
dc10b8a07f
Move AddonsError to BoxError
2019-10-23 15:57:01 -07:00
Girish Ramakrishnan
7b9f741522
Move ProvisionError to BoxError
2019-10-23 15:45:09 -07:00
Girish Ramakrishnan
51cb3b0ba8
Move DomainsError to BoxError
2019-10-23 15:15:19 -07:00
Girish Ramakrishnan
4db4834c90
rename variable
2019-10-23 15:03:42 -07:00
Girish Ramakrishnan
e1f0d12251
Fix error handling
2019-10-23 09:53:46 -07:00
Girish Ramakrishnan
e2388b7d88
Move UpdaterError to BoxError
2019-10-23 09:39:26 -07:00
Girish Ramakrishnan
d0e6b6bfe4
Do not re-translate to DockerError
2019-10-23 09:30:05 -07:00
Girish Ramakrishnan
b6f2c94464
test registry config
2019-10-23 06:49:29 -07:00
Girish Ramakrishnan
8cdddef077
Add registry config to settings table
2019-10-22 22:56:25 -07:00
Girish Ramakrishnan
e82ac5ecc5
Ensure docker code returns BoxError
2019-10-22 21:46:32 -07:00
Girish Ramakrishnan
db6c07f86a
Move ReverseProxyError with BoxError
2019-10-22 21:24:31 -07:00
Girish Ramakrishnan
2df642000d
Move ClientsError to BoxError
2019-10-22 21:16:49 -07:00
Girish Ramakrishnan
11d80cec7d
Fix mailbox tests
2019-10-22 21:03:47 -07:00
Girish Ramakrishnan
8c9ce30d29
Move BackupsError to BoxError
2019-10-22 21:03:47 -07:00
Girish Ramakrishnan
df142994a8
Move TaskError into BoxError
2019-10-22 21:03:47 -07:00
Girish Ramakrishnan
2d115d3d0f
Move GroupsError to BoxError
2019-10-22 16:34:17 -07:00
Girish Ramakrishnan
1b594d3e50
Remove unused GroupsError
2019-10-22 16:26:38 -07:00
Girish Ramakrishnan
332f2e7c10
Move SysInfoError to BoxError
2019-10-22 14:09:44 -07:00
Girish Ramakrishnan
a7614cef2e
Move CloudronError to BoxError
2019-10-22 14:06:19 -07:00
Girish Ramakrishnan
9842b6d4a1
Move EventLogError to BoxError
2019-10-22 13:59:01 -07:00
Girish Ramakrishnan
88818a1ec2
Move NotificationsError to BoxError
2019-10-22 13:00:10 -07:00
Girish Ramakrishnan
812f5cce99
Move DisksError to BoxError
2019-10-22 11:11:41 -07:00
Girish Ramakrishnan
fdf7da9111
Move SupportError to BoxError
2019-10-22 11:08:19 -07:00
Girish Ramakrishnan
ed9e1772ea
move SettingsError to BoxError
2019-10-22 11:06:14 -07:00
Girish Ramakrishnan
657a2cac2f
Add pagination to mailbox listing
2019-10-22 10:12:06 -07:00
Girish Ramakrishnan
d15aa2744d
Fix return code if start.sh is bad
2019-10-20 13:35:19 -07:00
Girish Ramakrishnan
29ab3e91b3
gcs: remove concurrency logic
...
this is more complicated than necessary
2019-10-18 18:54:25 -07:00
Girish Ramakrishnan
f6377fd1c6
Add email_error type
2019-10-15 11:48:20 -07:00
Girish Ramakrishnan
122a987d61
4.3 changes
2019-10-15 11:40:36 -07:00
Girish Ramakrishnan
4610e78d91
Add altEmail to support ticket (when mail is down)
2019-10-15 11:39:44 -07:00
Girish Ramakrishnan
351bd46cb7
Make external backup restore a separate route (import)
...
fixes #650
2019-10-15 09:20:29 -07:00
Girish Ramakrishnan
8878bc4bf9
frameAncestors -> csp
...
It seems we cannot separate frame ancestors from CSP because the hide
header just hides everything and not a specific resource. This means
that the user has to set or unset the full policy whole sale.
2019-10-14 17:12:01 -07:00
Girish Ramakrishnan
61b6bee946
Remove unused variable
2019-10-14 16:07:45 -07:00
Girish Ramakrishnan
9997cbddb8
Do not escape as html
2019-10-14 16:03:57 -07:00
Girish Ramakrishnan
7115498f32
Send reverseProxyConfig in REST response
2019-10-14 15:57:41 -07:00
Girish Ramakrishnan
0f05c243aa
Remove redundant type checking validation
2019-10-14 15:18:21 -07:00
Girish Ramakrishnan
9c12f1fe15
Add field to configure the reverse proxy
...
part of #596
2019-10-14 15:05:25 -07:00
Girish Ramakrishnan
7383cc4e90
email: Auto-subscribe to Spam folder
2019-10-14 14:31:39 -07:00
Girish Ramakrishnan
6466b47ada
4.3 changes
2019-10-14 14:16:43 -07:00
Girish Ramakrishnan
1856fc05d9
Add timeout for apptask as well
2019-10-14 14:16:15 -07:00
Girish Ramakrishnan
a19662bdfa
Add a timeout for update as well
...
this will send a notification if an update gets stuck
2019-10-14 13:05:12 -07:00
Girish Ramakrishnan
488763fc42
rename appconfig to nginxconfig
2019-10-13 17:08:33 -07:00
Girish Ramakrishnan
7cbe60a484
Fix crash when only udp ports are defined
2019-10-11 20:39:03 -07:00
Girish Ramakrishnan
ded9a6e377
Revert "remove unused function"
...
This reverts commit a19205e3ad .
2019-10-11 20:30:30 -07:00
Girish Ramakrishnan
ea205363a0
More 4.2.7 changes
2019-10-11 20:23:33 -07:00
Girish Ramakrishnan
ad13445c93
Revert "apptask: backupId/format is not part of install anymore"
...
This reverts commit 49e5c60422 .
2019-10-11 20:21:48 -07:00
Girish Ramakrishnan
eb5c2ed30b
notify failed backups
...
fixes #649
2019-10-11 19:54:15 -07:00
Girish Ramakrishnan
bd3080a6b3
lint
2019-10-11 19:54:15 -07:00
Girish Ramakrishnan
be5290c5ca
Add error code for timeout
2019-10-11 19:54:15 -07:00
Girish Ramakrishnan
43fd207164
Kill backup task after 12 hours
...
this will automatically notify by email
part of #649
2019-10-11 19:13:39 -07:00
Girish Ramakrishnan
34c53694a0
Add timeout option when starting task
...
Part of #649
2019-10-11 19:13:39 -07:00
Girish Ramakrishnan
927f8483ce
4.2.7 changes
2019-10-11 18:43:39 -07:00
Girish Ramakrishnan
a19205e3ad
remove unused function
2019-10-07 22:10:02 -07:00
Girish Ramakrishnan
49e5c60422
apptask: backupId/format is not part of install anymore
2019-10-07 15:29:18 -07:00
Girish Ramakrishnan
57b623ee44
Fix install with backupId
2019-10-07 15:01:00 -07:00
Girish Ramakrishnan
0c904af927
tpyo
2019-10-03 15:25:52 -07:00
Girish Ramakrishnan
9cd025972c
Try acme flow 3 times
2019-10-03 14:47:18 -07:00
Girish Ramakrishnan
21111eccc4
retry downloadCertificate
2019-10-03 14:37:12 -07:00
Girish Ramakrishnan
917079f341
Add error message to network error
2019-10-03 14:33:49 -07:00
Girish Ramakrishnan
4d6d768be1
Append apptask logs
2019-10-03 12:20:15 -07:00
Girish Ramakrishnan
c54cd992ca
Validate the location passed in repair route
2019-10-03 12:08:05 -07:00
Girish Ramakrishnan
d5ec599dd1
repair can always be called
...
this is because sometimes cloudron thinks there is no error, but there is
2019-10-03 11:30:00 -07:00
Girish Ramakrishnan
0542ab16d4
If cert renewal failed, continue using old cert
2019-10-03 11:11:02 -07:00
Girish Ramakrishnan
7e75ef7685
cert: add more debugs
2019-10-03 10:36:57 -07:00
Johannes Zellner
f296265461
Add changes
2019-10-03 16:31:01 +02:00
Johannes Zellner
fb4eade215
Location in configure route may be an empty string
2019-10-03 16:23:01 +02:00
Johannes Zellner
8b3e85907c
Add 4.2.5 changes
2019-10-02 18:41:42 +02:00
Johannes Zellner
ca4876649d
The demo setting didn't go well
2019-10-02 18:39:06 +02:00
Johannes Zellner
7ebc2abe5d
Add 4.2.4 changes
2019-10-02 14:15:46 +02:00
Johannes Zellner
37e132319b
Ensure demo setting is '' or 'enabled'
2019-10-02 12:58:32 +02:00
Johannes Zellner
b2728118e9
Remove unused require
2019-10-02 12:13:18 +02:00
Girish Ramakrishnan
c428f649aa
typo
2019-10-01 14:40:24 -07:00
Girish Ramakrishnan
7baf979a59
Fix verbose logs
2019-10-01 14:39:40 -07:00
Girish Ramakrishnan
ccecaca047
Fix crash
2019-10-01 14:04:39 -07:00
Girish Ramakrishnan
c7ee684f25
Fix bug where nginx was not reloaded on cert renewal
...
Looks like it worked so far because nginx got reloaded in situations
like apptask or server reboot.
2019-10-01 11:25:57 -07:00
Girish Ramakrishnan
52156c9a35
Remove unused type field
2019-10-01 11:17:12 -07:00
Girish Ramakrishnan
4fba216af9
scaleway: try to keep part numbers low
2019-09-30 20:42:37 -07:00
Girish Ramakrishnan
1d00c788d1
Remove dead code
2019-09-30 15:54:18 -07:00
Girish Ramakrishnan
d891d39587
reverseproxy: rename to writeDefaultConfig
2019-09-30 15:28:05 -07:00
Girish Ramakrishnan
cfde6e31ad
reverseproxy: improve the note
2019-09-30 15:25:53 -07:00
Girish Ramakrishnan
243772d1f5
reverseproxy: do not export reload
2019-09-30 15:23:53 -07:00
Girish Ramakrishnan
1c36b8eaf7
Add debugs
2019-09-30 11:52:23 -07:00
Girish Ramakrishnan
120fa4924a
Remove confusing isInstalling usage
2019-09-30 09:58:13 -07:00
Girish Ramakrishnan
c3c9c2f39a
Always pass restoreConfig for the restore case
2019-09-30 09:47:14 -07:00
Girish Ramakrishnan
fc90829ba2
repair: Use backupId only if passed in via REST API
2019-09-30 09:13:13 -07:00
Girish Ramakrishnan
ce9224c690
Set the domain and subdomain in details
2019-09-27 14:42:18 -07:00
Girish Ramakrishnan
18a2107247
Attach fqdn information consistently in the eventlog
2019-09-27 11:50:22 -07:00
Girish Ramakrishnan
f13d05dad7
Update changes
2019-09-27 11:09:50 -07:00
Girish Ramakrishnan
86586444a9
Validate alternate domain
...
this also sets up fqdn in the eventlog entries
2019-09-27 10:58:59 -07:00
Girish Ramakrishnan
4e47d0595d
Remove ACTION_BACKUP_CLEANUP_START
2019-09-27 09:43:40 -07:00
Girish Ramakrishnan
45e85e4d53
Set overwriteDns to be true when re-configuring
2019-09-26 22:30:58 -07:00
Girish Ramakrishnan
a3420f885d
Fix use of skipBackup
...
also, store it in the eventlog
2019-09-26 20:18:49 -07:00
Girish Ramakrishnan
a266fe13d0
Remove skipNotification flag
...
we always want a update finish eventlog. Otherwise, the eventlog seems
strange since it says 'started updated' but didn't finish
2019-09-26 20:06:14 -07:00
Girish Ramakrishnan
44aba5d6e1
Add changes
2019-09-26 15:00:00 -07:00
Girish Ramakrishnan
3fe5307ae3
Migrate PROVIDER from cloudron.conf correctly
2019-09-26 14:19:25 -07:00
Girish Ramakrishnan
d03fb0e71f
Add separate flags for skipping backup and notification
2019-09-26 13:06:15 -07:00
Girish Ramakrishnan
d9723b72e4
Replace Acme2Error with BoxError
2019-09-25 14:13:10 -07:00
Girish Ramakrishnan
6ba61f1bda
Update changes
2019-09-25 10:30:54 -07:00
Girish Ramakrishnan
d1df647ddd
Another migration typo
2019-09-25 10:22:43 -07:00
Girish Ramakrishnan
95c4a1f90c
Handle db migration failure
2019-09-25 10:17:02 -07:00
Girish Ramakrishnan
e00325e694
typo
2019-09-25 10:06:48 -07:00
Girish Ramakrishnan
85c13cae58
Fix platform update logic
2019-09-24 21:21:49 -07:00
Girish Ramakrishnan
00fd9e5b7f
add note that db upgrade code path is br0ken
2019-09-24 20:05:55 -07:00
Girish Ramakrishnan
dde81ee847
lint
2019-09-24 19:50:24 -07:00
Girish Ramakrishnan
c46fc96500
stash the taskId instead of args
2019-09-24 13:06:13 -07:00
Girish Ramakrishnan
1914a9a703
Capitalize the Denied to be in sync with boxerror
2019-09-24 00:58:49 -07:00
Girish Ramakrishnan
1a061e4446
Only check installationState to resume tasks
...
also, make resumeTasks go via app logic to capture end of task
2019-09-24 00:37:29 -07:00
Girish Ramakrishnan
29ce80cebe
Use DOCKER_ERROR for docker errors
2019-09-23 23:27:32 -07:00
Girish Ramakrishnan
4b6ac538ac
clear the timeout just to be safe
2019-09-23 18:17:05 -07:00
Girish Ramakrishnan
70b9000b0e
Fix various app state issues
...
Tasks initiated by repair/uninstall can run from any state
Clear taskId for failed uninstall
Clone/install can only be run on new entries
2019-09-23 18:07:12 -07:00
Girish Ramakrishnan
24dcb1b79c
typo
2019-09-23 15:31:09 -07:00
Johannes Zellner
384915883f
Add namecheap token error changes
2019-09-23 23:49:43 +02:00
Johannes Zellner
4cfc75f1d1
Handle namecheap ACCESS_DENIED
2019-09-23 23:35:29 +02:00
Girish Ramakrishnan
c49cbb524d
Design the route for pre-flight
2019-09-23 14:34:29 -07:00
Girish Ramakrishnan
b401c3d930
Make schedule task take the command as arg
2019-09-23 14:18:14 -07:00
Girish Ramakrishnan
890a7cfb37
runState is not used for task anymore
2019-09-23 13:49:38 -07:00
Girish Ramakrishnan
70a1ef1af3
Can call uninstall as long as no task is active
2019-09-23 13:32:52 -07:00
Girish Ramakrishnan
38a0cdc0be
Make the repair re-issue the install command
...
Otherwise, repairing a repair has to be handled
2019-09-23 13:21:25 -07:00
Girish Ramakrishnan
93344a5a4a
Use 424 for access denied
2019-09-23 13:10:16 -07:00
Girish Ramakrishnan
9f792fc04b
Remove DockerError
2019-09-23 12:20:25 -07:00
Girish Ramakrishnan
7cb95faacb
typo
2019-09-23 10:49:50 -07:00
Girish Ramakrishnan
bf122f0f56
Allow uninstall in error state
2019-09-23 10:40:22 -07:00
Girish Ramakrishnan
78e9446a05
Refactor repair into separate function
2019-09-23 10:15:58 -07:00
Girish Ramakrishnan
138e1595fa
make legacy error messages as JSON
2019-09-23 09:13:43 -07:00
Johannes Zellner
37b02ad36a
oldConfig is only used for location configure now
2019-09-23 16:24:18 +02:00
Johannes Zellner
02f0055594
On repair oldConfig might not come as an argument
2019-09-23 16:18:44 +02:00
Girish Ramakrishnan
ec1f0f9320
Do not do dataDir move in configure
2019-09-23 07:15:36 -07:00
Girish Ramakrishnan
bfe6389f62
oldConfig is optional in configure
2019-09-23 07:13:51 -07:00
Johannes Zellner
30db3e8973
Fix typo in sql query
2019-09-23 15:01:20 +02:00
Johannes Zellner
5b67f2cf29
Add apt packages required for samba mounts
...
The linux-generic package is anyways important for ensuring extra
modules will be rebuilt during updates.
2019-09-23 12:21:37 +02:00
Girish Ramakrishnan
a007b74b1c
Do no reparse null
2019-09-22 23:08:07 -07:00
Girish Ramakrishnan
a89482d4fa
Send the error as a task argument
...
Note that if apptask dies, we will automatically restart the repair
task with the args.
2019-09-22 22:50:35 -07:00
Girish Ramakrishnan
0cd4f133aa
Do not configure/restore errored apps automatically
2019-09-22 22:44:28 -07:00
Girish Ramakrishnan
e5ba4ff973
Handle legacy app error message
...
For apps in errored state, from a previous version of Cloudron
2019-09-22 22:25:34 -07:00
Girish Ramakrishnan
ce133b997d
Make runState non-nullable
2019-09-22 22:07:47 -07:00
Girish Ramakrishnan
217632354f
Allow repair in non-errored state
2019-09-22 21:56:07 -07:00
Girish Ramakrishnan
9841351190
Call configure for all the non-reinstall states
2019-09-22 09:38:36 -07:00
Girish Ramakrishnan
f3341f4b7f
Make start/stop just a installation code
...
the runState now just tracks if an app is stopped.
2019-09-22 01:01:52 -07:00
Girish Ramakrishnan
ff1f448860
Fixup repair route
...
* Do not allow scheduling tasks in error state
* Only repair is allowed in error state
* Use the error object to track what to 'repair' (like the lastState)
* If uninstall failed, repair will do uninstall
* If move dir failed, repair will do move dir
2019-09-22 00:04:25 -07:00
Girish Ramakrishnan
37f28746fc
Do not setup logrotate & collectd in update
2019-09-20 20:10:52 -07:00
Girish Ramakrishnan
9a22ba3af7
Add repair route
...
this is specifically for the case where some task failed and user
wants to get it back.
2019-09-19 23:13:44 -07:00
Girish Ramakrishnan
2942da78de
Add TASK_ERROR reason code
2019-09-19 23:13:13 -07:00
Girish Ramakrishnan
89ff6be971
Make domain a field
2019-09-19 22:45:44 -07:00
Girish Ramakrishnan
be0d7bcce1
Typo
2019-09-19 22:30:51 -07:00
Johannes Zellner
851b257678
Fix typo
2019-09-20 02:05:19 +02:00
Girish Ramakrishnan
579eacb644
Better pending state check
2019-09-19 16:42:49 -07:00
Girish Ramakrishnan
f52c5b584e
Fix crash when resuming stopped apps
2019-09-19 16:40:38 -07:00
Girish Ramakrishnan
8980c18deb
Send back error when access denied
2019-09-19 15:24:21 -07:00
Girish Ramakrishnan
b05a9ce064
Add API to get dns record
2019-09-19 15:10:27 -07:00
Girish Ramakrishnan
1974314c1f
Add changes
2019-09-18 09:12:25 -07:00
Johannes Zellner
2bde023d4d
Use a file based session store
...
This prevents login sessions to be lost after a box restart
2019-09-18 13:00:03 +02:00
Girish Ramakrishnan
3a10003246
libssl1 asking for restart prompt during install
...
https://unix.stackexchange.com/questions/146283/how-to-prevent-prompt-that-ask-to-restart-services-when-installing-libpq-dev
https://github.com/confluentinc/castle/pull/1
https://bugs.launchpad.net/ubuntu/+source/ansible/+bug/1833013
2019-09-17 14:43:11 -07:00
Girish Ramakrishnan
1b08710b7e
Update haraka
2019-09-16 14:44:57 -07:00
Girish Ramakrishnan
101d09eeb3
Typo in event log
2019-09-16 13:01:35 -07:00
Girish Ramakrishnan
00f949f156
Add overwriteDns arg to install & clone
...
this is useful in e2e
2019-09-16 09:31:34 -07:00
Girish Ramakrishnan
adbe46d369
print all the domains being registered
2019-09-16 09:22:43 -07:00
Girish Ramakrishnan
3198926cd6
return null for default dataDir
2019-09-15 22:06:03 -07:00
Girish Ramakrishnan
957a6a20fe
mail: fix sieve + mail relay
2019-09-13 17:01:36 -07:00
Girish Ramakrishnan
94f75bb0d7
Update mail container for queue rework
2019-09-13 14:39:48 -07:00
Girish Ramakrishnan
0f442755e5
mail: add SRS support for mail forwarding
...
Fixes #637
2019-09-13 10:22:49 -07:00
Girish Ramakrishnan
cd2e782d48
Make mail tests work
2019-09-12 13:59:31 -07:00
Girish Ramakrishnan
e97606ca87
Remove internal sysadmin server
...
this is now unused
2019-09-12 13:33:01 -07:00
Girish Ramakrishnan
00ada80230
Add mail container changes
2019-09-11 15:03:57 -07:00
Girish Ramakrishnan
34db98c489
validate email in addList
2019-09-11 14:36:10 -07:00
Girish Ramakrishnan
110695355c
Make mailing list members fully qualified
...
Part of #637
2019-09-11 12:51:57 -07:00
Girish Ramakrishnan
021fb4bb94
Add skysilk provider
2019-09-11 09:14:04 -07:00
Girish Ramakrishnan
dea033e4b0
Fix comment
2019-09-10 15:43:16 -07:00
Girish Ramakrishnan
7dfe40739e
Remove apps.getAppConfig
2019-09-10 15:41:35 -07:00
Girish Ramakrishnan
9f0d1b515c
Add param to overwrite DNS
2019-09-10 15:41:32 -07:00
Girish Ramakrishnan
2691d46d50
migrate: only pass the old data dir
2019-09-10 15:15:20 -07:00
Girish Ramakrishnan
78c8f1de71
Add specific installation states to help out UI
2019-09-10 14:25:12 -07:00
Girish Ramakrishnan
d27ee4bfbc
More changes
2019-09-10 14:20:16 -07:00
Girish Ramakrishnan
cc5daa428d
Fix location change event log
2019-09-10 13:57:58 -07:00
Girish Ramakrishnan
3e2189aeed
Remove obsolete configure route
2019-09-09 22:08:08 -07:00
Girish Ramakrishnan
79f9963792
Add robotsTxt tests
2019-09-09 21:52:01 -07:00
Girish Ramakrishnan
6f53723169
test data dir migration
2019-09-09 21:25:39 -07:00
Girish Ramakrishnan
d8cb100fc0
Add mailbox test
2019-09-09 16:34:48 -07:00
Girish Ramakrishnan
5f9b2f1159
Add env and debug mode tests
2019-09-09 15:46:29 -07:00
Girish Ramakrishnan
801ca7eda1
Break down the configure route
2019-09-09 14:35:52 -07:00
Girish Ramakrishnan
45a2d3745c
Fix app eventlog
2019-09-06 14:47:44 -07:00
Girish Ramakrishnan
551fe4d846
Use BoxError everywhere in apptask
2019-09-06 11:33:24 -07:00
Girish Ramakrishnan
791981c2f2
trim the provider
2019-09-06 10:24:19 -07:00
Girish Ramakrishnan
a18a620847
Add BoxError.toPlainObject
2019-09-05 21:11:38 -07:00
Girish Ramakrishnan
99e63ffc3f
Use BoxError for apptask errors
2019-09-05 18:13:53 -07:00
Girish Ramakrishnan
e10a6d9de5
Bump graphite for buffer size fix
2019-09-05 14:33:32 -07:00
Girish Ramakrishnan
147f16571a
Handle error in graphs code
2019-09-05 14:30:21 -07:00
Girish Ramakrishnan
bd1fbc4a05
typo
2019-09-05 11:42:32 -07:00
Girish Ramakrishnan
0843f78ec8
Add tasks.setCompleted
...
this lets us easily grep the code on where the task is completed
2019-09-05 11:29:48 -07:00
Girish Ramakrishnan
9769fbfcf2
Better message
2019-09-05 11:22:29 -07:00
Girish Ramakrishnan
7e73197eb9
Trigger re-configure of apps for collectd config
2019-09-05 09:24:37 -07:00
Girish Ramakrishnan
e3964fd710
Fix crash in setUpdateSuccess
2019-09-04 16:11:59 -07:00
Girish Ramakrishnan
e66961b814
merge registerSubdomains and registerAlternateDomains
...
also, merge unregisterSubdomain and unregisterAlternateDomains
also, fix crash where app.oldConfig is used
2019-09-03 19:55:41 -07:00
Girish Ramakrishnan
4176e5a98e
Add note in schema
2019-09-03 19:04:12 -07:00
Girish Ramakrishnan
45cf8a62d1
remove obsolete comment
2019-09-03 18:52:37 -07:00
Girish Ramakrishnan
b1380819ba
debug taskId
2019-09-03 16:06:28 -07:00
Girish Ramakrishnan
57fa457596
Typo in error handling
2019-09-03 15:55:57 -07:00
Girish Ramakrishnan
de1e218ce9
Return BAD_FIELD if dataDir conflicts
2019-09-03 15:17:48 -07:00
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
Girish Ramakrishnan
a9e101d9f4
Add note on why it is BAD_STATE
2019-09-02 13:55:43 -07:00
Girish Ramakrishnan
a2f8203a42
Add location conflict error code
2019-09-02 12:42:28 -07:00
Girish Ramakrishnan
b9ee127775
Send detail in apps error
2019-09-02 12:41:32 -07:00
Girish Ramakrishnan
6668bb3e8a
Handle BAD_STATE as well
2019-09-02 12:17:48 -07:00
Girish Ramakrishnan
5fd129e509
send reason code as part of details
2019-09-01 21:22:46 -07:00
Girish Ramakrishnan
d59c1f53b9
apps: add detail to http error messages
2019-09-01 18:35:06 -07:00
Girish Ramakrishnan
d2f38c1abc
Remove unused error code
2019-09-01 17:39:07 -07:00
Girish Ramakrishnan
c0a1db6941
Send details as part of AppsError
...
the last mile module has been updated to pipe through additional properties.
2019-09-01 13:42:25 -07:00
Girish Ramakrishnan
fc10b4a79b
Update lastmile
2019-09-01 13:34:40 -07:00
Girish Ramakrishnan
9da2117e99
Re-enable configure/restore test
2019-08-30 16:12:35 -07:00
Girish Ramakrishnan
7e030b149b
More changes
2019-08-30 15:51:50 -07:00
Girish Ramakrishnan
bd23abd265
tasks: make error a json
...
also, handle case where we never got to handle task exit cleanly
2019-08-30 14:49:45 -07:00
Girish Ramakrishnan
dd0fb8292c
Move state enums to the model code
2019-08-30 13:21:51 -07:00
Girish Ramakrishnan
b4cbf63519
Remove installationState contraint when settings health
2019-08-30 12:57:59 -07:00
Girish Ramakrishnan
4fd04fa349
Add proper error codes
2019-08-30 12:42:38 -07:00
Girish Ramakrishnan
c22cdb8d81
Return error object in the API
2019-08-30 11:34:04 -07:00
Johannes Zellner
eb963b2eb4
Add externalldap pagination
2019-08-30 20:26:09 +02:00
Girish Ramakrishnan
7d299908c9
Fix tests
2019-08-30 10:49:43 -07:00
Girish Ramakrishnan
2585282f86
errorMessage -> errorJson
2019-08-30 10:02:24 -07:00
Johannes Zellner
f25d5b3304
Deliver the user account source in the profile api
2019-08-30 13:36:37 +02:00
Johannes Zellner
6e878faa8b
Also sync fallbackEmail from ldap
2019-08-30 13:10:49 +02:00
Johannes Zellner
15a6cbe62b
Make sure all password change input fields use the same validation pattern
2019-08-30 12:14:32 +02:00
Johannes Zellner
76b0b214ec
Do not sync non-ldap users from ldap if usernames match
...
We might want to make that option in the future depending on use-cases
2019-08-30 10:20:04 +02:00
Johannes Zellner
f5c643c960
Add some debugging logs when users are created or updated
2019-08-30 10:20:04 +02:00
Johannes Zellner
ca8e0613fb
Skip notifications for ldap syncer events
2019-08-30 10:20:04 +02:00
Johannes Zellner
0c9334d0d2
Ensure we wait for all user sync db actions to finish
2019-08-30 10:20:04 +02:00
Johannes Zellner
712dc97e9b
Move the basic ldap argument validation
2019-08-30 10:20:04 +02:00
Johannes Zellner
4df48c97ec
Ignore the bindDn user in the syncer
2019-08-30 10:20:04 +02:00
Johannes Zellner
fe3ea53cda
Ldap usually uses cn as displayName
2019-08-30 10:20:04 +02:00
Johannes Zellner
d385c80882
Use external ldap bind for users from ldap source
2019-08-30 10:20:04 +02:00
Johannes Zellner
b823213c94
Create and update users from external ldap
2019-08-30 10:20:04 +02:00
Johannes Zellner
4b86311ab9
Add user source property to schema
2019-08-30 10:20:04 +02:00
Johannes Zellner
b9efa8f445
Use tasks api for external ldap syncer
2019-08-30 10:20:04 +02:00
Johannes Zellner
f8db12346d
Perform some basic static input validation for external ldap
2019-08-30 10:20:04 +02:00
Johannes Zellner
4d3948f81f
Improve external ldap error reporting
2019-08-30 10:20:04 +02:00
Johannes Zellner
5431d50206
Also check errors when no bindDn is provided
2019-08-30 10:20:04 +02:00
Johannes Zellner
6db078c26a
Handle externalldap errors correctly in settings route
2019-08-30 10:20:04 +02:00
Johannes Zellner
f61e9c7f27
Catch basic protocol errors
2019-08-30 10:20:04 +02:00
Johannes Zellner
567d92ce00
Add external ldap enabled boolean flag
2019-08-30 10:20:04 +02:00
Johannes Zellner
7a6d26c5da
Add settings route handler for external ldap configs
2019-08-30 10:20:04 +02:00
Johannes Zellner
046ac85177
Add initial externalldap code to validate ldap configs
2019-08-30 10:20:04 +02:00
Girish Ramakrishnan
f0fd088247
Pick values from updateConfig
2019-08-29 20:50:45 -07:00
Girish Ramakrishnan
5ec0d1e691
Add to changes
2019-08-29 15:10:55 -07:00
Girish Ramakrishnan
9391a934c3
Do not update on uninstall
2019-08-29 14:38:42 -07:00
Girish Ramakrishnan
bb62e6a318
clear taskId in the parent process
2019-08-29 13:43:45 -07:00
Girish Ramakrishnan
0da6539c48
Add progressCallback to run commands
2019-08-29 13:41:11 -07:00
Girish Ramakrishnan
9cf833dab2
Use taskId instead of states to check bad state
...
a) this is because, we have install state and run state.
b) we have to put taskId as part of the transaction to prevent race
2019-08-29 13:15:40 -07:00
Girish Ramakrishnan
ed57260fcf
add note on why it is a state
2019-08-29 11:07:19 -07:00
Girish Ramakrishnan
c98f625c4c
Make force update as task arg
2019-08-29 10:59:05 -07:00
Girish Ramakrishnan
f3008064e4
Fix installation states
...
App operations can only be done in 'installed' or 'error' state.
If some other operation is in progress, you have to cancel it first.
This guarantees that the old app command got killed.
2019-08-29 10:14:23 -07:00
Girish Ramakrishnan
1faee00764
Better progress text when waiting for other tasks
...
Fixes #630
2019-08-28 22:13:50 -07:00
Girish Ramakrishnan
a40505e2ee
Remove pause flag, we already have platform lock
2019-08-28 22:13:50 -07:00
Girish Ramakrishnan
484202b4c6
better variable name
2019-08-28 21:31:42 -07:00
Girish Ramakrishnan
6a7fc17c60
Make restore/configure use scheduleTask
2019-08-28 15:36:50 -07:00
Girish Ramakrishnan
05d3897ae2
Make apps test work again
2019-08-28 15:30:23 -07:00
Girish Ramakrishnan
9f1210202a
port taskmanager to use tasks
2019-08-28 15:17:53 -07:00
Girish Ramakrishnan
be6b172d6f
Remove app task eventlog
2019-08-28 13:24:05 -07:00
Girish Ramakrishnan
fef9e0a5c1
Handle app task crashes
2019-08-28 13:19:47 -07:00
Girish Ramakrishnan
b84b033bf3
typo
2019-08-28 12:51:00 -07:00
Girish Ramakrishnan
b30ff1f55a
rework task API to be two-phase
...
this lets us avoid this EE based API. we now add and then start
explicitly.
2019-08-28 10:39:40 -07:00
Girish Ramakrishnan
c6be0b290b
updateConfig is no more
2019-08-27 22:03:43 -07:00
Girish Ramakrishnan
33cfd7a629
Add 'success' virtual field to the tasks
2019-08-27 21:36:52 -07:00
Girish Ramakrishnan
5952a5c69d
Send taskId in the response
2019-08-27 21:35:40 -07:00
Girish Ramakrishnan
20de563925
rename installationProgress to errorMessage
2019-08-27 20:08:35 -07:00
Girish Ramakrishnan
7da80b4c62
Ensure log directory
2019-08-27 16:36:19 -07:00
Girish Ramakrishnan
15d765be6d
Comment out couple of tests
2019-08-27 16:36:19 -07:00
Girish Ramakrishnan
bfe2f116a7
Make restoreConfigJson, oldConfigJson, updateConfigJson as task args
2019-08-27 16:36:15 -07:00
Girish Ramakrishnan
f535b3de2f
Add logFile option to startTask
2019-08-27 15:26:26 -07:00
Girish Ramakrishnan
e560c18b57
apptask is not a separate process anymore
2019-08-27 12:31:59 -07:00
Girish Ramakrishnan
aecb99b6a3
Use task API in run commands
2019-08-27 12:31:59 -07:00
Girish Ramakrishnan
7da17f8190
Use task API in app backup
2019-08-27 12:31:59 -07:00
Girish Ramakrishnan
1964270a4f
Use task API in app update
2019-08-27 12:31:59 -07:00
Girish Ramakrishnan
f45b61d95c
Use task API for app restore
2019-08-27 12:31:59 -07:00
Girish Ramakrishnan
ff11c38169
Use task API for app clone
2019-08-27 12:31:59 -07:00
Girish Ramakrishnan
3e67067431
Use task API for app uninstall
2019-08-27 12:31:59 -07:00
Girish Ramakrishnan
824f00d1e8
Use task API for app configure
2019-08-27 12:31:59 -07:00
Girish Ramakrishnan
96d19f59a4
Use task API for app install
2019-08-27 12:31:59 -07:00
Girish Ramakrishnan
42c6fe50d2
Make progressCallback take an optional callback
2019-08-27 12:31:59 -07:00
Girish Ramakrishnan
9242f7095a
Migrate apptask to use tasks framework
2019-08-27 12:31:59 -07:00
Girish Ramakrishnan
99c9fbc38f
add taskId to appdb
2019-08-27 12:31:55 -07:00
Girish Ramakrishnan
0d31207ad7
add taskId to tasks table
2019-08-26 14:27:29 -07:00
Girish Ramakrishnan
8af7dbc35a
group -> list
2019-08-23 16:36:19 -07:00
Johannes Zellner
d0a373cb15
Refresh dns records for dynamic dns setting every hour
...
Often home IPs change at the full hour, so we give it 5min to settle
2019-08-23 16:20:26 +02:00
Johannes Zellner
3dc87bbca8
Allow embedding pages from same origin
2019-08-22 11:37:54 +02:00
Girish Ramakrishnan
a55c399585
cloudron-support: Use the PROVIDER file
2019-08-21 21:23:22 -07:00
Girish Ramakrishnan
f74aa24dd2
cloudron-setup: make it work for old installs
...
need this for the auto-update test
2019-08-21 21:18:08 -07:00
Girish Ramakrishnan
1aa7eb4478
Collect and aggregate du information twice a day
2019-08-21 13:45:52 -07:00
Girish Ramakrishnan
0c7002ba59
settings.adminOrigin has to be loaded after setAdmin
...
the dangers of caching
2019-08-21 13:26:15 -07:00
Girish Ramakrishnan
fd6dd1ea18
Add timestamp to the logs
2019-08-21 10:16:57 -07:00
Girish Ramakrishnan
aa74d5cd82
Add a note
2019-08-20 19:47:24 -07:00
Girish Ramakrishnan
8fc10a0bdd
Add note
2019-08-20 15:26:00 -07:00
Girish Ramakrishnan
809ed0f0dc
clear db to stop the scheduler
2019-08-20 13:42:03 -07:00
Girish Ramakrishnan
b8a4e1c4a3
Use docker for apps-test
2019-08-20 13:34:18 -07:00
Girish Ramakrishnan
d9e45f732b
Fix error message
2019-08-20 13:22:43 -07:00
Girish Ramakrishnan
ca025b36f7
Define DockerError.EXTERNAL_ERROR
2019-08-20 13:11:06 -07:00
Girish Ramakrishnan
bfb719d35e
Remove use of dockerProxy
2019-08-20 11:50:54 -07:00
Girish Ramakrishnan
2a1b61107f
Make the ldap test work
2019-08-20 11:45:00 -07:00
Johannes Zellner
969cee7c90
Rebuilding docker container takes a long time, so callback early
...
Otherwise the service restart request will just time out in the
dashboard
2019-08-20 12:12:24 +02:00
Johannes Zellner
7a3f579d3e
Do not crash if a service without active docker container needs restart
2019-08-20 12:06:49 +02:00
Johannes Zellner
288d5efa88
Return DockerError instead of generic Error
2019-08-20 12:06:22 +02:00
Johannes Zellner
7be821963c
Ensure we report stopped status for addons without a running docker container
2019-08-20 11:27:35 +02:00
Girish Ramakrishnan
a236f8992a
graphite: Fixup healthcheck url
2019-08-19 22:27:53 -07:00
Girish Ramakrishnan
a5c2257f39
Update changelog
2019-08-19 19:10:30 -07:00
Girish Ramakrishnan
9d3b4ba816
store docker df output as well
2019-08-19 16:15:31 -07:00
Girish Ramakrishnan
43bf0767f1
remove docker proxy from tests
...
this is too complicated and also makes it hard to keep up with upstream API
2019-08-19 14:35:23 -07:00
Girish Ramakrishnan
b301e5b151
Add dockerDataDisk to disks response
2019-08-19 14:14:13 -07:00
Girish Ramakrishnan
2b484c0382
collect maildata size separately
2019-08-19 13:23:31 -07:00
Johannes Zellner
f40ab4e2d5
Use git+https for cloudron-io/df
2019-08-19 09:19:06 +02:00
Girish Ramakrishnan
c0a27380e9
Add to changes
2019-08-18 21:59:20 -07:00
Girish Ramakrishnan
0d7a3f43c4
Collect du information
2019-08-18 21:52:41 -07:00
Girish Ramakrishnan
8195e439f3
Return all disks
...
We now return the disk information per app as well
2019-08-16 10:29:56 -07:00
Johannes Zellner
b5edbf716c
Add interox provider option
2019-08-14 14:47:08 +02:00
Johannes Zellner
466265fde1
Allow iframe embedding of cloudron.io pages
2019-08-14 14:44:12 +02:00
Girish Ramakrishnan
40033e09cd
Check disk space before create app/box backups
...
Fixes #642
2019-08-13 10:55:02 -07:00
Johannes Zellner
573663412c
Add more fuzzy user search
...
Fixes #646
2019-08-13 15:23:26 +02:00
Johannes Zellner
17599417f7
WIP
2019-08-13 15:16:17 +02:00
Girish Ramakrishnan
0ece6d8b0e
Add dataDir to schema
2019-08-12 22:16:45 -07:00
Girish Ramakrishnan
e0ac0393fe
typo
2019-08-12 21:47:22 -07:00
Girish Ramakrishnan
6d38b3255c
Check available disk space before update
...
Part of #642
2019-08-12 21:09:22 -07:00
Girish Ramakrishnan
477ff424d6
Check if we have enough disk space for docker
...
Part of #642
2019-08-12 20:47:53 -07:00
Girish Ramakrishnan
a843104348
sftp: typo
2019-08-12 11:31:59 -07:00
Girish Ramakrishnan
0f4bc0981a
graphs: fix render forwarding
2019-08-12 11:01:12 -07:00
Girish Ramakrishnan
07f6351465
Make graphite dashboard appear again
2019-08-11 22:45:11 -07:00
Girish Ramakrishnan
1b26e86365
Fix test
2019-08-10 09:37:42 -07:00
Girish Ramakrishnan
94b4bf94c0
Merge active flag into update route
2019-08-08 08:17:08 -07:00
Girish Ramakrishnan
d5de05b633
Send user active flag
2019-08-08 07:19:50 -07:00
Girish Ramakrishnan
0ab6cad048
Add user enable/disable flag
2019-08-08 06:31:46 -07:00
Girish Ramakrishnan
9833ad548b
Better progress message
2019-08-07 06:23:28 -07:00
Girish Ramakrishnan
aa1ba3b226
Make apps-test pass
2019-08-06 10:27:19 -07:00
Girish Ramakrishnan
3774d4de28
Use API for pullImage
...
This allows to get proper error code
This mostly reverts commit 734286ba2e .
2019-08-06 09:46:09 -07:00
Girish Ramakrishnan
e4961726bc
Try to make apps-test work
2019-08-05 16:16:56 -07:00
Girish Ramakrishnan
77cf7d0da6
Bump test version
2019-08-05 06:39:16 -07:00
Girish Ramakrishnan
a993e0b228
Add fullstop
2019-08-04 15:35:42 -07:00
Girish Ramakrishnan
43671a9fd6
Clear update task progress after update
...
Fixes #635
2019-08-04 10:21:42 -07:00
Girish Ramakrishnan
49cfd1e9b7
Add notification for box update
...
Fixes #634
2019-08-04 05:44:04 -07:00
Girish Ramakrishnan
58d4a4f54f
quoting and fullstop
2019-08-03 10:36:38 -07:00
Girish Ramakrishnan
e4e328ba6a
Make user event titles better
2019-08-03 10:17:07 -07:00
Girish Ramakrishnan
fd6bc955ff
Remove extra line
2019-08-03 09:41:16 -07:00
Girish Ramakrishnan
511a18e0ed
Display app changelog and version
...
part of #634
2019-08-03 09:22:13 -07:00
Girish Ramakrishnan
e29d224a92
Be a bit more specific
2019-07-31 15:45:25 -07:00
Girish Ramakrishnan
bb48ffb01f
Fixup UA for easier detection (other than IP)
2019-07-31 15:43:15 -07:00
Girish Ramakrishnan
31fd3411f7
Add to changes
2019-07-30 15:41:03 -07:00
Girish Ramakrishnan
a737d2675e
Fix logrotation rules
...
* explicitly specify the dirs that are getting rotated
* app log rules are now moved to logrotate.ejs
* we keep task logs for a week
Some testing notes:
* touch -d "10 days ago" foo
* logrotate /etc/logrotate.conf -v to test rotation. there is a state
file created in /var/lib/logrotate/status. If we have a 'daily' rule,
it will get processed only after a log line in status exists and it's atleast
1 day old timestamp.
https://github.com/logrotate/logrotate/blob/master/logrotate.c is quite
readable
2019-07-30 15:37:15 -07:00
Girish Ramakrishnan
fd462659cd
tmp cleaner: only remove files and not directories
...
some apps like rocket.chat create directories in tmp and removing those
directories causes problems (for example, uploading)
2019-07-30 14:06:04 -07:00
Johannes Zellner
cb10d0d465
Add time4vps provider
2019-07-29 20:54:41 +02:00
Girish Ramakrishnan
61f1c4884c
Refactor logic so that settings.adminDomain is read in the closure
2019-07-27 19:21:49 -07:00
Girish Ramakrishnan
2cd00de6e3
initCache after every restore
2019-07-27 19:09:09 -07:00
Girish Ramakrishnan
d3c5d53eae
silence mysql warning
2019-07-26 22:35:44 -07:00
Girish Ramakrishnan
6dfafae342
move the comment
2019-07-26 22:19:14 -07:00
Girish Ramakrishnan
2f861c3309
specify the database
2019-07-26 22:12:40 -07:00
Girish Ramakrishnan
af388f0f16
IP based restore
2019-07-26 21:37:33 -07:00
Girish Ramakrishnan
c36cc86c5f
init cache in various out of process workers
2019-07-26 19:38:42 -07:00
Girish Ramakrishnan
02f195b25c
typo
2019-07-26 15:02:03 -07:00
Girish Ramakrishnan
18623fd9b7
cloudron.conf can be removed post migration
2019-07-26 14:55:36 -07:00
Girish Ramakrishnan
9b74bb73aa
config.js is dead, long live config.js
...
we use settings now
2019-07-26 14:51:51 -07:00
Girish Ramakrishnan
ee9636b496
move use of TEST and CLOUDRON to constants
2019-07-26 10:13:20 -07:00
Girish Ramakrishnan
5c2cbd7840
Move config.baseDir to paths
2019-07-26 10:07:08 -07:00
Girish Ramakrishnan
7fbac6cc17
typo
2019-07-26 08:44:37 -07:00
Girish Ramakrishnan
9e7e9d66bf
move provider into sysinfo
...
this is ideally "auto-detectable" runtime information
2019-07-26 07:33:22 -07:00
Girish Ramakrishnan
7fe66aa7fa
Remove unused settings.get
2019-07-25 16:31:02 -07:00
Girish Ramakrishnan
2dda0efe83
Move config.database to db code itself
2019-07-25 16:12:42 -07:00
Girish Ramakrishnan
59620ca473
config.get is dead
2019-07-25 16:08:54 -07:00
Girish Ramakrishnan
12eae1eff2
Make port a constant
2019-07-25 16:08:54 -07:00
Girish Ramakrishnan
b03bf87b7d
remove unused function
2019-07-25 16:08:54 -07:00
Girish Ramakrishnan
c32718b164
Make ldap and docker proxy port as constants
2019-07-25 16:08:54 -07:00
Girish Ramakrishnan
a6ea12fedc
Make internal smtp port a constant
2019-07-25 16:08:54 -07:00
Girish Ramakrishnan
2d260eb0d5
Make sysadminPort a constant
2019-07-25 16:08:51 -07:00
Girish Ramakrishnan
d7dd069ae0
Use constants.version instead of config.version
2019-07-25 15:02:14 -07:00
Girish Ramakrishnan
6a77a58489
Move hasIPv6 into sysinfo
2019-07-25 14:35:08 -07:00
Girish Ramakrishnan
c30ac5f927
Add setting key names
2019-07-25 14:35:04 -07:00
Girish Ramakrishnan
437f7ef890
Migrate cloudron.conf into db
2019-07-25 14:34:16 -07:00
Girish Ramakrishnan
1f7347e8de
Make custom.yml as part of the backup
2019-07-25 10:28:42 -07:00
Girish Ramakrishnan
96f59d7cfe
config: edition is long gone
2019-07-24 22:32:16 -07:00
Girish Ramakrishnan
d55f65c7c9
Better error message
2019-07-24 22:11:22 -07:00
Girish Ramakrishnan
9a0d5b918f
totp: set window to 2
...
see https://github.com/speakeasyjs/speakeasy#specifying-a-window-for-verifying-hotp-and-totp
A TOTP is incremented every step time-step seconds. By default, the time-step is
30 seconds. Window of 2 means, +- 2 steps.
Fixes #633
2019-07-23 14:45:54 -07:00
Girish Ramakrishnan
3553fbc7b6
Add wasabi storage backend
2019-07-22 16:44:56 -07:00
Girish Ramakrishnan
55d53f13d9
Improve error message
2019-07-18 10:28:37 -07:00
Johannes Zellner
27369a650c
Fix disk full docs link
2019-07-16 15:10:56 +02:00
Girish Ramakrishnan
913f0d5d97
Update changes file
2019-07-15 10:50:14 -07:00
Girish Ramakrishnan
ada63ec697
Add app.adminEmail
2019-07-12 14:29:35 -07:00
Girish Ramakrishnan
117f06e971
Fix issue where tar backups with files > 8GB was corrupt
...
Fixes #640
2019-07-10 14:58:54 -07:00
Johannes Zellner
9f03a9a6e2
Do first a patch release
2019-07-03 19:14:00 +02:00
Johannes Zellner
ce406c7088
Add groupCount to backendSettings
2019-07-03 13:47:23 +02:00
Girish Ramakrishnan
e7127df30d
remove app ownerId
...
this is unused
2019-07-02 21:23:51 -07:00
Girish Ramakrishnan
10e2817257
Add 4.2 changes
2019-07-02 19:24:49 -07:00
Girish Ramakrishnan
337a47c62b
typo
2019-07-02 16:46:14 -07:00
Girish Ramakrishnan
14bdac20ef
cloudron-support: add --admin-login
2019-07-02 16:37:46 -07:00
Girish Ramakrishnan
88e2b3f9aa
Add userCount to backend settings
2019-07-01 23:26:43 -07:00
Girish Ramakrishnan
22d731f06d
Fix LDAP not accessible via scheduler containers
...
Check the IP address against scheduler containers as well
2019-06-27 16:12:09 -07:00
Girish Ramakrishnan
e3d288ef7d
Add MONGODB_OPLOG_URL for apps that require oplog access
...
remove the replicaSet arg (it causes problems in tests but not in apps).
it causes some issues because of hostname not being set properly/docker network.
this only prevents the client from using replicaSet features which doesn't apply
to us since it is single instance.
2019-06-27 13:19:59 -07:00
Girish Ramakrishnan
455f597543
Add changes
2019-06-26 21:40:03 -07:00
Girish Ramakrishnan
8c9e626920
Remove twitter and chat link from the login footer
2019-06-26 21:39:07 -07:00
Girish Ramakrishnan
5a000c1ff4
Add MONGODB_REPLICA_SET for mongodb addon
...
This can be useful for constructing the ?replSet= part of the URI.
replicaSet is used by the client to discover the secondaries and fallback
automatically. if not provided, they just talk to primary.
2019-06-26 21:29:43 -07:00
Girish Ramakrishnan
ddf634bfb2
o2 has stopped working
2019-06-26 18:40:07 -07:00
Girish Ramakrishnan
89d3b8cc6a
Make hostname more explicit
2019-06-26 14:21:47 -07:00
Girish Ramakrishnan
49af6d09a2
CLOUDRON_APP_HOSTNAME should be the app id always
...
name is the container name which is "unique"
2019-06-26 14:21:43 -07:00
Girish Ramakrishnan
e5b0cac284
Clarify comment
2019-06-26 14:13:26 -07:00
Girish Ramakrishnan
6f33900f85
Fix failing test
2019-06-21 15:05:28 -07:00
Girish Ramakrishnan
514823af7d
More changes
2019-06-21 13:34:24 -07:00
Girish Ramakrishnan
65b058f563
More changes
2019-06-21 11:12:25 -07:00
Girish Ramakrishnan
7c8560deff
Ensure redis addon vars are replaced with manifest v2
2019-06-20 23:43:18 -07:00
Girish Ramakrishnan
6bbe2613b4
Return 412 for bad password
2019-06-20 16:44:53 -07:00
Girish Ramakrishnan
5771478e4b
Use 412 for invalid token, otherwise user gets logged out
2019-06-20 16:37:16 -07:00
Girish Ramakrishnan
e13030bc89
fontawesome location has changed
2019-06-20 16:27:27 -07:00
Girish Ramakrishnan
0a0ac93a55
Use pattern match instead for handling v1 to v2 upgrades
2019-06-20 11:59:02 -07:00
Girish Ramakrishnan
214fb50e74
Add 4.1.5 changes
2019-06-20 11:49:39 -07:00
Girish Ramakrishnan
959f8ee31e
Ensure passwords are preserved with v2 manifest
2019-06-20 11:46:50 -07:00
Girish Ramakrishnan
cb0d75be37
Add changes
2019-06-19 09:19:05 -07:00
Girish Ramakrishnan
11353e9e3a
DO DNS API break means this value must atleast be 30
...
(cherry picked from commit c0c5561aac )
2019-06-17 20:13:32 -07:00
Girish Ramakrishnan
8cd5c15c2b
Fix mail auth with manifest v2
2019-06-17 11:13:59 -07:00
Girish Ramakrishnan
b86b8b8ee1
4.1.4 changes
...
(cherry picked from commit 73a44d1fb2 )
2019-06-16 17:59:18 -07:00
Girish Ramakrishnan
c5f6e6b028
Prefix mysql url/database variables
2019-06-15 10:06:51 -07:00
Girish Ramakrishnan
592d8abc58
Roll back async package
...
something is broken, not sure what
2019-06-14 16:24:41 -07:00
Girish Ramakrishnan
d93068fc62
Update package lock
2019-06-14 15:32:11 -07:00
Girish Ramakrishnan
a864af52df
Update packages
2019-06-14 15:31:13 -07:00
Johannes Zellner
1eedd4b185
Send changelog for updated app notifications
2019-06-12 17:15:02 +02:00
Johannes Zellner
9d38edfe95
Update the emaildevelop test template data
2019-06-12 17:14:58 +02:00
Johannes Zellner
f895ebba73
Add some changes
2019-06-12 10:13:36 +02:00
Girish Ramakrishnan
511287b16e
linter likes this better
2019-06-11 12:32:15 -07:00
Johannes Zellner
530e06ec66
Add changes
2019-06-11 20:33:56 +02:00
Johannes Zellner
9cab383b43
Namecom does not support @ for naked domain anymore
2019-06-11 20:33:56 +02:00
Girish Ramakrishnan
9785ab82ed
Use cloudron as prefix instead of suffix
2019-06-11 09:39:45 -07:00
Johannes Zellner
9d237e7bd6
Fix sudo installation on scaleway
2019-06-11 13:30:15 +02:00
Girish Ramakrishnan
7e9885012d
vary dkim selector per mail domain
...
this is required for the case where the domain is added on multiple
cloudrons. initially, the plan was to just vary this as a derivation
of the dashboard domain. but this will break existing installation (wildcard
and manual domain setups cannot be re-programmed automatically).
2019-06-10 18:35:38 -07:00
Girish Ramakrishnan
1de785d97c
cloudron-support: add ip addr output
...
with cloudflare dns, we don't have ip to login
2019-06-10 09:31:34 -07:00
Girish Ramakrishnan
2bd6566537
clear timeout when get services status
2019-06-09 22:20:35 -07:00
Girish Ramakrishnan
88fa4cf188
remove reserved 'api' location
...
this is unused and we have no plans to use it.
2019-06-09 18:16:31 -07:00
Girish Ramakrishnan
b26167481e
Make the dkim private keys readable
...
https://forum.cloudron.io/topic/1675/dkim-and-dmarc-for-built-in-outgoing-mail/25
2019-06-06 14:45:42 -07:00
Girish Ramakrishnan
1b6af9bd12
scaleway: add tzdata
...
the bionic image is missing this and only has UTC in the output
of timedatectl list-timezones
2019-06-06 12:42:07 -07:00
Girish Ramakrishnan
0159963cb0
More changes
2019-06-06 11:43:24 -07:00
Girish Ramakrishnan
996041cabc
add mechanism to whitelist and blacklist apps
2019-06-06 11:42:42 -07:00
Girish Ramakrishnan
cb0352e33c
Do not remove existing custom.yml
2019-06-06 11:24:19 -07:00
Johannes Zellner
3169f032c8
Return correct conflicting domain
2019-06-05 19:54:15 +02:00
Girish Ramakrishnan
5ff8ee1a8f
Check manifest version when installing an app
...
This should have been done for manifest v1 already. For now, apps
will have to put in a minBoxVersion.
2019-06-03 14:02:47 -07:00
Girish Ramakrishnan
d3f31a3ace
Ensure all env vars have the CLOUDRON_ prefix
...
this is currently injected based on the manifest version (i.e v2)
2019-06-03 13:45:35 -07:00
Girish Ramakrishnan
ac7e7f0db9
Set name as the network alias for app containers
...
this allows scheduler containers to reach app containers by http
https://forum.cloudron.io/topic/1082/bitwarden-self-hosted-password-manager
2019-06-01 10:48:51 -07:00
Girish Ramakrishnan
4c1e967dad
give containers a hostname
...
this only affects the hostname and not the network name/alias
2019-06-01 10:02:26 -07:00
Girish Ramakrishnan
f3ccd5c074
More changes
2019-06-01 09:05:48 -07:00
Girish Ramakrishnan
8369c0e2c0
4.1.2 changes
2019-05-31 12:52:57 -07:00
Girish Ramakrishnan
122a966e72
No exclamation
2019-05-30 12:17:47 -07:00
Girish Ramakrishnan
9c2ff2f862
fix image prune logic
2019-05-29 12:15:13 -07:00
Girish Ramakrishnan
0ba45e746b
Accept incoming mail from a private relay
2019-05-29 11:33:37 -07:00
Girish Ramakrishnan
54c06cdabb
support: send a result message
2019-05-28 10:04:04 -07:00
Girish Ramakrishnan
5a2e10317c
remove autoconf
...
this was mostly for caas
2019-05-24 15:20:25 -07:00
Girish Ramakrishnan
8292d52acf
Add changes
2019-05-24 11:19:22 -07:00
Girish Ramakrishnan
7d21470fc7
remove cloudron-provision
...
will move to separate repo
2019-05-22 22:33:41 -07:00
Girish Ramakrishnan
eb0530bcba
add note
2019-05-22 18:33:02 -07:00
Girish Ramakrishnan
8855092faa
update changes
2019-05-22 14:39:47 -07:00
Girish Ramakrishnan
2e02a3c71e
Revert "only admins have sftp access"
...
This reverts commit ecc9415679 .
We want to support the workflow where normal users can have SFTP
access without being cloudron admins. The reason it is admin only
is because it is possible to upload/modify app code via SFTP to
then get cloudron admin credentials.
For this reason, we will fixup the apps as follows:
* Unmanaged WP - remove LDAP integration
* LAMP - remove LDAP. We will make a new major version that informs
the user NOT to update the app if they use LDAP. In 4.1, we will
expose the LDAP server, so they can use the public LDAP server for
any integration.
* Managed WP - Remove SFTP. This is contential but if people want to
really build/develop plugins then they can use Unmanaged WP for the dev
environment.
* Surfer - no change. Can have SFTP and LDAP since code is not modifiable
In general, should also be careful then about adding SFTP access to random
apps (like say nextcloud), since this would allow normal user to access
other people's data.
2019-05-22 14:32:45 -07:00
Girish Ramakrishnan
5b5303ba7f
Always return object in response
2019-05-22 10:41:34 -07:00
Girish Ramakrishnan
022a54278e
Add missing error code
2019-05-22 10:41:25 -07:00
Girish Ramakrishnan
19b50dc428
do not dump values in debug
...
it ends up dumping the icon in logs
2019-05-22 09:38:27 -07:00
Girish Ramakrishnan
e7eac003a9
cloudron-support: add ssh keys like support.js
2019-05-21 09:50:38 -07:00
Girish Ramakrishnan
cc17c6b2cd
cloudron-support: add set
2019-05-21 09:21:22 -07:00
Girish Ramakrishnan
23d16b07aa
Add API to get original icon
2019-05-21 00:14:54 -07:00
Girish Ramakrishnan
7ecb3dd771
Fix resolution of cloudflare MX record
...
cf might rewrite the MX record if it deems that there is a conflict
https://support.cloudflare.com/hc/en-us/articles/360020296512-DNS-Troubleshooting-FAQ
2019-05-20 18:20:04 -07:00
Johannes Zellner
e43f974d34
Rework namecheap tests
2019-05-20 22:21:20 +02:00
Girish Ramakrishnan
e16cd38722
Update changes
2019-05-20 10:34:54 -07:00
Girish Ramakrishnan
9d2f81d6b9
Remove X-Frame-Options
...
This option is now obsolete in the standards and browsers are complaining.
This needs to move to be a CSP header but this is hard to do from outside
the app (since it has to be 'merged' with the app's existing CSP).
fixes #596
2019-05-20 10:11:52 -07:00
Johannes Zellner
3fe539436b
Sinon was only used in old namecheap tests
2019-05-20 16:35:23 +02:00
Girish Ramakrishnan
76f94eb559
namecheap module is not used
2019-05-18 09:41:05 -07:00
Girish Ramakrishnan
7630ef921d
Add changes
2019-05-17 14:40:33 -07:00
Girish Ramakrishnan
625127d298
add icon to configure route
2019-05-17 12:50:08 -07:00
Girish Ramakrishnan
f24c4d2805
Look for a user set app icon
2019-05-17 10:14:02 -07:00
Girish Ramakrishnan
194340afa0
protect app icon route
2019-05-17 09:54:45 -07:00
Johannes Zellner
fdc9639aba
Deal with bad namecheap API naming convention
2019-05-16 18:03:09 +02:00
Johannes Zellner
f95ec53a85
Check for namecheap response status
2019-05-16 18:03:09 +02:00
Johannes Zellner
3d425b7030
Rewrite namecheap backend to not rely on unmaintained node module
2019-05-16 18:03:09 +02:00
Girish Ramakrishnan
37c6c24e0e
caas is dead
2019-05-16 08:49:08 -07:00
Girish Ramakrishnan
50bdd7ec7b
mail: Remove authType when username is empty
2019-05-15 16:23:56 -07:00
Girish Ramakrishnan
769cb3e251
Update mail container
2019-05-15 15:54:51 -07:00
Girish Ramakrishnan
9447c45406
enable the gcdns test
2019-05-15 10:18:30 -07:00
Johannes Zellner
66a3962cfe
Do not create notifications when apps are updated through the cli
2019-05-15 19:15:57 +02:00
Girish Ramakrishnan
d145eacbaf
send domain in auto-register
...
previously, this was done during startup and we didn't have a domain
in hand
2019-05-15 09:58:59 -07:00
Girish Ramakrishnan
ed03ed7bad
make changeDashboardDomain customizable
2019-05-14 19:20:45 -07:00
Girish Ramakrishnan
953b463799
4.1.0 changes
2019-05-14 18:00:34 -07:00
Johannes Zellner
6d28bb0489
4.0.3 changes
...
(cherry picked from commit 8686832bd1 )
2019-05-14 16:17:00 -07:00
Johannes Zellner
c2f464ea75
password change api now returns 400 instead of 403
2019-05-13 23:46:38 +02:00
Johannes Zellner
4c56ffc767
Add default footer content to custom.yml
2019-05-13 22:50:28 +02:00
Johannes Zellner
885aa8833c
Remove password requirement for destructive rest routes
2019-05-13 22:48:33 +02:00
Johannes Zellner
63310c44c0
Ensure notifications are sorted by time descending
2019-05-13 22:05:58 +02:00
Johannes Zellner
05dd65718f
Remove unused CLOUDRON_ID
2019-05-13 16:28:46 +02:00
Girish Ramakrishnan
05d3f8a667
gcs: fix crash
2019-05-12 18:05:48 -07:00
Girish Ramakrishnan
3fa45ea728
4.0.2 changes
2019-05-12 13:59:57 -07:00
Girish Ramakrishnan
a7d2098f09
Add option to skip backup before update
2019-05-12 13:28:53 -07:00
Girish Ramakrishnan
e1ecb49d59
gcdns: fix crash
2019-05-11 19:18:11 -07:00
Johannes Zellner
6facfac4c5
Add footer customization option
2019-05-11 13:37:43 +02:00
Girish Ramakrishnan
97d2494fe3
Make ticket body customizable
2019-05-10 17:35:47 -07:00
Girish Ramakrishnan
a54be69c96
rework custom configuration
2019-05-10 16:18:43 -07:00
Girish Ramakrishnan
800e25a7a7
Fix crash because params was undefined
2019-05-10 13:07:29 -07:00
Girish Ramakrishnan
c1ce2977fa
custom: refactor code for defaults
2019-05-10 11:31:16 -07:00
Girish Ramakrishnan
7177f82041
use 405 when feature disabled
...
403 will logout the user
2019-05-10 09:50:33 -07:00
Girish Ramakrishnan
ecc9415679
only admins have sftp access
...
this is because webterminal, upload/download etc are also only
restricted to admins. this keeps it aligned
2019-05-10 08:59:16 -07:00
Girish Ramakrishnan
23280f1635
make custom.yml empty by default
2019-05-10 07:40:56 -07:00
Girish Ramakrishnan
af062631c5
Add changes
2019-05-09 17:28:59 -07:00
Johannes Zellner
99b866736c
Fix updatechecker tests
2019-05-09 15:09:55 +02:00
Girish Ramakrishnan
9e74b666fb
More caas removal
2019-05-08 20:01:14 -07:00
Girish Ramakrishnan
1cc54f9a71
Remove caas_config
2019-05-08 15:38:11 -07:00
Girish Ramakrishnan
a2d8ef7c63
remove more caas related code
2019-05-08 15:36:34 -07:00
Girish Ramakrishnan
0835a6d690
caas: remove storage backend
2019-05-08 15:33:23 -07:00
Girish Ramakrishnan
67e0a19e13
caas: remove provision token check
2019-05-08 15:30:05 -07:00
Girish Ramakrishnan
6fa13f1bcc
caas: remove backupDone
2019-05-08 15:28:37 -07:00
Girish Ramakrishnan
25604774b9
caas: remove setupDone
2019-05-08 15:27:29 -07:00
Girish Ramakrishnan
b0fb989be0
caas: remove heartbeat
2019-05-08 15:24:37 -07:00
Johannes Zellner
61c70b9922
Update the demo link
2019-05-08 18:52:18 +02:00
Johannes Zellner
8b5bdf4e88
Remove all digest email code
2019-05-08 12:19:56 +02:00
Johannes Zellner
84d8d4a745
Remove digest from cron
2019-05-08 12:16:50 +02:00
Girish Ramakrishnan
04f93fb90f
caas: pass config.provider as query param
2019-05-07 21:04:09 -07:00
Girish Ramakrishnan
d559af15b8
caas: license is migrated on the appstore side now
2019-05-07 19:37:35 -07:00
Girish Ramakrishnan
1510e13066
Add a debug
2019-05-07 18:41:13 -07:00
Girish Ramakrishnan
d7cb8842d3
For now auto-register in the setup route
...
otherwise, it auto-registers immediately after cloudron-setup
i.e at the image creation time
2019-05-07 17:44:02 -07:00
Girish Ramakrishnan
7596411d70
remove appstoreConfig from autoconf
2019-05-07 17:05:01 -07:00
Girish Ramakrishnan
876cef5970
trim the license
2019-05-07 16:49:34 -07:00
Girish Ramakrishnan
1ebc077721
cloudron-setup: unbound variable
2019-05-07 15:29:34 -07:00
Girish Ramakrishnan
f5acdc0c4b
skip license migration for caas
2019-05-07 15:09:00 -07:00
Girish Ramakrishnan
866321da4d
Implement auto-registration
2019-05-07 15:08:56 -07:00
Girish Ramakrishnan
58696c5132
register: send token as body param
2019-05-07 14:26:45 -07:00
Girish Ramakrishnan
3d11dfaae3
rename registerCloudron func
2019-05-07 14:16:56 -07:00
Girish Ramakrishnan
3cc320b1d0
Send support email configuration
2019-05-07 14:02:51 -07:00
Girish Ramakrishnan
2efeab3493
feedback -> ticket
2019-05-07 11:36:08 -07:00
Girish Ramakrishnan
a78cab36ab
Make support and alert email customizable
2019-05-07 11:30:12 -07:00
Girish Ramakrishnan
41e525e037
alerts_to and alerts_from are unused in mail container
2019-05-07 11:29:59 -07:00
Girish Ramakrishnan
33d5cb3061
initial features implementation
2019-05-07 10:29:47 -07:00
Johannes Zellner
0cf523c285
update the package lock file
2019-05-07 16:23:31 +02:00
Johannes Zellner
9e346e0780
More mariadb related test fixes
2019-05-07 15:31:32 +02:00
Johannes Zellner
9cd25e548f
Fix wrong arguments for mocha in runTests script
2019-05-07 15:31:05 +02:00
Johannes Zellner
d221e40602
Hack to fix test runs on arch which only has mariadb
2019-05-07 15:06:38 +02:00
Johannes Zellner
a6ce5ce796
Do not callback early to avoid loosing emails
2019-05-07 14:22:51 +02:00
Johannes Zellner
23bfb7b8e6
Improve app update notification message
2019-05-07 12:19:40 +02:00
Johannes Zellner
b536c8196b
Create app updated eventlog entry and notification
2019-05-07 12:04:43 +02:00
Johannes Zellner
8f677177f2
Add app update email
2019-05-07 12:04:28 +02:00
Johannes Zellner
bb7cac4855
Add event log entries for app task lifecycle
2019-05-07 11:26:26 +02:00
Girish Ramakrishnan
e62fa01ab3
Add test for re-registration
2019-05-06 20:20:07 -07:00
Girish Ramakrishnan
5be48c5486
remove auto-registration logic from provision
...
we will do this instead on cloudron startup
2019-05-06 20:13:02 -07:00
Girish Ramakrishnan
6265efd5e7
Bail on first failure
2019-05-06 20:10:50 -07:00
Girish Ramakrishnan
222d2840cf
Remove settings locked field
...
this was a too generic and will be replaced with feature flags
2019-05-06 20:03:15 -07:00
Girish Ramakrishnan
0e8fe8cd07
temporary hack to make the tests work
2019-05-06 19:53:54 -07:00
Girish Ramakrishnan
f96a8bc269
remove config.edition
...
we will replace this with feature flags
2019-05-06 19:53:34 -07:00
Girish Ramakrishnan
bbced03f3a
Check if Cloudron is already registered
2019-05-06 19:46:42 -07:00
Girish Ramakrishnan
ffe0e6dbbe
Fix various error handling
...
* appstore never returns 403
* change billing_required to plan_limit
2019-05-06 15:36:37 -07:00
Girish Ramakrishnan
7bb6016f7b
rename purchase calls
2019-05-06 14:29:56 -07:00
Johannes Zellner
d5f58eea34
Fix ejs and add update url
2019-05-06 22:44:46 +02:00
Johannes Zellner
204c659af2
Fixup wrong indentation
2019-05-06 22:35:01 +02:00
Johannes Zellner
ae5eb00bd0
Batch all available app updates in updatechecker
2019-05-06 22:09:18 +02:00
Johannes Zellner
61c059babe
Revert "Notify admins on app update"
...
We will instead create eventlog entries
This reverts commit 22efb96f66 .
2019-05-06 20:16:29 +02:00
Johannes Zellner
a4e4d30d5d
Make app fqdn a clickable link
2019-05-06 17:59:48 +02:00
Johannes Zellner
c4fbfd32ee
The updateInfo is not the manifest object
2019-05-06 17:55:49 +02:00
Johannes Zellner
4f5af1f7be
Variable name clashes with module name
2019-05-06 17:42:26 +02:00
Johannes Zellner
22efb96f66
Notify admins on app update
2019-05-06 17:14:02 +02:00
Johannes Zellner
b7d3014aab
If an app cannot be updated automatically send notification mail
2019-05-06 16:37:55 +02:00
Girish Ramakrishnan
fc7e72835e
Fix error code typo
2019-05-06 02:45:16 -07:00
Girish Ramakrishnan
d824ced70f
Fix migration script
2019-05-06 02:34:47 -07:00
Johannes Zellner
2b9147bbc0
Return distinct errors for invalid or no appstore token
2019-05-06 11:07:50 +02:00
Girish Ramakrishnan
1ea9a0af50
Fix comment
2019-05-05 17:01:53 -07:00
Girish Ramakrishnan
7825cf06c0
Expire existing login tokens
...
this is because we added 2 new scopes - appstore scope and subscription scope
2019-05-05 13:48:08 -07:00
Girish Ramakrishnan
20a2f56184
Rename registration routes
2019-05-05 13:19:40 -07:00
Girish Ramakrishnan
22be3ad948
Fix test
2019-05-05 11:06:52 -07:00
Girish Ramakrishnan
dfa5a0f5fe
subscribe must return 201
2019-05-05 10:55:15 -07:00
Girish Ramakrishnan
b7d046533c
typo
2019-05-05 10:46:43 -07:00
Girish Ramakrishnan
c74cf59e3b
Fix http status code handling
2019-05-05 10:31:42 -07:00
Girish Ramakrishnan
92941260a5
migration: remove appstore_config
2019-05-05 08:23:20 -07:00
Girish Ramakrishnan
74fdcb0781
Handle billing required
2019-05-04 21:56:34 -07:00
Girish Ramakrishnan
6ab38633c2
handle extra errors
2019-05-04 21:42:33 -07:00
Girish Ramakrishnan
e553ade936
remove spaces support
...
this feature is unused for too long now
2019-05-04 18:34:28 -07:00
Girish Ramakrishnan
b4b3fd9ab6
Add appstore routes
2019-05-04 17:48:04 -07:00
Girish Ramakrishnan
4fc6f5a094
Handle already exists
2019-05-04 11:13:49 -07:00
Johannes Zellner
0f521e2521
Fix appstore config migration script
2019-05-04 17:46:18 +02:00
Girish Ramakrishnan
088b016083
add test for signup+subscription
2019-05-03 20:25:44 -07:00
Girish Ramakrishnan
ccb2fcf39b
Add API to get subscription
2019-05-03 20:22:31 -07:00
Girish Ramakrishnan
f6e82e93e4
Fix test again
2019-05-03 20:05:03 -07:00
Girish Ramakrishnan
02126caacd
fix update checker test
2019-05-03 20:01:08 -07:00
Girish Ramakrishnan
8f55565dbf
Remove notification logic that depended on free plan
...
this is from a time when we used to withhold updates for free users
2019-05-03 19:56:27 -07:00
Girish Ramakrishnan
3246edd5a8
rework cloudron registration flow
...
we now route all the registration, login etc via the backend
subscription management are also in a separate scope now
2019-05-03 19:47:20 -07:00
Girish Ramakrishnan
7e7e067b5b
rename appstore_token to cloudron_token
2019-05-03 16:03:45 -07:00
Girish Ramakrishnan
fd0bdbce7e
Fix up app purchase and unpurchase routes
2019-05-03 14:53:19 -07:00
Girish Ramakrishnan
5ba8a8f7da
Use appstore token in update check routes
2019-05-03 11:59:35 -07:00
Girish Ramakrishnan
a799b0931f
Use licenseToken in alive route
2019-05-03 11:36:48 -07:00
Girish Ramakrishnan
d895786f55
Use licenseToken in feedback API
2019-05-03 11:10:53 -07:00
Girish Ramakrishnan
4d89b4a8df
migrate appstore_config to license
...
the appstore_config was based on user login tokens. if lost, they
can compromise the cloudron.io account. with license token, losing
the token in safe
2019-05-03 11:03:33 -07:00
Girish Ramakrishnan
e544e77fd9
remove unused appstore.getAccount
2019-04-30 22:30:34 -07:00
Girish Ramakrishnan
7a5a94614e
remove unused appstore.getCloudron
2019-04-30 22:26:37 -07:00
Johannes Zellner
c935811e08
Correctly upsert also the creationTime for special alert notifications
...
to avoid confusion, the upsert code moves to the only place used inside
alert
2019-04-30 16:45:24 +02:00
Girish Ramakrishnan
cd6d97c3eb
Fix onTick handler
2019-04-28 15:55:01 -07:00
Johannes Zellner
292f0624fb
Add unstable apps config tests and fix default value
2019-04-27 22:34:52 +02:00
Johannes Zellner
9fb0d1f3bf
Remove unused require
2019-04-27 22:30:57 +02:00
Johannes Zellner
d82b722887
Add unstable apps boolean setting
2019-04-27 22:30:32 +02:00
Girish Ramakrishnan
3bcab14de1
caas: make heartbeat not error if not configured yet
...
the heartbeat errors when the domain is setup but the restore/setup call
has not been invoked yet from the caas sever
2019-04-26 12:53:10 -07:00
Girish Ramakrishnan
3ded411c15
caas: migrate from fqdn to boxId in backup api
2019-04-26 10:55:50 -07:00
Girish Ramakrishnan
706c970314
caas: fixup routes
2019-04-26 10:19:37 -07:00
Girish Ramakrishnan
35dfd540b5
caas: move backupDone
2019-04-26 10:06:03 -07:00
Girish Ramakrishnan
7c4394d8cb
caas: change domains route
2019-04-25 21:56:22 -07:00
Girish Ramakrishnan
69972e6460
cloudron-setup: remove support for pre-3.2
2019-04-25 19:38:24 -07:00
Johannes Zellner
dd19f11e29
Handle ldap server errors grazefully
2019-04-25 13:19:23 +02:00
Johannes Zellner
b312414957
Arch does not have app armor support in the kernel
2019-04-25 09:30:23 +02:00
Girish Ramakrishnan
f3910f03ca
Enable logStream test
...
fixes apptask logs in test mode and the id of stream logs
2019-04-24 16:27:00 -07:00
Girish Ramakrishnan
080c667d9c
tests: bump expiry
2019-04-24 15:39:47 -07:00
Girish Ramakrishnan
2bf0614da1
load apparmor profile for the tests to work
2019-04-24 14:39:22 -07:00
Girish Ramakrishnan
bd5bdfa8b5
Fix apps test
2019-04-24 14:33:18 -07:00
Girish Ramakrishnan
d1582a435d
readdirp args have changed
2019-04-24 10:47:04 -07:00
Johannes Zellner
d27aa8821a
Send app label meta information
2019-04-24 14:25:23 +02:00
Girish Ramakrishnan
f5f08cf9ff
Add more changes
2019-04-23 21:35:53 -07:00
Girish Ramakrishnan
91877f7b2d
relay: add option to accept self-signed certs
2019-04-23 15:36:10 -07:00
Girish Ramakrishnan
7f9b078430
cloudron-support: add appsdata and boxdata stats
2019-04-23 10:14:20 -07:00
Girish Ramakrishnan
e9a01fa0c8
Add changes
2019-04-22 16:50:31 -07:00
Girish Ramakrishnan
1f33674f30
more package updates
2019-04-22 11:06:48 -07:00
Johannes Zellner
badf58db3e
Allow empty mail relay username and/or password
2019-04-22 14:41:44 +02:00
Johannes Zellner
58c98be9a7
npm test needs a relative path
2019-04-18 17:14:49 +02:00
Johannes Zellner
71a5555816
Enable all tests and remove unmaintained istanbul code coverage tool
2019-04-18 16:41:10 +02:00
Johannes Zellner
aee20c0423
Fix typo for test run handling
2019-04-18 16:01:16 +02:00
Johannes Zellner
95faccd8d9
Make nearly all app tests work now
2019-04-18 13:11:56 +02:00
Johannes Zellner
85ec4a3de7
Ensure we deal with arrays for tags
2019-04-18 13:06:00 +02:00
Johannes Zellner
e79b6ade51
Get some of the apps tests to work again
2019-04-17 13:33:10 +02:00
Johannes Zellner
79ccfa087d
Only delete docker container within the cloudron network
...
When running tests they would randomly delete all local docker container
2019-04-17 12:44:03 +02:00
Johannes Zellner
9a349eff32
Do not purge all docker containers in the apps-test
2019-04-16 17:22:03 +02:00
Johannes Zellner
e756a442f6
Validate tags in one place only and add tests
2019-04-16 16:36:11 +02:00
Johannes Zellner
332c860e80
If label or tags are present they have to be a specific type
2019-04-16 10:29:44 +02:00
Johannes Zellner
d934671202
Do not use unbound for native dns resolving during tests
2019-04-16 10:13:59 +02:00
Girish Ramakrishnan
747359478d
Make send test mail functionality work with secondary domain
2019-04-15 16:58:39 -07:00
Girish Ramakrishnan
f0f18db5a8
Remove unused error code
2019-04-15 16:54:41 -07:00
Girish Ramakrishnan
2f068c66d4
sendTestMail: return error
2019-04-15 16:54:25 -07:00
Girish Ramakrishnan
fa5415b1eb
get rid of mail queue
...
this prevents us from returning mail errors synchronously
2019-04-15 16:39:09 -07:00
Johannes Zellner
e23fd5e3c5
return an empty tag array instead of null
2019-04-15 15:43:45 +02:00
Girish Ramakrishnan
996c838320
timestamp -> tag
...
later, we can actually move this tag to a separate field in backupdb.
and then, dependsOn can also be removed and we can use this tag as
a collation label.
2019-04-14 11:33:11 -07:00
Girish Ramakrishnan
083b8a6d7b
Add preserveSecs to backup entries
...
We want to keep updates automatic and don't want to keep reminding
users that apps are getting updated etc (i.e beyong the weekly
digest). The reason to remind them is so they can check if the
app updated correctly. in some very corner cases, the app is not
really checked upon for a while and people forget about them until
they check them later. in such cases, it's too late to recover because
the backpus gets cleaned up. this preserve seconds fields, let's us
mark 'update' backups for preservation for 3 weeks.
2019-04-13 18:17:49 -07:00
Girish Ramakrishnan
58625c82a0
Add route to trigger backup cleaner
2019-04-13 18:10:43 -07:00
Girish Ramakrishnan
74211dd2c9
Change signature of backupdb.add
2019-04-13 17:28:19 -07:00
Girish Ramakrishnan
cd4808e5e2
Update modules
2019-04-13 07:10:46 -07:00
Girish Ramakrishnan
e44ad19bda
Add Scaleway ObjectStorage backup backend
2019-04-12 10:10:43 -07:00
Girish Ramakrishnan
e31d413551
Add nginx service
...
We had a case where nginx was not picking up renewed certs. Not sure
if it's a bug in our code or nginx.
2019-04-12 09:47:05 -07:00
Johannes Zellner
d170a3e5e1
Translate app tags during db record update
2019-04-11 17:18:11 +02:00
Johannes Zellner
10c3872902
Send app tags along the rest api
2019-04-11 17:06:10 +02:00
Johannes Zellner
a3c658d6b8
Add upcloud provider to cloudron-setup
2019-04-11 15:41:34 +02:00
Johannes Zellner
0c8cf9cc0d
Fix error messages
2019-04-11 13:35:33 +02:00
Girish Ramakrishnan
b92a79eb9d
More changes
2019-04-10 09:30:18 -07:00
Girish Ramakrishnan
ba2c6c1219
do: Sprinkle retries since DO keeps failing on us
2019-04-08 14:35:32 -07:00
Girish Ramakrishnan
f0a5cc6116
more debugs
2019-04-08 14:03:26 -07:00
Girish Ramakrishnan
9fbe209c04
Better debug
2019-04-08 13:07:06 -07:00
Girish Ramakrishnan
b8bbd73e07
call iteratorDone on error
2019-04-08 12:22:55 -07:00
Girish Ramakrishnan
2e40325f2a
Fix _.extend usage
...
it modifies the destination object
2019-04-08 00:32:12 -07:00
Girish Ramakrishnan
bdbd336db5
sftp: update docker image
2019-04-05 13:59:30 -07:00
Girish Ramakrishnan
5c645ea224
sftp: set default memory limit
2019-04-05 10:34:24 -07:00
Johannes Zellner
5c2985cac7
localstorage ftp uid must be a number
2019-04-05 12:59:00 +02:00
Girish Ramakrishnan
a0d1016c01
containerize sftp
2019-04-04 22:43:02 -07:00
Girish Ramakrishnan
816cf44117
sftp: Fix uid parsing
...
format is 33/www-data
2019-04-04 22:38:43 -07:00
Girish Ramakrishnan
1119a62576
fs: emit progress messages for copy and removeDir
2019-04-03 11:54:46 -07:00
Girish Ramakrishnan
152cb48340
Throttle progress messages
...
This was part of the reason the process was dying out of memory since
we were sending too many messages (I guess it was all getting buffered up)
Part of #626
2019-04-03 11:46:28 -07:00
Girish Ramakrishnan
5a4c2a4974
Remove max_old_space and use as much as we can
...
process.memoryUsage() is our friend. also, with --expose-gc we
can use global.gc(). we don't use it yet though
part of #626
2019-04-02 21:42:41 -07:00
Girish Ramakrishnan
9063e8f4a4
syncer: clear cache array to reclaim some memory
...
part of #626
2019-04-01 14:53:34 -07:00
Girish Ramakrishnan
519552083b
remove dead comment
2019-04-01 14:51:34 -07:00
Girish Ramakrishnan
f6ad66bd30
rename to ignoreStatError and explicitly ignore ENOENT
2019-04-01 11:56:20 -07:00
Girish Ramakrishnan
65affb5146
Fix test
2019-03-31 18:01:46 -07:00
Girish Ramakrishnan
38d9378e48
Fix issue where tar-fs would complain about missing files
...
This is being tracked in upstream issue - https://github.com/mafintosh/tar-fs/issues/81
We use a custom fork of tar-fs for now
Fixes #628
2019-03-31 17:43:08 -07:00
Girish Ramakrishnan
cd8011e858
add contabo to the help text
2019-03-29 12:07:13 -07:00
Girish Ramakrishnan
e352562c51
proftpd: unattended install
...
on 16.04,
debconf: falling back to frontend: Readline
ProFTPD configuration
---------------------
ProFTPD can be run either as a service from inetd, or as a standalone server.
Each choice has its own benefits. With only a few FTP connections per day, it is
probably better to run ProFTPD from inetd in order to save resources.
On the other hand, with higher traffic, ProFTPD should run as a standalone
server to avoid spawning a new process for each incoming connection.
1. from inetd 2. standalone
2019-03-27 14:16:55 -07:00
Girish Ramakrishnan
3dd2a19915
Handle case where proftpd is not installed
...
also, don't install a specific version since it doesn't work in 16.04
2019-03-27 14:07:23 -07:00
Girish Ramakrishnan
384286cf0a
cleanup stale redis directory
...
Fixes #627
2019-03-27 13:50:56 -07:00
Girish Ramakrishnan
162281e753
More changes
2019-03-26 11:59:01 -07:00
Girish Ramakrishnan
9a3603fea3
Add progress messages for multi-part copy
2019-03-26 11:58:32 -07:00
Girish Ramakrishnan
121dc85e40
more changes
2019-03-25 16:15:49 -07:00
Girish Ramakrishnan
823bad2ace
add proftpd to base image
2019-03-25 16:15:03 -07:00
Girish Ramakrishnan
c9ed8543c8
Capitalize the error
2019-03-25 15:15:39 -07:00
Girish Ramakrishnan
d752c68790
re-factor all the audit source objects
2019-03-25 15:15:39 -07:00
Girish Ramakrishnan
39c0409d42
only notify automated backup failures
2019-03-25 15:15:35 -07:00
Girish Ramakrishnan
7937738258
Fix formatting
2019-03-25 14:02:23 -07:00
Girish Ramakrishnan
ea092bda99
remove mail notification for apptask and process crash
...
only events are raised for these
2019-03-25 13:59:55 -07:00
Girish Ramakrishnan
3b908a5857
native-dns: use unbound by default
2019-03-25 11:51:17 -07:00
Girish Ramakrishnan
536e14dfe8
Fix failing settings test
2019-03-24 16:57:45 -07:00
Girish Ramakrishnan
edd2c5f779
handle tags being null
...
in db, we store things as null (not set). but in rest api, we require
the fields to be strings/arrays.
2019-03-23 15:02:24 -07:00
Girish Ramakrishnan
ee76c2c06e
Return 403 if totp token is invalid
...
the ui redirects to login screen otherwise
2019-03-23 14:12:46 -07:00
Girish Ramakrishnan
0190a92c26
Add chat link to readme
2019-03-23 13:54:58 -07:00
Girish Ramakrishnan
730da103b1
Fix logstream test
2019-03-23 13:41:05 -07:00
Girish Ramakrishnan
ffe30289ee
Revert "revert node to 8.15.1"
...
This reverts commit bec63c1ad0 .
ldap: unbind callback never fires in node 10.15 it seems. otherwise,
it all works..
2019-03-23 13:35:12 -07:00
Girish Ramakrishnan
cfe9af5c3c
Disable this test as well
2019-03-23 13:35:12 -07:00
Girish Ramakrishnan
9647ce153d
Make tests work
...
the namecheap test never seems to work
2019-03-23 10:14:21 -07:00
Girish Ramakrishnan
bec63c1ad0
revert node to 8.15.1
...
the ldap search test fail with 10.15 for some reason
https://github.com/nodejs/Release
maybe related:
https://github.com/joyent/node-ldapjs/issues/510
2019-03-22 17:27:23 -07:00
Girish Ramakrishnan
3dec0ff85b
ldap: remove bogus name response
2019-03-22 15:58:53 -07:00
Girish Ramakrishnan
8868d8e99e
keep it alphabetical
2019-03-22 15:42:16 -07:00
Girish Ramakrishnan
9a0d9506f8
settings.on is gone
2019-03-22 15:33:25 -07:00
Girish Ramakrishnan
ec57b813da
Make tests work again
2019-03-22 15:19:20 -07:00
Girish Ramakrishnan
57c4d96467
ensure mysql is storing UTC times
2019-03-22 15:19:17 -07:00
Girish Ramakrishnan
ebaf0a08b5
update schema
2019-03-22 14:09:31 -07:00
Girish Ramakrishnan
abae4b5106
Add labels and tags
2019-03-22 10:12:48 -07:00
Girish Ramakrishnan
81b721be2b
Fix buffer warnings
2019-03-21 20:06:14 -07:00
Johannes Zellner
e9108ae3f8
Reserve sftp port 222
2019-03-19 22:59:29 -07:00
Johannes Zellner
acc7b65649
Set uid number from localstorage addon ftp value
2019-03-19 21:17:23 -07:00
Johannes Zellner
77ed177855
Only allow ftp access for apps which support it
2019-03-19 21:13:19 -07:00
Girish Ramakrishnan
71cb5c579d
Fix duplicate location error message
2019-03-19 20:50:27 -07:00
Girish Ramakrishnan
f22e4c261a
Add graphite to list of services
2019-03-19 20:26:21 -07:00
Johannes Zellner
4a046ca70e
Check for user access in ldap ftp routes
2019-03-19 16:23:03 -07:00
Johannes Zellner
62ee3fa0f1
Verify proftp ldap connection via ip instead of fake admin account
2019-03-19 15:24:09 -07:00
Johannes Zellner
ef0403af0e
Make proftpd conf static
2019-03-19 15:24:09 -07:00
Johannes Zellner
044b27967e
Make initial sftp connection work
2019-03-19 15:24:09 -07:00
Johannes Zellner
4942a2480b
Install proftpd
2019-03-19 15:24:09 -07:00
Johannes Zellner
cde852f0f9
Add proftpd as service
2019-03-19 15:24:09 -07:00
Girish Ramakrishnan
a435e88b25
rotate task logs
2019-03-18 22:53:47 -07:00
Girish Ramakrishnan
add954db80
detect dashboard domain conflict with existing app
...
Fixes #620
2019-03-18 21:20:13 -07:00
Girish Ramakrishnan
76ec639fea
typo
2019-03-17 17:52:37 -07:00
Girish Ramakrishnan
155decfca1
typog
2019-03-17 16:09:21 -07:00
Girish Ramakrishnan
3ab131786b
motd: Remove PasswordAuthentication check
2019-03-15 15:01:55 -07:00
Girish Ramakrishnan
a273dea755
add no-op provider for mail relay
...
Fixes #622
2019-03-15 14:38:53 -07:00
Girish Ramakrishnan
9a6d8e3a33
Handle access denied in registerSubdomain
2019-03-13 10:50:18 -07:00
Girish Ramakrishnan
4d9ecef6fd
Fix empty digest mails
2019-03-12 16:24:00 -07:00
Girish Ramakrishnan
4df72a4015
Update mysql addon
2019-03-12 12:03:21 -07:00
Girish Ramakrishnan
c3e2dc4ce8
migration to overlay2 is now done
2019-03-12 09:10:36 -07:00
Girish Ramakrishnan
5a1bcd53a3
This sounds ominous
2019-03-12 08:49:25 -07:00
Girish Ramakrishnan
4c8865ed5b
Make it 3.5.5 instead
2019-03-11 21:23:24 -07:00
Girish Ramakrishnan
cb6bd50db0
Update changelog
2019-03-11 21:21:09 -07:00
Girish Ramakrishnan
614dbb3674
Fix crash during restore
2019-03-11 20:41:03 -07:00
Girish Ramakrishnan
8ed8bb2dad
typo
2019-03-11 18:42:54 -07:00
Girish Ramakrishnan
a1f6985534
update all packages
...
ncu -u
2019-03-11 10:57:43 -07:00
Girish Ramakrishnan
6bdf2e38cc
remove query admins from mailer code
2019-03-10 16:28:17 -07:00
Girish Ramakrishnan
19ae55ebd4
Fixup backup failure and cert renewal email notification
...
in caas, we get an email copy for every admin on cloudron..
2019-03-10 15:53:22 -07:00
Girish Ramakrishnan
61cef46a95
cloudron-support: prefix newline
2019-03-10 14:00:08 -07:00
Girish Ramakrishnan
172738f7b7
Bump mail container
2019-03-10 11:08:09 -07:00
Girish Ramakrishnan
5d0d60d89e
Bump cron module to 1.7.0
...
https://github.com/kelektiv/node-cron/issues/409
https://github.com/kelektiv/node-cron/issues/408
https://github.com/kelektiv/node-cron/issues/405
2019-03-10 10:48:32 -07:00
Girish Ramakrishnan
3cfdc64735
Update to support ecma 8
2019-03-09 22:00:09 -08:00
Girish Ramakrishnan
b47069ccad
typo
2019-03-09 21:33:56 -08:00
Girish Ramakrishnan
2051b3921b
Use constants.ADMIN_LOCATION instead
...
part of #621
2019-03-09 20:06:12 -08:00
Girish Ramakrishnan
46f46483f8
Mark as internal functions
2019-03-08 19:09:34 -08:00
Girish Ramakrishnan
66b02b58b6
make notifications.alert take a title
...
the title is better when it's a bit more dynamic
2019-03-08 16:59:48 -08:00
Girish Ramakrishnan
4428c3d7d8
Move docker config file generation to installer logic
...
the new version of docker does not support devicemapper on ubuntu 16.
so, we have to first enable overlay2 and then install the latest docker
2019-03-08 16:41:39 -08:00
Girish Ramakrishnan
2d4b9786fa
box update is now an alert notification
2019-03-07 14:40:46 -08:00
Girish Ramakrishnan
d2d9c4be6f
update notification
2019-03-07 14:27:43 -08:00
Girish Ramakrishnan
a9d6ac29f1
make funcs take proper callbacks
2019-03-07 14:27:23 -08:00
Girish Ramakrishnan
4d50bd5c78
3.5.4 changes
2019-03-07 13:40:20 -08:00
Girish Ramakrishnan
fdd651b9cc
Only append markdownMessage is not-empty
2019-03-07 11:50:49 -08:00
Girish Ramakrishnan
7b56f102cc
relay check is always performed
2019-03-06 19:48:18 -08:00
Girish Ramakrishnan
e329360daa
backup notification now has a doc link and log link
2019-03-06 16:23:25 -08:00
Girish Ramakrishnan
5e8a431a92
Add doc link for cert renweal error
2019-03-06 16:17:56 -08:00
Girish Ramakrishnan
cd3f21a92e
Add doc links for the app down mail
2019-03-06 16:14:24 -08:00
Girish Ramakrishnan
03d3ae3eb4
Qualify the name in the email subject
2019-03-06 16:08:12 -08:00
Girish Ramakrishnan
0c350dcf6e
add a note
2019-03-06 16:05:50 -08:00
Girish Ramakrishnan
c6b3d15d72
Fix some typos
2019-03-06 16:02:51 -08:00
Girish Ramakrishnan
8d7f7cb438
rename the constant
2019-03-06 15:55:07 -08:00
Girish Ramakrishnan
b5a4121574
Better OOM notification messages
2019-03-06 14:47:24 -08:00
Girish Ramakrishnan
916ca87db4
Expose apps.getByContainerId
2019-03-06 11:15:12 -08:00
Girish Ramakrishnan
bfea97f14e
refactor apps.postProcess
2019-03-06 11:12:39 -08:00
Girish Ramakrishnan
f98657aca8
Remove double query of domains
2019-03-06 11:08:14 -08:00
Girish Ramakrishnan
45c5e770fa
injectPrivateFields already merges fields
2019-03-05 19:38:56 -08:00
Girish Ramakrishnan
f4ce7ecf4b
do not add acked alerts
2019-03-04 21:04:31 -08:00
Girish Ramakrishnan
8dfe1fe97f
notifications: add ack flag in db logic
2019-03-04 20:44:41 -08:00
Girish Ramakrishnan
4bf165efaf
Fix misplaced callback
2019-03-04 20:22:25 -08:00
Girish Ramakrishnan
c7f6ae5be9
remove unused require
2019-03-04 19:49:25 -08:00
Girish Ramakrishnan
d83d2d5f4e
Do not restart mail container when setting fallback certs
2019-03-04 19:35:22 -08:00
Girish Ramakrishnan
2362b2a5a0
Make the version 3.5.3
2019-03-04 18:18:23 -08:00
Girish Ramakrishnan
fb08a17ec8
Add some debugs
2019-03-04 18:11:07 -08:00
Girish Ramakrishnan
1bcc2d544a
link to logs instead of spatch'ed error
2019-03-04 18:03:51 -08:00
Girish Ramakrishnan
6fd1205681
settings value is a variant
2019-03-04 15:45:04 -08:00
Girish Ramakrishnan
da2b00c9cf
Move cert change notification into ensureCertificate()
...
When ensureCertificate renews the cert, the filename will match the
nginx config cert file. The current code detects that this implies
that the cert has not changed and thus does not update mail container.
Move the notification into ensureCertificate() itself. If we have a wildcard
cert and it gets renewed when installing a new app, then mail container will
still get it.
2019-03-04 15:24:09 -08:00
Girish Ramakrishnan
f6213595d1
move mailer notification of failed backups
...
this also removes the splatchError which is causing a crash because
of infinite recursion when backups fail (not sure why)
2019-03-04 15:01:30 -08:00
Girish Ramakrishnan
b1b2bd5b97
move cert renewal notification to notification logic
2019-03-04 14:53:19 -08:00
Girish Ramakrishnan
aa19cbbfc7
Properly escape filename when downloading files
2019-03-04 13:50:17 -08:00
Girish Ramakrishnan
8d39faddc9
cleanup temporary file after upload
...
also, wait for finish event for the http response. this should be
quick because the file has already been upload and we just have to
copy it to the container
2019-03-04 12:28:27 -08:00
Girish Ramakrishnan
52714dbcc9
Update changelog
2019-03-04 12:17:38 -08:00
Girish Ramakrishnan
be92d3a0bc
Properly escape the filename when uploading files
...
tested with filename:
Fancy - +!"#$&'\''()*+,:;=?@ - Filename
(in the e2e repo)
2019-03-04 12:16:04 -08:00
Girish Ramakrishnan
f3189f72fd
Use mail.restartMail alias
2019-03-04 10:42:42 -08:00
Girish Ramakrishnan
144c1d4e2f
remove eventemitter pattern
...
the main issue is that ee pattern does not work across processes.
with task logic, this complicates things
2019-03-04 10:25:18 -08:00
Girish Ramakrishnan
e5964f9d93
Remove unused function
2019-03-02 19:31:19 -08:00
Girish Ramakrishnan
ea30cbe117
Fix tests
2019-03-02 19:23:39 -08:00
Girish Ramakrishnan
598a9664a7
Fix crash because mailboxName is null
...
mailboxName is always a non-empty string. even for apps that don't use
it, we allocate a mailbox with .app suffix
2019-03-02 19:18:38 -08:00
Girish Ramakrishnan
d04628a42d
Suffix .log
2019-03-01 16:55:26 -08:00
Girish Ramakrishnan
7bce63d74e
Add API to get crash logs
2019-03-01 16:33:35 -08:00
Girish Ramakrishnan
452fe9f76d
add callback to notification code
...
the crashnotifier prematurely exits otherwise
2019-03-01 15:17:38 -08:00
Girish Ramakrishnan
7983ff5db2
Stash logs in crash log directory
2019-03-01 15:07:06 -08:00
Girish Ramakrishnan
c361ab954d
Indicate how often status check is run
2019-03-01 11:30:51 -08:00
Girish Ramakrishnan
a8735a6465
Generate detailed mail configuration error notification
2019-03-01 11:15:05 -08:00
Girish Ramakrishnan
76255c0dd4
Typo
2019-02-28 15:22:55 -08:00
Girish Ramakrishnan
87655ff3cd
remove action field from notifications table
...
it is mostly unused
2019-02-28 15:13:51 -08:00
Girish Ramakrishnan
fc7be2ac1a
Clear notifications if mail/backup/disk space situation changes
2019-02-28 15:13:47 -08:00
Girish Ramakrishnan
e93b95bee8
move the switch case to notifications
...
this way we don't need to export all the functions
2019-02-28 11:38:16 -08:00
Girish Ramakrishnan
6a18d6918e
restart mail now restart the service
...
... and not just the container
Fixes #617
2019-02-28 10:44:26 -08:00
Girish Ramakrishnan
578ce09b5e
Fix digest test
2019-02-27 11:56:16 -08:00
Girish Ramakrishnan
27f6177fc9
do not restart mail container when not activated
...
provision code is calling setDashboardDomain() which is restarting
the mail server
2019-02-27 11:46:03 -08:00
Johannes Zellner
20c0deeac4
Improve digest email
2019-02-27 12:06:01 +01:00
Johannes Zellner
f1f8cdb6e9
Add admin route to test digest
2019-02-27 12:06:01 +01:00
Girish Ramakrishnan
345e4e846c
Copy/paste error
2019-02-26 15:03:14 -08:00
Girish Ramakrishnan
6f57b36158
make it executable
2019-02-26 15:03:14 -08:00
Girish Ramakrishnan
0264e10e69
Update license file
2019-02-26 15:03:14 -08:00
Girish Ramakrishnan
067f5bf5a3
auto register cloudron based on license file
2019-02-26 15:03:11 -08:00
Girish Ramakrishnan
c81b643cdf
cloudron-setup: copy edition license
2019-02-26 12:06:32 -08:00
Girish Ramakrishnan
388ad077d6
cloudron-setup: baseDataDir is not used
2019-02-26 12:04:31 -08:00
Girish Ramakrishnan
db93cdd95f
Make settings logic use the appstore model code
2019-02-25 18:19:25 -08:00
Girish Ramakrishnan
68304a3fc1
Add registerCloudron and getCloudron
2019-02-25 17:29:42 -08:00
Girish Ramakrishnan
13259c114a
block updates if app has a maxBoxVersion less than incoming version
2019-02-25 10:03:50 -08:00
Girish Ramakrishnan
5131ba453d
Add another change
2019-02-25 10:03:31 -08:00
Girish Ramakrishnan
8fdc9939cd
Add locked flag to settings table
2019-02-22 10:08:02 -08:00
Girish Ramakrishnan
c15449492a
settings: remove appstore scope
2019-02-22 09:43:26 -08:00
Girish Ramakrishnan
1cab1e06d9
aggregate the settings get/set handlers
...
this makes it easy to check for a settings lock
2019-02-22 09:37:36 -08:00
Girish Ramakrishnan
4831926869
settings: select fields explicitly
2019-02-22 09:31:09 -08:00
Girish Ramakrishnan
4fcf25077b
Update docker to 18.09
2019-02-21 15:30:26 -08:00
Girish Ramakrishnan
c32461f322
Update node modules
2019-02-21 14:09:28 -08:00
Girish Ramakrishnan
0abe6fc0b4
Fixup node version
2019-02-21 13:41:15 -08:00
Girish Ramakrishnan
edc3d53f94
validate fields in the update response
2019-02-20 16:18:47 -08:00
Girish Ramakrishnan
bb5fbbe746
Add boxUpdateInfo to the eventlog
...
this is used by the email digest code
2019-02-20 16:18:38 -08:00
Girish Ramakrishnan
36f3e3fe50
Enable gzip compression for large objects
...
This doesn't trigger a re-configure (since it's not a big deal)
2019-02-20 16:03:13 -08:00
Girish Ramakrishnan
65c8000f66
rename function to just "send"
2019-02-20 09:11:45 -08:00
Girish Ramakrishnan
2d45f8bc40
Update node to 10.15.1
2019-02-19 10:46:59 -08:00
Girish Ramakrishnan
7a0d4ad508
Make reboot required check server side
2019-02-19 09:20:20 -08:00
Johannes Zellner
5ae93bb569
Clear connect-timeout handling for graphs
2019-02-18 13:13:29 +01:00
Girish Ramakrishnan
aa6ca46792
Add linode-stackscript as a provider
2019-02-16 13:59:35 -08:00
Girish Ramakrishnan
e8c11f6e15
Fix tests
2019-02-15 14:56:51 -08:00
Girish Ramakrishnan
08bb8e3df9
Make token API id based
...
we don't return the accessToken anymore
2019-02-15 14:31:43 -08:00
Girish Ramakrishnan
d62bf6812e
Ensure tokens have a name
2019-02-15 13:45:04 -08:00
Girish Ramakrishnan
422abc205b
do not return accessToken when listing tokens
2019-02-15 13:26:33 -08:00
Girish Ramakrishnan
1269104112
rbl.status is only valid if rbl test was run
2019-02-15 12:22:39 -08:00
Girish Ramakrishnan
97d762f01f
relay username also needs to be hidden
2019-02-15 11:44:33 -08:00
Girish Ramakrishnan
671b5e29d0
Hide mail relay password
2019-02-15 11:25:51 -08:00
Girish Ramakrishnan
c7538a35a2
Do not escape link
2019-02-14 19:36:59 -08:00
Girish Ramakrishnan
458658a71b
Email gets encoded in plain text email
...
Unbuffered code for conditionals etc <% code %>
Escapes html by default with <%= code %>
Unescaped buffering with <%- code %>
2019-02-14 19:30:02 -08:00
Girish Ramakrishnan
e348a1d2c5
make the view a link
2019-02-13 15:15:32 -08:00
Girish Ramakrishnan
59ff3998bc
do not send up mails immediately on installation
2019-02-13 14:44:02 -08:00
Girish Ramakrishnan
9471dc27e0
App can also be dead/error
2019-02-12 17:01:45 -08:00
Girish Ramakrishnan
4b559a58d1
Fix use of source object
2019-02-12 16:41:46 -08:00
Girish Ramakrishnan
5980ab9b69
Add healthTime in the database
...
this is currently an internal field and not returned in API
2019-02-12 16:33:28 -08:00
Girish Ramakrishnan
70e5daf8c6
Fix usage of audit source
2019-02-11 14:41:12 -08:00
Girish Ramakrishnan
92e1553eed
Fullstop
2019-02-11 12:58:38 -08:00
Girish Ramakrishnan
2236e07722
Send app up notification
...
Fixes #438
2019-02-11 12:58:33 -08:00
Girish Ramakrishnan
5166cd788b
More information
2019-02-11 09:30:46 -08:00
Girish Ramakrishnan
de89d41e72
Make the notifications more informative
2019-02-10 21:00:32 -08:00
Girish Ramakrishnan
3dd5526938
More 3.5.1 changes
2019-02-09 21:38:36 -08:00
Girish Ramakrishnan
a88893b10a
remove/inject backups secret fields
...
follow same pattern as dns code
fixes #615
2019-02-09 20:44:05 -08:00
Girish Ramakrishnan
51d1794e88
only inject fields if provider matches
...
atleast, the gcdns backend will crash otherwise
2019-02-09 17:59:32 -08:00
Girish Ramakrishnan
95e8fc73e6
Use black circle
2019-02-09 17:33:52 -08:00
Johannes Zellner
96974ab439
Make secret placeholder just stars
2019-02-09 19:16:56 +01:00
Johannes Zellner
127b22d7ce
Add dns interface api to inject hidden files for verification
2019-02-09 19:09:51 +01:00
Johannes Zellner
ca962e635e
Add provider netcup-image
2019-02-09 18:01:31 +01:00
Johannes Zellner
a70cc97b8e
namecheap apiKey is now token
2019-02-09 17:43:23 +01:00
Johannes Zellner
79ae75030c
move caas certificate key removal to the provider backend
2019-02-09 11:59:37 +01:00
Johannes Zellner
32f8a52c2b
add provider specific removePrivateFields to redact tokens and secrets
2019-02-09 11:59:37 +01:00
Johannes Zellner
d1a1f7004b
Do not send out emails for out of disk
...
We rely now on notifications. We should hover send emails about critical
new notifications. Lets make the admin go to the dashboard to check the
situation.
2019-02-09 11:57:31 +01:00
Girish Ramakrishnan
52289568bf
backups: omit the key and secret fields
...
part of #615
2019-02-08 22:21:28 -08:00
Girish Ramakrishnan
dada79cf65
domains: do not return secret keys in api responses
...
part of #615
2019-02-08 21:58:38 -08:00
Girish Ramakrishnan
139a2bac1a
namecheap: apiKey -> token
...
all token/secret/credentials will not be returned in upcoming change
2019-02-08 20:48:51 -08:00
Girish Ramakrishnan
3e4eaeab35
namecheap: do not use global object
...
if we have multiple namecheap, it doesn't work.
2019-02-08 20:21:16 -08:00
Girish Ramakrishnan
484171dd1b
namecheap: typo
2019-02-08 19:09:28 -08:00
Girish Ramakrishnan
1c69b1695a
lint
2019-02-08 11:24:33 -08:00
Girish Ramakrishnan
7cfba0e176
Fix notification tests
2019-02-08 11:22:15 -08:00
Girish Ramakrishnan
ade2b65a94
make mail test pass
2019-02-08 11:08:14 -08:00
Girish Ramakrishnan
950a6d4c5d
Add restriction on max password length
2019-02-08 09:57:07 -08:00
Girish Ramakrishnan
19348ef205
Fix links in motd
2019-02-07 14:07:30 -08:00
Girish Ramakrishnan
5662b124e0
Add a digitalocean-mp provider
2019-02-06 16:15:36 -08:00
Girish Ramakrishnan
5c1307f6f2
bump license years
2019-02-06 15:38:07 -08:00
Girish Ramakrishnan
2105b2ecdb
Run MX and DMARC checks only if mail is enabled
2019-02-06 15:23:41 -08:00
Girish Ramakrishnan
d05bf9396d
Periodically check mail status as well
...
Fixes #612 , #575
2019-02-06 14:58:45 -08:00
Girish Ramakrishnan
5b22822ac3
More 3.5.1 changes
2019-02-06 11:49:35 -08:00
Girish Ramakrishnan
e08e1418e5
3.5.1 changes
2019-02-06 11:38:36 -08:00
Girish Ramakrishnan
31d0a5c40e
run system checks immediately post activation
...
this will notify about backup configuration
2019-02-06 11:15:46 -08:00
Girish Ramakrishnan
89446d56e0
Fix exports
2019-02-06 11:09:34 -08:00
Johannes Zellner
bbcad40fcf
Also collect the real box logs from logfile on crash
2019-02-06 17:05:25 +01:00
Johannes Zellner
70db169976
eventId in notifications may be null
2019-02-06 16:28:51 +01:00
Johannes Zellner
abc867935b
Add backup configuration check together with out of disk check cron job
2019-02-06 15:47:56 +01:00
Johannes Zellner
2bb85dc16c
Add out of disk and backup config warning notification handler
2019-02-06 15:47:31 +01:00
Johannes Zellner
00f4bf3d16
Add notificationdb.upsert() which clears ack field and matches by userId and title
2019-02-06 15:46:58 +01:00
Johannes Zellner
0cca838db9
Allow eventId in notifications table to be null
2019-02-06 14:40:09 +01:00
Girish Ramakrishnan
abc8e1c377
improve motd a bit more
2019-02-05 16:58:24 -08:00
Girish Ramakrishnan
de67b6bc0c
better motd
2019-02-05 14:58:44 -08:00
Girish Ramakrishnan
058534af21
rename script
2019-02-05 10:27:05 -08:00
Girish Ramakrishnan
ce1b621488
motd: add message to finish setup
2019-02-05 09:57:42 -08:00
Girish Ramakrishnan
4434c7862e
Rename the fields variable
2019-02-05 09:24:16 -08:00
Johannes Zellner
86c4246f75
Do not dump the whole app object into a login event
2019-02-05 16:13:20 +01:00
Johannes Zellner
7dc3fb9854
Only upsert login events
2019-02-05 15:27:43 +01:00
Johannes Zellner
71b0226c54
add more eventlog upsert tests
2019-02-05 14:50:59 +01:00
Johannes Zellner
a18d5bbe34
Add eventlogdb.upsert() for batching once per day
2019-02-05 14:50:59 +01:00
Girish Ramakrishnan
f1352c6ef0
Fix crash
2019-02-04 20:51:26 -08:00
Girish Ramakrishnan
7e6ce1a1ef
Add event to track dashboard update
2019-02-04 20:42:28 -08:00
Girish Ramakrishnan
9f5471ee85
Update mail DNS records on dashboard switch
...
Fixes #613
2019-02-04 20:18:01 -08:00
Girish Ramakrishnan
3bf36d6c93
Add mail.configureMail
2019-02-04 17:10:07 -08:00
Girish Ramakrishnan
38523835fd
parameterize the mailFqdn
2019-01-31 15:27:26 -08:00
Johannes Zellner
4cb2a929a5
Remove unused require
2019-01-30 13:17:30 +01:00
Girish Ramakrishnan
1db14c710b
always send emails from no-reply@dashboard domain
...
Fixes #614
2019-01-29 20:42:21 -08:00
Girish Ramakrishnan
13787629b6
suffix 0 when comparing versions
...
> semver.lte('1.2.3', '1.2.3-1')
false
2019-01-27 14:07:42 -08:00
Girish Ramakrishnan
42c705e362
UPDATE_CONFIG_KEY is unused
2019-01-25 15:59:05 -08:00
Girish Ramakrishnan
4765e4f83c
Add locked flag to domains table
2019-01-25 14:45:45 -08:00
Girish Ramakrishnan
ddffc8a36e
better message
2019-01-25 14:11:38 -08:00
Girish Ramakrishnan
8aec71845b
Add missing else
2019-01-25 10:49:00 -08:00
Girish Ramakrishnan
c01864ccf5
mention outbound
2019-01-25 10:27:44 -08:00
Girish Ramakrishnan
4f839ae44e
better error message for outbound port 25
2019-01-24 15:09:14 -08:00
Girish Ramakrishnan
db6404a7c6
SysInfo.EXTERNAL_ERROR is undefined
2019-01-24 14:58:28 -08:00
Johannes Zellner
93e0acc8e9
Only supply the actual namecheap DNS record arguments
2019-01-24 18:46:19 +01:00
Johannes Zellner
9fa7a48b86
Print result not error
2019-01-24 14:13:41 +01:00
Girish Ramakrishnan
c0b929035f
lint
2019-01-23 21:00:26 -08:00
Johannes Zellner
7612e38695
We do not send out invites on user creation
2019-01-23 17:18:37 +01:00
Johannes Zellner
47329eaebc
Add tests for getting a single eventlog item
2019-01-23 17:11:57 +01:00
Johannes Zellner
f53a951daf
Add route to get single eventlog items
2019-01-23 16:44:45 +01:00
Johannes Zellner
2181137181
Use docker based mysql server for testing with the correct version
2019-01-23 16:18:52 +01:00
Johannes Zellner
6e925f6b99
assert if auditSource is null on user apis
2019-01-23 11:18:31 +01:00
Johannes Zellner
3b5495bf72
The notification rules have changed
...
We do not send out notifications and emails anymore for the user who
performs the action.
2019-01-23 11:10:30 +01:00
Johannes Zellner
3617432113
Fix broken invite sending on user creation
2019-01-23 10:45:13 +01:00
Girish Ramakrishnan
f95beff6d4
Fix the tests
2019-01-22 17:49:53 -08:00
Girish Ramakrishnan
6d365fde14
move datalayout to separate file for tests
2019-01-22 17:35:36 -08:00
Girish Ramakrishnan
b16ff33688
more changes
2019-01-22 11:39:19 -08:00
Girish Ramakrishnan
9d8d0bed38
Add mail domain after config is setup
2019-01-22 11:37:18 -08:00
Johannes Zellner
f967116087
We do not require sudo to migrate the db
2019-01-22 19:38:18 +01:00
Johannes Zellner
721352c5aa
Revert "Check for sudo access of root user in cloudron-setup"
...
We will remove the sudo requirement instead
This reverts commit e5a04e8d38 .
2019-01-22 19:33:36 +01:00
Johannes Zellner
496ba986bf
Add missing wait() function for namecheap backend
2019-01-22 12:12:46 +01:00
Johannes Zellner
101a3b24ce
Fix property passing for namecheap.del()
2019-01-22 12:04:17 +01:00
Johannes Zellner
201dc570cd
Fix namecheap nameserver test
2019-01-22 11:56:56 +01:00
Girish Ramakrishnan
ff359c477f
acme: Wait for 5mins
...
often, let's encrypt is failing to get the new DNS. not sure why
2019-01-21 10:45:43 -08:00
Johannes Zellner
74cb8d9655
Bring namecheap dns backend up to speed with the new api layout
2019-01-21 14:36:21 +01:00
Johannes Zellner
91d0710e04
Update package lock file
2019-01-21 14:27:16 +01:00
Johannes Zellner
0cc3f08ae7
Add missing requires for scaleway sysinfo backend
2019-01-21 14:26:56 +01:00
Tomer S
ac391bfc17
Added NameCheap as option for DNS
2019-01-21 12:59:08 +00:00
Johannes Zellner
e5a04e8d38
Check for sudo access of root user in cloudron-setup
2019-01-21 13:33:19 +01:00
Johannes Zellner
8cc07e51bf
Fix up notification tests
2019-01-21 08:51:26 +01:00
Girish Ramakrishnan
4b7090cf7c
Be paranoid about the data dir location
2019-01-20 11:40:31 -08:00
Girish Ramakrishnan
8c8cc035ab
Generate fsmetadata correctly
2019-01-19 21:45:54 -08:00
Girish Ramakrishnan
4b93d30ec0
Send correct error message for dataDir conflict
2019-01-19 21:24:38 -08:00
Girish Ramakrishnan
d8ff2488a3
Make syncer work with a layout
2019-01-19 20:39:49 -08:00
Johannes Zellner
b771df88da
Ensure we write process crash logs to disk
2019-01-19 15:41:47 +01:00
Johannes Zellner
54e237cec8
Set info string if no crash logs can be found
2019-01-19 15:23:54 +01:00
Johannes Zellner
b5c848474b
Ensure notifications attached to events are deleted as well
2019-01-19 14:53:58 +01:00
Johannes Zellner
dae52089e3
Patch auditSource if owner is creating himself an account
2019-01-19 14:34:49 +01:00
Johannes Zellner
4c4f3d04e9
Fix users tests
2019-01-19 14:25:59 +01:00
Johannes Zellner
e8674487f2
Remove . makes it harder to doubleclick select and paste
2019-01-19 13:33:03 +01:00
Johannes Zellner
e2fadebf64
Rename notifications.unexpectedExit() to notifications.processCrash()
2019-01-19 13:31:31 +01:00
Johannes Zellner
d3331fea7f
Send emails for apptask crash
2019-01-19 13:30:24 +01:00
Johannes Zellner
bdcd9e035c
Add missing eventId arg
2019-01-19 13:27:45 +01:00
Johannes Zellner
7f3453ce5c
Crashnotifier is now only used for systemd unit crashes (only box)
2019-01-19 13:23:49 +01:00
Johannes Zellner
ed7a7bc879
Use eventlog directly for apptask crashes
2019-01-19 13:23:18 +01:00
Johannes Zellner
5a6b8222df
Pass down eventId to notifications
2019-01-19 13:22:29 +01:00
Johannes Zellner
3262486a96
Add eventId to notifications table
2019-01-19 13:21:09 +01:00
Johannes Zellner
c73b30556f
Remove unused require
2019-01-19 12:36:46 +01:00
Johannes Zellner
2ec89d6a20
Fix typo
2019-01-19 12:24:04 +01:00
Girish Ramakrishnan
a0b69df20d
Add DataLayout class to help with path xforms
2019-01-18 17:13:25 -08:00
Girish Ramakrishnan
57aa3de9bb
typo
2019-01-18 15:18:46 -08:00
Girish Ramakrishnan
38a4c1aede
Fixup volume management
...
Fixes related to removing directory and directory perms
2019-01-18 15:18:42 -08:00
Girish Ramakrishnan
fcc77635c2
retry must wrap the download function as well
2019-01-18 14:31:30 -08:00
Girish Ramakrishnan
25be1563e1
Update mail container
2019-01-18 14:31:30 -08:00
Girish Ramakrishnan
4a9b0e8db6
Remove all app containers before removing volume
...
If volume location changes, we re-create the volume. However, volume
can only be removed if all the containers using it are deleted. For
example, the scheduler might be running a container using it.
2019-01-17 23:56:31 -08:00
Girish Ramakrishnan
ab35821b59
saveFsMetadata: make it work with a layout
2019-01-17 14:55:37 -08:00
Girish Ramakrishnan
14439ccf77
mount points cannot be removed
2019-01-17 14:55:37 -08:00
Girish Ramakrishnan
5ddfa989d0
setupLocalStorage should remove old volume
2019-01-17 14:50:43 -08:00
Girish Ramakrishnan
a915348b22
Return correct error code when already locked
2019-01-17 10:58:38 -08:00
Girish Ramakrishnan
a7fe35513a
Ubuntu 16 needs MemoryLimit
...
systemd[1]: [/etc/systemd/system/box.service:25] Unknown lvalue 'MemoryMax' in section 'Service'
2019-01-17 09:28:35 -08:00
Johannes Zellner
701024cf80
Send app down notification through eventlog
2019-01-17 17:26:58 +01:00
Johannes Zellner
4ecb0d82e7
Handle oom notification through eventlog
2019-01-17 15:31:34 +01:00
Johannes Zellner
5279be64d0
Skip notify performer or user operated on
2019-01-17 13:51:10 +01:00
Johannes Zellner
b9c3e85f89
Trigger user notifications through eventlog api only
2019-01-17 13:12:26 +01:00
Girish Ramakrishnan
8aaa671412
Add more changes
2019-01-16 21:52:02 -08:00
Girish Ramakrishnan
873ebddbd0
write admin config on dashboard switch
2019-01-16 21:51:06 -08:00
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
Girish Ramakrishnan
3500236d32
sync concurrency cannot be very high
2019-01-15 20:44:09 -08:00
Girish Ramakrishnan
2f881c0c91
log download errors
2019-01-15 12:01:12 -08:00
Girish Ramakrishnan
9d45e4e0ae
refactor: make removeVolume not clear
2019-01-15 09:46:24 -08:00
Johannes Zellner
13fac3072d
Support username search in user listing api
2019-01-15 17:21:40 +01:00
Girish Ramakrishnan
6d8fdb131f
remove unused constant
2019-01-14 14:37:43 -08:00
Girish Ramakrishnan
ee65089eb7
s3: make copying and uploading significantly faster
2019-01-14 13:47:07 -08:00
Girish Ramakrishnan
40c7d18382
Fix upload progress message
2019-01-14 12:23:03 -08:00
Girish Ramakrishnan
3236a9a5b7
backup: retry rsync file downloads
...
fixes #608
2019-01-14 11:57:10 -08:00
Girish Ramakrishnan
d0522d7d4f
backups: retry tgz downloads
...
Part of #608
2019-01-14 11:36:11 -08:00
Girish Ramakrishnan
aef6b32019
Update mail container with the spf fixes
2019-01-14 10:32:55 -08:00
Girish Ramakrishnan
11b4c886d7
Add changes
2019-01-14 09:58:55 -08:00
Johannes Zellner
3470252768
Add user pagination to rest api
2019-01-14 16:39:20 +01:00
Johannes Zellner
1a3d5d0bdc
Fix linter issues
2019-01-14 16:26:27 +01:00
Johannes Zellner
05f07b1f47
Add paginated user listing on the db level
2019-01-14 16:08:55 +01:00
Girish Ramakrishnan
898f1dd151
Make volume logic work with absolute paths
2019-01-13 21:12:22 -08:00
Girish Ramakrishnan
17ac6bb1a4
script is not called from redis addon anymore
2019-01-13 19:04:32 -08:00
Girish Ramakrishnan
f05bed594b
remove redundant assert
2019-01-13 16:06:54 -08:00
Girish Ramakrishnan
e63b67b99e
resolve any boxdata symlink
2019-01-13 15:17:02 -08:00
Girish Ramakrishnan
efbc045c8a
Add event for tracking dyndns changes
2019-01-12 15:24:22 -08:00
Girish Ramakrishnan
172d4b7c5e
backup: store cleanup result properly
2019-01-12 15:17:04 -08:00
Girish Ramakrishnan
8b9177b484
disallow downgrade of App Store apps
...
We hit this interesting case:
1. Dashboard showed update indicator for an app of v1. indicator is saying v2 is available.
2. In the meantime, the cron updated the app from v1 to v2 and then to v3 (i.e updates applied)
3. Dashboard for whatever reason (internet issues/laptop suspend) continues to show v2 update indicator.
This is despite the update logic clearing the update available notification.
4. Use clicked updated indicator on the updated app. App updates to an old version v2!
2019-01-11 14:19:32 -08:00
Girish Ramakrishnan
2acb065d38
Track what the the backup cleaner removed
2019-01-11 14:09:43 -08:00
Girish Ramakrishnan
0b33b0b6a2
task: result can be json
2019-01-11 14:02:18 -08:00
Girish Ramakrishnan
0390891280
Fix test
2019-01-11 13:36:02 -08:00
Girish Ramakrishnan
9203534f67
get app object in start of update func
2019-01-11 13:28:39 -08:00
Girish Ramakrishnan
e15d11a693
eventlog: add the old and new manifest in restore
2019-01-11 12:27:42 -08:00
Girish Ramakrishnan
c021d3d9ce
backup: add retry only if > 1
2019-01-11 11:07:19 -08:00
Girish Ramakrishnan
ea3cc9b153
Fix error message
2019-01-11 10:58:51 -08:00
Girish Ramakrishnan
3612b64dae
gpg is in different packages in ubuntu
2019-01-11 10:20:28 -08:00
Girish Ramakrishnan
79f9180f6b
run backup cleanup as a task
2019-01-10 16:07:06 -08:00
Girish Ramakrishnan
766ef5f420
remove spurious argument
2019-01-10 16:02:15 -08:00
Girish Ramakrishnan
bdbb9acfd0
lint
2019-01-10 10:51:31 -08:00
Johannes Zellner
6bdac3aaec
Add missing -y in cloudron-setup
2019-01-10 15:28:56 +01:00
Johannes Zellner
14acdbe7d1
Use notifications api for unexpected process exits
2019-01-10 14:30:00 +01:00
Johannes Zellner
895280fc79
Remove unused function mailUserEventToAdmins()
2019-01-10 13:32:39 +01:00
Johannes Zellner
83ae303b31
Skip notifications for user actions against the same user
2019-01-10 13:21:26 +01:00
Johannes Zellner
cc81a10dd2
Add more notification/mailer wrapper
2019-01-10 12:00:04 +01:00
Girish Ramakrishnan
6e3600011b
Update mail container sha
2019-01-09 16:31:53 -08:00
Girish Ramakrishnan
2b07b5ba3a
Add mail container that logs events
2019-01-09 16:18:53 -08:00
Girish Ramakrishnan
7b64b2a708
do-spaces: Limit download concurrency
...
https://www.digitalocean.com/community/questions/rate-limiting-on-spaces?answer=40441
2019-01-09 15:09:29 -08: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
Girish Ramakrishnan
1affb2517a
Protect the updater service from the oom killer
...
Fixes #576
2019-01-08 10:51:47 -08:00
Johannes Zellner
85ea9b3255
Rework the oom notification
2019-01-08 14:37:58 +01:00
Johannes Zellner
07e052b865
Fix notifications route to return all notifications if nothing specified
2019-01-08 13:46:18 +01:00
Girish Ramakrishnan
bc0ea740f1
Add more changes
2019-01-07 09:43:48 -08:00
Johannes Zellner
841b4aa814
Can't pass booleans over query
2019-01-07 17:30:28 +01:00
Johannes Zellner
9989478b91
Add all admins action helper
2019-01-07 14:56:49 +01:00
Johannes Zellner
d3227eceff
Give better oom notification title
2019-01-07 14:05:42 +01:00
Johannes Zellner
5f71f6987c
Create notifications for app down event
2019-01-07 13:01:27 +01:00
Johannes Zellner
86dbb1bdcf
Create notification for oom events
2019-01-07 12:57:57 +01:00
Girish Ramakrishnan
77ac8d1e62
Add changes
2019-01-06 19:23:44 -08:00
Girish Ramakrishnan
e62d417324
Set OOMScoreAdjust to stop box code from being killed
...
OOMScoreAdjust can be set between -1000 and +1000. This value is inherited
and systemd has no easy way to control this for children (box code also
runs as non-root, so it cannot easily set it for the children using
/proc/<pid>/oom_score_adj.
When set to -1000 and the process reaches the MemoryMax, it seems the kernel
does not kill any process in the cgroup and it spins up in high memory. In fact,
'systemctl status <service>' stops displaying child process (but ps does), not sure
what is happenning.
Keeping it -999 means that if a child process consumed a lot of memory, the kernel
will kill something in the group. If the main box itself is killed, systemd will
kill it at all because of KillMode=control-group.
Keeping it -999 also saves box service group being killed relative to other docker
processes (apps and addons).
Fixes #605
2019-01-06 19:16:53 -08:00
Girish Ramakrishnan
b8f85837fb
cloudflare: do not wait for dns if proxied
2019-01-05 18:27:10 -08:00
Girish Ramakrishnan
2237d7ef8a
Fix test
2019-01-05 00:45:01 -08:00
Girish Ramakrishnan
65210ea91d
rework dns api to take domainObject
...
the DNS backends require many different params, it's just easier to
pass them all together and have backends do whatever.
For example, route53 API requires the fqdn. Some other backends require just the
"part" to insert.
* location - location in the database (where app is installed)
* zoneName - the dns zone name
* domain - domain in the database (where apps are installed into)
* name/getName() - this returns the name to insert in the DNS based on zoneName/location
* fqdn - the fully resolved location in zoneName
verifyDnsConfig also takes a domain object even if it's not in db just so that we can
test even existing domain objects, if required. The IP param is removed since it's not
required.
for caas, we also don't need the fqdn hack in dnsConfig anymore
2019-01-04 22:38:12 -08:00
Girish Ramakrishnan
16c1622b1f
Make domains.fqdn take config and domain separately
...
This way it can be used in the dns backends which don't have the domain object
2019-01-04 14:11:29 -08: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
808be96de3
gpg is not installed on gandi
2019-01-03 12:28:30 -08:00
Girish Ramakrishnan
1e93289f23
cloudflare: preserve proxied parameter
2019-01-03 10:42:09 -08:00
Girish Ramakrishnan
ccf0f84598
cloudflare: getDnsRecordsByZoneId -> getDnsRecords
...
This misleading name creates much confusion
2019-01-03 10:39:10 -08:00
Girish Ramakrishnan
3ec4c7501d
cloudflare: rename confusing callback param
2019-01-03 10:39:10 -08:00
Girish Ramakrishnan
f55034906c
Set oldConfig.fqdn
...
Without this, the re-configure task unregisters the domain since
it thinks the domain has changed
2019-01-03 10:08:55 -08:00
Girish Ramakrishnan
cbd3c60c5d
Use a relay token for no-reply emails
2018-12-28 13:32:59 -08:00
Girish Ramakrishnan
2037fec878
new mail container does not require default domain
2018-12-28 12:12:34 -08:00
Girish Ramakrishnan
772fd1b563
Add cloudron-support to path
2018-12-26 19:42:45 -08:00
Girish Ramakrishnan
d9309cb215
Use a separate event for tarExtract
2018-12-22 21:23:20 -08:00
Girish Ramakrishnan
433c34e4ce
better debugs
2018-12-22 21:23:17 -08:00
Girish Ramakrishnan
68a4769f1e
Fix typo
2018-12-22 19:53:50 -08:00
Girish Ramakrishnan
248569d0a8
awscli is unused
2018-12-21 12:41:43 -08:00
Girish Ramakrishnan
5146e39023
contabo: fix DNS
...
we disable the DNS servers in initializeBaseImage. On normal VPS,
unbound seems to start by itself but on contabo it doesn't because
the default unbound config on ubuntu does not work without ip6
2018-12-21 11:44:39 -08:00
Girish Ramakrishnan
ecd1d69863
install software-properties-common
...
on contabo,
root@vmi232343:~# add-apt-repository
Command 'add-apt-repository' not found, but can be installed with:
apt install software-properties-common
2018-12-21 11:28:21 -08:00
Girish Ramakrishnan
06219b0c58
add contabo
2018-12-21 11:09:20 -08:00
Girish Ramakrishnan
0a74bd1718
add note on saveFsMetadata
2018-12-20 15:11:15 -08:00
Girish Ramakrishnan
8a5b24afff
Make tarPack and tarExtract have consistent style
2018-12-20 11:49:37 -08:00
Girish Ramakrishnan
6bdd7f7a57
Give more memory to the control group
...
this allows backups to take more memory as part of the systemd group.
the node box code itself runs under little more constraints using
--max_old_space_size=150
2018-12-20 10:44:42 -08:00
Girish Ramakrishnan
1bb2552384
move feedback test
2018-12-19 14:32:54 -08:00
Girish Ramakrishnan
b5b20452cc
Fix reverseProxy.getCertificate API
2018-12-19 14:20:48 -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
a8d9b57c47
remove unused tar.js
2018-12-19 11:58:08 -08:00
Girish Ramakrishnan
52bbf3be21
move support to separate file
2018-12-19 10:54:33 -08:00
Girish Ramakrishnan
3bde0666e2
volume -> app data directory
...
the appdata directory is just a place to "hold" various parts
of an app together for backup purposes
2018-12-18 21:16:25 -08:00
Girish Ramakrishnan
b5374a1f90
3.5 changes
2018-12-18 15:33:36 -08:00
Girish Ramakrishnan
18b8d23148
Add progress percent for prepareDashboardDomain
2018-12-18 15:26:37 -08:00
Girish Ramakrishnan
f51b1e1b6b
installationProgress must contain the percent
2018-12-17 15:42:40 -08:00
Johannes Zellner
ffc4f9d930
Fix typo
2018-12-17 17:40:53 +01:00
Johannes Zellner
5680fc839b
Send new user notification via notifications api
2018-12-17 17:35:19 +01:00
Johannes Zellner
57d435ccf4
Add basic notification rest api
2018-12-17 16:37:19 +01:00
Johannes Zellner
4b90b8e6d8
Add notificationdb tests
2018-12-17 15:53:00 +01:00
Johannes Zellner
fc8dcec2bb
Add notificationdb table and db wrapper
2018-12-17 15:52:52 +01:00
Girish Ramakrishnan
a5245fda65
3.4.3 changes
...
(cherry picked from commit fd723cf7eb )
2018-12-16 21:08:07 -08:00
Girish Ramakrishnan
4eec2a6414
Add LDAP_MAILBOXES_BASE_DN
...
this got removed by mistake in the email refactor assuming this
was unused (but it is used by sogo)
(cherry picked from commit 6589ba0988 )
2018-12-16 21:06:52 -08:00
Girish Ramakrishnan
a536e9fc4b
track last oom time using a global variable
...
because it was a local variable, we were just sending out oom mails
like crazy
also, fixes an issue that if docker.getEvents gets stuck because
docker does not respond then we do not do any health monitoring.
i guess this can happen if the docker API gets stuck.
2018-12-16 20:52:42 -08:00
Girish Ramakrishnan
a961407379
Fix setup and restore to have a task style API
2018-12-16 11:02:49 -08:00
Girish Ramakrishnan
1fd6c363ba
3.4.2 changes
...
(cherry picked from commit 2d7f0c3ebe )
2018-12-15 09:35:35 -08:00
Girish Ramakrishnan
0a7f1faad1
Better progress message
2018-12-14 23:20:32 -08:00
Girish Ramakrishnan
e79d963802
do not append to task log file
2018-12-14 22:22:57 -08:00
Girish Ramakrishnan
1b4bbacd5f
3.4.1 changes
...
(cherry picked from commit a66bc7192d )
2018-12-14 22:22:47 -08:00
Girish Ramakrishnan
447c6fbb5f
cloudron.conf has to writable
2018-12-14 16:32:51 -08:00
Girish Ramakrishnan
78acaccd89
wording
2018-12-14 16:32:51 -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
357e44284d
Write nginx config into my.<domain>.conf
...
This way we can switch the domain as an independent task that does
not affect the existing admin conf
2018-12-14 09:20:10 -08:00
Girish Ramakrishnan
9dced3f596
Add domains.setupAdminDnsRecord
2018-12-14 09:20:10 -08:00
Girish Ramakrishnan
63e3560dd7
on startup, only re-generate the admin config
...
should not try to get certificates on startup
2018-12-14 09:20:06 -08:00
Girish Ramakrishnan
434525943c
move appconfig.ejs
2018-12-13 21:53:31 -08:00
Girish Ramakrishnan
f0dbf2fc4d
Make reverseProxy.configureAdmin not use config
...
This way we can set things up before modifying config for dashboard switch
2018-12-13 21:42:48 -08:00
Girish Ramakrishnan
3137dbec33
CONFIG_DIR is not used anymore
2018-12-13 19:55:13 -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
36f8ce453f
No need to reserve .app suffix
2018-12-12 15:07:49 -08:00
Girish Ramakrishnan
c2e40acb2c
Fixup configuration and validation of mailboxName
2018-12-12 14:40:26 -08:00
Girish Ramakrishnan
82b1bb668d
Fix tests
2018-12-11 16:26:19 -08: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
e7294f2950
Make handleCertChanged take a callback
2018-12-11 11:02:32 -08:00
Girish Ramakrishnan
c9f325e75d
renewCerts does not call callback
2018-12-11 10:49:04 -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
ee609c8ef0
renew certs task also needs an auditSource
2018-12-11 13:10:32 +01:00
Johannes Zellner
6891ce2bc8
Fix typos
2018-12-11 12:33:35 +01:00
Johannes Zellner
94f5adba04
Renew certs is a POST route so lets use the body
2018-12-11 11:55:59 +01:00
Johannes Zellner
b8f843993a
Fix typo
2018-12-11 11:26:45 +01:00
Girish Ramakrishnan
f9add21899
Add task route tests
2018-12-10 21:42:03 -08:00
Girish Ramakrishnan
1277da8bfe
Add tasks test
2018-12-10 21:17:30 -08:00
Girish Ramakrishnan
55650fb734
Fix crash when db got cleared
2018-12-10 20:56:38 -08:00
Girish Ramakrishnan
d2f4b68c9f
Make certificate renewal a task
2018-12-10 20:48:10 -08:00
Girish Ramakrishnan
a76731a991
remove old cloudron.conf and version field
2018-12-10 15:36:00 -08:00
Girish Ramakrishnan
536b8166ce
typo
2018-12-09 12:04:51 -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
3aea1f3c9d
Fix error message
2018-12-07 15:41:02 -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
331c8ae247
Add a new line
2018-12-07 11:28:23 -08:00
Girish Ramakrishnan
c71a429f61
Ask user before reboot
...
this is useful when installing on bare metal, don't want to reboot
server since the instructions get lost
2018-12-07 11:12:45 -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
6331fa5ced
Update mail addon (does not use ownerType)
2018-12-06 20:34:18 -08:00
Girish Ramakrishnan
707b03b8c8
mailbox: ownerType is now purely internal
2018-12-06 20:25:24 -08:00
Girish Ramakrishnan
f2f93ed141
ldap: nobody binds to mailboxes
2018-12-06 19:34:25 -08:00
Girish Ramakrishnan
37e16c7a4c
Force owner type to be user
2018-12-06 13:00:57 -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
502642fd25
Add note on why we need universe
2018-12-06 09:32:02 -08:00
Johannes Zellner
4abe6a7a00
Ensure we have universe apt sources enabled
2018-12-06 13:23:30 +01:00
Girish Ramakrishnan
3f8fa64b98
wildcard must be outside the quotes
2018-12-05 16:39:29 -08:00
Johannes Zellner
527ff1b1fb
Support docker and unbound service logs through journalctl
2018-12-05 16:19:10 +01:00
Girish Ramakrishnan
804467dce2
StandardOutput=file does not work in ubuntu 16
...
ubuntu 16 has systemd 229 which does not support this. ubuntu 18
has systemd 239 which works ok
2018-12-04 15:02:48 -08:00
Girish Ramakrishnan
4d7f308821
translate TaskError to UpdateError
2018-12-04 14:04:43 -08:00
Girish Ramakrishnan
a5b8418845
Remove spurious success return
2018-12-04 09:34:00 -08:00
Johannes Zellner
93d428b8c5
Update cron node module
2018-12-04 14:53:08 +01:00
Johannes Zellner
7c424ad60c
Add netcup as provider
2018-12-04 09:51:40 +01:00
Girish Ramakrishnan
5b29a8680d
Add missing callback
2018-12-03 15:23:26 -08:00
Girish Ramakrishnan
8f57c44837
provision: force http1.1
...
for unknown reasons, we get a http2 framing error from curl at times.
2018-12-03 13:29:43 -08:00
Johannes Zellner
b23939127b
Ensure we always set the correct default value for TIMESTAMP types
...
So far it we rely on 0 default values in some case like the eventlog
This will not work in mysql strict mode with https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_no_zero_date
2018-12-03 14:09:57 +01:00
Johannes Zellner
3196322063
Add migration script to rename groups table to userGroups
2018-12-03 12:24:04 +01:00
Johannes Zellner
54c96d98d1
Remove all individual test timeouts and ignore timeouts toplevel
2018-12-03 12:24:04 +01:00
Johannes Zellner
f5f92fbb03
Rename groups table to userGroups
2018-12-03 12:24:04 +01:00
Girish Ramakrishnan
be0876603c
ADDON_STATUS_* -> SERVICE_STATUS_*
2018-12-02 19:40:27 -08:00
Girish Ramakrishnan
7c1ef143f9
Add unbound service
2018-12-02 19:38:34 -08:00
Girish Ramakrishnan
6d128595e7
all container related functionality is 'service'
2018-12-02 19:12:43 -08: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
9a701560f4
Fix email status
2018-12-01 21:50:28 -08:00
Girish Ramakrishnan
9800154d01
Use latest mail container (healthcheck route)
2018-12-01 21:50:24 -08:00
Girish Ramakrishnan
4b3f18ccdb
Fix messages in update.sh
2018-11-30 21:18:36 -08:00
Girish Ramakrishnan
840d78b2f4
run update as a task, so it is cancelable
2018-11-30 21:04:24 -08:00
Girish Ramakrishnan
b409fd775d
Revert "Fix crash"
...
This reverts commit 12a5965740 .
Really fix crash
2018-11-30 19:10:44 -08:00
Girish Ramakrishnan
dbcfb20fab
Remove shebang hack, this does not apply anymore
2018-11-30 17:10:28 -08:00
Girish Ramakrishnan
12a5965740
Fix crash
2018-11-30 17:10:28 -08:00
Girish Ramakrishnan
006ab75433
More changes
2018-11-30 17:10:28 -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
b5c59e6b7d
Add args to tasks table
2018-11-30 14:12:24 -08:00
Girish Ramakrishnan
b0ecdcc8b6
Fix another crash
2018-11-30 10:03:16 -08:00
Girish Ramakrishnan
8e1560f412
Fix crash in apptask
2018-11-30 09:48:26 -08:00
Girish Ramakrishnan
df927eae74
move backupupload.js to scripts
...
it is just a sudo helper
2018-11-29 23:30:56 -08:00
Girish Ramakrishnan
30aea047e3
startTask now takes args
2018-11-29 23:28:26 -08:00
Girish Ramakrishnan
cbcadaa449
Return an active field to indicate if task is actually running
2018-11-29 23:12:03 -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
Girish Ramakrishnan
2f729b56fa
Use result in db instead of ipc
2018-11-29 15:34:05 -08:00
Girish Ramakrishnan
d9f3f64c76
Store result and error message separately
2018-11-29 14:45:28 -08:00
Girish Ramakrishnan
e8fa909c2f
Bump graphite since the container port changed
2018-11-29 09:33:46 -08:00
Johannes Zellner
44f6636653
Add more changes
2018-11-29 16:44:44 +01:00
Johannes Zellner
148a0d0fc6
Add memory usage for addon status api
2018-11-28 12:33:24 +01:00
Girish Ramakrishnan
632ba69663
Make restore/download logic have progress callbacks
2018-11-27 12:13:16 -08:00
Girish Ramakrishnan
b2465dd2ee
Set the backup task progress in the task only
2018-11-27 12:12:27 -08:00
Girish Ramakrishnan
e56b87766b
backupApp should not set backup task progress
2018-11-27 11:06:03 -08:00
Girish Ramakrishnan
f7ca2e416a
Add progress callback for snapshotting
2018-11-27 11:03:58 -08:00
Girish Ramakrishnan
002f68b0a1
Add progress info during backup rotation
2018-11-27 10:51:35 -08:00
Girish Ramakrishnan
aa31be5c5a
backup: make upload progress available with callback+ipc
2018-11-27 10:42:34 -08:00
Johannes Zellner
6c0b7017bd
Add some 3.4 changes
2018-11-27 14:41:03 +01:00
Girish Ramakrishnan
581774e001
Use ipc to pass back the result
2018-11-26 20:39:52 -08:00
Girish Ramakrishnan
3847a6616e
No need to track backup time since it is killable now
2018-11-26 20:39:20 -08:00
Girish Ramakrishnan
48fbe28355
Make upload task abort when parent dies
2018-11-26 19:11:30 -08:00
Girish Ramakrishnan
e3ee5bc1d5
lint
2018-11-26 15:55:00 -08:00
Girish Ramakrishnan
a2da9bea58
backup: use ipc for communicating with upload process
2018-11-26 15:21:48 -08:00
Johannes Zellner
e4512e12c5
Add --help for cloudron-support and make ssh key enabling optional
2018-11-26 15:28:11 +01:00
Johannes Zellner
114f48fb17
Remove leftover console.log()
2018-11-26 14:50:10 +01:00
Johannes Zellner
289e018160
Fix comment text
2018-11-26 08:19:24 +01:00
Johannes Zellner
cb6699eeed
Add api to check if the server needs a reboot
2018-11-26 08:19:24 +01:00
Girish Ramakrishnan
802011bb7e
Fix args to shell.sudo
2018-11-25 14:57:51 -08:00
Girish Ramakrishnan
6cd8e769be
remove all uses of sudoSync
2018-11-25 14:43:29 -08:00
Girish Ramakrishnan
9f6f67d331
ssh: remove use of shell.sudoSync
2018-11-25 14:27:06 -08:00
Johannes Zellner
161a8fe2bf
Make docker restartable
2018-11-24 22:12:28 +01:00
Girish Ramakrishnan
b9c9839bb7
apparmor is always enabled on all ubuntu
2018-11-23 13:11:31 -08:00
Girish Ramakrishnan
76edbee48c
Better error message
2018-11-23 13:11:15 -08:00
Girish Ramakrishnan
4142d7a050
Fix error handling of all the execSync usage
2018-11-23 13:11:15 -08:00
Girish Ramakrishnan
a0306c69e1
remove unused acme1.js
...
it got merged to acme2.js
2018-11-23 13:11:15 -08:00
Girish Ramakrishnan
31823f6282
Check if result is not null
2018-11-23 13:11:15 -08:00
Girish Ramakrishnan
9b4fffde29
Use shell.exec instead of shell.execSync
2018-11-23 11:18:45 -08:00
Girish Ramakrishnan
cce03e250d
these can just be debugs
2018-11-22 18:05:41 -08:00
Girish Ramakrishnan
9b32cad946
typoe
2018-11-22 17:26:06 -08:00
Girish Ramakrishnan
2877a1057e
Add CLOUDRON_PROXY_IP
2018-11-22 16:50:02 -08:00
Johannes Zellner
e2debe3c39
Add starting addon state when we wait for healthcheck
2018-11-22 21:54:31 +01:00
Johannes Zellner
f54ab11f18
Handle mail related addon logs
2018-11-22 12:38:50 +01:00
Johannes Zellner
b560e281d0
share container addon status code
2018-11-22 12:38:50 +01:00
Girish Ramakrishnan
3bb4ef5727
Some servers can be very slow starting databases
2018-11-21 09:49:08 -08:00
Johannes Zellner
900c008d20
Only allow addon restarts, no start+stop
2018-11-21 16:06:58 +01:00
Johannes Zellner
c1183a09a8
Add addon configure route
2018-11-21 15:47:41 +01:00
Girish Ramakrishnan
e04b7b55b0
Remove upgrade flag
...
This is not used since ages since we changed our update methodology
2018-11-20 10:29:54 -08:00
Johannes Zellner
329cc80933
Send memory settings on addon status
2018-11-20 16:53:27 +01:00
Johannes Zellner
a13f0706b4
Report addon state detail for further use
2018-11-20 13:11:11 +01:00
Johannes Zellner
55811de4b8
Check for docker ping result
2018-11-20 13:07:41 +01:00
Johannes Zellner
ab456f179e
Check for healthcheck in addon status code
2018-11-20 12:26:33 +01:00
Johannes Zellner
f9d5bcd352
Make getAddonDetails() return AddonsError
2018-11-20 12:12:25 +01:00
Johannes Zellner
6a337884b5
Add start/stop addon code
2018-11-20 11:09:09 +01:00
Johannes Zellner
f953d115da
Fix missing require
2018-11-20 11:09:09 +01:00
Johannes Zellner
88e8fc840f
Fetch basic addon status from docker
2018-11-20 11:09:09 +01:00
Johannes Zellner
d1818e31b0
Add addon status hooks
2018-11-20 11:09:09 +01:00
Johannes Zellner
3f4bf647e8
Allow console.* in the linter config
2018-11-20 11:09:09 +01:00
Johannes Zellner
725a7e6dec
Add missing requires
2018-11-20 11:09:09 +01:00
Johannes Zellner
e08b210001
Add initial addons rest apis
2018-11-20 11:09:09 +01:00
Girish Ramakrishnan
ec08ccb996
move tasks to separate directory
...
these are just wrappers that we use to launch as processes
2018-11-19 21:17:04 -08:00
Girish Ramakrishnan
b47a146c2b
unlock on log failure
2018-11-19 21:12:58 -08:00
Girish Ramakrishnan
14dff27d45
boxUpdateInfo cannot be null here
2018-11-19 21:09:33 -08:00
Girish Ramakrishnan
305a3c94d0
Rework the progress API to use the task progress
2018-11-19 21:06:44 -08:00
Girish Ramakrishnan
218739a6b5
Add tasks table and API
...
progress will be tracked with this table instead of being in-process
like progress.js
2018-11-19 17:37:42 -08:00
Girish Ramakrishnan
390e69c01c
Fix backup API routes
2018-11-19 14:41:16 -08:00
Johannes Zellner
4ef274acf0
Box logs are now in a log file
2018-11-19 19:47:19 +01:00
Girish Ramakrishnan
8267279779
backup can now be stopped
...
track the backup process and killable
2018-11-17 20:31:07 -08:00
Girish Ramakrishnan
6d971b9235
backupupload also logs to stdout now
2018-11-17 19:38:02 -08:00
Girish Ramakrishnan
98dc160886
remove the progress and watchdog timers
...
not needed since we will track these processes now and can be killed
by the user.
2018-11-17 19:38:02 -08:00
Girish Ramakrishnan
a869c88b43
Remove setBackupProgress
...
the upload task can just output to stdout. for progress status, we
can just use a tailstream on the ui side
2018-11-17 19:38:02 -08:00
Girish Ramakrishnan
0b86070fe9
run backuptask as separate process
2018-11-17 19:38:02 -08:00
Girish Ramakrishnan
5c9b6736f0
Remove pruneInfraImages out of platform startup
...
If it fails, it's really OK. Maybe we will have a button to remove
images.
This goes further into step of webadmin always staying up and not
crashing/erroring for cosmetic issues.
2018-11-17 19:35:39 -08:00
Girish Ramakrishnan
fd4057df94
shell.exec -> shell.spawn
2018-11-17 19:26:19 -08:00
Girish Ramakrishnan
1b1945e1f5
Move out graphite from port 8000
...
Port 8000 is used by esxi management service (!)
2018-11-17 19:14:21 -08:00
Girish Ramakrishnan
ebb053b900
add back timestamps to debug output
2018-11-16 14:16:11 -08:00
Girish Ramakrishnan
3381d9b595
Add format to the default backup config
2018-11-16 14:15:20 -08:00
Girish Ramakrishnan
d7a11ef394
runBackupTask -> runBackupUpload
2018-11-16 09:21:07 -08:00
Johannes Zellner
9d40cffabe
Add logrotate config for box logs
2018-11-16 13:14:59 +01:00
Johannes Zellner
de44c63557
box now also logs to a a file instead of journald
2018-11-16 13:05:11 +01:00
Johannes Zellner
ac25477cd7
Ensure we prefix all output with a timestamp
...
note that debug() already does this now on its own in the same format
it does not use console.log but process.stderr
2018-11-16 13:02:37 +01:00
Johannes Zellner
59b86aa090
Stop logging box to journald
2018-11-16 12:15:38 +01:00
Girish Ramakrishnan
6abd48d480
rename backuptask to backupupload
2018-11-15 12:00:51 -08:00
Girish Ramakrishnan
72fc6b8c5a
Fix tests
2018-11-15 12:00:51 -08:00
Girish Ramakrishnan
fcce4a6853
Add note on StandardError
2018-11-15 10:52:31 -08:00
Girish Ramakrishnan
a3b1a2c781
Get the domain correctly from subject
2018-11-15 10:47:20 -08:00
Johannes Zellner
a838a1706f
Fix indentation
2018-11-15 19:26:50 +01:00
Johannes Zellner
a24c9fbafb
Put cloudron-updater (installer.sh) logs persistently to /var/log/
2018-11-15 14:54:12 +01:00
Johannes Zellner
ab255e78c5
Make the cert subject match
2018-11-15 14:18:34 +01:00
Girish Ramakrishnan
2628678d82
3.3.4 changes
2018-11-14 22:11:46 -08:00
Girish Ramakrishnan
eaf9b7f049
Add certificate.new event
2018-11-14 20:47:18 -08:00
Girish Ramakrishnan
b8df4d0b79
bare domains are getting continuously renewed
...
the code is not handling the case where bare domain is not part
of the wildcard SAN.
2018-11-14 20:47:15 -08:00
Girish Ramakrishnan
eb315f34dc
Pass around domainObject
2018-11-14 20:32:14 -08:00
Girish Ramakrishnan
af535757a8
Fix issue where request module was buffering all data
...
when request is give a callback, it will save all the data in memory
to give the data in the response callback
2018-11-14 19:03:27 -08:00
Girish Ramakrishnan
600e030c6d
add a note what the script is about
2018-11-14 10:25:43 -08:00
Girish Ramakrishnan
e86b813551
cloudron-support: use timeout command for docker ps output
2018-11-14 10:22:10 -08:00
Girish Ramakrishnan
af6653dfeb
do not timeout when checking for updates
2018-11-13 10:38:18 -08:00
Johannes Zellner
f93e0c868c
Warn the user if / or /tmp is full
2018-11-13 13:31:49 +01:00
Johannes Zellner
e53aaddc9c
Add 3.3.3 changes
2018-11-13 12:54:40 +01:00
Johannes Zellner
d3ebb99131
Fix apptask concurrency
...
This broke due to async behavior introduced with 1dc649b7a2
2018-11-13 12:54:40 +01:00
Girish Ramakrishnan
82037b70e4
retry apply of platform config
...
it seems that scaling down addons can fail at times. this can happen
if the kernel is busy swapping things etc. so, we do not block the
platform startup for this operation.
Nov 13 05:20:00 localhost dockerd[28831]: time="2018-11-13T05:20:00.365056059Z" level=error msg="Handler for POST /v1.37/containers/mongodb/update returned error: Cannot update container 6532d4a923ce9f10303f2e2aa7f03c35383864f44f3db6abd5c58da3c1a7702f: docker-runc did not terminate sucessfully: failed to write 419430400 to memory.memsw.limit_in_bytes: write /sys/fs/cgroup/memory/docker/6532d4a923ce9f10303f2e2aa7f03c35383864f44f3db6abd5c58da3c1a7702f/memory.memsw.limit_in_bytes: device or resource busy\n: unknown"
Nov 13 05:20:00 localhost node[5486]: box:shell updatemongodb (stderr): Error response from daemon: Cannot update container 6532d4a923ce9f10303f2e2aa7f03c35383864f44f3db6abd5c58da3c1a7702f: docker-runc did not terminate sucessfully: failed to write 419430400 to memory.memsw.limit_in_bytes: write /sys/fs/cgroup/memory/docker/6532d4a923ce9f10303f2e2aa7f03c35383864f44f3db6abd5c58da3c1a7702f/memory.memsw.limit_in_bytes: device or resource busy
2018-11-12 21:58:57 -08:00
Girish Ramakrishnan
323dfb1853
More typos
2018-11-12 10:27:56 -08:00
Girish Ramakrishnan
59b6d2ef66
mail: clear timeout for dns route
2018-11-12 10:25:15 -08:00
Girish Ramakrishnan
7b99167d30
typo
2018-11-12 09:32:02 -08:00
Girish Ramakrishnan
c829f190df
3.3.2 changes
2018-11-11 22:18:46 -08:00
Girish Ramakrishnan
f306f334c0
Update mongodb for invalid index fix
2018-11-11 22:15:51 -08:00
Girish Ramakrishnan
3fb8243264
Add route to trigger app import
2018-11-11 21:58:20 -08:00
Girish Ramakrishnan
b8861b9d78
Use debug instead
2018-11-11 21:57:45 -08:00
Girish Ramakrishnan
61d98ca4ca
give addons more memory when starting up / importing
...
we scale it back after the import is done
2018-11-11 21:45:02 -08:00
Girish Ramakrishnan
a3a22604ba
Mark import errors as app errors
2018-11-11 10:36:11 -08:00
Girish Ramakrishnan
1766c3f6d6
lint
2018-11-11 10:12:51 -08:00
Girish Ramakrishnan
aae259479f
move configure webadmin and status out of setup logic
2018-11-11 09:56:01 -08:00
Girish Ramakrishnan
b640a053e3
Always generate webadmin config on startup
2018-11-11 08:19:24 -08:00
Girish Ramakrishnan
a3cc17705d
Do not remove default.conf and admin.conf when re-configuring apps
2018-11-10 22:02:42 -08:00
Girish Ramakrishnan
78ac1d2a12
Add isCloudronManaged label to containers managed by cloudron
2018-11-10 19:00:03 -08:00
Girish Ramakrishnan
6ec36c9605
Do not crash if platform.start fails
...
With this change, the box code always starts up even if nginx fails,
docker fails etc.
2018-11-10 18:34:37 -08:00
Girish Ramakrishnan
bd2b03876b
Add users.isActivated
...
it's easier to see where we do activation checks
2018-11-10 18:09:00 -08:00
Girish Ramakrishnan
0c5cb9c98f
Remove settings.initialize/uninitialize
...
this simplifies the startup sequence
2018-11-10 14:55:23 -08:00
Girish Ramakrishnan
eddcc6fe27
Fix another test
2018-11-10 01:35:49 -08:00
Girish Ramakrishnan
953b55439c
eventlog: add domain events
2018-11-10 01:25:34 -08:00
Girish Ramakrishnan
e526890e3e
Add a separate disabled event
2018-11-10 00:35:56 -08:00
Girish Ramakrishnan
71e1e2468b
fix test
2018-11-10 00:22:38 -08:00
Girish Ramakrishnan
fcb7c3e82a
fix casing
2018-11-10 00:18:56 -08:00
Girish Ramakrishnan
0d65635bc4
eventlog: add email enabled/disabled events
2018-11-10 00:17:38 -08:00
Girish Ramakrishnan
4aa76a859f
eventlog: mail list add,remove events
2018-11-10 00:17:25 -08:00
Girish Ramakrishnan
003789265c
eventlog: mailbox add,remove events
2018-11-10 00:06:02 -08:00
Girish Ramakrishnan
1bb3b5e51b
addons: refactor code into dumpPath
2018-11-09 12:02:38 -08:00
Girish Ramakrishnan
032ac3ed97
cloudron-provision args
...
zone -> domain
appstore configs -> license
+backup_config
cloudflare* -> dns_config
2018-11-08 21:44:56 -08:00
Girish Ramakrishnan
edc2c25bda
Add libpython
...
On ubuntu 18.04, on hetzner and vultr, collectd does not start without
this.
2018-11-08 16:11:01 -08:00
Girish Ramakrishnan
2fa44879e9
cloudron-support: Add more services
2018-11-08 16:05:37 -08:00
Girish Ramakrishnan
7e27413b29
18.04: Add sudo
...
This was hit on scaleway
2018-11-08 14:47:49 -08:00
Johannes Zellner
77508d180e
Add changes for 3.3.1
2018-11-08 21:51:07 +01:00
Johannes Zellner
111f5a7c99
Update postgres addon to 2.0.2
2018-11-08 20:51:14 +01:00
Johannes Zellner
d2182559e8
change the ssh user detection to rely on SUDO_USER
2018-11-08 19:39:25 +01:00
Johannes Zellner
9fe91cf9cb
Log if we receive SIGINT or SIGTERM
2018-11-08 14:35:22 +01:00
Girish Ramakrishnan
de000648dc
do not chown redis during updates
2018-11-07 15:21:12 -08:00
Girish Ramakrishnan
0958a57c45
Fix path to conf file
2018-11-07 10:37:00 -08:00
Johannes Zellner
9aae0d9d4c
Add initial version of the cloudron-support tool
2018-11-07 17:37:16 +01:00
Girish Ramakrishnan
ccfd385beb
Fix waitForDns
2018-11-05 23:00:55 -08:00
Girish Ramakrishnan
ee6cca5cdf
Make cert an object
2018-11-05 22:39:06 -08:00
Girish Ramakrishnan
0093e840c6
Fix various typos
2018-11-05 21:26:53 -08:00
Girish Ramakrishnan
7c6e5ac32b
newline replace certs for json databag
2018-11-05 21:23:22 -08:00
Girish Ramakrishnan
15039bf293
Fix validation of fallback certs
2018-11-05 21:13:34 -08:00
Girish Ramakrishnan
89b6cd9d1f
cloudron-provision: set tls cert and key
2018-11-05 20:59:29 -08:00
Girish Ramakrishnan
60992405d5
generate cert with correct CN
2018-11-05 20:48:28 -08:00
Girish Ramakrishnan
d96b1cc864
generate fallback cert correctly for hyphenated domains
2018-11-05 19:53:50 -08:00
Girish Ramakrishnan
5165cd8f40
Use debug
2018-11-05 17:36:23 -08:00
Girish Ramakrishnan
9f8b47daa9
domains.fqdn only takes 2 args
2018-11-05 17:35:50 -08:00
Girish Ramakrishnan
9372afad9a
Fix debug
2018-11-05 17:12:04 -08:00
Girish Ramakrishnan
eef6056174
bump timeout of setup route
2018-11-05 16:55:46 -08:00
Girish Ramakrishnan
a1dfc758c6
Fix debug
2018-11-02 17:10:16 -07:00
Girish Ramakrishnan
8caf5cc741
typo
2018-11-02 14:50:45 -07:00
Girish Ramakrishnan
7739f8f174
Set container hostname to something constant
...
currently, it defaults to the container name. apps might use this hostname
for communication with child containers. but this breaks if app gets updated
and gets a new hostname
2018-11-02 14:47:00 -07:00
Girish Ramakrishnan
0618431be7
print the cloudronId on registration
2018-11-01 23:10:26 -07:00
Girish Ramakrishnan
609c4388f0
cloudron-provision: take appstore user id and token
2018-11-01 23:08:26 -07:00
Girish Ramakrishnan
28243956db
Add cert and appstore info to provision script
2018-11-01 22:38:21 -07:00
Girish Ramakrishnan
ff3a4f65dd
autoprovision: register cloudron when provided appstore config
2018-11-01 22:28:51 -07:00
Girish Ramakrishnan
44da148fd1
remove collectd directory again
2018-11-01 20:33:40 -07:00
Girish Ramakrishnan
0b37479838
Add provision script
2018-11-01 20:17:15 -07:00
Girish Ramakrishnan
c09aa2a498
Make LE work with hyphenated domains
2018-11-01 19:08:05 -07:00
Girish Ramakrishnan
00d032616f
More changes
2018-11-01 13:55:27 -07:00
Johannes Zellner
041285b187
Add dynamic dns settings routes
2018-10-31 16:02:51 +01:00
Johannes Zellner
fa9aa50fdf
support --output again in createReleaseTarball script for hotfix to work
...
This avoids having to calculate the output filename with revisions and
exact format in the cli tool.
2018-10-31 08:54:24 +01:00
Girish Ramakrishnan
e0b1ebba92
verifyOperator -> isUnmanaged
2018-10-30 21:17:34 -07:00
Girish Ramakrishnan
581bbafa06
registry_config route does not require operator check
2018-10-30 20:54:35 -07:00
Girish Ramakrishnan
ce93518c0a
allow hyphenated subdomains on all editions
2018-10-30 20:35:35 -07:00
Girish Ramakrishnan
0ba0b009c7
make the domain locking code more clear
2018-10-30 20:35:32 -07:00
Girish Ramakrishnan
eed8f109bc
operator check is now directly based on edition type
2018-10-30 20:26:22 -07:00
Girish Ramakrishnan
63946509b3
Get autoconf data as separate object
...
This was done because restore API already takes a backupConfig.
So, it's best to split up the primary parameters and the autoconf
2018-10-30 19:27:14 -07:00
Girish Ramakrishnan
668ff99450
Add support for restricted certs as part of dns setup
2018-10-30 18:15:26 -07:00
Girish Ramakrishnan
03984a811f
dnsSetup -> setup
...
It now takes a dnsConfig object. It will end up taking other config
objects for provisioning.
2018-10-30 14:01:02 -07:00
Girish Ramakrishnan
7c733ae150
Fix error handling
2018-10-29 20:19:48 -07:00
Girish Ramakrishnan
9fe02d3818
lint
2018-10-29 20:19:42 -07:00
Girish Ramakrishnan
f10b80d90d
Make apps test great again
2018-10-29 12:49:41 -07:00
Girish Ramakrishnan
caf1d18250
Add flag for tests to check if platform is ready
2018-10-29 12:46:02 -07:00
Girish Ramakrishnan
c700635656
certs: make renew switch to fallback certs
2018-10-28 19:03:57 -07:00
Girish Ramakrishnan
d6d2ee7d19
Add version to release filename
...
This is required because we have to patch the VERSION file inside
the tarball for 'rerelease'. Which then requires release tarballs
to have a unique name.
The version is at the end because there is code in release script
which relies on the box sha at the front
2018-10-28 16:16:51 -07:00
Girish Ramakrishnan
f5a5da6731
3.0 changes
2018-10-28 14:43:20 -07:00
Girish Ramakrishnan
8f2ce5f4f8
cloudron-setup: Fixup script to support pre-3.2 versions
...
This is required for e2e and restore of old cloudrons
2018-10-28 14:21:51 -07:00
Girish Ramakrishnan
62619d21c0
Handle 409 in container exec
2018-10-27 14:15:52 -07:00
Girish Ramakrishnan
bf7707b70b
cleanup old base image as well
2018-10-27 13:10:02 -07:00
Girish Ramakrishnan
698f3c833b
cloudflare: Fix crash
...
{ success: false,
errors:
[ { code: 9103, message: 'Unknown X-Auth-Key or X-Auth-Email' } ],
messages: [],
result: null }
/home/yellowtent/box/src/dns/cloudflare.js:36
} else if (error.error_chain[0] && error.error_chain[0].message) {
^
TypeError: Cannot read property '0' of undefined
at translateRequestError (/home/yellowtent/box/src/dns/cloudflare.js:36:37)
at /home/yellowtent/box/src/dns/cloudflare.js:57:83
2018-10-27 12:51:24 -07:00
Girish Ramakrishnan
5996a107ed
Return a bogus version to fix the tests
2018-10-27 12:26:39 -07:00
Girish Ramakrishnan
0307dc5145
Carefully prune addon images
...
With the docker image prune we ended up removing the redis image
which was ununsed...
This also prevents us from removing images of some app using the
docker addon
2018-10-27 12:01:22 -07:00
Girish Ramakrishnan
f9aa09f717
typo
2018-10-27 11:28:30 -07:00
Girish Ramakrishnan
2688a57d46
Move version out of config.js
...
We now store this in a file called VERSION inside the tarball
itself.
2018-10-27 11:13:36 -07:00
Girish Ramakrishnan
7ad069fd94
Make config.setVersion hidden
2018-10-27 10:44:21 -07:00
Girish Ramakrishnan
06d043dac4
Make baseImage an array of objects
2018-10-26 16:58:18 -07:00
Girish Ramakrishnan
94be6a9e3c
Pull images in installer.sh
...
This way if the network is not working, then the update will just
fail and use the old version
This also tags the addon images with the semver properly
2018-10-26 16:35:18 -07:00
Girish Ramakrishnan
97567b7d2a
Do not re-create cloudron.conf
...
All this argument passing going around is just needless
* boxdata/version file is not used
* dashboard config.json is also unused
2018-10-26 15:29:14 -07:00
Girish Ramakrishnan
95d691154d
scripts/cloudron-setup: --data-dir is obsolete
2018-10-26 10:59:06 -07:00
Girish Ramakrishnan
9ac9b49522
Move ntp setup to base image init script
2018-10-26 10:57:19 -07:00
Girish Ramakrishnan
6a887c2bba
SSH port configuration will be done in appstore
2018-10-26 10:13:35 -07:00
Girish Ramakrishnan
0250508a89
Add comment for installer.sh and start.sh
2018-10-26 10:13:35 -07:00
Girish Ramakrishnan
f97973626c
start.sh: curl is not used
...
we will move network stuff to installer.sh anyways
2018-10-26 09:55:13 -07:00
Girish Ramakrishnan
5cdf9d1c6f
Move host configuration to setup script since Cloudron does not rely on it
...
Also hostname cannot be set here since admin_fqdn is not available on
initial setup
2018-10-25 18:49:05 -07:00
Girish Ramakrishnan
009e888686
remove dead migration of nginx certs
2018-10-25 18:43:24 -07:00
Girish Ramakrishnan
e3478c9d13
Use docker cli to cleanup old images
2018-10-25 16:33:12 -07:00
Girish Ramakrishnan
2e3ddba7e5
cloudron-setup: Log arguments later
2018-10-25 11:31:39 -07:00
Girish Ramakrishnan
81ac44b7da
Fix failing test
2018-10-25 00:01:32 -07:00
Girish Ramakrishnan
ffe50ff977
detect change in provider type and renew accordingly
2018-10-24 20:40:05 -07:00
Girish Ramakrishnan
73faba3c28
certs: Fix the config filename of admin domain
2018-10-24 20:32:03 -07:00
Girish Ramakrishnan
c1db52927e
Add a debug
2018-10-24 20:32:03 -07:00
Girish Ramakrishnan
e7120bd086
Move renewal logic to domain model code
2018-10-24 20:32:03 -07:00
Girish Ramakrishnan
91ad94f978
No more prereleases
2018-10-24 15:28:41 -07:00
Girish Ramakrishnan
ee517da4f4
Add route to renew certs of a domain
2018-10-24 13:09:41 -07:00
Girish Ramakrishnan
0d04213199
Ensure app can be uninstalled even if image format is invalid
2018-10-24 13:09:41 -07:00
Johannes Zellner
114f6c596d
Use new mongodb addon with fixed return paths
2018-10-24 10:45:30 +02:00
Johannes Zellner
5dadd083be
Use new mysql addon with fixed db import
2018-10-23 15:59:40 +02:00
Johannes Zellner
28d61a4d70
Use postgres addon with fixed restore
2018-10-23 13:05:39 +02:00
Girish Ramakrishnan
a49969f2be
Move apphealthmonitor into a cron job
...
This makes sure that it only runs post activation
See also a9c1af50f7
2018-10-22 20:08:49 -07:00
Girish Ramakrishnan
65eaf0792e
Remove any appdata dir symlinks correctly
2018-10-18 19:58:37 -07:00
Girish Ramakrishnan
6153f45fd9
Remove legacy redis directory
2018-10-18 19:30:10 -07:00
Girish Ramakrishnan
d5ffb8b118
Fix appstore casing
...
The API on cloudron.io wants appstore and not appStore
2018-10-18 14:21:09 -07:00
Girish Ramakrishnan
bc283f1485
Validate env vars
2018-10-18 13:40:26 -07:00
Girish Ramakrishnan
2d427a86f0
Send appstoreId as part of purchase/unpurchase
2018-10-18 11:01:32 -07:00
Girish Ramakrishnan
2a6edd53b6
Update postgresql (clone/restore fix)
2018-10-17 18:49:35 -07:00
Girish Ramakrishnan
cf8bb3da9e
Update mysql (prefix backup and restore)
2018-10-17 18:40:48 -07:00
Girish Ramakrishnan
7c1325cb34
Update mail addon (gnutls-bin)
2018-10-17 14:18:54 -07:00
Girish Ramakrishnan
f4ad912cf3
redis: do not import if not upgrading
...
There will be no backup to import from
2018-10-17 10:55:11 -07:00
Girish Ramakrishnan
78936a35c5
redis: Check the new dump location first
...
we do not cleanup the old dumps (yet). this then means that we will
constantly be importing the older dump.
2018-10-17 10:33:41 -07:00
Johannes Zellner
4ab2f8c153
Fix typo
2018-10-17 18:20:39 +02:00
Girish Ramakrishnan
858f03e02d
Update redis addon container
...
Fixes #223
2018-10-16 15:40:40 -07:00
Girish Ramakrishnan
045cfeeb0d
Move the addon startup logic to addons.js
...
Moved the graphite logic to new graphs.js
The settings code now does change notification itself. Over time,
it makes sense to just having settings code do this for everything
and not have this change listener logic. This lets us:
* Maybe the settings can only return based on final handler result
* All dependant modules otherwise have to "init"ed to listen on startup
* Easier to test those handlers without having to actually change the
setting (since they will now be in "exports" naturally)
Also, maybe someday with this abstraction we can allow apps to have their
own isolated databases etc
2018-10-16 14:40:29 -07:00
Girish Ramakrishnan
bbc121399e
Stop containers by name before killing them outright
2018-10-16 13:24:11 -07:00
Girish Ramakrishnan
03d513a3b1
Remove infra upgrade logic
...
We now upgrade using the dumps of the last backups which are in the
filesystem itself instead of downloading the entire app from the
backup all over.
2018-10-16 11:06:01 -07:00
Girish Ramakrishnan
539447409e
Fix mongodb addon digest
2018-10-16 10:06:04 -07:00
Johannes Zellner
4525c6f39e
Revert base image change
2018-10-16 15:10:11 +02:00
Girish Ramakrishnan
a6618c5813
Update mongodb (healthcheck)
2018-10-16 00:23:18 -07:00
Girish Ramakrishnan
5c1a0c1305
Check the status field for healthcheck
2018-10-16 00:21:48 -07:00
Girish Ramakrishnan
62c9fc90f9
Fix crash when oldConfig is null
2018-10-15 16:29:30 -07:00
Girish Ramakrishnan
2c60614d4b
remove special rm script for redis
2018-10-15 16:14:16 -07:00
Girish Ramakrishnan
816fa94555
Upgrade the db addons using dumps when major version changes
2018-10-15 16:14:13 -07:00
Girish Ramakrishnan
bbdafc6a2f
pass existing infra information to start funcs
2018-10-15 14:09:13 -07:00
Girish Ramakrishnan
5333db5239
Add method to import database from dumps
2018-10-15 10:15:47 -07:00
Girish Ramakrishnan
6254fe196a
Install resolvconf
...
When we disable systemd-resolved, the system goes into a state
where no DNS queries work anymore. Even if unbound is installed
right after. Installing 'resolvconf' fixes this.
There is competition even for this tiny package! (openresolv)
2018-10-15 08:58:37 -07:00
Girish Ramakrishnan
79d3713a4b
All apps are being updated already to 1.0.0
2018-10-14 16:31:49 -07:00
Girish Ramakrishnan
f1da537c80
wait for addons to start using heathcheck routes
2018-10-14 13:26:01 -07:00
Girish Ramakrishnan
b19fc23cb2
Fix the tests
2018-10-12 17:05:31 -07:00
Girish Ramakrishnan
5366524dc0
Add route to set/unset the registry config
2018-10-12 17:04:04 -07:00
Girish Ramakrishnan
f86d4f0755
Update manifestformat
2018-10-12 16:13:28 -07:00
Girish Ramakrishnan
3ad495528f
whitespace
2018-10-11 16:18:38 -07:00
Girish Ramakrishnan
5bfb253869
Custom env vars for apps
...
Add a table and the install/configure routes. Initially, I thought
we can just keep the env vars in docker container but that doesn't
work since we create the container only later in apptask. And if the
container gets deleted we lose this information.
2018-10-11 16:17:18 -07:00
Girish Ramakrishnan
630fbb373c
healthCheckPath is optional for non-appstore apps
2018-10-11 13:20:31 -07:00
Girish Ramakrishnan
8d09ec5ca6
Disable systemd-resolved on 18.04
2018-10-08 20:09:45 -07:00
Girish Ramakrishnan
23af20ddc9
Update graphite addon
2018-10-08 14:18:13 -07:00
Girish Ramakrishnan
86441bfeb6
Update mail container with latest base image
2018-10-08 10:08:05 -07:00
Johannes Zellner
be51daabf0
Use restified addons based on new base image as v2.0.0
2018-10-08 13:41:39 +02:00
Girish Ramakrishnan
86e8db435a
Add new 18.04 base image
2018-10-05 14:11:31 -07:00
Girish Ramakrishnan
d8401f9ef9
Add 18.04 to changelog
2018-10-05 10:47:17 -07:00
Girish Ramakrishnan
64f98aca5a
18.04 support
2018-10-05 10:28:02 -07:00
Johannes Zellner
f660947594
Do not silently retry on dns upsert in apptask
2018-10-05 17:07:34 +02:00
Girish Ramakrishnan
576e22e1a0
Update hash of mail container
2018-10-05 08:00:27 -07:00
Johannes Zellner
e004a00073
Add some 3.3.0 changes
2018-10-05 16:24:32 +02:00
Johannes Zellner
c0fdac5b34
The additional fetch wont hurt but makes it more readable
2018-10-05 16:21:06 +02:00
Johannes Zellner
a2a035235e
Use postgres addon 2.0.2
2018-10-05 16:07:22 +02:00
Girish Ramakrishnan
85ac2bbe52
Update 3.2.2 changelog
...
(cherry picked from commit e67fc64e65 )
2018-10-04 21:21:04 -07:00
Girish Ramakrishnan
c26e9bbef7
Fix debugs to match function name
2018-10-04 10:29:40 -07:00
Girish Ramakrishnan
3e85029ea1
Add 3.2.1 changes (updated dashboard)
...
(cherry picked from commit 0189539b27 )
2018-09-30 15:03:43 -07:00
Girish Ramakrishnan
8dd3c55ecf
Use async unlink
2018-09-28 17:05:53 -07:00
Girish Ramakrishnan
1ee902a541
typoe
2018-09-28 17:01:56 -07:00
Girish Ramakrishnan
55cbe46c7c
godaddy: empty the text record for del
2018-09-28 14:35:57 -07:00
Girish Ramakrishnan
5a8a4e7907
acme2: Display any errors when cleaning up challenge
2018-09-28 14:33:08 -07:00
Girish Ramakrishnan
3b5be641f0
acme2: fix challenge subdomain calculation in cleanup
2018-09-28 13:24:34 -07:00
Girish Ramakrishnan
a34fe120fb
TXT values must be quoted
2018-09-27 20:17:39 -07:00
Girish Ramakrishnan
b9918cb6fb
Fix changelog ordering
2018-09-26 22:34:14 -07:00
Girish Ramakrishnan
21a86175b4
Use the local branch in hotfix
...
(cherry picked from commit ffb02a3ba8 )
2018-09-26 22:30:23 -07:00
Girish Ramakrishnan
84150f53e7
Revert "Do not require dashboard remote branch with the same name for hotfix"
...
This reverts commit b2469de9b0 .
This affects the release scripts and always creates dashboard tarball from master
2018-09-26 22:03:38 -07:00
Girish Ramakrishnan
42c1f8bb04
start most cron jobs only after activation
...
Importing the db might take some time. If a cron runs in the middle,
it crashes.
TypeError: Cannot read property 'domain' of undefined
at Object.fqdn (/home/yellowtent/box/src/domains.js:126:111)
at /home/yellowtent/box/src/apps.js:460:36
at /home/yellowtent/box/node_modules/async/dist/async.js:3110:16
at replenish (/home/yellowtent/box/node_modules/async/dist/async.js:1011:17)
at /home/yellowtent/box/node_modules/async/dist/async.js:1016:9
at eachLimit$1 (/home/yellowtent/box/node_modules/async/dist/async.js:3196:24)
at Object.<anonymous> (/home/yellowtent/box/node_modules/async/dist/async.js:1046:16)
at /home/yellowtent/box/src/apps.js:458:19
at /home/yellowtent/box/src/appdb.js:232:13
at Query.args.(anonymous function) [as _callback] (/home/yellowtent/box/src/database.js
2018-09-26 14:56:45 -07:00
Girish Ramakrishnan
a504759b95
more debugs and comments
2018-09-26 12:39:33 -07:00
Girish Ramakrishnan
af763eadd4
Fix perms issue when restoring
...
Fixes #536
2018-09-26 11:59:19 -07:00
Girish Ramakrishnan
818735e2c8
Fix import of older redis backups
2018-09-26 09:48:18 -07:00
Girish Ramakrishnan
aefa8ed0d6
Add .eslintrc
...
Looks like only this supports async/await nicely
2018-09-25 18:31:15 -07:00
Girish Ramakrishnan
78d3aafd7a
Fix case where mailbox already exists
2018-09-25 17:04:17 -07:00
Girish Ramakrishnan
1fed7335cf
Update the db addons
2018-09-25 14:24:32 -07:00
Girish Ramakrishnan
34626abdcf
reset mailboxname to .app when empty
...
fixes #587
2018-09-25 11:26:38 -07:00
Girish Ramakrishnan
477f8a3ca1
mysql: Add message to error string
2018-09-24 16:45:08 -07:00
Girish Ramakrishnan
bd7bd2adae
3.1.4 changes
2018-09-24 09:29:58 -07:00
Girish Ramakrishnan
d47fd34f66
Use alternateDomain fqdn for ensuring certificate
...
this makes it work for hyphenated domains as well
2018-09-22 16:26:28 -07:00
Girish Ramakrishnan
f6ceee7f50
list domains only once
2018-09-22 16:19:12 -07:00
Girish Ramakrishnan
a08f05fb44
Attach fqdn to all the alternateDomains
2018-09-22 15:11:01 -07:00
Girish Ramakrishnan
6214ba7b31
allow hyphenated subdomains in caas
2018-09-22 12:37:38 -07:00
Girish Ramakrishnan
e69004548b
waitForDnsRecord: use subdomain as argument
...
this allows to hyphenate the subdomain correctly in all places
the original issue was that altDomain in caas was not working
because waitForDnsRecord was not hyphenating.
2018-09-22 11:26:33 -07:00
Girish Ramakrishnan
c8216d84ac
register alt domains in install route
2018-09-22 10:09:46 -07:00
Girish Ramakrishnan
5cfc3b22fa
Add redis healthcheck
2018-09-20 12:46:08 -07:00
Girish Ramakrishnan
a755aecfc5
typo
2018-09-19 17:25:40 -07:00
Girish Ramakrishnan
64e34e13be
display error messages
2018-09-19 15:55:42 -07:00
Girish Ramakrishnan
e455ea987a
postgresql: fix various issues during backup/restore/clear
2018-09-19 15:35:47 -07:00
Girish Ramakrishnan
bf87d3fc8b
Update redis sha256
2018-09-19 15:11:55 -07:00
Girish Ramakrishnan
cfdb939bff
redis: various fixes
2018-09-19 14:29:27 -07:00
Girish Ramakrishnan
16fab63442
Update mysql for quoting fix
2018-09-19 12:26:18 -07:00
Johannes Zellner
fe14bcf155
Use updated mysql addon
2018-09-19 12:48:44 +02:00
Girish Ramakrishnan
9732b899b0
redis: backup returns 200 now
2018-09-18 14:11:42 -07:00
Girish Ramakrishnan
23b9854c57
Use REST API instead of volumes for redis
2018-09-18 13:09:24 -07:00
Girish Ramakrishnan
0b3f65c70e
postgres: restore need not call setup anymore
2018-09-18 12:29:40 -07:00
Girish Ramakrishnan
83d56f79c6
lint
2018-09-18 12:22:19 -07:00
Johannes Zellner
8632939c6e
Use restified mysql addon
2018-09-18 20:25:07 +02:00
Johannes Zellner
93cdba8137
Use post instead of delete for postgres clear
2018-09-18 20:23:19 +02:00
Johannes Zellner
2686a1b9e3
Fixup copy and paste errors and linter warnings
2018-09-18 20:20:27 +02:00
Johannes Zellner
eec1fe1272
Start mysql addon with env vars instead of vars.sh file
2018-09-18 20:18:39 +02:00
Johannes Zellner
f7f26fdf78
Fix logging in getAddonDetails()
2018-09-18 20:18:39 +02:00
Johannes Zellner
d980d44833
Talk to the mysql addon via rest apis
2018-09-18 20:18:39 +02:00
Girish Ramakrishnan
af4b2b075e
redis: fix clear return code
2018-09-17 20:44:13 -07:00
Girish Ramakrishnan
3fcf6aa339
Add a timeout to wait for redis to start
2018-09-17 20:40:07 -07:00
Girish Ramakrishnan
1b205ac107
postgresql: fix clear route to have username and remove extra }
2018-09-17 19:53:12 -07:00
Girish Ramakrishnan
bcee0aa2ad
Update postgresql (reset root password fix)
2018-09-17 19:22:27 -07:00
Girish Ramakrishnan
e2bf52b69d
postgresql: Add missing db prefix in routes
2018-09-17 18:11:38 -07:00
Girish Ramakrishnan
3c6dffbbc7
Remove old docker images correctly
...
Old images had no sha256, so it prints "<none>". These images
have to be accessed by tag which uses the ":tag" format whereas
the sha images use the "@sha" format
2018-09-17 16:39:31 -07:00
Girish Ramakrishnan
691b876d61
Update postgresql image (re-setup fix)
2018-09-17 16:25:17 -07:00
Girish Ramakrishnan
ed14115ff1
Fix new account return value
...
https://tools.ietf.org/html/draft-ietf-acme-acme-07#section-7.3
2018-09-17 15:30:16 -07:00
Girish Ramakrishnan
6d9c6ffba3
acme2: register new account returns 201
2018-09-17 15:19:19 -07:00
Johannes Zellner
b8dd01d502
Bump postgres addon image again with latest fixes
2018-09-17 15:56:02 +02:00
Johannes Zellner
7e16b96abe
Use updated postgres addon
2018-09-17 12:54:05 +02:00
Johannes Zellner
705d0ba7f9
Use restified postgresql addon
2018-09-16 22:56:26 +02:00
Girish Ramakrishnan
306c80dd93
Fix addons.js with the new env var names
2018-09-15 20:38:18 -07:00
Girish Ramakrishnan
c8ed1d950b
Update mongodb addon (restore does not clear anymore)
2018-09-15 20:29:04 -07:00
Girish Ramakrishnan
705bf3db98
Use only CLOUDRON_* prefixed vars (we reserve these)
2018-09-15 20:15:58 -07:00
Girish Ramakrishnan
e2b388f721
Update redis addon that has clear route
2018-09-15 20:14:16 -07:00
Girish Ramakrishnan
3f34734933
withFileTypes is only available on node 10
2018-09-15 18:47:34 -07:00
Girish Ramakrishnan
391ee00db8
Fix cleanup of old images
2018-09-15 18:41:06 -07:00
Girish Ramakrishnan
64a7b80395
Fix issue deleting app dir during restore
...
During restore, only the superfluous addons are teardown. Rest of
the addons are kept as-is. This is done to preserve the addon
configuration across restores (thus preserving db passwords).
We then rely on the restoreApp logic to call restore in each addon.
Each restore currently setup, clear and them imports the backup.
With the volume changes, we have moved volume create/delete to the
localstorage addon. Currently, the localstorage addon has no concept of restore
because the backup download extracts it directly into the volume.
Because of the above, during the restore code path, we don't teardown
the localstorage addon and thus files are left behind in appid/data/. This
prevents deleteAppDir() from removing the appid/ directory.
The fix is to add a new 'clear' command to addons. Before restore, we
clear the addons.
2018-09-15 17:35:47 -07:00
Girish Ramakrishnan
46a00c839b
rename create/deleteVolume to avoid confusion
2018-09-15 15:30:26 -07:00
Girish Ramakrishnan
9f6621434f
Use sha256 to accidentally prevent overwritten tags
2018-09-14 20:20:46 -07:00
Johannes Zellner
3963eb687f
Use the sudo script for app volume
2018-09-14 14:37:20 +02:00
Johannes Zellner
56cd97147a
Unify the code to get addon container ip and token
2018-09-14 13:26:56 +02:00
Johannes Zellner
614b3ed5d1
Remove unused variable
2018-09-14 13:19:47 +02:00
Johannes Zellner
9f622c5e65
Do not store the cloudron redis service token in the addon env blob
2018-09-14 13:19:33 +02:00
Girish Ramakrishnan
4f6a467181
bump minor version to make apps reconfigure themselves
...
this is because the container configuration has changed
(we create volume)
2018-09-13 15:47:08 -07:00
Girish Ramakrishnan
a46e208c63
Use docker volumes instead of bind mount for app data
2018-09-13 15:35:41 -07:00
Johannes Zellner
a0fd60408b
Use https with selfsigned certs for addon service calls
2018-09-13 21:37:55 +02:00
Johannes Zellner
ffbbba938a
Replace superagent with request for talking to addons
2018-09-13 12:54:33 +02:00
Johannes Zellner
a222b3ed58
Use new restified mongodb and redis addons
2018-09-13 12:54:33 +02:00
Girish Ramakrishnan
6ba574432a
calculate subdomain correctly for non-wildcard domains
2018-09-12 15:55:20 -07:00
Girish Ramakrishnan
96075c7c20
Fix double callback
2018-09-12 14:43:15 -07:00
Girish Ramakrishnan
64665542bc
select app's cert based on domain's wildcard flag
...
this also removes the confusing type field in the bundle. we instead
check the current nginx config to see what cert is in use.
2018-09-12 14:22:54 -07:00
Girish Ramakrishnan
54d2a4f17b
rework args to ensureCertificate
2018-09-12 12:50:04 -07:00
Girish Ramakrishnan
1d829c4af2
Allow wildcard only with programmable DNS backend
2018-09-12 12:36:13 -07:00
Girish Ramakrishnan
dc4dc05628
Fixup changes file
2018-09-12 10:00:16 -07:00
Johannes Zellner
b2469de9b0
Do not require dashboard remote branch with the same name for hotfix
2018-09-12 12:56:24 +02:00
Johannes Zellner
812d3576a9
Use mongodb rest api for backup and restore
2018-09-12 12:56:24 +02:00
Johannes Zellner
6012eb7898
docker inspect and the rest api have a different output format
2018-09-12 12:56:24 +02:00
Johannes Zellner
a591b5910e
Restify mongodb addon
2018-09-12 12:56:24 +02:00
Johannes Zellner
1e084e98d1
Change mongodb addon from env vars file to passing directly
2018-09-12 12:56:24 +02:00
Johannes Zellner
b4224a7f8d
Call the rest route on redis backup
...
The addons are an array of key/value
2018-09-12 12:56:24 +02:00
Johannes Zellner
ab8a010b94
Redis does not use the vars.sh file anymore
2018-09-12 12:56:24 +02:00
Johannes Zellner
4c164c17cf
Support internal only addon configs with redis persistent token
2018-09-12 12:56:24 +02:00
Johannes Zellner
650f181a07
Provision redis addon with new set of required env vars
2018-09-12 12:56:24 +02:00
Girish Ramakrishnan
97ab521038
make ensureCertificate check any wildcard cert
2018-09-11 23:47:23 -07:00
Girish Ramakrishnan
c138c4bb5f
acme2: implement wildcard certs
2018-09-11 23:15:50 -07:00
Girish Ramakrishnan
1067ff882a
Move type validation to routes logic
2018-09-11 22:17:40 -07:00
Girish Ramakrishnan
b6ad6e121b
refactor to validateTlsConfig
2018-09-11 21:53:18 -07:00
Girish Ramakrishnan
a756345138
consolidate hyphenatedSubdomains handling
2018-09-11 21:41:50 -07:00
Girish Ramakrishnan
35f69cfea9
acme2: wait for dns
2018-09-11 19:41:41 -07:00
Girish Ramakrishnan
3f0bc6165b
Enhance waitForDns to support TXT records
2018-09-11 19:41:38 -07:00
Girish Ramakrishnan
d0dde04695
acme2: dns authorization
2018-09-10 21:46:53 -07:00
Girish Ramakrishnan
2f38a4018c
pass domain arg to getCertificate API
2018-09-10 20:48:47 -07:00
Girish Ramakrishnan
2c76716bc7
rename func
2018-09-10 20:35:48 -07:00
Girish Ramakrishnan
f38b87c660
lint
2018-09-10 20:30:38 -07:00
Girish Ramakrishnan
9bac2acc37
Fix callback use
2018-09-10 17:39:13 -07:00
Girish Ramakrishnan
68536b6d7d
acme2 implementation
2018-09-10 16:26:24 -07:00
Girish Ramakrishnan
1d0a52404a
Fix tests
2018-09-10 13:45:05 -07:00
Girish Ramakrishnan
017460b497
acme -> acme1
2018-09-10 10:57:48 -07:00
Girish Ramakrishnan
8efd496579
storage: add access denied function (unused)
2018-09-10 10:41:08 -07:00
Girish Ramakrishnan
229fe0f66f
Add 3.1.4 changes
2018-09-10 09:28:08 -07:00
Girish Ramakrishnan
efa36ab161
cloudflare: Add the chain message
2018-09-07 11:46:10 -07:00
Girish Ramakrishnan
191c85d01f
cloudflare: priority is now an integer
2018-09-07 11:44:31 -07:00
Girish Ramakrishnan
88330ab415
Return 424 for external errors
2018-09-07 11:27:19 -07:00
Girish Ramakrishnan
76f5b22c07
dns: implement wildcard dns validation
2018-09-06 20:45:10 -07:00
Girish Ramakrishnan
0639ca1594
Make wildcard a separate provider
...
this is required because the config object is not returned for
locked domains and the UI display for the provider field is then
wrong.
2018-09-06 20:09:08 -07:00
Girish Ramakrishnan
e620a26c04
typo
2018-09-06 20:05:08 -07:00
Girish Ramakrishnan
867c3595b2
more changes
2018-09-06 13:18:26 -07:00
Girish Ramakrishnan
df66d77a68
cloudflare: Fix crash when there is an external error updating dns records
2018-09-06 12:26:11 -07:00
Girish Ramakrishnan
5e919b90f5
Better fix for grub
2018-09-06 11:56:50 -07:00
Girish Ramakrishnan
428269f503
3.1.3 changes
2018-09-06 00:41:45 -07:00
Girish Ramakrishnan
b03e26a510
Fix typo
2018-09-06 00:41:37 -07:00
Girish Ramakrishnan
1e15b63a4a
prevent deletion of mail domain as well
2018-09-06 00:16:12 -07:00
Girish Ramakrishnan
8d5e70f6aa
lock the admin domain based on the edition
2018-09-06 00:15:45 -07:00
Girish Ramakrishnan
91a1bc7a01
move verifyOperator to users routes
2018-09-06 00:10:09 -07:00
Girish Ramakrishnan
0e3f9c9569
Move verifyAppOwnership to app route
2018-09-06 00:09:42 -07:00
Girish Ramakrishnan
2ad0a57fc1
Typo
2018-09-05 23:59:40 -07:00
Girish Ramakrishnan
def3521ee1
Do not allow admin domain to be deleted
2018-09-05 17:12:02 -07:00
Girish Ramakrishnan
3d004b3dcc
Disable various server/operator routes based on edition
...
The initial idea was to put an owner flag but this means that the
owner will be visible inside apps.
2018-09-05 15:31:58 -07:00
Girish Ramakrishnan
0439bd8869
move addSpacesSuffix to model logic
2018-09-04 16:37:08 -07:00
Girish Ramakrishnan
10b4043358
Add alternateDomains to app install route
2018-09-04 16:27:35 -07:00
Girish Ramakrishnan
ac3b0f0082
Add spaces suffix for alternate domains
2018-09-04 14:12:50 -07:00
Girish Ramakrishnan
d49a1dea7a
Fix usage of domains.fqdn
2018-09-04 11:35:01 -07:00
Girish Ramakrishnan
ec9c96da6f
Fix comments
2018-09-04 10:48:54 -07:00
Johannes Zellner
2de630e491
Put the app owner also into ldap groups
...
Fixes #585
2018-09-03 17:14:11 +02:00
Johannes Zellner
3af358b9bc
List app owner as admins in ldap search
2018-09-03 16:08:05 +02:00
Johannes Zellner
b61478edc9
Attach req.app for further use in ldap routes
2018-09-03 15:38:50 +02:00
Johannes Zellner
b23afdd32d
Fix tests to match the adjusted purchase logic
2018-09-01 11:53:05 +02:00
Girish Ramakrishnan
43055da614
Add route to let admin set user password
2018-08-31 14:35:01 -07:00
Girish Ramakrishnan
2c3f1ab720
Fix the error messages
2018-08-31 14:06:06 -07:00
Johannes Zellner
35a31922a5
Always run all tests
2018-08-31 22:25:06 +02:00
Girish Ramakrishnan
bf432dc26f
Revert "Disable memory accounting setup"
...
This reverts commit ad22df6f71 .
This actually serves the purpose of enabling swap.
https://raw.githubusercontent.com/moby/moby/master/contrib/check-config.sh
2018-08-31 13:21:33 -07:00
Johannes Zellner
18cc93799e
Fully rely on the appstore during 'purchase' call
2018-08-31 10:53:35 +02:00
Girish Ramakrishnan
fc3bc48f47
Fix crash when location is not provided
2018-08-30 22:08:48 -07:00
Girish Ramakrishnan
fc96f59ecc
Add edition checks
2018-08-30 21:20:49 -07:00
Girish Ramakrishnan
534a00b3af
Disallow dot in location in hyphenatedSubdomains
2018-08-30 21:03:54 -07:00
Girish Ramakrishnan
619d1e44e5
Move validateHostname to domains code
2018-08-30 20:54:15 -07:00
Girish Ramakrishnan
068113bd5d
remove redundant domain arg to domains.fqdn
2018-08-30 19:57:12 -07:00
Girish Ramakrishnan
ca16072d90
hypenatedSubdomains: do not hyphenate txt dns records
2018-08-30 16:17:56 -07:00
Girish Ramakrishnan
6fac59cf9d
cloudron-setup: print before we shift all the args
2018-08-30 14:30:49 -07:00
Girish Ramakrishnan
f953cfc4d5
cloudron-setup: print the args to the log file
2018-08-30 14:06:25 -07:00
Johannes Zellner
7a1723d173
Fix app tests
2018-08-30 00:32:38 +02:00
Johannes Zellner
b6643518f6
Adjust apps test to how we check subscriptions
2018-08-29 23:57:59 +02:00
Johannes Zellner
91470156c9
Only remove all app container on uninstall
...
For update and configure, we do not want to purge potential docker addon
created ones. They are managed by the app itself.
2018-08-29 21:28:58 +02:00
Johannes Zellner
40c6ab5615
Remove unused require
2018-08-29 21:25:02 +02:00
Girish Ramakrishnan
6cc4e44f22
pass edition to update.sh
2018-08-28 22:14:27 -07:00
Girish Ramakrishnan
976cf1740e
Put edition in status route
2018-08-28 21:43:25 -07:00
Girish Ramakrishnan
22cdd3f55e
spaces: add username suffix to location
2018-08-28 20:27:17 -07:00
Girish Ramakrishnan
e0cd7999eb
Make spaces an edition instead of setting
2018-08-28 18:31:48 -07:00
Johannes Zellner
4f7242fa6a
add --edition option to cloudron-setup
2018-08-28 18:06:25 -07:00
Johannes Zellner
964da5ee52
Send the edition in the config route
2018-08-28 18:05:45 -07:00
Johannes Zellner
baa99d1a44
add edition property to cloudron.conf
2018-08-28 18:05:15 -07:00
Girish Ramakrishnan
6d1cb1bb14
Do not update grub packages
...
It looks on some VPS, the grub then asks the user to re-install
since the disk name has changed/moved (presumably because the
image was created on a server with a different disk name)
2018-08-28 14:33:07 -07:00
Girish Ramakrishnan
f7e6c5cd40
Add galaxygate as a provider
2018-08-28 12:25:16 -07:00
Girish Ramakrishnan
ad22df6f71
Disable memory accounting setup
...
Overall, this is outside the scope of Cloudron
2018-08-28 12:18:31 -07:00
Girish Ramakrishnan
8e572a7c23
Fix changelog
2018-08-27 16:05:01 -07:00
Girish Ramakrishnan
e49b57294d
Give optional name for tokens
2018-08-27 14:59:52 -07:00
Girish Ramakrishnan
badb6e4672
add note on clients.appId
2018-08-27 14:30:39 -07:00
Girish Ramakrishnan
d09ff985af
remove all user tokens when user is deleted
2018-08-27 14:05:22 -07:00
Girish Ramakrishnan
a3130c8aab
inviteLink is not available during user create anymore
2018-08-27 10:40:58 -07:00
Girish Ramakrishnan
0843d51c98
Check for existing port bindings in udpPorts
2018-08-26 17:50:17 -07:00
Girish Ramakrishnan
9a1b5dd5cc
Add 3.1.1 changelog
2018-08-25 18:32:02 -07:00
Girish Ramakrishnan
6f398144cb
validate hyphenatedSubdomain
2018-08-25 18:29:55 -07:00
Girish Ramakrishnan
d91df50b9f
caas: add hyphenateSubdomain property
2018-08-25 17:49:31 -07:00
Johannes Zellner
99ead48fd5
Add more changes
2018-08-25 11:14:14 +02:00
Johannes Zellner
922b6d2b18
Also renew alternate domain certificates
...
Part of #583
2018-08-25 11:04:53 +02:00
Girish Ramakrishnan
6a3b45223a
Better name for internal functions
2018-08-24 15:38:44 -07:00
Girish Ramakrishnan
93b0f39545
ensureCertificate: make it take appDomain object
2018-08-24 15:07:13 -07:00
Girish Ramakrishnan
dbe86af31e
Make getApi takes a string domain
2018-08-24 15:00:19 -07:00
Girish Ramakrishnan
3ede50a141
remove unused function
2018-08-24 14:11:02 -07:00
Girish Ramakrishnan
e607fe9a41
Specify subdomain fields explicitly
2018-08-24 10:39:59 -07:00
Johannes Zellner
43d125b216
Send hyphenatedSubdomains as non restricted property
2018-08-22 17:19:18 +02:00
Johannes Zellner
9467a2922a
Return hyphenated subdomain name in getName()
2018-08-22 14:13:48 +02:00
Johannes Zellner
b35c81e546
Handle hyphenatedSubdomains in the backend verifyDnsConfig()
2018-08-22 12:16:19 +02:00
Johannes Zellner
59700e455e
Use the full domain record for domains.fqdn()
2018-08-22 12:15:46 +02:00
Johannes Zellner
e8fcfc4594
Allow to specify hyphenatedSubdomains for a domain
2018-08-22 11:59:42 +02:00
Johannes Zellner
9bac7e8124
Move the comment where it belongs
2018-08-22 11:02:06 +02:00
Girish Ramakrishnan
210c453508
More changes
2018-08-21 21:25:07 -07:00
Girish Ramakrishnan
442d4e5c6f
Fix failing tests
2018-08-21 18:57:11 -07:00
Girish Ramakrishnan
af63cb936d
More changes
2018-08-21 18:47:12 -07:00
Girish Ramakrishnan
b4c9f64721
Issue token on password reset and setup
2018-08-21 18:42:18 -07:00
Girish Ramakrishnan
c64a29e6fc
More 3.1.0 changes
2018-08-21 17:06:51 -07:00
Johannes Zellner
f05df7cfef
Allow set admin flag on user creation
2018-08-21 17:12:46 +02:00
Johannes Zellner
f4a76a26af
Remove left-over docker proxy start call in platform.js
2018-08-21 15:31:53 +02:00
Girish Ramakrishnan
f338e015d5
Revert "Also allow docker in containers spawned by an authorized app"
...
This reverts commit 4f336a05fc .
This is not required by an app yet. Besides, it breaks tests
2018-08-20 20:10:16 -07:00
Girish Ramakrishnan
89cf8167e6
Make tests work
2018-08-20 20:10:14 -07:00
Johannes Zellner
d5194cfdc9
Remove nativeLogging docker addon support
...
Was only required for eclipse che
2018-08-20 15:22:10 +02:00
Johannes Zellner
eb07d3d543
Drop all custom network configs in docker proxy
2018-08-20 15:19:08 +02:00
Girish Ramakrishnan
6a1a697820
Split the invite route into two
2018-08-17 16:27:29 -07:00
Girish Ramakrishnan
e5cc81d8fa
Fix test name
2018-08-17 13:45:10 -07:00
Johannes Zellner
3640b0bd0e
Allow to override the logging backend for app like che
2018-08-17 15:30:37 +02:00
Johannes Zellner
4d4ce9b86e
Bare bones support of docker exec through the proxy
2018-08-17 15:30:23 +02:00
Johannes Zellner
db385c6770
Ensure the docker proxy tests cleanup correctly
2018-08-17 13:44:12 +02:00
Johannes Zellner
2925e98d54
Make PUT requests through the docker proxy work
2018-08-17 12:33:46 +02:00
Girish Ramakrishnan
75ee40865e
3.0.2 changes
2018-08-16 23:30:20 -07:00
Girish Ramakrishnan
af58e56732
Fix issue where normal users are shown all apps
2018-08-16 20:04:03 -07:00
Johannes Zellner
dc3e3f5f4d
Ensure we pipe the parsed body again upstream to docker
2018-08-16 14:28:51 +02:00
Johannes Zellner
83304ff66c
Verify that docker logs is correctly reporting another logging driver
2018-08-16 12:07:15 +02:00
Johannes Zellner
575e0cea33
Use syslog for containers created in apps
2018-08-16 11:37:08 +02:00
Girish Ramakrishnan
0bf3b45ddc
Fix bind mapping logic
2018-08-15 16:52:30 -07:00
Johannes Zellner
826a0e7708
Add test case for docker logs through the proxy
2018-08-15 18:16:03 +02:00
Johannes Zellner
0522d1e3c4
Simply prefix all docker volume mounts with the app data dir
2018-08-15 18:00:51 +02:00
Johannes Zellner
12970bf50a
Add some debugs for volume rewriting
2018-08-15 16:51:10 +02:00
Johannes Zellner
4a739213bf
When creating a container the Labels are toplevel
2018-08-15 12:51:52 +02:00
Johannes Zellner
4f336a05fc
Also allow docker in containers spawned by an authorized app
2018-08-15 12:35:34 +02:00
Girish Ramakrishnan
c3dacba894
dockerproxy: rewrite labels and binds
2018-08-14 20:49:41 -07:00
Girish Ramakrishnan
f88c01eea6
dockerproxy: Add app authorization
2018-08-14 20:04:15 -07:00
Girish Ramakrishnan
15b0dfcb60
rename variable
2018-08-14 19:03:59 -07:00
Girish Ramakrishnan
ebd27b444d
dockerproxy: use express
2018-08-14 18:59:41 -07:00
Johannes Zellner
ee1c587922
Overwrite the docker container network in the proxy
2018-08-14 22:54:02 +02:00
Johannes Zellner
4da91ec90d
Make the docker proxy work
2018-08-14 22:54:02 +02:00
Girish Ramakrishnan
3cf3c36e86
Fix tests
2018-08-13 22:54:56 -07:00
Girish Ramakrishnan
8bd6c9933f
Add interval secs
...
Part of #568
2018-08-13 22:35:38 -07:00
Girish Ramakrishnan
2e0a7dcd47
Fix migration filename
2018-08-13 22:31:58 -07:00
Johannes Zellner
714c205538
Set the correct debug label
2018-08-13 22:06:28 +02:00
Johannes Zellner
00041add55
No need to pull in underscore to build an object
2018-08-13 22:01:51 +02:00
Johannes Zellner
7f5fe12712
Use DOCKER_HOST to make the cli work out of the box
2018-08-13 21:59:02 +02:00
Johannes Zellner
441fdb81f8
Move docker proxy into its own file
2018-08-13 21:14:17 +02:00
Johannes Zellner
fb02e8768c
Remove unused require
2018-08-13 21:05:07 +02:00
Johannes Zellner
14f0f954b7
Use docker proxy over DOCKER_URL env var when docker addon is used
2018-08-13 20:47:15 +02:00
Johannes Zellner
10f0d48b2a
Use docker proxy port from config
2018-08-13 20:41:02 +02:00
Johannes Zellner
6933184c2e
Revert "Expose the host /app/data folder when localstorage and docker addons are used"
...
We will use the docker proxy for that
This reverts commit b3aa59de19 .
2018-08-13 20:39:23 +02:00
Johannes Zellner
a1b983de23
Initial code for docker addon proxy
2018-08-13 20:38:39 +02:00
Johannes Zellner
b3aa59de19
Expose the host /app/data folder when localstorage and docker addons are used
2018-08-13 19:40:41 +02:00
Girish Ramakrishnan
796ced999f
Add some 3.1 changes
2018-08-13 09:18:44 -07:00
Girish Ramakrishnan
353b5e07bf
Save correct type of port in db
...
Part of #504
2018-08-13 08:33:17 -07:00
Girish Ramakrishnan
c29eef4c14
Set the udp ports in docker configuration
...
Part of #504
2018-08-12 22:47:59 -07:00
Girish Ramakrishnan
8bc7dc9724
Pass the manifest to validatePortBindings
2018-08-12 22:37:36 -07:00
Girish Ramakrishnan
60984d18dd
Add type field to port bindings table
...
Part of #504
2018-08-12 22:32:36 -07:00
Girish Ramakrishnan
df1dc80fc1
Change the internal portBindings representation
...
Part of #504
2018-08-12 22:32:31 -07:00
Girish Ramakrishnan
8e2f0cdf73
Update cloudron-manifestformat (udpPorts)
2018-08-12 19:00:28 -07:00
Ian Fijolek
bf1e19f8e6
Add more detailed checking of DMARC
...
Fixes #570
2018-08-12 13:47:24 -07:00
Girish Ramakrishnan
9a7214ea07
Update manifestformat for docker addon
2018-08-10 12:31:46 -07:00
Johannes Zellner
4499f08357
Revert "Remove _docker addon"
...
This reverts commit d6f49eb54f .
2018-08-09 11:54:46 +02:00
Girish Ramakrishnan
8671c4c015
3.0.1 changes
2018-08-06 19:45:46 -07:00
Girish Ramakrishnan
2612cc18fa
Expire existing webadmin token so that the UI gets a new token
...
This is because we added a new appstore scope
2018-08-06 19:40:46 -07:00
Girish Ramakrishnan
36a21acae8
skip verification for prereleases because we remove it from release.json
2018-08-06 16:23:23 -07:00
Girish Ramakrishnan
1ed4710c68
Better error message
2018-08-05 23:38:49 -07:00
Girish Ramakrishnan
75b6688734
Clear timeout when setting backup config
2018-08-05 22:29:27 -07:00
Girish Ramakrishnan
f7a7e4e95a
Fix text in account setup screen
2018-08-05 21:58:07 -07:00
Girish Ramakrishnan
a8ba0b91f7
Allow subdomain in the location field
...
This allows one to easily add "dev.staging@domain.com " etc without having to create
yet another domain. This plays well with the concept that we have a
mail domain for every domain. So we get mails from @domain.com working for
these subdomain installations.
2018-08-04 09:37:18 -07:00
Girish Ramakrishnan
95540e8cbc
Do ownership check in exec route
2018-08-03 22:19:42 -07:00
Girish Ramakrishnan
9ebd22d6f7
add api note
2018-08-03 22:19:36 -07:00
Girish Ramakrishnan
1cf5807fb9
Send spaces config in config route
...
This is here because normal users cannot access settings route
2018-08-03 18:26:16 -07:00
Girish Ramakrishnan
cc7824681b
Return ownerId in apps response
2018-08-03 18:15:22 -07:00
Girish Ramakrishnan
a0a523ae71
spaces: verify app ownership in app management routes
2018-08-03 17:35:58 -07:00
Girish Ramakrishnan
fba70d888b
Remove tokenScopes
...
decided that the UI won't use this any more and will just the admin flag
2018-08-03 10:07:23 -07:00
Girish Ramakrishnan
ce9fc7b3f7
Better error message
2018-08-03 09:46:22 -07:00
Girish Ramakrishnan
3d4df8e26c
Add test for spaces config
2018-08-03 09:46:16 -07:00
Girish Ramakrishnan
d3f9647cd5
Add settings for Spaces
2018-08-03 09:40:57 -07:00
Girish Ramakrishnan
2a49569805
Send admin flag in the profile
2018-08-03 09:34:25 -07:00
Girish Ramakrishnan
47c8700d42
make scopesForUser async
2018-08-03 09:34:19 -07:00
Girish Ramakrishnan
d302dbc634
Fix tests
2018-08-02 14:59:50 -07:00
Girish Ramakrishnan
eab3cd6b2b
ownerId for domains is not implemented yet
2018-08-01 18:53:49 -07:00
Girish Ramakrishnan
92151b1e42
Add note on npm rebuild
2018-08-01 18:37:40 -07:00
Girish Ramakrishnan
621d00a5c6
GPG verify releases
...
Part of #189
2018-08-01 17:16:42 -07:00
Girish Ramakrishnan
5bd7cd6749
Check if syslog binary exists first
...
The command fails in a subshell and strange things happen
==> installer: update cloudron-syslog
/tmp/box-src-hotfix/scripts/installer.sh: line 99: /usr/local/cloudron-syslog/bin/cloudron-syslog: No such file or directory
/tmp/box-src-hotfix/scripts/installer.sh: line 99: : command not found
2018-08-01 12:18:56 -07:00
Girish Ramakrishnan
5fb525f011
Commit binary public key
...
GPG's --verify option can only use binary format
2018-07-31 20:25:46 -07:00
Girish Ramakrishnan
d8257c4745
refactor updater logic into updater.js
2018-07-31 20:20:10 -07:00
Girish Ramakrishnan
ef5dc7311f
Do not encrypt empty path
2018-07-31 19:41:03 -07:00
Girish Ramakrishnan
498642b670
Fix debugs
2018-07-31 19:32:56 -07:00
Girish Ramakrishnan
daa8514654
Pass the message and not error object
2018-07-31 10:46:35 -07:00
Girish Ramakrishnan
608de479fb
Add releases public key
...
Part of #189
2018-07-31 10:34:01 -07:00
Johannes Zellner
51f7a47ea6
Fix db migration script
2018-07-30 22:58:09 +02:00
Girish Ramakrishnan
480aed9f33
Update mail addon
2018-07-30 12:37:37 -07:00
Girish Ramakrishnan
74ae0a1787
More changes
2018-07-30 10:46:14 -07:00
Girish Ramakrishnan
ed8351b0dc
Add re-installation check
...
Fixes #536
2018-07-30 10:10:30 -07:00
Girish Ramakrishnan
a1070b7da3
storage: fix file not found message
2018-07-30 07:47:52 -07:00
Girish Ramakrishnan
3067d87ca9
handle decryption errors
2018-07-29 21:01:20 -07:00
Girish Ramakrishnan
56ca6f449f
Set any restore errors in status object
...
Fixes #505
2018-07-29 20:31:58 -07:00
Girish Ramakrishnan
99ad3e499d
s3: do not rely on entry.s3
2018-07-29 09:00:57 -07:00
Girish Ramakrishnan
7182ad4205
s3: Remove usage of entries.s3
2018-07-29 07:51:12 -07:00
Girish Ramakrishnan
0b10e2b332
s3: add listDir
...
Fixes #440
2018-07-28 09:05:44 -07:00
Girish Ramakrishnan
f546d53ca2
gcs: add listDir
...
part of #440
2018-07-28 03:51:32 -07:00
Girish Ramakrishnan
2bcc0eef96
fs: downloadDir is unused
2018-07-27 16:56:30 -07:00
Girish Ramakrishnan
a5daad2e1a
rsync: encrypted download (fs backend)
...
Part of #440
2018-07-27 16:06:13 -07:00
Girish Ramakrishnan
b3c8767d79
rsync: encrypted upload (fs backend)
...
Part of #440
2018-07-27 15:34:48 -07:00
Girish Ramakrishnan
f97f528f05
backup: Implement downloadDir using listDir
2018-07-27 15:24:35 -07:00
Girish Ramakrishnan
ba8a549235
fs: open the source stream using download()
2018-07-27 15:23:48 -07:00
Girish Ramakrishnan
737541f707
storage: standardize the listDir API
2018-07-27 15:23:26 -07:00
Girish Ramakrishnan
94cb222869
filesystem: Use listDir
...
We can now refactor all the iterating/fs write logic into backups.js
(required for restoring encrypted backups)
2018-07-27 14:09:52 -07:00
Girish Ramakrishnan
df98847535
Remove backupDone from storage interface
...
This is only used by caas
2018-07-27 12:08:19 -07:00
Girish Ramakrishnan
3d22458f9b
Add the 3.0 UI changes
2018-07-27 00:08:08 -07:00
Girish Ramakrishnan
d76381fa26
More 3.0 changes
2018-07-27 00:04:31 -07:00
Girish Ramakrishnan
606cd4da36
Allow - in mailbox names (for no-reply)
2018-07-26 23:48:21 -07:00
Girish Ramakrishnan
554006683e
Only unset of admin flag is disallowed
2018-07-26 23:43:44 -07:00
Girish Ramakrishnan
0966edd8fe
Fix missing require
2018-07-26 22:36:20 -07:00
Girish Ramakrishnan
78a2176d1d
Make admin simply a boolean instead of group
...
This simplifies a lot of logic. Keeping an admin group has no benefit
2018-07-26 22:29:57 -07:00
Girish Ramakrishnan
39848a25a8
Refactor a bit
2018-07-26 15:35:41 -07:00
Girish Ramakrishnan
ea946396e7
Use users.isAdmin in all places
2018-07-26 13:23:06 -07:00
Girish Ramakrishnan
b4d5def56d
Revert role support
2018-07-26 13:23:06 -07:00
Johannes Zellner
477abf53f3
Add initial 3.0.0 changes
2018-07-26 21:36:43 +02:00
Girish Ramakrishnan
0cb03e3789
Add REST route for platform config
...
Fixes #566
2018-07-25 14:09:15 -07:00
Girish Ramakrishnan
f4d7d4e7f2
Set the domain field
2018-07-25 11:41:42 -07:00
Girish Ramakrishnan
c09ae963e9
merge set/addDnsRecords
...
This also makes the update mail domain route redundant
2018-07-25 10:51:21 -07:00
Girish Ramakrishnan
fa30312cea
lint
2018-07-25 10:34:57 -07:00
Girish Ramakrishnan
c063267c72
Split setting of dns records from mail config route
...
This allows us to enable email server but not setup the dns records
yet. Useful for importing existing mailboxes from another server
without adjusting the DNS.
2018-07-25 10:29:28 -07:00
Girish Ramakrishnan
589602cdb0
Add note
2018-07-25 08:29:39 -07:00
Girish Ramakrishnan
6be062f8fd
Return empty object for angular
2018-07-24 22:19:34 -07:00
Girish Ramakrishnan
837ec4eb12
Send subdomain field in mail status
2018-07-24 14:25:21 -07:00
Girish Ramakrishnan
4a4166764a
relay: Add a connect timeout
2018-07-23 17:05:15 -07:00
Girish Ramakrishnan
7654f36e23
Do temporary redirect instead
...
Permanent redirect can be cached forever in the browser which
means that changing redirect settings appear to not work.
2018-07-15 17:43:36 -07:00
Girish Ramakrishnan
6810c61e58
Add audit event for ownership transfer
2018-07-05 13:51:22 -07:00
Johannes Zellner
75f9b19db2
Ensure we uri encode the email query arguments for invite, reset and setup links
2018-07-04 11:09:29 +02:00
Johannes Zellner
17410c9432
Remove notes about updates only on paid plan for the digest
2018-07-04 10:59:17 +02:00
Johannes Zellner
8a1de81284
Cleanup sysadmin backup trigger test to only test for backup start event
2018-06-30 14:33:51 +02:00
Johannes Zellner
7b540a1d2d
Fixup database tests
2018-06-30 14:12:35 +02:00
Johannes Zellner
8e8488a8e6
Lets be explicit about the error
2018-06-30 14:02:40 +02:00
Johannes Zellner
b1b843fdd8
Fix dns tests
2018-06-30 13:59:23 +02:00
Johannes Zellner
c13c4d0b28
Ensure we purge all nginx configs of an app
2018-06-29 23:14:06 +02:00
Johannes Zellner
2371c8053f
We have added a query for removing subdomains in the transaction
2018-06-29 23:14:06 +02:00
Johannes Zellner
7dc2f3cb5b
Also wait for alternateDomains to be in sync
2018-06-29 23:14:06 +02:00
Johannes Zellner
163563f400
Remove now unused dnsRecordId
2018-06-29 23:14:06 +02:00
Johannes Zellner
868ed977b3
Cleanup alternateDomain dns records and nginx config
2018-06-29 23:14:06 +02:00
Johannes Zellner
262fe18fb2
Set dns record id for alternateDomains
2018-06-29 23:14:06 +02:00
Johannes Zellner
1eba79660e
Move dnsRecordId to subdomains table
2018-06-29 23:14:06 +02:00
Johannes Zellner
3088ac098f
Put redirect label into alternateDomain nginx configs
2018-06-29 23:14:06 +02:00
Johannes Zellner
45a41ea161
Fix typo
2018-06-29 23:14:06 +02:00
Johannes Zellner
6c17709d2a
Fix fqdn building for alternateDomains
2018-06-29 23:14:06 +02:00
Johannes Zellner
2a52543087
The property is called subdomain not location
2018-06-29 23:14:06 +02:00
Johannes Zellner
f4f6f4e7e0
Use business logic for getting all apps in taskmanager
2018-06-29 23:14:06 +02:00
Johannes Zellner
f53c526677
Remove superflous . for user cert key file location
2018-06-29 23:14:06 +02:00
Johannes Zellner
1aa58a3905
ignore alternateDomains field for appdb updates
2018-06-29 23:14:06 +02:00
Johannes Zellner
2d58a6bdff
Fix typo
2018-06-29 23:14:06 +02:00
Johannes Zellner
40c22a1ad7
send alternateDomains over the wire
2018-06-29 23:14:06 +02:00
Johannes Zellner
3d0da34960
Create nginx configs for app redirects
2018-06-29 23:14:06 +02:00
Johannes Zellner
a6e53e3617
Ensure certificates for alternateDomains
2018-06-29 23:14:06 +02:00
Johannes Zellner
8efab41d37
Amend the alternateDomains property to app objects
2018-06-29 23:14:06 +02:00
Johannes Zellner
9af456cc7d
Fix appdb.add as location and domain columns are gone
2018-06-29 23:14:06 +02:00
Johannes Zellner
9ba78b5b87
Setup alternate domains in apptask configure
2018-06-29 23:14:06 +02:00
Johannes Zellner
b1b848de21
Support configuring alternateDomains for apps
2018-06-29 23:14:06 +02:00
Johannes Zellner
5497a7d4d8
Do not handle location and domain field for apps table updates
2018-06-29 23:14:06 +02:00
Johannes Zellner
18887b27e6
Fix migration script typo
2018-06-29 23:14:06 +02:00
Johannes Zellner
fb42b54210
Remove apps.location and apps.domain
...
This is now managed in the subdomains table
2018-06-29 23:14:06 +02:00
Johannes Zellner
4d2ba2adaa
Use subdomains table in appdb
2018-06-29 23:14:06 +02:00
Johannes Zellner
c97e8d6bd4
add subdomains table with migration scripts
2018-06-29 23:14:06 +02:00
Girish Ramakrishnan
b15029de11
Send tokenScopes as an array
2018-06-29 09:53:12 -07:00
Girish Ramakrishnan
9aa74c99fc
Make setup route return tokenScopes
...
This is used by the dashboard logic during initial activation
2018-06-29 08:27:34 -07:00
Girish Ramakrishnan
35c9e99102
Move the update info into separate route (since it is sensitive)
2018-06-28 17:50:27 -07:00
Girish Ramakrishnan
cab9bc3a61
Unify the config routes into /api/v1/config
...
No more separate config routes for different types of user
2018-06-28 17:40:57 -07:00
Girish Ramakrishnan
712c920b86
Move caas config to separate route
2018-06-28 17:28:46 -07:00
Girish Ramakrishnan
9978dff627
Add API to set and transfer ownership
2018-06-28 16:48:04 -07:00
Girish Ramakrishnan
ff5bd42bef
remove mostly dead comment
2018-06-28 14:19:56 -07:00
Girish Ramakrishnan
dfa318e898
Add ownerId for apps
...
This tracks who installed the app.
2018-06-28 14:13:12 -07:00
Girish Ramakrishnan
38977858aa
When issuing token intersect with the existing user roles
...
Also:
* Move token validation to accesscontrol.js
* Use clients.addTokenByUserId everywhere
2018-06-28 00:07:43 -07:00
Girish Ramakrishnan
6510240c0a
Fix accesscontrol.intersectScopes
2018-06-27 18:08:38 -07:00
Girish Ramakrishnan
d66dc11f01
Make canonicalScopeString return sorted array
2018-06-27 14:07:25 -07:00
Girish Ramakrishnan
ce4424d115
debug out the scope
2018-06-27 13:54:10 -07:00
Girish Ramakrishnan
a958c01974
digest: drop the Cloudron prefix in the subject
2018-06-27 11:00:41 -07:00
Girish Ramakrishnan
877f181f8d
Put ts in app listing as well
2018-06-26 19:58:21 -07:00
Girish Ramakrishnan
02c0137dc1
Add a timestamp column to apps table
...
this field can be used in UI to see if more detailed app information
has to be fetched (since it calls the list apps REST API periodically)
2018-06-26 18:16:39 -07:00
Girish Ramakrishnan
d0b34cc43e
Fix schema
2018-06-26 18:05:34 -07:00
Girish Ramakrishnan
93a2cab355
Ignore internal mailbox conflict errors
2018-06-26 17:44:14 -07:00
Girish Ramakrishnan
6907475f7a
Add app management scope
...
This splits the apps API into those who have just 'read' access
and those who have 'manage' access.
2018-06-26 08:56:30 -07:00
Girish Ramakrishnan
9bf93b026b
rename to removeInternalFields
2018-06-25 16:40:16 -07:00
Girish Ramakrishnan
f932f8b3d3
Add user management scope
...
This splits the user and groups API into those who have just 'read' access
and those who have 'manage' access.
2018-06-25 16:10:00 -07:00
Girish Ramakrishnan
7ab5d5e50d
Add domain management scope
...
This splits the domains API into those who have just 'read' access
(i.e without configuration details) and those who have 'manage' access.
2018-06-25 15:12:22 -07:00
Johannes Zellner
5028230354
Update cloudron-syslog
...
Fixes #564
2018-06-25 19:35:13 +02:00
Girish Ramakrishnan
80e9214f5b
Reduce password length for sendmail/recvmail
...
Fixes #565
2018-06-22 16:37:34 -07:00
Girish Ramakrishnan
5ca64dd642
Normalize host path to prevent access to arbitrary paths
2018-06-22 08:29:08 -07:00
Girish Ramakrishnan
24d9d3063b
Allow specifying bindMounts array to localstorage addon
2018-06-21 22:04:06 -07:00
Girish Ramakrishnan
74b1df17c0
Fix groups test and route to make name optional
2018-06-20 09:31:50 -07:00
Girish Ramakrishnan
7880a2f9c3
API returns 403 for incorrect password
2018-06-20 09:27:24 -07:00
Girish Ramakrishnan
8a84872704
Wrong password logs out the user
2018-06-18 18:52:35 -07:00
Girish Ramakrishnan
5d13cc363f
Allow group name to be changed
2018-06-18 18:30:40 -07:00
Girish Ramakrishnan
987a42b448
Fix syntax
2018-06-18 17:58:35 -07:00
Girish Ramakrishnan
3601e4f8a6
if -> while
2018-06-18 17:39:15 -07:00
Girish Ramakrishnan
60ed290179
validate role names against existing roles
2018-06-18 17:32:07 -07:00
Girish Ramakrishnan
ff73bc121f
Make tokenScope plural
2018-06-18 15:10:02 -07:00
Girish Ramakrishnan
6cd0601629
Map group roles to scopes
2018-06-18 14:52:39 -07:00
Girish Ramakrishnan
b5c8e7a52a
Rename to getGroups
2018-06-18 14:10:29 -07:00
Girish Ramakrishnan
7f3114e67d
Rename to get/setMembership (to indicate IDs and not group objects
2018-06-18 13:57:17 -07:00
Girish Ramakrishnan
1dbcf2a46a
Rename to groups.update
2018-06-18 13:41:27 -07:00
Girish Ramakrishnan
898cbd01b3
tokens table always has canonical scope
2018-06-17 23:11:36 -07:00
Girish Ramakrishnan
b6b7d08af3
Rename to accesscontrol.canonicalScopeString
2018-06-17 22:43:42 -07:00
Girish Ramakrishnan
6a2dacb08a
Make intersectScopes take an array
2018-06-17 22:39:33 -07:00
Girish Ramakrishnan
1015b0ad9c
validateScope -> validateScopeString
2018-06-17 22:29:17 -07:00
Girish Ramakrishnan
106e17f7ff
caas: verify dns config
...
this is so that it fails if someone gives invalid token via API call
2018-06-17 22:22:05 -07:00
Girish Ramakrishnan
6ca28d9a58
validate dns config parameters
2018-06-17 22:21:51 -07:00
Girish Ramakrishnan
ad6bc191f9
Make hasScopes take an array
2018-06-17 21:06:17 -07:00
Girish Ramakrishnan
682f7a710c
Add an appstore scope for subscription settings
2018-06-17 18:09:13 -07:00
Girish Ramakrishnan
f24a099e79
Remove user.admin property
...
The UI will now base itself entirely off the scopes of the token
2018-06-17 16:49:56 -07:00
Girish Ramakrishnan
156ffb40c9
Remove scope from users.get
2018-06-17 16:07:20 -07:00
Girish Ramakrishnan
db8b6838bb
Move skip password verification logic to accesscontrol.js
2018-06-17 15:20:27 -07:00
Girish Ramakrishnan
c3631350cf
We can skip user.scope here since we will intersect at access time anyway
2018-06-17 15:11:10 -07:00
Girish Ramakrishnan
669a1498aa
Do not dump token in logs
2018-06-17 15:01:42 -07:00
Girish Ramakrishnan
12e55d1fab
Use _.flatten instead
2018-06-16 13:03:52 -07:00
Girish Ramakrishnan
ca9cd2cf0f
Add groups.getRoles
2018-06-16 00:29:56 -07:00
Girish Ramakrishnan
e8d9597345
Fix various error codes
...
401 - bad password/wrong password
403 - authenticated but not authorized
409 - conflict
2018-06-15 23:15:30 -07:00
Girish Ramakrishnan
24b0a96f07
Move passport logic to routes
2018-06-15 17:32:40 -07:00
Girish Ramakrishnan
858ffcec72
Add note
2018-06-15 17:04:18 -07:00
Girish Ramakrishnan
05a8911cca
condense the comments
2018-06-15 16:56:35 -07:00
Girish Ramakrishnan
89b41b11a4
Remove bogus accesscontrol logic
2018-06-15 16:26:14 -07:00
Girish Ramakrishnan
491d1c1273
getByResetToken already has the user object
2018-06-15 16:22:28 -07:00
Girish Ramakrishnan
0a0884bf93
lint
2018-06-15 16:10:06 -07:00
Girish Ramakrishnan
a1ac7f2ef9
Remove support for authenticating non-oauth2 clients via BasicStrategy
...
This is not used anywhere
2018-06-15 15:38:58 -07:00
Girish Ramakrishnan
6aef9213aa
Add notes on the various strategies
2018-06-15 15:38:53 -07:00
Girish Ramakrishnan
2e92172794
Do not dump the entire token
2018-06-15 14:56:52 -07:00
Girish Ramakrishnan
c210359046
Create the backup logs dir
2018-06-15 14:56:32 -07:00
Girish Ramakrishnan
042ea081a0
Typo
2018-06-15 14:35:52 -07:00
Girish Ramakrishnan
1c32224a8a
Move backup logs to make the REST API work
2018-06-15 09:47:34 -07:00
Johannes Zellner
b3fa5afe3a
First show apptask logs, then app logs
2018-06-15 14:58:07 +02:00
Johannes Zellner
843fec9dcb
Fix wrong hasSubscription logic for digest email
2018-06-15 13:44:33 +02:00
Johannes Zellner
35d9cc3c02
Update cloudron-syslog
2018-06-15 10:20:03 +02:00
Girish Ramakrishnan
02d5d2f808
Add API to add and update the group roles
2018-06-15 00:28:27 -07:00
Girish Ramakrishnan
a77d45f5de
Add rolesJson to groups table
...
This will contain the roles ('role definition') of a group of
users. We will internally map these to our API scopes.
2018-06-14 22:54:52 -07:00
Girish Ramakrishnan
5e09f3dcb2
Group names can contain - and end with .app
...
now that we have decoupled it from mailbox names, this restriction
can be removed
2018-06-14 22:22:09 -07:00
Girish Ramakrishnan
eb566d28e7
Remove groupdb._addDefaultGroups
...
Putting this in db code causes issues when we merge in the
accesscontrol/roles variables (groupdb needs to source those
variables)
2018-06-14 21:56:34 -07:00
Girish Ramakrishnan
8795da5d20
Allow subscopes
...
We can now have scopes as apps:read, apps:write etc
2018-06-14 20:56:04 -07:00
Girish Ramakrishnan
a9ec46c97e
Add test for accesscontrol.validateScope
2018-06-14 20:51:22 -07:00
Girish Ramakrishnan
dc86b0f319
validateRequestedScopes -> hasScopes
2018-06-14 20:31:48 -07:00
Girish Ramakrishnan
f7089c52ff
normalizeScope -> intersectScope
2018-06-14 20:23:56 -07:00
Girish Ramakrishnan
62793ca7b3
Add accesscontrol.canonicalScope tests
2018-06-14 20:17:59 -07:00
Girish Ramakrishnan
92e6909567
Move feedback route to cloudronScope
2018-06-14 20:03:51 -07:00
Girish Ramakrishnan
55e5c319fe
Fix failing log test
2018-06-14 13:43:44 -07:00
Johannes Zellner
1f8451fedb
Do not print tail file headers in the logs
2018-06-14 12:53:49 +02:00
Johannes Zellner
cdc78936b5
Ignore faulty empty log lines
2018-06-14 12:53:19 +02:00
Girish Ramakrishnan
eaf0b4e56e
mail api: handle not found errors
2018-06-13 07:51:22 -07:00
Girish Ramakrishnan
7339c37b98
Fix invite link in userAdded notification
2018-06-12 20:08:59 -07:00
Girish Ramakrishnan
3176938ea0
Add 2.4.1 changes
2018-06-12 19:25:24 -07:00
Girish Ramakrishnan
c3c77c5a97
Fix wording
2018-06-12 18:18:41 -07:00
Girish Ramakrishnan
32e6b9024c
Add email query param to reset code path
...
This reduces any attack surface
2018-06-12 17:56:41 -07:00
Girish Ramakrishnan
5a6ea33694
Display apptask logs
2018-06-12 14:55:58 -07:00
Girish Ramakrishnan
60bff95d9f
Add journalctl fallback for box logs
2018-06-12 14:39:33 -07:00
Girish Ramakrishnan
0cc2838b8b
lint
2018-06-12 13:49:52 -07:00
Girish Ramakrishnan
0fc4f4bbff
Explicitly pass port and logdir
2018-06-11 22:53:12 -07:00
Girish Ramakrishnan
0b82146b3e
Install cloudron-syslog service file from box repo
2018-06-11 22:42:49 -07:00
Girish Ramakrishnan
4369b3046e
Make options non-optional
2018-06-11 15:14:59 -07:00
Girish Ramakrishnan
ac75b60f47
Fix password validation text in setup and reset forms
2018-06-11 14:01:40 -07:00
Girish Ramakrishnan
d752ef5fad
Move password generation logic to model code
2018-06-11 13:06:08 -07:00
Girish Ramakrishnan
c099d5d3fa
Make password strength be 8 chars
...
Fixes #434
2018-06-11 12:55:24 -07:00
Girish Ramakrishnan
6534297a5d
Remove hat module
...
It's not been updated for 6 years!
2018-06-11 12:38:29 -07:00
Girish Ramakrishnan
2aa6350c94
Change the function names
...
We had these because user and mailbox code used to be mixed
2018-06-11 11:43:41 -07:00
Girish Ramakrishnan
8b4a399b8f
More changes
2018-06-11 11:43:41 -07:00
Johannes Zellner
177243b7f2
Support new platform/addon log style
2018-06-11 20:09:45 +02:00
Girish Ramakrishnan
c2ca827458
Add 2.4.0 changes
2018-06-11 10:13:48 -07:00
Girish Ramakrishnan
90d7dc893c
Fix test
2018-06-11 10:01:54 -07:00
Girish Ramakrishnan
eeaaa95ca3
Put email on free plan
2018-06-09 18:26:00 -07:00
Girish Ramakrishnan
04be582573
make the mailbox name follow the apps new location, if the user did not set it explicitly
2018-06-09 11:05:54 -07:00
Girish Ramakrishnan
0953787559
Fix docker exec terminal resize issue
...
Fixes #549
2018-06-08 11:44:24 -07:00
Girish Ramakrishnan
3bd8a58ea5
Update docker to 18.03.1
2018-06-08 09:13:46 -07:00
Girish Ramakrishnan
275181824f
Not sure why package lock keeps changing
2018-06-07 18:45:30 -07:00
Girish Ramakrishnan
f814ffb14f
Update node version
2018-06-07 18:43:52 -07:00
Girish Ramakrishnan
95ae948fce
more package lock changes
2018-06-07 18:42:47 -07:00
Girish Ramakrishnan
9debf1f6c6
Update some packages
2018-06-07 18:36:36 -07:00
Girish Ramakrishnan
0e583b5afe
Update node to 8.11.2
2018-06-07 17:06:47 -07:00
Girish Ramakrishnan
fa47031a63
cloudron-activate: Set externalDisk to true
2018-06-07 11:38:07 -07:00
Girish Ramakrishnan
7fd1bb8597
backup: Add externalDisk option to fs backend
...
This merely confirms from the user understands that backups have to
stored on an external disk.
2018-06-07 11:14:13 -07:00
Johannes Zellner
8c5b550caa
Explicitly use cloudron-syslog 1.0.0 instead of moving master
2018-06-07 16:38:44 +02:00
Johannes Zellner
3d57c32853
Explicitly send empty object for successful post to avoid angular warnings
2018-06-07 16:10:47 +02:00
Johannes Zellner
898d928dd6
logrotate files under platformdata must be owned by root
2018-06-06 18:45:54 +02:00
Johannes Zellner
c578a048dd
Ensure app logrotate file is owned by root
2018-06-06 18:39:52 +02:00
Johannes Zellner
2a475c1199
Add logrotate for app and addon logs
2018-06-06 17:36:48 +02:00
Johannes Zellner
57e195883c
Use plain syslog tags to be compatible with the format
2018-06-06 14:09:50 +02:00
Johannes Zellner
f2178d9b81
Setup addons to log to cloudron-syslog
2018-06-06 14:09:50 +02:00
Johannes Zellner
df1ac43f40
Use subshells correctly
2018-06-06 14:09:50 +02:00
Johannes Zellner
39059c627b
Add --unsafe-perm for cloudron-syslog installation
2018-06-06 14:09:50 +02:00
Johannes Zellner
d942c77ceb
Bump infra version to reconfigure the container
2018-06-06 14:09:50 +02:00
Johannes Zellner
c39240c518
Install cloudron-syslog
2018-06-06 14:09:50 +02:00
Johannes Zellner
fd0e2782d8
Deliver the correct utc timestamp instead of the ISO string
2018-06-06 14:09:50 +02:00
Johannes Zellner
36aaa0406e
Fix comment about firewall rule setup
2018-06-06 14:09:50 +02:00
Johannes Zellner
17ecb366af
Bring back json log format for now
2018-06-06 14:09:50 +02:00
Johannes Zellner
1a83281e16
use port 2514 for syslog
2018-06-06 14:09:50 +02:00
Johannes Zellner
ec41e0eef5
Use tail instead of journalctl to deliver logs
2018-06-06 14:09:50 +02:00
Johannes Zellner
d4097ed4e0
Move logs into platformdata/logs
2018-06-06 14:09:50 +02:00
Johannes Zellner
8fa99fae1a
Put all apptask logs of an app in the same log file
2018-06-06 14:09:50 +02:00
Johannes Zellner
e9400e5dce
support test usecase to not put logs in /var/log
2018-06-06 14:09:50 +02:00
Johannes Zellner
372a17dc37
Cleanup logs on app uninstall
2018-06-06 14:09:50 +02:00
Johannes Zellner
5ca60b2d3c
Since we use log files now, lets keep the apptask timestamp for debug()
2018-06-06 14:09:50 +02:00
Johannes Zellner
1dc649b7a2
Put apptask logs alongside the app logs
2018-06-06 14:09:50 +02:00
Johannes Zellner
74437db740
Use syslog logging backend for apps and addons
2018-06-06 14:09:50 +02:00
Girish Ramakrishnan
70128458b2
Fix crash when renewAll is called when cloudron is not setup yet
2018-06-05 21:27:32 -07:00
Girish Ramakrishnan
900225957e
typo: code should return SetupError
2018-06-05 21:19:47 -07:00
Girish Ramakrishnan
fd8f5e3c71
Return error for trailing dot instead
2018-06-05 21:09:07 -07:00
Girish Ramakrishnan
7382ea2b04
Handle my subdomain already existing
2018-06-05 20:53:28 -07:00
Girish Ramakrishnan
09163b8a2b
strip any trailing dot in the domain and zoneName
2018-06-05 20:33:14 -07:00
Girish Ramakrishnan
953398c427
lint
2018-06-05 20:02:47 -07:00
Girish Ramakrishnan
9f7406c235
cloudron-activate: Add option to setup backup dir
2018-06-05 19:40:46 -07:00
Girish Ramakrishnan
2e427aa60e
Add 2.3.2 changes
2018-06-05 09:51:56 -07:00
Girish Ramakrishnan
ab80cc9ea1
Add username to the TOTP secret name
...
This works around issue in FreeOTP app which crashed when
the same name is used.
https://github.com/freeotp/freeotp-ios/issues/69
https://github.com/freeotp/freeotp-android/issues/69
2018-06-04 16:08:03 -07:00
Girish Ramakrishnan
321f11c644
mysql: _ prefix is hardcoded in mysql addon already
...
Fixes #560
2018-06-04 12:31:40 -07:00
Girish Ramakrishnan
47f85434db
cloudron-activate: always login since activate return token and not accessToken
2018-06-01 00:12:19 -07:00
Girish Ramakrishnan
7717c7b1cd
Add cloudron-activate script to automate activation from VM image
2018-05-31 23:46:44 -07:00
Johannes Zellner
7618aa786c
Handle AppstoreError properly when no appstore account was set
2018-05-30 20:33:58 +02:00
Girish Ramakrishnan
f752cb368c
Remove spamcannibal
...
Fixes #559
2018-05-30 11:07:17 -07:00
Girish Ramakrishnan
ca500e2165
mailer: do not send notifications to fallback email
2018-05-30 09:26:59 -07:00
Johannes Zellner
371f81b980
Add test for mail enabling without a subscription
2018-05-30 00:02:18 +02:00
Johannes Zellner
c68cca9a54
Fixup mail test, which requires a subscription
2018-05-29 23:59:53 +02:00
Johannes Zellner
9194be06c3
Fix app purchase test
2018-05-29 23:24:08 +02:00
Johannes Zellner
9eb58cdfe5
Check for plan when enabling email
2018-05-29 13:31:43 +02:00
Johannes Zellner
99be89012d
No need to check for active subscription state, as the appstore already does this
2018-05-29 13:31:43 +02:00
Johannes Zellner
541fabcb2e
Add convenience function to determine if subscription is 'free' or not
2018-05-29 13:31:43 +02:00
Johannes Zellner
915e04eb08
We do not have an 'undecided' plan state anymore
2018-05-29 13:31:43 +02:00
Girish Ramakrishnan
48896d4e50
more changes
2018-05-28 10:06:46 -07:00
Johannes Zellner
29682c0944
Only allow max of 2 apps on the free plan
2018-05-26 18:53:20 +02:00
Girish Ramakrishnan
346b1cb91c
more changes
2018-05-26 08:11:19 -07:00
Girish Ramakrishnan
e552821c01
Add 2.3.1 changes
2018-05-25 11:44:04 -07:00
Girish Ramakrishnan
bac3ba101e
Add mailboxName to app configure route
...
Fixes #558
2018-05-24 16:26:34 -07:00
Girish Ramakrishnan
87c46fe3ea
apps: return mailbox name as part of app
...
part of cloudron/box#558
2018-05-24 15:50:46 -07:00
Girish Ramakrishnan
f9763b1ad3
namecom: MX record not set properly
2018-05-24 09:41:52 -07:00
Girish Ramakrishnan
f1e6116b83
Fix copyright years
2018-05-23 20:02:33 -07:00
Girish Ramakrishnan
273948c3c7
Fix tests
2018-05-22 13:22:48 -07:00
Girish Ramakrishnan
9c073e7bee
Preserve addons credentials when restoring
2018-05-22 13:07:58 -07:00
Girish Ramakrishnan
8b3edf6efc
Bump mail container for managesieve fix
2018-05-18 18:26:19 -07:00
Girish Ramakrishnan
07e649a2d3
Add more changes
2018-05-17 20:17:24 -07:00
Girish Ramakrishnan
8c63b6716d
Trigger a re-configure
2018-05-17 20:16:51 -07:00
Girish Ramakrishnan
6fd314fe82
Do not change password on app update
...
Fixes #554
2018-05-17 19:48:57 -07:00
Girish Ramakrishnan
0c7eaf09a9
bump container versions
2018-05-17 10:00:00 -07:00
Girish Ramakrishnan
d0988e2d61
Generate password for mongodb on platform side
...
Part of #554
2018-05-17 10:00:00 -07:00
Girish Ramakrishnan
4bedbd7167
Generate password for postgresql on platform side
...
Part of #554
2018-05-17 10:00:00 -07:00
Girish Ramakrishnan
7ca7901a73
Generate password for mysql on platform side
...
Part of #554
2018-05-17 09:59:57 -07:00
Girish Ramakrishnan
d28dfdbd03
Add 2.3.0 changes
2018-05-17 09:24:47 -07:00
Girish Ramakrishnan
c85ca3c6e2
account setup simply redirects to main page now
2018-05-17 09:17:08 -07:00
Girish Ramakrishnan
da934d26af
call callback
2018-05-17 09:16:32 -07:00
Girish Ramakrishnan
f7cc49c5f4
move platform config to db
...
this way it can be tied up to some REST API later
part of #555
2018-05-16 17:34:56 -07:00
Girish Ramakrishnan
27e263e7fb
lint
2018-05-16 14:08:54 -07:00
Girish Ramakrishnan
052050f48b
Add a way to persist addon memory configuration
...
Fixes #555
2018-05-16 14:00:55 -07:00
Girish Ramakrishnan
81e29c7c2b
Make the INFRA_VERSION_FILE more readable
2018-05-16 09:54:42 -07:00
Girish Ramakrishnan
c3fbead658
Allow zoneName to be changed in domain update route
2018-05-15 15:39:30 -07:00
Girish Ramakrishnan
36f5b6d678
manual dns: handle ENOTFOUND
...
Fixes #548
2018-05-15 15:39:18 -07:00
Girish Ramakrishnan
a45b1449de
Allow ghost users to skip 2fa
2018-05-14 15:07:01 -07:00
Girish Ramakrishnan
a1020ec6b8
remove /user from profile route
2018-05-13 21:53:06 -07:00
Johannes Zellner
d384284ec8
Add name.com DNS provider in the CHANGES file
2018-05-11 10:03:58 +02:00
Girish Ramakrishnan
bd29447a7f
gcdns: Fix typo
2018-05-10 10:05:42 -07:00
Johannes Zellner
aa5952fe0b
Wait longer for dns in apptask
...
name.com often takes longer to sync all nameservers, which means we
timeout too early for them
2018-05-10 15:37:47 +02:00
Johannes Zellner
39dc5da05a
We have to return a value on dns record upserting
2018-05-09 18:58:09 +02:00
Johannes Zellner
d0e07d995a
Add name.com dns tests
2018-05-09 18:13:21 +02:00
Johannes Zellner
94408c1c3d
Add name.com DNS provider
2018-05-09 18:13:14 +02:00
Girish Ramakrishnan
66f032a7ee
route53: use credentials instead of dnsConfig
2018-05-07 23:41:03 -07:00
Girish Ramakrishnan
4356df3676
bump timeout
2018-05-07 16:28:11 -07:00
Girish Ramakrishnan
1e730d2fc0
route53: more test fixing
2018-05-07 16:20:03 -07:00
Girish Ramakrishnan
e8875ccd2e
godaddy: add tests
2018-05-07 16:09:00 -07:00
Girish Ramakrishnan
2b3656404b
route53: fix tests
2018-05-07 15:53:08 -07:00
Girish Ramakrishnan
60b5e6f711
gandi: add tests
2018-05-07 15:51:51 -07:00
Girish Ramakrishnan
b9166b382d
route53: set listHostedZonesByName for new/updated domains
2018-05-07 13:42:10 -07:00
Girish Ramakrishnan
d0c427b0df
Add more 2.2 changes
2018-05-07 11:46:27 -07:00
Girish Ramakrishnan
da5d0c61b4
godaddy: workaround issue where there is no del record API
2018-05-07 11:41:37 -07:00
Girish Ramakrishnan
1f75c2cc48
route53: add backward compat for pre-2.2 IAM perms
...
backward compat for 2.2, where we only required access to "listHostedZones"
2018-05-07 11:24:34 -07:00
Girish Ramakrishnan
d0197aab15
Revert "No need to iterate over the hosted zones anymore"
...
This reverts commit e4a70b95f5 .
We will add backward compat route for pre-2.2 cloudrons
2018-05-07 11:23:28 -07:00
Johannes Zellner
e4a70b95f5
No need to iterate over the hosted zones anymore
2018-05-07 16:35:32 +02:00
Johannes Zellner
f4d3d79922
Query only requested Route53 zone
...
Fixes #550
2018-05-07 16:30:42 +02:00
Girish Ramakrishnan
e3827ee25f
Add more 2.2 changes
2018-05-06 23:52:02 -07:00
Girish Ramakrishnan
9981ff2495
Add GoDaddy Domain API
2018-05-06 23:07:52 -07:00
Girish Ramakrishnan
722b14b13d
Add note on MX records
2018-05-06 22:14:39 -07:00
Girish Ramakrishnan
eb2fb6491c
gandi: more fixes
2018-05-06 21:16:47 -07:00
Girish Ramakrishnan
a53afbce91
Add Gandi LiveDNS backend
2018-05-06 19:48:51 -07:00
Girish Ramakrishnan
31af6c64d0
Expire existing webadmin token so that the UI gets a new token
2018-05-06 13:08:22 -07:00
Girish Ramakrishnan
e8efc5a1b2
Fix test
2018-05-06 12:58:39 -07:00
Girish Ramakrishnan
0c07c6e4d0
Allow "-" in usernames
...
now that username and mailboxes are totally separate, we can allow '-'.
'+' is still reserved because LDAP it.
Fixes #509
2018-05-05 09:56:21 -07:00
Girish Ramakrishnan
da5fd71aaa
Bump mail container for CRAM-MD5 login fix
2018-05-04 21:57:26 -07:00
Girish Ramakrishnan
d57d590363
2.2.0 changes
2018-05-04 10:30:24 -07:00
Johannes Zellner
d6e49415d4
Only list user mailboxes in ldap search
2018-05-04 17:02:04 +02:00
Johannes Zellner
cb73eb61d4
Allow binds against mailboxes
2018-05-04 17:02:04 +02:00
Johannes Zellner
4ce3a262a3
Allow search for mailboxes over ldap for a specific domain
2018-05-04 17:02:04 +02:00
Girish Ramakrishnan
d18d1a977a
Add duplicate profile route for compat with old apps using oauth addon
2018-05-03 09:29:46 -07:00
Girish Ramakrishnan
616e38189c
Revert "x"
...
This reverts commit 182ea3dac3 .
2018-05-03 09:29:23 -07:00
Johannes Zellner
726cafcee4
Rollback appdb record on clone and install if appstore purchase fails
2018-05-03 13:20:34 +02:00
Girish Ramakrishnan
e5c43e9acd
Remove debug
2018-05-02 12:41:22 -07:00
Girish Ramakrishnan
f09e8664d1
Return canonical scope in REST responses
...
The '*' scope is purely an implementation detail. It cannot
be requested as such.
2018-05-02 12:36:41 -07:00
Girish Ramakrishnan
182ea3dac3
x
2018-05-01 15:17:48 -07:00
Girish Ramakrishnan
97acd40829
remove obsolete roleSdk from the database
...
the file is renamed because cloudron.io was patched by mistake and we want to run this
migration there
2018-05-01 14:53:46 -07:00
Girish Ramakrishnan
f1abb2149d
gravatar url is already generated client side
2018-05-01 14:30:48 -07:00
Girish Ramakrishnan
8c4015851a
merge auth.js into accesscontrol.js
2018-05-01 14:03:10 -07:00
Girish Ramakrishnan
a545bdd574
merge developer.js into clients.js
2018-05-01 14:02:59 -07:00
Girish Ramakrishnan
d1135accbd
lint
2018-05-01 13:58:13 -07:00
Girish Ramakrishnan
d5b594fade
return the scope as part of the user profile
...
send canonical scope in the profile response
2018-05-01 13:25:47 -07:00
Girish Ramakrishnan
c5ffb65563
Fix usage of normalizeScope
2018-05-01 13:21:53 -07:00
Girish Ramakrishnan
f76a5a7ba7
Move the clients API out of oauth prefix
2018-05-01 11:30:51 -07:00
Girish Ramakrishnan
17bcd95961
typo: return the scope as the scope
2018-05-01 10:59:46 -07:00
Girish Ramakrishnan
23bc0e8db7
Remove SDK Role
...
Just compare with the token's clientId instead
2018-04-30 23:03:30 -07:00
Girish Ramakrishnan
240ee5f563
Ensure we hand out max user.scope
...
The token.scope was valid at token creation time. The user's scope
could since have changed (maybe we got kicked out of a group).
2018-04-30 22:51:57 -07:00
Girish Ramakrishnan
200f43a58e
lint
2018-04-30 22:41:23 -07:00
Girish Ramakrishnan
61d803f528
Use SCOPE_ANY everywhere
2018-04-30 21:44:24 -07:00
Girish Ramakrishnan
e7c8791356
lint
2018-04-30 21:41:09 -07:00
Girish Ramakrishnan
bc4f9cf596
Remove redundant requireAdmin
...
We already hand out scopes based on the user's access control
2018-04-30 21:38:48 -07:00
Girish Ramakrishnan
9789966017
Set the scope for a token basedon what the user has access to
2018-04-30 21:21:18 -07:00
Girish Ramakrishnan
1432d90f37
lint
2018-04-30 21:13:23 -07:00
Girish Ramakrishnan
68317a89cb
remove the analytics hooks
2018-04-30 15:33:25 -07:00
Girish Ramakrishnan
c84f984205
No need to create a token on password reset
2018-04-30 15:15:05 -07:00
Johannes Zellner
6e19153350
Remove now unused result argument
2018-04-30 20:37:12 +02:00
Johannes Zellner
4dc778f7c2
Change reset password button text
2018-04-30 20:17:56 +02:00
Johannes Zellner
c5c3748aa9
Do not auto login on password reset
2018-04-30 19:55:59 +02:00
Girish Ramakrishnan
f809e359c9
refactor the global variables as functions
2018-04-29 20:17:45 -07:00
Girish Ramakrishnan
91e846d976
Add SCOPE_DOMAINS
2018-04-29 18:11:33 -07:00
Girish Ramakrishnan
b5f8ca6c16
Fix nasssty typo
2018-04-29 17:50:12 -07:00
Girish Ramakrishnan
922ab3bde1
lint
2018-04-29 17:50:12 -07:00
Girish Ramakrishnan
3b7bcc1f61
refactor scopes into accesscontrol.js
...
this will be our authorization layer for oauth and non-oauth tokens.
2018-04-29 17:50:07 -07:00
Girish Ramakrishnan
6e3b060615
Use SCOPE_PROFILE constant
2018-04-29 17:12:30 -07:00
Girish Ramakrishnan
cc113d0bb5
Add SCOPE_CLIENTS for oauth clients API
2018-04-29 17:03:10 -07:00
Girish Ramakrishnan
3e22d513eb
Add SCOPE_MAIL for mail APIs
2018-04-29 17:01:12 -07:00
Girish Ramakrishnan
9cf51ef680
Update cid-webadmin to have all the scopes possible
2018-04-29 16:57:49 -07:00
Girish Ramakrishnan
1c55a3e310
typo
2018-04-29 11:29:21 -07:00
Girish Ramakrishnan
d8acf92929
UserError -> UsersError
2018-04-29 11:22:15 -07:00
Girish Ramakrishnan
7bb8d059b5
GroupError -> GroupsError
2018-04-29 11:21:01 -07:00
Girish Ramakrishnan
863afc68cb
DomainError -> DomainsError
2018-04-29 11:20:12 -07:00
Girish Ramakrishnan
4fd58fb46b
Rename user.js to users.js
2018-04-29 11:19:04 -07:00
Girish Ramakrishnan
b1b664ceca
Move removeInternalAppFields to model code
2018-04-29 10:47:34 -07:00
Girish Ramakrishnan
1a27009fb5
Make expiresAt a body parameter
2018-04-28 22:02:07 -07:00
Girish Ramakrishnan
6c8c206e89
Move input validation logic to routes
2018-04-28 21:58:56 -07:00
Girish Ramakrishnan
82207c3ccd
Keep naming consistent with delToken
2018-04-28 21:55:57 -07:00
Girish Ramakrishnan
6768994bbe
Capitalize the 2fa text
2018-04-28 10:20:33 -07:00
Girish Ramakrishnan
b72efb1018
Remove private fields when listing domains
...
Currently, domains list route does not return the fallback cert.
make it future proof, just in case.
2018-04-27 11:41:30 -07:00
Johannes Zellner
7a8c525beb
Add 2fa Oauth route tests
2018-04-27 14:08:22 +02:00
Johannes Zellner
9372d8797a
Add 2fa tests for developer login api
2018-04-27 12:29:11 +02:00
Johannes Zellner
faeb89b258
Add 2fa token login to oauth login form
2018-04-27 11:46:41 +02:00
Johannes Zellner
50d7ade0d9
Remove unused property on set 2fa secret
2018-04-27 08:20:12 +02:00
Johannes Zellner
497c76a905
Add 2fa token check to developer login
2018-04-27 08:18:13 +02:00
Johannes Zellner
bbc434dc21
Attach the whole user object also for basic authed routes
2018-04-27 08:18:13 +02:00
Girish Ramakrishnan
a7bb5d6b5c
add route to query apps specific to user
...
it's not nice to overload a route to mean different things depending
on who queries it.
2018-04-26 20:07:12 -07:00
Girish Ramakrishnan
e0da6679e9
Move user routes to /api/v1/user
2018-04-26 19:57:44 -07:00
Girish Ramakrishnan
561d2d9f8b
admin column is no more in users table
2018-04-26 19:55:26 -07:00
Girish Ramakrishnan
7549b3e837
enhance user creation API to take a password
2018-04-26 14:13:40 -07:00
Girish Ramakrishnan
7756c07bc6
Add better text for the secret
2018-04-26 09:39:35 -07:00
Johannes Zellner
0d58a6bf33
Send 2fa auth status with profile info
2018-04-26 16:29:40 +02:00
Johannes Zellner
fbba636fb3
Handle more 2fa route errors
2018-04-26 16:14:37 +02:00
Johannes Zellner
9cd6333cf7
2fa routest work with the req.user object
2018-04-26 15:12:14 +02:00
Johannes Zellner
eb02c182e5
Avoid linter issue
2018-04-26 14:45:12 +02:00
Johannes Zellner
6574b22cf6
Add 2fa routest and business logic
2018-04-26 08:46:35 +02:00
Girish Ramakrishnan
d1ed2aa2ce
remove untested route set_admin
2018-04-25 21:43:21 -07:00
Girish Ramakrishnan
c2a762cb29
Do not reserve mailbox names
...
Now that user management is split from mailboxes, we don't need to
reserve mailbox names anymore.
2018-04-25 21:14:33 -07:00
Girish Ramakrishnan
34d40edef4
Fix issue where docker needs more recent packages
...
The following packages have unmet dependencies:
docker-ce : Depends: libseccomp2 (>= 2.3.0) but 2.2.3-3ubuntu3 is to be installed
E: Unable to correct problems, you have held broken packages.
2018-04-25 13:44:53 -07:00
Johannes Zellner
5ceb14cbca
Add required 2fa node modules qrcode and speakeasy
2018-04-25 17:03:16 +02:00
Johannes Zellner
38668937ad
Fixup database tests
2018-04-25 17:03:16 +02:00
Johannes Zellner
0167f83d4a
Handle 2fa fields in userdb code
2018-04-25 17:03:16 +02:00
Johannes Zellner
9e66adb6d0
Add 2fa db record fields to users table
2018-04-25 17:03:16 +02:00
Girish Ramakrishnan
0a537029bc
add mailbox domain to the constraint
2018-04-23 10:14:16 -07:00
Girish Ramakrishnan
c0716e86a7
Remove the "or Email"
...
The email here can be confused with the Cloudron email which it is not.
The preferred approach is to login via username anyway.
2018-04-22 18:29:10 -07:00