Girish Ramakrishnan
6c3ca9c364
shell: rework code to use shell.spawn
...
spawn gives out streams and we have more control over the stdout/stderr
buffers. otherwise, we have to provide a max buffer capture size to exec
2024-10-15 12:13:46 +02:00
Girish Ramakrishnan
a9e1d7641d
shell: make require take a tag
2024-10-14 21:08:32 +02:00
Girish Ramakrishnan
067b02dba1
dashboard: reconfigure all apps on location change
...
continuation of 1b5fee233e
all containers have ExtraHosts , so we have to reconfigure everything
2024-09-16 11:23:06 +02:00
Girish Ramakrishnan
366f247910
oidc: only start in set callback
2024-04-27 11:51:10 +02:00
Girish Ramakrishnan
2a6368af60
remove usage of constants.DASHBOARD_SUBDOMAIN
2024-04-27 11:10:24 +02:00
Girish Ramakrishnan
5420630453
oidc: start the server when dashboard domain is set
...
the activation logic has changed to use oidc flow. this requires
the oidc server to be started and available. otherwise, the redirection
after owner creation fails.
2024-04-27 11:02:50 +02:00
Girish Ramakrishnan
4e39eb89fd
const
2024-04-27 10:48:23 +02:00
Girish Ramakrishnan
030e468829
docker: prune volumes on infra change
2024-04-04 11:36:26 +02:00
Girish Ramakrishnan
6a39e442ac
platform: use execArgs
2024-03-06 10:46:00 +01:00
Girish Ramakrishnan
35f2c0ec7d
use --force option to not error
2024-02-28 19:59:38 +01:00
Girish Ramakrishnan
3316dd1f42
fixup various shell usage
2024-02-28 18:59:45 +01:00
Girish Ramakrishnan
a6f078330f
shell: no need to promise scoping
2024-02-21 19:40:27 +01:00
Girish Ramakrishnan
14c9260ab0
shell: exec encoding is utf8 by default and no shell
...
explicitly mark calls that require the shell
2024-02-21 17:47:25 +01:00
Girish Ramakrishnan
9b94cf18d0
convert more execSync to async
2024-02-21 11:00:12 +01:00
Girish Ramakrishnan
26eb739b46
shell: add options to exec
2024-02-20 21:11:09 +01:00
Girish Ramakrishnan
176baa075f
Fix some typos
2024-01-30 11:53:54 +01:00
Girish Ramakrishnan
d3551826c1
platform: add deactivated for tests to uninitialize properly
2024-01-23 11:42:02 +01:00
Girish Ramakrishnan
ceb908bee7
Use constants.TEST
2023-10-01 13:52:19 +05:30
Girish Ramakrishnan
4b6d4fe6be
another take on prune images
2023-08-21 22:17:28 +05:30
Girish Ramakrishnan
1ad94708b4
apps have to reconfigured in main thread
...
they cannot be done in the task process
2023-08-21 21:35:09 +05:30
Girish Ramakrishnan
79af6c1a68
On dashboard or email location change, reconfigure immediately
2023-08-21 18:34:07 +05:30
Girish Ramakrishnan
a7be30a816
better naming of the dashboard functions
2023-08-13 10:38:07 +05:30
Girish Ramakrishnan
070f6e5de3
move startup logic to platform.js
2023-08-12 22:25:46 +05:30
Girish Ramakrishnan
c6db1c70c0
docker: fix image prune
...
it seems docker images --digests cloudron/sftp --format "{{.ID}} {{.Repository}}:{{.Tag}}@{{.Digest}}
broke at some point
2023-08-08 21:21:00 +05:30
Johannes Zellner
4c185fb3b4
Reconfigure apps on dashboard domain change, if they use oidc addon
2023-07-21 20:02:35 +02:00
Girish Ramakrishnan
500d2361ec
replace delay.js with timers/promises
2023-05-14 10:53:50 +02:00
Girish Ramakrishnan
5274e1c454
docker: registry finally has ipv6 support
...
https://github.com/docker/roadmap/issues/89
2023-05-10 10:14:25 +02:00
Girish Ramakrishnan
c4f4f3e914
logs: use %o to format error
...
otherwise, they are printed as multi-line and this messes up tail+date formatting
2023-04-16 10:49:59 +02:00
Girish Ramakrishnan
582994b9d6
addons: stable IPv4 addresses
...
give addons static IPv4 so one can reliably connect from outside via
SSH tunnel
2023-02-21 12:20:44 +01:00
Girish Ramakrishnan
36ddb8c7c2
prune: normalize the tag
2022-11-30 21:12:00 +01:00
Girish Ramakrishnan
6c9aa1a77f
Revert "prune all images instead of parsing output"
...
This reverts commit d42c524a46 .
This caused a bug that all app images are getting removed since we remove
all containers on infra update!
2022-11-30 20:00:51 +01:00
Girish Ramakrishnan
79cb8ef251
add route to get platform status
2022-11-30 19:54:32 +01:00
Girish Ramakrishnan
d42c524a46
prune all images instead of parsing output
...
nothing is really lost since these are just unused images
2022-11-30 10:01:50 +01:00
Girish Ramakrishnan
43f86674b4
Remove delay module
2022-04-15 07:52:35 -05:00
Girish Ramakrishnan
6aa034ea41
platform: Only re-create docker network on version change
2022-02-10 09:32:22 -08:00
Girish Ramakrishnan
ca83deb761
Docker IPv6 support
...
Docker's initial IPv6 support is based on allocating public IPv6 to containers.
This approach has many issues:
* The server may not get a block of IPv6 assigned to it
* It's complicated to allocate a block of IPv6 to cloudron server on home setups
* It's unclear how dynamic IPv6 is. If it's dynamic, then should containers be recreated?
* DNS setup is complicated
* Not a issue for Cloudron itself, but with -P, it just exposed the full container into the world
Given these issues, IPv6 NAT is being considered. Even though NAT is not a security mechanism as such,
it does offer benefits that we care about:
* We can allocate some private IPv6 to containers
* Have docker NAT66 the exposed ports
* Works similar to IPv4
Currently, the IPv6 ports are always mapped and exposed. The "Enable IPv6" config option is only whether
to automate AAAA records or not. This way, user can enable it and 'sync' dns and we don't need to
re-create containers etc. There is no inherent benefit is not exposing IPv6 at all everywhere unless we find
it unstable.
Fixes #264
2022-02-09 23:54:53 -08:00
Girish Ramakrishnan
ff664486ff
do not start if platform.start does not work
2022-02-09 23:15:37 -08:00
Girish Ramakrishnan
852eebac4d
move cloudron network creation to platform code
...
this gives us more control on re-creating the network with different
arguments/options when needed.
2022-02-09 23:15:37 -08:00
Girish Ramakrishnan
7ffcfc5206
auditSource: add PLATFORM
2021-11-17 10:33:28 -08:00
Girish Ramakrishnan
af2a8ba07f
add retry to platform.start instead
...
this is because it holds a lock and cannot be re-tried
See also 0c0aeeae4c which tried to
make it for all startup tasks
2021-11-02 23:35:53 -07:00
Girish Ramakrishnan
3bcd32c56d
restore: mount all volumes before restoring apps
...
fixes #786
2021-09-28 11:51:01 -07:00
Girish Ramakrishnan
7709e155e0
more async'ification
2021-09-07 11:21:06 -07:00
Girish Ramakrishnan
77f5cb183b
merge appdb.js into apps.js
2021-08-23 15:35:38 -07:00
Girish Ramakrishnan
e59d0e878d
merge taskdb into tasks.js
2021-07-14 10:37:12 -07:00
Girish Ramakrishnan
5b51f73be4
restore: add skipDnsSetup flag
...
part of #737
2021-02-24 14:56:09 -08:00
Girish Ramakrishnan
9f9575f46a
Fixes to service configuration
...
restart service does not rebuild automatically, we should add a route
for that. we need to figure where to scale services etc if we randomly
create containers like that.
2021-01-21 17:41:22 -08:00
Girish Ramakrishnan
0edb673dc6
rename platform config to services config
2021-01-21 12:19:57 -08:00
Girish Ramakrishnan
cd1b46848e
Fix bug where graphite and sftp are not incrementally upgraded
2021-01-21 12:00:23 -08:00
Girish Ramakrishnan
6bd87485c6
rename addons.js to services.js
...
services is the named container (services view)
addons is more like a heroku concept
2021-01-21 11:31:35 -08:00
Girish Ramakrishnan
6ae1de6989
test: make apps test work
2020-11-21 23:25:28 -08:00