Matthew Penner
54b6033392
update dependencies
2021-11-15 10:13:19 -07: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
Dane Everitt
865c1b3bad
Begin implementing SFTP server code
2019-12-07 15:53:07 -08:00
Dane Everitt
52ca0667ca
Add base support for internalizing the SFTP server
2019-12-07 14:01:40 -08:00
Dane Everitt
1be21b7078
[#3896bk] Support parsing XML files
2019-12-01 15:04:03 -08:00
Dane Everitt
6e9606bc89
[#3896bk] Add support for ini file parsing
2019-12-01 12:53:47 -08:00