Difference between revisions of "Web/Cloud"

From HaskellWiki
< Web
Jump to navigation Jump to search
(snap now working)
(21 intermediate revisions by the same user not shown)
Line 5: Line 5:
   
 
== OpenShift ==
 
== OpenShift ==
  +
  +
'''Warning''': The cartridges are currently liable to fail on small (free) gears due to cabal-install issue [https://github.com/haskell/cabal/issues/2396 #2396].
   
 
{| class="wikitable"
 
{| class="wikitable"
! License:
 
| GPL3
 
|-
 
 
! GHC version:
 
! GHC version:
| 7.6.3
+
| 7.8.4
 
|-
 
|-
 
! Author:
 
! Author:
Line 17: Line 16:
 
|-
 
|-
 
! Home page:
 
! Home page:
| https://github.com/accursoft/Haskell-Cloud
+
| http://code.accursoft.com/haskell-cloud/
 
|-
 
|-
 
! Documentation:
 
! Documentation:
| https://github.com/accursoft/Haskell-Cloud/blob/master/README.md
+
| http://code.accursoft.com/haskell-cloud/src/tip/README.md
 
|}
 
|}
   
The cartridge is built in several flavours, with different pre-installed packages:
+
The cartridge comes in several flavours, with just the network and text packages or a pre-installed framework:
   
 
{| class="wikitable"
 
{| class="wikitable"
! Packages || Cartridge || Installation Link
+
! Framework || Cartridge || QuickStart || Deploy || QuickStart Template
 
|-
 
|-
  +
| network
| networking
 
| [https://haskell-accursoft.rhcloud.com/build/manifest/master manifest]
+
| [http://www.accursoft.com/cartridges/network.yml manifest]
  +
| [https://www.openshift.com/quickstarts/haskell quickstart]
| [https://openshift.redhat.com/app/console/application_type/custom?cartridges%5B%5D=http%3A%2F%2Fhaskell-accursoft.rhcloud.com%2Fbuild%2Fmanifest%2Fmaster create application]
+
| [https://openshift.redhat.com/app/console/application_type/custom?cartridges%5B%5D=http%3A%2F%2Fwww.accursoft.com%2Fcartridges%2Fnetwork.yml deploy]
  +
| ✓
 
|-
 
|-
  +
| Yesod
| yesod-platform esqueleto happy
 
| [https://haskell-accursoft.rhcloud.com/build/manifest/yesod manifest]
+
| [http://www.accursoft.com/cartridges/yesod.yml manifest]
  +
| [https://www.openshift.com/quickstarts/yesod quickstart]
| [https://openshift.redhat.com/app/console/application_type/custom?cartridges%5B%5D=http%3A%2F%2Fhaskell-accursoft.rhcloud.com%2Fbuild%2Fmanifest%2Fyesod create application]
+
| [https://openshift.redhat.com/app/console/application_type/custom?cartridges%5B%5D=http%3A%2F%2Fwww.accursoft.com%2Fcartridges%2Fyesod.yml deploy]
  +
| ✓
 
|-
 
|-
| snap
+
| Snap
| [https://haskell-accursoft.rhcloud.com/build/manifest/snap manifest]
+
| [http://www.accursoft.com/cartridges/snap.yml manifest]
  +
| [https://www.openshift.com/quickstarts/snap quickstart]
| [https://openshift.redhat.com/app/console/application_type/custom?cartridges%5B%5D=http%3A%2F%2Fhaskell-accursoft.rhcloud.com%2Fbuild%2Fmanifest%2Fsnap create application]
+
| [https://openshift.redhat.com/app/console/application_type/custom?cartridges%5B%5D=http%3A%2F%2Fwww.accursoft.com%2Fcartridges%2Fsnap.yml deploy]
  +
| ✗
 
|-
 
|-
  +
| Happstack
| happstack-foundation hsx2x happy
 
| [https://haskell-accursoft.rhcloud.com/build/manifest/happstack manifest]
+
| [http://www.accursoft.com/cartridges/happstack.yml manifest]
  +
| [https://www.openshift.com/quickstarts/happstack quickstart]
| [https://openshift.redhat.com/app/console/application_type/custom?cartridges%5B%5D=http%3A%2F%2Fhaskell-accursoft.rhcloud.com%2Fbuild%2Fmanifest%2Fhappstack create application]
+
| [https://openshift.redhat.com/app/console/application_type/custom?cartridges%5B%5D=http%3A%2F%2Fwww.accursoft.com%2Fcartridges%2Fhappstack.yml deploy]
  +
| ✗
 
|-
 
|-
 
| MFlow
 
| MFlow
| [https://haskell-accursoft.rhcloud.com/build/manifest/mflow manifest]
+
| [http://www.accursoft.com/cartridges/mflow.yml manifest]
  +
| [https://www.openshift.com/quickstarts/mflow quickstart]
| [https://openshift.redhat.com/app/console/application_type/custom?cartridges%5B%5D=http%3A%2F%2Fhaskell-accursoft.rhcloud.com%2Fbuild%2Fmanifest%2Fmflow create application]
+
| [https://openshift.redhat.com/app/console/application_type/custom?cartridges%5B%5D=http%3A%2F%2Fwww.accursoft.com%2Fcartridges%2Fmflow.yml deploy]
  +
| ✗
 
|-
 
|-
| -
+
| Scotty
| [https://haskell-accursoft.rhcloud.com/manifest/plain manifest]
+
| [http://www.accursoft.com/cartridges/scotty.yml manifest]
  +
| [https://www.openshift.com/quickstarts/scotty quickstart]
| [https://openshift.redhat.com/app/console/application_type/custom?cartridges%5B%5D=http%3A%2F%2Fhaskell-accursoft.rhcloud.com%2Fmanifest%2Fplain create application]
+
| [https://openshift.redhat.com/app/console/application_type/custom?cartridges%5B%5D=http%3A%2F%2Fwww.accursoft.com%2Fcartridges%2Fscotty.yml deploy]
  +
| ✗
 
|}
 
|}
   
  +
Frameworks that don't have their own quickstart template use the network template (also included in every cartridge). I'll be happy to include any contributed framework-specific templates - please open an [http://code.accursoft.com/haskell-cloud/issues/issue] with a link to your Github repo.
If an application link isn't working, check [https://haskell-accursoft.rhcloud.com/ which builds are available]. (The plain cartridge should always be available as it doesn't require building.)
 
   
 
== Heroku ==
 
== Heroku ==
  +
  +
{| class="wikitable"
  +
! GHC version:
  +
| 7.8.2
 
|-
  +
! Author:
  +
| Joe Nelson
  +
|-
  +
! Home page:
  +
| https://github.com/begriffs/heroku-buildpack-ghc
  +
|-
  +
! Documentation:
  +
| https://github.com/begriffs/heroku-buildpack-ghc/blob/master/README.md
  +
|}
  +
  +
== Heroku-Haste ==
   
 
{| class="wikitable"
 
{| class="wikitable"
Line 62: Line 89:
 
|-
 
|-
 
! Author:
 
! Author:
  +
| Alberto G. Corona
| Brian McKenna
 
 
|-
 
|-
 
! Home page:
 
! Home page:
| https://github.com/puffnfresh/heroku-buildpack-haskell
+
| https://github.com/agocorona/heroku-buildpack-haste
 
|-
 
|-
 
! Documentation:
 
! Documentation:
| https://github.com/puffnfresh/heroku-buildpack-haskell/blob/master/README.md
+
| https://github.com/agocorona/heroku-buildpack-haste/blob/master/README.md
 
|}
 
|}
  +
  +
Heroku buildpack for [https://github.com/agocorona/tryhplay tryhplay], incorporating [http://haste-lang.org/ Haste] and [https://github.com/agocorona/hplayground HPlayground]. Demo at http://tryplayg.herokuapp.com/.
   
 
== See also ==
 
== See also ==
Line 75: Line 104:
 
* [http://docs.dotcloud.com/services/custom/ dotCloud]
 
* [http://docs.dotcloud.com/services/custom/ dotCloud]
 
* [https://www.stormcloudsystems.com/ Storm Cloud Systems]
 
* [https://www.stormcloudsystems.com/ Storm Cloud Systems]
  +
* [https://www.fpcomplete.com/ FP Haskell Center]

Revision as of 08:16, 2 February 2015

Haskell Web Development

Software:
Servers - Libraries - Frameworks
Deploy - Cloud
Interfaces to frameworks
Databases and Persistence
Testing and Verification
Content Management

Community & Research:
Forums and Discussion
Literature (research, talks and blogs)
Existing Haskell web applications
Ongoing projects and ideas

PaaS (platform as a service) cloud providers generally limit you to a fixed technology stack. However, OpenShift and Heroku allow third-party extensions, which can be used to support Haskell.

OpenShift

Warning: The cartridges are currently liable to fail on small (free) gears due to cabal-install issue #2396.

GHC version: 7.8.4
Author: Gideon Sireling
Home page: http://code.accursoft.com/haskell-cloud/
Documentation: http://code.accursoft.com/haskell-cloud/src/tip/README.md

The cartridge comes in several flavours, with just the network and text packages or a pre-installed framework:

Framework Cartridge QuickStart Deploy QuickStart Template
network manifest quickstart deploy
Yesod manifest quickstart deploy
Snap manifest quickstart deploy
Happstack manifest quickstart deploy
MFlow manifest quickstart deploy
Scotty manifest quickstart deploy

Frameworks that don't have their own quickstart template use the network template (also included in every cartridge). I'll be happy to include any contributed framework-specific templates - please open an [1] with a link to your Github repo.

Heroku

GHC version: 7.8.2
Author: Joe Nelson
Home page: https://github.com/begriffs/heroku-buildpack-ghc
Documentation: https://github.com/begriffs/heroku-buildpack-ghc/blob/master/README.md

Heroku-Haste

GHC version: 7.4.1
Author: Alberto G. Corona
Home page: https://github.com/agocorona/heroku-buildpack-haste
Documentation: https://github.com/agocorona/heroku-buildpack-haste/blob/master/README.md

Heroku buildpack for tryhplay, incorporating Haste and HPlayground. Demo at http://tryplayg.herokuapp.com/.

See also