Giter VIP home page Giter VIP logo

cakebox-console's People

Contributors

bravo-kernel avatar ceeram avatar dereuromark avatar jadb avatar josegonzalez avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

cakebox-console's Issues

Add tab to VM page for the provisioning logfile

The VM page should get an extra ajax-loaded tab named "Logs" displaying the /var/log/cakebox/cakebox.cli.log file.

Ideally stripping/reformatting the Monolog format for easier reading.

Working ajax-loading examples already present in the same controller/views.

Add --hhvm switch to cakebox application command

HHVM is already installed and ready for use inside the box so it's just a matter:

  • adding --hhvm switch to the ApplicationShelll
  • baking an nginx vhost file using a hhvm template instead of the default

Add `envs` subcommand

Not really sure if this is needed and if so, how.

Use cases found in the wild:

  • PHP5-FPM server variables
  • Ubuntu system variables

Delete vhost returns not found

No time to look into the JS right now, but it looks like a NotFoundException is being thrown when I try deleting a vhost.

cakebox/Apps aren't mounted in MacOS X

OS Host: MacOS X 10.10.5 (freshly updated)
VirtualBox Version: 4.3.26 (r98988)
Vagrant Version: 1.7.2
Cakebox version: v1.0.alpha3 (has shown in Web Interface)

When I go to my cakebox/Apps folder, all my "websites" folder aren't accessible.

Here's the log when I perform the vagrant up command:

Bringing machine 'default' up with 'virtualbox' provider...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
==> default: Forwarding ports...
    default: 22 => 2222 (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Connection timeout. Retrying...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Setting hostname...
==> default: Configuring and enabling network interfaces...
==> default: Mounting shared folders...
    default: /vagrant => /Users/Drew/Documents/dev/cakebox/.vagrant
    default: /cakebox => /Users/Drew/Documents/dev/cakebox/.cakebox
    default: /home/vagrant/Apps => /Users/Drew/Documents/dev/cakebox/Apps
==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision`
==> default: to force provisioning. Provisioners marked to run always will still run.

==> default: Machine 'default' has a post `vagrant up` message. This is a message
==> default: from the creator of the Vagrantfile, and not from Vagrant itself:
==> default:
==> default: Your box is ready and waiting.
==> default:
==> default: => Login to your Dashboard by browsing to http://10.33.10.10
==> default: => Login to your virtual machine by running: vagrant ssh

Salt/cipher not unique

Cakebox Salt/cipher is currently hardcoded in the repo. Should:

  • be generated during the initial installation, preferably as a composer post install command a-la CakePHP 3
  • be integrated into Cakebox.yaml to support (re)creating box clones with matching salt/ciphers

Add `-ssl` option to `application` command

Purely hypothetical placeholder but should be do'able using dynamic IP-ranges, generating certificates. Probably requires some sort of tracking mechanism.

Change must be isolated without breaking BC by using Cakebox.yaml settings

Yaml defined applications not provisioned when Synced Folder is not empty

Real bug, not working as designed. Reproducable using a yaml with:

synced_folders:
  - local:  /git/mycake3.app
    remote: /var/www/mycake3.app

apps:
  - url: mycake3.app
    options: --path /var/www/mycake3.app
  1. create content in local folder
  2. vagrant reload --provision
  3. Application provisioning will skip installing mycake3.app with Directory did not pass readiness test message

Make Nginx virtual host configuration framework specific

The current "one generic Nginx virtual host for all frameworks" implementation needs to be refactored to prepare for (easy) extending the number of supported (PHP) frameworks.

Per framework:

  • optimized nginx template for php-fpm (default)
  • optimized nginx template for hhvm

For general use:

  • generic nginx template for php-fpm (default) using index.php, index.htm, index.html, etc
  • generic nginx template for hhvm

Additionally:

  • add new option to the cakebox site add command to specify framework
  • add new option to the cakebox site add command to specify php/hhvm

change debug to development

Currently cakebox can be provisioned with debug set to true. This will enable debug in console application. Composer install however is done with --no-dev, meaning that autoloading for tests and fixtures is never loaded.
I suggest to change debug config name to something like develop: true/false
If develop is true, console debug level will be set to true, composer install will be done without --no-dev, so that autoloading for autoload-dev will also be generated.
Additionally we can move things like bake and debug_kit to required-dev, so that they wont be installed and included in autoloading when installing with develop: false

This change will also require changes to alt3/cakebox

Add file logging

Console logging uses normal and verbose.

File logging should just write everything without outputting to screen.

Change Shell header

Current Shell headers:

==> default: ---------------------------------------------------------------
==> default: CakePHP v3.0.0-RC2 Console
==> default: ---------------------------------------------------------------

User feedback indicates it's annoying and that provisioning readability could be improved by changing it to something like this:

==> default: ---------------------------------------------------------------
==> default: Creating application http://cake3.app
==> default: ---------------------------------------------------------------
==> default: ---------------------------------------------------------------
==> default: Installing additional apt package 'dos2unix'
==> default: ---------------------------------------------------------------

cakebox with default to php7.2 now fails

vagrant@cakebox:~$ cakebox
PHP Fatal error:  Uncaught Error: Call to undefined function mb_internal_encoding() in /cakebox/console/config/bootstrap.php:92

any cakebox command now doesnt work anymore.

Add info about number of cpu in performance section

Add info on increasing number of cpus in http://10.33.10.10/dashboard/vm#panel-summary performance section
Maxing the number of cpus helps performance without making host crash, while maxing memory might crash the host. so max memory up to 25% of host, max cpu equals the number of cpus of the host.

From virtualbox documentation:
You should not, however, configure virtual machines to use more CPU cores than you have available physically (real cores, no hyperthreads).

We need Cake3.5

With current 3.4 and PHP7.2:
http://10.33.10.10/
=> Warning (2): count(): Parameter must be an array or an object that implements Countable [CORE/src/Database/QueryCompiler.php, line 128]

Remote Cakebox.yaml

Could just work as is but needs testing

YAML.parse(open('https://link_to_file/file.yaml'))

Should not require (yet another) local file. Maybe user input during vagrant up/reload or by parsing an env variable.

Missing salt error

Given that the use of salt will be optional a missing config/salt.php should not cause a full stop preventing shells or dashboard from loading. Now produces these errors:
missing-salt

swap issues very soon

we should find better/saner defaults for current usage and use cases.
With medium apps you get this very soon from the start:

The following exception is caused by a lack of memory or swap, or not having swap configured
Check https://getcomposer.org/doc/articles/troubleshooting.md#proc-open-fork-failed-errors for details
[ErrorException]
proc_open(): fork failed - Cannot allocate memory

As per https://getcomposer.org/doc/articles/troubleshooting.md#proc-open-fork-failed-errors
This could be happening because the VPS runs out of memory and has no Swap space enabled.

running 'top' in parallel tells me, though:

KiB Mem :  1745168 total,  1271028 free,   347604 used,   126536 buff/cache
KiB Swap:   786428 total,   482516 free,   303912 used.  1254120 avail Mem

Seems like there is still enough free, so whats going on if it isnt the memory running out?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.