Girish Ramakrishnan
42a4912cc7
logs: prepend date and append newline
2023-04-04 18:58:50 +02:00
Girish Ramakrishnan
603f92251e
refactor tail invokation into logtail.sh
2023-03-27 11:39:34 +02:00
Girish Ramakrishnan
8205beeabf
notifications: make update alerts non-persistent
...
once acked, they remain acked. no need to keep nagging the user about them.
2023-03-26 15:12:39 +02:00
Girish Ramakrishnan
3aa040bf01
apps: remove repository
2023-03-11 16:25:39 +01:00
Girish Ramakrishnan
8448d28f6f
Implement HSTS preload
...
This allows browsers to query https directly instead of the initial http redirect
https://hstspreload.org/#opt-in says it should be explicitly opt in
2023-03-06 11:46:05 +01:00
Johannes Zellner
20cec7d5ef
Fixup location conflict message for bare domain
2023-01-09 13:27:02 +01:00
Girish Ramakrishnan
89127e1df7
reverseproxy: rework cert logic
...
9c8f78a059 already fixed many of the cert issues.
However, some issues were caught in the CI:
* The TLS addon has to be rebuilt and not just restarted. For this reason, we now
move things to a directory instead of mounting files. This way the container is just restarted.
* Cleanups must be driven by the database and not the filesystem . Deleting files on disk or after a restore,
the certs are left dangling forever in the db.
* Separate the db cert logic and disk cert logic. This way we can sync as many times as we want and whenever we want.
2022-11-29 11:07:23 +01:00
Girish Ramakrishnan
c844be5be1
make validateLocations return error
2022-11-28 22:16:22 +01:00
Girish Ramakrishnan
e15c6324e4
getDuplicateErrorDetails does not need domain map
2022-11-28 22:14:10 +01:00
Girish Ramakrishnan
b70572a6e9
dns: fqdn only needs domain string
...
This is from the caas days, when we had hyphenated subdomains flag
2022-11-28 21:56:25 +01:00
Johannes Zellner
a5d244b593
Add tests for proxy app upstreamUri
2022-11-23 14:36:57 +01:00
Girish Ramakrishnan
817e950d47
Fix upstreamUri verification
2022-11-23 12:58:17 +01:00
Girish Ramakrishnan
51f43597bc
Make location have subdomain just like in the database
2022-11-17 10:22:46 +01:00
Girish Ramakrishnan
28b5457e9c
Fix validateLocations return value
2022-11-17 10:22:46 +01:00
Girish Ramakrishnan
0c8b8346f4
Move getLocationsSync into apps.js
2022-11-17 10:22:43 +01:00
Johannes Zellner
0b6bbf4cc2
Set exec LANG via rest API only
2022-11-16 16:14:54 +01:00
Johannes Zellner
9da4f55754
Set default LANG in exec container to make umlauts and other special characters work
2022-11-16 15:49:06 +01:00
Girish Ramakrishnan
9c8f78a059
reverseproxy: simplify certificate renewal
...
An issue was that mail container was not getting refreshed with the up to
date certs. The root cause is that it is refreshed only in the renewCerts()
cron job. If cert renewal was caused by an app task, then the cron job will
skip the restart (since cert is fresh).
The other issue is that we keep hitting 0 length certs when we run out of disk
space. The root cause is that when out of disk space, a cert renewal will
cause cert to be written but since it has no space it is 0 length. Then, when
the user tries to restart the server, the box code does not write the cert again.
This change fixes the above two including:
* To simplify, we use the fallback cert only if we failed to get a LE cert. Expired LE certs
will continue to be used. nginx is fine with this.
* restart directory as well on renewal
2022-11-13 11:55:12 +01:00
Johannes Zellner
d19c7ac3e3
Return repository info in app rest api
2022-11-10 20:00:55 +01:00
Johannes Zellner
f61131babf
Amend app.repository depending on presence and value of dockerImage
2022-11-10 18:12:13 +01:00
Girish Ramakrishnan
ca44f47af3
replace split with our own LogStream
...
split module is archived
2022-11-06 13:44:47 +01:00
Johannes Zellner
c4c90cfaf9
Add route to download app backups
2022-11-04 10:24:12 +01:00
Girish Ramakrishnan
9d35756db5
graphs: just query graphite IP instead of localhost mapping
2022-10-11 12:44:37 +02:00
Girish Ramakrishnan
d51b022721
applinks: make get return null
...
this style matches rest of the code base
2022-10-06 11:32:42 +02:00
Girish Ramakrishnan
4aab03bb07
import: cleanup app import logic
2022-10-02 10:08:50 +02:00
Girish Ramakrishnan
7b5df02a0e
app proxy: validate uri
2022-09-29 18:56:10 +02:00
Girish Ramakrishnan
251c1f9757
add readOnly attribute check for port bindings
2022-08-10 14:22:31 +02:00
Johannes Zellner
fc8572c2af
Raise alert for when an app cannot be autoupdated
2022-08-10 12:19:54 +02:00
Girish Ramakrishnan
885d60f7cc
reverseproxy: add setUserCertificate
2022-07-14 13:25:41 +05:30
Girish Ramakrishnan
a246cb7e73
return location certificates
2022-07-14 11:57:04 +05:30
Girish Ramakrishnan
f0abd7edc8
certificateJson can be null
2022-07-14 10:52:31 +05:30
Girish Ramakrishnan
2af29fd844
cleanupCerts: add progress
2022-07-13 11:22:47 +05:30
Girish Ramakrishnan
1549f6a4d0
fix various terminology in code
...
subdomain, domain - strings
location - { subdomain, domain }
bundle - { cert, key }
bundlePath - { certFilePath, keyFilePath }
vhost is really just for virtual hosting
fqdn for others
2022-07-13 10:15:09 +05:30
Girish Ramakrishnan
ce06b2e150
Fix upstreamUri validation
2022-06-10 11:23:58 -07:00
Girish Ramakrishnan
a32166bc9d
data dir: allow sameness of old and new dir
...
this makes it easy to migrate to a new volume setup
2022-06-09 17:49:33 -07:00
Johannes Zellner
fbc7fcf04b
Put healthcheck errors in app logs
2022-06-09 14:56:40 +02:00
Johannes Zellner
11d7dfa071
Accept upstreamUri as string for proxy app install
2022-06-09 14:35:05 +02:00
Johannes Zellner
d55a6a5eec
Update reverse proxy app config on upstreamUri change
2022-06-09 10:48:54 +02:00
Johannes Zellner
6a7379e64c
Add apps.upstreamUri support
2022-06-09 10:48:54 +02:00
Girish Ramakrishnan
037f4195da
guard against two level subdir moves
...
this has never worked since the -wholename check only works for
one level deep
2022-06-08 12:24:11 -07:00
Girish Ramakrishnan
6311c78bcd
Fix quoting
2022-06-08 11:25:20 -07:00
Girish Ramakrishnan
7598cf2baf
consolidate storage validation logic
2022-06-06 12:50:21 -07:00
Girish Ramakrishnan
7dba294961
storage: check volume status
2022-06-03 10:43:59 -07:00
Girish Ramakrishnan
4bee30dd83
fix more typos
2022-06-03 09:10:37 -07:00
Girish Ramakrishnan
dddc5a1994
migrate app dataDir to volumes
2022-06-02 16:29:01 -07:00
Girish Ramakrishnan
8fc8128957
Make apps.getDataDir async
2022-06-02 11:19:33 -07:00
Girish Ramakrishnan
85af0d96d2
sendmail: allow display name to be set
2022-06-01 01:38:16 -07:00
Girish Ramakrishnan
9fcd6f9c0a
cron: add @service which is probably clearer than @reboot in app context
2022-05-20 10:57:44 -07:00
Girish Ramakrishnan
17910584ca
cron: add extensions
...
https://www.man7.org/linux/man-pages/man5/crontab.5.html#EXTENSIONS
2022-05-20 10:53:30 -07:00
Girish Ramakrishnan
93bacd00da
Fix exec web socket/upload/download
2022-05-16 11:46:28 -07:00