Manifests, Packages & Deployments
This page covers the lifecycle of infrastructure from blueprint to deployed resources.
Manifests​
Manifests are bundles that have been added to a project with a specific use case.
For example: You may add the aws-elasticache-redis bundle to a project for multiple use cases, one instance for user-sessions and a second instance for caching.
In the example below, an SNS Topic is added to the project for tracking created orders in an e-commerce application.

Packages​
A package is a manifest that has been deployed to a specific environment (e.g., production, staging, US West, etc).
In Massdriver, naming conventions for cloud resources are managed for you. The package's identifier can be seen by clicking on the manifest and selecting the Details tab. The ID will be the naming prefix for all resources created when this package is deployed.

Package Alarms​
Packages can integrate monitors and alarms into Massdriver's notification system. In the example below, a number of Cloudwatch Alarms are visible for Aurora Postgres.

Package Resources​
Cloud resources created by the package are tracked within Massdriver. Below is a view of the resources created by the AWS EKS Cluster bundle.

Deployments​
Deployments are a record of provisioning or decommissioning infrastructure or applications in Massdriver.
Massdriver keeps a record of every deployment, whether provisioning or decommissioning infrastructure or applications.

Deployment Comparison​
Massdriver makes it easy to quickly view the difference in configuration between different deployments. It's a great way to provide information to auditors, or to debug issues related to a recent deployment.

The Lifecycle​
Bundle → Manifest → Package → Deployment
↓ ↓ ↓ ↓
Template Blueprint Instance Record
- Bundle: A reusable infrastructure template (e.g., "PostgreSQL Database")
- Manifest: A bundle added to a project for a specific purpose (e.g., "User Database")
- Package: A manifest deployed to an environment (e.g., "User Database in Production")
- Deployment: A record of provisioning that package
Related Documentation​
- Bundles - Understanding bundle structure
- Projects & Environments - Organizing your infrastructure
- Artifacts & Definitions - How packages connect