ordnance
v0.1.0
Published
Create, sign, and manage deployable release bundles for consistent environment deployments
Readme
ordnance
Create, sign, and manage deployable release bundles for consistent environment deployments
Features
- Deterministic bundling: produce reproducible artifacts with build metadata and dependency snapshots.
- Environment transforms: apply configuration overlays and secrets injection per target environment.
- Signing & verification: cryptographic signing of bundles and verification hooks for deploy-time checks.
- Atomic publish & rollback: integrate with providers (S3, SSH, Kubernetes) to perform atomic releases and automated rollbacks.
Install
npm install ordnance
Quick Start
Node API example:
const ordnance = require('ordnance');
async function main() {
const packer = new ordnance.Packer({ projectRoot: process.cwd(), version: '1.2.0' });
// Create an environment-specific bundle
const bundle = await packer.createBundle({
env: 'staging',
include: ['dist', 'package.json']
});
// Sign the bundle with a private key
await bundle.sign({ keyPath: './keys/deploy.key' });
// Publish to a provider (S3 shown)
await bundle.publish({ provider: 's3', bucket: 'my-app-deploys', region: 'us-east-1' });
console.log('Bundle published:', bundle.id);
}
main().catch(err => { console.error(err); process.exit(1); });CLI example:
# Create and publish a bundle for staging
npx ordnance pack --env=staging --out=./releases && npx ordnance publish --provider=s3 --bucket=my-app-deploysLicense
MIT
