Skip to content

BrandlessInc/evan

Repository files navigation

Evan

Evan is like heaven for your deployment automation.

Structure

  • config: You set up Evan by configuring your applications and how they should be deployed.
    • Application:
      • Repository: Where the source code of the application is located.
      • Environments: List of strings describing different places the application can be deployed: "production", "staging", etc.
      • DeployEnvironment: Function that returns a strategy for deploying the application to a given environment.
    • Strategy: Strategies determine how the application should be deployed. A strategy consists preconditions and phases. It executes all the preconditions first; if they all pass then it executes the phases. Preconditions are repeatable whereas phases execute the actual deployment.
  • preconditions: Built-in preconditions.
  • phases: Built-in phases.
  • stores: Persist the state of deployments during and after their execution. This allows the system to report the progress of deployments and keep track of deployments after they go out.
  • http_handlers: Provides common handlers conforming to the Go net/http.Handler interface for receiving various events and commands.
    • rest_json: These handlers make it easy to build a REST'ish JSON API for creating, managing, and querying deployments.
  • common: Shared protocols for communicating information and functionality between the subsystems that make up Evan.
  • slack: Utility for sending messages via Slack webhooks.

License

Built by Dirk Gadsden at Everlane and Brandless. Released under the MIT license, see LICENSE for details.

About

Scripted application deployment automation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages