Commit Graph

67 Commits

Author SHA1 Message Date
Tim Abbott 9e2d17ff9e puppet: Add uid/gid for Nagios user.
It turns out that having a UID for one user that's 1000, and not
setting them for other users, is a disaster: puppet might create them
in the wrong order, using UID 1000, and thus breaking creating the
'humbug' user later on.  The same issue applies to groups.

(imported from commit 02b4700278e5c495bd514802f41ae238e6b051ac)
2013-06-17 13:48:05 -04:00
Tim Abbott 5e41bab681 puppet: Fix iptables-persistent always being restarted.
(imported from commit 5246be11dbbba3b9fee4be0477eb08525575577e)
2013-06-17 13:48:03 -04:00
Tim Abbott 19d8cfd657 puppet: Properly configure nginx service and disable default site.
(imported from commit 4c526c9333445e2575a85d1e90ccc134717f19f6)
2013-06-12 17:19:33 -04:00
Tim Abbott b762067144 Puppetize Nagios user and ssh configuration for client systems.
(imported from commit 21a350979dc5d0e30b83e33fbc54cc5898755fdc)
2013-06-12 17:19:33 -04:00
Tim Abbott 164c4d2c1b puppet: Fix memcached configuration to not require manual restart.
(imported from commit 869050668cd69e8d76e39a6864f35a1cba45449d)
2013-06-06 11:02:52 -04:00
Tim Abbott 7f8e5324af Avoid restarting server on every deploy in puppet configuration.
(imported from commit 0e40f19ac5d81a2016fedf42d851f270eea07e28)
2013-06-06 11:01:17 -04:00
Tim Abbott c609d347b7 puppet: Move python-requests to base.pp.
It's needed to use the Humbug API, which most of our machines end up
using anyway.

(imported from commit 95a3317ab25632007deaadf74da5bec175641d27)
2013-06-04 19:48:40 -04:00
Tim Abbott d3ad2cd1d4 puppet: Deploy Nagios configuration via Puppet.
(imported from commit ef4c2fb9188bab406b7e677cbe3d0c2b1527a4c4)
2013-06-04 19:48:13 -04:00
Tim Abbott efcf88a707 puppet: Fix paths in feedback-bot configuration.
(imported from commit e9407af884dc75490de5168e067453e77aa612d7)
2013-06-04 19:48:13 -04:00
Tim Abbott b64af68d6a puppet: Fix key name for the Humbug ops key.
(imported from commit 9647603e4b0ec91411be029dc08c558dfd7ed8f4)
2013-06-04 19:48:13 -04:00
Tim Abbott cd65aea287 Add our trac configuration to puppet.
(imported from commit 8a9cf825344cdf83e8233f15ba66bbf050c920e4)
2013-06-04 19:48:13 -04:00
Zev Benjamin 1af0d5b942 [manual] Add Diff Match Patch dependency
(imported from commit 808a83f4326ed88a09321e0f7ca647c956a5af32)
2013-06-04 18:18:33 -04:00
Zev Benjamin 3325554c03 Fix app_frontend.pp whitespace
(imported from commit ecbdd52b00d67569fc907b05ccd2c903e65141c4)
2013-06-04 18:17:44 -04:00
Leo Franchi 8cc0a9b4f9 [manual] Require redis-server to be installed on our servers
This requires `redis-server` to be installed. Check it is installed before
deploying this commit. It also requires 'python-redis' to be installed.

(imported from commit e3434a04456e596f6c84c1a3c289a00aa7cbb2ed)
2013-06-04 09:43:09 -04:00
Zev Benjamin 1004178fe1 puppet: Only restart supervisor when the config file has been updated
(imported from commit ad318e2d7a1350235a62585a45a6b3673d783393)
2013-05-30 14:36:31 -04:00
Keegan McAllister 3e19afc95f Puppet: Install moreutils on servers
So we can use the 'sponge' command in update-prod-static.

I've already installed it on app and staging.

(imported from commit 1527b1c0108d7a95b471dea82e8dedc88f944f70)
2013-05-30 13:51:47 -04:00
Tim Abbott 8f90f4ed6c Fix permissions on Nagios plugins.
(imported from commit 7d1feb1430ca897a478c376fb5fe623e10040261)
2013-05-30 10:59:50 -04:00
Luke Faraone b159373153 Depend on nagios-plugins-basic, not nagios.
(imported from commit 6508bc1ff5d89f4724aa3e627aec51c851bc84c4)
2013-05-29 17:57:33 -04:00
Luke Faraone 290ae183e2 Remove duplicate nagios plugins entry.
(imported from commit e95db03152e76cc87b00324ae51c57934f0eb168)
2013-05-29 17:57:33 -04:00
Luke Faraone 02de2cf260 Fix two puppet syntax errors.
Note to the future: run this command to validate configs before deploying:

puppet parser validate servers/puppet/modules/*/manifests/*.pp

Maybe we want to add this to check-all...

(imported from commit e0eb6502380ff361b783830d45e8422bc0f76c02)
2013-05-29 16:25:25 -04:00
Luke Faraone 20841f83eb Remove comments no longer applicable to current config
(imported from commit 53ebfb22c4fd8943b7153350a0141ee251a6f6b5)
2013-05-29 15:36:48 -04:00
Luke Faraone b4b728dd6f We already install pipeline as a package, no need to pip it too.
(imported from commit 82deec580c9d460fae667a437cdb558ca2bf9694)
2013-05-29 15:36:48 -04:00
Luke Faraone 711b1eeeac Deploy naigos plugins with puppet.
(imported from commit ddc4db430ed2b9b7512f28d3f54dd6dfe7f5b264)
2013-05-29 15:36:47 -04:00
Luke Faraone eb8cb4d108 [manual] Include postgres and checkrestart as requirements for the default install
These changes can be applied with "puppet apply"; no pre- or post-
action is required.

(imported from commit 95448c53313b48337b084ca92174622c6ef67417)
2013-05-29 15:36:47 -04:00
Luke Faraone b8a4aa9ef3 Break out prod and staging configs.
(imported from commit fa1ca155422031906bed4b50ac21bb41102ab960)
2013-05-29 15:36:47 -04:00
Luke Faraone c13ac407e2 remove block to prevent py2.5 packages from being installed
No longer relevant on wheezy.

(imported from commit 77885bc78b3583a6eda277868318002f58d1d2f8)
2013-05-29 15:36:47 -04:00
Zev Benjamin 6824c94b7e [manual] Remove dependence on /home/humbug/humbug git checkout on app frontends
Modified files need to be copied into the right place.  The checkout
on git.humbughq.com also needs to be updated.

(imported from commit dbe9e05a0512e1f59c7819dd8d44c2c4e9c83bcf)
2013-05-29 12:00:03 -04:00
Luke Faraone 80d6e7222a Remove usage of pip.
(imported from commit f4309385b922c521cf41645dcf05a2727ca75f54)
2013-05-28 18:39:09 -04:00
Luke Faraone ee227a5ee4 Chown authorized_keys explicitly to root.
Previously the files ended up owned by "admin" for some reason.

(imported from commit b4489e5d7f3a69c389ef91a78fb125c79c22ef74)
2013-05-28 18:39:09 -04:00
Luke Faraone d81ab70644 Include our apt repository on our servers.
(imported from commit def8028201e2aebc031b557001180acbb8e6f27f)
2013-05-28 18:39:09 -04:00
Luke Faraone f911cf1a0b Symlink to enable "humbug" site.
(imported from commit 610792925ecb4599f8de0d5694b7caef64b73658)
2013-05-28 18:39:09 -04:00
Luke Faraone ef6c32cdb9 Correct path for supervisord config.
(imported from commit b2b61cacd5c44ccf089cd89ac524887fc3d0cb51)
2013-05-28 18:39:09 -04:00
Luke Faraone c07fa80eea Include additional required dependencies.
(imported from commit b6d2fea32ddf5b6125fc41994f8bc962bb3bfbd7)
2013-05-28 18:39:08 -04:00
Luke Faraone a4cc99b441 We no longer use backports, remove references from puppet.
(imported from commit deb8f27ceebf920f8702f1cb0da9f5502f03de9c)
2013-05-28 18:39:08 -04:00
acrefoot 3370d2cae5 Puppet configuration for ~humbug/tornado directory
This directory is needed for the event_queues.pickle file
that gets created as part of dumping the tornado queues.

(imported from commit 7c1bde0ecae59d2174327a981582b55a199c5b57)
2013-05-28 11:19:44 -04:00
acrefoot 9d8f847fed [manual] Run server using supervisord
This change will make it so that processes related to the app.humbughq.com
server are run under supervisord, which uses a state machine model to ensure
that programs are running. It also ensure process startup order.

We will need to manually switch the old way of running server (in screen) into
this new way of doing things, on both staging and prod (app_frontend.pp has been
updated appropriately). This means:
1) cp servers/puppet/modules/humbug/files/supervisord/conf.d/humbug.conf /etc/supervisord/conf.d
2) installing the supervisor package.
3) killing those while loops in that screen session
4) mkdir /var/log/humbug (as root)
5) /etc/init.d/supervisord start
6) check that nothing broke

(imported from commit 055269a70973db89acd69049e01b185fabdc8f90)
2013-05-20 23:42:28 -04:00
Zev Benjamin 8c2bbf7d45 puppet: Add missing frontend dependency
(imported from commit 465c7b1b1e8d6f0e5ef555374187414fc762cf9c)
2013-05-17 01:02:33 -04:00
Zev Benjamin b940693df4 puppet: Fix conflicting puppet declaration
(imported from commit da0ca23a9b8a0a7a6de7d12ef4d47f468075aeec)
2013-05-17 01:02:33 -04:00
Zev Benjamin 2aadf6fc6e [schema] [manual] Create a Postgres text search configuration for use with Humbug
Text search was not that great partially because Postgres wasn't
using a ispell dictionary (Postgres term) before.  We now pull in
Hunspell and use its dictionary and affix rules.

It is Ok to run with this new configuration before updating our full
text column and index that will be coming in the next few commits.

Manual steps for deploy:
1) On both postgres0 and postgres1 (both before moving on to step 2),
   install the hunspell-en-us package
2) On staging, run migration 0022
3) On both postgres0 and postgres1, copy the appropriate postgresql.conf
   file over
4) On both postgres0 and postgres1, run `pg_ctlcluster 9.1 main reload`

(imported from commit 706bf0f6ecc46c712cea10b73c34fd9d1dfd4767)
2013-04-27 20:06:26 -04:00
Zev Benjamin 986ca06c44 puppet: Add wal-e to Postgres config
(imported from commit 55727a95cc51afb69f14c27df89a6ae287ec0f3f)
2013-04-22 16:36:09 -04:00
Zev Benjamin 387f63deaa puppet: Add vm sysctl settings to Postgres configs
(imported from commit e557815f490a603da635fb60d39569346a72aa85)
2013-04-22 16:36:09 -04:00
Zev Benjamin a13b929d1f puppet: Add script to configure Postgres master disks
(imported from commit 61004aa839df8f3fa82ba0c4ea9e2a01ae43464c)
2013-04-22 16:36:09 -04:00
Zev Benjamin 336db5c709 puppet: Split Postgres puppet config into master and slave versions
(imported from commit adb02cc1904875eb8f56fe272b44dd51bb7d939d)
2013-04-22 16:36:09 -04:00
Keegan McAllister 29f759e74f puppet: Install build dependencies of Node.js on app servers
I've already installed these packages on staging, and will install them on prod
when the commit hits master.  So there is no manual prod deployment step here.

(imported from commit 1b77e771f938305dfbeb797c3ea2a7e3897e78a7)
2013-04-01 15:21:05 -04:00
Tim Abbott dc64345c8c puppet: Add TODO item for Django 1.5 being installed on frontends.
(imported from commit b4a884036d8050e2ecb780ce5779997ffce3a7b8)
2013-03-28 07:36:10 -04:00
Tim Abbott 7103c4df59 puppet: Ensure Python 2.5 is not installed.
Django 1.5 won't install if Python 2.5 is installed.

(imported from commit 949b81b6456b0dff4f5d11f0a9d8c7018605c492)
2013-03-28 07:36:10 -04:00
Tim Abbott 6d41fa4118 [puppet] Add memcached.conf to puppet.
(imported from commit 67fcf112ca876e89f69fe58f905cf4bf3195797a)
2013-03-27 12:59:23 -04:00
Leo Franchi cb7b80ac28 [manual] Add django-bitfield to the puppet configuration.
This will require manual installation on existing servers.

(imported from commit 87bb6fdf1af4f9281e18150e2ae7326da2487eb2)
2013-03-12 12:51:12 -04:00
Luke Faraone 0fe0cf0ffb [manual] Implement backend support for authenticating a user via Google.
This code adds a dependency on python-django-auth-openid, installable as
django-openid-auth from PyPI.

On prod, one needs to run a syncdb in order to create the required
tables. A database *migration* is not required, as these are new tables
only.

(imported from commit c902a0df8d589d93743b27e480154a04402b2c41)
2013-02-27 10:16:54 -05:00
Tim Abbott 63b899fc09 puppet: Add note about pagerduty config to nagios.pp.
(imported from commit de4642739b4c41468bbb61540482f1ad1b0d37ef)
2013-02-19 15:40:18 -05:00