Buld and Release Infrastructure as Code with Etcha
Full-Stack Configuration Management for Developers and Sysadmins
Release Artifacts, Not Breaking Changes
Build, test, and release infrastructure as code using Patterns–a list of procedural Commands for Etcha to perform, written in Jsonnet, and deployed like any other software release artifact.
Lint and Test Your Infrastructure Changes
Lint, test, and validate your Patterns before deployment, ensuring they function as intended. Prevent costly downtime.
Centralize or Decentralize Your Deployments
Push Patterns to Etcha clients for centralized control, or pull Patterns from artifact storage for decentralized environments.
Create Dynamic Infrastructure with Events and Webhooks
Trigger Commands and Patterns based on webhooks and events. Streamline workflows and respond rapidly to changes.
No SSH Required, Shell Access Included
Securely connect to any device via HTTP-based shell. Manage your entire infrastructure without opening extra ports.
Write Your Configurations Using Real Code
No more YAML, no more Jinja
local makeApp = import '../lib/myorg/makeApp.libsonnet';
local runApp = import '../lib/myorg/runApp.libsonnet';
{
build: [
makeApp(myapp1),
makeApp(myapp2),
],
run: [
runApp(runApp1),
runApp(runApp2),
]
}
Deploy Configurations Once, Read From Many
Manage thousands of devices quickly and efficiently
$ etcha build mypattern.jsonnet mypattern.jwt
$ s3 cp mypattern.jwt s3://mybucket/mypattern.jwt
$ etcha listen
INFO Updating config for myapplication
INFO Always changed write a file [100ms]
Event Driven Automation
Create bespoke webook integrations to quickly prototype or define new workflows
$ etcha listen
INFO Always changed trigger event [1ms]
INFO Changed trigger event [200ms]
INFO Running source myapp for event trigger from ID trigger event