HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
ianmiell
shutit
Python2014–2019
ianmiell / shutit

shutit

Automation framework for programmers

4Distinct people
23Mentions
0Explicit recommenders
2.1KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Automation framework for programmers

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 11:34:28 AM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year23 dated mentions

Observed mentions: 2014-06-28 19:57:37 UTC to 2019-04-12 17:40:26 UTC.

0510152014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 15 mentions; 0 submissions, 15 comments20142015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 3 mentions; 2 submissions, 1 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20162017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2019

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC15015
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC321
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC202
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC202
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC000
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC101

What Hacker News says

15 sources
Dockerfiles are deliberately dumb to let other tools take over as necessary, is my understanding. My experience (over the last year) is that they're so limited as to be pretty useless. They don't even do what they're advertised to do, ie give you a reliable way to reproduce a build, and they're inflexible for my idea of real-world work with Docker. Where they're good is in giving everyone a point of reference. I had a discussion with the maintainers last year about this: https://groups.google.com/forum/#!topic/docker-user/3pcVXU4h... I have a problem with most CM tools in that they're for moving target systems, not immutable ones. Ansible is the closest, but our experience has been that development on it is slow relative to the tool we use (see below). It's saved us a ton of money. I blog on this and similar topics here: http://zwischenzu
Read the rest
gs.wordpress.com/ The "tool for building and maintaining complex Docker deployments" is here: http://ianmiell.github.io/shutit/ https://github.com/ianmiell/shutit I also talk about this here: https://www.youtube.com/watch?v=zVUPmmUU3yY
In Is Docker ready for production?
Have a look at this: http://ianmiell.github.io/shutit/ which is a means of capturing this complexity for automation purposes. https://github.com/ianmiell/shutit I'm working on a "shutitdist" to compile "everything" from source: https://github.com/ianmiell/shutitdist ShutIt can (among many other things) produce depgraphs like this: https://raw.githubusercontent.com/ianmiell/shutitdist/master...
In Give me back my sanity: How I had to install Pandoc in a CentOS Docker container
docker run -t -i imiell/osquery /bin/bash history for my gory details. I'll post a shutit script with the lot in tomorrow probably. The rocksdb dep is already done: https://github.com/ianmiell/shutit/blob/master/library/rocks... but bed beckons. In the meantime IYI: https://github.com/ianmiell/shutit/blob/master/library/osque... Thrift is another dep: https://github.com/ianmiell/shutit/blob/master/library/thrif...
In Osquery: Expose the operating system as a relational database
In Ask HN: How do you use Docker in production?
I've blogged about a similar exercise here: http://zwischenzugs.wordpress.com/2014/08/09/using-shutit-an... This deploys in a reliable way using a docker container and ShutIt, a tool we use in my corp for fast development of reliable and composable iterative steps: http://ianmiell.github.io/shutit/ Here's more on the subject: https://github.com/ianmiell/shutit/blob/master/README.md https://www.youtube.com/user/ianmiell http://zwischenzugs.wordpress.com/
In How We Use AWS, Ansible, and Packer to Make Deployment Awesome
A similar project designed for complex docker builds designed by me :) http://ianmiell.github.io/shutit/ https://github.com/ianmiell/shutit Used extensively within our corp for container builds, but easily repurposed for straightforward shell provisioning. Bash within a build-friendly python framework. I talk about it more here: https://www.youtube.com/watch?v=zVUPmmUU3yY tho slightly out of date. Some blogging on it here: http://zwischenzugs.wordpress.com/
In BashBooster – simple provisioning, bash only, requires nothing
I posted this on the site, thought some might be interested here (disclaimer: I'm the creator of ShutIt): We had similar requirements in our company and ended up building our own tool for building containers in docker and shipping those. So far it's working out really well, particularly in the "ease of learning" department. http://ianmiell.github.io/shutit/. https://github.com/ianmiell/shutit https://github.com/ianmiell/shutit/blob/master/README.md http://shutit.tk To take each of your requirements in turn wrt ShutIt: - No masters. ShutIt builds containers for shipping, so there is no concept of a master. - Code should be as simple as possible. What could be simpler than "pure bash", wrapped in a transparent and simple python framework? eg here's the mysql module: https://github.com/ianmiell/shutit/blob/master/library/mysql...
Read the rest
- No optimizations that would make the code read in an illogical order. ShutIt is "pure ordered". Each module has an ordering and code is strictly sequential. It even outputs the commands into a "black box" recorder on the container which can then be used to port to other CM tools if desired. - Code must be split into two parts: base and service-specific, where each would reside in separate repositories. https://github.com/ianmiell/shutit/tree/master/library These are shared infra, while custom modules can be cut and kept private. You can also build "meta-modules" which simply require other modules and do nothing else. These then form the base layer of our dev builds. - The code must work for multiple environments (development, staging, production). ShutIt's highly configurable, so you can code whatever you want wrt different environments. - The code should read and run in sequential order. ShutIt demands sequential ordering. Any questions, please mail me: ian.miell@gmail.com
In Moving away from Puppet: SaltStack or Ansible?

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.