Skip to content
This repository has been archived by the owner on Apr 29, 2020. It is now read-only.

Pod Manifests

Michael Puncel edited this page Jan 7, 2015 · 13 revisions

Pod Manifest

A pod manifest is a yaml file that gives p2 the information it needs to successfully deploy a pod. At the top level, it specifies some pod metadata, a launchables stanza which lists a collection of launchables that are members of the pod, and a config stanza which will serve as configuration for these launchables.

Top-level metadata

P2 requires the following manifest fields to successfully operate:

  • id: - the id for the pod. At square, this is a service name.

Launchables

The launchables key enumerates the various components that make up a pod. This gives developers the flexibility to plug a single project into multiple pods. For example, you may wish to have a single repeatable build for stunnel that can be plugged into multiple pods. An example launchables stanza might look like this:

launchables:
  preparer:
    launchable_type: hoist
    launchable_id: preparer
    location: https://artifact-repo.com/p2-preparer_9617dd90b99b28b0671887f6e3e785a7d9f75a0a.tar.gz
  p2logconsumer:
    launchable_type: hoist
    launchable_id: p2logconsumer
    location: https://artifact-repo.com/p2logconsumer_3a52d321f47474f34bcdea59514dd516069e430a.tar.gz

The above defines two launchables in the pod, both of type hoist (see Hoist Artifacts) and having unique launchable_id fields to identify them. The location field tells the preparer where to download the artifacts from. The artifacts are versioned so we can be explicit about what version of each project we are deploying.

Clone this wiki locally