Skip to content
Automates controlling and provisioning cloud server instances. DevOps for the JVM.
Pull request Compare This branch is 945 commits behind pallet:develop.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
assembly
bin
doc
examples
pallet/src/server
resources
src
test-resources
test
.gitignore
ChangeLog
Orientation.md
README.md
epl-v10.html
finish-release.sh
pom.xml
start-release.sh

README.md

Pallet is used to provision and maintain servers on cloud and virtual machine infrastructure, and aims to solve the problem of providing a consistently configured running image across a range of clouds. It is designed for use from the Clojure REPL, from clojure code, and from the command line.

  • reuse configuration in development, testing and production.
  • store all your configuration in a source code management system (eg. git), including role assignments.
  • configuration is re-used by compostion; just create new functions that call existing crates with new arguments. No copy and modify required.
  • enable use of configuration crates (recipes) from versioned jar files.

It uses jclouds to gain portable access to different cloud providers.

Documentation is available.

Support

On the mailing list, or #pallet on freenode irc.

Usage

The main documentation is on the PalletOps site.

There is a (somewhat dated) introductory screencast, showing a basic node configuration, and starting and stopping a node.

Quickstart

See the basic usage example in the pallet-examples basic project. Other examples show usage for infrastructure automation, application deployment and cloudops.

For general help getting started with Clojure, see this guide.

Installation

Pallet is distributed as a jar, and is available in the sonatype repository.

Installation is with maven or your favourite maven repository aware build tool.

lein/cake project.clj

:dependencies [[org.cloudhoist/pallet "0.6.7"]
               [org.cloudhoist/pallet-crates-all "0.5.0"]]
:repositories {"sonatype"
               "http://oss.sonatype.org/content/repositories/releases"
               "sonatype-snapshots"
               "http://oss.sonatype.org/content/repositories/snapshots"}

maven pom.xml

<dependencies>
  <dependency>
    <groupId>org.cloudhoist</groupId>
    <artifactId>pallet</artifactId>
    <version>0.6.7</version>
  </dependency>
  <dependency>
    <groupId>org.cloudhoist</groupId>
    <artifactId>pallet-crates-all</artifactId>
    <version>0.5.0</version>
  </dependency>
<dependencies>

<repositories>
  <repository>
    <id>sonatype</id>
    <url>http://oss.sonatype.org/content/repositories/releases</url>
  </repository>
  <repository>
    <id>sonatype-snapshots</id>
    <url>http://oss.sonatype.org/content/repositories/snapshots</url>
  </repository>
</repositories>

See also

chef, and puppet are other infrastructure automation tools.

License

Licensed under EPL

Contributors

Copyright 2010, 2011, 2012 Hugo Duncan.

Something went wrong with that request. Please try again.