2017-03-03 22:30:39 +00:00
{{ -- Copyright ( c ) 2015 - 2017 Dane Everitt < dane @ daneeveritt . com > -- }}
{{ -- Permission is hereby granted , free of charge , to any person obtaining a copy -- }}
{{ -- of this software and associated documentation files ( the " Software " ), to deal -- }}
{{ -- in the Software without restriction , including without limitation the rights -- }}
{{ -- to use , copy , modify , merge , publish , distribute , sublicense , and / or sell -- }}
{{ -- copies of the Software , and to permit persons to whom the Software is -- }}
{{ -- furnished to do so , subject to the following conditions : -- }}
{{ -- The above copyright notice and this permission notice shall be included in all -- }}
{{ -- copies or substantial portions of the Software . -- }}
{{ -- THE SOFTWARE IS PROVIDED " AS IS " , WITHOUT WARRANTY OF ANY KIND , EXPRESS OR -- }}
{{ -- IMPLIED , INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY , -- }}
{{ -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT . IN NO EVENT SHALL THE -- }}
{{ -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM , DAMAGES OR OTHER -- }}
{{ -- LIABILITY , WHETHER IN AN ACTION OF CONTRACT , TORT OR OTHERWISE , ARISING FROM , -- }}
{{ -- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -- }}
{{ -- SOFTWARE . -- }}
@ extends ( 'layouts.admin' )
@ section ( 'title' )
{{ $node -> name }} : Settings
@ endsection
@ section ( 'content-header' )
< h1 > {{ $node -> name }} < small > Configure your node settings .</ small ></ h1 >
< ol class = " breadcrumb " >
< li >< a href = " { { route('admin.index') }} " > Admin </ a ></ li >
< li >< a href = " { { route('admin.nodes') }} " > Nodes </ a ></ li >
< li >< a href = " { { route('admin.nodes.view', $node->id ) }} " > {{ $node -> name }} </ a ></ li >
< li class = " active " > Settings </ li >
</ ol >
@ endsection
@ section ( 'content' )
< div class = " row " >
< div class = " col-xs-12 " >
< div class = " nav-tabs-custom nav-tabs-floating " >
< ul class = " nav nav-tabs " >
< li >< a href = " { { route('admin.nodes.view', $node->id ) }} " > About </ a ></ li >
< li class = " active " >< a href = " { { route('admin.nodes.view.settings', $node->id ) }} " > Settings </ a ></ li >
< li >< a href = " { { route('admin.nodes.view.configuration', $node->id ) }} " > Configuration </ a ></ li >
< li >< a href = " { { route('admin.nodes.view.allocation', $node->id ) }} " > Allocation </ a ></ li >
< li >< a href = " { { route('admin.nodes.view.servers', $node->id ) }} " > Servers </ a ></ li >
</ ul >
</ div >
</ div >
</ div >
< form action = " { { route('admin.nodes.view.settings', $node->id ) }} " method = " POST " >
< div class = " row " >
< div class = " col-sm-6 " >
< div class = " box " >
< div class = " box-header with-border " >
< h3 class = " box-title " > Settings </ h3 >
</ div >
< div class = " box-body row " >
< div class = " form-group col-xs-12 " >
< label for = " name " class = " control-label " > Node Name </ label >
< div >
< input type = " text " autocomplete = " off " name = " name " class = " form-control " value = " { { old('name', $node->name ) }} " />
< p class = " text-muted " >< small > Character limits : < code > a - zA - Z0 - 9_ .-</ code > and < code > [ Space ] </ code > ( min 1 , max 100 characters ) .</ small ></ p >
</ div >
</ div >
< div class = " form-group col-xs-12 " >
< label for = " name " class = " control-label " > Location </ label >
< div >
< select name = " location_id " class = " form-control " >
@ foreach ( $locations as $location )
< option value = " { { $location->id }} " {{ ( old ( 'location_id' , $node -> location_id ) === $location -> id ) ? 'selected' : '' }} > {{ $location -> long }} ({{ $location -> short }}) </ option >
@ endforeach
</ select >
</ div >
</ div >
< div class = " form-group col-xs-12 " >
< label for = " public " class = " control-label " > Allow Automatic Allocation < sup >< a data - toggle = " tooltip " data - placement = " top " title = " Allow automatic allocation to this Node? " > ? </ a ></ sup ></ label >
< div >
< input type = " radio " name = " public " value = " 1 " {{ ( old ( 'public' , $node -> public ) === '1' ) ? 'checked' : '' }} id = " public_1 " checked > < label for = " public_1 " style = " padding-left:5px; " > Yes </ label >< br />
< input type = " radio " name = " public " value = " 0 " {{ ( old ( 'public' , $node -> public ) === '0' ) ? 'checked' : '' }} id = " public_0 " > < label for = " public_0 " style = " padding-left:5px; " > No </ label >
</ div >
</ div >
< div class = " form-group col-xs-12 " >
< label for = " fqdn " class = " control-label " > Fully Qualified Domain Name </ label >
< div >
< input type = " text " autocomplete = " off " name = " fqdn " class = " form-control " value = " { { old('fqdn', $node->fqdn ) }} " />
</ div >
< p class = " text-muted " >< small > Please enter domain name ( e . g < code > node . example . com </ code > ) to be used for connecting to the daemon . An IP address may only be used if you are not using SSL for this node .
< a tabindex = " 0 " data - toggle = " popover " data - trigger = " focus " title = " Why do I need a FQDN? " data - content = " In order to secure communications between your server and this node we use SSL. We cannot generate a SSL certificate for IP Addresses, and as such you will need to provide a FQDN. " > Why ? </ a >
</ small ></ p >
</ div >
< div class = " form-group col-xs-12 " >
2017-04-28 02:52:37 +00:00
< label class = " form-label " >< span class = " label label-warning " >< i class = " fa fa-power-off " ></ i ></ span > Communicate Over SSL </ label >
< div >
< div class = " radio radio-success radio-inline " >
< input type = " radio " id = " pSSLTrue " value = " https " name = " scheme " {{ ( old ( 'scheme' , $node -> scheme ) === 'https' ) ? 'checked' : '' }} >
< label for = " pSSLTrue " > Use SSL Connection </ label >
2017-03-03 22:30:39 +00:00
</ div >
2017-04-28 02:52:37 +00:00
< div class = " radio radio-danger radio-inline " >
< input type = " radio " id = " pSSLFalse " value = " http " name = " scheme " {{ ( old ( 'scheme' , $node -> scheme ) !== 'https' ) ? 'checked' : '' }} >
< label for = " pSSLFalse " > Use HTTP Connection </ label >
2017-03-03 22:30:39 +00:00
</ div >
</ div >
2017-04-28 02:52:37 +00:00
< p class = " text-muted small " > In most cases you should select to use a SSL connection . If using an IP Address or you do not wish to use SSL at all , select a HTTP connection .</ p >
</ div >
< div class = " form-group col-xs-12 " >
< label class = " form-label " >< span class = " label label-warning " >< i class = " fa fa-power-off " ></ i ></ span > Behind Proxy </ label >
< div >
< div class = " radio radio-success radio-inline " >
< input type = " radio " id = " pProxyFalse " value = " 0 " name = " behind_proxy " {{ ( old ( 'behind_proxy' , $node -> behind_proxy ) == false ) ? 'checked' : '' }} >
< label for = " pProxyFalse " > Not Behind Proxy </ label >
</ div >
< div class = " radio radio-info radio-inline " >
< input type = " radio " id = " pProxyTrue " value = " 1 " name = " behind_proxy " {{ ( old ( 'behind_proxy' , $node -> behind_proxy ) == true ) ? 'checked' : '' }} >
< label for = " pProxyTrue " > Behind Proxy </ label >
</ div >
</ div >
< p class = " text-muted small " > If you are running the daemon behind a proxy such as Cloudflare , select this to have the daemon skip looking for certificates on boot .</ p >
2017-03-03 22:30:39 +00:00
</ div >
</ div >
</ div >
</ div >
< div class = " col-sm-6 " >
< div class = " box " >
< div class = " box-header with-border " >
< h3 class = " box-title " > Allocation Limits </ h3 >
</ div >
< div class = " box-body row " >
< div class = " col-xs-12 " >
< div class = " row " >
< div class = " form-group col-xs-6 " >
< label for = " memory " class = " control-label " > Total Memory </ label >
< div class = " input-group " >
< input type = " text " name = " memory " class = " form-control " data - multiplicator = " true " value = " { { old('memory', $node->memory ) }} " />
< span class = " input-group-addon " > MB </ span >
</ div >
</ div >
< div class = " form-group col-xs-6 " >
< label for = " memory_overallocate " class = " control-label " > Overallocate </ label >
< div class = " input-group " >
< input type = " text " name = " memory_overallocate " class = " form-control " value = " { { old('memory_overallocate', $node->memory_overallocate ) }} " />
< span class = " input-group-addon " >%</ span >
</ div >
</ div >
</ div >
< p class = " text-muted small " > Enter the total amount of memory available on this node for allocation to servers . You may also provide a percentage that can allow allocation of more than the defined memory .</ p >
</ div >
< div class = " col-xs-12 " >
< div class = " row " >
< div class = " form-group col-xs-6 " >
< label for = " disk " class = " control-label " > Disk Space </ label >
< div class = " input-group " >
< input type = " text " name = " disk " class = " form-control " data - multiplicator = " true " value = " { { old('disk', $node->disk ) }} " />
< span class = " input-group-addon " > MB </ span >
</ div >
</ div >
< div class = " form-group col-xs-6 " >
< label for = " disk_overallocate " class = " control-label " > Overallocate </ label >
< div class = " input-group " >
< input type = " text " name = " disk_overallocate " class = " form-control " value = " { { old('disk_overallocate', $node->disk_overallocate ) }} " />
< span class = " input-group-addon " >%</ span >
</ div >
</ div >
</ div >
< p class = " text-muted small " > Enter the total amount of disk space available on this node for server allocation . You may also provide a percentage that will determine the amount of disk space over the set limit to allow .</ p >
</ div >
</ div >
</ div >
</ div >
< div class = " col-sm-6 " >
< div class = " box " >
< div class = " box-header with-border " >
< h3 class = " box-title " > General Configuration </ h3 >
</ div >
< div class = " box-body row " >
< div class = " form-group col-xs-12 " >
< label for = " disk_overallocate " class = " control-label " > Maximum Web Upload Filesize </ label >
< div class = " input-group " >
< input type = " text " name = " upload_size " class = " form-control " value = " { { old('upload_size', $node->upload_size ) }} " />
< span class = " input-group-addon " > MB </ span >
</ div >
< p class = " text-muted " >< small > Enter the maximum size of files that can be uploaded through the web - based file manager .</ small ></ p >
</ div >
< div class = " col-xs-12 " >
< div class = " row " >
< div class = " form-group col-md-6 " >
< label for = " daemonListen " class = " control-label " >< span class = " label label-warning " >< i class = " fa fa-power-off " ></ i ></ span > Daemon Port </ label >
< div >
< input type = " text " name = " daemonListen " class = " form-control " value = " { { old('daemonListen', $node->daemonListen ) }} " />
</ div >
</ div >
< div class = " form-group col-md-6 " >
< label for = " daemonSFTP " class = " control-label " >< span class = " label label-warning " >< i class = " fa fa-power-off " ></ i ></ span > Daemon SFTP Port </ label >
< div >
< input type = " text " name = " daemonSFTP " class = " form-control " value = " { { old('daemonSFTP', $node->daemonSFTP ) }} " />
</ div >
</ div >
</ div >
< div class = " row " >
< div class = " col-md-12 " >
< p class = " text-muted " >< small > The daemon runs its own SFTP management container and does not use the SSHd process on the main physical server . < Strong > Do not use the same port that you have assigned for your physcial server ' s SSH process .</ strong ></ small ></ p >
</ div >
</ div >
</ div >
</ div >
</ div >
</ div >
< div class = " col-xs-12 " >
< div class = " box box-primary " >
< div class = " box-header with-border " >
< h3 class = " box-title " > Save Settings </ h3 >
</ div >
< div class = " box-body row " >
< div class = " form-group col-sm-6 " >
< div >
< input type = " checkbox " name = " reset_secret " id = " reset_secret " /> < label for = " reset_secret " class = " control-label " > Reset Daemon Master Key </ label >
</ div >
< p class = " text-muted " >< small > Resetting the daemon master key will void any request coming from the old key . This key is used for all sensitive operations on the daemon including server creation and deletion . We suggest changing this key regularly for security .</ small ></ p >
</ div >
</ div >
< div class = " box-footer " >
{ !! csrf_field () !! }
< button type = " submit " class = " btn btn-primary pull-right " > Save Changes </ button >
</ div >
</ div >
</ div >
</ div >
</ form >
@ endsection
@ section ( 'footer-scripts' )
@ parent
< script >
$ ( '[data-toggle="popover"]' ) . popover ({
placement : 'auto'
});
$ ( 'select[name="location_id"]' ) . select2 ();
</ script >
@ endsection