Commit Graph

88 Commits

Author SHA1 Message Date
Luke Faraone e4c9abb021 Remove duplicate ipython entry from puppet
(imported from commit 2657ed1d707900ea4b1074fe59a0b662647805e4)
2013-07-15 18:07:56 -04:00
Luke Faraone 44b49b3bf8 Puppet configuration and associated nginx files for lb0.zulip.net.
lb0.zulip.net will proxy connections to the relevant backend servers.

Depressingly, SSL certificate verification of the backend servers is not
performed at this time, see:
    <http://trac.nginx.org/nginx/ticket/13>

The above-mentioned bug has existed since 2011, but a CVE was not
allocated until January. The nginx developers don't seem to care. Sigh.

In any case, this is of somewhat limited impact at Humbug, since we can
have reasonable confidence that communications within AWS are not
subject to active MITMs. Passive MITM is not a concern, because the
traffic *is* in fact encrypted.

(imported from commit c96e1235fc17192c7452e0417a1309cfcda62de2)
2013-07-15 16:49:55 -04:00
Luke Faraone 0696a3fbd7 Automatically configure all interfaces (including virtual!) at boot
On EC2-VPC we have the ability to attach multiple addresses to one
interface, and multiple interfaces to one machine.

We should configure those interfaces whenever our system boots, and
ideally whenever networking is restarted.

This commit adds a script that is executed once eth0 is brought up that
proceeds to configure all subsequent interfaces, real and virtual.

The script is configured to be installed (along with the helper script
that calls it) on all systems via Puppet.

(imported from commit fdc153ef649edbb8fedd40ff4d77262aae593c39)
2013-07-15 16:49:54 -04:00
Luke Faraone bc7ee2bd45 Make python-django-guardian a dependency according to puppet.
(imported from commit 05c53f714b0ac3e5f86d946c8ab6fb2eaac8827b)
2013-07-12 11:29:11 -04:00
Luke Faraone 6eb3d8b8b1 Syntax fix for staging_app_frontend.pp.
(imported from commit c363e6e9c18b08467555a1f0520680736dab2dd1)
2013-07-02 14:54:16 -04:00
Luke Faraone 7b30a8e7c0 Explicitly copy over the zulip-staging files in Puppet.
Unlike other directories, we explicitly enumerate the files we want to be
present in sites-available, so the previous commit series did not actually
instruct puppet to make the zulip-staging files accessible.

(imported from commit 22efc4d272eba8d6c869edbaa9114c50e1988288)
2013-07-02 12:14:41 -04:00
Luke Faraone 1be1cb121c nginx / Puppet configuration for staging.zulip.com
We create a new sites-available entry which is essentially a duplicate of
sites-available/humbug-staging with s/humbug/zulip, and add the associated
symlink directive in Puppet.

(imported from commit febcb585ce93c21c6849d96458cc2bd096b30538)
2013-07-02 12:04:56 -04:00
Leo Franchi 7036915933 Add windows sparkle files
(imported from commit b7c0770acd34f44e961014a00d2059dfc7bef701)
2013-07-01 16:25:35 -04:00
Zev Benjamin 6f874995ff [schema] Use custom stopwords file for full text search
This stop words file is just the default Postgres english stop file
with all the rest of the letters of the alphabet added.  Adding the
extra letters ensures that, e.g., "bed" doesn't get transformed into
"bed | b".

(imported from commit 0be3ef9a43eb524ed4f081d5081a786cf602c487)
2013-06-27 14:18:53 -04:00
Tim Abbott ae89b25d69 nginx: Add fastcgi_params to puppet.
(imported from commit 12e6b02cd2cb411ab83a29a486053df6dff9ebb8)
2013-06-25 16:34:43 -04:00
Tim Abbott 222ef672b5 [manual] Use ujson instead of simplejson.
This saves something like 15ms on our 1000 message get_old_messages
queries, and will save even more when we start sending JSON dumps into
our memcached system.

We need to install python-ujson on servers and dev instances before
pushing this to prod.

(imported from commit 373690b7c056d00d2299a7588a33f025104bfbca)
2013-06-24 10:17:10 -04:00
Zev Benjamin bf9ad1874e puppet: Run pg_backup_and_purge.py nightly
(imported from commit 98555b970533adc3c60377490074607da9f78efb)
2013-06-21 14:08:57 -04:00
Zev Benjamin 15d13f8f40 puppet: Add script for doing Postgres base backups and purging old backups
(imported from commit 93a92729b2e964e054aa1af7bcb8a0bae3fd1b33)
2013-06-21 14:08:57 -04:00
Leo Franchi 23322a791d puppet: Add sparkle configuration files
(imported from commit e36efd64584d946bb13fb5b44af817e85345e197)
2013-06-18 16:12:14 -04:00
Tim Abbott c3b4ab0f02 puppet: Move nagios homedir to /var/lib/nagios.
That's where it is supposed to be, and besides, that's what a Nagios
server is going to expect it to be.

(imported from commit c273f18533909fa8eac182246dbbe498a5381f6c)
2013-06-17 13:48:06 -04:00
Tim Abbott 261300d10e puppet: Add Nagios crontab to puppet.
(imported from commit 353b167b303b27ccbfc0cd0130665399faab80dc)
2013-06-17 13:48:06 -04:00
Tim Abbott 83016e501b puppet: Complete several more of our nagios TODOs.
(imported from commit 239cbe1606cc077119b65b3dc18b519b09b021a4)
2013-06-17 13:48:06 -04:00
Tim Abbott caafb405d7 puppet: Finish puppetizing git/wiki configuration.
(imported from commit 423083269cea7b23f8b5805561919b9c6b9a8f4d)
2013-06-17 13:48:06 -04:00
Tim Abbott 5c388ed28e puppet: Run our wiki out of supervisord.
(imported from commit a8f6d14ce55de0e7458496f9debb15529120deaf)
2013-06-17 13:48:06 -04:00
Tim Abbott 1bf4a36ac1 puppet: Clean up organization in base.pp a bit.
(imported from commit 2be403981f94b440f9b999d7b8a36a0ec0cedcb7)
2013-06-17 13:48:06 -04:00
Tim Abbott 91933a2004 puppet: Move configuring supervisor into its own module.
(imported from commit b2ad9bc5c5d6bde78380b0537696ed26cab8c264)
2013-06-17 13:48:06 -04:00
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