GithubHelp home page GithubHelp logo

isabella232 / freight Goto Github PK

View Code? Open in Web Editor NEW

This project forked from getsentry/freight

0.0 0.0 0.0 2 MB

Freight is a service which aims to make application deployments better.

Home Page: https://freight.readthedocs.io

License: Apache License 2.0

Makefile 0.29% Shell 0.27% Python 75.60% Mako 0.11% JavaScript 17.00% HTML 0.07% Dockerfile 2.71% Less 3.94%

freight's Introduction

Freight

This project is a work in progress and is not yet intended to be production ready.

This service is intended to augment your existing deployment processes. It should improve on what you may already have, or help you fill in what you're missing.

The overarching goal of the system is to provide easy manual and automated deploys, with a consistent central view of the world. It's heavily inspired by GitHub's processes (and its Heaven project) as well as personal experiences of internal tools from members of the Sentry team.

It's not designed to replace something like Heroku, or other PaaS services, but rather to work with your existing processes, no matter what they are.

Current Features

  • Works behind-firewall (no inbound traffic)
  • Multiple applications. All configuration is unique per application
  • Per-environment deployments (i.e. different versions on staging and production)
  • Workspace management (i.e. whatever your deploy command is may be generating local artifacts, those should be cleaned up)
  • Support for at least Fabric-based (simple shell commands) and Heroku-based deploys
  • API-accessible deploy logs
  • Hubot integration (starting deploys)
  • Slack integration (notifying when deploys start/finish/fail)
  • Sentry integration (release tracking, error reporting)
  • Integration with GitHub status checks (i.e. did Circle CI pass on sha XXX)
  • A GUI to get an overview of deploy status and history

Roadmap

What's coming up:

V0

  • Release state management (know what versions are active where, and provide a historical view)
  • Environment locking (i.e. prevent people from deploying to an environment)
  • Automatic deploys (i.e. by looking for VCS changes)
  • Actions within the GUI (deploy, cancel)

V1

  • Deploy queue (i.e. cramer queued sha XXX, armin queued sha YYY)

V2 and Beyond

Machine-consistency service

We could run a service on each machine that would check-in with the master. This would record the current version of the application. The service would be configured with a set of apps (their environment info, how to get app version). The service could also be aware of "how do I deploy a version" which could assist in pull-based deploys.

Resources

freight's People

Contributors

adamchainz avatar beezz avatar billyvg avatar cameronmcefee avatar ckj avatar davidszotten avatar dcramer avatar egsy avatar evanpurkhiser avatar evralston avatar inthecloud247 avatar jamesftw avatar jasonious avatar jkimbo avatar jtcunning avatar kamilogorek avatar klynton avatar marksteve avatar mattrobenolt avatar maxbittker avatar mitsuhiko avatar nampnq avatar osso avatar robindaugherty avatar rshk avatar scttcper avatar soyangel avatar thoas avatar tkuijer avatar tonyo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.