<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Fabric on Puppeteers Oy</title>
		<link>https://www.puppeteers.net/tags/fabric/</link>
		<description>Recent content in Fabric on Puppeteers Oy</description>
		<generator>Hugo</generator>
		<language>en-US</language>
		
		
		
		
			<lastBuildDate>Thu, 10 Oct 2019 00:00:00 +0000</lastBuildDate>
		
			<atom:link href="https://www.puppeteers.net/tags/fabric/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Migrating from Fabric 1 to Fabric 2</title>
				<link>https://www.puppeteers.net/blog/migrating-from-fabric-1-to-fabric-2/</link>
				<pubDate>Thu, 10 Oct 2019 00:00:00 +0000</pubDate>
				<guid>https://www.puppeteers.net/blog/migrating-from-fabric-1-to-fabric-2/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://www.fabfile.org/&#34;&gt;Fabric&lt;/a&gt; is a Python library for executing shell commands remotely over SSH in serial or parallel mode. I used Fabric 1 for years and it was - and still is - an excellent tool. While Fabric&amp;rsquo;s use-cases overlap somewhat with those of &lt;a href=&#34;https://www.ansible.com/&#34;&gt;Ansible&lt;/a&gt;, the difference is that Fabric &lt;em&gt;is not&lt;/em&gt; state-based. In other words, in Fabric you don&amp;rsquo;t tell that &amp;ldquo;file a should have contents n and mode m&amp;rdquo;. Instead, you just run commands on the target host which hopefully result in the end state you&amp;rsquo;re looking for. Or maybe you&amp;rsquo;re not even interested in end-state per se, but just need to run some commands. Both approaches have their use-cases. Fabric and Ansible are quite powerful as orchestration tools: they allow running task a on server x, then task b on server y. For enforcing infrastructure to be in a certain state we prefer &lt;a href=&#34;https://puppet.com/download-open-source-puppet&#34;&gt;Puppet&lt;/a&gt; and &lt;a href=&#34;https://www.terraform.io/&#34;&gt;Terraform&lt;/a&gt; over Ansible.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
