Skip to content
all infrastructure for the "Down the Whole (aka DTW)" project
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
cookin-dtw-shared @ f34130b

infra for "Down the Whole (aka DTW)"

Chef is what I know best for easy diffing against multiple machines and Chef Workstation makes it even easier. I will continue to write and support cookbooks in general until I see the Chef community start to falter. For a little while now they've more or less obfuscated their documentation and tooling in an effort to push people towards their commercial/enterprise offerings. It seems that their new initiatives are little more "run it however you want" friendly and so I'll continue to keep pushing down this path for the time being.

Other open source options include but are not limited to:

  • Ansible
  • CFEngine
  • Puppet

More or less the whole field of configuration management is sliding into the abyss but I still think it will always have it's place at least when you're controlling your own instances.

future plans

"We pre-build individual images for our demo application into an EC2 AMI. This way, we only need to start those Docker containers for the user to be able to be able to experience a running app."

Baking custom AMIs/ISOs using Dockerfiles




  • Configuration
    • Image
      • Ubuntu 18.04.3 (LTS) x64
    • Size
      • 2 vCPUs
      • 2GB / 60GB Disk
    • Cost
      • ($15/mo)
    • Region
      • NYC3


  • Configuration
    • Image
      • Ubuntu 18.04.3 (LTS) x64
    • Size
      • 1 vCPUs
      • 1GB / 25GB Disk
    • Cost
      • ($5/mo)
    • Region
      • NYC3


  • Configuration
    • Image
      • Ubuntu 18.04.3 (LTS) x64
    • Size
      • 1 vCPUs
      • 1GB / 25GB Disk
    • Cost
      • ($5/mo)
    • Region
      • NYC3

node management with chef

install chef-workstation from

open source found so maybe I can build this myself


cat /opt/chef-workstation/version-manifest.txt

we get this currently

chef-workstation 0.11.21

Component                Installed Version   Version GUID                                                              Overridden From
autoconf                 2.68                md5:c3b5247592ce694f7097873aa07d66fe
automake                 1.11.2              md5:79ad64a9f6e83ea98d6964cef8d8a0bc
bundler                  0.11.21
bzip2                    1.0.8               sha256:ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269
cacerts                  2019-10-16          sha256:5cd8052fcf548ba7e08899d8458a32942bf70450c9af67a0850b4c711804a2e4
chef-analyze             0.1.17              git:45e19be508c0a1b175ddc86e84abefa2b93ede69                              master
chef-workstation-app     v0.1.35             git:6b9c0119a23e933eaeba18e274426e77b9648c56                              v0.1.5
config_guess             master              git:84f04b02a7e2fc8eaa9d52deee5f6d57b06fe447
curl                     7.65.1              sha256:821aeb78421375f70e55381c9ad2474bf279fc454b791b7e95fc83562951c690
delivery-cli             0.0.54              git:4b21ec7e07fdfa82e86aa80e4f2372dde8e368bb                              master
expat                    2.1.0               md5:dd7dab7a5fea97d2a6a43f511449b7cd
gem-permissions          0.0.1
gem-version-manifest     0.11.21
gems                     0.11.21
git-custom-bindir        2.23.0              sha256:e3396c90888111a01bf607346db09b0fbf49a95bc83faf9506b61195936f0cfe
go                       1.13.1              sha256:f3985fced3adecb62dd1e636cfa5eb9fea8f3e98101d9fcc4964d8f1ec255b7f
go-uninstall             0.0.1
google-protobuf          v3.5.2              git:b5fbb742af122b565925987e65c08957739976a7
libarchive               3.4.0               sha256:8643d50ed40c759f5412a3af4e353cffbce4fdf3b5cf321cb72cacf06b2d825e
libedit                  20120601-3.0        md5:e50f6a7afb4de00c81650f7b1a0f5aea
libffi                   3.2.1               md5:83b89587607e3eb65c70d361f13bab43
libiconv                 1.15                sha256:ccf536620a45458d26ba83887a983b96827001e92a13847b45e4925cc8913178
liblzma                  5.2.4               sha256:b512f3b726d3b37b6dc4c8570e137b9311e7552e8ccbab4d39d47ce5f4177145
libsodium                1.0.17              sha256:0cc3dae33e642cc187b5ceb467e0ad0e1b51dcba577de1190e9ffa17766ac2b1
libtool                  2.4.2               md5:d2f3b7d4627e69e13514a40e72a24d50                                      2.4
libxml2                  2.9.10              sha256:aafee193ffb8fe0c82d4afef6ef91972cbaf5feea100edc2f262750611b4be1f
libxslt                  1.1.34              sha256:98b1bd46d6792925ad2dfe9a87452ea2adebf69dcb9919ffd55bf926a7f93f7f
libyaml                  0.1.7               sha256:8088e457264a98ba451a90b8661fcb4f9d6f478f7265d48322a196cec2480729
libzmq                   4.0.7               sha256:e00b2967e074990d0538361cc79084a0a92892df2c6e7585da34e4c61ee47b03   2.1.11
m4                       1.4.18              sha256:ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab
main-chef-wrapper        0.11.21
makedepend               1.0.5               md5:efb2d7c7e22840947863efaedc175747
ncurses                  5.9                 md5:8cb9c412e5f2d96bc6f459aa8c6282a1
nodejs-binary            10.16.3             sha256:6febc571e1543c2845fa919c6d06b36a24e4e142c91aedbe28b6ff7d296119e4
openssl                  1.0.2t              sha256:14cb464efe7ac6b54799b34456bd69558a749a4931ecfd9cf9f71d7881cac7bc
openssl-customization    0.11.21
pcre                     8.38                md5:8a353fe1450216b6655dfcf3561716d9
pkg-config-lite          0.28-1              md5:61f05feb6bab0a6bbfab4b6e3b2f44b6
preparation              1.0.0
ruby                     2.6.5               sha256:66976b716ecc1fd34f9b7c3c2b07bbd37631815377a2e3e85a5b194cfdcbed7d
ruby-cleanup             0.11.21
rubygems                 0.11.21
rubygems-customization   0.11.21
rust                     1.37.0              sha256:b2310c97ffb964f253c4088c8d29865f876a49da2a45305493af5b5c7a3ca73d
rust-uninstall           0.0.1
shebang-cleanup          0.0.2
uninstall-scripts        0.11.21
util-macros              1.19.0              md5:40e1caa49a71a26e0aa68ddd00203717                                      1.18.0
version-manifest         0.0.1
xproto                   7.0.28              md5:0b42843b99aee3e4f6a9cc7710143f86                                      7.0.25
zlib                     1.2.11              sha256:c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1

next we clone our shared cookbook deps in some workspace dir using

git clone

and you can now use

export ADDRESS="<ipv4-address-here>"

chef-run ssh://root@${ADDRESS}:22 \
    -c ./.chef-workstation/config.toml \
    --identity-file <path-to-ssh-key> \
    --cookbook-repo-paths <path-to-this-repo> \
You can’t perform that action at this time.