Dane Everitt
c718da20e3
Check disk space before trying a write from the downloader; don't make empty directories if we can't even write the file
2020-12-20 11:17:53 -08:00
Dane Everitt
9c53436470
Check disk before even trying to run the download
2020-12-20 11:08:01 -08:00
Dane Everitt
3495fb1c76
Less racey logic for resource usage
2020-12-16 22:03:35 -08:00
Dane Everitt
16118874cf
Don't obliterate the lock
2020-12-16 20:21:22 -08:00
Dane Everitt
59a111de39
Invite our lord and savior emperror back to the table
2020-12-15 21:56:53 -08:00
Dane Everitt
3a26a5d39d
Convert all filesystem error types into the same Error struct
2020-12-15 20:51:13 -08:00
Matthew Penner
8e29ffed50
Add configurable disk write speed limit for backups ( #74 )
...
* Add configurable disk write speed limit for backups
2020-12-08 09:13:48 -07:00
Dane Everitt
a18f60bd05
Merge branch 'develop' of https://github.com/pterodactyl/wings into develop
2020-12-06 15:35:04 -08:00
Dane Everitt
deea5babbc
Publish message when error occurs during crash handling
2020-12-06 15:34:58 -08:00
Matthew Penner
b52c3fb61e
Cleanup backup/backup_s3.go
2020-12-06 15:25:11 -07:00
Matthew Penner
ee08829a28
s3 backups: handle CompleteMultipartUpload and AbortMultipartUpload on the panel
2020-12-06 13:56:17 -07:00
Matthew Penner
ba0a1a651e
Only use the permission bits for ModeBits
2020-11-29 16:13:07 -07:00
Matthew Penner
068f41393d
Return mode_bits when listing files in a directory
2020-11-29 14:20:24 -07:00
Matthew Penner
f62f714863
Add chmod endpoint to server files
2020-11-29 13:07:45 -07:00
Matthew Penner
de51fd1c51
Error handling improvements ( #71 )
...
* Remove `emperror.dev/errors`, remove all `errors#Wrap` and `errors#WithStack` calls
* Improve logging in `server/backup.go`
2020-11-28 16:57:10 -07:00
Matthew Penner
40c70673cd
Use registry authentication when pulling install image, fixes https://github.com/pterodactyl/panel/issues/2589
2020-11-20 14:36:29 -07:00
Matthew Penner
73b221d022
Switch old Server#GetState() calls over to Server#Environment#State()
2020-11-20 14:35:29 -07:00
Matthew Penner
287b286940
Oh, that's why it was done like that
2020-11-18 18:44:25 -07:00
Matthew Penner
1d0e85cf55
Attempt to fix 'archive/tar: write too long' error when creating a backup
2020-11-18 16:30:34 -07:00
Dane Everitt
8081c83de4
Allow disabling disk checking with 0 value for check interval
2020-11-12 20:50:03 -08:00
Matthew Penner
2197d82957
Clean paths from AllowedMounts to ensure consistency
2020-11-09 16:58:01 -07:00
Dane Everitt
de0c67d066
Re-enable disabled tests
2020-11-08 15:17:47 -08:00
Dane Everitt
68bdcb3cbc
Fix error handling and get tests back to working
2020-11-08 15:15:39 -08:00
Dane Everitt
ef999a039c
Perhaps better error stacks for backups/archives; ref #2418
2020-11-08 14:07:26 -08:00
Dane Everitt
be9d1a3986
Replace error handling package with emperror; add better reporting for errors escaping server root
2020-11-08 13:52:20 -08:00
Dane Everitt
4b17ac4f1c
Fix atomic string handling for JSON output
2020-11-06 22:22:33 -08:00
Dane Everitt
944d381778
Improve server state logical handling; allow setting state directly on the environment
2020-11-06 21:53:00 -08:00
Dane Everitt
13c253780a
Use 60 seconds, not 15
2020-11-01 17:26:45 -08:00
Dane Everitt
fe572beada
Stop servers when exceeding their disk limits; closes pterodactyl/panel#2638
2020-11-01 17:20:42 -08:00
Matthew Penner
05cfb59e18
Add better logging for s3 backup uploads
2020-11-01 15:36:16 -07:00
Matthew Penner
5475cb02c1
Cleanup s3 backup uploads, add request timeouts
2020-11-01 15:23:46 -07:00
Matthew Penner
1239b1c0ca
Switch to s3 multipart uploads for backups
2020-11-01 15:23:46 -07:00
Dane Everitt
ca3becfb55
Correctly handle server responses and instantiation
2020-10-31 11:13:40 -07:00
Dane Everitt
41a67933eb
Use a paginated loop to fetch servers from the Panel rather than a single massive request
2020-10-31 11:05:53 -07:00
Dane Everitt
334b3e8d10
Refactor HTTP endpoints to be less complicated and follow better standards
2020-10-31 10:04:20 -07:00
Matthew Penner
56789196d4
Disable flaky test so I can test cross-platform building
2020-10-17 15:47:30 -06:00
Matthew Penner
70804dd20f
Remoe stat_arm.go, make stat_linux.go with with both 32 and 64 bit systems
2020-10-17 15:45:14 -06:00
Matthew Penner
19d821aab5
Fix arm build
2020-10-17 15:41:13 -06:00
Matthew Penner
4ce35d3d17
Fix race in filesystem_test.go
2020-10-17 15:31:40 -06:00
Dane Everitt
c031d37b91
Use single call to create/return the docker client
2020-10-17 14:04:56 -07:00
Dane Everitt
19051c99ef
Support arm builds
2020-10-17 13:52:38 -07:00
Jakob
e185f597ba
add version negotiation to server install docker client
2020-10-17 21:41:01 +02:00
Dane Everitt
947279a07c
Don't abort entire boot process due to one bad server egg; closes pterodactyl/panel#2448
2020-10-17 12:06:47 -07:00
Dane Everitt
80387bc294
Use more easily configurable timezone, remove /etc/timezone mounts from containers; closes pterodactyl/panel#2513
...
If this does not completely solve the issue in containers then we need to evaluate the image being used to determine what changes need to happen to the image itself to support the timezone.
ref pterodactyl/panel#2239
ref pterodactyl/panel#2329
ref pterodactyl/panel#2389
2020-10-17 11:35:20 -07:00
Dane Everitt
e29789114c
Fix server disk usage not being reported properly; closes pterodactyl/panel#2445
2020-10-11 15:02:37 -07:00
Dane Everitt
37e59e6928
Close connected sockets when a server is deleted; closes pterodactyl/panel#2428
2020-10-03 20:46:29 -07:00
Dane Everitt
e02c197585
More archiver code cleanup; ref pterodactyl/panel#2438
2020-10-03 19:13:41 -07:00
Dane Everitt
d9109cbf5a
Correctly detect os.IsNotExist error; ref pterodactyl/panel#2438
2020-10-03 19:09:12 -07:00
Dane Everitt
6bc8b1a567
Merge branch 'dane/fs-tests' into develop
2020-10-01 21:30:39 -07:00
Dane Everitt
244640d0c1
[security] remove "SafeJoin" function
...
This function was not actually safe in theory. If an unknown stat source was passed in it would be possible for a symlinked file to not be detected as a symlink, thus skipping any safe path resolutions.
This would happen if the stat source was a regular os.Stat call and not an os.Lstat call, but since there is no way to differentiate between those two in the code, it is safer to just manually apply this logic in the positions where we _know_ for certain that we're working with the results of an Lstat call.
2020-10-01 21:28:38 -07:00