<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Devops on traviscj/blog</title>
    <link>https://traviscj.com/blog/tags/devops/</link>
    <description>Recent content in Devops on traviscj/blog</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Wed, 25 Apr 2018 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://traviscj.com/blog/tags/devops/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>big-ish personal storage</title>
      <link>https://traviscj.com/blog/post/2018-04-25-big-ish_personal_storage/</link>
      <pubDate>Wed, 25 Apr 2018 00:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2018-04-25-big-ish_personal_storage/</guid>
      <description>&lt;p&gt;I was curious what it would cost to have something like 5-30TB of storage space on hand.&#xA;The obvious choices are between buying some hard drives and paying for an S3 bucket or something.&lt;/p&gt;&#xA;&lt;p&gt;The amazon costs are pretty straightforward: you pick a region, they tell you the cost.&#xA;Starting with their &lt;a href=&#34;https://aws.amazon.com/s3/pricing/&#34;&gt;pricing table&lt;/a&gt;:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;aws = [&#xA;    {&amp;quot;level&amp;quot;: &amp;quot;standard&amp;quot;, &amp;quot;c_millidollars&amp;quot;: 23},&#xA;    {&amp;quot;level&amp;quot;: &amp;quot;infrequent&amp;quot;, &amp;quot;c_millidollars&amp;quot;: 12.5},&#xA;    {&amp;quot;level&amp;quot;: &amp;quot;one_zone&amp;quot;, &amp;quot;c_millidollars&amp;quot;: 10},&#xA;    {&amp;quot;level&amp;quot;: &amp;quot;glacier&amp;quot;, &amp;quot;c_millidollars&amp;quot;: 4}&#xA;]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;we can say&lt;/p&gt;</description>
    </item>
    <item>
      <title>switching over to https</title>
      <link>https://traviscj.com/blog/post/2016-04-15-switching_over_to_https/</link>
      <pubDate>Fri, 15 Apr 2016 00:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2016-04-15-switching_over_to_https/</guid>
      <description>&lt;p&gt;One of the things I&amp;rsquo;ve been meaning to do forever is switch things over to https.&#xA;By &amp;ldquo;things&amp;rdquo;, I mean the set of websites I run for some family and friends.&#xA;I tried it out with my personal website first, then flipped over the rest.&lt;/p&gt;&#xA;&lt;h2 id=&#34;implementation-notes&#34;&gt;implementation notes&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;I used the &lt;a href=&#34;https://letsencrypt.org/getting-started/&#34;&gt;letsencrypt start guide&lt;/a&gt; to generate the certificates.&lt;/li&gt;&#xA;&lt;li&gt;Modified the nginx config to:&#xA;a. serve ssl/https traffic on port 443 for the given domain with the proper https certificates/etc.&#xA;b. forward non-ssl/http traffic on port 80 to port 443 for the given domain&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;verification&#34;&gt;verification&lt;/h2&gt;&#xA;&lt;p&gt;It turns out that the nginx configuration files are a little bit error prone.&#xA;This probably means that I am doing something wrong, like not using some configuration management tool like puppet or ansible or whatever.&#xA;But for something as small scale as my site, it doesn&amp;rsquo;t really meet the cost-benefit threshold for learning a new tool/language.&#xA;I also even considered spinning up a simple one-off configuration generator that I&amp;rsquo;d need to figure out how to override and extend as needed.&lt;/p&gt;</description>
    </item>
    <item>
      <title>SSL Cert Reissue</title>
      <link>https://traviscj.com/blog/post/2014-04-09-ssl_cert_reissue/</link>
      <pubDate>Wed, 09 Apr 2014 00:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2014-04-09-ssl_cert_reissue/</guid>
      <description>&lt;p&gt;Like many others, I have been hit by the &lt;a href=&#34;http://heartbleed.com/&#34;&gt;heartbleed bug&lt;/a&gt;, which kinda sucks.&#xA;I don&amp;rsquo;t use SSL for anything very critical, but I do use it at [tcj.io tcj.io], my &amp;ldquo;projects&amp;rdquo; website.&#xA;My host, &lt;a href=&#34;https://linode.com&#34;&gt;Linode&lt;/a&gt;, has done a great job of &lt;a href=&#34;https://library.linode.com/security/openssl-heartbleed&#34;&gt;providing tutorials&lt;/a&gt; on how to deal with the situation.&#xA;The obvious first step (a couple of days ago) was to upgrade openssl itself:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;apt-get update&#xA;apt-get upgrade&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;But this only prevents the server from leaking keys going forward.&#xA;Since the vulnerability was in the wild for quite some time, I thought it prudent to reissue the certificates as&#xA;well.&#xA;Now that I had a bit more time, I went ahead and did a reissue to make sure that nothing going forward gets leaked.&#xA;This is (as usual) a bit annoying, because of the verification procedure at [Gandi gandi.net].&#xA;Otherwise, they&amp;rsquo;re pretty solid though, so I guess I&amp;rsquo;ll give them a pass on this one.&#xA;And they did allow a reissue without revoking, so that&amp;rsquo;s a good step!&lt;/p&gt;</description>
    </item>
    <item>
      <title>website basics</title>
      <link>https://traviscj.com/blog/post/2013-02-15-website_basics/</link>
      <pubDate>Fri, 15 Feb 2013 00:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2013-02-15-website_basics/</guid>
      <description>&lt;p&gt;Several of my classmates in graduate school are considering making websites around now, and have asked me to explain it.&#xA;I figured I&amp;rsquo;d explain the stack as I have it set up, and where you could make tradeoffs.&#xA;For now, I&amp;rsquo;m not going to include too many detail here; I just want to outline the possibilities and lingo so that researching options is a bit easier for the uninitiated.&lt;/p&gt;&#xA;&lt;p&gt;First off, many people are perfectly happy to use the school&amp;rsquo;s email and department web space.&#xA;If you only want to have a list of relevant papers and soforth, then this is a fine approach.&#xA;See the very bottom of this post for a couple potential ideas for organizing it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>tjtestharness - a language-agnostic DVCS unit-test/continuous integration tool</title>
      <link>https://traviscj.com/blog/post/2012-03-26-tjtestharness_-_a_language-agnostic_dvcs_unit-testcontinuous_integration_tool/</link>
      <pubDate>Mon, 26 Mar 2012 00:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2012-03-26-tjtestharness_-_a_language-agnostic_dvcs_unit-testcontinuous_integration_tool/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve been wanting to have a way to visualize which unit tests(or sets of them) passed for a given commit, if for no other reason than the sense of accomplishment from watching boxes turn yellow, then green, as they pass tests.&#xA;The trouble is, I write code in a lot of different languages for a lot of different projects.&#xA;I also don&amp;rsquo;t want to bother with running unit tests individually&amp;ndash;I want them to run as I perform commits.&lt;/p&gt;</description>
    </item>
    <item>
      <title>GenHosts</title>
      <link>https://traviscj.com/blog/post/2009-02-24-genhosts/</link>
      <pubDate>Tue, 24 Feb 2009 00:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2009-02-24-genhosts/</guid>
      <description>&lt;p&gt;Winter quarter 08, the hosts.allow files used by tcpwrappers was getting unwieldy. For one thing, we had certain groups of hosts that were all allowed to connect to eachother anywhere, some groups that were only allowed one port on one computer, some that were allowed certain parts of machines. It was basically a mess to try and keep up with it. So I wrote a set of scripts to let us update one place and have it synchronize everywhere else, all in very simple XML files.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Johnson vs Acronis, Pt 2</title>
      <link>https://traviscj.com/blog/post/2008-08-04-johnson_vs_acronis_pt_2/</link>
      <pubDate>Mon, 04 Aug 2008 00:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2008-08-04-johnson_vs_acronis_pt_2/</guid>
      <description>&lt;p&gt;Some more ways Acronis fails, just for the record:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Completely useless log files. Error messages are crucial in applications. Acronis says ‘Error creating file’. This could mean:&lt;/li&gt;&#xA;&lt;li&gt;I couldn’t resolve the FTP server’s hostname&lt;/li&gt;&#xA;&lt;li&gt;I could resolve the hostname, but could not connect to the FTP port&lt;/li&gt;&#xA;&lt;li&gt;I could resolve the hostname and connect, but I could not authenticate.&lt;/li&gt;&#xA;&lt;li&gt;I could resolve, connect, authenticate, but I could not create a new file.&lt;/li&gt;&#xA;&lt;li&gt;Any number of other things. I could not create a temporary file(Why? No permissions in Acronis’s temporary folder?  No hard drive space? It already exists? The folder that should be the temporary folder doesn’t exist?)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Another error we’ve gotten a few times is ‘Failed to process pair script (some hash).’ While it might be useful to someone, it’s not really any help. A lot of the same stuff applies: Is the file corrupt? What’s wrong with it? Improper syntax? The configuration files are XML, they should be editable as such. Point being: Acronis, get your stuff together and write some real, honest error checking code. It’s boring code to write, but it’s boilerplate stuff, and basic. This is what you hire interns for. Please do so.&#xA;2. The GUI stinks. Everything is wizard based. This in itself isn’t so much of a problem, but it becomes one with their absolute awful support of stuff like, oh, say, remembering passwords. To see how this is an issue: Say I realize that I want maximum encryption on my backup archives. So, I load up the tasks list, click the one I want to change, click the ‘changed settings’ button. It asks me what I want to backup(2-3 screens), then where I want to back it up to. I tell it the FTP site, and it asks me for my login for that site, then allows me to navigate(keep in mind this is already stored in the configuration file I’m trying to edit, in some encrypted form(hopefully, though I would not bet 2bits on it)). Then, it asks me if I want to sign in to the FTP anonymously or use a username and password. Upon selecting non-anonymously, it asks me for the same username and password. Every single time you try to change any part of the configuration.&#xA;3. The command line stinks. There are just a couple of commands, including trueimagecmd and trueimagemnt, but both of them are completely inconsistant on file argument parsing: trueimagemnt uses the more standard UNIX conventions of [-(shortopt)|–(longopt)] (arg) while trueimagecmd uses the completely zany –(longopt):(arg). The command trueimagecmd allows a –verify command, but doesn’t include it in the runtime help or the manual page. None of this seems like too big of a deal, but Acronis is basically the only program that we actual require any GUI at all for on 2 of our 4 main servers. It’d be very nice to have backups and not need a GUI.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Johnson vs Acronis</title>
      <link>https://traviscj.com/blog/post/2008-08-02-johnson_vs_acronis/</link>
      <pubDate>Sat, 02 Aug 2008 00:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2008-08-02-johnson_vs_acronis/</guid>
      <description>&lt;p&gt;The story goes something like this: Originally, we used external hard drives plugged in via USB to our servers to back up our servers. This worked well, except that we had two external drives and 7 servers. About this time I started working this job and immediately set up a MediaWiki website for storing documentation and a Mantis Bug Tracker website for storing information about ongoing projects–I think I’ll try to write a post about that at some point as well. Anyways, these two websites originally ran on my personal webserver in Prosser, but we decided to run them on a company-owned server instead, and that this new machine could act as both a backup server and a webserver for those two websites.&lt;/p&gt;</description>
    </item>
    <item>
      <title>NSA&#39;s RHEL5 Guide</title>
      <link>https://traviscj.com/blog/post/2008-07-07-nsas_rhel5_guide/</link>
      <pubDate>Mon, 07 Jul 2008 00:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2008-07-07-nsas_rhel5_guide/</guid>
      <description>&lt;p&gt;One of my tasks at work is to write up a security checklist of sorts, and from one of Ryan’s notes, I happened across the NSA’s Red Hat Enterprise Linux 5 guide. It’s pretty cool and covers basically everything. &lt;a href=&#34;http://www.nsa.gov/snac/os/redhat/rhel5-guide-i731.pdf&#34;&gt;Have a look&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Acronis TrueImage</title>
      <link>https://traviscj.com/blog/post/2007-06-30-acronis_trueimage/</link>
      <pubDate>Sat, 30 Jun 2007 14:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2007-06-30-acronis_trueimage/</guid>
      <description>&lt;p&gt;TrueImage is&amp;hellip; well&amp;hellip; Quite the piece of software.&lt;/p&gt;&#xA;&lt;p&gt;What I need it to do: Tell the check_backupdisk script that it&amp;rsquo;s actually running the backup (IE&amp;ndash;don&amp;rsquo;t bitch on nagios) and handle all the mounting/umounting/fscking that it currently does. I think I&amp;rsquo;ll probably end up putting a wrapper script around it&amp;hellip;. but we&amp;rsquo;ll see.&lt;/p&gt;</description>
    </item>
    <item>
      <title>MRTG</title>
      <link>https://traviscj.com/blog/post/2007-06-30-mrtg/</link>
      <pubDate>Sat, 30 Jun 2007 13:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2007-06-30-mrtg/</guid>
      <description>&lt;p&gt;So, another day, another (minor) problem. I had connected to a server with KDE instead of our usual GNOME interface. Which probably would have been fine except that KDE had a screensaver that sucked up the CPU. Which also would have been fine, if it hadn&amp;rsquo;t been a server that everyone else used. Oops. RRDtool and MRTG would have shown a CPU spike which I could have investigated.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Cacti</title>
      <link>https://traviscj.com/blog/post/2007-06-30-cacti/</link>
      <pubDate>Sat, 30 Jun 2007 12:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2007-06-30-cacti/</guid>
      <description>&lt;p&gt;So, rrdtool is pretty sweet, but it&amp;rsquo;s somewhat of a pain to set up. So&amp;hellip; we use Cacti. It&amp;rsquo;s amazing. Supposedly it&amp;rsquo;ll integrate with Nagios as well, and then all of this data will be at our fingertips. For now, I just set it up on my server that&amp;rsquo;s probably going to go down shortly. In any case, I feel like this project is somewhat coming together. Nagios is great for what&amp;rsquo;s going on right now, cacti needs a way to know what&amp;rsquo;s going on right now–A match made in heaven, or something.&lt;/p&gt;</description>
    </item>
    <item>
      <title>RRDTool</title>
      <link>https://traviscj.com/blog/post/2007-06-29-rrdtool/</link>
      <pubDate>Fri, 29 Jun 2007 14:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2007-06-29-rrdtool/</guid>
      <description>&lt;p&gt;I have apparently been missing out. There&amp;rsquo;s a really neat little unix tool called &amp;lsquo;rrdtool&amp;rsquo; that uses a fixed-size database to look at how something changes over time. I think I&amp;rsquo;ll use it to monitor server load&amp;hellip; and possibly network traffic.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
