Commit graph

466 commits

Author SHA1 Message Date
Dane Everitt
034a310702
Use checksum more broadly, not specifically SHA256 2020-08-23 18:06:47 -07:00
Dane Everitt
92929c45d5
Fix query bug returning _all_ variables; closes #2250 2020-08-23 08:45:39 -07:00
Dane Everitt
91cdbd6c2e
Support modifying startup variables for servers 2020-08-22 18:13:59 -07:00
Dane Everitt
cae604e79d
Include egg variables in the output from the API 2020-08-22 15:43:28 -07:00
Dane Everitt
e3178ba6f0
backend: support is_successful state for backups rather than deleting it when failing
This allows the UI to correctly show failed backups to the user and require them to manually delete those backups, rather than them mysteriously disappearing.

We can also hook into this later to send a notification to the user when the backup fails.
2020-08-20 21:07:53 -07:00
Dane Everitt
540cc82e3d
Don't resolve database hosts; closes #2237 2020-08-19 20:38:51 -07:00
Dane Everitt
61e9771333
Code cleanup for subuser API endpoints; closes #2247 2020-08-19 20:21:12 -07:00
Dane Everitt
f0ac0725b6
[Security] Don't return all servers on the system when not a root admin and admin level servers are requested
Cleaned up the API endpoint by simplifying the logic and adds test case to cover this bug.

If you ever need to list _all_ of the servers on the system you should be using the application API endpoint for the servers most likely.
2020-07-26 10:43:46 -07:00
Matthew Penner
295f09ca43
Merge branch 'develop' into feature/server-mounts 2020-07-11 12:29:30 -06:00
Dane Everitt
4122486468
Fix failing tests (which caught a bug in the new client query) 2020-07-09 21:32:31 -07:00
Dane Everitt
2278927fb6
Update allocations to support ids; protect endpoints; support notes 2020-07-09 20:36:08 -07:00
Dane Everitt
d3c749ac56
Code cleanup & fix frontend searching servers; closes #2100 2020-07-06 21:25:00 -07:00
Matthew Penner
29876e023b
Merge branch 'develop' into feature/server-mounts 2020-07-04 15:20:01 -06:00
Dane Everitt
7b75e7a648
Support using recovery tokens during the login process to bypass 2fa; closes #479 2020-07-02 23:01:02 -07:00
Dane Everitt
a998b463e3
Generate recovery tokens when enabling 2FA on an account 2020-07-02 21:55:25 -07:00
Dane Everitt
fc261fe20c
Add test cases for client servers endpoint 2020-06-27 10:35:02 -07:00
Dane Everitt
8fb21a5048
Fix error while updating user 2020-06-25 21:42:21 -07:00
Dane Everitt
b78aa180ea
Prevent creating a new database via the application API if server is at its limit; closes #2129 2020-06-23 20:07:37 -07:00
Dane Everitt
693b9eab0c
Fix handling of backup tasks; closes #2067 2020-06-18 21:00:04 -07:00
Matthew Penner
3338c49831 Fix Validable class on ServerTransfer.php 2020-06-06 11:37:43 -06:00
Matthew Penner
65393914c3 Send mounts when wings fetches server information, fix issue with mount fields not being updated 2020-05-21 15:14:09 -06:00
Matthew Penner
0eb29dac9c Add mount_server table, fix wrong field type on other many to many tables, add routes for mounting and unmounting mounts on a server, finish server admin mounts page 2020-05-21 14:23:12 -06:00
Matthew Penner
77150b2551 Add increment id to mount, add basic mount view page 2020-05-20 19:17:35 -06:00
Matthew Penner
976b669059 Make StyleCI happy 2020-05-20 18:57:30 -06:00
Matthew Penner
a4af8ec977 Add the ability to create mounts 2020-05-20 18:55:59 -06:00
Matthew Penner
00d1b5861a Properly setup Mount model, add database migration, get mount admin page added 2020-05-20 18:07:56 -06:00
Matthew Penner
59a150148a feature/server-mounts initial commit 2020-05-20 17:29:03 -06:00
Dane Everitt
3b2e2c63c6
Only show relevant configuration; update default path to be what the daemon expects 2020-05-09 15:44:13 -07:00
Charles Morgan
c3da5f0c0c
Update Node.php
No longer needed in wings config.
2020-05-09 01:03:36 -04:00
Dane Everitt
41845ffdad
Backups cannot be nullable 2020-05-04 19:06:20 -07:00
Dane Everitt
b774622faa
Add base support for AWS/Wings backup adapters 2020-04-26 16:07:36 -07:00
Dane Everitt
f1c3762f4d
Add base support for definining the number of backups that can be created for a server 2020-04-26 12:12:29 -07:00
Dane Everitt
72ecac5236
Merge pull request #1963 from Sir3lit/maxconn
Add Max Concurrent Connections for database users
2020-04-25 11:01:01 -07:00
Dane Everitt
0385d2a05c
Merge pull request #1939 from Sir3lit/optionaldesc
Allow description fields to be optional
2020-04-23 20:37:02 -07:00
Charles Morgan
e3303f7a60 Change validation rule
Change validation rule to
2020-04-23 14:59:47 -04:00
Charles Morgan
82dd7dc8e3 Allow Null = 0
Allow Value to be nullable, will autofill 0 if value is null or 0, to facilitate "unlimited" connections.
2020-04-23 10:45:44 -04:00
AreYouScared
f0e4764a11 Add Max Concurrent Connections for database users
Closes #1849

Allows database users to be limited to a number of concurrent connections to prevent one user from connecting hundreds of time and bottlenecking the MySQL server.
2020-04-22 06:00:04 -04:00
Dane Everitt
00b0d30c60
Fix handling for backups; correctly send along ignored files & directories 2020-04-18 23:26:59 -07:00
AreYouScared
21491e3aaa Allow descrition field to be optional
Allows for Nest, Node, Location and Egg description fields to be blank / nullable.
Removed "required" wording next to them aswell
2020-04-17 20:52:40 -04:00
Dane Everitt
e969344f3b
Fix display of navbar links to admins, closes #1920 2020-04-17 10:21:15 -07:00
Dane Everitt
7557dddf49
Store node daemon tokens in an encrypted manner 2020-04-10 15:15:38 -07:00
Jakob Schrettenbrunner
a1f4baa800 re-enable auto-deploy daemon endpoint 2020-04-10 17:38:20 +02:00
Matthew Penner
2f506d564b
Merge branch 'develop' into feature/server-transfers-actually 2020-04-04 20:56:37 -06:00
Dane Everitt
be05d2df81
Add support for generating a signed URL for downloading a file from the daemon 2020-04-04 19:54:59 -07:00
Matthew Penner
fd4de9168a
Merge branch 'develop' into feature/server-transfers-actually 2020-04-04 16:28:02 -06:00
Matthew Penner
142bf16aae Fix StyleCI issues 2020-04-04 16:24:58 -06:00
Matthew Penner
454ce6ce45 Add successful column to server_transfers table, get server transfers working properly :) 2020-04-04 16:16:18 -06:00
Matthew Penner
6ba6c34252 Add ServerTransfer relation in Models/Server.php, notify the new daemon about the incoming server transfer 2020-04-04 14:10:18 -06:00
Dane Everitt
25b0e86730
backup names don't actually matter all that much, they don't get used as file names 2020-04-04 12:30:29 -07:00
Dane Everitt
d27f0c6f2a
Basic backend support to at least store a backup model in the DB 2020-04-04 12:26:39 -07:00
Dane Everitt
6d426e45d9
Whoops, remove this too 2020-04-04 11:57:50 -07:00
Dane Everitt
5f42325284
Don't trigger a recursive nesting call 2020-04-04 11:37:10 -07:00
Dane Everitt
9991989f89
Very basic implemention of frontend logic required to display backups and create a new one 2020-04-04 10:59:25 -07:00
Matthew Penner
86b7b6ecc3 Add Models/ServerTransfer.php 2020-04-04 11:37:44 -06:00
Matthew Penner
5007ce0b1c Get to the point where we can start notifying the other daemon, remove TransferJob.php, add DaemonTransferRepository.php 2020-04-04 00:50:12 -06:00
Dane Everitt
17ec4efd3b
Add base migration and model for server backups 2020-04-03 23:40:20 -07:00
Dane Everitt
f51d65229b
Add support for immutable carbon dates in models 2020-04-03 23:22:35 -07:00
Matthew Penner
a2eab3ca43 Add ui elements for handling server transfers, add TransferJob.php and TransferService.php 2020-04-03 21:45:37 -06:00
Matthew Penner
49f0421e90 Fix issue with regex rule on 'threads' column, fix StyleCI issues on migration 2020-04-03 18:59:47 -06:00
Matthew Penner
829f05a2c7 Add migration for 'threads' column, fix errors on some admin pages, add validation rule for 'threads' column 2020-04-03 18:50:07 -06:00
Dane Everitt
7d45379f31
Add back support for reinstalling a server 2020-04-03 13:46:45 -07:00
Dane Everitt
171b21e7ee
Add permissions handling to the console; remove kill permission (wrapped in with stop) 2020-03-29 22:12:50 -07:00
Dane Everitt
5717a705a8
Fix authorization checking for subusers 2020-03-28 16:18:56 -07:00
Dane Everitt
e4e5dea6b8
Fix API key creation logic 2020-03-28 16:06:36 -07:00
Dane Everitt
a6f46d36ba
Implement basic code for creating/updating a subuser 2020-03-27 14:23:13 -07:00
Dane Everitt
51c5cf4dbb
Get basic modal view for editing/creating a new subuser working 2020-03-25 21:58:37 -07:00
Dane Everitt
933a4733e8
Add base support for creating a new API key for an account 2020-03-22 18:15:38 -07:00
Dane Everitt
32f25170f1
Pass at removing extraneous permissions table and using native MySQL JSON 2020-03-22 16:56:00 -07:00
Dane Everitt
23d594f655
Update all of the permissions checking to be constant based 2020-03-22 15:31:25 -07:00
Dane Everitt
cf7f36c950
Always include the tasks with a schedule 2020-03-22 13:57:31 -07:00
Dane Everitt
ef38a51d6d
Add base support for editing an existing task 2020-03-18 22:28:32 -07:00
Dane Everitt
78ed343a34
Support deleting a task from a schedule 2020-03-18 21:08:32 -07:00
Dane Everitt
b3fb658511
Merge branch '0.7-develop' into develop 2020-03-15 17:30:28 -07:00
Dane Everitt
41cbdb8d59
Dont require an IP address for hostnames; closes #1728 2020-03-15 16:29:05 -07:00
Dane Everitt
32e9fb0346
Add basic listing of server schedules 2020-02-08 15:23:08 -08:00
Dane Everitt
3b11ba9fca
Basic support for installation process 2020-01-18 15:26:15 -08:00
Dane Everitt
5f13531c69
Fix up subuser API response for clients 2019-12-28 12:03:19 -08:00
Dane Everitt
51defae917
Merge branch 'master' into develop 2019-12-28 11:49:08 -08:00
Dane Everitt
66ead2f682
Update subuser API output to work correctly 2019-12-28 11:39:44 -08:00
Dane Everitt
63918cb549
Use the correct certificate key in the config 2019-12-24 16:48:50 -08:00
Dane Everitt
979bdc1f9f
Use YAML for configuration file 2019-12-08 11:29:46 -08:00
Dane Everitt
c087f6429f
Temporary patch to get user management pages displaying correctly 2019-12-08 11:02:59 -08:00
Dane Everitt
06e5a05f22
Don't cause an endless loop 2019-12-08 10:44:58 -08:00
Dane Everitt
547e8840e2
Untested code to perform an update of server build settings 2019-11-24 15:08:54 -08:00
Dane Everitt
c17f9ba8a9
Move server view management parts to new controller and clean up code 2019-11-24 12:50:16 -08:00
Dane Everitt
8f0044575f
Update server creation data logic 2019-11-16 13:33:01 -08:00
Dane Everitt
867dbf3bd2
Update all the client API endpoints to use new permissions codes 2019-11-03 17:13:47 -08:00
Dane Everitt
543884876f
Add basic subuser listing for servers 2019-11-03 12:20:11 -08:00
Dane Everitt
c66d2cd123
A few adjustments for chunking the new file edit page 2019-09-28 14:59:05 -07:00
Lance Pioch
513965dac7 Update syntax for styleci (#1700) 2019-09-23 12:30:51 -07:00
Dane Everitt
67ff67a1bd
Add endpoints to return a server's egg configuration 2019-09-22 15:30:53 -07:00
Dane Everitt
54339c1344
Add property information to common models 2019-09-05 21:53:33 -07:00
Dane Everitt
7543ef085d
Format files 2019-09-05 21:32:57 -07:00
Dane Everitt
0d6cf54314
[L6] Update even more areas of codebase using custom model validation logic 2019-09-04 22:26:28 -07:00
Dane Everitt
c586157dc4
[L6] Add support for custom model validation logic 2019-09-04 22:19:57 -07:00
Dane Everitt
5b4a65a60c
[L6] Break search functionality without breaking the entire app 2019-09-04 21:21:07 -07:00
Dane Everitt
08bdc9705f
[L6] Update composer dependencies to support L6
Drops all of the eloquence requirements, this is going to break a shit load of code, needs to happen tired of this package always holding us back.

Quite confident in my ability to write custom code to do the basic validation we need.

Searching should be a fun nightmare to deal with later...
2019-09-04 21:00:34 -07:00
Dane Everitt
fb9c106448
Update server listing and associated logic to pull from the panel dynamiacally 2019-08-17 16:03:10 -07:00
Dane Everitt
81143e231a
Merge branch 'master' into develop 2019-08-04 13:49:26 -07:00
Dane Everitt
81409947cf
Default to OOM killer being disabled, add back configuration option per-server 2019-08-03 13:41:24 -07:00
Dane Everitt
58796e7441
Fix Server model to use correct relationship when returning subusers, closes #1589 2019-08-03 12:56:32 -07:00
Dane Everitt
5c99cae779
Merge branch 'develop' into feature/vuejs 2019-05-01 20:57:49 -07:00
Isaac A
38cd8f2962
Allow nodes to be created on privileged ports 2019-03-16 21:18:46 -04:00
Dane Everitt
a66d7a3417
Merge branch 'develop' into feature/vuejs 2019-03-09 11:19:07 -08:00
Dane Everitt
f15449f17b
Fix servers not being marked as install failed 2019-03-03 13:44:28 -08:00
Dane Everitt
a4d7985e51
[#1500] Fix allocation limit being required even though it isn't used. 2019-03-02 14:27:01 -08:00
Dane Everitt
5ca13839cf
Merge branch 'develop' into feature/vue-serverview 2018-09-05 21:34:59 -07:00
Dane Everitt
7ed9c7cb93
Correctly store changes to upload size limit, closes #1237 2018-09-03 14:53:58 -07:00
Dane Everitt
0999ec93c3
More logic for deleting databases 2018-08-25 15:07:42 -07:00
Dane Everitt
8db9d9bbee
Very rough go at connecting to socket and rendering console data for server 2018-07-20 23:45:07 -07:00
Dane Everitt
6336e5191f
Strip out JWT usage and use cookies to track the currently logged in user 2018-07-14 22:42:58 -07:00
stanjg
013dde75ae
Renamed the field and made some improvements 2018-05-31 16:34:35 +02:00
Dane Everitt
e3bbd85f3f
Merge branch 'develop' into pr/1129 2018-05-26 10:34:29 -07:00
Dane Everitt
00df0b66a6
Merge pull request #1148 from pterodactyl/feature/doc-block-improvements
@throws docblock improvements
2018-05-20 16:25:59 -07:00
Lance Pioch
f82b419d47 Update php doc blocks 2018-05-13 12:42:11 -04:00
Lance Pioch
e2dc0638d9 Fix app/ spelling errors 2018-05-13 11:12:41 -04:00
stanjg
86c8ecdcdf
Added the actual logic 2018-05-04 15:02:51 +02:00
Lance Pioch
ceff5acb85 Public is just the boolean (#1101) 2018-04-08 15:36:40 -05:00
Stan
f1a76ec7fd Add description field to nodes (#1065) 2018-03-26 13:57:24 -05:00
Stan
56478d81da Added cast for 'public' field (#1085)
The missing cast was resulting in the API to send a 0 or 1 instead of true or false for the public field
2018-03-26 13:56:58 -05:00
Dane Everitt
dfb002fb33
Change config value for daemon 2018-03-08 23:35:36 -06:00
Dane Everitt
5839034e8f
Fix egg copy from, closes #995 2018-03-06 23:07:00 -06:00
Dane Everitt
6d217869e0
Don't load daemon key on server models automatically. 2018-03-03 18:09:49 -06:00
Dane Everitt
bcb69603ad
Add support for user management of databases 2018-03-02 19:03:55 -06:00
Dane Everitt
87b96bdfc8
Add core logic to allow for limited databases and allocations 2018-03-01 20:08:27 -06:00
Dane Everitt
4cfb8941d5
Fix broken users table in database causing validation errors. 2018-02-25 16:08:01 -06:00
Dane Everitt
bdbed7706d
Set much higher throttle limits by default 2018-02-24 16:00:53 -06:00
Dane Everitt
5c4200dc0c
Make external_id fillable 2018-02-24 14:47:53 -06:00
Dane Everitt
633bba6d6e
Add support for external_id on servers, closes #975 2018-02-24 11:57:12 -06:00
Dane Everitt
e7e50bc45d
Add a few new internal configs to the node config 2018-02-18 20:39:43 -06:00
Dane Everitt
e9680fc29c
Fix for StyleCI 2018-02-17 16:21:37 -06:00
ShadowKitten
d8be167a9c Add support for allowing subusers to access SFTP. (#918) 2018-02-17 16:10:44 -06:00
Dane Everitt
d86c35d80f
Prevent duplicate allocations for servers 2018-02-17 13:53:38 -06:00
Dane Everitt
241f7d0125
Fix some data integrity issues 2018-02-17 13:37:53 -06:00
Dane Everitt
bf537922a3
Fix username validation and auto-generation, closes #927 2018-02-11 16:39:50 -06:00
Dane Everitt
a9c1946319
Add support for finding a user by external ID. 2018-02-07 21:56:11 -06:00
Dane Everitt
7a19019980
Fix suspension/installed handling for servers
closes Pterodactyl/Panel#891
2018-01-30 22:40:21 -06:00
Dane Everitt
5ed164e13e
Implement server creation though the API.
Also implements auto-deployment to specific locations and ports.
2018-01-28 17:14:14 -06:00
Dane Everitt
2bd691efad
Add database list endpoint, add more resource name magic 2018-01-25 21:26:06 -06:00
Dane Everitt
17f6f3eeb6
Add server details modification endpoint to API. 2018-01-20 16:03:23 -06:00
Dane Everitt
a497a3d153
Make server listing and single server view API endpoints work 2018-01-19 21:47:06 -06:00
Dane Everitt
f9fc3f4370
Update interface to begin change to seperate account API keys and application keys
Main difference is permissions, cleaner UI for normal users, and account keys use permissions assigned to servers and subusers while application keys use R/W ACLs stored in the key table.
2018-01-14 13:30:55 -06:00
Dane Everitt
14f9e1ad43
More permission removal cleanup 2018-01-14 12:11:04 -06:00
Dane Everitt
ad3a954256
Rename APIKey to ApiKey 2018-01-14 12:06:15 -06:00
Dane Everitt
7aa540b895
Remove api permissions table 2018-01-14 12:05:18 -06:00
Dane Everitt
e3df0738da
Change the way API keys are stored and validated; clarify API namespacing
Previously, a single key was used to access the API, this has not changed in terms of what the user sees. However, API keys now use an identifier and token internally. The identifier is the first 16 characters of the key, and the token is the remaining 32. The token is stored encrypted at rest in the database and the identifier is used by the API middleware to grab that record and make a timing attack safe comparison.
2018-01-13 16:06:19 -06:00
Dane Everitt
d644a53951
Update users & locations to use new permissions format 2018-01-12 20:39:15 -06:00
Dane Everitt
a31e5875dc
First round of changes to API to support simpler permissions. 2018-01-11 22:49:46 -06:00
Dane Everitt
cf21fd5a4b
More API updates, better support for node config edits 2018-01-10 23:19:03 -06:00
Dane Everitt
800e2df6b2
Merge branch 'develop' into feature/api-v1
# Conflicts:
#	app/Contracts/Repository/RepositoryInterface.php
#	app/Repositories/Eloquent/EloquentRepository.php
#	app/Services/Nodes/NodeUpdateService.php
#	tests/Unit/Services/Nodes/NodeUpdateServiceTest.php
2018-01-10 20:55:22 -06:00