* Add new panel
* Add some basic resource pages
* Wip
* Wip terminal
* Wip
* Add new panel
* Add some basic resource pages
* Wip
* [Sub-Users] Add Invite
TODO: The logic with permissions
* [Sub-Users] Fix Creation
* [Cron] Add basics
* Add basic auth and messages
* Add basic buttons
* WIP on issue/353
* WIP on issue/353
* Add Database page
* Update Database Page
* Start of Backup Page
* Composer Update
* Changes
* Send input
* Remove this includes
* Better offline handling
* Consolidate top nav config
* Update Backups Page
* Update Backups
* Change name
* Add Assign All, Layout Fixes.
* conflict
* update schedule pages
* fix phpstan
* update pint.json
* add cron presets to schedule
* fix tests
* fix task creation
* schedules: disable task creation if limit is reached & disable backup action if backup limit is 0
* update activity pages
* update resources
* Update Edit User
TODO: actually save permissions when they're changed.
TODO: Figure out why Control does not update it's state... but the rest do...
* .... Sure it works.
TODO: Update permissions when you save editing a sub user.
* user: update canAccessPanel & canAccessTenant
* add helper to convert bytes into readable format
* very basic file explorer
* files: fix some stuff & remove dummy data
* files: better error handling
* files: basic file editor
* files: add some actions
* File manager updates
* files: fix paths
* Revery Composer Upgrade, Fixes SQLite
* fix: Pint (#517)
feat: MenuItems to and from admin
* Update File Editing
Updated File Editing to its own page,
Added Permission checks for file manager.
Co-authored-by: Boy132 <Boy132@users.noreply.github.com>
* add enum for editor langs
* files: add upload & pull actions
* fix build
* files: handle images
* Update to Filament v3.2.98
* files: add remaining actions
* use `authorize` instead of `hidden`
* fix canAccessTenant
* update date columns
* files: testing & fixes
* Fix File Names
Co-authored-by: lancepioch <git@lance.sh>
* Combine Pull/Upload
* Fix BulkDelete
* Uncontained tabs
* Hide Lang Selection, Move Actions
* Update Monaco, more custom
* Add livewire config
livewire limits uploads to 12MB... who knows why...
Fixed uploading a single files failing
* files: fix record url
* basic setup for settings & startup page
* make abstract class for simple app pages
* Basic Startup Page
* Update nav sort
* small cleanup
* startup: fix shouldHideComponent & getSelectOptionsFromRules
* startup: fix non editable fields & set default value
* startup: add todo for save button
* Save Variables after update & off click
Variables update when the user clicks off the input.
* Notifications are cool
* Add rule validation
* Sort variables by sortid
* pint
* Settings Page + Startup Changes
* settings: cleanup
* refactor: use server model for ServerFormPage (formerly known as SimplePage)
* Use Repeater for variables
* Add Network, Remove breadcrumbs
* Add paginated to file explorer
* Fix updating variables
* Add link to go to new client area
* fix after merge
* Add graphs to console page
Graphs still need to get the data from the web socket.
* fix pint & phpstan
* fix authorizeAccess for EditFiles and Startup page
* Fix rules on startup page
* Update console size
* Fix node name
* add "global search" to files list
requires https://github.com/pelican-dev/wings/pull/44
* remove debug dummy data
* update view action on ListServers
* enable SPA mode for app panel
* remove colors from app panel
they are defined globally in AppServiceProvider
* update global search ui a bit
(to be replaced with a custom page that is similar to the list files table)
* add own page for global search
untested - and route needs cleanup (if possible)
* fix File getRows
* remove "path" from SearchFiles (for now)
* fix caching for searched files
* add title and breadcrumbs to global search page
* make cpu & memory charts on console page working
* fix phpstan
* add missing import
* cleanup console views & widgets
* add overview stats to console
* don't be so lazy, console!
* make history working
* decode data to get array
* add missing On
* fix json_decode
* change polling to 1 sec
* hide "0" cpu/ memory
* add data to network chart
* Remove data labels
* fix data on network chart
* fix data on network chart (2nd try)
* WIP Network Stats
* Remove test
* Change MaxWidth
* run pint
* fix phpstan
* Fix storeStats cast
* make $data a string
this time for real
* update visible check for "admin" menu item
* remove account widget
* rebrand "Dashboard" to "Server List"
WIP - doesn't look good but is somewhat working
* fix canAccessPanel
* separate server list into own panel
* change path to avoid conflicts with old client area (and remove sidebar width)
* display correct icon and color on server list entries
* show total memory if server is offline
* replace custom server list page with ListRecords page
* fix tests
* fix namespace
* remove "open" button and make whole column clickable
* Update EditProfile
* run pint
* fix access to server list
* add new login page to panels
* fix next_run_at for new schedules
* use new DateTimeColumn
* add own column for file bytes
* return to server list when clicking title
* fix console loading
* handle server with "conflict state"
* add banner if server is in "conflict state"
* fix phpstan
* update docker image select
* fix permission checks on Settings & Startup pages
* fix query for activity log page
* fix activity log not being logged
* adjust ListActivities
* fix phpstan
* fix pint
* fix profile menu item link on server panel
* add ip tooltip to activity logs (and role permission)
* change backup icon
* update navigation sort
* general code cleanup
* more cleanup
* Disable Restart/Stop if server is offline
* Change rename notification
* Remove negation on abort_unless
* Add notification on save
* Single disabled closure & comment unused import
* Add required to Server Name & Nullable to description
* mutateFormDataBeforeSave doesn't work since we use forceFill
* Fix web socket connection not existing.
* Fix some subuser permissions
* add permission checks to resources
* do not allow self-deletion
* Update editing file permissions
* Fix of the previous fix
* add service for subuser updating
* Only allow save if they have file_update
* Remove unused import
* Update backup delete button
* Add Delete, remove bulks
* Update Database page
* Use Allocation Permissions
* add canAccess check to startup
* Add Permission checks to Settings page
* add service for subuser deletion
* Remove Kill permission
* Updates
* fix move files
* add redirects
* fix phpstan
* activity: remove properties from tans for now
* If alias, use that, else ip
---------
Co-authored-by: notCharles <charles@pelican.dev>
Co-authored-by: Boy132 <mail@boy132.de>
Co-authored-by: Senna <62171904+Poseidon281@users.noreply.github.com>
Co-authored-by: Boy132 <Boy132@users.noreply.github.com>
Co-authored-by: RMartinOscar <40749467+RMartinOscar@users.noreply.github.com>
* Add Create Database btn on admin side
* Remove unused function
* readd function
* replace refreshform function
* add authorize, remove database limit check
* add random words, use proper name function, catch exceptions on creation
* add validation, match old client area more
* Add more authorize to Database tab
* Add confirmation to delete
* make password hidden / revealable
* better clarification
* Set default and remove placeholder.
* Remove server import, add database model to auth
* Make same changes for the database host page
* Update app/Filament/Resources/ServerResource/Pages/EditServer.php
Co-authored-by: Boy132 <Boy132@users.noreply.github.com>
* Update app/Filament/Resources/DatabaseHostResource/RelationManagers/DatabasesRelationManager.php
Co-authored-by: Boy132 <Boy132@users.noreply.github.com>
* Update app/Filament/Resources/DatabaseHostResource/RelationManagers/DatabasesRelationManager.php
Co-authored-by: Boy132 <Boy132@users.noreply.github.com>
* Remove each hidden
* Return nothing if user has no perms
* This is the way... Im done messing with it...
* Fix view permission for relationship manager
* Update app/Filament/Resources/DatabaseHostResource/RelationManagers/DatabasesRelationManager.php
* Pint
---------
Co-authored-by: Boy132 <Boy132@users.noreply.github.com>
Co-authored-by: MartinOscar <40749467+RMartinOscar@users.noreply.github.com>
* better oauth provider loading
* add auth frontend
* add configs for all default providers
* add more default providers
* add env variables to enable oauth providers
* small refactor to link/ unlink routes
* add oauth tab to (admin) profile
* use redirects instead of exceptions
* add notification if no oauth user is found
* use import in config
* remove whmcs provider
* replace hardcoded links with `route`
* redirect to account page on unlink
* remove unnecessary controller and handle linking/ unlinking in action
* only show oauth tab if at least one oauth provider is enabled
* force app timezone to be UTC
* remove asDateTime overwrite
* add custom column to display dates in user timezone
* use `APP_TIMEZONE` as default timezone for new users
* revert accidental pinting
* update web installer (again)
* set default values for mysql/ mariadb and redis
* add own step for queue setup
* create admin user in submit
* disable redis for queue if cache isn't redis
* remove separate user step and make session own step
* use `request()->isSecure()`
* use RESOURCE_NAME for requests
* use RESOURCE_NAME for transformers
* add permissions field to api key
* add migration for new permissions field
* update tests
* remove debug log
* set column type to "json"
* remove default attribute to fix tests
* fix default value for permissions
* fix after merge
* fix after merge
* allow to "register" custom permissions
* add "role" to default resource names
* fix after merge
* fix phpstan
* fix migrations
Adding :- Syntax which ensures that, if SKIP_CADDY is unset, it will be treated as an empty string, which will not match "true". This avoids potential issues with unbound variables in some shell configurations where set -u (treating unset variables as an error) is enabled.
(ChatGPT)
* add laravel turnstile
* add config & settings for turnstile
* publish view to center captcha
* completely replace reCAPTCHA
* update FailedCaptcha event
* add back config for domain verification
* don't set language so browser lang is used
* Move these
Move List/Create to their own pages to follow the flow of the other resources.
* Move EditPage aswell
* Move Save
* Labels
* Change Edit/Delete
---------
Co-authored-by: RMartinOscar <40749467+RMartinOscar@users.noreply.github.com>
Starting the docker container is hampered due to setting `chown -R www-data:www-data /var/www/html/` on every start, causing it to traverse the entire directory which in our use case is very slow. This PR instead changes it to set permissions as part of the build process.
Sidenote: Is `LE_EMAIL` supposed to be used in addition to `ADMIN_EMAIL`?
* Prevent hosts with databases from being selected for bulk actions
* Add icons
* Update input to select
* Update app/Filament/Resources/DatabaseHostResource/Pages/ListDatabaseHosts.php
* Add placeholder
* enable installer on docker first run
* add SESSION_COOKIE to compose file
* `APP_ENVIRONMENT_ONLY` is long gone
* session env vars no longer needed after #624
* set defaults to null if sqlite is selected
* update web installer
* make sure we have a user
* save SESSION_SECURE_COOKIE as text so it's written correctly to the .env
* set `SESSION_COOKIE` so session doesn't expire when changing the app name
* Allow enter to go to next step
---------
Co-authored-by: notCharles <charles@pelican.dev>
* remove `guard_name` from api and add id to transformer
* disallow update/ delete for root admin role via api
* disallow assigning root admin via api
* add api to remove user roles
* fix assignRoles & removeRoles
* enable tags for nodes
* update icon for cpu column
* disable inline for "force outgoing ip" label
* change label for database hosts resource
* add custom empty state for database hosts & api keys
* add icons to egg tabs
* fix typo
* rename node "Automatic Allocation" to avoid confusion
* run code cleanup
* remove regex for node name
* only check count for application api keys
* replace "New" with "Create"
* change sidebar width to fit "Database Hosts"
* add config option to disable server descriptions
* only disable server descriptions for users but not for admins
* Add ,
* invert
* unset description in server transformer if disabled
* remove testing leftover
---------
Co-authored-by: notCharles <charles@pelican.dev>
Update the dockerfile to use supervisord
Update supervisord config to use start caddy unless configured not to.
Updated entrypoint to handle caddy skip for supervisord.
dockerfile
cmd updated to just start php-fpm
entrypoint
now starts caddy unless SKIP_CADDY has been set.
compose file
updated ports to work properly.
updated networks to use the correct network.
added commented port and variable to disable caddy
added further notes.
* add spatie/permissions
* add policies
* add role resource
* add root admin role handling
* replace some "root_admin" with function
* add model specific permissions
* make permission selection nicer
* fix user creation
* fix tests
* add back subuser checks in server policy
* add custom model for role
* assign new users to role if root_admin is set
* add api for roles
* fix phpstan
* add permissions for settings page
* remove "restore" and "forceDelete" permissions
* add user count to list
* prevent deletion if role has users
* update user list
* fix server policy
* remove old `root_admin` column
* small refactor
* fix tests
* forgot can checks here
* forgot use
* disable editing own roles & disable assigning root admin
* don't allow to rename root admin role
* remove php bombing exception handler
* fix role assignment when creating a user
* fix disableOptionWhen
* fix missing `root_admin` attribute on react frontend
* add permission check for bulk delete
* rename viewAny to viewList
* improve canAccessPanel check
* fix admin not displaying for non-root admins
* make sure non root admins can't edit root admins
* fix import
* fix settings page permission check
* fix server permissions for non-subusers
* fix settings page permission check v2
* small cleanup
* cleanup config file
* move consts from resouce into enum & model
* Update database/migrations/2024_08_01_114538_remove_root_admin_column.php
Co-authored-by: Lance Pioch <lancepioch@gmail.com>
* fix config
* fix phpstan
* fix phpstan 2.0
---------
Co-authored-by: Lance Pioch <lancepioch@gmail.com>
MySQL complains when we try to change the rules column to json before we change the data... If we change the data, then change the column its happy. :)
* simplify setup command
* add installer page
* add route for installer
* adjust gitignore
* set colors globally
* add "unsaved data changes" alert
* add helper method to check if panel is installed
* make nicer
* redis username isn't required
* bring back db settings command
* store current date in "installed" file
* only redirect if install was successfull
* remove fpm requirement
* change "installed" marker to env variable
* improve requirements step
* add commands to change cache, queue or session drivers respectively
* removed `grouped` for better mobile view
* remove old settings stuff
* add basic settings page
* add some settings
* add "test mail" button
* fix mail fields not updating
* fix phpstan
* fix default for "top navigation"
* force toggle buttons to be bool
* force toggle to be bool
* add class to view to allow customization
* add mailgun settings
* add notification settings
* add timeout settings
* organize tabs into sub-functions
* add more settings
* add backup settings
* add sections to mail settings
* add setting for trusted_proxies
* fix unsaved data alert not showing
* fix clear action
* Fix clear action v2
TagsInput expects an array, not a string, fails on saving when using `''`
* Add App favicon
* Remove defaults, collapse misc sections
* Move Save btn, Add API rate limit
* small cleanup
---------
Co-authored-by: notCharles <charles@pelican.dev>
* Ability to create allocation on edit page + Ability to assign allocation to server on creation
* Disable dehydrate for readonly
* set these to false
---------
Co-authored-by: notCharles <charles@pelican.dev>
* Update Node Stats
Soon TM
* Update
* Make these smaller
* Change graphs
* Remove this.
Didn't work anyways.
* Update Graphs
* Use User TZ and config var
* Fix math
* Change to per thread.
* Remove deploy.locations from validator
* Change location data to optional for backwards compat
* Better styling
* Add back comma to follow coding style
* Remove EventServiceProvider from providers file
Fixes duplicated auth messages in the client Activity tab.
* Add null check on $model->actor
Prevents the client Activity tab page from breaking when an authentication attempt has failed.
* Proper type checking on $model->actor
Chose instanceof as it seems to be the best in terms of type safety.
Co-authored-by: MartinOscar <40749467+RMartinOscar@users.noreply.github.com>
* Revert removal of EventServiceProvider
* Remove subscription of AuthenticationListener
* Remove subscriptions for auth events
* Remove unused import Dispatcher
* Remove unused import AuthenticationListener
---------
Co-authored-by: MartinOscar <40749467+RMartinOscar@users.noreply.github.com>
* Add ability to create a User on Create Server page
* pint
* Fix creating user without password
---------
Co-authored-by: notCharles <charles@pelican.dev>
* Simplify states and statuses and resolve#362
# Conflicts:
# app/Models/Server.php
* Move Random button...
Moves button to the info tab
---------
Co-authored-by: notCharles <charles@pelican.dev>
* Description not required
* Overwrite to use user’s time zone
* Allow users to change time zones
* Update app/Filament/Resources/UserResource/Pages/EditProfile.php
Co-authored-by: Boy132 <Boy132@users.noreply.github.com>
* Pint fix
---------
Co-authored-by: Charles <charles@pelican.dev>
Co-authored-by: Boy132 <Boy132@users.noreply.github.com>
* Group servers
# Conflicts:
# app/Filament/Resources/ServerResource/Pages/ListServers.php
* Can be null apparently
* pint
---------
Co-authored-by: Charles <charles@pelican.dev>
Fixes Class App\Http\Controllers\Base\OAuthController located in ./app/Http/Controllers/Base/OauthController.php does not comply with psr-4 autoloading standard (rule: App\ => ./app). Skipping.
* combine importer and updateimport
* integrate egg parser into importer
* remove EggCreationService and EggUpdateService
* run pint
* revert change to composer.json
* use egg exporter directly instead of old admin route
* allow importing eggs via url
* refactor
* run pint
* turn back into one button
* fix empty check
* small cleanup
* removed container for tabs
* Update URL function
* Use sys temp
---------
Co-authored-by: notCharles <charles@pelican.dev>
* Migrations to update existing eggs in db
* Update stock eggs
* Update Eggs on import
* Also update updated versions of eggs that are uploaded
* Redo this..
Tests passed locally.
* Pint & Update replace
* Squash Migrations, simplify logic
* Maybe this way...
* Swap them over to single call
---------
Co-authored-by: Lance Pioch <git@lance.sh>
If a server is suspended, disable transfer/toggle/reinstall as they will unsuspend the server due to the status change.
Also properly updates server state and container status.
* add node cpu limit to backend
* update makenodecommand
* add node cpu limit to frontend
* add migration and update mysql schema
* run pint
* fix typo in mysql schema
* forgot this assert
* forgot to setCpu here
* run pint
* adjust migration
* Fix db migration
* make cpu optional
* set default value for cpu in node deployment
* update mysql schema
---------
Co-authored-by: notCharles <charles@pelican.dev>
* add application api endpoints for mounts
* run pint
* add mounts resource to api key
* add includes to mount transformer
* forgot delete route for mount itself
* add migration for "r_mounts" column
* add mounts to testcase api key
* add command to create queue worker service file
* remove comments from service file that are no longer needed
* only create queue worker service file if queue driver is not "sync"
* make "database" the recommended queue driver, again
$this->output->error(sprintf('Unable to connect to the MySQL server using the provided credentials. The error returned was "%s".',$exception->getMessage()));
$this->output->error(sprintf('Unable to connect to the MariaDB server using the provided credentials. The error returned was "%s".',$exception->getMessage()));
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.