GithubHelp home page GithubHelp logo

openshift-cartridge-plack's Introduction

OpenShift cartridge for Plack/PSGI Perl applications

This is a Web application cartridge based on Plack/PSGI for OpenShift. PSGI is an interface specification for Web applications written in Perl, and Plack is a PSGI toolkit implementation.

The big difference from the perl cartridge (officially supported by OpenShift team) is that the Plack cartridge allows you to run any PSGI server while perl cartridge is limited to Apache HTTPD + mod_perl configuration.

How to Use

First, create your app with the stable release. (Do not use the master branch because it may be broken when I'm debugging something.)

$ rhc create-app -a YOUR_APP_NAME -t https://raw.github.com/debug-ito/openshift-cartridge-plack/release_0.1.0/metadata/manifest.yml

Because this installs some CPAN modules in the cloud, it takes some time. Please be patient.

After that, YOUR_APP_NAME directory is created. Then edit app.psgi in YOUR_APP_NAME directory, commit the change and git push it. The PSGI application is executed in the cloud.

See README.md created in YOUR_APP_NAME directory for further details.

Acknowledgement

Author

openshift-cartridge-plack's People

Contributors

debug-ito avatar

Watchers

Katsuhiro Konishi avatar  avatar James Cloos avatar

openshift-cartridge-plack's Issues

make the cartridge hot_deploy aware

Currently this cartridge does not support hot_deploy.

If the file .openshift/markers/hot_deploy exists under the app directory, OpenShift won't stop/start the cartridge, but this does not mean the changes are loaded by the running server.

Maybe we can support hot_deploy by doing some tricks in "build" and "deploy" event handlers in the bin/control script. But how?

Clean up .cpanm build files on "tidy" event

In .cpanm directory there will be a lot of downloaded module packages, consuming non-trivial disk space.

Since the module packages are no longer needed once they are installed, it should be cleaned up by "tidy" event.

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.