Commit graph

351 commits

Author SHA1 Message Date
Dane Everitt
c59cfce72c Apply fixes from StyleCI (#416) 2017-05-01 20:58:36 -04:00
Dane Everitt
43df6533b0
Ensure reserved environment names aren't changed, fix undefined variable, ref #412 2017-05-01 17:01:46 -04:00
Dane Everitt
5545075302
Fix docker image field being required for inheritance, closes #413 2017-05-01 16:51:50 -04:00
Dane Everitt
605c91a9af
Use cache helpers rather than database to handle configuration tokens and downloads. 2017-05-01 14:21:18 -04:00
Dane Everitt
2330c25a8c
Move old /remote routes into /daemon sphere. 2017-05-01 13:59:33 -04:00
Dane Everitt
7eb7377dd5
I really need to stop trying to override PHP reserved keywords... 2017-04-28 10:19:04 -04:00
Dane Everitt
1c37a8fe1a
Fixes account creation and password reset abilities. 2017-04-28 00:07:38 -04:00
Dane Everitt
3ee7b7cff1
Add ability to mark a node as being over a proxy 2017-04-27 22:52:37 -04:00
Dane Everitt
30b4934013
Include default installation scripts, as well as ability to symlink a script 2017-04-27 16:16:59 -04:00
Dane Everitt
77b1a258d9 Weekly fix of my StyleCI violations... 2017-04-24 16:56:38 -04:00
Dane Everitt
a5a1ea3165
Add ability to change service implementation for a server. 2017-04-21 17:52:44 -04:00
Dane Everitt
e0958414d7
Fix server deletion 2017-04-21 17:21:00 -04:00
Dane Everitt
8dc24471ae
Add reinstall abilities and cleanup process for new servers 2017-04-20 18:52:43 -04:00
Dane Everitt
3fe5d162f5
Add skip scripting option 2017-04-20 17:57:40 -04:00
Dane Everitt
c8f1335a09
Fixup merge 2017-04-20 17:26:20 -04:00
Dane Everitt
8d24e5f168
Merge branch 'develop' into feature/option-scripts
# Conflicts:
#	app/Http/Routes/AdminRoutes.php
#	app/Http/Routes/DaemonRoutes.php
#	app/Models/ServiceOption.php
2017-04-20 17:08:08 -04:00
Dane Everitt
e4ef8caf2d
Fix model not found error when editing an existing subuser. 2017-04-17 21:47:11 -04:00
Dane Everitt
3acc7b338b
Allow deleting default allocation and setting new default at the same time. 2017-04-17 21:07:37 -04:00
Dane Everitt
de923bbb83
Fix server deletion logic, and clean up suspend/unsuspend operations 2017-04-17 20:16:05 -04:00
kasper Franz
f5810f068a change server to server_id since that is the new name 2017-04-16 13:37:40 +02:00
Dane Everitt
7f1a97184b
Un-butcher task system. 2017-04-15 13:52:43 -04:00
Dane Everitt
23e6e0510b
Move config::set calls into single helper function 2017-04-13 23:19:01 -04:00
Dane Everitt
2c1b332fee
Minor API handling fixes. 2017-04-09 19:22:49 -04:00
Dane Everitt
93d79994f8 Apply fixes from StyleCI (#372) 2017-04-09 19:16:39 -04:00
Dane Everitt
722fd614a1
Add new dynamic view for creating API keys 2017-04-09 18:59:54 -04:00
Dane Everitt
820d2bf172
Node and user API routes implemented.
More attempts at the logic for API permissions, most likely will need
continued tweaking in the future, but base is there.
2017-04-09 15:31:10 -04:00
Dane Everitt
c492446513
Implement initial server and location API routes.
Also fixes a few exception handler issues causing incorrect HTTP status
codes on authorization errors.
2017-04-09 13:15:15 -04:00
Dane Everitt
c071efd008
Finish API routes for users. 2017-04-02 15:52:53 -04:00
Dane Everitt
9c303456fb Update codebase to L5.4 (#367) 2017-04-01 17:59:43 -04:00
Dane Everitt
27d472195f
Misc. bug fixes 2017-04-01 12:29:56 -04:00
Dane Everitt
844ebfaf64
Add support for starting server on creation. 2017-04-01 12:29:49 -04:00
Dane Everitt
edaa270a33
Add server descriptions, closes #338 🐖
🐷 https://s3.kelp.in/D0n2Z.png
2017-03-31 23:07:19 -04:00
Dane Everitt
536865b22a
Remove deletion queue for servers. Just immediately delete. 2017-03-31 22:12:31 -04:00
Jakob Schrettenbrunner
ec0b55bcfe fix missing path for Permission model in SubuserRepository 2017-03-31 12:50:58 +02:00
Dane Everitt
9106971565
closes #362 2017-03-30 16:30:22 -04:00
Dane Everitt
95c739a3f3
Update subusers view 2017-03-30 15:31:02 -04:00
Dane Everitt
f0057353ad Apply fixes from StyleCI 2017-03-19 23:52:11 +00:00
Dane Everitt
0312c974f5
Update doc blocks for all app/ 2017-03-19 19:36:50 -04:00
Dane Everitt
4e916cbf08
Fix auto-deploy checkbox triggering error 2017-03-19 12:39:22 -04:00
Dane Everitt
e8a80c6a20
Fix allocation parsing bug. 2017-03-19 11:13:18 -04:00
Dane Everitt
03e0de28d9
Initial implementation of option scripts on panel side. 2017-03-18 13:09:30 -04:00
Dane Everitt
5d990dcb06
Revert "Rename startup command to add deprecation support to containers."
This reverts commit fdd1d11038.
2017-03-17 19:35:48 -04:00
Dane Everitt
fdd1d11038
Rename startup command to add deprecation support to containers. 2017-03-17 19:09:54 -04:00
Dane Everitt
202dd52e2b
Fixes bug causing MySQL user accounts to be corrupted when resetting a password via the panel.
closes #352
2017-03-17 17:17:36 -04:00
Dane Everitt
7e45f917c7
Fix subuser permissions in file manager 2017-03-17 16:19:45 -04:00
Dane Everitt
4ad09c5435
Fixes bug introduced during admin rewrite that broke server creation 2017-03-16 21:11:15 -04:00
Dane Everitt
be60299089
Send correct container to daemon 2017-03-16 20:49:11 -04:00
Dane Everitt
198a021a97
Add database host management to panel. 2017-03-16 19:35:29 -04:00
Dane Everitt
5bbded2c03
Correctly json_encode validation errors. 2017-03-16 19:30:04 -04:00
Dane Everitt
05d2a6d370
Add back locations with new theme 2017-03-16 18:09:02 -04:00
Dane Everitt
db072025d4
Reference the correct column in the DB 2017-03-15 21:39:50 -04:00
Dane Everitt
1c47b2ed55
Finish pack management in Admin CP 2017-03-15 20:52:37 -04:00
Dane Everitt
50558db7c3
Add initial pack creation and overview pages 2017-03-14 21:18:36 -04:00
Dane Everitt
2d90187c83
StyleCI fixes 2017-03-12 19:38:50 -04:00
Dane Everitt
fcadee7e67
Fix front and backend views with new service variable setups 2017-03-12 19:34:06 -04:00
Dane Everitt
66e94dd7c0
combine validation 2017-03-12 18:31:56 -04:00
Dane Everitt
97cad1d55e
Update seeders to not error out and allow updating values quickly. 2017-03-12 18:02:15 -04:00
Dane Everitt
e791d561ba
More StyleCI... 2017-03-12 16:35:25 -04:00
Dane Everitt
1897741381
StyleCI cleanup 2017-03-12 16:34:43 -04:00
Dane Everitt
f5a4ec981d
Add ability to create new service variable. 2017-03-12 16:28:38 -04:00
Dane Everitt
419031e0cd
Add function file editing, and move all service file items into database 2017-03-12 15:59:17 -04:00
Dane Everitt
d7682bb7c9
Complete new service, option, and variable management interface in Admin CP 2017-03-12 00:00:06 -05:00
Dane Everitt
bccbb309b2
Fix broken descriptors 2017-03-11 15:02:04 -05:00
Dane Everitt
70db461075
Start push of service changes.
Changes the way service files are stored and allows for much easier
updates in the future that won’t affect custom services.

Also stores more configurations in the database to make life easier for
everyone.
2017-03-10 18:25:12 -05:00
Dane Everitt
5bf2e2686a Apply fixes from StyleCI (#335) 2017-03-05 20:28:29 -05:00
Dane Everitt
32dec97e46
Improved database mechanics in admin CP for server view 2017-03-05 16:37:40 -05:00
Dane Everitt
349b36d38a
Added startup management, cleaned up code.
Refactored entire startup repository code block to be more efficient
and cleaner. Also includes modifications to front-end to make it match
backend name and design.
2017-03-04 23:45:25 -05:00
Dane Everitt
e688468920
Push updated server views 2017-03-04 19:03:49 -05:00
Dane Everitt
b1564389d8 Apply fixes from StyleCI (#331) 2017-03-03 23:38:21 -05:00
Dane Everitt
fd9f1a68eb
Implement node view, cleanup other files.
Still in progress, need to do a lot of controller cleanup first and add
node deletion as well.
2017-03-03 17:30:41 -05:00
Dane Everitt
fb21bf9282
Begin implementation of server admin view
Currently completed tabs: About, Details, Build Configuration
2017-02-25 00:48:14 -05:00
Dane Everitt
bbf9fd12ae Apply fixes from StyleCI (#325) 2017-02-24 18:23:03 -05:00
Dane Everitt
cb6b44d4f0
Completed new server page with new theme. 2017-02-24 18:19:03 -05:00
Dane Everitt
b11029a666 Apply fixes from StyleCI (#312)
* Bump for release

* Apply fixes from StyleCI
2017-02-18 22:57:50 -05:00
Dane Everitt
824041f6ca
Fix service creation/updates, closes #306 2017-02-17 20:40:50 -05:00
Dane Everitt
054e65b78f
Fix user deletion 2017-02-17 19:28:23 -05:00
Dane Everitt
95171a3e41
Better user creation email. 2017-02-17 18:48:57 -05:00
Dane Everitt
3240601d03
Fix bug when trying to add new subuser. 2017-02-17 18:26:47 -05:00
Dane Everitt
ff9904227b
Fix server editing 2017-02-17 18:17:28 -05:00
Dane Everitt
008b18e19a
Fixes deployment issue with new servers due to DB changes. 2017-02-17 12:08:11 -05:00
Dane Everitt
73996d3154
Fix bug in node update 2017-02-16 15:57:02 -05:00
Dane Everitt
10164f5a51
Require admin to update startup argument. 2017-02-16 14:23:22 -05:00
Dane Everitt
8740be05b3
Fix adding variables 2017-02-16 14:07:10 -05:00
Dane Everitt
2e134b7a55
Set out some roach traps to catch all these 🐛 2017-02-16 13:56:28 -05:00
Dane Everitt
336234843d
Remove deprecated function calls 2017-02-16 13:31:25 -05:00
Dane Everitt
38feac9f0b
Fix server deletion mechanics 2017-02-16 13:26:39 -05:00
Dane Everitt
516e2dc5ee
Add back API key deletion 2017-02-16 12:57:48 -05:00
Dane Everitt
2fdde75f9c
Fix boolean flipping 2017-02-15 16:59:50 -05:00
Dane Everitt
788de1b23a
Fix grepping about. 2017-02-15 16:57:45 -05:00
Dane Everitt
19d352619e
More singularization and correct file names. 2017-02-12 16:03:17 -05:00
Dane Everitt
8ba479e51f
Singularize model names. 2017-02-12 16:02:23 -05:00
Dane Everitt
7c916ad38f Apply fixes from StyleCI (#294) 2017-02-12 15:10:39 -05:00
Dane Everitt
32a1dc17ed
API model updates, as well as general model updates and code fixes. 2017-02-10 20:26:38 -05:00
Dane Everitt
8dc1f41b73
More code cleanup. 2017-02-10 17:41:56 -05:00
Dane Everitt
3b3002b77a
API Model updates. 2017-02-10 17:29:10 -05:00
Dane Everitt
99812b0407
More subuser Model updates. 2017-02-09 19:38:54 -05:00
Dane Everitt
4f61637284
More model updates to more places than I anticipated.
This probably broke a lot of things.
2017-02-09 17:43:54 -05:00
Dane Everitt
323f1d943f
Completed model updates for Services 2017-02-05 17:58:17 -05:00
Dane Everitt
09d23deed6
New models for node and location admin pages. 2017-02-03 16:50:28 -05:00
Dane Everitt
3baa21a6eb
StyleCI fixes. 2017-02-02 19:43:55 -05:00
Dane Everitt
3114b7e52a
Complete implementation of new Server model. 2017-02-02 19:41:38 -05:00
Dane Everitt
d4bcf0be59
Initial implementation of improved sever model and logic 2017-02-02 18:21:36 -05:00
Dane Everitt
e5ed1c7f6a One day eslint will have a PHP counterpart that works in Atom... 🤔 2017-01-31 20:04:34 -05:00
Dane Everitt
1679d866a5
Improved gzip detection 2017-01-27 16:47:50 -05:00
Dane Everitt
9087feec4f
Remove build settings from packs. 2017-01-27 16:21:25 -05:00
Dane Everitt
95d0c646f9
Require packs to be a tarball 2017-01-25 18:25:34 -05:00
Dane Everitt
96e50506a1
Move notification email of server created into the event listener 2017-01-25 18:25:34 -05:00
Emmet Young
58de6125c2 Location should be validated on creation of a server, 2017-01-25 22:01:57 +11:00
Dane Everitt
a137e6ed72
Add base implementation of extendable events classes
Modified server deletion to use internal event handlers from the
Eloquent models themselves. Also added a few preliminary event handlers
in the `Pterodactyl\Events\<USer|Server> namespace that users can hook
into in EventServiceProvider to perform their own actions as they
please (such as push notifications and such).
2017-01-24 19:15:03 -05:00
Dane Everitt
bf7b58470a
Update copyright headers 2017-01-24 17:57:08 -05:00
Dane Everitt
5f1bfcf980
Much cleaner code for updating user details front-end 2017-01-22 16:16:43 -05:00
Emmet Young
9025f1f583 Repair user creation functionality
Repair functionality of the make user console command (pterodactyl:user)
Fix up the user repository, was using the old $password instead of the changed format $data['password']
Change User model to allow root_admin to be a fillable item.
2017-01-23 00:47:09 +11:00
Dane Everitt
8e9069cced
Subuser updates 2017-01-21 00:04:09 -05:00
Dane Everitt
0d792f05c5
Properly handle no passed packs. 2017-01-13 23:21:37 -05:00
Dane Everitt
b71604566e
Improved code to generate SFTP usernames
Fixes edge case where specific server names could cause daemon errors
due to an invalid SFTP username being created by the panel.
2017-01-13 22:22:25 -05:00
Dane Everitt
e91362eee6
Update user controller 2017-01-12 15:40:24 -05:00
Dane Everitt
6bd9663f59
Merge branch 'develop' into feature/service-changes 2017-01-12 13:15:37 -05:00
Jakob Schrettenbrunner
52a395ac9a fix forgotten rename of NodeConfigurationToken 2017-01-07 18:26:45 +01:00
Jakob Schrettenbrunner
e1e159b7de add ability to generate a token to retrieve the config for a specific node 2017-01-07 18:10:11 +01:00
Dane Everitt
fb182ffb4a Apply fixes from StyleCI 2016-12-30 22:00:06 +00:00
Dane Everitt
0afa568095
Address two bugs in subuser system.
1.) Prevents adding the owner of a server as a subuser which could
potentially break things.
2.) Prevents adding duplicate subusers for a server.
2016-12-30 16:28:43 -05:00
Dane Everitt
7848f63e05
Fix error thrown on 0 values for variables, closes #223 2016-12-30 16:00:51 -05:00
Dane Everitt
43786b1d2a
Block addition of more than 2000 ports at once, closes #219 2016-12-30 15:50:37 -05:00
Dane Everitt
9a494d8245
Adjust server name requirements, closes #205 2016-12-30 15:46:10 -05:00
Dane Everitt
fd360f6475
Fix data pack assignment 2016-12-14 17:17:16 -05:00
Dane Everitt
efda0dd009 Apply fixes from StyleCI 2016-12-14 21:56:25 +00:00
Dane Everitt
fc38b09e1f
Merge branch 'develop' into feature/service-changes 2016-12-14 16:53:53 -05:00
spaceemotion
a85ac87ae8 Refactor to use more laravel logic and improve compatibility with older PHP versions (#206)
* Fix @param namespaces for PHPDocs in ServerPolicy

* Reduce permission check duplication in ServerPolicy

This introduces a new checkPermission method to reduce code duplication when checking for permissions.

* Simplify logic to list accessible servers for the user

We can directly use the pluck function that laravel collections provide to simplify the logic.

* Fix pagination issue when databases/servers exceed 20

Laravels strips out the currently selected tab (or any GET query for that matter) by default when using pagination. the appends() methods helps with keeping that information.

* Refactor unnecessary array_merge calls

We can just append to the array instead of constantly merging a new copy.

* Fix accessing “API Access” on some versions of PHP

The “new” word is reserved and should not be used as a method name.

http://stackoverflow.com/questions/9575590/why-am-i-getting-an-unexpected-t-new-error-in-php

* Fix revoking API keys on older versions of php (5.6)

“string” was not a valid function argument type yet, so revoking keys results in an error on older installations.

* Fix issues with API due to methods named “list”

“list” is yet another reserved keyword in PHP and messes up older installations of PHP (5.6).
This renames all methods named “list” to “lists”. The API route names are left untouched (e.g. still called “api.admin.users.list”).

* Refactor and shorten some API logic

Used laravel collection methods where applicable to directly transform the values instead of converting back and forth.
This also removes some dead variables that were never used as well as getting rid of a n+1 problem in the Service API (loading service variables afterwards, not during the model creation).

* Return model save status in repositories where applicable

* Fix typo in ServicePolicy#powerStart

* Apply StyleCI corrections
2016-12-12 14:30:57 -05:00
Dane Everitt
c1fb0a665f Apply fixes from StyleCI 2016-12-07 22:46:38 +00:00
Dane Everitt
259b220dfc
misc file cleanup 2016-12-02 18:45:08 -05:00
Dane Everitt
1eb1f96e71
Add support for updating the daemon's configuration file automatically. 2016-12-01 18:33:32 -05:00
Emmet Young
a03add7e4f Allow API to set a custom ID for server creation. (#187)
* Allow API to set a custom ID for server creation.

Useful when dealing with billing systems such as WHMCS

* Correct API code changes based on feedback.
2016-11-30 11:01:22 -05:00
Dane Everitt
75de060a55
Fix pack selector 2016-11-27 14:57:23 -05:00
Dane Everitt
c4a4b84bd3
Add service pack reference to server and send to daemon 2016-11-27 14:50:10 -05:00
Dane Everitt
9eb14614c2
Merge branch 'develop' into feature/service-changes 2016-11-27 14:01:13 -05:00
Dane Everitt
f6275058d0
Support for hostnames in database connection field. 2016-11-26 20:27:36 -05:00
Dane Everitt
1ad715f1a3
Improve database management for servers, fixes #181 2016-11-26 17:34:14 -05:00
Dane Everitt
723b608e0c
Implement node deletion properly, fixes #173 2016-11-26 16:29:13 -05:00
Dane Everitt
fc2ce11a39
Add template, add files when new service is added. 2016-11-18 18:22:26 -05:00
Dane Everitt
5600f3201c
Add support for deleting service packs. 2016-11-18 17:31:57 -05:00
Dane Everitt
d4729427aa
Support for uploading templates for installing packs 2016-11-16 17:22:22 -05:00
Dane Everitt
e09659a88f
support for pack editing 2016-11-16 16:09:28 -05:00
Dane Everitt
a1bc6fa2d3
Push changes that support creations of service packs and basic listing 2016-11-15 20:20:32 -05:00
Dane Everitt
cfd5e0e854
Implement base service file modification through panel 2016-11-09 17:58:14 -05:00
Dane Everitt
cd3f5ed6fe
Correct password setting for MySQL user 2016-11-04 20:47:40 -04:00
Dane Everitt
6fd7c78f0c
Add server deletion to a queue.
This action allows servers to be deleted, but only be soft-deleted for
10 minutes. After that time period the server will be completely
removed from the database and daemon. This allows some safety if a
server is accidentally deleted.

Force deleting a server will still work. If the daemon is in-accessible
the server will fail to be deleted. When server is soft-deleted admins
can still view its information page in the admin CP, however the server
will be suspended and inaccessible on the front-end or though the
daemon.

Admins can manually delete the server ahead of the delete timer, or if
it failed to delete previously they can do an immediate retry.
2016-10-27 20:05:29 -04:00
Dane Everitt
55c9f0f2f2
Delete databases when we delete a server. 2016-10-23 19:21:57 -04:00
Dane Everitt
08b236ac1d
better port checking, don't send rebuild unless things are changed. 2016-10-23 19:07:29 -04:00
Dane Everitt
0b044b3cc6
fixes bug that would allow deleting the default allocation for a server. 2016-10-23 18:59:13 -04:00
Dane Everitt
dda5d9aa01
Fix no error display if adding a server with an invalid email 2016-10-23 18:48:14 -04:00