Commit Graph

79 Commits

Author SHA1 Message Date
DaneEveritt
20e44bdc55
Add internal logic to process activity events and send them to the panel 2022-07-09 14:38:41 -04:00
DaneEveritt
9eab08b92f
Initial logic to support logging activity on Wings to send back to the panel 2022-07-04 17:36:03 -04:00
Matthew Penner
8bd1ebe360
go: update dependencies 2022-03-25 10:04:57 -06:00
Matthew Penner
3a738e44d6
run gofumpt 2022-02-23 15:02:19 -07:00
Dane Everitt
34c0db9dff Replace encoding/json with goccy/go-json for cpu and memory usage improvement
This new package has significant better resource usage, and we do a _lot_ of JSON parsing in this application, so any amount of improvement becomes significant
2022-01-23 15:17:40 -05:00
Dane Everitt
0cfd72e1d1 Use ED25519 keys for SSH host key authentication purposes
closes pterodactyl/panel#3658
2021-10-03 11:31:39 -07:00
Matthew Penner
3c54c1f840 break everything
- upgrade dependencies
- run gofmt and goimports to organize code
- fix typos
- other small tweaks
2021-08-02 15:07:00 -06:00
Dane Everitt
ddfd6d9cce Modify backup process to utilize contexts and exponential backoffs
If a request to upload a file part to S3 fails for any 5xx reason it will begin using an exponential backoff to keep re-trying the upload until we've reached a minute of trying to access the endpoint.

This should resolve temporary resolution issues with URLs and certain S3 compatiable systems such as B2 that sometimes return a 5xx error and just need a retry to be successful.

Also supports using the server context to ensure backups are terminated when a server is deleted, and removes the http call without a timeout, replacing it with a 2 hour timeout to account for connections as slow as 10Mbps on a huge file upload.
2021-05-02 12:28:36 -07:00
Matthew Penner
d5605abc15 update minimum go version, run go mod tidy 2021-02-25 13:55:05 -07:00
Dane Everitt
80faea3286
yoink viper back out of code, simplify some config logic 2021-01-14 20:11:01 -08:00
Dane Everitt
9480ccdbba
Initial WIP logic to handle loading configuration from the disk using viper 2021-01-12 21:14:57 -08:00
Matthew Penner
a4c8b8714b Bump all dependencies 2020-12-27 11:49:08 -07:00
Matthew Penner
901ab1157d
Rework archiving logic to be more consistent and less impactful on disk IO (#79)
Co-authored-by: Dane Everitt <dane@daneeveritt.com>
2020-12-25 11:52:57 -08:00
Dane Everitt
c0a641247b
Different handling of errors on routes; push towards using middleware 2020-12-15 21:53:34 -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
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
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
9b7c0fb7f3
Steal tests from other branch that is being discarded, attempt to get at least one of them to pass; WIP 2020-09-30 21:46:32 -07:00
Dane Everitt
8bcb3d7c62
Remove deadlock specific code 2020-09-11 23:03:35 -07:00
Dane Everitt
b2eebcaf6d
Fix deadlocks in event listener system; closes pterodactyl/panel#2298
Fixes deadlocks that occurred when events were registered while other events were being unsubscribed and data was being flooded to these listeners. A complete mess, I hate this code, it is going to break again, but jesus I'm so tired.
2020-09-11 23:01:54 -07:00
Dane Everitt
70afbbfc68
Remove last zap references 2020-09-03 20:29:53 -07:00
Dane Everitt
1e633ae302
Bring the sftp server code into the package itself 2020-08-31 20:14:04 -07:00
Dane Everitt
a1288565f0
Significant CPU and syscall performance improvements when iterating large directories 2020-08-24 20:45:54 -07:00
Dane Everitt
919bec2f87
Dependency updates 2020-08-06 18:55:29 -07:00
Dane Everitt
0a612a71d9
Clean up logging, ensure logs write to disk 2020-08-03 20:35:48 -07:00
Dane Everitt
f3c8220bd9
Change filewalker implementation to use a pool 2020-07-16 21:51:31 -07:00
Dane Everitt
60ebde4447
Fix deps? 2020-07-12 10:26:20 -07:00
vagrant
c5f4c3cfcb update github.com/docker/docker 2020-07-04 20:57:48 +00:00
Dane Everitt
82912595b7
Update SFTP logic for authentication to avoid brute forces; replicates logic from #9
Co-Authored-By: Stepan Fedotov <trixterthetux@users.noreply.github.com>
2020-07-02 21:03:11 -07:00
Dane Everitt
e5b844d2c4
Support automatically generating SSL certificates 2020-06-30 21:34:47 -07:00
Dane Everitt
f8bffd8391
Start the process of migrating from zap to a cleaner CLI output for logs 2020-05-28 22:07:53 -07:00
Dane Everitt
bd063682dc
Better match handling I think? 2020-05-17 18:22:06 -07:00
Dane Everitt
5e60cb2eb0
Update to latest version of sftp-server; closes pterodactyl/panel#2014 2020-05-09 17:47:12 -07:00
Dane Everitt
a6645aa741
Bump to 1.13 in mod to support underscores in numeric literals 2020-05-08 20:58:34 -07:00
Dane Everitt
507d0100cf
Hilariously rough code to get a backup pushed into S3 2020-04-26 17:20:26 -07:00
Dane Everitt
df6d98bbda
Add support for ignoring directories/files; fix compression of archives 2020-04-18 23:26:23 -07:00
Dane Everitt
71d38ff62e
Cleanup logic for getting a directory size; support cancelation during goroutine 2020-04-18 15:31:34 -07:00
Dane Everitt
4279fa510e
Cleanup data storage locations for daemon 2020-04-17 14:27:06 -07:00
Michael Parker
12c97c41b0 fixes distro matching
Adds osrelease to get distro name
2020-04-13 13:12:49 -04:00
Matthew Penner
28c8f3f400 Add the ability to fetch all servers, fix cpu usage leak again.. 2020-04-10 15:39:07 -06:00
vagrant
1c5f30f5be add configure command 2020-04-10 15:25:06 +00:00
vagrant
59b11eb80c use cobra for cli
reorganize a bit to be able to use it
2020-04-10 13:12:18 +00:00
Dane Everitt
cf2ef1a173
Port most of the HTTP code over to gin 2020-04-05 18:00:33 -07:00
Matthew Penner
d1127569f8 go mod tidy && go mod verify 2020-04-04 17:26:11 -06:00
Matthew Penner
5693d0431e
Merge branch 'develop' into feature/server-transfers 2020-04-04 17:17:09 -06:00
Dane Everitt
4ce2b73490
Add first implementation of local backups for a server 2020-04-04 16:07:25 -07:00
Matthew Penner
3dba11ac6f Add ability to create archives of servers, add GET and POST /api/servers/:server/archive routes to get and request an archive of a server 2020-04-03 23:17:26 -06:00
Dane Everitt
beec5723e6
Update SFTP server dependency 2019-12-24 17:11:54 -08:00
Dane Everitt
189289ad5f
Correctly handle updating server data 2019-12-21 21:02:02 -08:00
Dane Everitt
89806427f9
Fix SFTP server integration 2019-12-08 10:29:10 -08:00