airstrike
v0.1.1
Published
Orchestrate coordinated, targeted operations across server fleets with safe rollback.
Readme
airstrike
Orchestrate coordinated, targeted operations across server fleets with safe rollback.
Features
- Select targets by tags, metadata, or dynamic queries and run actions across matched hosts or services.
- Staged rollouts and canary deployments with automated success/failure evaluation and rollback.
- Concurrency controls, dry-run mode, and audit logging for safe, repeatable operations.
- Extensible action handlers (SSH, API calls, container commands) and event hooks for integration.
Install
npm install airstrike
Quick Start
const Airstrike = require('airstrike');
const client = new Airstrike({ registryUrl: 'https://registry.internal' });
const op = client.operation({
name: 'restart-service',
selector: { tag: 'web', region: 'us-east' },
action: {
type: 'ssh',
command: 'sudo systemctl restart myservice'
},
concurrency: 10,
stages: [ { percent: 10 }, { percent: 50 }, { percent: 100 } ]
});
op.on('progress', p => console.log('progress', p));
op.on('failed', err => console.error('failed', err));
// Dry run first to validate targets and actions
op.run({ dryRun: true })
.then(result => console.log('dry run OK', result))
.then(() => op.run())
.then(result => console.log('completed', result))
.catch(err => console.error('operation error', err));License
MIT
