-
Notifications
You must be signed in to change notification settings - Fork 51
Pod Manifests
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.
P2 requires the following manifest fields to successfully operate:
-
id:
- the id for the pod. At square, this is a service name.
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.